@c2n/framework-types 0.0.8 → 0.0.10

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1.1,
3
- "$comment": "GENERATED by @c2n/framework-types@0.0.8. Do not edit by hand.",
3
+ "$comment": "GENERATED by @c2n/framework-types@0.0.10. Do not edit by hand.",
4
4
  "tags": [
5
5
  {
6
6
  "name": "c2-accordion",
@@ -251,6 +251,46 @@
251
251
  {
252
252
  "name": "status",
253
253
  "description": "Presence dot in the bottom-right corner.\n\nDefault: `undefined`"
254
+ },
255
+ {
256
+ "name": "editable",
257
+ "description": "Allows the avatar to open an image picker and exposes a remove action for the current image.\n\nDefault: `false`"
258
+ },
259
+ {
260
+ "name": "disabled",
261
+ "description": "Disables editable avatar actions.\n\nDefault: `false`"
262
+ },
263
+ {
264
+ "name": "accept",
265
+ "description": "Accepted image MIME types or file extensions, using native file-input syntax.\n\nDefault: `'image/*'`"
266
+ },
267
+ {
268
+ "name": "max-size",
269
+ "description": "Maximum accepted image size in bytes. Zero means unlimited.\n\nDefault: `0`"
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "name": "c2-avatar-group",
275
+ "description": "Responsive stack of `c2-avatar` elements. It observes its rendered width and each avatar's actual size, then hides\nthe avatars that no longer fit and replaces them with a count. The host fills the available inline space up to\n`--c2-avatar-group--max-width`, so it also reacts when its parent becomes narrower.\n\n`@c2n/avatar`",
276
+ "references": [
277
+ {
278
+ "name": "@c2n/avatar on npm",
279
+ "url": "https://www.npmjs.com/package/@c2n/avatar"
280
+ }
281
+ ],
282
+ "attributes": [
283
+ {
284
+ "name": "max-visible",
285
+ "description": "Optional hard cap in addition to the automatically calculated responsive limit. Zero means no hard cap.\n\nDefault: `0`"
286
+ },
287
+ {
288
+ "name": "count-mode",
289
+ "description": "Whether the overflow indicator shows `+hidden` or the total number of avatars.\n\nDefault: `'hidden'`"
290
+ },
291
+ {
292
+ "name": "aria-label",
293
+ "description": "Accessible name for the group.\n\nDefault: `'Avatar group'`"
254
294
  }
255
295
  ]
256
296
  },
@@ -298,6 +338,34 @@
298
338
  }
299
339
  ]
300
340
  },
341
+ {
342
+ "name": "c2-border-beam",
343
+ "description": "Decorative overlay that sends one or more soft highlights around the border of its containing block. Place it as\na direct child of a positioned container. The component inherits the container radius and uses a border mask, so\nthe highlight sits on the real border instead of drawing a second, offset outline.\n\n`@c2n/border-beam`",
344
+ "references": [
345
+ {
346
+ "name": "@c2n/border-beam on npm",
347
+ "url": "https://www.npmjs.com/package/@c2n/border-beam"
348
+ }
349
+ ],
350
+ "attributes": [
351
+ {
352
+ "name": "count",
353
+ "description": "Number of beams distributed evenly around the perimeter.\n\nDefault: `1`"
354
+ },
355
+ {
356
+ "name": "side",
357
+ "description": "Border followed by the beam. `all` loops around the perimeter; one edge moves forward then backward.\n\nDefault: `'all'`"
358
+ },
359
+ {
360
+ "name": "reverse",
361
+ "description": "Sends the beams around the perimeter in the opposite direction.\n\nDefault: `false`"
362
+ },
363
+ {
364
+ "name": "paused",
365
+ "description": "Freezes the beams at their current positions.\n\nDefault: `false`"
366
+ }
367
+ ]
368
+ },
301
369
  {
302
370
  "name": "c2-breadcrumb",
303
371
  "description": "Navigation trail. Every light-DOM child is one item, typically a `c2-link-button` with an `href`, and the last one\nis the current page: it is marked `aria-current=\"page\"` (through `selected` on a link button) and styled as text.\nA separator is drawn between items, a chevron by default or whatever is placed in the `separator` slot. The trail\nstays on one row: when the items do not fit the available width, some collapse behind an ellipsis, in priority\norder: the current page is always shown, then the first item, then the items closest to the current page while room\nremains. `max-items` caps how many are shown even when there is room. Clicking the ellipsis reveals every item\n(wrapping if needed).\n\n`@c2n/breadcrumb`",
@@ -348,7 +416,7 @@
348
416
  },
349
417
  {
350
418
  "name": "c2-button-group",
351
- "description": "Attaches related buttons into one control: shared borders, outside corners only, a divider between items. Children\nare `c2-button` or `c2-icon-button` elements (any element works for layout). With `selection=\"single\"` the group is\na segmented control that keeps one item pressed; with `selection=\"multiple\"` each item toggles independently. The\npressed items carry `selected` (and `aria-pressed`), the group reports them in `value` and fires `change`.\n\n`@c2n/button-group`",
419
+ "description": "Attaches related buttons into one control: shared borders, outside corners only, a divider between items. Children\nare `c2-button` or `c2-icon-button` elements (any element works for layout). With `selection=\"single\"` the group is\na segmented control that keeps one item pressed; with `selection=\"multiple\"` each item toggles independently. Set\n`orientation=\"vertical\"` to stack either appearance and use Up/Down keyboard navigation. The\npressed items carry `selected` (and `aria-pressed`), the group reports them in `value` and fires `change`.\n\n`@c2n/button-group`",
352
420
  "references": [
353
421
  {
354
422
  "name": "@c2n/button-group on npm",
@@ -372,6 +440,18 @@
372
440
  "name": "orientation",
373
441
  "description": "Stacks the items vertically.\n\nDefault: `'horizontal'`"
374
442
  },
443
+ {
444
+ "name": "appearance",
445
+ "description": "`segmented` adds an inset track and sliding selected surface and always uses single selection.\n\nDefault: `'joined'`"
446
+ },
447
+ {
448
+ "name": "size",
449
+ "description": "Segmented control size.\n\nDefault: `'m'`"
450
+ },
451
+ {
452
+ "name": "stretched",
453
+ "description": "Makes the group and every item share the available width.\n\nDefault: `false`"
454
+ },
375
455
  {
376
456
  "name": "aria-label",
377
457
  "description": "Accessible name of the group."
@@ -410,6 +490,74 @@
410
490
  }
411
491
  ]
412
492
  },
493
+ {
494
+ "name": "c2-cascader",
495
+ "description": "Hierarchical single-value picker that opens every active level in one floating panel. Supply nested `options`, then\nread the selected value path from `value`. Branches open another column; choosing a leaf commits the path.\n\n`@c2n/cascader`",
496
+ "references": [
497
+ {
498
+ "name": "@c2n/cascader on npm",
499
+ "url": "https://www.npmjs.com/package/@c2n/cascader"
500
+ }
501
+ ],
502
+ "attributes": [
503
+ {
504
+ "name": "options",
505
+ "description": "Nested hierarchy shown in the floating panel. In markup this is a JSON array.\n\nDefault: `[]`"
506
+ },
507
+ {
508
+ "name": "value",
509
+ "description": "Selected value path. In markup, separate levels with semicolons.\n\nDefault: `[]`"
510
+ },
511
+ {
512
+ "name": "name",
513
+ "description": "Name used when the cascader participates in a form.\n\nDefault: `''`"
514
+ },
515
+ {
516
+ "name": "placeholder",
517
+ "description": "Text shown before a path is selected.\n\nDefault: `'Please select'`"
518
+ },
519
+ {
520
+ "name": "separator",
521
+ "description": "String placed between selected labels in the trigger.\n\nDefault: `' / '`"
522
+ },
523
+ {
524
+ "name": "aria-label",
525
+ "description": "Accessible name forwarded to the trigger and option tree.\n\nDefault: `null`"
526
+ },
527
+ {
528
+ "name": "open",
529
+ "description": "Whether the floating panel is open.\n\nDefault: `false`"
530
+ },
531
+ {
532
+ "name": "disabled",
533
+ "description": "Disables opening, selection and form submission.\n\nDefault: `false`"
534
+ },
535
+ {
536
+ "name": "readonly",
537
+ "description": "Displays the selected path without allowing changes.\n\nDefault: `false`"
538
+ },
539
+ {
540
+ "name": "required",
541
+ "description": "Requires a committed path for native form validation.\n\nDefault: `false`"
542
+ },
543
+ {
544
+ "name": "change-on-select",
545
+ "description": "Commit branch values as they are chosen instead of waiting for a leaf.\n\nDefault: `false`"
546
+ },
547
+ {
548
+ "name": "expand-trigger",
549
+ "description": "Open child columns on pointer hover instead of click.\n\nDefault: `'click'`",
550
+ "values": [
551
+ {
552
+ "name": "click"
553
+ },
554
+ {
555
+ "name": "hover"
556
+ }
557
+ ]
558
+ }
559
+ ]
560
+ },
413
561
  {
414
562
  "name": "c2-area-chart",
415
563
  "description": "A line chart with the region under each line filled — an area chart *is* a line chart plus a fill, so it\nextends `c2-line-chart` and every one of its attributes (`curve`, `points`, `zoom`, the axis bounds)\nmeans the same thing here.\n\n`@c2n/chart`",
@@ -587,7 +735,7 @@
587
735
  },
588
736
  {
589
737
  "name": "animation",
590
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
738
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
591
739
  "values": [
592
740
  {
593
741
  "name": "none"
@@ -774,7 +922,7 @@
774
922
  },
775
923
  {
776
924
  "name": "animation",
777
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
925
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
778
926
  "values": [
779
927
  {
780
928
  "name": "none"
@@ -925,7 +1073,7 @@
925
1073
  },
926
1074
  {
927
1075
  "name": "animation",
928
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
1076
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
929
1077
  "values": [
930
1078
  {
931
1079
  "name": "none"
@@ -1133,6 +1281,18 @@
1133
1281
  }
1134
1282
  ]
1135
1283
  },
1284
+ {
1285
+ "name": "marks",
1286
+ "description": "Whether to draw the small axis ticks and division lines around the arc.\n\nDefault: `'show'`",
1287
+ "values": [
1288
+ {
1289
+ "name": "show"
1290
+ },
1291
+ {
1292
+ "name": "none"
1293
+ }
1294
+ ]
1295
+ },
1136
1296
  {
1137
1297
  "name": "renderer",
1138
1298
  "description": "Which ECharts renderer to use. SVG prints and scales crisply; canvas is faster with many marks.\n\nDefault: `'canvas'`",
@@ -1218,7 +1378,7 @@
1218
1378
  },
1219
1379
  {
1220
1380
  "name": "animation",
1221
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
1381
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
1222
1382
  "values": [
1223
1383
  {
1224
1384
  "name": "none"
@@ -1427,7 +1587,7 @@
1427
1587
  },
1428
1588
  {
1429
1589
  "name": "animation",
1430
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
1590
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
1431
1591
  "values": [
1432
1592
  {
1433
1593
  "name": "none"
@@ -1500,6 +1660,24 @@
1500
1660
  }
1501
1661
  ]
1502
1662
  },
1663
+ {
1664
+ "name": "label-content",
1665
+ "description": "Content shown by visible slice labels.\n\nDefault: `'name'`",
1666
+ "values": [
1667
+ {
1668
+ "name": "name"
1669
+ },
1670
+ {
1671
+ "name": "value"
1672
+ },
1673
+ {
1674
+ "name": "percent"
1675
+ },
1676
+ {
1677
+ "name": "name-percent"
1678
+ }
1679
+ ]
1680
+ },
1503
1681
  {
1504
1682
  "name": "sort",
1505
1683
  "description": "Orders the slices by value rather than keeping the data order.\n\nDefault: `'none'`",
@@ -1600,7 +1778,7 @@
1600
1778
  },
1601
1779
  {
1602
1780
  "name": "animation",
1603
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
1781
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
1604
1782
  "values": [
1605
1783
  {
1606
1784
  "name": "none"
@@ -1637,8 +1815,8 @@
1637
1815
  ]
1638
1816
  },
1639
1817
  {
1640
- "name": "c2-scatter-chart",
1641
- "description": "A scatter plot drawn by ECharts. `x-field` supplies the shared horizontal value and every series supplies\none vertical measure, so several populations can be compared on the same axes.\n\n`@c2n/chart`",
1818
+ "name": "c2-radar-chart",
1819
+ "description": "A radar chart drawn by ECharts. Each data row is an indicator named by `label-field`; each\n`c2-chart-series` is one comparable profile drawn across those indicators.\n\n`@c2n/chart`",
1642
1820
  "references": [
1643
1821
  {
1644
1822
  "name": "@c2n/chart on npm",
@@ -1647,43 +1825,48 @@
1647
1825
  ],
1648
1826
  "attributes": [
1649
1827
  {
1650
- "name": "symbol-size",
1651
- "description": "Diameter of each point in CSS pixels.\n\nDefault: `10`"
1828
+ "name": "min",
1829
+ "description": "Lowest value shared by every indicator.\n\nDefault: `0`"
1652
1830
  },
1653
1831
  {
1654
- "name": "symbol",
1655
- "description": "Shape used for points.\n\nDefault: `'circle'`",
1832
+ "name": "max",
1833
+ "description": "Highest value shared by every indicator. Auto-ranged per indicator when unset."
1834
+ },
1835
+ {
1836
+ "name": "shape",
1837
+ "description": "Shape of the indicator grid.\n\nDefault: `'polygon'`",
1656
1838
  "values": [
1657
1839
  {
1658
- "name": "circle"
1659
- },
1660
- {
1661
- "name": "rect"
1662
- },
1663
- {
1664
- "name": "roundRect"
1840
+ "name": "polygon"
1665
1841
  },
1666
1842
  {
1667
- "name": "triangle"
1668
- },
1669
- {
1670
- "name": "diamond"
1671
- },
1843
+ "name": "circle"
1844
+ }
1845
+ ]
1846
+ },
1847
+ {
1848
+ "name": "start-angle",
1849
+ "description": "Angle of the first indicator, in degrees counter-clockwise from three o'clock.\n\nDefault: `90`"
1850
+ },
1851
+ {
1852
+ "name": "split-number",
1853
+ "description": "Number of concentric divisions in the indicator grid.\n\nDefault: `5`"
1854
+ },
1855
+ {
1856
+ "name": "points",
1857
+ "description": "Whether to draw point markers at the indicator values.\n\nDefault: `'show'`",
1858
+ "values": [
1672
1859
  {
1673
- "name": "pin"
1860
+ "name": "show"
1674
1861
  },
1675
1862
  {
1676
- "name": "arrow"
1863
+ "name": "none"
1677
1864
  }
1678
1865
  ]
1679
1866
  },
1680
1867
  {
1681
- "name": "large",
1682
- "description": "Enables ECharts' large-point rendering path.\n\nDefault: `false`"
1683
- },
1684
- {
1685
- "name": "large-threshold",
1686
- "description": "Point count at which the large rendering path takes effect.\n\nDefault: `2000`"
1868
+ "name": "fill-opacity",
1869
+ "description": "Opacity of each profile's fill. Falls back to `--c2-chart__area--opacity`."
1687
1870
  },
1688
1871
  {
1689
1872
  "name": "renderer",
@@ -1770,7 +1953,7 @@
1770
1953
  },
1771
1954
  {
1772
1955
  "name": "animation",
1773
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
1956
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
1774
1957
  "values": [
1775
1958
  {
1776
1959
  "name": "none"
@@ -1807,8 +1990,8 @@
1807
1990
  ]
1808
1991
  },
1809
1992
  {
1810
- "name": "c2-sparkline",
1811
- "description": "A chromeless trend line sized for a table cell, a list row or the `trend` slot of a `c2-stat`: no axes,\nno grid, no legend and no tooltip, so the whole box is the data.\n\n`@c2n/chart`",
1993
+ "name": "c2-scatter-chart",
1994
+ "description": "A scatter plot drawn by ECharts. `x-field` supplies the shared horizontal value and every series supplies\none vertical measure, so several populations can be compared on the same axes.\n\n`@c2n/chart`",
1812
1995
  "references": [
1813
1996
  {
1814
1997
  "name": "@c2n/chart on npm",
@@ -1817,92 +2000,53 @@
1817
2000
  ],
1818
2001
  "attributes": [
1819
2002
  {
1820
- "name": "type",
1821
- "description": "How the line is drawn.\n\nDefault: `'line'`",
1822
- "values": [
1823
- {
1824
- "name": "line"
1825
- },
1826
- {
1827
- "name": "area"
1828
- }
1829
- ]
1830
- },
1831
- {
1832
- "name": "tone",
1833
- "description": "Colours the line by direction. `auto` compares the last value with the first and uses the positive or\nnegative tone; `neutral` keeps the palette colour.\n\nDefault: `'neutral'`",
1834
- "values": [
1835
- {
1836
- "name": "auto"
1837
- },
1838
- {
1839
- "name": "positive"
1840
- },
1841
- {
1842
- "name": "negative"
1843
- },
1844
- {
1845
- "name": "neutral"
1846
- }
1847
- ]
2003
+ "name": "symbol-size",
2004
+ "description": "Diameter of each point in CSS pixels.\n\nDefault: `10`"
1848
2005
  },
1849
2006
  {
1850
- "name": "grid",
1851
- "description": "Which grid lines are drawn. A string rather than a boolean because a boolean attribute reads as `true`\nwhenever it is present — `grid=\"false\"` in markup would turn the grid *on*, and there would be no way to\nturn it off from HTML at all. `y` (the default) draws the horizontal lines, matching `axes`' shape.\n\nDefault: `'y'`",
2007
+ "name": "symbol",
2008
+ "description": "Shape used for points.\n\nDefault: `'circle'`",
1852
2009
  "values": [
1853
2010
  {
1854
- "name": "both"
2011
+ "name": "circle"
1855
2012
  },
1856
2013
  {
1857
- "name": "x"
2014
+ "name": "rect"
1858
2015
  },
1859
2016
  {
1860
- "name": "y"
2017
+ "name": "roundRect"
1861
2018
  },
1862
2019
  {
1863
- "name": "none"
1864
- }
1865
- ]
1866
- },
1867
- {
1868
- "name": "axes",
1869
- "description": "Which axes are drawn.\n\nDefault: `'both'`",
1870
- "values": [
1871
- {
1872
- "name": "both"
2020
+ "name": "triangle"
1873
2021
  },
1874
2022
  {
1875
- "name": "x"
2023
+ "name": "diamond"
1876
2024
  },
1877
2025
  {
1878
- "name": "y"
2026
+ "name": "pin"
1879
2027
  },
1880
2028
  {
1881
- "name": "none"
2029
+ "name": "arrow"
1882
2030
  }
1883
2031
  ]
1884
2032
  },
1885
2033
  {
1886
- "name": "y-min",
1887
- "description": "Lower bound of the y scale. Auto-ranged when unset."
1888
- },
1889
- {
1890
- "name": "y-max",
1891
- "description": "Upper bound of the y scale. Auto-ranged when unset."
2034
+ "name": "large",
2035
+ "description": "Enables ECharts' large-point rendering path.\n\nDefault: `false`"
1892
2036
  },
1893
2037
  {
1894
- "name": "zoom",
1895
- "description": "Lets the user drag horizontally to zoom the x scale.\n\nDefault: `false`"
2038
+ "name": "large-threshold",
2039
+ "description": "Point count at which the large rendering path takes effect.\n\nDefault: `2000`"
1896
2040
  },
1897
2041
  {
1898
- "name": "cursor",
1899
- "description": "The cursor crosshair.\n\nDefault: `'x'`",
2042
+ "name": "renderer",
2043
+ "description": "Which ECharts renderer to use. SVG prints and scales crisply; canvas is faster with many marks.\n\nDefault: `'canvas'`",
1900
2044
  "values": [
1901
2045
  {
1902
- "name": "x"
2046
+ "name": "canvas"
1903
2047
  },
1904
2048
  {
1905
- "name": "none"
2049
+ "name": "svg"
1906
2050
  }
1907
2051
  ]
1908
2052
  },
@@ -1979,7 +2123,7 @@
1979
2123
  },
1980
2124
  {
1981
2125
  "name": "animation",
1982
- "description": "Whether the engine animates entry and updates. `none` by default: a chart fed by a live source should\nnot animate every tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a\nmethod every element already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'none'`",
2126
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
1983
2127
  "values": [
1984
2128
  {
1985
2129
  "name": "none"
@@ -2016,12 +2160,221 @@
2016
2160
  ]
2017
2161
  },
2018
2162
  {
2019
- "name": "c2-chat-input",
2020
- "description": "Auto-growing message composer with slotted actions and an accessible send button.\n\n`@c2n/chat-input`",
2163
+ "name": "c2-sparkline",
2164
+ "description": "A chromeless trend line sized for a table cell, a list row or the `trend` slot of a `c2-stat`: no axes,\nno grid, no legend and no tooltip, so the whole box is the data.\n\n`@c2n/chart`",
2021
2165
  "references": [
2022
2166
  {
2023
- "name": "@c2n/chat-input on npm",
2024
- "url": "https://www.npmjs.com/package/@c2n/chat-input"
2167
+ "name": "@c2n/chart on npm",
2168
+ "url": "https://www.npmjs.com/package/@c2n/chart"
2169
+ }
2170
+ ],
2171
+ "attributes": [
2172
+ {
2173
+ "name": "type",
2174
+ "description": "How the line is drawn.\n\nDefault: `'line'`",
2175
+ "values": [
2176
+ {
2177
+ "name": "line"
2178
+ },
2179
+ {
2180
+ "name": "area"
2181
+ }
2182
+ ]
2183
+ },
2184
+ {
2185
+ "name": "tone",
2186
+ "description": "Colours the line by direction. `auto` compares the last value with the first and uses the positive or\nnegative tone; `neutral` keeps the palette colour.\n\nDefault: `'neutral'`",
2187
+ "values": [
2188
+ {
2189
+ "name": "auto"
2190
+ },
2191
+ {
2192
+ "name": "positive"
2193
+ },
2194
+ {
2195
+ "name": "negative"
2196
+ },
2197
+ {
2198
+ "name": "neutral"
2199
+ }
2200
+ ]
2201
+ },
2202
+ {
2203
+ "name": "grid",
2204
+ "description": "Which grid lines are drawn. A string rather than a boolean because a boolean attribute reads as `true`\nwhenever it is present — `grid=\"false\"` in markup would turn the grid *on*, and there would be no way to\nturn it off from HTML at all. `y` (the default) draws the horizontal lines, matching `axes`' shape.\n\nDefault: `'y'`",
2205
+ "values": [
2206
+ {
2207
+ "name": "both"
2208
+ },
2209
+ {
2210
+ "name": "x"
2211
+ },
2212
+ {
2213
+ "name": "y"
2214
+ },
2215
+ {
2216
+ "name": "none"
2217
+ }
2218
+ ]
2219
+ },
2220
+ {
2221
+ "name": "axes",
2222
+ "description": "Which axes are drawn.\n\nDefault: `'both'`",
2223
+ "values": [
2224
+ {
2225
+ "name": "both"
2226
+ },
2227
+ {
2228
+ "name": "x"
2229
+ },
2230
+ {
2231
+ "name": "y"
2232
+ },
2233
+ {
2234
+ "name": "none"
2235
+ }
2236
+ ]
2237
+ },
2238
+ {
2239
+ "name": "y-min",
2240
+ "description": "Lower bound of the y scale. Auto-ranged when unset."
2241
+ },
2242
+ {
2243
+ "name": "y-max",
2244
+ "description": "Upper bound of the y scale. Auto-ranged when unset."
2245
+ },
2246
+ {
2247
+ "name": "zoom",
2248
+ "description": "Lets the user drag horizontally to zoom the x scale.\n\nDefault: `false`"
2249
+ },
2250
+ {
2251
+ "name": "cursor",
2252
+ "description": "The cursor crosshair.\n\nDefault: `'x'`",
2253
+ "values": [
2254
+ {
2255
+ "name": "x"
2256
+ },
2257
+ {
2258
+ "name": "none"
2259
+ }
2260
+ ]
2261
+ },
2262
+ {
2263
+ "name": "data",
2264
+ "description": "The data to plot. Row objects, a bare `number[]`, columnar `[xs, ys…]`, or an already-normalised\nframe. Compared by identity: replace the array, or bump `revision` after mutating it in place."
2265
+ },
2266
+ {
2267
+ "name": "revision",
2268
+ "description": "Bump after mutating `data` in place. The cheap escape hatch for a large buffer you own.\n\nDefault: `0`"
2269
+ },
2270
+ {
2271
+ "name": "series",
2272
+ "description": "Series definitions, as an alternative to `c2-chart-series` children. Children win when both are set."
2273
+ },
2274
+ {
2275
+ "name": "x-field",
2276
+ "description": "Row field holding the x value; may be a dotted path. Defaults to the row index.\n\nDefault: `''`"
2277
+ },
2278
+ {
2279
+ "name": "label-field",
2280
+ "description": "Row field holding the category label, for charts that name their slices.\n\nDefault: `''`"
2281
+ },
2282
+ {
2283
+ "name": "x-type",
2284
+ "description": "How x values are interpreted, which decides the axis and the tooltip format.\n\nDefault: `'linear'`",
2285
+ "values": [
2286
+ {
2287
+ "name": "time"
2288
+ },
2289
+ {
2290
+ "name": "linear"
2291
+ },
2292
+ {
2293
+ "name": "category"
2294
+ }
2295
+ ]
2296
+ },
2297
+ {
2298
+ "name": "legend",
2299
+ "description": "Where the legend sits, or `none` to hide it. Shown by default: a chart with more than one series is\nunreadable without one, and a single-series chart simply renders a one-entry legend.\n\nDefault: `'bottom'`",
2300
+ "values": [
2301
+ {
2302
+ "name": "none"
2303
+ },
2304
+ {
2305
+ "name": "top"
2306
+ },
2307
+ {
2308
+ "name": "bottom"
2309
+ },
2310
+ {
2311
+ "name": "start"
2312
+ },
2313
+ {
2314
+ "name": "end"
2315
+ }
2316
+ ]
2317
+ },
2318
+ {
2319
+ "name": "tooltip",
2320
+ "description": "Whether the tooltip follows the whole x position or only the hovered datum.\n\nDefault: `'axis'`",
2321
+ "values": [
2322
+ {
2323
+ "name": "none"
2324
+ },
2325
+ {
2326
+ "name": "item"
2327
+ },
2328
+ {
2329
+ "name": "axis"
2330
+ }
2331
+ ]
2332
+ },
2333
+ {
2334
+ "name": "animation",
2335
+ "description": "Whether the chart animates its initial draw. ECharts uses its native shape animation and uPlot uses a\nlightweight plot reveal; subsequent data updates stay immediate so a live source does not animate\nevery tick. Named `animation` rather than `animate` because `HTMLElement.animate()` is a method every\nelement already has, and shadowing it breaks the Web Animations API on the host.\n\nDefault: `'auto'`",
2336
+ "values": [
2337
+ {
2338
+ "name": "none"
2339
+ },
2340
+ {
2341
+ "name": "auto"
2342
+ }
2343
+ ]
2344
+ },
2345
+ {
2346
+ "name": "locale",
2347
+ "description": "BCP 47 locale for the axis and tooltip formatting. Defaults to the browser locale."
2348
+ },
2349
+ {
2350
+ "name": "loading",
2351
+ "description": "Shows the loading state instead of the plot.\n\nDefault: `false`"
2352
+ },
2353
+ {
2354
+ "name": "error",
2355
+ "description": "Shows an error message instead of the plot.\n\nDefault: `''`"
2356
+ },
2357
+ {
2358
+ "name": "empty-message",
2359
+ "description": "Replaces the built-in \"no data\" text.\n\nDefault: `'No data'`"
2360
+ },
2361
+ {
2362
+ "name": "max-points",
2363
+ "description": "Caps how many points a streaming chart keeps; older points fall off the front. `0` keeps everything.\n\nDefault: `0`"
2364
+ },
2365
+ {
2366
+ "name": "lazy-render",
2367
+ "description": "Defers loading the engine until the host first scrolls into view.\n\nDefault: `false`"
2368
+ }
2369
+ ]
2370
+ },
2371
+ {
2372
+ "name": "c2-chat-input",
2373
+ "description": "Auto-growing message composer with slotted actions and an accessible send button.\n\n`@c2n/chat-input`",
2374
+ "references": [
2375
+ {
2376
+ "name": "@c2n/chat-input on npm",
2377
+ "url": "https://www.npmjs.com/package/@c2n/chat-input"
2025
2378
  }
2026
2379
  ],
2027
2380
  "attributes": [
@@ -2159,6 +2512,82 @@
2159
2512
  }
2160
2513
  ]
2161
2514
  },
2515
+ {
2516
+ "name": "c2-code-editor",
2517
+ "description": "Source-code field built on CodeMirror 6, which is an **optional peer dependency**: nothing is imported until an\neditor mounts, and when the peer is absent the element degrades to a plain `<textarea>` carrying the same value,\nthe same events and the same form behaviour — only without highlighting. Install what you need alongside it:\n\n`@c2n/code-editor`",
2518
+ "references": [
2519
+ {
2520
+ "name": "@c2n/code-editor on npm",
2521
+ "url": "https://www.npmjs.com/package/@c2n/code-editor"
2522
+ }
2523
+ ],
2524
+ "attributes": [
2525
+ {
2526
+ "name": "value",
2527
+ "description": "The source code. Assigning it replaces the document without losing scroll position or undo history.\n\nDefault: `''`"
2528
+ },
2529
+ {
2530
+ "name": "language",
2531
+ "description": "Language id: one of `BUILT_IN_LANGUAGES`, anything `languageLoader` resolves, or empty for no highlighting.\n\nDefault: `''`"
2532
+ },
2533
+ {
2534
+ "name": "name",
2535
+ "description": "Form field name.\n\nDefault: `''`"
2536
+ },
2537
+ {
2538
+ "name": "label",
2539
+ "description": "Label above the editor, when the `label` slot is empty.\n\nDefault: `''`"
2540
+ },
2541
+ {
2542
+ "name": "aria-label",
2543
+ "description": "Accessible name when nothing visible labels the editor.\n\nDefault: `null`"
2544
+ },
2545
+ {
2546
+ "name": "placeholder",
2547
+ "description": "Text shown while the document is empty.\n\nDefault: `''`"
2548
+ },
2549
+ {
2550
+ "name": "readonly",
2551
+ "description": "The document cannot be edited, but is still selectable and focusable.\n\nDefault: `false`"
2552
+ },
2553
+ {
2554
+ "name": "disabled",
2555
+ "description": "Blocks interaction entirely and dims the editor.\n\nDefault: `false`"
2556
+ },
2557
+ {
2558
+ "name": "required",
2559
+ "description": "The form is invalid while the value is empty.\n\nDefault: `false`"
2560
+ },
2561
+ {
2562
+ "name": "line-numbers",
2563
+ "description": "Show the line-number gutter.\n\nDefault: `false`"
2564
+ },
2565
+ {
2566
+ "name": "wrap",
2567
+ "description": "Wrap long lines instead of scrolling horizontally.\n\nDefault: `false`"
2568
+ },
2569
+ {
2570
+ "name": "autocomplete",
2571
+ "description": "Offer completions while typing (identifiers, and whatever the grammar contributes).\n\nDefault: `false`"
2572
+ },
2573
+ {
2574
+ "name": "tab-size",
2575
+ "description": "Width of a tab stop, in characters.\n\nDefault: `2`"
2576
+ },
2577
+ {
2578
+ "name": "error",
2579
+ "description": "Renders the error styling; `error-text` replaces the supporting text.\n\nDefault: `false`"
2580
+ },
2581
+ {
2582
+ "name": "error-text",
2583
+ "description": "Message shown in place of the supporting text while `error` is set.\n\nDefault: `''`"
2584
+ },
2585
+ {
2586
+ "name": "help",
2587
+ "description": "Help text under the editor, when the `supporting-text` slot is empty.\n\nDefault: `''`"
2588
+ }
2589
+ ]
2590
+ },
2162
2591
  {
2163
2592
  "name": "c2-code-viewer",
2164
2593
  "description": "Syntax-highlighted source code powered by shiki. Grammars and themes are loaded on demand into one shared\nhighlighter, so many viewers on a page cost one engine. The raw code renders immediately as plain text (also on the\nserver) and is upgraded in place once highlighted.\n\n`@c2n/code-viewer`",
@@ -30720,16 +31149,100 @@
30720
31149
  "description": "Progress between `0` and `max`. Leave unset for an indeterminate bar.\n\nDefault: `undefined`"
30721
31150
  },
30722
31151
  {
30723
- "name": "max",
30724
- "description": "Value that fills the whole track.\n\nDefault: `100`"
31152
+ "name": "max",
31153
+ "description": "Value that fills the whole track.\n\nDefault: `100`"
31154
+ },
31155
+ {
31156
+ "name": "label",
31157
+ "description": "Accessible name when nothing is slotted. Defaults to \"Loading\".\n\nDefault: `''`"
31158
+ },
31159
+ {
31160
+ "name": "show-value",
31161
+ "description": "Show the completed percentage beside the label. Always on when the `value` slot has content.\n\nDefault: `false`"
31162
+ }
31163
+ ]
31164
+ },
31165
+ {
31166
+ "name": "c2-qr-code",
31167
+ "description": "Generates an accessible, themeable SVG QR code without sending its value to a remote service.\n\n`@c2n/qr-code`",
31168
+ "references": [
31169
+ {
31170
+ "name": "@c2n/qr-code on npm",
31171
+ "url": "https://www.npmjs.com/package/@c2n/qr-code"
31172
+ }
31173
+ ],
31174
+ "attributes": [
31175
+ {
31176
+ "name": "value",
31177
+ "description": "Text or URL encoded by the QR code.\n\nDefault: `''`"
31178
+ },
31179
+ {
31180
+ "name": "size",
31181
+ "description": "Rendered width and height in CSS pixels. Set to `0` to use `--c2-qr-code--size`.\n\nDefault: `200`"
31182
+ },
31183
+ {
31184
+ "name": "error-correction",
31185
+ "description": "Error correction level: L (7%), M (15%), Q (25%), or H (30%).\n\nDefault: `'M'`"
31186
+ },
31187
+ {
31188
+ "name": "margin",
31189
+ "description": "Quiet-zone width measured in QR modules. Four is recommended for reliable scanning.\n\nDefault: `4`"
31190
+ },
31191
+ {
31192
+ "name": "boost-error-correction",
31193
+ "description": "Raises error correction when the encoded version has spare capacity.\n\nDefault: `false`"
31194
+ },
31195
+ {
31196
+ "name": "aria-label",
31197
+ "description": "Accessible name announced for the generated image. Defaults to `QR code`.\n\nDefault: `null`"
31198
+ }
31199
+ ]
31200
+ },
31201
+ {
31202
+ "name": "c2-questionnaire",
31203
+ "description": "A complete multi-step questionnaire with single- and multiple-choice questions, optional free-text answers,\nvalidation, keyboard shortcuts and previous / skip / next navigation. Questions are supplied as an array through\nthe `questions` property or as JSON in the `questions` attribute. The component preserves answers between steps,\nemits progress events and submits the complete answer object as JSON when given a form `name`.\n\n`@c2n/questionnaire`",
31204
+ "references": [
31205
+ {
31206
+ "name": "@c2n/questionnaire on npm",
31207
+ "url": "https://www.npmjs.com/package/@c2n/questionnaire"
31208
+ }
31209
+ ],
31210
+ "attributes": [
31211
+ {
31212
+ "name": "questions",
31213
+ "description": "Questionnaire definition. Use `select` for one answer and `choice` for multiple answers (`single` / `multiple` remain aliases). May also be supplied as JSON.\n\nDefault: `[]`"
31214
+ },
31215
+ {
31216
+ "name": "current",
31217
+ "description": "Zero-based visible question index.\n\nDefault: `0`"
31218
+ },
31219
+ {
31220
+ "name": "completed",
31221
+ "description": "Shows the answer summary after successful completion.\n\nDefault: `false`"
31222
+ },
31223
+ {
31224
+ "name": "name",
31225
+ "description": "Form field name. Its submitted value is the answer object serialized as JSON.\n\nDefault: `''`"
31226
+ },
31227
+ {
31228
+ "name": "disabled",
31229
+ "description": "Disables options and navigation.\n\nDefault: `false`"
31230
+ },
31231
+ {
31232
+ "name": "next-label",
31233
+ "description": "Label of the forward action before the final question.\n\nDefault: `'Next'`"
31234
+ },
31235
+ {
31236
+ "name": "complete-label",
31237
+ "description": "Label of the forward action on the final question.\n\nDefault: `'Save'`"
30725
31238
  },
30726
31239
  {
30727
- "name": "label",
30728
- "description": "Accessible name when nothing is slotted. Defaults to \"Loading\".\n\nDefault: `''`"
31240
+ "name": "previous-label",
31241
+ "description": "Label of the backward action.\n\nDefault: `'Previous'`"
30729
31242
  },
30730
31243
  {
30731
- "name": "show-value",
30732
- "description": "Show the completed percentage beside the label. Always on when the `value` slot has content.\n\nDefault: `false`"
31244
+ "name": "skip-label",
31245
+ "description": "Label of the skip action.\n\nDefault: `'Skip'`"
30733
31246
  }
30734
31247
  ]
30735
31248
  },
@@ -30813,6 +31326,54 @@
30813
31326
  }
30814
31327
  ]
30815
31328
  },
31329
+ {
31330
+ "name": "c2-rate",
31331
+ "description": "Accessible star rating control with pointer preview, keyboard adjustment and optional half-star values.\n\n`@c2n/rate`",
31332
+ "references": [
31333
+ {
31334
+ "name": "@c2n/rate on npm",
31335
+ "url": "https://www.npmjs.com/package/@c2n/rate"
31336
+ }
31337
+ ],
31338
+ "attributes": [
31339
+ {
31340
+ "name": "value",
31341
+ "description": "Current rating and submitted form value.\n\nDefault: `0`"
31342
+ },
31343
+ {
31344
+ "name": "max",
31345
+ "description": "Number of rating icons.\n\nDefault: `5`"
31346
+ },
31347
+ {
31348
+ "name": "allow-half",
31349
+ "description": "Allow values in half-star steps.\n\nDefault: `false`"
31350
+ },
31351
+ {
31352
+ "name": "clearable",
31353
+ "description": "Clicking the committed rating again clears it to zero.\n\nDefault: `false`"
31354
+ },
31355
+ {
31356
+ "name": "readonly",
31357
+ "description": "Prevents changes while keeping the rating visually available.\n\nDefault: `false`"
31358
+ },
31359
+ {
31360
+ "name": "disabled",
31361
+ "description": "Disables interaction and form submission.\n\nDefault: `false`"
31362
+ },
31363
+ {
31364
+ "name": "required",
31365
+ "description": "Requires a rating greater than zero for native form validation.\n\nDefault: `false`"
31366
+ },
31367
+ {
31368
+ "name": "name",
31369
+ "description": "Name used when the rating participates in a form.\n\nDefault: `''`"
31370
+ },
31371
+ {
31372
+ "name": "aria-label",
31373
+ "description": "Accessible name of the rating control.\n\nDefault: `null`"
31374
+ }
31375
+ ]
31376
+ },
30816
31377
  {
30817
31378
  "name": "c2-reorder-list",
30818
31379
  "description": "`@c2n/reorder-list`",
@@ -31121,6 +31682,98 @@
31121
31682
  }
31122
31683
  ]
31123
31684
  },
31685
+ {
31686
+ "name": "c2-status-panel",
31687
+ "description": "Presents a meaningful application state with optional media, supporting copy, actions and additional content. Use it\nfor empty collections, completed operations, errors, unavailable pages and other places where the user needs a clear\nexplanation and next step.\n\n`@c2n/status-panel`",
31688
+ "references": [
31689
+ {
31690
+ "name": "@c2n/status-panel on npm",
31691
+ "url": "https://www.npmjs.com/package/@c2n/status-panel"
31692
+ }
31693
+ ],
31694
+ "attributes": [
31695
+ {
31696
+ "name": "status",
31697
+ "description": "Visual tone and default media icon.\n\nDefault: `'neutral'`"
31698
+ },
31699
+ {
31700
+ "name": "align",
31701
+ "description": "Centers the composition or aligns it to the inline start.\n\nDefault: `'center'`"
31702
+ },
31703
+ {
31704
+ "name": "heading",
31705
+ "description": "Plain-text title fallback. Use the `title` slot for rich content.\n\nDefault: `''`"
31706
+ },
31707
+ {
31708
+ "name": "description",
31709
+ "description": "Plain-text description fallback. Use the `description` slot for rich content.\n\nDefault: `''`"
31710
+ },
31711
+ {
31712
+ "name": "heading-level",
31713
+ "description": "Accessible heading level used by the title region.\n\nDefault: `2`"
31714
+ }
31715
+ ]
31716
+ },
31717
+ {
31718
+ "name": "c2-step",
31719
+ "description": "One row of a Steps list: a marker, a label with optional dimmed `detail`, and `trailing` text at the end\nof the row — a duration, a count, a timestamp.\n\n`@c2n/steps`",
31720
+ "references": [
31721
+ {
31722
+ "name": "@c2n/steps on npm",
31723
+ "url": "https://www.npmjs.com/package/@c2n/steps"
31724
+ }
31725
+ ],
31726
+ "attributes": [
31727
+ {
31728
+ "name": "status",
31729
+ "description": "State of the step. Drives the marker glyph and the accent colour, and reopens a folded group.\n\nDefault: `'pending'`"
31730
+ },
31731
+ {
31732
+ "name": "label",
31733
+ "description": "Primary text, when the `label` slot is empty.\n\nDefault: `''`"
31734
+ },
31735
+ {
31736
+ "name": "detail",
31737
+ "description": "Dimmed secondary text beside the label, when the `detail` slot is empty.\n\nDefault: `''`"
31738
+ },
31739
+ {
31740
+ "name": "trailing",
31741
+ "description": "Text at the end of the row, when the `trailing` slot is empty.\n\nDefault: `''`"
31742
+ },
31743
+ {
31744
+ "name": "collapsed",
31745
+ "description": "Whether this group is folded away. A group is expanded by default — every step in the list is a row you can\nsee — and only the reader, the markup or a reopening status ever changes that.\n\nDefault: `false`"
31746
+ }
31747
+ ]
31748
+ },
31749
+ {
31750
+ "name": "c2-steps",
31751
+ "description": "A vertical list of steps: the trace of a task as it runs, or a wizard's progress. Each row is a marker, a label,\nan optional dimmed `detail` beside it and `trailing` text at the end — a duration, a count, a timestamp.\n\n`@c2n/steps`",
31752
+ "references": [
31753
+ {
31754
+ "name": "@c2n/steps on npm",
31755
+ "url": "https://www.npmjs.com/package/@c2n/steps"
31756
+ }
31757
+ ],
31758
+ "attributes": [
31759
+ {
31760
+ "name": "marker",
31761
+ "description": "How each marker is drawn: a status glyph, the step's number, or nothing.\n\nDefault: `'icon'`"
31762
+ },
31763
+ {
31764
+ "name": "current",
31765
+ "description": "Index of the active step, for a wizard. `-1` (the default) leaves every status alone; otherwise a top-level\nstep with neither an explicit `status` nor sub-steps becomes `success` before this index, `current` at it and\n`pending` after it.\n\nDefault: `-1`"
31766
+ },
31767
+ {
31768
+ "name": "steps",
31769
+ "description": "The steps as data, instead of `c2-step` children. Takes precedence over the slot.\n\nDefault: `undefined`"
31770
+ },
31771
+ {
31772
+ "name": "aria-label",
31773
+ "description": "Accessible name for the list.\n\nDefault: `null`"
31774
+ }
31775
+ ]
31776
+ },
31124
31777
  {
31125
31778
  "name": "c2-switch",
31126
31779
  "description": "On/off toggle built on a native `<input type=\"checkbox\" role=\"switch\">`, so keyboard activation (Space), form value\nand the `switch` role come from the browser. The thumb can also be dragged: it follows the pointer and the side it is\nreleased on decides the state. The whole row is the label: text in the default slot and an optional `description`\nsit beside the track, and clicking them toggles it. Icons for either state can ride inside the thumb.\n\n`@c2n/switch`",
@@ -31658,6 +32311,81 @@
31658
32311
  }
31659
32312
  ]
31660
32313
  },
32314
+ {
32315
+ "name": "c2-theme-select",
32316
+ "description": "Colour-theme switcher. The trigger shows the icon of the mode currently in effect and clicking it steps to the next\none, wrapping around — a two-state control is therefore a plain light/dark toggle. With three or more modes the\ntrigger also opens a menu on hover (or focus, or ArrowDown) so any mode can be picked directly, while the click-to-\nadvance behaviour keeps working.\n\n`@c2n/theme-select`",
32317
+ "references": [
32318
+ {
32319
+ "name": "@c2n/theme-select on npm",
32320
+ "url": "https://www.npmjs.com/package/@c2n/theme-select"
32321
+ }
32322
+ ],
32323
+ "attributes": [
32324
+ {
32325
+ "name": "modes",
32326
+ "description": "The states to cycle through: `\"system,light,dark\"`, a JSON array, or objects from script.\n\nDefault: `['system', 'light', 'dark']`"
32327
+ },
32328
+ {
32329
+ "name": "value",
32330
+ "description": "The mode in effect. Assigning it selects that mode silently; `select()` and `next()` report the change.\n\nDefault: `''`"
32331
+ },
32332
+ {
32333
+ "name": "menu",
32334
+ "description": "When to offer the dropdown: `auto` (three or more modes), `always`, or `never`.\n\nDefault: `'auto'`",
32335
+ "values": [
32336
+ {
32337
+ "name": "auto"
32338
+ },
32339
+ {
32340
+ "name": "always"
32341
+ },
32342
+ {
32343
+ "name": "never"
32344
+ }
32345
+ ]
32346
+ },
32347
+ {
32348
+ "name": "placement",
32349
+ "description": "Preferred placement of the menu (floating-ui names).\n\nDefault: `'bottom'`"
32350
+ },
32351
+ {
32352
+ "name": "show-label",
32353
+ "description": "Show the current mode's label beside its icon.\n\nDefault: `false`"
32354
+ },
32355
+ {
32356
+ "name": "disabled",
32357
+ "description": "Blocks interaction and dims the control.\n\nDefault: `false`"
32358
+ },
32359
+ {
32360
+ "name": "manual",
32361
+ "description": "Do not touch the document or storage; the host applies the theme itself from `theme-change`.\n\nDefault: `false`"
32362
+ },
32363
+ {
32364
+ "name": "target",
32365
+ "description": "Element the scheme is written to, or the id of one. Defaults to `<html>`.\n\nDefault: `undefined`"
32366
+ },
32367
+ {
32368
+ "name": "theme-attribute",
32369
+ "description": "Attribute written on the target, `data-theme` by default.\n\nDefault: `'data-theme'`"
32370
+ },
32371
+ {
32372
+ "name": "storage-key",
32373
+ "description": "`localStorage` key the chosen mode is remembered under. Empty disables persistence.\n\nDefault: `'c2n-theme'`"
32374
+ },
32375
+ {
32376
+ "name": "open-delay",
32377
+ "description": "Milliseconds the pointer must rest on the trigger before the menu opens.\n\nDefault: `150`"
32378
+ },
32379
+ {
32380
+ "name": "close-delay",
32381
+ "description": "Milliseconds the menu stays open after the pointer leaves, so it can be crossed into.\n\nDefault: `200`"
32382
+ },
32383
+ {
32384
+ "name": "aria-label",
32385
+ "description": "Accessible name of the trigger. Defaults to `Theme: <current label>`."
32386
+ }
32387
+ ]
32388
+ },
31661
32389
  {
31662
32390
  "name": "c2-toast",
31663
32391
  "description": "A notification card. Use c2-toast-region to manage stacking, queueing and timed dismissal.\n\n`@c2n/toast`",
@@ -31843,6 +32571,162 @@
31843
32571
  }
31844
32572
  ]
31845
32573
  },
32574
+ {
32575
+ "name": "c2-tree",
32576
+ "description": "Hierarchical tree view with expansion, selection and lazy loading.\n\n`@c2n/tree`",
32577
+ "references": [
32578
+ {
32579
+ "name": "@c2n/tree on npm",
32580
+ "url": "https://www.npmjs.com/package/@c2n/tree"
32581
+ }
32582
+ ],
32583
+ "attributes": [
32584
+ {
32585
+ "name": "items",
32586
+ "description": "Nodes to render. Leave empty and nest `c2-tree-item` elements instead to author the tree in markup.\n\nDefault: `[]`"
32587
+ },
32588
+ {
32589
+ "name": "value",
32590
+ "description": "Values of the selected rows. Reflected as a `;`-separated attribute.\n\nDefault: `[]`"
32591
+ },
32592
+ {
32593
+ "name": "expanded-items",
32594
+ "description": "Values of the expanded rows. Reflected as a `;`-separated attribute.\n\nDefault: `[]`"
32595
+ },
32596
+ {
32597
+ "name": "selection",
32598
+ "description": "How many rows may be selected at once.\n\nDefault: `'single'`"
32599
+ },
32600
+ {
32601
+ "name": "checkbox-selection",
32602
+ "description": "Shows a checkbox on every row. Implies `selection=\"multiple\"`.\n\nDefault: `false`"
32603
+ },
32604
+ {
32605
+ "name": "selection-propagation",
32606
+ "description": "How a checkbox tick travels between a row and its relatives.\n\nDefault: `'both'`"
32607
+ },
32608
+ {
32609
+ "name": "children-outline",
32610
+ "description": "Draws a vertical rule per level of depth, marking which branch each row belongs to.\n\nDefault: `false`"
32611
+ },
32612
+ {
32613
+ "name": "disabled",
32614
+ "description": "Freezes the whole tree.\n\nDefault: `false`"
32615
+ },
32616
+ {
32617
+ "name": "expand-on-click",
32618
+ "description": "Expands a branch when its row is clicked — or activated with Enter or Space — not only when its toggle is.\n\nDefault: `false`"
32619
+ }
32620
+ ]
32621
+ },
32622
+ {
32623
+ "name": "c2-tree-item",
32624
+ "description": "One row of a https://github.com/code2nguyen/web-components | `c2-tree`.\n\n`@c2n/tree`",
32625
+ "references": [
32626
+ {
32627
+ "name": "@c2n/tree on npm",
32628
+ "url": "https://www.npmjs.com/package/@c2n/tree"
32629
+ }
32630
+ ],
32631
+ "attributes": [
32632
+ {
32633
+ "name": "value",
32634
+ "description": "Identity of the row. Selection and expansion are tracked by this value, so it must be unique in the tree.\n\nDefault: `''`"
32635
+ },
32636
+ {
32637
+ "name": "label",
32638
+ "description": "Text of the row. Ignored when the `label` slot is filled; falls back to `value` when empty.\n\nDefault: `''`"
32639
+ },
32640
+ {
32641
+ "name": "disabled",
32642
+ "description": "Blocks selection and expansion, and takes the row out of checkbox propagation.\n\nDefault: `false`"
32643
+ },
32644
+ {
32645
+ "name": "has-children",
32646
+ "description": "Marks a branch whose children load on demand: the toggle shows before any child exists.\n\nDefault: `false`"
32647
+ },
32648
+ {
32649
+ "name": "href",
32650
+ "description": "Turns the row into a link. The whole row becomes the click target; the toggle still only expands.\n\nDefault: `''`"
32651
+ },
32652
+ {
32653
+ "name": "target",
32654
+ "description": "Browsing context for `href`, e.g. `_blank`. A `_blank` row gets `rel=\"noopener noreferrer\"`."
32655
+ },
32656
+ {
32657
+ "name": "expanded",
32658
+ "description": "Whether the children are shown. Written by the parent `c2-tree`.\n\nDefault: `false`"
32659
+ },
32660
+ {
32661
+ "name": "selected",
32662
+ "description": "Whether the row is selected. Written by the parent `c2-tree`.\n\nDefault: `false`"
32663
+ },
32664
+ {
32665
+ "name": "indeterminate",
32666
+ "description": "Whether only part of the subtree is selected. Derived and written by the parent `c2-tree`.\n\nDefault: `false`"
32667
+ },
32668
+ {
32669
+ "name": "loading",
32670
+ "description": "Whether the children are being fetched. Written by the parent `c2-tree`.\n\nDefault: `false`"
32671
+ },
32672
+ {
32673
+ "name": "children-outline",
32674
+ "description": "Whether to draw the indent guides. Written by the parent `c2-tree`, and reflected because the rules are\ndrawn in CSS and the stylesheet has to see it.\n\nDefault: `false`"
32675
+ }
32676
+ ]
32677
+ },
32678
+ {
32679
+ "name": "c2-upload",
32680
+ "description": "Drag-and-drop file uploader with multiple selection, validation and an attachment-based upload queue. Set an async\n`uploadHandler(file, { signal, onProgress })` property to connect transport; the component owns progress, success,\nerror, retry, cancel and removal UI while leaving network policy to the application.\n\n`@c2n/upload`",
32681
+ "references": [
32682
+ {
32683
+ "name": "@c2n/upload on npm",
32684
+ "url": "https://www.npmjs.com/package/@c2n/upload"
32685
+ }
32686
+ ],
32687
+ "attributes": [
32688
+ {
32689
+ "name": "multiple",
32690
+ "description": "Accept several files in one browse or drop operation.\n\nDefault: `false`"
32691
+ },
32692
+ {
32693
+ "name": "variant",
32694
+ "description": "Dropzone provides drag-and-drop; compact renders only an upload button.\n\nDefault: `'dropzone'`"
32695
+ },
32696
+ {
32697
+ "name": "accept",
32698
+ "description": "Comma-separated MIME types or file extensions, using the native file-input syntax.\n\nDefault: `''`"
32699
+ },
32700
+ {
32701
+ "name": "max-files",
32702
+ "description": "Maximum number of queued files. Zero means unlimited.\n\nDefault: `0`"
32703
+ },
32704
+ {
32705
+ "name": "max-size",
32706
+ "description": "Maximum size of each file in bytes. Zero means unlimited.\n\nDefault: `0`"
32707
+ },
32708
+ {
32709
+ "name": "auto-upload",
32710
+ "description": "Run `uploadHandler` immediately after files are accepted.\n\nDefault: `true`"
32711
+ },
32712
+ {
32713
+ "name": "disabled",
32714
+ "description": "Disables browsing, dropping and attachment actions.\n\nDefault: `false`"
32715
+ },
32716
+ {
32717
+ "name": "required",
32718
+ "description": "Requires at least one selected file for native form validation.\n\nDefault: `false`"
32719
+ },
32720
+ {
32721
+ "name": "name",
32722
+ "description": "Form field name. Each queued file is appended with this name.\n\nDefault: `''`"
32723
+ },
32724
+ {
32725
+ "name": "aria-label",
32726
+ "description": "Accessible name for the drop zone.\n\nDefault: `null`"
32727
+ }
32728
+ ]
32729
+ },
31846
32730
  {
31847
32731
  "name": "c2-virtual-list",
31848
32732
  "description": "A long list that only renders what you can see. It windows `items` to the visible range plus an overscan margin with\nthe same `VirtualScrollController` the data grid uses, so 50 000 rows cost the same DOM as 20, and it renders every\nvisible row as a real `c2-list-item` — the same markup, slots, selection styling and theme as `c2-list`.\n\n`@c2n/virtual-list`",