@c2n/mcp 0.0.15 → 0.0.17

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 (2) hide show
  1. package/data/registry.json +1600 -565
  2. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "c2nVersion": "0.0.15",
3
+ "c2nVersion": "0.0.17",
4
4
  "categories": [
5
5
  "Inputs",
6
6
  "Buttons",
@@ -1303,6 +1303,23 @@
1303
1303
  "part": "tooltip",
1304
1304
  "property": "gap",
1305
1305
  "description": "Gap between tooltip rows."
1306
+ },
1307
+ {
1308
+ "name": "--c2-chart__legend-marker--size",
1309
+ "type": "pixel",
1310
+ "default": "10px",
1311
+ "part": "legend-marker",
1312
+ "property": "size",
1313
+ "description": "Size of the colour swatch in a tooltip row."
1314
+ },
1315
+ {
1316
+ "name": "--c2-chart__legend-marker--border-radius",
1317
+ "type": "border-radius",
1318
+ "default": "999px",
1319
+ "part": "legend-marker",
1320
+ "property": "border-radius",
1321
+ "token": "--c2-theme--radius-full",
1322
+ "description": "Corner radius of a tooltip row's colour swatch."
1306
1323
  }
1307
1324
  ]
1308
1325
  }
@@ -1855,7 +1872,8 @@
1855
1872
  "c2-attachment"
1856
1873
  ],
1857
1874
  "usedBy": [
1858
- "c2-attachment"
1875
+ "c2-attachment",
1876
+ "c2-upload"
1859
1877
  ]
1860
1878
  },
1861
1879
  "install": {
@@ -5126,6 +5144,23 @@
5126
5144
  "part": "tooltip",
5127
5145
  "property": "gap",
5128
5146
  "description": "Gap between tooltip rows."
5147
+ },
5148
+ {
5149
+ "name": "--c2-chart__legend-marker--size",
5150
+ "type": "pixel",
5151
+ "default": "10px",
5152
+ "part": "legend-marker",
5153
+ "property": "size",
5154
+ "description": "Size of the colour swatch in a tooltip row."
5155
+ },
5156
+ {
5157
+ "name": "--c2-chart__legend-marker--border-radius",
5158
+ "type": "border-radius",
5159
+ "default": "999px",
5160
+ "part": "legend-marker",
5161
+ "property": "border-radius",
5162
+ "token": "--c2-theme--radius-full",
5163
+ "description": "Corner radius of a tooltip row's colour swatch."
5129
5164
  }
5130
5165
  ]
5131
5166
  }
@@ -6230,7 +6265,8 @@
6230
6265
  "internal": [],
6231
6266
  "slotted": [],
6232
6267
  "usedBy": [
6233
- "c2-button-group"
6268
+ "c2-button-group",
6269
+ "c2-upload"
6234
6270
  ]
6235
6271
  },
6236
6272
  "install": {
@@ -8299,6 +8335,23 @@
8299
8335
  "part": "tooltip",
8300
8336
  "property": "gap",
8301
8337
  "description": "Gap between tooltip rows."
8338
+ },
8339
+ {
8340
+ "name": "--c2-chart__legend-marker--size",
8341
+ "type": "pixel",
8342
+ "default": "10px",
8343
+ "part": "legend-marker",
8344
+ "property": "size",
8345
+ "description": "Size of the colour swatch in a tooltip row."
8346
+ },
8347
+ {
8348
+ "name": "--c2-chart__legend-marker--border-radius",
8349
+ "type": "border-radius",
8350
+ "default": "999px",
8351
+ "part": "legend-marker",
8352
+ "property": "border-radius",
8353
+ "token": "--c2-theme--radius-full",
8354
+ "description": "Corner radius of a tooltip row's colour swatch."
8302
8355
  }
8303
8356
  ]
8304
8357
  }
@@ -10594,34 +10647,34 @@
10594
10647
  {
10595
10648
  "name": "--c2-chatbot--border-top",
10596
10649
  "type": "border",
10597
- "default": "1px solid #e4e4e7",
10650
+ "default": "1px solid rgb(177, 177, 177)",
10598
10651
  "part": "",
10599
10652
  "property": "border-top",
10600
- "token": "--c2-theme--color-outline-variant"
10653
+ "token": "--c2-theme--border"
10601
10654
  },
10602
10655
  {
10603
10656
  "name": "--c2-chatbot--border-right",
10604
10657
  "type": "border",
10605
- "default": "1px solid #e4e4e7",
10658
+ "default": "1px solid rgb(177, 177, 177)",
10606
10659
  "part": "",
10607
10660
  "property": "border-right",
10608
- "token": "--c2-theme--color-outline-variant"
10661
+ "token": "--c2-theme--border"
10609
10662
  },
10610
10663
  {
10611
10664
  "name": "--c2-chatbot--border-bottom",
10612
10665
  "type": "border",
10613
- "default": "1px solid #e4e4e7",
10666
+ "default": "1px solid rgb(177, 177, 177)",
10614
10667
  "part": "",
10615
10668
  "property": "border-bottom",
10616
- "token": "--c2-theme--color-outline-variant"
10669
+ "token": "--c2-theme--border"
10617
10670
  },
10618
10671
  {
10619
10672
  "name": "--c2-chatbot--border-left",
10620
10673
  "type": "border",
10621
- "default": "1px solid #e4e4e7",
10674
+ "default": "1px solid rgb(177, 177, 177)",
10622
10675
  "part": "",
10623
10676
  "property": "border-left",
10624
- "token": "--c2-theme--color-outline-variant"
10677
+ "token": "--c2-theme--border"
10625
10678
  },
10626
10679
  {
10627
10680
  "name": "--c2-chatbot__header--padding",
@@ -10633,18 +10686,18 @@
10633
10686
  {
10634
10687
  "name": "--c2-chatbot__header--background",
10635
10688
  "type": "color",
10636
- "default": "#ffffff",
10689
+ "default": "rgb(248, 248, 248)",
10637
10690
  "part": "header",
10638
10691
  "property": "background",
10639
- "token": "--c2-theme--color-surface"
10692
+ "token": "--c2-theme--color-surface-container-low"
10640
10693
  },
10641
10694
  {
10642
10695
  "name": "--c2-chatbot__header--border-bottom",
10643
10696
  "type": "border",
10644
- "default": "1px solid #e4e4e7",
10697
+ "default": "1px solid rgb(177, 177, 177)",
10645
10698
  "part": "header",
10646
10699
  "property": "border-bottom",
10647
- "token": "--c2-theme--color-outline-variant"
10700
+ "token": "--c2-theme--border"
10648
10701
  }
10649
10702
  ]
10650
10703
  }
@@ -13268,10 +13321,9 @@
13268
13321
  {
13269
13322
  "name": "--c2-color-select__popover--background-color",
13270
13323
  "type": "color",
13271
- "default": "rgb(255, 255, 255)",
13324
+ "default": "rgb(253, 253, 253)",
13272
13325
  "part": "popover",
13273
- "property": "background-color",
13274
- "token": "--c2-theme--color-surface"
13326
+ "property": "background-color"
13275
13327
  },
13276
13328
  {
13277
13329
  "name": "--c2-color-select__popover--gap",
@@ -13520,14 +13572,6 @@
13520
13572
  ],
13521
13573
  "cssParts": [],
13522
13574
  "cssProperties": [
13523
- {
13524
- "name": "--c2-color-slider--border-radius",
13525
- "type": "border-radius",
13526
- "default": "8px",
13527
- "part": "",
13528
- "property": "border-radius",
13529
- "token": "--c2-theme--radius-lg"
13530
- },
13531
13575
  {
13532
13576
  "name": "--c2-color-slider--border-top-left-radius",
13533
13577
  "type": "border-radius",
@@ -13563,33 +13607,30 @@
13563
13607
  {
13564
13608
  "name": "--c2-color-slider--border-top",
13565
13609
  "type": "border",
13566
- "default": "1px solid rgb(177, 177, 177)",
13610
+ "default": "1px solid rgb(248, 248, 248)",
13567
13611
  "part": "",
13568
- "property": "border-top",
13569
- "token": "--c2-theme--border"
13612
+ "property": "border-top"
13570
13613
  },
13571
13614
  {
13572
13615
  "name": "--c2-color-slider--border-right",
13573
13616
  "type": "border",
13574
- "default": "1px solid rgb(177, 177, 177)",
13617
+ "default": "1px solid rgb(248, 248, 248)",
13575
13618
  "part": "",
13576
- "property": "border-right",
13577
- "token": "--c2-theme--border"
13619
+ "property": "border-right"
13578
13620
  },
13579
13621
  {
13580
13622
  "name": "--c2-color-slider--border-bottom",
13581
13623
  "type": "border",
13582
- "default": "1px solid rgb(177, 177, 177)",
13624
+ "default": "1px solid rgb(248, 248, 248)",
13583
13625
  "part": "",
13584
- "property": "border-bottom",
13585
- "token": "--c2-theme--border"
13626
+ "property": "border-bottom"
13586
13627
  },
13587
13628
  {
13588
- "name": "--c2-color-slider--borde-leftr",
13629
+ "name": "--c2-color-slider--border-left",
13589
13630
  "type": "border",
13590
- "default": "1px solid rgb(177, 177, 177)",
13631
+ "default": "1px solid rgb(248, 248, 248)",
13591
13632
  "part": "",
13592
- "property": "borde-leftr",
13633
+ "property": "border-left",
13593
13634
  "token": "--c2-theme--border"
13594
13635
  },
13595
13636
  {
@@ -17932,6 +17973,23 @@
17932
17973
  "part": "tooltip",
17933
17974
  "property": "gap",
17934
17975
  "description": "Gap between tooltip rows."
17976
+ },
17977
+ {
17978
+ "name": "--c2-chart__legend-marker--size",
17979
+ "type": "pixel",
17980
+ "default": "10px",
17981
+ "part": "legend-marker",
17982
+ "property": "size",
17983
+ "description": "Size of the colour swatch in a tooltip row."
17984
+ },
17985
+ {
17986
+ "name": "--c2-chart__legend-marker--border-radius",
17987
+ "type": "border-radius",
17988
+ "default": "999px",
17989
+ "part": "legend-marker",
17990
+ "property": "border-radius",
17991
+ "token": "--c2-theme--radius-full",
17992
+ "description": "Corner radius of a tooltip row's colour swatch."
17935
17993
  }
17936
17994
  ]
17937
17995
  }
@@ -20582,6 +20640,23 @@
20582
20640
  "part": "tooltip",
20583
20641
  "property": "gap",
20584
20642
  "description": "Gap between tooltip rows."
20643
+ },
20644
+ {
20645
+ "name": "--c2-chart__legend-marker--size",
20646
+ "type": "pixel",
20647
+ "default": "10px",
20648
+ "part": "legend-marker",
20649
+ "property": "size",
20650
+ "description": "Size of the colour swatch in a tooltip row."
20651
+ },
20652
+ {
20653
+ "name": "--c2-chart__legend-marker--border-radius",
20654
+ "type": "border-radius",
20655
+ "default": "999px",
20656
+ "part": "legend-marker",
20657
+ "property": "border-radius",
20658
+ "token": "--c2-theme--radius-full",
20659
+ "description": "Corner radius of a tooltip row's colour swatch."
20585
20660
  }
20586
20661
  ]
20587
20662
  }
@@ -21036,6 +21111,7 @@
21036
21111
  {
21037
21112
  "name": "--c2-link-button__icon--color",
21038
21113
  "type": "color",
21114
+ "default": "currentColor",
21039
21115
  "part": "icon",
21040
21116
  "property": "color"
21041
21117
  }
@@ -22668,6 +22744,899 @@
22668
22744
  ],
22669
22745
  "hasGallery": true
22670
22746
  },
22747
+ "log-viewer": {
22748
+ "id": "log-viewer",
22749
+ "package": "@c2n/log-viewer",
22750
+ "title": "Log Viewer",
22751
+ "description": "Explore large logs with variable-height virtual scrolling and sticky tabular attributes.",
22752
+ "intro": "Read thousands of log entries without rendering thousands of rows. `c2-log-viewer` combines **virtual scrolling for variable-height text** with **sticky attributes** that keep a long entry's context visible. Single-line messages, wrapped output and multiline traces can share the same viewport.",
22753
+ "category": "Data display",
22754
+ "status": "stable",
22755
+ "docsUrl": "https://code2nguyen.github.io/web-components/components/log-viewer",
22756
+ "elements": [
22757
+ {
22758
+ "tag": "c2-log-viewer",
22759
+ "className": "LogViewer",
22760
+ "modulePath": "@c2n/log-viewer",
22761
+ "description": "A text-only, variable-height virtual log viewport. Filters and search are controlled by the application.\nWith the viewport focused, Home jumps to the first entry and End follows the latest; Ctrl/Command variants also work.",
22762
+ "attributes": [
22763
+ {
22764
+ "name": "tabular",
22765
+ "type": "boolean",
22766
+ "default": "true",
22767
+ "description": "Align attributes vertically in columns; false displays concatenated entry text."
22768
+ },
22769
+ {
22770
+ "name": "wrap",
22771
+ "type": "boolean",
22772
+ "default": "false",
22773
+ "description": "Break text to fit the available column or viewport width."
22774
+ }
22775
+ ],
22776
+ "slots": [],
22777
+ "events": [],
22778
+ "cssParts": [
22779
+ {
22780
+ "name": "token",
22781
+ "description": "Colored log token; severity and timestamp tokens use the existing level and timestamp colors"
22782
+ },
22783
+ {
22784
+ "name": "copy-icon",
22785
+ "description": "Copy and success SVG icon"
22786
+ },
22787
+ {
22788
+ "name": "copy-button",
22789
+ "description": "Copy the complete message of a visible entry; revealed on hover or keyboard focus"
22790
+ },
22791
+ {
22792
+ "name": "highlight",
22793
+ "description": "Matching visible entry or plain text slice in highlight mode"
22794
+ },
22795
+ {
22796
+ "name": "viewport",
22797
+ "description": "Keyboard accessible scroll surface"
22798
+ },
22799
+ {
22800
+ "name": "content",
22801
+ "description": "Virtual content and its total scroll extent"
22802
+ },
22803
+ {
22804
+ "name": "entry",
22805
+ "description": "Visible tabular entry"
22806
+ },
22807
+ {
22808
+ "name": "cell",
22809
+ "description": "Attribute column containing its sticky text"
22810
+ },
22811
+ {
22812
+ "name": "text",
22813
+ "description": "Plain text content"
22814
+ },
22815
+ {
22816
+ "name": "empty",
22817
+ "description": "Empty state"
22818
+ }
22819
+ ],
22820
+ "cssProperties": [
22821
+ {
22822
+ "name": "--c2-log-viewer--height",
22823
+ "type": "CSS value",
22824
+ "default": "480px",
22825
+ "part": "",
22826
+ "property": "height",
22827
+ "description": "Viewport height"
22828
+ },
22829
+ {
22830
+ "name": "--c2-log-viewer--background",
22831
+ "type": "color",
22832
+ "default": "#0b1220",
22833
+ "part": "",
22834
+ "property": "background",
22835
+ "description": "Terminal surface"
22836
+ },
22837
+ {
22838
+ "name": "--c2-log-viewer--color",
22839
+ "type": "color",
22840
+ "default": "#d3deee",
22841
+ "part": "",
22842
+ "property": "color",
22843
+ "description": "Text color"
22844
+ },
22845
+ {
22846
+ "name": "--c2-log-viewer--font-family",
22847
+ "type": "CSS value",
22848
+ "default": "ui-monospace, monospace",
22849
+ "part": "",
22850
+ "property": "font-family",
22851
+ "description": "Text font"
22852
+ },
22853
+ {
22854
+ "name": "--c2-log-viewer--font-size",
22855
+ "type": "CSS value",
22856
+ "default": "13px",
22857
+ "part": "",
22858
+ "property": "font-size",
22859
+ "description": "Text size"
22860
+ },
22861
+ {
22862
+ "name": "--c2-log-viewer--line-height",
22863
+ "type": "CSS value",
22864
+ "default": "1.65",
22865
+ "part": "",
22866
+ "property": "line-height",
22867
+ "description": "Line spacing"
22868
+ },
22869
+ {
22870
+ "name": "--c2-log-viewer--border",
22871
+ "type": "CSS value",
22872
+ "default": "1px solid #263449",
22873
+ "part": "",
22874
+ "property": "border",
22875
+ "description": "Outer edge"
22876
+ },
22877
+ {
22878
+ "name": "--c2-log-viewer--border-radius",
22879
+ "type": "CSS value",
22880
+ "default": "12px",
22881
+ "part": "",
22882
+ "property": "border-radius",
22883
+ "description": "Outer corners"
22884
+ },
22885
+ {
22886
+ "name": "--c2-log-viewer__message--min-width",
22887
+ "type": "CSS value",
22888
+ "default": "240px",
22889
+ "part": "message",
22890
+ "property": "min-width",
22891
+ "description": "Minimum primary column width"
22892
+ },
22893
+ {
22894
+ "name": "--c2-log-viewer__cell--padding",
22895
+ "type": "CSS value",
22896
+ "default": "8px 12px",
22897
+ "part": "cell",
22898
+ "property": "padding",
22899
+ "description": "Attribute cell inset included in row measurements"
22900
+ },
22901
+ {
22902
+ "name": "--c2-log-viewer__text--inset",
22903
+ "type": "CSS value",
22904
+ "default": "12px",
22905
+ "part": "text",
22906
+ "property": "inset",
22907
+ "description": "Horizontal inset for continuous text"
22908
+ },
22909
+ {
22910
+ "name": "--c2-log-viewer__empty--padding",
22911
+ "type": "CSS value",
22912
+ "default": "24px",
22913
+ "part": "empty",
22914
+ "property": "padding",
22915
+ "description": "Empty state inset"
22916
+ },
22917
+ {
22918
+ "name": "--c2-log-viewer__empty--color",
22919
+ "type": "color",
22920
+ "default": "#94a3b8",
22921
+ "part": "empty",
22922
+ "property": "color",
22923
+ "description": "Empty state text"
22924
+ },
22925
+ {
22926
+ "name": "--c2-log-viewer__viewport__focus--outline",
22927
+ "type": "CSS value",
22928
+ "default": "2px solid #60a5fa",
22929
+ "part": "viewport",
22930
+ "state": "focus",
22931
+ "property": "outline",
22932
+ "description": "Keyboard focus indicator"
22933
+ },
22934
+ {
22935
+ "name": "--c2-log-viewer__timestamp--color",
22936
+ "type": "color",
22937
+ "default": "#94a3b8",
22938
+ "part": "timestamp",
22939
+ "property": "color",
22940
+ "description": "Timestamp text"
22941
+ },
22942
+ {
22943
+ "name": "--c2-log-viewer__attribute--color",
22944
+ "type": "color",
22945
+ "default": "#a5b4cc",
22946
+ "part": "attribute",
22947
+ "property": "color",
22948
+ "description": "Secondary attribute text"
22949
+ },
22950
+ {
22951
+ "name": "--c2-log-viewer__level--color",
22952
+ "type": "color",
22953
+ "default": "#c4b5fd",
22954
+ "part": "level",
22955
+ "property": "color",
22956
+ "description": "Unclassified level text"
22957
+ },
22958
+ {
22959
+ "name": "--c2-log-viewer__level__info--color",
22960
+ "type": "color",
22961
+ "default": "#6ee7b7",
22962
+ "part": "level/info",
22963
+ "property": "color",
22964
+ "description": "Info level text"
22965
+ },
22966
+ {
22967
+ "name": "--c2-log-viewer__level__warning--color",
22968
+ "type": "color",
22969
+ "default": "#fcd34d",
22970
+ "part": "level/warning",
22971
+ "property": "color",
22972
+ "description": "Warn and warning level text"
22973
+ },
22974
+ {
22975
+ "name": "--c2-log-viewer__level__error--color",
22976
+ "type": "color",
22977
+ "default": "#fda4af",
22978
+ "part": "level",
22979
+ "state": "error",
22980
+ "property": "color",
22981
+ "description": "Error and fatal level text"
22982
+ },
22983
+ {
22984
+ "name": "--c2-log-viewer__entry--box-shadow",
22985
+ "type": "CSS value",
22986
+ "default": "inset 0 -1px 0 #1b293d",
22987
+ "part": "entry",
22988
+ "property": "box-shadow",
22989
+ "description": "Subtle row divider without changing measured geometry"
22990
+ },
22991
+ {
22992
+ "name": "--c2-log-viewer__entry__hover--background",
22993
+ "type": "color",
22994
+ "default": "#142238",
22995
+ "part": "entry",
22996
+ "state": "hover",
22997
+ "property": "background",
22998
+ "description": "Hovered row surface"
22999
+ },
23000
+ {
23001
+ "name": "--c2-log-viewer__entry__highlighted--background",
23002
+ "type": "color",
23003
+ "default": "#17304c",
23004
+ "part": "entry",
23005
+ "state": "highlighted",
23006
+ "property": "background",
23007
+ "description": "Matching entry surface in highlight mode"
23008
+ },
23009
+ {
23010
+ "name": "--c2-log-viewer__entry__highlighted--box-shadow",
23011
+ "type": "CSS value",
23012
+ "default": "inset 3px 0 0 #60a5fa",
23013
+ "part": "entry",
23014
+ "state": "highlighted",
23015
+ "property": "box-shadow",
23016
+ "description": "Matching entry accent without changing measured geometry"
23017
+ },
23018
+ {
23019
+ "name": "--c2-log-viewer__copy--size",
23020
+ "type": "CSS value",
23021
+ "default": "28px",
23022
+ "part": "copy",
23023
+ "property": "size",
23024
+ "description": "Copy button size"
23025
+ },
23026
+ {
23027
+ "name": "--c2-log-viewer__copy--icon-size",
23028
+ "type": "CSS value",
23029
+ "default": "55%",
23030
+ "part": "copy",
23031
+ "property": "icon-size",
23032
+ "description": "Copy and success icon width and height"
23033
+ },
23034
+ {
23035
+ "name": "--c2-log-viewer__copy--stroke-width",
23036
+ "type": "number",
23037
+ "default": "1.8",
23038
+ "part": "copy",
23039
+ "property": "stroke-width",
23040
+ "description": "Copy and success SVG stroke width"
23041
+ },
23042
+ {
23043
+ "name": "--c2-log-viewer__copy--inset",
23044
+ "type": "CSS value",
23045
+ "default": "8px",
23046
+ "part": "copy",
23047
+ "property": "inset",
23048
+ "description": "Copy button offset from viewport edges"
23049
+ },
23050
+ {
23051
+ "name": "--c2-log-viewer__copy--padding-top",
23052
+ "type": "CSS value",
23053
+ "default": "4px",
23054
+ "part": "copy",
23055
+ "property": "padding-top",
23056
+ "description": "Space above the copy button within an entry"
23057
+ },
23058
+ {
23059
+ "name": "--c2-log-viewer__copy--background",
23060
+ "type": "color",
23061
+ "default": "transparent",
23062
+ "part": "copy",
23063
+ "property": "background",
23064
+ "description": "Copy button surface"
23065
+ },
23066
+ {
23067
+ "name": "--c2-log-viewer__copy--color",
23068
+ "type": "color",
23069
+ "default": "#dbeafe",
23070
+ "part": "copy",
23071
+ "property": "color",
23072
+ "description": "Copy icon color"
23073
+ },
23074
+ {
23075
+ "name": "--c2-log-viewer__copy--border",
23076
+ "type": "CSS value",
23077
+ "default": "none",
23078
+ "part": "copy",
23079
+ "property": "border",
23080
+ "description": "Copy button edge"
23081
+ },
23082
+ {
23083
+ "name": "--c2-log-viewer__copy--border-radius",
23084
+ "type": "CSS value",
23085
+ "default": "6px",
23086
+ "part": "copy",
23087
+ "property": "border-radius",
23088
+ "description": "Copy button corners"
23089
+ },
23090
+ {
23091
+ "name": "--c2-log-viewer__copy__hover--background",
23092
+ "type": "color",
23093
+ "default": "#2a4263",
23094
+ "part": "copy",
23095
+ "state": "hover",
23096
+ "property": "background",
23097
+ "description": "Hovered copy button surface"
23098
+ },
23099
+ {
23100
+ "name": "--c2-log-viewer__copy__focus--outline",
23101
+ "type": "CSS value",
23102
+ "default": "2px solid #60a5fa",
23103
+ "part": "copy",
23104
+ "state": "focus",
23105
+ "property": "outline",
23106
+ "description": "Copy button keyboard focus"
23107
+ },
23108
+ {
23109
+ "name": "--c2-log-viewer__token--color",
23110
+ "type": "color",
23111
+ "default": "#93c5fd",
23112
+ "part": "token",
23113
+ "property": "color",
23114
+ "description": "Quoted values, numbers, URLs and recognizable IDs in log text"
23115
+ }
23116
+ ]
23117
+ }
23118
+ ],
23119
+ "composition": {
23120
+ "internal": [],
23121
+ "slotted": [],
23122
+ "usedBy": []
23123
+ },
23124
+ "install": {
23125
+ "npm": "npm install @c2n/log-viewer @c2n/theme",
23126
+ "import": "import '@c2n/log-viewer'",
23127
+ "importClass": "import { LogViewer } from '@c2n/log-viewer'"
23128
+ },
23129
+ "examples": [
23130
+ {
23131
+ "kind": "gallery",
23132
+ "label": "Default",
23133
+ "section": "Real log streams",
23134
+ "description": "Default Real log streams example for c2-log-viewer.",
23135
+ "isDefault": true,
23136
+ "tags": [
23137
+ "c2-log-viewer"
23138
+ ],
23139
+ "html": "<c2-log-viewer class=\"server-default\" data-log-viewer-demo=\"virtual\" wrap aria-label=\"Server access log with 10,000 requests\"></c2-log-viewer>",
23140
+ "css": ".server-default { width: 100%; height: 340px; }"
23141
+ },
23142
+ {
23143
+ "kind": "gallery",
23144
+ "label": "Commerce checkout · sticky context",
23145
+ "section": "Real log streams",
23146
+ "description": "Commerce checkout · sticky context Real log streams example for c2-log-viewer.",
23147
+ "isDefault": false,
23148
+ "tags": [
23149
+ "c2-log-viewer"
23150
+ ],
23151
+ "html": "<c2-log-viewer class=\"commerce-trace\" data-log-viewer-demo=\"sticky\" wrap aria-label=\"Checkout incident with sticky attributes\"></c2-log-viewer>",
23152
+ "css": ".commerce-trace { width: 100%; height: 340px; }"
23153
+ },
23154
+ {
23155
+ "kind": "gallery",
23156
+ "label": "Server output · continuous text",
23157
+ "section": "Real log streams",
23158
+ "description": "Server output · continuous text Real log streams example for c2-log-viewer.",
23159
+ "isDefault": false,
23160
+ "tags": [
23161
+ "c2-log-viewer"
23162
+ ],
23163
+ "html": "<c2-log-viewer class=\"server-plain\" data-log-viewer-demo=\"server\" tabular=\"false\" wrap aria-label=\"Continuous server output\"></c2-log-viewer>",
23164
+ "css": ".server-plain { width: 100%; height: 300px; }"
23165
+ },
23166
+ {
23167
+ "kind": "gallery",
23168
+ "label": "Commerce operations · highlighted matches",
23169
+ "section": "Real log streams",
23170
+ "description": "Commerce operations · highlighted matches Real log streams example for c2-log-viewer.",
23171
+ "isDefault": false,
23172
+ "tags": [
23173
+ "c2-log-viewer"
23174
+ ],
23175
+ "html": "<c2-log-viewer class=\"commerce-matches\" data-log-viewer-demo=\"matches\" wrap aria-label=\"Commerce logs with warnings and errors highlighted\"></c2-log-viewer>",
23176
+ "css": ".commerce-matches { width: 100%; height: 340px; }"
23177
+ },
23178
+ {
23179
+ "kind": "gallery",
23180
+ "label": "Commerce operations · light theme",
23181
+ "section": "Real log streams",
23182
+ "description": "Commerce operations · light theme Real log streams example for c2-log-viewer.",
23183
+ "isDefault": false,
23184
+ "tags": [
23185
+ "c2-log-viewer"
23186
+ ],
23187
+ "html": "<c2-log-viewer class=\"commerce-light\" data-log-viewer-demo=\"commerce\" wrap aria-label=\"Online store checkout and order logs\"></c2-log-viewer>",
23188
+ "css": ".commerce-light {\n width: 100%; height: 320px;\n --c2-log-viewer--background: #f8fafc;\n --c2-log-viewer--color: #1e293b;\n --c2-log-viewer--border: 1px solid #cbd5e1;\n --c2-log-viewer__token--color: #1d4ed8;\n --c2-log-viewer__timestamp--color: #64748b;\n --c2-log-viewer__attribute--color: #475569;\n --c2-log-viewer__level--color: #6d28d9;\n --c2-log-viewer__level__info--color: #047857;\n --c2-log-viewer__level__warning--color: #92400e;\n --c2-log-viewer__level__error--color: #be123c;\n --c2-log-viewer__entry--box-shadow: inset 0 -1px 0 #e2e8f0;\n --c2-log-viewer__entry__hover--background: #eef2ff;\n --c2-log-viewer__entry__highlighted--background: #dbeafe;\n --c2-log-viewer__entry__highlighted--box-shadow: inset 3px 0 0 #2563eb;\n}"
23189
+ },
23190
+ {
23191
+ "kind": "preview",
23192
+ "label": "Preview",
23193
+ "html": "<c2-log-viewer data-log-viewer-demo=\"preview\" wrap aria-label=\"Store server log\" style=\"height:180px;width:300px\"></c2-log-viewer>"
23194
+ }
23195
+ ],
23196
+ "hasGallery": true
23197
+ },
23198
+ "masonry": {
23199
+ "id": "masonry",
23200
+ "package": "@c2n/masonry",
23201
+ "title": "Masonry",
23202
+ "description": "Automatically pack differently sized dashboard tiles, then move or resize them in edit mode.",
23203
+ "intro": "`c2-masonry` packs direct `c2-masonry-item` children into the earliest available cells. It is useful when cards or charts have explicit row and column spans but the application should not manage coordinates. For fixed, author-positioned tracks, use [`c2-dashboard`](/web-components/components/dashboard) instead. Content stays in the application's markup, so forms and links work normally. If it is taller than a tile's declared height, it scrolls inside the tile.",
23204
+ "category": "Layout",
23205
+ "status": "stable",
23206
+ "docsUrl": "https://code2nguyen.github.io/web-components/components/masonry",
23207
+ "elements": [
23208
+ {
23209
+ "tag": "c2-masonry",
23210
+ "className": "Masonry",
23211
+ "modulePath": "@c2n/masonry",
23212
+ "description": "Automatically packs direct `c2-masonry-item` children into the first available grid cells.\nUse `c2-dashboard` when the application must choose fixed coordinates instead.",
23213
+ "attributes": [
23214
+ {
23215
+ "name": "editable",
23216
+ "type": "boolean",
23217
+ "default": "false",
23218
+ "description": "Shows separate move and resize controls when every tile has a unique identity."
23219
+ },
23220
+ {
23221
+ "name": "save-layout",
23222
+ "type": "boolean",
23223
+ "default": "true",
23224
+ "description": "Saves committed user layouts to localStorage and restores them on load. Use `save-layout=\"false\"` to opt out."
23225
+ },
23226
+ {
23227
+ "name": "storage-key",
23228
+ "type": "string | undefined",
23229
+ "description": "Optional stable localStorage key; otherwise the page URL and element ID or position identify this container."
23230
+ }
23231
+ ],
23232
+ "slots": [
23233
+ {
23234
+ "name": "default",
23235
+ "description": "Direct `c2-masonry-item` children to pack."
23236
+ }
23237
+ ],
23238
+ "events": [
23239
+ {
23240
+ "name": "layout-error",
23241
+ "type": "CustomEvent<MasonryLayoutErrorDetail>",
23242
+ "description": "Invalid tile identities, spans, or supplied snapshot; does not bubble."
23243
+ },
23244
+ {
23245
+ "name": "layout-change",
23246
+ "type": "CustomEvent<MasonryLayoutChangeDetail>",
23247
+ "description": "Fired exactly once after a real user move or resize commit; does not bubble. Detail includes a complete restorable snapshot."
23248
+ }
23249
+ ],
23250
+ "cssParts": [
23251
+ {
23252
+ "name": "grid",
23253
+ "description": "Packed grid region."
23254
+ },
23255
+ {
23256
+ "name": "placeholder",
23257
+ "description": "Candidate occupied area during an edit session."
23258
+ }
23259
+ ],
23260
+ "cssProperties": [
23261
+ {
23262
+ "name": "--c2-masonry--gap",
23263
+ "type": "pixel",
23264
+ "default": "8px",
23265
+ "part": "",
23266
+ "property": "gap",
23267
+ "description": "Gap between cells and tiles."
23268
+ },
23269
+ {
23270
+ "name": "--c2-masonry--row-height",
23271
+ "type": "pixel",
23272
+ "default": "8px",
23273
+ "part": "",
23274
+ "property": "row-height",
23275
+ "description": "Height of one grid row."
23276
+ },
23277
+ {
23278
+ "name": "--c2-masonry--padding",
23279
+ "type": "padding",
23280
+ "default": "0px",
23281
+ "part": "",
23282
+ "property": "padding",
23283
+ "description": "Inset around the grid."
23284
+ },
23285
+ {
23286
+ "name": "--c2-masonry--background",
23287
+ "type": "color",
23288
+ "default": "transparent",
23289
+ "part": "",
23290
+ "property": "background",
23291
+ "description": "Grid background."
23292
+ },
23293
+ {
23294
+ "name": "--c2-masonry--border",
23295
+ "type": "border",
23296
+ "default": "none",
23297
+ "part": "",
23298
+ "property": "border",
23299
+ "description": "Outer border."
23300
+ },
23301
+ {
23302
+ "name": "--c2-masonry--border-radius",
23303
+ "type": "border-radius",
23304
+ "default": "0px",
23305
+ "part": "",
23306
+ "property": "border-radius",
23307
+ "description": "Outer corner radius."
23308
+ },
23309
+ {
23310
+ "name": "--c2-masonry__placeholder--background",
23311
+ "type": "color",
23312
+ "default": "rgb(37 99 235 / 8%)",
23313
+ "part": "placeholder",
23314
+ "property": "background",
23315
+ "token": "--c2-theme--color-primary",
23316
+ "description": "Candidate tile fill."
23317
+ },
23318
+ {
23319
+ "name": "--c2-masonry__placeholder--border",
23320
+ "type": "border",
23321
+ "default": "2px dashed #2563eb",
23322
+ "part": "placeholder",
23323
+ "property": "border",
23324
+ "token": "--c2-theme--color-primary",
23325
+ "description": "Candidate tile edge."
23326
+ },
23327
+ {
23328
+ "name": "--c2-masonry__placeholder--border-radius",
23329
+ "type": "border-radius",
23330
+ "default": "6px",
23331
+ "part": "placeholder",
23332
+ "property": "border-radius",
23333
+ "token": "--c2-theme--radius-md",
23334
+ "description": "Candidate corners."
23335
+ },
23336
+ {
23337
+ "name": "--c2-masonry__motion--duration",
23338
+ "type": "time",
23339
+ "default": "160ms",
23340
+ "part": "motion",
23341
+ "property": "duration",
23342
+ "description": "Decorative movement duration."
23343
+ },
23344
+ {
23345
+ "name": "--c2-masonry__motion--timing-function",
23346
+ "type": "timing-function",
23347
+ "default": "ease",
23348
+ "part": "motion",
23349
+ "property": "timing-function",
23350
+ "description": "Decorative movement easing."
23351
+ }
23352
+ ]
23353
+ },
23354
+ {
23355
+ "tag": "c2-masonry-item",
23356
+ "className": "MasonryItem",
23357
+ "modulePath": "@c2n/masonry/masonry-item.js",
23358
+ "description": "A fixed-span content tile placed by its parent `c2-masonry`. Tall content scrolls within the tile.",
23359
+ "attributes": [
23360
+ {
23361
+ "name": "item-id",
23362
+ "type": "string | undefined",
23363
+ "description": "Stable identity used for editing and application snapshots."
23364
+ },
23365
+ {
23366
+ "name": "label",
23367
+ "type": "string | undefined",
23368
+ "description": "Human-readable name used for the scroll region and edit controls."
23369
+ },
23370
+ {
23371
+ "name": "rows",
23372
+ "type": "number",
23373
+ "default": "10",
23374
+ "description": "Positive integer row span shared across size ranges."
23375
+ },
23376
+ {
23377
+ "name": "cols",
23378
+ "type": "number",
23379
+ "default": "3",
23380
+ "description": "Positive integer base column span."
23381
+ },
23382
+ {
23383
+ "name": "cols-xs",
23384
+ "type": "number | undefined",
23385
+ "description": "Optional positive column span for containers narrower than 600 px."
23386
+ },
23387
+ {
23388
+ "name": "cols-sm",
23389
+ "type": "number | undefined",
23390
+ "description": "Optional positive column span for 600–959.99 px containers."
23391
+ },
23392
+ {
23393
+ "name": "cols-md",
23394
+ "type": "number | undefined",
23395
+ "description": "Optional positive column span for 960–1279.99 px containers."
23396
+ },
23397
+ {
23398
+ "name": "cols-lg",
23399
+ "type": "number | undefined",
23400
+ "description": "Optional positive column span for containers at least 1280 px wide."
23401
+ }
23402
+ ],
23403
+ "slots": [
23404
+ {
23405
+ "name": "default",
23406
+ "description": "Application-owned tile content."
23407
+ },
23408
+ {
23409
+ "name": "move-icon",
23410
+ "description": "Optional move-handle icon; an inline grip is provided by default."
23411
+ }
23412
+ ],
23413
+ "events": [],
23414
+ "cssParts": [
23415
+ {
23416
+ "name": "content",
23417
+ "description": "Keyboard-reachable scrolling region containing the application content."
23418
+ },
23419
+ {
23420
+ "name": "controls",
23421
+ "description": "Group of edit-only move and resize controls."
23422
+ },
23423
+ {
23424
+ "name": "move-handle",
23425
+ "description": "Button that starts a move operation."
23426
+ },
23427
+ {
23428
+ "name": "resize-handle",
23429
+ "description": "Keyboard-reachable bottom edge that starts a resize operation."
23430
+ },
23431
+ {
23432
+ "name": "resize-edge",
23433
+ "description": "Pointer resize target on the right edge."
23434
+ }
23435
+ ],
23436
+ "cssProperties": [
23437
+ {
23438
+ "name": "--c2-masonry-item--background",
23439
+ "type": "color",
23440
+ "default": "transparent",
23441
+ "part": "",
23442
+ "property": "background",
23443
+ "description": "Tile surface."
23444
+ },
23445
+ {
23446
+ "name": "--c2-masonry-item--border",
23447
+ "type": "border",
23448
+ "default": "none",
23449
+ "part": "",
23450
+ "property": "border",
23451
+ "description": "Tile border."
23452
+ },
23453
+ {
23454
+ "name": "--c2-masonry-item--border-radius",
23455
+ "type": "border-radius",
23456
+ "default": "0px",
23457
+ "part": "",
23458
+ "property": "border-radius",
23459
+ "description": "Tile corner radius."
23460
+ },
23461
+ {
23462
+ "name": "--c2-masonry-item--box-shadow",
23463
+ "type": "box-shadow",
23464
+ "default": "none",
23465
+ "part": "",
23466
+ "property": "box-shadow",
23467
+ "description": "Tile elevation."
23468
+ },
23469
+ {
23470
+ "name": "--c2-masonry-item__content--padding",
23471
+ "type": "padding",
23472
+ "default": "0px",
23473
+ "part": "content",
23474
+ "property": "padding",
23475
+ "description": "Content inset."
23476
+ },
23477
+ {
23478
+ "name": "--c2-masonry-item__controls--gap",
23479
+ "type": "pixel",
23480
+ "default": "4px",
23481
+ "part": "controls",
23482
+ "property": "gap",
23483
+ "description": "Move-handle inset from the top and right borders."
23484
+ },
23485
+ {
23486
+ "name": "--c2-masonry-item__controls--background",
23487
+ "type": "color",
23488
+ "default": "transparent",
23489
+ "part": "controls",
23490
+ "property": "background",
23491
+ "description": "Surface behind the move-handle corner."
23492
+ },
23493
+ {
23494
+ "name": "--c2-masonry-item__handle--size",
23495
+ "type": "pixel",
23496
+ "default": "32px",
23497
+ "part": "handle",
23498
+ "property": "size",
23499
+ "description": "Move-handle hit target size."
23500
+ },
23501
+ {
23502
+ "name": "--c2-masonry-item__resize-handle--size",
23503
+ "type": "pixel",
23504
+ "default": "8px",
23505
+ "part": "resize-handle",
23506
+ "property": "size",
23507
+ "description": "Invisible resize-edge hit-zone depth."
23508
+ },
23509
+ {
23510
+ "name": "--c2-masonry-item__resize-edge__hover--color",
23511
+ "type": "color",
23512
+ "default": "rgb(37 99 235 / 35%)",
23513
+ "part": "resize-edge",
23514
+ "state": "hover",
23515
+ "property": "color",
23516
+ "description": "Right and bottom border color while the tile is hovered or focused."
23517
+ },
23518
+ {
23519
+ "name": "--c2-masonry-item__handle--icon-size",
23520
+ "type": "pixel",
23521
+ "default": "16px",
23522
+ "part": "handle",
23523
+ "property": "icon-size",
23524
+ "description": "Built-in move icon size."
23525
+ },
23526
+ {
23527
+ "name": "--c2-masonry-item__handle--color",
23528
+ "type": "color",
23529
+ "default": "#18181b",
23530
+ "part": "handle",
23531
+ "property": "color",
23532
+ "token": "--c2-theme--color-on-surface",
23533
+ "description": "Move-handle foreground."
23534
+ },
23535
+ {
23536
+ "name": "--c2-masonry-item__handle--background",
23537
+ "type": "color",
23538
+ "default": "transparent",
23539
+ "part": "handle",
23540
+ "property": "background",
23541
+ "description": "Move-handle surface."
23542
+ },
23543
+ {
23544
+ "name": "--c2-masonry-item__handle--border-radius",
23545
+ "type": "border-radius",
23546
+ "default": "6px",
23547
+ "part": "handle",
23548
+ "property": "border-radius",
23549
+ "token": "--c2-theme--radius-md",
23550
+ "description": "Edit-control corners."
23551
+ },
23552
+ {
23553
+ "name": "--c2-masonry-item__handle__hover--background",
23554
+ "type": "color",
23555
+ "default": "transparent",
23556
+ "part": "handle",
23557
+ "state": "hover",
23558
+ "property": "background",
23559
+ "description": "Hovered move-handle surface."
23560
+ },
23561
+ {
23562
+ "name": "--c2-masonry-item__handle__focus--outline",
23563
+ "type": "outline",
23564
+ "default": "2px solid #2563eb",
23565
+ "part": "handle",
23566
+ "state": "focus",
23567
+ "property": "outline",
23568
+ "token": "--c2-theme--focus-ring",
23569
+ "description": "Keyboard focus indicator."
23570
+ },
23571
+ {
23572
+ "name": "--c2-masonry-item__dragging--opacity",
23573
+ "type": "opacity",
23574
+ "default": "0.92",
23575
+ "part": "dragging",
23576
+ "property": "opacity",
23577
+ "description": "Active tile opacity."
23578
+ },
23579
+ {
23580
+ "name": "--c2-masonry-item__dragging--box-shadow",
23581
+ "type": "box-shadow",
23582
+ "default": "0 12px 28px rgb(15 23 42 / 24%)",
23583
+ "part": "dragging",
23584
+ "property": "box-shadow",
23585
+ "token": "--c2-theme--shadow-md",
23586
+ "description": "Active tile elevation."
23587
+ }
23588
+ ]
23589
+ }
23590
+ ],
23591
+ "composition": {
23592
+ "internal": [],
23593
+ "slotted": [
23594
+ "c2-masonry-item"
23595
+ ],
23596
+ "usedBy": [
23597
+ "c2-masonry"
23598
+ ]
23599
+ },
23600
+ "install": {
23601
+ "npm": "npm install @c2n/masonry @c2n/theme",
23602
+ "import": "import '@c2n/masonry'",
23603
+ "importClass": "import { Masonry } from '@c2n/masonry'"
23604
+ },
23605
+ "examples": [
23606
+ {
23607
+ "kind": "gallery",
23608
+ "label": "Default",
23609
+ "section": "Gallery",
23610
+ "description": "Default Gallery example for c2-masonry.",
23611
+ "isDefault": true,
23612
+ "tags": [
23613
+ "c2-masonry",
23614
+ "c2-masonry-item"
23615
+ ],
23616
+ "html": "<c2-masonry client:only=\"lit\" class=\"masonry-default\">\n <c2-masonry-item item-id=\"throughput\" label=\"Throughput\" rows=\"12\" cols=\"3\" cols-sm=\"4\" cols-md=\"5\" cols-lg=\"6\">\n <div class=\"masonry-default-tile\"><h3>Orders processed</h3><strong>18,642</strong><p><span class=\"positive\">↑ 8.2%</span> from last week</p><svg class=\"sparkline\" viewBox=\"0 0 240 50\" preserveAspectRatio=\"none\" aria-hidden=\"true\"><path d=\"M2 42 27 35 53 39 79 27 104 31 130 18 156 23 183 12 208 16 238 5\" /></svg></div>\n </c2-masonry-item>\n <c2-masonry-item item-id=\"queue\" label=\"Queue\" rows=\"12\" cols=\"2\" cols-sm=\"2\" cols-md=\"2\" cols-lg=\"3\">\n <div class=\"masonry-default-tile\"><h3>Open queue</h3><strong>142</strong><p>Across 7 regions</p><ul class=\"mini-list\"><li><span>Priority</span><b>18</b></li><li><span>On track</span><b>124</b></li></ul></div>\n </c2-masonry-item>\n <c2-masonry-item item-id=\"health\" label=\"Health\" rows=\"10\" cols=\"2\" cols-sm=\"3\" cols-md=\"3\" cols-lg=\"3\">\n <div class=\"masonry-default-tile\"><h3>Service availability</h3><strong>99.9%</strong><p>30-day rolling window</p><div class=\"progress-track\" aria-label=\"Availability is 99.9 percent\"><span></span></div></div>\n </c2-masonry-item>\n <c2-masonry-item item-id=\"deploys\" label=\"Deploys\" rows=\"10\" cols=\"2\" cols-sm=\"3\" cols-md=\"3\" cols-lg=\"3\">\n <div class=\"masonry-default-tile\"><h3>Deployments today</h3><strong>3</strong><p>All checks passing</p><ul class=\"mini-list\"><li><span>North region</span><span>09:42</span></li><li><span>West region</span><span>08:18</span></li></ul></div>\n </c2-masonry-item>\n</c2-masonry>",
23617
+ "css": ".masonry-default {\n display: block;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.masonry-default-tile {\n box-sizing: border-box;\n height: 100%;\n padding: 16px;\n border: 1px solid #e4e4e7;\n border-radius: 10px;\n background: #ffffff;\n color: #18181b;\n font-size: 12px;\n}\n\n.masonry-default-tile h3 {\n margin: 0;\n color: #71717a;\n font-size: 12px;\n font-weight: 600;\n}\n\n.masonry-default-tile strong {\n display: block;\n margin-top: 8px;\n font-size: 25px;\n line-height: 1.1;\n letter-spacing: -0.04em;\n}\n\n.masonry-default-tile p {\n margin: 6px 0 0;\n color: #71717a;\n}\n\n.masonry-default-tile .positive {\n color: #15803d;\n font-weight: 600;\n}\n\n.masonry-default-tile .sparkline {\n display: block;\n width: 100%;\n height: 48px;\n margin-top: 14px;\n}\n\n.masonry-default-tile .sparkline path {\n fill: none;\n stroke: #2563eb;\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.masonry-default-tile .progress-track {\n height: 7px;\n margin-top: 15px;\n border-radius: 999px;\n background: #e4e4e7;\n}\n\n.masonry-default-tile .progress-track span {\n display: block;\n width: 99.9%;\n height: 100%;\n border-radius: inherit;\n background: #22c55e;\n}\n\n.masonry-default-tile .mini-list {\n display: grid;\n gap: 7px;\n margin: 12px 0 0;\n padding: 0;\n list-style: none;\n color: #52525b;\n}\n\n.masonry-default-tile .mini-list li {\n display: flex;\n justify-content: space-between;\n gap: 8px;\n}\n\n.masonry-default-tile .mini-list li span {\n color: #52525b;\n}"
23618
+ },
23619
+ {
23620
+ "kind": "gallery",
23621
+ "label": "Night watch",
23622
+ "section": "Gallery",
23623
+ "description": "Night watch Gallery example for c2-masonry.",
23624
+ "isDefault": false,
23625
+ "tags": [
23626
+ "c2-masonry",
23627
+ "c2-masonry-item"
23628
+ ],
23629
+ "html": "<c2-masonry client:only=\"lit\" class=\"night-watch\" editable>\n <c2-masonry-item item-id=\"requests\" label=\"Requests\" rows=\"13\" cols=\"3\" cols-sm=\"4\" cols-md=\"5\" cols-lg=\"6\"><h3>Requests / min</h3><strong>12,804</strong><p><span class=\"night-positive\">↑ 6.8%</span> from yesterday</p><svg class=\"night-trend\" viewBox=\"0 0 240 58\" preserveAspectRatio=\"none\" aria-hidden=\"true\"><path d=\"M2 47 29 42 54 45 80 31 107 35 133 22 159 27 184 15 211 20 238 7\" /></svg></c2-masonry-item>\n <c2-masonry-item item-id=\"errors\" label=\"Errors\" rows=\"10\" cols=\"2\" cols-sm=\"2\" cols-md=\"2\" cols-lg=\"3\"><h3>Error rate</h3><strong>0.03%</strong><p>Below 0.1% threshold</p></c2-masonry-item>\n <c2-masonry-item item-id=\"latency\" label=\"Latency\" rows=\"10\" cols=\"2\" cols-sm=\"3\" cols-md=\"3\" cols-lg=\"3\"><h3>P95 latency</h3><strong>218 ms</strong><p>Target under 250 ms</p></c2-masonry-item>\n <c2-masonry-item item-id=\"regions\" label=\"Regions\" rows=\"10\" cols=\"2\" cols-sm=\"3\" cols-md=\"3\" cols-lg=\"3\"><h3>Regional health</h3><ul class=\"night-list\"><li><span>North</span><b>Healthy</b></li><li><span>West</span><b>Healthy</b></li><li><span>East</span><b>Degraded</b></li></ul></c2-masonry-item>\n</c2-masonry>",
23630
+ "css": ".night-watch {\n display: block;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n --c2-masonry--gap: 8px;\n --c2-masonry--row-height: 9px;\n --c2-masonry--padding: 12px;\n --c2-masonry--background: #101827;\n --c2-masonry--border-radius: 14px;\n --c2-masonry__placeholder--background: rgb(56 189 248 / 20%);\n --c2-masonry__placeholder--border: 2px dashed #38bdf8;\n --c2-masonry-item--background: #1e293b;\n --c2-masonry-item--border: 1px solid #334155;\n --c2-masonry-item--border-radius: 10px;\n --c2-masonry-item__content--padding: 14px;\n --c2-masonry-item__handle--background: #334155;\n --c2-masonry-item__handle--color: #f8fafc;\n --c2-masonry-item__handle__hover--background: #475569;\n}\n\n.night-watch h3 {\n margin: 0 80px 6px 0;\n color: #94a3b8;\n font-size: 12px;\n font-weight: 600;\n}\n\n.night-watch strong {\n display: block;\n color: #f8fafc;\n font-size: 27px;\n line-height: 1.1;\n letter-spacing: -0.04em;\n}\n\n.night-watch p {\n margin: 7px 0 0;\n color: #94a3b8;\n font-size: 12px;\n}\n\n.night-watch .night-positive {\n color: #5eead4;\n font-weight: 600;\n}\n\n.night-watch .night-trend {\n display: block;\n width: 100%;\n height: 58px;\n margin-top: 15px;\n}\n\n.night-watch .night-trend path {\n fill: none;\n stroke: #38bdf8;\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.night-watch .night-list {\n display: grid;\n gap: 9px;\n margin: 14px 0 0;\n padding: 0;\n list-style: none;\n color: #cbd5e1;\n font-size: 12px;\n}\n\n.night-watch .night-list li {\n display: flex;\n justify-content: space-between;\n gap: 8px;\n}\n\n.night-watch .night-list li span {\n color: #cbd5e1;\n}\n\n.night-watch .night-list b {\n color: #f8fafc;\n}"
23631
+ },
23632
+ {
23633
+ "kind": "preview",
23634
+ "label": "Preview",
23635
+ "html": "<c2-masonry style=\"width:260px;--c2-masonry--gap:6px;--c2-masonry--row-height:9px;--c2-masonry--padding:6px;--c2-masonry--background:#f4f4f5;--c2-masonry--border-radius:8px;--c2-masonry-item--background:#fff;--c2-masonry-item--border:1px solid #e4e4e7;--c2-masonry-item--border-radius:6px;--c2-masonry-item__content--padding:8px\">\n <c2-masonry-item item-id=\"traffic\" label=\"Traffic\" rows=\"5\" cols=\"3\">Traffic · 18.4k</c2-masonry-item>\n <c2-masonry-item item-id=\"orders\" label=\"Orders\" rows=\"5\" cols=\"2\">Orders · 142</c2-masonry-item>\n</c2-masonry>"
23636
+ }
23637
+ ],
23638
+ "hasGallery": true
23639
+ },
22671
23640
  "mat-icon": {
22672
23641
  "id": "mat-icon",
22673
23642
  "package": "@c2n/mat-icon",
@@ -29826,159 +30795,278 @@
29826
30795
  "property": "gap",
29827
30796
  "description": "Gap between tooltip rows."
29828
30797
  },
29829
- {
29830
- "name": "--c2-chart__state--color",
29831
- "type": "color",
29832
- "default": "#71717a",
29833
- "part": "state",
29834
- "property": "color",
29835
- "token": "--c2-theme--color-on-surface-variant",
29836
- "description": "Colour of the empty, loading and error text."
29837
- },
29838
- {
29839
- "name": "--c2-chart__state--font-size",
29840
- "type": "font-size",
29841
- "default": "14px",
29842
- "part": "state",
29843
- "property": "font-size",
29844
- "token": "--c2-theme--font-size-md",
29845
- "description": "Font size of the empty, loading and error text."
29846
- }
29847
- ]
29848
- },
29849
- {
29850
- "tag": "c2-chart-series",
29851
- "className": "ChartSeries",
29852
- "modulePath": "@c2n/chart/chart-series.js",
29853
- "description": "One series of a chart, declared as a light-DOM child. The element renders nothing: it is a definition\nthe chart reads, the same way `c2-table` reads its `c2-table-column` children. Everything it exposes as\nan attribute can also be set as a property, and `format` is property-only.\n\n```html\n<c2-line-chart x-field=\"month\" data='[{ \"month\": 1, \"revenue\": 120, \"cost\": 80 }]'>\n <c2-chart-series field=\"revenue\" label=\"Revenue\"></c2-chart-series>\n <c2-chart-series field=\"cost\" label=\"Cost\" color=\"#ea580c\"></c2-chart-series>\n</c2-line-chart>\n```",
29854
- "attributes": [
29855
- {
29856
- "name": "field",
29857
- "type": "string",
29858
- "default": "''",
29859
- "description": "Key of the value in the row object; may be a dotted path such as `stats.cpu`."
29860
- },
29861
- {
29862
- "name": "label",
29863
- "type": "string | undefined",
29864
- "description": "Legend and tooltip label. Falls back to the field name."
29865
- },
29866
- {
29867
- "name": "color",
29868
- "type": "string | undefined",
29869
- "description": "Explicit colour. Falls back to this series' slot in the chart's palette."
29870
- },
29871
- {
29872
- "name": "line-width",
29873
- "type": "number | undefined",
29874
- "description": "Stroke width in pixels. Falls back to `--c2-chart__line--width`."
29875
- },
29876
- {
29877
- "name": "axis",
29878
- "type": "'left' | 'right'",
29879
- "default": "'left'",
29880
- "description": "Which y axis the series is drawn against."
29881
- },
29882
- {
29883
- "name": "span-gaps",
29884
- "type": "boolean",
29885
- "default": "false",
29886
- "description": "Joins across gaps instead of breaking the line."
29887
- },
29888
- {
29889
- "name": "hidden",
29890
- "type": "boolean",
29891
- "default": "false",
29892
- "description": "Leaves the series out of the chart without removing the definition."
29893
- }
29894
- ],
29895
- "slots": [],
29896
- "events": [],
29897
- "cssParts": [],
29898
- "cssProperties": []
29899
- },
29900
- {
29901
- "tag": "c2-chart-legend",
29902
- "className": "ChartLegend",
29903
- "modulePath": "@c2n/chart/chart-legend.js",
29904
- "description": "A legend linked to a chart by id. Place it anywhere in the document to control the legend's layout\nindependently from the chart.",
29905
- "attributes": [
29906
- {
29907
- "name": "for",
29908
- "type": "string",
29909
- "default": "''",
29910
- "description": "Id of the chart this element presents."
29911
- }
29912
- ],
29913
- "slots": [
29914
- {
29915
- "name": "",
29916
- "description": "Replaces the generated legend. Use `renderLegend` or `renderLegendItem` for data-driven custom content."
29917
- }
29918
- ],
29919
- "events": [],
29920
- "cssParts": [
29921
- {
29922
- "name": "item",
29923
- "description": "One interactive legend entry."
29924
- },
29925
- {
29926
- "name": "marker",
29927
- "description": "The colour swatch inside an entry."
29928
- }
29929
- ],
29930
- "cssProperties": [
29931
- {
29932
- "name": "--c2-chart__legend--gap",
29933
- "type": "pixel",
29934
- "default": "12px",
29935
- "part": "legend",
29936
- "property": "gap",
29937
- "description": "Gap between legend entries."
29938
- },
29939
- {
29940
- "name": "--c2-chart__legend--padding",
29941
- "type": "padding",
29942
- "default": "0",
29943
- "part": "legend",
29944
- "property": "padding",
29945
- "description": "Padding around the legend."
29946
- },
29947
- {
29948
- "name": "--c2-chart__legend--color",
29949
- "type": "color",
29950
- "default": "#71717a",
29951
- "part": "legend",
29952
- "property": "color",
29953
- "token": "--c2-theme--color-on-surface-variant",
29954
- "description": "Legend text colour."
29955
- },
29956
- {
29957
- "name": "--c2-chart__legend--font-size",
29958
- "type": "font-size",
29959
- "default": "12px",
29960
- "part": "legend",
29961
- "property": "font-size",
29962
- "token": "--c2-theme--font-size-sm",
29963
- "description": "Legend font size."
29964
- },
29965
- {
29966
- "name": "--c2-chart__legend__disabled--opacity",
29967
- "type": "opacity",
29968
- "default": "0.38",
29969
- "part": "legend",
29970
- "state": "disabled",
29971
- "property": "opacity",
29972
- "token": "--c2-theme--disabled-opacity",
29973
- "description": "Opacity of a disabled entry."
29974
- },
30798
+ {
30799
+ "name": "--c2-chart__state--color",
30800
+ "type": "color",
30801
+ "default": "#71717a",
30802
+ "part": "state",
30803
+ "property": "color",
30804
+ "token": "--c2-theme--color-on-surface-variant",
30805
+ "description": "Colour of the empty, loading and error text."
30806
+ },
30807
+ {
30808
+ "name": "--c2-chart__state--font-size",
30809
+ "type": "font-size",
30810
+ "default": "14px",
30811
+ "part": "state",
30812
+ "property": "font-size",
30813
+ "token": "--c2-theme--font-size-md",
30814
+ "description": "Font size of the empty, loading and error text."
30815
+ }
30816
+ ]
30817
+ },
30818
+ {
30819
+ "tag": "c2-chart-series",
30820
+ "className": "ChartSeries",
30821
+ "modulePath": "@c2n/chart/chart-series.js",
30822
+ "description": "One series of a chart, declared as a light-DOM child. The element renders nothing: it is a definition\nthe chart reads, the same way `c2-table` reads its `c2-table-column` children. Everything it exposes as\nan attribute can also be set as a property, and `format` is property-only.\n\n```html\n<c2-line-chart x-field=\"month\" data='[{ \"month\": 1, \"revenue\": 120, \"cost\": 80 }]'>\n <c2-chart-series field=\"revenue\" label=\"Revenue\"></c2-chart-series>\n <c2-chart-series field=\"cost\" label=\"Cost\" color=\"#ea580c\"></c2-chart-series>\n</c2-line-chart>\n```",
30823
+ "attributes": [
30824
+ {
30825
+ "name": "field",
30826
+ "type": "string",
30827
+ "default": "''",
30828
+ "description": "Key of the value in the row object; may be a dotted path such as `stats.cpu`."
30829
+ },
30830
+ {
30831
+ "name": "label",
30832
+ "type": "string | undefined",
30833
+ "description": "Legend and tooltip label. Falls back to the field name."
30834
+ },
30835
+ {
30836
+ "name": "color",
30837
+ "type": "string | undefined",
30838
+ "description": "Explicit colour. Falls back to this series' slot in the chart's palette."
30839
+ },
30840
+ {
30841
+ "name": "line-width",
30842
+ "type": "number | undefined",
30843
+ "description": "Stroke width in pixels. Falls back to `--c2-chart__line--width`."
30844
+ },
30845
+ {
30846
+ "name": "axis",
30847
+ "type": "'left' | 'right'",
30848
+ "default": "'left'",
30849
+ "description": "Which y axis the series is drawn against."
30850
+ },
30851
+ {
30852
+ "name": "span-gaps",
30853
+ "type": "boolean",
30854
+ "default": "false",
30855
+ "description": "Joins across gaps instead of breaking the line."
30856
+ },
30857
+ {
30858
+ "name": "hidden",
30859
+ "type": "boolean",
30860
+ "default": "false",
30861
+ "description": "Leaves the series out of the chart without removing the definition."
30862
+ }
30863
+ ],
30864
+ "slots": [],
30865
+ "events": [],
30866
+ "cssParts": [],
30867
+ "cssProperties": []
30868
+ },
30869
+ {
30870
+ "tag": "c2-chart-legend",
30871
+ "className": "ChartLegend",
30872
+ "modulePath": "@c2n/chart/chart-legend.js",
30873
+ "description": "A legend linked to a chart by id. Place it anywhere in the document to control the legend's layout\nindependently from the chart.",
30874
+ "attributes": [
30875
+ {
30876
+ "name": "for",
30877
+ "type": "string",
30878
+ "default": "''",
30879
+ "description": "Id of the chart this element presents."
30880
+ }
30881
+ ],
30882
+ "slots": [
30883
+ {
30884
+ "name": "",
30885
+ "description": "Replaces the generated legend. Use `renderLegend` or `renderLegendItem` for data-driven custom content."
30886
+ }
30887
+ ],
30888
+ "events": [],
30889
+ "cssParts": [
30890
+ {
30891
+ "name": "item",
30892
+ "description": "One interactive legend entry."
30893
+ },
30894
+ {
30895
+ "name": "marker",
30896
+ "description": "The colour swatch inside an entry."
30897
+ }
30898
+ ],
30899
+ "cssProperties": [
30900
+ {
30901
+ "name": "--c2-chart__legend--gap",
30902
+ "type": "pixel",
30903
+ "default": "12px",
30904
+ "part": "legend",
30905
+ "property": "gap",
30906
+ "description": "Gap between legend entries."
30907
+ },
30908
+ {
30909
+ "name": "--c2-chart__legend--padding",
30910
+ "type": "padding",
30911
+ "default": "0",
30912
+ "part": "legend",
30913
+ "property": "padding",
30914
+ "description": "Padding around the legend."
30915
+ },
30916
+ {
30917
+ "name": "--c2-chart__legend--color",
30918
+ "type": "color",
30919
+ "default": "#71717a",
30920
+ "part": "legend",
30921
+ "property": "color",
30922
+ "token": "--c2-theme--color-on-surface-variant",
30923
+ "description": "Legend text colour."
30924
+ },
30925
+ {
30926
+ "name": "--c2-chart__legend--font-size",
30927
+ "type": "font-size",
30928
+ "default": "12px",
30929
+ "part": "legend",
30930
+ "property": "font-size",
30931
+ "token": "--c2-theme--font-size-sm",
30932
+ "description": "Legend font size."
30933
+ },
30934
+ {
30935
+ "name": "--c2-chart__legend__disabled--opacity",
30936
+ "type": "opacity",
30937
+ "default": "0.38",
30938
+ "part": "legend",
30939
+ "state": "disabled",
30940
+ "property": "opacity",
30941
+ "token": "--c2-theme--disabled-opacity",
30942
+ "description": "Opacity of a disabled entry."
30943
+ },
30944
+ {
30945
+ "name": "--c2-chart__legend-marker--size",
30946
+ "type": "pixel",
30947
+ "default": "10px",
30948
+ "part": "legend-marker",
30949
+ "property": "size",
30950
+ "description": "Size of the colour swatch."
30951
+ },
30952
+ {
30953
+ "name": "--c2-chart__legend-marker--border-radius",
30954
+ "type": "border-radius",
30955
+ "default": "999px",
30956
+ "part": "legend-marker",
30957
+ "property": "border-radius",
30958
+ "token": "--c2-theme--radius-full",
30959
+ "description": "Radius of the colour swatch."
30960
+ }
30961
+ ]
30962
+ },
30963
+ {
30964
+ "tag": "c2-chart-tooltip",
30965
+ "className": "ChartTooltip",
30966
+ "modulePath": "@c2n/chart/chart-tooltip.js",
30967
+ "description": "A tooltip linked to a chart by id. It can float beside the hovered point or render inline wherever it is\nplaced in the document.",
30968
+ "attributes": [
30969
+ {
30970
+ "name": "position",
30971
+ "type": "'floating' | 'inline'",
30972
+ "default": "'floating'",
30973
+ "description": "Whether the tooltip follows the hovered point or occupies its authored HTML position."
30974
+ },
30975
+ {
30976
+ "name": "placement",
30977
+ "type": "'top' | 'bottom' | 'start' | 'end'",
30978
+ "default": "'top'",
30979
+ "description": "Preferred side of the hovered point when `position=\"floating\"`. Flips at viewport edges."
30980
+ },
30981
+ {
30982
+ "name": "for",
30983
+ "type": "string",
30984
+ "default": "''",
30985
+ "description": "Id of the chart this element presents."
30986
+ }
30987
+ ],
30988
+ "slots": [
30989
+ {
30990
+ "name": "",
30991
+ "description": "Replaces the generated tooltip body. Use `renderTooltip` for data-driven custom content."
30992
+ }
30993
+ ],
30994
+ "events": [],
30995
+ "cssParts": [
30996
+ {
30997
+ "name": "bubble",
30998
+ "description": "The tooltip surface."
30999
+ }
31000
+ ],
31001
+ "cssProperties": [
31002
+ {
31003
+ "name": "--c2-chart__tooltip--background-color",
31004
+ "type": "color",
31005
+ "default": "#18181b",
31006
+ "part": "tooltip",
31007
+ "property": "background-color",
31008
+ "token": "--c2-theme--color-inverse-surface",
31009
+ "description": "Tooltip background."
31010
+ },
31011
+ {
31012
+ "name": "--c2-chart__tooltip--color",
31013
+ "type": "color",
31014
+ "default": "#fafafa",
31015
+ "part": "tooltip",
31016
+ "property": "color",
31017
+ "token": "--c2-theme--color-on-inverse-surface",
31018
+ "description": "Tooltip text colour."
31019
+ },
31020
+ {
31021
+ "name": "--c2-chart__tooltip--font-size",
31022
+ "type": "font-size",
31023
+ "default": "12px",
31024
+ "part": "tooltip",
31025
+ "property": "font-size",
31026
+ "token": "--c2-theme--font-size-sm",
31027
+ "description": "Tooltip font size."
31028
+ },
31029
+ {
31030
+ "name": "--c2-chart__tooltip--padding",
31031
+ "type": "padding",
31032
+ "default": "8px 10px",
31033
+ "part": "tooltip",
31034
+ "property": "padding",
31035
+ "description": "Tooltip padding."
31036
+ },
31037
+ {
31038
+ "name": "--c2-chart__tooltip--border-radius",
31039
+ "type": "border-radius",
31040
+ "default": "6px",
31041
+ "part": "tooltip",
31042
+ "property": "border-radius",
31043
+ "token": "--c2-theme--radius-md",
31044
+ "description": "Tooltip corner radius."
31045
+ },
31046
+ {
31047
+ "name": "--c2-chart__tooltip--box-shadow",
31048
+ "type": "box-shadow",
31049
+ "default": "0 8px 24px rgba(24, 24, 27, 0.08)",
31050
+ "part": "tooltip",
31051
+ "property": "box-shadow",
31052
+ "token": "--c2-theme--shadow-md",
31053
+ "description": "Tooltip shadow."
31054
+ },
31055
+ {
31056
+ "name": "--c2-chart__tooltip--gap",
31057
+ "type": "pixel",
31058
+ "default": "6px",
31059
+ "part": "tooltip",
31060
+ "property": "gap",
31061
+ "description": "Gap between tooltip rows."
31062
+ },
29975
31063
  {
29976
31064
  "name": "--c2-chart__legend-marker--size",
29977
31065
  "type": "pixel",
29978
31066
  "default": "10px",
29979
31067
  "part": "legend-marker",
29980
31068
  "property": "size",
29981
- "description": "Size of the colour swatch."
31069
+ "description": "Size of the colour swatch in a tooltip row."
29982
31070
  },
29983
31071
  {
29984
31072
  "name": "--c2-chart__legend-marker--border-radius",
@@ -29987,109 +31075,7 @@
29987
31075
  "part": "legend-marker",
29988
31076
  "property": "border-radius",
29989
31077
  "token": "--c2-theme--radius-full",
29990
- "description": "Radius of the colour swatch."
29991
- }
29992
- ]
29993
- },
29994
- {
29995
- "tag": "c2-chart-tooltip",
29996
- "className": "ChartTooltip",
29997
- "modulePath": "@c2n/chart/chart-tooltip.js",
29998
- "description": "A tooltip linked to a chart by id. It can float beside the hovered point or render inline wherever it is\nplaced in the document.",
29999
- "attributes": [
30000
- {
30001
- "name": "position",
30002
- "type": "'floating' | 'inline'",
30003
- "default": "'floating'",
30004
- "description": "Whether the tooltip follows the hovered point or occupies its authored HTML position."
30005
- },
30006
- {
30007
- "name": "placement",
30008
- "type": "'top' | 'bottom' | 'start' | 'end'",
30009
- "default": "'top'",
30010
- "description": "Preferred side of the hovered point when `position=\"floating\"`. Flips at viewport edges."
30011
- },
30012
- {
30013
- "name": "for",
30014
- "type": "string",
30015
- "default": "''",
30016
- "description": "Id of the chart this element presents."
30017
- }
30018
- ],
30019
- "slots": [
30020
- {
30021
- "name": "",
30022
- "description": "Replaces the generated tooltip body. Use `renderTooltip` for data-driven custom content."
30023
- }
30024
- ],
30025
- "events": [],
30026
- "cssParts": [
30027
- {
30028
- "name": "bubble",
30029
- "description": "The tooltip surface."
30030
- }
30031
- ],
30032
- "cssProperties": [
30033
- {
30034
- "name": "--c2-chart__tooltip--background-color",
30035
- "type": "color",
30036
- "default": "#18181b",
30037
- "part": "tooltip",
30038
- "property": "background-color",
30039
- "token": "--c2-theme--color-inverse-surface",
30040
- "description": "Tooltip background."
30041
- },
30042
- {
30043
- "name": "--c2-chart__tooltip--color",
30044
- "type": "color",
30045
- "default": "#fafafa",
30046
- "part": "tooltip",
30047
- "property": "color",
30048
- "token": "--c2-theme--color-on-inverse-surface",
30049
- "description": "Tooltip text colour."
30050
- },
30051
- {
30052
- "name": "--c2-chart__tooltip--font-size",
30053
- "type": "font-size",
30054
- "default": "12px",
30055
- "part": "tooltip",
30056
- "property": "font-size",
30057
- "token": "--c2-theme--font-size-sm",
30058
- "description": "Tooltip font size."
30059
- },
30060
- {
30061
- "name": "--c2-chart__tooltip--padding",
30062
- "type": "padding",
30063
- "default": "8px 10px",
30064
- "part": "tooltip",
30065
- "property": "padding",
30066
- "description": "Tooltip padding."
30067
- },
30068
- {
30069
- "name": "--c2-chart__tooltip--border-radius",
30070
- "type": "border-radius",
30071
- "default": "6px",
30072
- "part": "tooltip",
30073
- "property": "border-radius",
30074
- "token": "--c2-theme--radius-md",
30075
- "description": "Tooltip corner radius."
30076
- },
30077
- {
30078
- "name": "--c2-chart__tooltip--box-shadow",
30079
- "type": "box-shadow",
30080
- "default": "0 8px 24px rgba(24, 24, 27, 0.08)",
30081
- "part": "tooltip",
30082
- "property": "box-shadow",
30083
- "token": "--c2-theme--shadow-md",
30084
- "description": "Tooltip shadow."
30085
- },
30086
- {
30087
- "name": "--c2-chart__tooltip--gap",
30088
- "type": "pixel",
30089
- "default": "6px",
30090
- "part": "tooltip",
30091
- "property": "gap",
30092
- "description": "Gap between tooltip rows."
31078
+ "description": "Corner radius of a tooltip row's colour swatch."
30093
31079
  }
30094
31080
  ]
30095
31081
  }
@@ -34840,6 +35826,23 @@
34840
35826
  "part": "tooltip",
34841
35827
  "property": "gap",
34842
35828
  "description": "Gap between tooltip rows."
35829
+ },
35830
+ {
35831
+ "name": "--c2-chart__legend-marker--size",
35832
+ "type": "pixel",
35833
+ "default": "10px",
35834
+ "part": "legend-marker",
35835
+ "property": "size",
35836
+ "description": "Size of the colour swatch in a tooltip row."
35837
+ },
35838
+ {
35839
+ "name": "--c2-chart__legend-marker--border-radius",
35840
+ "type": "border-radius",
35841
+ "default": "999px",
35842
+ "part": "legend-marker",
35843
+ "property": "border-radius",
35844
+ "token": "--c2-theme--radius-full",
35845
+ "description": "Corner radius of a tooltip row's colour swatch."
34843
35846
  }
34844
35847
  ]
34845
35848
  }
@@ -39225,159 +40228,278 @@
39225
40228
  "property": "gap",
39226
40229
  "description": "Gap between tooltip rows."
39227
40230
  },
39228
- {
39229
- "name": "--c2-chart__state--color",
39230
- "type": "color",
39231
- "default": "#71717a",
39232
- "part": "state",
39233
- "property": "color",
39234
- "token": "--c2-theme--color-on-surface-variant",
39235
- "description": "Colour of the empty, loading and error text."
39236
- },
39237
- {
39238
- "name": "--c2-chart__state--font-size",
39239
- "type": "font-size",
39240
- "default": "14px",
39241
- "part": "state",
39242
- "property": "font-size",
39243
- "token": "--c2-theme--font-size-md",
39244
- "description": "Font size of the empty, loading and error text."
39245
- }
39246
- ]
39247
- },
39248
- {
39249
- "tag": "c2-chart-series",
39250
- "className": "ChartSeries",
39251
- "modulePath": "@c2n/chart/chart-series.js",
39252
- "description": "One series of a chart, declared as a light-DOM child. The element renders nothing: it is a definition\nthe chart reads, the same way `c2-table` reads its `c2-table-column` children. Everything it exposes as\nan attribute can also be set as a property, and `format` is property-only.\n\n```html\n<c2-line-chart x-field=\"month\" data='[{ \"month\": 1, \"revenue\": 120, \"cost\": 80 }]'>\n <c2-chart-series field=\"revenue\" label=\"Revenue\"></c2-chart-series>\n <c2-chart-series field=\"cost\" label=\"Cost\" color=\"#ea580c\"></c2-chart-series>\n</c2-line-chart>\n```",
39253
- "attributes": [
39254
- {
39255
- "name": "field",
39256
- "type": "string",
39257
- "default": "''",
39258
- "description": "Key of the value in the row object; may be a dotted path such as `stats.cpu`."
39259
- },
39260
- {
39261
- "name": "label",
39262
- "type": "string | undefined",
39263
- "description": "Legend and tooltip label. Falls back to the field name."
39264
- },
39265
- {
39266
- "name": "color",
39267
- "type": "string | undefined",
39268
- "description": "Explicit colour. Falls back to this series' slot in the chart's palette."
39269
- },
39270
- {
39271
- "name": "line-width",
39272
- "type": "number | undefined",
39273
- "description": "Stroke width in pixels. Falls back to `--c2-chart__line--width`."
39274
- },
39275
- {
39276
- "name": "axis",
39277
- "type": "'left' | 'right'",
39278
- "default": "'left'",
39279
- "description": "Which y axis the series is drawn against."
39280
- },
39281
- {
39282
- "name": "span-gaps",
39283
- "type": "boolean",
39284
- "default": "false",
39285
- "description": "Joins across gaps instead of breaking the line."
39286
- },
39287
- {
39288
- "name": "hidden",
39289
- "type": "boolean",
39290
- "default": "false",
39291
- "description": "Leaves the series out of the chart without removing the definition."
39292
- }
39293
- ],
39294
- "slots": [],
39295
- "events": [],
39296
- "cssParts": [],
39297
- "cssProperties": []
39298
- },
39299
- {
39300
- "tag": "c2-chart-legend",
39301
- "className": "ChartLegend",
39302
- "modulePath": "@c2n/chart/chart-legend.js",
39303
- "description": "A legend linked to a chart by id. Place it anywhere in the document to control the legend's layout\nindependently from the chart.",
39304
- "attributes": [
39305
- {
39306
- "name": "for",
39307
- "type": "string",
39308
- "default": "''",
39309
- "description": "Id of the chart this element presents."
39310
- }
39311
- ],
39312
- "slots": [
39313
- {
39314
- "name": "",
39315
- "description": "Replaces the generated legend. Use `renderLegend` or `renderLegendItem` for data-driven custom content."
39316
- }
39317
- ],
39318
- "events": [],
39319
- "cssParts": [
39320
- {
39321
- "name": "item",
39322
- "description": "One interactive legend entry."
39323
- },
39324
- {
39325
- "name": "marker",
39326
- "description": "The colour swatch inside an entry."
39327
- }
39328
- ],
39329
- "cssProperties": [
39330
- {
39331
- "name": "--c2-chart__legend--gap",
39332
- "type": "pixel",
39333
- "default": "12px",
39334
- "part": "legend",
39335
- "property": "gap",
39336
- "description": "Gap between legend entries."
39337
- },
39338
- {
39339
- "name": "--c2-chart__legend--padding",
39340
- "type": "padding",
39341
- "default": "0",
39342
- "part": "legend",
39343
- "property": "padding",
39344
- "description": "Padding around the legend."
39345
- },
39346
- {
39347
- "name": "--c2-chart__legend--color",
39348
- "type": "color",
39349
- "default": "#71717a",
39350
- "part": "legend",
39351
- "property": "color",
39352
- "token": "--c2-theme--color-on-surface-variant",
39353
- "description": "Legend text colour."
39354
- },
39355
- {
39356
- "name": "--c2-chart__legend--font-size",
39357
- "type": "font-size",
39358
- "default": "12px",
39359
- "part": "legend",
39360
- "property": "font-size",
39361
- "token": "--c2-theme--font-size-sm",
39362
- "description": "Legend font size."
39363
- },
39364
- {
39365
- "name": "--c2-chart__legend__disabled--opacity",
39366
- "type": "opacity",
39367
- "default": "0.38",
39368
- "part": "legend",
39369
- "state": "disabled",
39370
- "property": "opacity",
39371
- "token": "--c2-theme--disabled-opacity",
39372
- "description": "Opacity of a disabled entry."
39373
- },
40231
+ {
40232
+ "name": "--c2-chart__state--color",
40233
+ "type": "color",
40234
+ "default": "#71717a",
40235
+ "part": "state",
40236
+ "property": "color",
40237
+ "token": "--c2-theme--color-on-surface-variant",
40238
+ "description": "Colour of the empty, loading and error text."
40239
+ },
40240
+ {
40241
+ "name": "--c2-chart__state--font-size",
40242
+ "type": "font-size",
40243
+ "default": "14px",
40244
+ "part": "state",
40245
+ "property": "font-size",
40246
+ "token": "--c2-theme--font-size-md",
40247
+ "description": "Font size of the empty, loading and error text."
40248
+ }
40249
+ ]
40250
+ },
40251
+ {
40252
+ "tag": "c2-chart-series",
40253
+ "className": "ChartSeries",
40254
+ "modulePath": "@c2n/chart/chart-series.js",
40255
+ "description": "One series of a chart, declared as a light-DOM child. The element renders nothing: it is a definition\nthe chart reads, the same way `c2-table` reads its `c2-table-column` children. Everything it exposes as\nan attribute can also be set as a property, and `format` is property-only.\n\n```html\n<c2-line-chart x-field=\"month\" data='[{ \"month\": 1, \"revenue\": 120, \"cost\": 80 }]'>\n <c2-chart-series field=\"revenue\" label=\"Revenue\"></c2-chart-series>\n <c2-chart-series field=\"cost\" label=\"Cost\" color=\"#ea580c\"></c2-chart-series>\n</c2-line-chart>\n```",
40256
+ "attributes": [
40257
+ {
40258
+ "name": "field",
40259
+ "type": "string",
40260
+ "default": "''",
40261
+ "description": "Key of the value in the row object; may be a dotted path such as `stats.cpu`."
40262
+ },
40263
+ {
40264
+ "name": "label",
40265
+ "type": "string | undefined",
40266
+ "description": "Legend and tooltip label. Falls back to the field name."
40267
+ },
40268
+ {
40269
+ "name": "color",
40270
+ "type": "string | undefined",
40271
+ "description": "Explicit colour. Falls back to this series' slot in the chart's palette."
40272
+ },
40273
+ {
40274
+ "name": "line-width",
40275
+ "type": "number | undefined",
40276
+ "description": "Stroke width in pixels. Falls back to `--c2-chart__line--width`."
40277
+ },
40278
+ {
40279
+ "name": "axis",
40280
+ "type": "'left' | 'right'",
40281
+ "default": "'left'",
40282
+ "description": "Which y axis the series is drawn against."
40283
+ },
40284
+ {
40285
+ "name": "span-gaps",
40286
+ "type": "boolean",
40287
+ "default": "false",
40288
+ "description": "Joins across gaps instead of breaking the line."
40289
+ },
40290
+ {
40291
+ "name": "hidden",
40292
+ "type": "boolean",
40293
+ "default": "false",
40294
+ "description": "Leaves the series out of the chart without removing the definition."
40295
+ }
40296
+ ],
40297
+ "slots": [],
40298
+ "events": [],
40299
+ "cssParts": [],
40300
+ "cssProperties": []
40301
+ },
40302
+ {
40303
+ "tag": "c2-chart-legend",
40304
+ "className": "ChartLegend",
40305
+ "modulePath": "@c2n/chart/chart-legend.js",
40306
+ "description": "A legend linked to a chart by id. Place it anywhere in the document to control the legend's layout\nindependently from the chart.",
40307
+ "attributes": [
40308
+ {
40309
+ "name": "for",
40310
+ "type": "string",
40311
+ "default": "''",
40312
+ "description": "Id of the chart this element presents."
40313
+ }
40314
+ ],
40315
+ "slots": [
40316
+ {
40317
+ "name": "",
40318
+ "description": "Replaces the generated legend. Use `renderLegend` or `renderLegendItem` for data-driven custom content."
40319
+ }
40320
+ ],
40321
+ "events": [],
40322
+ "cssParts": [
40323
+ {
40324
+ "name": "item",
40325
+ "description": "One interactive legend entry."
40326
+ },
40327
+ {
40328
+ "name": "marker",
40329
+ "description": "The colour swatch inside an entry."
40330
+ }
40331
+ ],
40332
+ "cssProperties": [
40333
+ {
40334
+ "name": "--c2-chart__legend--gap",
40335
+ "type": "pixel",
40336
+ "default": "12px",
40337
+ "part": "legend",
40338
+ "property": "gap",
40339
+ "description": "Gap between legend entries."
40340
+ },
40341
+ {
40342
+ "name": "--c2-chart__legend--padding",
40343
+ "type": "padding",
40344
+ "default": "0",
40345
+ "part": "legend",
40346
+ "property": "padding",
40347
+ "description": "Padding around the legend."
40348
+ },
40349
+ {
40350
+ "name": "--c2-chart__legend--color",
40351
+ "type": "color",
40352
+ "default": "#71717a",
40353
+ "part": "legend",
40354
+ "property": "color",
40355
+ "token": "--c2-theme--color-on-surface-variant",
40356
+ "description": "Legend text colour."
40357
+ },
40358
+ {
40359
+ "name": "--c2-chart__legend--font-size",
40360
+ "type": "font-size",
40361
+ "default": "12px",
40362
+ "part": "legend",
40363
+ "property": "font-size",
40364
+ "token": "--c2-theme--font-size-sm",
40365
+ "description": "Legend font size."
40366
+ },
40367
+ {
40368
+ "name": "--c2-chart__legend__disabled--opacity",
40369
+ "type": "opacity",
40370
+ "default": "0.38",
40371
+ "part": "legend",
40372
+ "state": "disabled",
40373
+ "property": "opacity",
40374
+ "token": "--c2-theme--disabled-opacity",
40375
+ "description": "Opacity of a disabled entry."
40376
+ },
40377
+ {
40378
+ "name": "--c2-chart__legend-marker--size",
40379
+ "type": "pixel",
40380
+ "default": "10px",
40381
+ "part": "legend-marker",
40382
+ "property": "size",
40383
+ "description": "Size of the colour swatch."
40384
+ },
40385
+ {
40386
+ "name": "--c2-chart__legend-marker--border-radius",
40387
+ "type": "border-radius",
40388
+ "default": "999px",
40389
+ "part": "legend-marker",
40390
+ "property": "border-radius",
40391
+ "token": "--c2-theme--radius-full",
40392
+ "description": "Radius of the colour swatch."
40393
+ }
40394
+ ]
40395
+ },
40396
+ {
40397
+ "tag": "c2-chart-tooltip",
40398
+ "className": "ChartTooltip",
40399
+ "modulePath": "@c2n/chart/chart-tooltip.js",
40400
+ "description": "A tooltip linked to a chart by id. It can float beside the hovered point or render inline wherever it is\nplaced in the document.",
40401
+ "attributes": [
40402
+ {
40403
+ "name": "position",
40404
+ "type": "'floating' | 'inline'",
40405
+ "default": "'floating'",
40406
+ "description": "Whether the tooltip follows the hovered point or occupies its authored HTML position."
40407
+ },
40408
+ {
40409
+ "name": "placement",
40410
+ "type": "'top' | 'bottom' | 'start' | 'end'",
40411
+ "default": "'top'",
40412
+ "description": "Preferred side of the hovered point when `position=\"floating\"`. Flips at viewport edges."
40413
+ },
40414
+ {
40415
+ "name": "for",
40416
+ "type": "string",
40417
+ "default": "''",
40418
+ "description": "Id of the chart this element presents."
40419
+ }
40420
+ ],
40421
+ "slots": [
40422
+ {
40423
+ "name": "",
40424
+ "description": "Replaces the generated tooltip body. Use `renderTooltip` for data-driven custom content."
40425
+ }
40426
+ ],
40427
+ "events": [],
40428
+ "cssParts": [
40429
+ {
40430
+ "name": "bubble",
40431
+ "description": "The tooltip surface."
40432
+ }
40433
+ ],
40434
+ "cssProperties": [
40435
+ {
40436
+ "name": "--c2-chart__tooltip--background-color",
40437
+ "type": "color",
40438
+ "default": "#18181b",
40439
+ "part": "tooltip",
40440
+ "property": "background-color",
40441
+ "token": "--c2-theme--color-inverse-surface",
40442
+ "description": "Tooltip background."
40443
+ },
40444
+ {
40445
+ "name": "--c2-chart__tooltip--color",
40446
+ "type": "color",
40447
+ "default": "#fafafa",
40448
+ "part": "tooltip",
40449
+ "property": "color",
40450
+ "token": "--c2-theme--color-on-inverse-surface",
40451
+ "description": "Tooltip text colour."
40452
+ },
40453
+ {
40454
+ "name": "--c2-chart__tooltip--font-size",
40455
+ "type": "font-size",
40456
+ "default": "12px",
40457
+ "part": "tooltip",
40458
+ "property": "font-size",
40459
+ "token": "--c2-theme--font-size-sm",
40460
+ "description": "Tooltip font size."
40461
+ },
40462
+ {
40463
+ "name": "--c2-chart__tooltip--padding",
40464
+ "type": "padding",
40465
+ "default": "8px 10px",
40466
+ "part": "tooltip",
40467
+ "property": "padding",
40468
+ "description": "Tooltip padding."
40469
+ },
40470
+ {
40471
+ "name": "--c2-chart__tooltip--border-radius",
40472
+ "type": "border-radius",
40473
+ "default": "6px",
40474
+ "part": "tooltip",
40475
+ "property": "border-radius",
40476
+ "token": "--c2-theme--radius-md",
40477
+ "description": "Tooltip corner radius."
40478
+ },
40479
+ {
40480
+ "name": "--c2-chart__tooltip--box-shadow",
40481
+ "type": "box-shadow",
40482
+ "default": "0 8px 24px rgba(24, 24, 27, 0.08)",
40483
+ "part": "tooltip",
40484
+ "property": "box-shadow",
40485
+ "token": "--c2-theme--shadow-md",
40486
+ "description": "Tooltip shadow."
40487
+ },
40488
+ {
40489
+ "name": "--c2-chart__tooltip--gap",
40490
+ "type": "pixel",
40491
+ "default": "6px",
40492
+ "part": "tooltip",
40493
+ "property": "gap",
40494
+ "description": "Gap between tooltip rows."
40495
+ },
39374
40496
  {
39375
40497
  "name": "--c2-chart__legend-marker--size",
39376
40498
  "type": "pixel",
39377
40499
  "default": "10px",
39378
40500
  "part": "legend-marker",
39379
40501
  "property": "size",
39380
- "description": "Size of the colour swatch."
40502
+ "description": "Size of the colour swatch in a tooltip row."
39381
40503
  },
39382
40504
  {
39383
40505
  "name": "--c2-chart__legend-marker--border-radius",
@@ -39386,109 +40508,7 @@
39386
40508
  "part": "legend-marker",
39387
40509
  "property": "border-radius",
39388
40510
  "token": "--c2-theme--radius-full",
39389
- "description": "Radius of the colour swatch."
39390
- }
39391
- ]
39392
- },
39393
- {
39394
- "tag": "c2-chart-tooltip",
39395
- "className": "ChartTooltip",
39396
- "modulePath": "@c2n/chart/chart-tooltip.js",
39397
- "description": "A tooltip linked to a chart by id. It can float beside the hovered point or render inline wherever it is\nplaced in the document.",
39398
- "attributes": [
39399
- {
39400
- "name": "position",
39401
- "type": "'floating' | 'inline'",
39402
- "default": "'floating'",
39403
- "description": "Whether the tooltip follows the hovered point or occupies its authored HTML position."
39404
- },
39405
- {
39406
- "name": "placement",
39407
- "type": "'top' | 'bottom' | 'start' | 'end'",
39408
- "default": "'top'",
39409
- "description": "Preferred side of the hovered point when `position=\"floating\"`. Flips at viewport edges."
39410
- },
39411
- {
39412
- "name": "for",
39413
- "type": "string",
39414
- "default": "''",
39415
- "description": "Id of the chart this element presents."
39416
- }
39417
- ],
39418
- "slots": [
39419
- {
39420
- "name": "",
39421
- "description": "Replaces the generated tooltip body. Use `renderTooltip` for data-driven custom content."
39422
- }
39423
- ],
39424
- "events": [],
39425
- "cssParts": [
39426
- {
39427
- "name": "bubble",
39428
- "description": "The tooltip surface."
39429
- }
39430
- ],
39431
- "cssProperties": [
39432
- {
39433
- "name": "--c2-chart__tooltip--background-color",
39434
- "type": "color",
39435
- "default": "#18181b",
39436
- "part": "tooltip",
39437
- "property": "background-color",
39438
- "token": "--c2-theme--color-inverse-surface",
39439
- "description": "Tooltip background."
39440
- },
39441
- {
39442
- "name": "--c2-chart__tooltip--color",
39443
- "type": "color",
39444
- "default": "#fafafa",
39445
- "part": "tooltip",
39446
- "property": "color",
39447
- "token": "--c2-theme--color-on-inverse-surface",
39448
- "description": "Tooltip text colour."
39449
- },
39450
- {
39451
- "name": "--c2-chart__tooltip--font-size",
39452
- "type": "font-size",
39453
- "default": "12px",
39454
- "part": "tooltip",
39455
- "property": "font-size",
39456
- "token": "--c2-theme--font-size-sm",
39457
- "description": "Tooltip font size."
39458
- },
39459
- {
39460
- "name": "--c2-chart__tooltip--padding",
39461
- "type": "padding",
39462
- "default": "8px 10px",
39463
- "part": "tooltip",
39464
- "property": "padding",
39465
- "description": "Tooltip padding."
39466
- },
39467
- {
39468
- "name": "--c2-chart__tooltip--border-radius",
39469
- "type": "border-radius",
39470
- "default": "6px",
39471
- "part": "tooltip",
39472
- "property": "border-radius",
39473
- "token": "--c2-theme--radius-md",
39474
- "description": "Tooltip corner radius."
39475
- },
39476
- {
39477
- "name": "--c2-chart__tooltip--box-shadow",
39478
- "type": "box-shadow",
39479
- "default": "0 8px 24px rgba(24, 24, 27, 0.08)",
39480
- "part": "tooltip",
39481
- "property": "box-shadow",
39482
- "token": "--c2-theme--shadow-md",
39483
- "description": "Tooltip shadow."
39484
- },
39485
- {
39486
- "name": "--c2-chart__tooltip--gap",
39487
- "type": "pixel",
39488
- "default": "6px",
39489
- "part": "tooltip",
39490
- "property": "gap",
39491
- "description": "Gap between tooltip rows."
40511
+ "description": "Corner radius of a tooltip row's colour swatch."
39492
40512
  }
39493
40513
  ]
39494
40514
  }
@@ -41128,7 +42148,7 @@
41128
42148
  {
41129
42149
  "name": "--c2-step__row--indent",
41130
42150
  "type": "pixel",
41131
- "default": "marker size + row gap",
42151
+ "default": "calc(var(--c2-step__marker--size, 16px) + var(--c2-step__row--gap, 10px))",
41132
42152
  "part": "row",
41133
42153
  "property": "indent",
41134
42154
  "description": "Extra inset per level of nesting. The default puts a sub-step's marker under its parent's label, which is what makes the nesting read without drawing anything."
@@ -42004,9 +43024,10 @@
42004
43024
  {
42005
43025
  "name": "--c2-switch__thumb--size",
42006
43026
  "type": "pixel",
42007
- "default": "16px",
43027
+ "default": "calc(var(--c2-switch__track--height,20px)-2*var(--c2-switch__thumb--offset,2px))",
42008
43028
  "part": "thumb",
42009
- "property": "size"
43029
+ "property": "size",
43030
+ "description": "Defaults to the track height minus the offset on both edges."
42010
43031
  },
42011
43032
  {
42012
43033
  "name": "--c2-switch__thumb--offset",
@@ -43892,6 +44913,12 @@
43892
44913
  "modulePath": "@c2n/tabs",
43893
44914
  "description": "Tab strip that shows one content panel at a time.\n\nLight-DOM children are split in two groups: every `<c2-tab for=\"…\">` becomes a tab in the header\n(they slot themselves into `tab`), every other child is a panel whose `id` matches a tab's `for`.\nOnly the panel of the selected tab is rendered. The header is a `tablist`: Arrow keys, Home and\nEnd move between tabs, Enter and Space activate the focused one.",
43894
44915
  "attributes": [
44916
+ {
44917
+ "name": "aria-label",
44918
+ "type": "string | null",
44919
+ "default": "null",
44920
+ "description": "Accessible name for the tab list."
44921
+ },
43895
44922
  {
43896
44923
  "name": "selected-tab",
43897
44924
  "type": "string",
@@ -43921,7 +44948,7 @@
43921
44948
  {
43922
44949
  "name": "--c2-tabs--box-shadow",
43923
44950
  "type": "box-shadow",
43924
- "default": "inset 0px -2px 0px 0px rgb(230, 230, 230)",
44951
+ "default": "inset 0px -2px 0px 0px rgb(213, 213, 213)",
43925
44952
  "part": "",
43926
44953
  "property": "box-shadow",
43927
44954
  "token": "--c2-theme--color-outline-variant"
@@ -49969,7 +50996,8 @@
49969
50996
  ],
49970
50997
  "composition": {
49971
50998
  "internal": [
49972
- "c2-attachment, c2-button"
50999
+ "c2-attachment",
51000
+ "c2-button"
49973
51001
  ],
49974
51002
  "slotted": [],
49975
51003
  "usedBy": []
@@ -50853,6 +51881,9 @@
50853
51881
  "c2-link-button": "link-button",
50854
51882
  "c2-list": "list",
50855
51883
  "c2-list-item": "list-item",
51884
+ "c2-log-viewer": "log-viewer",
51885
+ "c2-masonry": "masonry",
51886
+ "c2-masonry-item": "masonry",
50856
51887
  "c2-mat-icon": "mat-icon",
50857
51888
  "c2-menu": "menu",
50858
51889
  "c2-menu-item": "menu",
@@ -50937,6 +51968,8 @@
50937
51968
  "@c2n/link-button": "link-button",
50938
51969
  "@c2n/list": "list",
50939
51970
  "@c2n/list-item": "list-item",
51971
+ "@c2n/log-viewer": "log-viewer",
51972
+ "@c2n/masonry": "masonry",
50940
51973
  "@c2n/mat-icon": "mat-icon",
50941
51974
  "@c2n/menu": "menu",
50942
51975
  "@c2n/modal": "modal",
@@ -50990,7 +52023,7 @@
50990
52023
  "light": "#0265dc",
50991
52024
  "dark": "#5aa3ff",
50992
52025
  "description": "Accent colour: filled buttons, selected states, focused borders, links.",
50993
- "usedBy": 57
52026
+ "usedBy": 59
50994
52027
  },
50995
52028
  {
50996
52029
  "name": "--c2-theme--color-primary-hover",
@@ -51038,7 +52071,7 @@
51038
52071
  "light": "#ffffff",
51039
52072
  "dark": "#18181b",
51040
52073
  "description": "Default surface of inputs, lists, cards, dialogs.",
51041
- "usedBy": 49
52074
+ "usedBy": 47
51042
52075
  },
51043
52076
  {
51044
52077
  "name": "--c2-theme--color-surface-container-low",
@@ -51046,7 +52079,7 @@
51046
52079
  "light": "#fafafa",
51047
52080
  "dark": "#1f1f23",
51048
52081
  "description": "Slightly raised surface: side navigation, read-only fields, subtle hover.",
51049
- "usedBy": 13
52082
+ "usedBy": 14
51050
52083
  },
51051
52084
  {
51052
52085
  "name": "--c2-theme--color-surface-container",
@@ -51062,7 +52095,7 @@
51062
52095
  "light": "#18181b",
51063
52096
  "dark": "#f4f4f5",
51064
52097
  "description": "Primary text colour.",
51065
- "usedBy": 63
52098
+ "usedBy": 64
51066
52099
  },
51067
52100
  {
51068
52101
  "name": "--c2-theme--color-on-surface-variant",
@@ -51086,7 +52119,7 @@
51086
52119
  "light": "#e4e4e7",
51087
52120
  "dark": "#27272a",
51088
52121
  "description": "Hairline dividers and light borders.",
51089
- "usedBy": 79
52122
+ "usedBy": 74
51090
52123
  },
51091
52124
  {
51092
52125
  "name": "--c2-theme--color-outline-strong",
@@ -51175,14 +52208,14 @@
51175
52208
  "category": "radius",
51176
52209
  "light": "6px",
51177
52210
  "description": "Default radius: buttons, inputs, list items, tooltips.",
51178
- "usedBy": 51
52211
+ "usedBy": 53
51179
52212
  },
51180
52213
  {
51181
52214
  "name": "--c2-theme--radius-lg",
51182
52215
  "category": "radius",
51183
52216
  "light": "8px",
51184
52217
  "description": "Large radius: cards, panels, popovers.",
51185
- "usedBy": 72
52218
+ "usedBy": 71
51186
52219
  },
51187
52220
  {
51188
52221
  "name": "--c2-theme--radius-xl",
@@ -51210,7 +52243,7 @@
51210
52243
  "category": "border",
51211
52244
  "light": null,
51212
52245
  "description": "Complete resting border shorthand. Unset by default: it falls back to `border-width solid color-outline`.",
51213
- "usedBy": 48
52246
+ "usedBy": 50
51214
52247
  },
51215
52248
  {
51216
52249
  "name": "--c2-theme--focus-ring",
@@ -51218,7 +52251,7 @@
51218
52251
  "light": "2px solid rgba(2, 101, 220, 0.4)",
51219
52252
  "dark": "2px solid rgba(90, 163, 255, 0.5)",
51220
52253
  "description": "Focus-visible outline of every component.",
51221
- "usedBy": 39
52254
+ "usedBy": 40
51222
52255
  },
51223
52256
  {
51224
52257
  "name": "--c2-theme--disabled-opacity",
@@ -51240,7 +52273,7 @@
51240
52273
  "light": "0 8px 24px rgba(24, 24, 27, 0.08)",
51241
52274
  "dark": "0 8px 24px rgba(0, 0, 0, 0.45)",
51242
52275
  "description": "Shadow of popovers, menus and tooltips.",
51243
- "usedBy": 10
52276
+ "usedBy": 11
51244
52277
  },
51245
52278
  {
51246
52279
  "name": "--c2-theme--shadow-lg",
@@ -51537,12 +52570,12 @@
51537
52570
  "--c2-chatbot--border-top-right-radius": "--c2-theme--radius-lg",
51538
52571
  "--c2-chatbot--border-bottom-left-radius": "--c2-theme--radius-lg",
51539
52572
  "--c2-chatbot--border-bottom-right-radius": "--c2-theme--radius-lg",
51540
- "--c2-chatbot--border-top": "--c2-theme--color-outline-variant",
51541
- "--c2-chatbot--border-right": "--c2-theme--color-outline-variant",
51542
- "--c2-chatbot--border-bottom": "--c2-theme--color-outline-variant",
51543
- "--c2-chatbot--border-left": "--c2-theme--color-outline-variant",
51544
- "--c2-chatbot__header--background": "--c2-theme--color-surface",
51545
- "--c2-chatbot__header--border-bottom": "--c2-theme--color-outline-variant",
52573
+ "--c2-chatbot--border-top": "--c2-theme--border",
52574
+ "--c2-chatbot--border-right": "--c2-theme--border",
52575
+ "--c2-chatbot--border-bottom": "--c2-theme--border",
52576
+ "--c2-chatbot--border-left": "--c2-theme--border",
52577
+ "--c2-chatbot__header--background": "--c2-theme--color-surface-container-low",
52578
+ "--c2-chatbot__header--border-bottom": "--c2-theme--border",
51546
52579
  "--c2-checkbox__container--border-top-left-radius": "--c2-theme--radius-sm",
51547
52580
  "--c2-checkbox__container--border-top-right-radius": "--c2-theme--radius-sm",
51548
52581
  "--c2-checkbox__container--border-bottom-left-radius": "--c2-theme--radius-sm",
@@ -51593,7 +52626,6 @@
51593
52626
  "--c2-code-viewer--border-bottom-right-radius": "--c2-theme--radius-lg",
51594
52627
  "--c2-code-viewer__header--font-size": "--c2-theme--font-size-sm",
51595
52628
  "--c2-code-viewer__copy--border-radius": "--c2-theme--radius-md",
51596
- "--c2-color-select__popover--background-color": "--c2-theme--color-surface",
51597
52629
  "--c2-color-select__popover--border-top": "--c2-theme--border",
51598
52630
  "--c2-color-select__popover--border-right": "--c2-theme--border",
51599
52631
  "--c2-color-select__popover--border-bottom": "--c2-theme--border",
@@ -51607,15 +52639,11 @@
51607
52639
  "--c2-color-select__color__sample--border-bottom": "--c2-theme--border",
51608
52640
  "--c2-color-select__color__sample--border-left": "--c2-theme--border",
51609
52641
  "--c2-color-select__color__sample--border-radius": "--c2-theme--radius-sm",
51610
- "--c2-color-slider--border-radius": "--c2-theme--radius-lg",
51611
52642
  "--c2-color-slider--border-top-left-radius": "--c2-theme--radius-lg",
51612
52643
  "--c2-color-slider--border-top-right-radius": "--c2-theme--radius-lg",
51613
52644
  "--c2-color-slider--border-bottom-left-radius": "--c2-theme--radius-lg",
51614
52645
  "--c2-color-slider--border-bottom-right-radius": "--c2-theme--radius-lg",
51615
- "--c2-color-slider--border-top": "--c2-theme--border",
51616
- "--c2-color-slider--border-right": "--c2-theme--border",
51617
- "--c2-color-slider--border-bottom": "--c2-theme--border",
51618
- "--c2-color-slider--borde-leftr": "--c2-theme--border",
52646
+ "--c2-color-slider--border-left": "--c2-theme--border",
51619
52647
  "--c2-color-slider__color-handle--border-top-left-radius": "--c2-theme--radius-md",
51620
52648
  "--c2-color-slider__color-handle--border-top-right-radius": "--c2-theme--radius-md",
51621
52649
  "--c2-color-slider__color-handle--border-bottom-left-radius": "--c2-theme--radius-md",
@@ -51744,6 +52772,13 @@
51744
52772
  "--c2-list-item__selected__hover--background": "--c2-theme--color-primary-container",
51745
52773
  "--c2-list-item__focus--outline": "--c2-theme--focus-ring",
51746
52774
  "--c2-list-item__disabled--opacity": "--c2-theme--disabled-opacity",
52775
+ "--c2-masonry__placeholder--background": "--c2-theme--color-primary",
52776
+ "--c2-masonry__placeholder--border": "--c2-theme--color-primary",
52777
+ "--c2-masonry__placeholder--border-radius": "--c2-theme--radius-md",
52778
+ "--c2-masonry-item__handle--color": "--c2-theme--color-on-surface",
52779
+ "--c2-masonry-item__handle--border-radius": "--c2-theme--radius-md",
52780
+ "--c2-masonry-item__handle__focus--outline": "--c2-theme--focus-ring",
52781
+ "--c2-masonry-item__dragging--box-shadow": "--c2-theme--shadow-md",
51747
52782
  "--c2-menu--background": "--c2-theme--color-surface",
51748
52783
  "--c2-menu--border-top": "--c2-theme--color-outline-variant",
51749
52784
  "--c2-menu--border-right": "--c2-theme--color-outline-variant",