Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1000 commits
Select commit Hold shift + click to select a range
2147c48
fix `content` deprecatation warning (content-collections)
techniq Jan 8, 2026
91a5f32
Suppress state_referenced_locally warnings (for now)
techniq Jan 8, 2026
f8cdace
Fix `non_reactive_update` warnings
techniq Jan 8, 2026
9f8d8bc
Merge branch 'docs-v2' into state-refactor
techniq Jan 8, 2026
9a72795
Improve view transitions
techniq Jan 9, 2026
b7bf767
Merge branch 'docs-v2' into state-refactor
techniq Jan 9, 2026
af92a30
Add TODO reminder to re-add data reloaded after preloadFork behind ex…
techniq Jan 9, 2026
dbf1bbd
fix empty layer toggle showing small circle (#759)
cycle4passion Jan 11, 2026
918cecb
fix(Arc): Setting `strokeWidth` correct (when using Path component in…
techniq Jan 11, 2026
0f07ee5
Fix passing test props (`data-`, etc) to root container
techniq Jan 11, 2026
5b1286e
Add simple `series` to `TooltipState` and remove `TooltipPayload`. I…
techniq Jan 12, 2026
bd13cc3
Update Points and Labels to work with seriesKey. Pass props from Lin…
techniq Jan 12, 2026
f1fc457
refactor(LineChart): Remove unused getter prop functions (getSplinePr…
techniq Jan 12, 2026
29341d1
Merge branch 'docs-v2' into state-refactor
techniq Jan 12, 2026
3119b08
Workaround "Expression produces a union type that is too complex to r…
techniq Jan 12, 2026
0e024ec
refactor(ScatterChart): Move most logic to Chart/ChartChildren (like …
techniq Jan 13, 2026
0292e53
View transition scroll fix (#762)
cycle4passion Jan 13, 2026
5f3b553
Barchart dynamic height example (#763)
cycle4passion Jan 13, 2026
bf77ae0
Layer example (#761)
cycle4passion Jan 13, 2026
57192d4
Begin to consolidate AreaChart and BarChart into Chart / ChartChildren
techniq Jan 13, 2026
022ce5b
Update catalogs and screenshots
techniq Jan 13, 2026
becfa18
Merge branch 'docs-v2' into state-refactor
techniq Jan 13, 2026
1670005
Further consolidate BarChart into Chart / ChartChildren
techniq Jan 13, 2026
7267737
Make Bars/Bar series away (seriesKey) and move some logic from BarCha…
techniq Jan 13, 2026
12e0d30
Fix and simplify legend integration
techniq Jan 14, 2026
167dcce
simplify
techniq Jan 14, 2026
98e5460
cleanup
techniq Jan 14, 2026
29c1c0c
Remove TooltipConfig from TooltipState (can use ctx.series.isStacked …
techniq Jan 14, 2026
56aa39d
fix default tooltip header label
techniq Jan 14, 2026
447985e
Begin to consolidate PieChart into Chart / ChartChildren
techniq Jan 14, 2026
c536766
Begin to consolidate ArcChart into Chart / ChartChildren
techniq Jan 14, 2026
ad43917
Simplify legend
techniq Jan 14, 2026
260fb8a
Remove outdated `getAreaProps`
techniq Jan 14, 2026
d8e45e8
Remove outdated TooltipConfig
techniq Jan 14, 2026
547c3c6
Improve and simplify types
techniq Jan 15, 2026
a87d88f
format
techniq Jan 15, 2026
4b35d02
Handle automatic `percentRound` formatting when stackLayout === 'stac…
techniq Jan 15, 2026
9cbf902
Add `debug` prop to Chart and remove from each simplified Chart
techniq Jan 15, 2026
12f35be
Simplify and consolidate `<Chart props>` types
techniq Jan 15, 2026
44ef224
format
techniq Jan 15, 2026
427d6e3
Move series data handling into ChartState
techniq Jan 16, 2026
8bd5686
cleanup
techniq Jan 16, 2026
8a3e49f
Fix ScatterChart series tween example
techniq Jan 16, 2026
90caa72
format
techniq Jan 16, 2026
6a44fe2
Remove no longer needed `svelte-ignore ownership_invalid_binding`
techniq Jan 16, 2026
7667dad
refactor(AreaChart): Use default points (ChartChildren) instead of ex…
techniq Jan 16, 2026
a0dfd92
fix(Path): Set default `--fill-color` to `transparent` instead of `no…
techniq Jan 16, 2026
05143c0
Remove orientation/isVertical from ChartState and replace with valueA…
techniq Jan 18, 2026
0f494b9
refactor(BarChart): Use default labels snippet
techniq Jan 18, 2026
ed2424c
fix(LineChart): Re-add `orientation` prop (sets `valueAxis`)
techniq Jan 19, 2026
8b6fb70
Cleanup some types
techniq Jan 19, 2026
15537ae
Testing First Pass Arc (#760)
cycle4passion Jan 19, 2026
be50c6a
Merge branch 'docs-v2' into state-refactor
techniq Jan 19, 2026
bd90db7
Better export data prune (#765)
cycle4passion Jan 19, 2026
59d9865
Merge branch 'docs-v2' into state-refactor
techniq Jan 19, 2026
07cee8a
fix(Highlight): Support stacked series. Remove custom highlight snip…
techniq Jan 20, 2026
bd2a7c4
Fix tip
techniq Jan 20, 2026
8bb67aa
refactor(Area): Use Path component for rendering
techniq Jan 20, 2026
b8b870a
Add series highlight/opacity to Area, simplify AreaChart
techniq Jan 20, 2026
0a3c484
fix svelte-check
techniq Jan 20, 2026
0565e2d
refactor(Area): Remove unused `clipPath` prop
techniq Jan 20, 2026
dbc3db0
fix(Highlight): Browser loop due to undefined value producing `NaN` c…
techniq Jan 20, 2026
9b3e13a
Move `resolveAccessor` out of AreaChart/BarChart and into series.svel…
techniq Jan 21, 2026
85ad1fd
Improve example screenshot density on homepage
techniq Jan 21, 2026
a46bef8
Merge branch 'docs-v2' into state-refactor
techniq Jan 21, 2026
4b53b19
Update deps
techniq Jan 23, 2026
098848c
Update svelte to 5.48.1, fixing performance issues of Spike map (and …
techniq Jan 24, 2026
b6b90e3
Update svelte to 5.48.2 (fix `TypeError: $.wait is not a function`)
techniq Jan 24, 2026
00a65e4
Update data doc
techniq Jan 25, 2026
50078a4
Update examples
techniq Jan 25, 2026
3121573
Move series accessor logic into ChartState (WIP)
techniq Jan 25, 2026
6ef45d3
Merge branch 'docs-v2' into state-refactor
techniq Jan 25, 2026
7ed2820
fix(Text): Support explicit "\n" and set line-height (to match svg/ca…
techniq Jan 25, 2026
1affd58
Text playground fix (#768)
cycle4passion Jan 25, 2026
40b6f03
Rename word wrap with explicit n (#769)
cycle4passion Jan 25, 2026
3e289e5
Add `Path` to top-level exports and add basic example
techniq Jan 25, 2026
ad9c07d
Text trunc newline examples (#771)
cycle4passion Jan 26, 2026
bb3af0e
Utils updates (#770)
cycle4passion Jan 26, 2026
df51df5
cleanup
techniq Jan 26, 2026
ffa4697
Further arc tests (#767)
cycle4passion Jan 26, 2026
2fe4011
Geopoint icons remove controls (#772)
cycle4passion Jan 26, 2026
b5f2f57
Additional axis examples (#764)
cycle4passion Jan 26, 2026
a2bdb27
feat(Chart|Svg): Support passing `clip` prop to hide overflown content
techniq Jan 26, 2026
e97bce6
also add for `<Html>` layers
techniq Jan 26, 2026
3f447d9
Clipping (#774)
cycle4passion Jan 27, 2026
054236f
Text trunc wrap fix (#775)
cycle4passion Jan 27, 2026
660e617
Update deps (namely Svelte to 5.48.2 with dev-mode performance improv…
techniq Jan 27, 2026
2a9a90e
Add clip to collision detection example
techniq Jan 27, 2026
87c8794
cleanup import
techniq Jan 31, 2026
51f74e9
Stats (#776)
cycle4passion Jan 31, 2026
c0158fc
Missing clips (#778)
cycle4passion Jan 31, 2026
b07e94d
Merge branch 'next' into docs-v2
techniq Jan 31, 2026
d345fa4
Merge branch 'docs-v2' into state-refactor
techniq Jan 31, 2026
49bae56
Merge branch 'next' into docs-v2
techniq Jan 31, 2026
c1a9c15
Merge branch 'docs-v2' into state-refactor
techniq Jan 31, 2026
3144f72
add `User-Agent` header to make Github happy when running in Cloudfla…
techniq Jan 31, 2026
583745e
Open in LLM feature (#753)
cycle4passion Feb 1, 2026
0857262
Update deps
techniq Feb 1, 2026
bd6eb0e
fix dagre `module is not defined` after bumping deps (but not dagre t…
techniq Feb 1, 2026
965746a
Tree clips (#779)
cycle4passion Feb 1, 2026
7eb398a
fix build
techniq Feb 1, 2026
0875e23
Merge branch 'docs-v2' of https://github.com/techniq/layerchart into …
techniq Feb 1, 2026
6b17688
extract table of contents from markdown instead of html
techniq Feb 1, 2026
7f6c5bc
add toc to guides
techniq Feb 1, 2026
ff89b56
improve header and toc slugs when `:icon{..}` directives are used
techniq Feb 1, 2026
aa97d7c
remove `meta.tableOfContents` and just use `metadata.toc` to determi…
techniq Feb 1, 2026
781b0f2
Use IntersectionObserver for improve active highlighting
techniq Feb 1, 2026
5ae1a77
Update deps
techniq Feb 7, 2026
b6c9db5
Clip force text example
techniq Feb 7, 2026
f4dae49
flexsearch (#745)
cycle4passion Feb 8, 2026
d53f49c
Cleanup headers (especially remove duplicate "## Examples" headers ca…
techniq Feb 8, 2026
cebc5f8
add playwright-cli skills
techniq Feb 8, 2026
f477d3d
fix parent component's table of contents showing on examples
techniq Feb 8, 2026
c34e24a
generate:all (catalog, screenshots)
techniq Feb 8, 2026
263ab5e
remove "actions" export
techniq Feb 9, 2026
4c0a314
Add LineChart threshold example
techniq Feb 9, 2026
dc9dd94
fix threshold with linear gradient examples
techniq Feb 9, 2026
5af2200
add links
techniq Feb 9, 2026
2e53837
Do not highlight/mark examples in search
techniq Feb 9, 2026
0e8e0cb
Ignore anchor tags / hash fragment (ex. `#examples`) in llms.txt URLs
techniq Feb 9, 2026
5daee29
fix(Threshold): Properly clip `above` snippet (resolving 1/2 width cl…
techniq Feb 9, 2026
7396c10
refine
techniq Feb 9, 2026
57db60d
Add `defaultExample` to `components` collection to use first on docs …
techniq Feb 9, 2026
e4e977e
Improve ExampleScreenshot when image is not available, with fallback …
techniq Feb 9, 2026
bc3139d
Improve primitives doc
techniq Feb 9, 2026
c2de099
fix border on light mode
techniq Feb 9, 2026
83b8957
cleanup
techniq Feb 9, 2026
1ec6493
docs(Points): Add docs regarding color
techniq Feb 10, 2026
a2cea0d
Add Nocturne to showcase
techniq Feb 11, 2026
84f8e9f
fix(showcase): handle source-only items
techniq Feb 11, 2026
ef97712
Cmd K (uppercase) (#784)
cycle4passion Feb 12, 2026
9501c87
Fix loading web containers
techniq Feb 13, 2026
29461b2
remove color from Axis/arrow-markers example
techniq Feb 13, 2026
f69e7f2
Extract ExampleListing component and show additional examples at the …
techniq Feb 13, 2026
bf9c197
Improve/fix histogram examples (better axis ticks and use Rect instea…
techniq Feb 13, 2026
587a6c6
fix(BarChartControls): handling of interval and threshold sizing
techniq Feb 13, 2026
7419a20
generate:all to update catalog and screenshots
techniq Feb 13, 2026
b96f1ae
Hide playground menu item until it's more polished
techniq Feb 13, 2026
66fa730
fix clipping
techniq Feb 14, 2026
5076e2f
fix showing component source for layers (Layer, Svg, etc)
techniq Feb 14, 2026
f9aec82
fix(Bar): Fix bar rounding direction when using xReverse/yReverse wit…
techniq Feb 14, 2026
864fa67
fix(Bar): Fix bar rounding direction when using xReverse/yReverse wit…
techniq Feb 14, 2026
c80b6ff
remove reverse/annotations from example
techniq Feb 14, 2026
a052fc2
Merge branch 'docs-v2' into state-refactor
techniq Feb 14, 2026
d9762ff
Move data doc to content/guides like other guides
techniq Feb 14, 2026
8a32c05
Merge branch 'next' into state-refactor
techniq Feb 26, 2026
b66fc8b
Remove old reference
techniq Feb 26, 2026
7509c2d
remove unneeded page test
techniq Feb 26, 2026
593672e
Fix Arc tooltip test
techniq Feb 26, 2026
d32ab73
Integrate SeriesState into ChartChart and improve handling of series …
techniq Feb 27, 2026
8164c20
Improve examples page on small viewports
techniq Mar 1, 2026
c788ffb
Improve animated globe example on small viewports
techniq Mar 1, 2026
d97e88e
feat(Chart): Add cartesian pan/zoom via `transform={{ mode: 'domain' …
techniq Mar 1, 2026
b38a0d5
Improve interop between brush and transform
techniq Mar 1, 2026
9882896
Automatically clip marks when using transform mode: 'transform' (like…
techniq Mar 1, 2026
d0e3e0e
feat(Chart): Support `motion` prop to transition x/y scales using twe…
techniq Mar 2, 2026
7c66e99
Add a fallback transformState until bind is applied
techniq Mar 2, 2026
32db9fa
Update catalog and screenshots
techniq Mar 3, 2026
34f520b
Fix tootip/highlight handling for ScatterChart
techniq Mar 3, 2026
cd57e1d
Fix AreaChart with separate series data
techniq Mar 3, 2026
22b8e0a
Fix tooltip for ScatterChart single dimension example. Remove grid f…
techniq Mar 3, 2026
5b5db90
fix light mode screenshots
techniq Mar 3, 2026
4519618
Update remaining examples for `<Chart tooltip={...}>` => `<Chart tool…
techniq Mar 3, 2026
41b6055
Fix disabling tooltip context
techniq Mar 3, 2026
db2175b
Move brush, padding, and onTooltipClick from simplified charts (Area,…
techniq Mar 4, 2026
8e7c774
Update catalog
techniq Mar 4, 2026
4c142a1
fix(Area|Highlight): Properly handling diveraging stack layouts for n…
techniq Mar 5, 2026
8a4e6e8
Add support for setting scale, transcale, domain extents and custom c…
techniq Mar 9, 2026
322e0f8
regenerate catalog and screenshots
techniq Mar 9, 2026
91968be
Replace `geo.applyTransform` with `transform.mode: 'projection' | 'ro…
techniq Mar 9, 2026
a4e41d1
Support category for guides, group state docs
techniq Mar 9, 2026
22c00d5
simplify example
techniq Mar 9, 2026
cc5be1a
organize doc
techniq Mar 9, 2026
636aebc
fix translucent / backpane example (remove unneeded transform state s…
techniq Mar 9, 2026
f8e76d8
Swap order of play/pause and current feature after moving button from…
techniq Mar 9, 2026
424173a
Rename domainExtent `original` to `data`
techniq Mar 9, 2026
0722d42
Add examles for different `zoomTo` use cases
techniq Mar 9, 2026
25c628a
Add examples for each quick reference use cases
techniq Mar 9, 2026
3aca2e9
cleanup
techniq Mar 9, 2026
d4f51e6
Add pan zoom with dynamic data example
techniq Mar 9, 2026
378cef2
Clip highlight/points/labels as well when transform is enabled
techniq Mar 10, 2026
0528d81
feat: Add inertia (momentum) support for transform drag gestures
techniq Mar 10, 2026
4bb3757
Update data examples to use Chart instead of LineChart
techniq Mar 10, 2026
f0127b1
feat: Data driven primitives
techniq Mar 11, 2026
e8d285b
fix(TooltipContext): Support band mode with array-based range accesso…
techniq Mar 11, 2026
0efc244
Simplify histogram examples using new data-driven primitives
techniq Mar 12, 2026
26d9244
Moved valueAxis-aware grid/rule defaults from BarChart into ChartChil…
techniq Mar 12, 2026
c45ec8c
regenerate catalog and screenshots
techniq Mar 12, 2026
9c23de1
add planet distances example (TransformContext and more)
techniq Mar 12, 2026
cda26d2
feat: Add Image component. Resolves #628
techniq Mar 12, 2026
cb0f46a
Improve planet distances example
techniq Mar 12, 2026
8eff8e6
regenerate catalog and screenshots
techniq Mar 12, 2026
1b5b92f
add inertia dragging to animated globe
techniq Mar 12, 2026
a7259dd
Remove `transform={{ mode: 'rotate' }}` and handle with `transform={{…
techniq Mar 13, 2026
d1f7712
Add pan zoom domain extent example for BarChart
techniq Mar 13, 2026
654ff17
feat: Add Cell mark. Resolves #627.
techniq Mar 18, 2026
cee49d8
feat: Add Chord layout and Ribbon primitive
techniq Mar 18, 2026
352479c
Add gradient example
techniq Mar 18, 2026
750132f
Fix html pan/zoom image
techniq Mar 18, 2026
2e54567
Add Chord example with axis ticks
techniq Mar 18, 2026
baa08de
Add ridgeline example
techniq Mar 18, 2026
ddb3fc3
Improve ridgeline example
techniq Mar 18, 2026
e64b963
Add another ridgeline example
techniq Mar 18, 2026
472f381
generate catalog and screenshots
techniq Mar 18, 2026
ae21873
Add more examples to homepage
techniq Mar 18, 2026
e4dce08
Add oscilloscope-ridgeline example (WIP)
techniq Mar 21, 2026
d72f6a2
Merge branch 'next' into state-refactor
techniq Mar 21, 2026
190043d
Reduce Cloudflare Worker bundle size to stay under 25 MiB limit
techniq Mar 21, 2026
5e82466
Improve Chord/ticks example and fix "negative radius" error in Chord/…
techniq Mar 21, 2026
e2e66ec
re-add codemirror to allow resolving
techniq Mar 21, 2026
9678456
Improve Chord/hover tooltips
techniq Mar 21, 2026
64be6a4
feat: Add geo projection support for primitives (Circle, Rect, etc). …
techniq Mar 22, 2026
1005353
Add College football map example
techniq Mar 22, 2026
4be3312
feat(Spline): Support geo projection. Add geo route example
techniq Mar 22, 2026
bb62328
Move geo-route example from line to spline
techniq Mar 22, 2026
0dfd815
Improve oscilloscope frequency example (clipped high/unused frequencies)
techniq Mar 22, 2026
e0aa3ce
Add satellite example
techniq Mar 22, 2026
f25a847
Fix hash target scrolling
techniq Mar 22, 2026
6981a94
feat: Add Vector component
techniq Mar 22, 2026
c349e96
Update primitives to support data driven class, opacity, etc
techniq Mar 22, 2026
dcae0c4
Improve election-wind-map example
techniq Mar 22, 2026
fa7cd30
Replace flow-field example with wind-map
techniq Mar 23, 2026
e4e8772
update catalog and screenshots
techniq Mar 23, 2026
e7ed4cf
fix(Highlight): Use valueAxis instead of Array.isArray(yValue) for ax…
techniq Mar 23, 2026
69427ae
Add BarChart series-stack-separate-data example (issue #486)
techniq Mar 23, 2026
d90c8b3
fix(Points|Labels): Correctly position when using x1 / y1 scales (iss…
techniq Mar 23, 2026
65b2d02
fix(Points|Labels): Correctly position when using array accessors (du…
techniq Mar 23, 2026
abf69f6
update catalog and screenshots
techniq Mar 23, 2026
9442d3c
feat(Bar): Support fixed `width` and `height` props to override scale…
techniq Mar 23, 2026
594af7b
feat(Labels): Support `seriesKey` in `labels` prop to filter which se…
techniq Mar 23, 2026
2a497dc
update catalog and screenshots
techniq Mar 23, 2026
f6ae874
breaking(Brush): Redesign brush API
techniq Mar 23, 2026
354b8f3
feat(SeriesState): Support passing `selected` as part of series decla…
techniq Mar 24, 2026
6729923
Fix baseline for multi-series charts
techniq Mar 24, 2026
05d1c3b
Show guides not in category (ex. layers.md) before those in category …
techniq Mar 24, 2026
e4fa4d1
improve layout
techniq Mar 24, 2026
361b58b
feat(TransformContext): Add `scrollActivationKey` option to require a…
techniq Mar 24, 2026
efa3791
Fix brush sync beteween 2 charts (AreaChart/brush-sync)
techniq Mar 24, 2026
9fb0c1a
Fix zoomOnBrush test
techniq Mar 24, 2026
0135c4a
docs: Add tooltip guide
techniq Mar 24, 2026
62f5583
Add links between guides and context/api
techniq Mar 24, 2026
9566c67
refine
techniq Mar 24, 2026
5a8179f
cleanup
techniq Mar 24, 2026
049569e
Remove explicit order from guides (sort alpha) except overview
techniq Mar 24, 2026
7dbac68
Fix GeoSpline
techniq Mar 24, 2026
76b8fbb
Add geo guide
techniq Mar 24, 2026
c002e1c
clip histogram examples so transitions do not extend passed container
techniq Mar 24, 2026
8e50d6b
generate catalog and screenshots
techniq Mar 24, 2026
76c41da
Add animation guide
techniq Mar 24, 2026
bf0f659
Update state overview
techniq Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/afraid-jobs-say.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(Spline): Support geo projection
5 changes: 5 additions & 0 deletions .changeset/blue-rules-feel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

fix(Points|Labels): Correctly position when using x1 / y1 scales (issue #773)
5 changes: 5 additions & 0 deletions .changeset/breezy-oranges-drive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat: Add geo projection support for primitives (Circle, Rect, etc)
22 changes: 22 additions & 0 deletions .changeset/brush-api-refactor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
'layerchart': minor
---

breaking(Brush): Redesign brush API

**Breaking changes:**

- Remove `mode` prop ('integrated' | 'separated') — sync behavior is now driven by presence of `x`/`y` props
- Remove `resetOnEnd` — call `e.brush.reset()` in your `onBrushEnd` handler instead
- Remove `ignoreResetClick` — replaced by `clickToReset` (default `true`)
- Remove `onReset` event — check `brush.active === false` in `onBrushEnd`/`onChange` instead

**New features:**

- Add `BrushState.move({ x?, y? })` for programmatic selection control (like d3's `brush.move()`)
- Add `BrushState.selectAll()` to select the full domain extent
- Add `BrushState.reset()` to clear the selection
- Add `clickToReset` prop (default `true`)
- Add `zoomOnBrush` prop on Chart for simplified charts to opt into brush-to-zoom
- Move domain clamping, edge adjustment, and range computation logic into `BrushState` class
- Add `BrushChartContext` interface for easier testing
5 changes: 5 additions & 0 deletions .changeset/clear-moose-rush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

refactor(Chart): Add `debug` prop and update `settings` context
5 changes: 5 additions & 0 deletions .changeset/eighty-foxes-notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat: Add Image component. Resolves #628
5 changes: 5 additions & 0 deletions .changeset/fiery-lamps-tickle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(SeriesState): Support passing `selected` as part of series declaration (Ex. ` <Chart series={...}>`)
7 changes: 7 additions & 0 deletions .changeset/good-glasses-design.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
---
'shadcn-svelte-1': patch
'svelteux-2': patch
'skeleton-3': patch
'skeleton4': patch
'standalone': patch
'layerchart': patch
'daisyui-5': patch
'docs': patch
---

Removed lodash-es dependency
5 changes: 5 additions & 0 deletions .changeset/green-hotels-strive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

fix(Area|Highlight): Properly handling diveraging stack layouts for negative values (line, highlight point)
9 changes: 9 additions & 0 deletions .changeset/lucky-cats-stand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'layerchart': minor
---

feat: Add data mode to primitive components (Circle, Ellipse, Group, Line, Polygon, Rect, Text)

Primitives now accept string or function accessors for positional props (e.g. `x="date"`, `y={d => d.value}`) to automatically resolve values through chart scales and iterate over data. Components also accept an optional `data` prop to override chart context data.

Color properties (`fill`, `stroke`) can also be data-driven, resolving per-item through the chart's color scale (`cScale`). String values are disambiguated: data property names resolve through `cScale`, while literal CSS colors pass through unchanged.
5 changes: 5 additions & 0 deletions .changeset/lucky-worlds-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

fix(Points|Labels): Correctly position when using array accessors (duration charts, etc). Fixes #633
5 changes: 5 additions & 0 deletions .changeset/new-pans-serve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat: Add inertia (momentum) support for transform drag gestures
5 changes: 5 additions & 0 deletions .changeset/ninety-melons-tickle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat: Add Cell mark. Resolves #627.
5 changes: 5 additions & 0 deletions .changeset/pretty-roses-invent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

breaking(Chart): Rename `tooltip` prop to `tooltipContext` to better describe purpose and fix conflict with new `tooltip` snippet
5 changes: 5 additions & 0 deletions .changeset/purple-beers-smile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat: Add Chord layout and Ribbon primitive
5 changes: 5 additions & 0 deletions .changeset/rename-scroll-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

breaking(TransformContext): Rename `initialScrollMode` to `scrollMode` and make it reactive
5 changes: 5 additions & 0 deletions .changeset/ripe-numbers-speak.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

feat(Chart): Support `motion` prop to transition x/y scales using tween or spring
5 changes: 5 additions & 0 deletions .changeset/scroll-activation-key.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(TransformContext): Add `scrollActivationKey` option to require a modifier key (meta, alt, control, shift) for scroll/wheel zoom/pan, preventing accidental page scroll from triggering transforms
5 changes: 5 additions & 0 deletions .changeset/shiny-mails-hug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(Transform): Add zoom/pan constraints (`scaleExtent`, `translateExtent`, `constrain`, `domainExtent`), replace `geo.applyTransform` with `transform.mode: 'projection' | 'rotate'`, and reactively sync initial transform values on projection changes
5 changes: 5 additions & 0 deletions .changeset/silver-baboons-smile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

breaking(Arc|Pie|Calendar|GeoPath): Rename `tooltipContext` to simple `tooltip` (boolean), simplifying use case
5 changes: 5 additions & 0 deletions .changeset/small-moles-jog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(Bar): Support fixed `width` and `height` props to override scale-derived dimensions, centering the bar within its band. Resolves #360
5 changes: 5 additions & 0 deletions .changeset/smooth-domains-zoom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(Chart): Add cartesian pan/zoom via `transform={{ mode: 'domain' }}` with single or both axis support. Resolves #366
5 changes: 5 additions & 0 deletions .changeset/twenty-teeth-stand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': patch
---

fix(TooltipContext): Support band mode with array-based range accessors (e.g. histograms using `x={['x0', 'x1']}`)
5 changes: 5 additions & 0 deletions .changeset/warm-labels-shine.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(Labels): Support `seriesKey` in `labels` prop to filter which series renders labels. Resolves #633
5 changes: 5 additions & 0 deletions .changeset/wide-pillows-march.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat(Rect): New edge-based props (`x0`/`x1`/`y0`/`y1`) along with existing (`x`/`y`/`width`/`height`) and `insets` support
5 changes: 5 additions & 0 deletions .changeset/wide-wasps-enjoy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'layerchart': minor
---

feat: Add Vector component
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ coverage/
.vscode

test-*
.vitest-attachments/

# Content Collections
.content-collections
Expand Down
1 change: 1 addition & 0 deletions docs/content-collections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ const guides = defineCollection({
schema: z.object({
title: z.string(),
description: z.string().optional(),
category: z.string().optional(),
order: z.number().optional(),
draft: z.boolean().default(false),
content: z.string()
Expand Down
1 change: 1 addition & 0 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@
"@webcontainer/api": "^1.6.1",
"ansi_up": "^6.0.6",
"codemirror": "^6.0.2",
"d3-geo-projection": "^4.0.0",
"flexsearch": "^0.8.212",
"satori": "^0.26.0",
"satori-html": "^0.3.2"
Expand Down
8 changes: 8 additions & 0 deletions docs/src/content/components/Area.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ See also: [AreaChart](/docs/components/AreaChart) for simplified examples

:example{ name="basic" showCode }

### Ridgeline

:example{ name="ridgeline" showCode }

### Ridgeline (KDE)

:example{ name="ridgeline-kde" showCode }

### Playground

:example{ name="playground" }
8 changes: 7 additions & 1 deletion docs/src/content/components/Bar.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,10 @@ related: [Bars]

:example{ component="Bars" name="vertical-customize-individual-styles" showCode }

Typically the component is rendering within the `Bars` mark but can be rendered explicitly when you need more control on a per-mark basis
Typically the component is rendered within the `Bars` mark but can be rendered explicitly when you need more control on a per-mark basis.

## Fixed width

Use `width` or `height` to override the scale-derived size with a fixed pixel value. The bar is centered within its band.

:example{ component="Bars" name="vertical-fixed-width" showCode }
6 changes: 6 additions & 0 deletions docs/src/content/components/BarChart.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ related: [Chart, Bars]
See also: [Axis](/docs/components/Axis) for examples of using time scale axes with bar charts
:::

## Fixed width

Use `width` or `height` on bars to override the scale-derived size with a fixed pixel value. The bar is centered within its band.

:example{ name="vertical-fixed-width" showCode }

<!-- ## Examples

### Vertical (default)
Expand Down
6 changes: 6 additions & 0 deletions docs/src/content/components/Bars.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,9 @@ See also: [BarChart](/docs/components/BarChart) for simplified examples
## Usage

:example{ name="vertical-basic" showCode }

## Fixed width

Use `width` or `height` to override the scale-derived size with a fixed pixel value. The bar is centered within its band.

:example{ name="vertical-fixed-width" showCode }
8 changes: 6 additions & 2 deletions docs/src/content/components/BrushContext.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ related: []

:example{name="separate-chart-(filter-data)"}

### Sync brushes with `bind:xDomain`
### Synced brushes

:example{name="sync-brushes-with-bind-xdomain"}
:example{name="synced-brushes"}

### Tooltip interop

Expand All @@ -67,6 +67,10 @@ related: []

:example{name="selection"}

### Programmatic control

:example{name="programmatic-control"}

### Minimap

:example{name="minimap"}
38 changes: 38 additions & 0 deletions docs/src/content/components/Cell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
description: Mark component which draws rectangles or circles positioned in two ordinal dimensions, ideal for heatmaps, grids, and punchcards.
category: marks
layers: [svg, canvas, html]
related: [Rect, Circle, Bar]
---

## Usage

### Basic

Use `Cell` with two `scaleBand` dimensions to draw a grid of cells. Each cell is automatically sized to the band width and height.

:example{ name="basic" showCode }

### Color scale

Map cell colors to data values using `c`, `cScale`, `cDomain`, and `cRange` on Chart with `fill` on Cell.

:example{ name="color-scale" showCode }

### Rounded with insets

Use `insets` to add spacing between cells and `rx` for rounded corners.

:example{ name="rounded-insets" showCode }

### Circle

Set `shape="circle"` to render circles centered within each cell.

:example{ name="circle" showCode }

### Punchcard

Combine `shape="circle"` with the `r` scale to size circles by a data value, creating a punchcard chart.

:example{ name="punchcard" showCode }
34 changes: 34 additions & 0 deletions docs/src/content/components/Chord.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
description: Layout component which computes a chord diagram from an adjacency matrix, rendering group arcs and ribbon paths to visualize relationships and flow between categories.
category: layout
layers: [svg, canvas]
related: [Arc, Ribbon]
---

## Usage

:example{ name="basic" showCode }

## Directed

Use `variant="directed"` with directed `Ribbon` to show flow direction with arrowheads.

:example{ name="directed" showCode }

## Gradient

Ribbons with per-chord gradients blending source to target colors, with hover interaction.

:example{ name="gradient" showCode }

## Radial ticks

Chord diagram with radial tick marks and labels around the outer ring, based on the [Observable D3 chord diagram](https://observablehq.com/@d3/chord-diagram).

:example{ name="ticks" showCode }

## Hover interaction

Hover over groups or ribbons to highlight connections.

:example{ name="hover" showCode }
22 changes: 15 additions & 7 deletions docs/src/content/components/Circle.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,26 @@ related: [Points]

## Usage

### Pixel mode

Pass numeric pixel values for `cx`, `cy`, and `r` to position and size circles directly.

:example{ name="styling-using-classes" showCode }

<!-- ## Examples
### Data mode

Pass string property names or accessor functions to `cx` and `cy` to have values resolved from data and scaled automatically. The component renders one circle per data item.

:example{ name="data-mode" showCode }

### Styling using classes
### Color via ordinal scale

:example{ name="styling-using-classes" }
Use `fill` or `stroke` with a data property name to color each item through the chart's color scale.

### Styling using attributes
:example{ name="color-via-ordinal-scale" showCode }

:example{ name="styling-using-attributes" }
### Color via threshold scale

### Styling using CSS variables
Use a threshold scale to color items based on value ranges.

:example{ name="styling-using-css-variables" } -->
:example{ name="color-via-threshold-scale" showCode }
Loading
Loading