Conversation
Contributor
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
commit: |
🦋 Changeset detectedLatest commit: eedaca4 The changes in this PR will be included in the next version bump. This PR includes no changesetsWhen changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Merged
Merged
* Initial migration to Tailwind 4 (and layerstack/svelte-ux @next) * Format project * Update all the non-transparent CSS variables to remove the hard coded `hsl()` (as variable now includes the color function) * fix(LinearGradient): Handle `tw-gradient-[from|to]` no longer inheriting * Cleanup * fix(Spline): Pass `fillOpacity` prop (instead of `fill-opacity`) to support Canvas * Update semi-transparent CSS variable usage to use `opacity`, `fillOpacity` or `color-mix()` depending on the usage * Add changeset * Use `1%` instead of `0%` opacity for gradient examples to workaround gray gradient issue due to TW4's use of `color-mix()` details: https://bsky.app/profile/techniq.dev/post/3lk6qr6e5b22t * Refine getting started * Restore prose heading styling (size/bold/margin) * fix: Support `opacity` prop/style when Canvas rendered for all primatives * docs(LineChart): Fix "Gradient threshold" highlight and tooltip color
* Initial migration to Tailwind 4 (and layerstack/svelte-ux @next) * Format project * Update all the non-transparent CSS variables to remove the hard coded `hsl()` (as variable now includes the color function) * fix(LinearGradient): Handle `tw-gradient-[from|to]` no longer inheriting * Cleanup * fix(Spline): Pass `fillOpacity` prop (instead of `fill-opacity`) to support Canvas * Update semi-transparent CSS variable usage to use `opacity`, `fillOpacity` or `color-mix()` depending on the usage * Add changeset * Use `1%` instead of `0%` opacity for gradient examples to workaround gray gradient issue due to TW4's use of `color-mix()` details: https://bsky.app/profile/techniq.dev/post/3lk6qr6e5b22t * Refine getting started * Restore prose heading styling (size/bold/margin) * fix: Support `opacity` prop/style when Canvas rendered for all primatives * docs(LineChart): Fix "Gradient threshold" highlight and tooltip color
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix imports * fix overrides * expose two way binding for chart context on simplified * document change * shutup svelte * remove unused * cleanups * more unused * enhanced labels * cleanup types * line chart line class * annoying aliases * rid some type errors * expose a bunch of useful information via snippet props * fix pie tween * initial ArcChart component * arc chart * arc chart tweened * remove unused * more * types * arc payload * consolidate context * more * overridable arcs * some more * lets try again * lets see * fix: highlight color based on tooltip regression * fix: tooltip * remove logs * fix compound * fix: y grid lines * fix tree html alignmnet * remove unused * bit better sankey * fix perf of forcetree * tried * tried * fix force drag sticky * fix: linear gradient canvas * fix: scatter chart highlighting * fix legend slot override * update title * fix pie and tooltip * more * faster globe * sankey node select * did this work * link:href -> href * motion overhaul * fixed things * wow that was so obvious * cleanup * simplify createMotion * temp * are you not entertained? * hm * perfs * changes doc * more * canvas context handling * fix brush context * canvas adjustments * padding works on pack but selected does not react * update sankey example * better than nothing * fix(AnimatedGlobe): Fix showing selection (geo feature and button) * pack * fix: parseMotionProp * remove logs * remove translate options from animated globe * cleanup: Pack example * use fetch from load function * make hierarchy required * fix partition horizontal and vertical * init text trunc * text truncation * canvas text rotation * canvas text transforms/rotates/anchors * cleanup example * arcchart * arcchart docs defaults * fix(ForceText): Update pointer node reactivity * remove unused * fix(ForceSimulation): Fix de-registering forces * fix(Link): Properly set curve via prop * fix(Treemap): Fix filterable example (in/out transitions) * fix(Partition): Fix filterable example (in/out transitions) * fix(Bar): Initialize x/y accessors from context, fixing valueAccessor when determining `rounded="edge"` * fix: tween path * types * docs(Spline): Fix motion default "tween" selection * fix: resolved motion types * cleanup: stop abusing unnecessary object spreads * force tree: connected nodes but a bit laggy * force tree: no need to structured clone * force tree: improve perf * chore: re-enable ssr * chore: re-disable ssr because weirdness * fix: imports * fix(ForceSimulation): Rename `cloneData` to `cloneNodes` (more representitive), apply on pull instead of push, which fixes ForceText example. Remove from Beeswarm and ForceGroup (no longer needed?) * grid: distinguish radial class names * chore: consolidate common series logic * chore: consolidate common legend logic * feat: default tooltip to stackable simplified charts * fix tick resolution * ticks unit tests * fix track arc range * fix: canvas context resetting issue * simplify chart.svelte * 1.5 way binding * fix: tooltip hide delay * docs(ArcChart): Add starting angle examples * fix: brush reset * fix: pie chart legend filter * fix(Spline): Handle "The element's path is empty" * feat: add `track*` props to `Arc` * feat: add `track*` props to `Arc` * chore: remove unused * docs(Text): Use unicode `…` by default * feat(ArcChart): Support using negative outer radius for single series charts * docs(ArcChart): Add radius examples for offset, percentage, and fixed values * Cleanup some typescript errors * Simplify * docs(AreaChart): Add Threshold example * fix(PieChart): Correct handling explcit colors per segment * docs(PieChart): Add Segments example * feat: initial text path * feat(text): arc truncate * feat(Arc): `arcTextPaths` and `trackTextPaths` * temp: for sean * flip * chore: remove red lines * renames * closer * tough * Separate and qualify sankey and dagre utils * Extract `dagreGraph()` util to easily build a `dagre.graphlib.Graph` from a `DagreGraphData` instance * wip: text path * Add label examples * types * chore: graph does not need to be in an $effect * Fix reversing text arc based on start angle and direction * Tighten up examples slightly * Fix imports * fix(BarChart): Pass `xDomain` via `restProps` (not used otherwise) * refactor: text path props * fix: arc text path corner radius adjustments * fix: arc corner radius adjustments * Fix(Calendar): Correct default cell class * docs(Arc): Improve playground defaults / cleanup * feat: handle custom startOffsets * chore: arc text include centroid * docs(ArcChart): add arcs label example * fix: types * feat: label naive outer radius padding option * feat: centroid reacts to offset for accurate centroid * Rename isGroupSeries / isStackSeries variables * feat: outer-radial labels for arcs * wip: Connector component * Begin to add support for radial BarChart * docs(Connector): cleanup demo * docs(Connector): cleanup demo * feat(Connector): add markers * feat(Connector): motion support * feat(connector): tree support * fix: Force Tree links * fix: ArcText types * More radial BarChart support * feat(TooltipContext): Support radial `band` mode via Arc * feat(Highlight): Add area radial support * fix(BarChart): Show y grid by default when radial * docs(BarChart): Add radial weather example * Add a few more examples (WIP) * docs(Tree): Tweak options layout * fix(Grid): Progress to support `bandAlign` for <BarChart radial>` * fix(Hightlight): Fix radial area highlights with defined min yRange (i.e. hole in middle) * fix(Axis): Center align radius labels * docs(LineChart): Add Preview around "Brush with series point events" example * fix(BrushContext): Update `isActive` when cleared or set externally * feat(BrushContext): Add `ignoreResetClick` prop. Useful to add click handlers to marks (requires externally resetting). * fix(BrushContext): Fix `ignoreResetClick` default and still hide brush if `resetOnEnd` set (just don't reset) * fix(Grid): Properly handle radial x-axis lines when using `bandAlign="between"` * feat(BrushContext/BarChart): WIP scaleBand brush support * docs(LinearGradient): Use children snippet with `gradient` prop for better readability (and typical use case) * breaking(Pattern): Align with LinearGradient and use `children` snippet to apply pattern and `patternContent` for the definition (will support simplier pattern definitions and canvas in future) * feat(Pattern): Add simplified line patterns * feat(Pattern): Simplify pattern definition further (use common `size` for `width`/`height`, removing spacing from each line (use pattern size). Support single lines as object and boolean for simple use cases * feat(Pattern): Add simplified circle patterns * feat(Pattern): Add support for `background` and update remaining examples (fill, gradient) * fix(AreaChart): Handle separate series data with `seriesLayout="stack"` * Update Connector docs * Add changesets * Add changeset * fix(ScatterChart): Support color scales based on value (such as threshold) * docs(LineChart): Fix data preview for brushing example * feat: Add Annotation components (AnnotationPoint, AnnotationLine, AnnotationRange) * Rename `description` to `details` and support any structure (not just string) * Split annotation components into separate docs pages and nav section * Resume Placement type in Legend, Tooltip, and TransformControls and export top-level * feat(AnnotationLine): Support label with placement/offset options * Remove default color-styling to labels. Add line with range example * Cleanup docs * feat(AnnotationRange): Support label with placement/offset options * Add default values for both defaultChartPadding() arguments (axis, legend) * feat(AnnotationPoint): Support label placement/offset and add explicit `r` (radius) * Place label side line when vertical and top/bottom or horizontal and left/right placement (i.e. in padding) * Fix imports * feat: Integrate `annotations` into LineChart (other simplified charts to follow) * Fix/workaround svelte-check errors * Improve annotation types * feat: Add `Layer` component to easily switch between Svg, Canavs, and Html layers * docs: Move gradients and pattern to "fill" category * Expose Layer in top-level exports * Use Layer in more docs * docs(LinearGradient): Add render context toggle * layer type * Cleanup * feat(Pattern): Initial canvas support * Cleanup * Cleanup * docs(Pattern): Change default back to svg * Add pattern canvas to DOM to allow computed styles to be read (`getComputedStyles()`) * fix(LineChart): Move ChartAnnotations back into primary Layer to fix interactivity (hover annotation point) now that Pattern supports Canvas * feat(AreaChart): Add `annotations` support * feat(ScatterChart): Add `annotations` support * feat(BarChart): Add `annotations` support * fix BarChart "Axis labels inside bars (using Labels)" example (using Points within Labels requires function accessor to return explicit value instead of being interrupted as index value) * Update packages * Downgrade mdsvex from 0.12.5 to 0.12.3 to fix "Cannot invoke `use` on a frozen processor" (will look at later or switch to mdsx) * Uninstall layercake dependency (no longer used) * Use new `@layerstack/svelte-state` instead of internal * Update @layerstack/svelte-state and use class-based SelectionState. Update `createHighlightKey()` and `createSeriesState()` to be class-based `HighlightKey` and `SeriesState` * Fix type * Fix import * Add `Connector` to top-level exports * Use movable action on Connector example. Move to common location (will update @layerstack/svelte-actions impl (event callbacks) * doc(Connector): Simplify * fix(Text): Respect font weight when canvas rendered --------- Co-authored-by: Sean Lynch <techniq35@gmail.com>
* Version Packages (next) * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Sean Lynch <techniq35@gmail.com>
…nt` access when passed directly
Merged
Merged
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fix chartMode bind:value for controls * Remove no longer needed imports * Support explicit order for menu items (ex. move Chart, ClipPath, and GeoContext to top of their category) * Downgrade svelte from 5.43.14 to 5.41.4 (pre-fork 5.42.0) * fix(Bar): Fix browser lockup when switching between group and stack layouts * Fix and simplify group / stack config for examples * fix(ImageLink): Label truncation * Add Tools/Pivot (#694) * Add Tools and Perf examples (#695) FYI - Show all seems to force reactivity issues/rendering wrong. If you look at them individually it works better. * BarChart/Series-diverging xPadding (#696) bar labels were overlapping axis labels for top/widest bar so gave them some room. * BarChart/group-series-padding bandPadding (#697) band were narrow enough were labels at top were nearly colliding, made bands wider with padding. * BarCharts/axis-labels-inside-bars (#698) added larger text inside bar to match simliar example "axis-labels-inside-bars-using-labels" * Barchart/custom-chart Fix (#699) Was not a working example. Created based on our discorc discussion. * BarChart/sparkbars (#700) - "Sparkbar-fixed-position tooltip" - use format so not so many decimals. - "sparkbar-within-a-paragraph-with-tooltip-and-highlight" - same reduction of decimals. * Getting Started Spelling Error (#701) custimize -> customize * Move component examples under examples/components, add utils route/menu/etc * Fix generate-screenshots.ts and update all screenshots and catalog info * Remove direct perf examples from LineChart docs * Fix border color for top-level items * Update integration examples to use `next` instead of workspace version and `adapter-auto` to make compatible with StackBlitz * Add simple-icons collection * Improve getting started page * Update to latest svelte (fixed reactive issues we were experiencing) * Added TabbedContent.svelte (#703) * Added TabbedContent.svelte Component allows for source code options in a compact tabbed interface. I have also added a prop to Code.svelte `includeCopyButton` defaulted to true. This option allows removal of copy button if code is more pseudocode which shouldn't be copied completely. i.e ```js <script lang="ts"> import { Chart } from "layerchart"; ... </script> ``` * Fix typo. Add Svelte UX tab * Qualify class override just in case --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Update svelte to latest (5.44.0) * Use AnimationFrames instead of TimerState * Adjust some logic * Change default buffer size to 1k * Bump Svelte to 5.45.2 * Fix CI due to `skeleton-4.css` * Getting Started (#706) * Getting Started - Minor changes `Example.svelte` - Removed double nested border - Fixed “round-b-sm” - Update to `Code.svelte` - Added support for language icons (css, JS, TS, JSON, Terminal, Svelte, HTML5 - Added title prop used to conditionally display header with language icon and filename - Renamed `includeCopyButton` prop to `copyButton` accepting true | false | hover - Removed `TabbedCode.svelte`, now used generic/reusable `Tabs.svelte` - New `Tabs.svelte` - tab titles via keys prop, other props c/w Svelte UX Tabs. and children snippets for content - Remove prior global css tageting active tab - `ActiveClass` prop allowing custom css for the active tab Simple Example ``html <Tabs keys={['Tab A', 'Tab B']} > {#snippet content(value)} <div class="p-2"> {#if value === 0} This is unique Content of Tab One. {:else if value === 1} This is different content for Tab Two. {/if} </div> {/snippet} </Tabs> ``` - New `Steps.svelte` Component - Did not use Svelte UX Steps or Timeline - they are object based which gets complicated with nested components like `<Code />`, `<Example />`, and `<Tabs /> - No props, just children snippets Simple Example ```html <Steps> {#snippet step1Title()} Step One Title {/snippet} {#snippet step1Content()} Step One Content {/snippet} … ``` * Cleanup some styles * Fix import. Tweak styles * Tweak wording. Fix links * Show examples for creating projects with different package managers --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Steps redo (#707) * Steps-redo Removed TabbedCode.svelte (was from old implementation) Removed clever code, now Uses Steps with Step. * Steps Redo Removed clever code now uses Steps and Step components. Removed TabbedCode - orphaned * Fix getting started links * AreaChart Padding fixes (#708) * AreaChart Padding fixes * Remove console.log --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Update Svelte/Kit packages * Update deps * Prettier format * Fix `<BarChart seriesLayout="group">` * Reduce height of `single stack with indicator` example * fix(Layer): Make prettier happy * Improve screenshot route (do not use inherit layout) * Fix transparent background for screenshots, and add `--all` to force regenerating all * Use javascript/movable action instead of css to fix overfllow. Also set max-width to not allow resize being than original * Update Svelte to 5.45.5 * Fix pivot casing * Disable resizing for pivot examples * Add RelatedLink to improve handling of `related` frontmatter links * Cleanup pivot examples * Improve overfllow / clipping and resizing for ColorRamp, Pattern, and Gradient examples * Reactive Domain-Range Component (#710) * Reactive Domain-Range Component Could not figure out how to bind a derived value to expose customDomain and customRange for use in md. Tried to do hover over domain with tooltip showing equivilent range and vice versa. Svelte Tooltip doesn't work as tooltip does not follow cursor. Have never seen tooltip implementation that does. html title works, but is janky and looks like trash. I also found that within triplebackticks, values like {lowDomain} and not interpreted. I had to use <code></code> * Create `movable` as Svelte attachment (works with components) * Create Chart-based domain range example * Only apply feature column background on small viewport to allow hover styling to work (not optimal, but works for most use cases) * feat(Circle|Rect): Support passing children snippet for Html layers * Refine display of DomainRangeChart * feat(Code): Strip indention of code * Refine DomainRangeChart. Cleanup old impl. * Animate value with play/stop button * Improve pointer handling * Extract out common ResizableRect * Add grid lines for better referenence * Refine inline code styling * Add links to scales * Improve scale docs --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * PieChart-fruit-colors (#712) - defined importable `$lib/utils/data/fruitColors` array. Allow for usage matching fruitdata with color without cluttering simplier examples where colors were not explicitly defined. - weird tooling problem - see "Tooltip-click" code, the part that removes the export data linr is breaking here, not sure why? ```js /* istanbul ignore next *//* c8 i... ``` * ArcChart fruit colors (#713) - again used imported `$lib/utils/fruitColors` * BarChart-padding (#714) - used {...defaultChartPadding} with additions of custom padding. Did not update working ones. * LineChart-padding (#715) - used {...defaultChartPadding} + customs - "axis-labels-inside" added y rule to call attention to labels inside, added xpadding and yNice. - "oscilloscope-time" - added gradient - "series-veritical" and "vertical" centered * Chart-padding (#716) - nothing else * Axis-padding (#717) - used "defaultChartPadding" - "radial-grid", "radial-rule" - fixed overlapping labels at 12 oclock Co-authored-by: Sean Lynch <techniq35@gmail.com> * ScatterChart Padding (#711) - used ...defaultChartPadding as basis then added needed custom padding. I did not update examples already customzing padding correctly like padding={{24}} - also added xNice to many examples to prevent data from crashing into yAxis - "Domain nice" Example added toggling on/off nice to illustrate effect better. * Fix $examples import alias * Update catalog * Update screenshots * fix(stripIndent): Only remove leading/trailing empty lines * breaking: Extract `Path` primitive component from `Spline` for better separation of concerns * Fix type errors * Update GeoPath to use Path primitive * Remove geojson/topojson/shapefile previews from GeoContext docs (just examples) * Cleanup Spline * padding-all-primitives (#719) * padding-all-marks (#720) * Padding all geo (#721) * Fix choropleth example (#688) Fixes #687 by switching away from wrongly implemented nullish coalescing operator. There are probably a couple different ways to do this, so this is just one that seems simple and effective. * padding-all-geo --------- Co-authored-by: Garik Asplund <111464359+garikAsplund@users.noreply.github.com> * Fix bad merge * scales-update (#722) - left/right handles were "overflowing" main rect, dropped rx prop instead use of rounded-l and rounded-r. - added slight 2px padding for left/right bound text fixed "appearance' of assymetric postioning of play/stop icons * Playground (#723) * Playground - NEEDS WORK - Took as far as I could - not sure of needed imports - Still Cross-Origin probs, despite [WebContainers Docs](https://webcontainers.io/guides/configuring-headers#sveltekit) - needs app.css too * Rename +page.md to +page.svelte * Fix setting up WebContainer * Setup CodeEditor using codemirror * Add loading status. Refine template * Improve loading state * Remove extra data file * Add light/dark CodeEditor theme * Begin to add paneforge * Fix console pane resizing * Add minSize to code/preview panes * Fix build by using vite `import.meta.glob` with `?raw` instead of trying to read files using `fs` at runtime * Speed up playground dep installing using pnpm instead of npm * Fix hot reloading playground page (WebContainers) * Begin to wire up the console output --------- Co-authored-by: Scott Rhamy <scott@rhamy.com> * Add `@iconify-json/vscode-icons` (colored icons) * Update deps * header-for-utils-spacing-fix (#729) There was double wide y spacing between last Category (Components/Other) and Utils Header because `mb-6` in DocsMenu Component Section. I changed to `mb-6 last:mb-0` * marker-controls-fix (#728) the same controls are used for many marker examples. Some need start/mid/end controls, others do not. Fixed them appropriately. * utils-cls-format-string (#726) no further errors * getting-started-again (#725) - bundlers now linked. Changing the bundler in one step syncs it in other bundler steps - Tabs now support prop Icons - Added icons for bundlers * playground-wip (#724) see TODO in playground.svelte. * simplified-charts-WIP (#727) - something for you to iterate off - fixed a padding problem on LineChart/Legend. * Add shiki diff and line highlighting support * Refine docs * Leave breadcrumb for improving syntax highlighting * Move diff/line highlighting to app.css and use tailwind classes to simplify * Enhance code block handling with title support and styling improvements * lineargradient-horiz-scrollbars (#730) Linear gradient examples with lot of bars (tailwind-colors and units) commonly get clipped horizontally on narrower screens or with expanded sidepanel. This adds horizontal scrollbars when needed. * Replace custom `shikiLineHighlightTransformer` with official `@shikijs/transforms` `transformerMetaHighlight` * Add scrollbar styling * colorramp-update (#732) - fix for Example, allowing noResize to work - added noResize for all examples - added slight pr-2 for all examples to separate from scrollbar. * annotationpoint-update (#731) * annotationpoint-update - fixed annotation tooltip on "Line-to-point" - fixed apple events for annotation "Line-to-point" - Added "Apple Stock" Title for "Line-to-point" - "Series-annotation" - changed color for text to stand out. - fixed some padding * annotationpoint-update - line-to-point back to secondary color for annotation. less apt to break on copy/paste (no color-apples likely available), agreed looks better on lightmode (previously forgot to check). * annotationpoint update remove unnecessary import * Change annotation styles from 'apples' to 'secondary' --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Move markdown examples to `/docs/markdown` * markdown-examples (#733) - added code (w/interpretation) to illustrate how each one is implemented. * more-custom-icons (#735) * more-custom-icons - Relates to Getting Started Page. - updated tabs to use custom icons for shadcn-svelte, skeleton, svelteux, daisyui, unocss and vanilla CSS (defined in vite.config.ts. - added reference to unocss start project (coming separate PR). - sliglt update of copy text to note unocss. * Replace custom tailwindcss and unocss icons with vscode iconset * Install @iconify-json/logos iconset and use for tailwind (more vibrant) and unocss (for consisistency). Remove `<Icon>` component wrapper and use icon component directly. Refine some wording --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Support local examples via `<Example path="./Foo.svelte">` along with the existing `<Example component="Foo" name="bar">` * Remove lodash-es dependency (#734) * refactor: migrate from lodash to layerstack/utils * build(deps): bump layerstack * refactor(utils): simplify get call * chore: add changeset * Fix playground padding/scroll * Fix toggling console via "Console" * Fix export * Fix `source` link for Chart * Improve console auto scrolling including only auto-scroll if currently at bottom * Fix accidental overflow scrolling from background grid/gradient * Create a separate playground template and streamline the deps * Fix bars pattern examples * unocss (#738) * unocss WIP colors issues * Switch to wind4 unocss preset and generate theme css variables (`--colors-*`) * Add <main> padding to match other examples * Remove unocss reset to fix conflict with tooltip (and other) default styles that use layers (ex. components) and `:where` with 0 specificity --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Split mdsx config into multiple files for better readability * Support svelte live code blocks * Add `:::steps` and `:::note` markdown directives * Switch from remark-directive to remark-mdc, add support for `::tabs` / `:::tab` and `:icon` * Markdown components (#740) * Improve Tabs/Tab component to sync state if `::tabs{key="foo"}` is used * Add :button markdown component * Rename remarkDirectives to remarkComponents * Add :example markdown component * Migrate getting started to new markdown components * Update lockfile * Fix scale page (array variabe access broke in markdown) * Update markdown icon loading to utilize unplugin-icons import/components instead of Icon component with runtime iconify loading * Fix typo * Fix Skeleton icon color * Improve framework tab organization * Fix alignment of source/stackblitz buttons * Remove unused `rehypeCodeBlockTitle` and rename `rehypeHandleCodeBlocks` to `rehypeCodeBlocks` * Add file type icons and improve title handling * Tweak styling of steps and paragraphs * Add copy code buttons to markdown code blocks * Adjust some padding * Add `showLineNumbers` styling and improve code block styling (handle within pre.svelte) * More styling refinements * Improve blockquote styling * Convert kebab-case attributes (show-code) to camelCase to match Svelte props (for some reason `:example{showCode=true}` would become `show-code` * breaking: Change `defaultChartPadding(axis, legend)` to `defaultChartPadding({ axis, legend })` and support overrides (ex. `defaultChartPadding({ left: 50 })`) * update components to use :example (#742) * update components to use :example - <Example /> to :{example} - fix a few accumulated showCodes, they were in commented out code, but fixed nontheless. - updated markdown examples to show code for how to use newly added functionality. * Fix and simplify Treemap example * pnpm format * Fix multiple live code within tabs * Fix Arc see also tip --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Add h4 markdown component * Change header anchor icon to show before instead of after * Show small up arrow for external links * Improve loading performance of examples in markdown by eagerly loading only referenced examples. (#743) * Regenerate catalog * Optimize example loading with dynamic imports Replace import.meta.glob with dynamic imports for example loading to prevent Vite from pre-transforming all 709 example files on every page. - Add $lib/examples.ts with loadExample() and loadExamples() functions that use dynamic imports to load examples on-demand - Add $lib/examples-glob.ts for screenshot generation which still needs to iterate all examples - Update loadExamplesFromMarkdown() to use dynamic imports instead of requiring glob parameters - Simplify layout files to use new loading approach - Add +page.ts for /examples route to load catalog examples on-demand - Update layout.svelte to merge page-level examples into context This significantly reduces network requests when loading component documentation pages by only loading the examples actually referenced in the markdown content. * Generate lighterweight .webp (vs .png) screenshots at different resolutions (800px (full), 400px (half) and 240 (30%) and load based on container width. Fix showing resize handle in screenshots. Regenerate all screenshots * Fix startContent/endContent snippets * Determine available layers from per-example (<script module>) or component metadata (markdown frontmatter) * Styles - 2nd pass (#744) * Styles - 2nd pass * Fix Example (leftover `path`) * Improve indention and some style attributes * fix link * Slightly simplify css variable example * Fix loading examples with `path` (`:example{ path="./color-schemes.svelte" }`) * Refine some content * Support `showLineNumbers` and `highlight` when using `:example { ... }` / `<Example>`, and `<Code>` * Cleanup example * Fix legend padding handling * Adjust padding example --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * last-of-padding-updates (#746) - hopefully the last of the padding updates to axis not cut off for canvas. - for legends switched to padding={defaultChartPadding({legend: true}} * togglegroup no select (#747) I kept selecting text rather than toggling. * Prevent sidebar scroll jank on page changes. (#748) * More markdown examples (#751) * waiting for tools fix * more-markdown-examples * View transitions (#750) * view-transitions - supports user-prefers-reduced motion - seen on clicking image link to load chart example. * Add page transitions from home page as well * Simplify viewTransitionName * Improve initial highlighter loading (fix "Loading..." always showing on first use) * Use `github-light-default` instead of `github-light` for markdown code blocks to match Code --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Fix full page reloading on menu navigation * Support passing `showCode=false` for live code examples * Remove `showCode=false` from example * Add releases routes and script to generate initial pages from github releases * Skip writing existing release files to preserve local edits * Add pagination * fix build. format release markdown * Also include `lang="ts"` for module * Re-generate all (update catalog) * Update more defaultChartPadding usage * Disable data preloading until Svelte async/fork is improved * Fix HMR infinite loop for Example component rendering by using $state/$effect * fix(ExampleScreenshot): Only apply `view-transition-name` on hover to fix z-index stacking on examples page * Move hover checking to set view-transition-name from ExampleScreenshot to ExampleLink / ComponentLink * bump deps * Ignore content-collections when running tests (workaround `__dirname` / esbuild issue after updating content-collections * fix `content` deprecatation warning (content-collections) * Suppress state_referenced_locally warnings (for now) * Fix `non_reactive_update` warnings * Improve view transitions * Add TODO reminder to re-add data reloaded after preloadFork behind experimental flag * fix empty layer toggle showing small circle (#759) * fix(Arc): Setting `strokeWidth` correct (when using Path component instead of path element) * Fix passing test props (`data-`, etc) to root container * View transition scroll fix (#762) * fix for empty layers toggle showing small circle * View transition tweak View transition set scroll to auto (not smooth) so transitions not missed. * Barchart dynamic height example (#763) * fix for empty layers toggle showing small circle * Barchart dynamic height example * Layer example (#761) * fix for empty layers toggle showing small circle * add all-3 layers example (Smiley) * Update catalogs and screenshots * fix(Path): Set default `--fill-color` to `transparent` instead of `none` to fix SVG pointer events (ex. bubble map) * Testing First Pass Arc (#760) * initial setup testing on Arc * more work on test Harness * fix for empty layers toggle showing small circle * more harness work * first pass testing for Arc. I'm happy for any overhail for bigger picture. - Harnesses are in `packages/layerchart/src/lib/components/tests/ChartHarness.test.svelte` - otherwise colocated tests in ..../components - Original Component does not require any updates. - `test-lc-chart` and `test-lc-component` are added via harness. - Optionally add accessory `data-testid="????"` in Component. I did this for `data-testid="arc-track` so that I could hook onto this accessory. - There are a few tests I didn't know how to write (marked and commented out). * Testing second pass - removed hardocded `fill-blue` - remove data-testid from Canvas.svelte - when needed apply ```ts componentProps: { track: { 'data-testid': testId }, } ``` instead of hardcoded in original Component. * Test refinements - TestHarness (Previously ChartHarness) now support snippet testing - TestHarness supports Testing components w/o Chart (ie SimpleCharts) * format * Increase testTimeout (back to default 5s) to hopefully fix sporatic module import, add packages to fix type errors * Remove old playwright test setup (using vitest browser mode) * update pnpm-lock.yaml * fix browser install for packges/layerchart * Attempt to fix "TypeError: Failed to fetch dynamically imported module:" for "Arc.svelte.test.ts" * Move `optimizeDeps` from top-leve to project in attempt to fix CI * Try splitting the client (browser) tests from the server/ssr tests * fix command * Try to render a basic test * another try * add more to optimizeDeps * add runed * Add missing `lang="ts"` to fix `Expected "}" but found "Highlighter"` * Ignore `state_referenced_locally` warnings (for now) * Restore previous Arc tests * Parallelize the CIi workflow into separate jobs * Cleanup earlier vitest config attempts to fix "failed to fetch dynamically imported module" --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Better export data prune (#765) * fix for empty layers toggle showing small circle * better-export-data-prune now removes all lf's before and after some variation of `export { data };` - for example source - for stackblitz code * added needed LF. not sure how that happend. Looks right now. * Improve example screenshot density on homepage * Update deps * Update svelte to 5.48.1, fixing performance issues of Spike map (and others) * Update svelte to 5.48.2 (fix `TypeError: $.wait is not a function`) * fix(Text): Support explicit "\n" and set line-height (to match svg/canvas) for html layers * Text playground fix (#768) * fix for empty layers toggle showing small circle * fix-text-playground - was not truncating text * Rename word wrap with explicit n (#769) * fix for empty layers toggle showing small circle * rename word wrap with explicit n * Add `Path` to top-level exports and add basic example * Text trunc newline examples (#771) * Utils updates (#770) * fix for empty layers toggle showing small circle * updated utils to make use of :example{} - simplified code in each of Utils components - added foreign currency example in fmt * switched most to svelte live * Doc refinements --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * cleanup * Further arc tests (#767) * fix for empty layers toggle showing small circle * further arc tests Now covers all props. Here are all the new tests added: Motion Tests (fixed/rewritten): 1. should accept spring motion config - Rewritten to test animation from initial to final state using expect.poll() 2. should accept tween motion config - Uncommented and fixed to test animation Props Tests (new): 3. should render with custom domain - Tests domain prop individually 4. should render with custom range - Tests range prop individually 5. should render with startAngle in radians - Tests startAngle prop 6. should render with endAngle in radians - Tests endAngle prop 7. should render with both startAngle and endAngle - Tests combined usage 8. should render with innerRadius - Tests innerRadius prop individually 9. should render with outerRadius - Tests outerRadius prop individually 10. should render track with trackStartAngle - Tests trackStartAngle prop individually 11. should render track with trackEndAngle - Tests trackEndAngle prop individually 12. should render track with trackStartAngle and trackEndAngle - Tests combined usage 13. should render track with trackInnerRadius - Tests trackInnerRadius prop individually 14. should render track with trackOuterRadius - Tests trackOuterRadius prop individually 15. should render track with trackCornerRadius - Tests trackCornerRadius prop (was commented out) 16. should render track with trackPadAngle - Tests trackPadAngle prop (was missing) 17. should call tooltipContext.show on pointer enter with data - Tests tooltipContext + data props 18. should call tooltipContext.hide on pointer leave - Tests tooltipContext hide behavior 19. should apply stroke color - Tests stroke prop explicitly 20. should apply strokeWidth - Tests strokeWidth prop (was missing) * simplify * Change `pnpm test:unit` to be headless/no ui, and add `pnpm test:ui` --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Geopoint icons remove controls (#772) * fix for empty layers toggle showing small circle * geopoint-icons-remove-controls * Additional axis examples (#764) * fix for empty layers toggle showing small circle * New barchart-xinterval-xinset and linechart-tickspacing - updates to Axis.md and BarChart.md text - updated Scatterplot domain-nice to use Switch instead of autotoggling * added needed padding * Add `tickSpacing` @default to jsdoc * refine docs --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * feat(Chart|Svg): Support passing `clip` prop to hide overflown content * also add for `<Html>` layers * Clipping (#774) * Text trunc wrap fix (#775) * Update deps (namely Svelte to 5.48.2 with dev-mode performance improvements) * Add clip to collision detection example * cleanup import * Stats (#776) * fix for empty layers toggle showing small circle * initial * move to footer * Landing Page Stats - Stats handled by src/lib/Stats.svelte - stats loaded via svelte remote function $lib/stats.remote.ts - stats nonblock via {#await} - for scrolling NPM downloads - Used ScrollValue from Svelte-UX - npm scrolling paused if not in viewport (used runed inViewport). This allows for consistent 1st visualization. - npm scrolling also pauses if npm hovered - less jarring - all stats are links to corresponding pages (NPM, Github, Discord, Bluesky) - responsive design dropping to block at small screens * refine using runed's useInterval with pause/resume * Use `GITHUB_API_TOKEN` if available (docs/.env, env var). Improve error handling --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Missing clips (#778) * fix for empty layers toggle showing small circle * missing-clips * add `User-Agent` header to make Github happy when running in Cloudflare - https://docs.github.com/en/rest/overview/resources-in-the-rest-api#user-agent-required * Open in LLM feature (#753) * Open in LLM feature * removed grok * open-in-llm-component - rewrote copy for LLMs * minor copy change * used markdown icons * llms.txt - 3 levels 1. Individual pages like `layerchart.com/docs/components/Linechart/llms.txt .` 2. Site links index at `layerchart.com/llms.txt` 3. Complete text at `layerchart.com/docs/llms.txt .` API endpoint creation for sections 1. Getting Started 2. Guide Pages 3. Components 4. Individual Examples 5. Utils Added processMarkdownContent(content) to handle custom markdown conversion to vanilla MD for LLMs. In `docs/src/lib/markdown/utils.ts` * fix spelling error * another spelling fix * Change OpenLLMs.svelte to OpenWithButton.svelte - cleaned up logic on `ddocs/src/routes/docs/guides/[name]/llms.txt/+server.ts` was getting title by url name, now uses frontmatter like others. * Change "View Page Markdown" to open in modal * refine OpenWithButton * update `p` markdown component to only apply margins when within main (not nested in note, blockquote, etc) * refine some wording * Create guides content collection and use to build menu * Extract and consolidate common llms.txt utils * Add common sortCollection util * add component links to examples llms.txt * consolidate more logic into llms/utils.ts * Replace `fs`/`path` usage with Vite's `import.meta.glob` * Move processMarkdownContent to llms/utils.ts * processMarkdownContent within generateComponentMarkdown / generateUtilMarkdown * include `:example { }`directives * cleanup * move related section to bottom of component docs (also matches llms.txt) * Add examples to component llms.txt * Rename `Component docs` to just `Components` when viewing an example * Extract generateExampleMarkdown from request handler into llms/tuils.ts * move generateFullLlmsTxt to llms/utils.ts, always use markdownResponse (remove textResponse) * move generateLlmsTxt to llms/utils.ts, * replace generateGuidesSection with generateCollectionListSection * Uwe docsUrl in `inlineExampleDirectives` and `generateComponentMarkdown` to build example links * remove unneeded exports * cleanup types * delete outdated tests * update docs test setup to match packages/layerchart * add llms tests and add to ci * Add LLMs link to frontpage footer * Update LLMs docs * Disable docs tests until contentCollections() can be enabled without triggering `__dirname is not defined` --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Update deps * fix dagre `module is not defined` after bumping deps (but not dagre to v2). If dagre was bumped to v2, was getting: `"Dynamic require of "@dagrejs/graphlib" is not supported"` * Tree clips (#779) * fix for empty layers toggle showing small circle * add missing clips for tree examples * fix build * extract table of contents from markdown instead of html * add toc to guides * improve header and toc slugs when `:icon{..}` directives are used * remove `meta.tableOfContents` and just use `metadata.toc` to determine when to display toc. Add toc to getting starting but disable until heading improved * Use IntersectionObserver for improve active highlighting * Update deps * Clip force text example * flexsearch (#745) * flexsearch - command-K toggles open/close - Escape toggles search closed, clicking outside search box toggles closed - used runed persistedState to show last 5 searches - seen only after selecting a search option, and 2nd search - supports clearing prior searches - needs some styling help - dummy data needs replaced. * update pnpm-lock.yaml * Fix catalog example paths * Remove outdated examples (markdown) content collection * Build search index using content collections and examples catalog, and use remote function to query * Cleanup search * Improve display of search results * improve display of search results * fix sticky search input * refine results * move stripMarkdown to lib/markdown/utils * refine results * refine search styling * Fix reactivity when loading examples * support searching from home page * Use `@layerstack/svelte-state` instead of '@layerstack/svelte-stores' for javascript media query * Refactor search functionality: replace remote search with local index and improve search performance * improve search * Dynamically import search module to avoid SSR bundling issues (fix Cloudflare) * Add quick links when no search is set * Add support for headings in search entries * Add top-level navigation to search * Use preprender remote function instead of API server endpoint and fetch * Revert "Use preprender remote function instead of API server endpoint and fetch" This reverts commit f9427de. --------- Co-authored-by: Sean Lynch <techniq35@gmail.com> * Cleanup headers (especially remove duplicate "## Examples" headers causing key error) * add playwright-cli skills * fix parent component's table of contents showing on examples * generate:all (catalog, screenshots) * remove "actions" export * Add LineChart threshold example * fix threshold with linear gradient examples * add links * Do not highlight/mark examples in search * Ignore anchor tags / hash fragment (ex. `#examples`) in llms.txt URLs * fix(Threshold): Properly clip `above` snippet (resolving 1/2 width clipping issues when using Spline) * refine * Add `defaultExample` to `components` collection to use first on docs (ex. BarChart.md) and fallback to first example in catalog (ex. BarChart.json). Use ComponentLink for example component links and also Related section in docs * Improve ExampleScreenshot when image is not available, with fallback icon * Improve primitives doc * fix border on light mode * cleanup * docs(Points): Add docs regarding color * Add Nocturne to showcase * fix(showcase): handle source-only items * Cmd K (uppercase) (#784) * Fix loading web containers * remove color from Axis/arrow-markers example * Extract ExampleListing component and show additional examples at the bottom of an example * Improve/fix histogram examples (better axis ticks and use Rect instead of Bar) * fix(BarChartControls): handling of interval and threshold sizing * generate:all to update catalog and screenshots * Hide playground menu item until it's more polished * fix clipping * fix showing component source for layers (Layer, Svg, etc) * fix(Bar): Fix bar rounding direction when using xReverse/yReverse with interval scales * fix(Bar): Fix bar rounding direction when using xReverse/yReverse with interval scales * remove reverse/annotations from example * mark WIP guides as draft * refine * fix(Canavs): Suppport dashed stroke and support `style` attribute (fix: #652) * fix(Rect): Support rounded (rx/ry) in Canvas layers (fixes #481) * add logo * improve responsiveness * improve design on smaller viewports * fix theme loading * update colors to match theme, punch up background grid texture slightly * improve anchor link layout * mark features docs as draft * Setup social image card (og:image) (#783) * Setup og:image * Use component * combine social meta tags into root +layout.svelte * Use static og:image for now * update favicon * move umami/cloudflare scripts up to root layout * ignore `og` route from routing (fix Cloudflare) * comment out * Re-enable SSR (#789) * Re-enable SSR * Add `nodejs_compat` compatibility flag and bump compat date (match setting in Cloudflare UI) * Update README * Remove old docs and deps (#790) * Remove old docs and deps * update pnpm-lock.yaml * fix browser/client tests * cleanup app.d.ts * more cleanup * more cleanup --------- Co-authored-by: Scott Rhamy <scottrhamy@me.com> Co-authored-by: Garik Asplund <111464359+garikAsplund@users.noreply.github.com> Co-authored-by: Scott Rhamy <scott@rhamy.com> Co-authored-by: Arsenii es3n1n <git@es3n1n.im>
Merged
* Version Packages (next) * Update CHANGELOG for version 2.0.0-next.44 Updated CHANGELOG to reflect breaking changes, new features, and fixes in version 2.0.0-next.44. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Sean Lynch <techniq35@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.