From 622725c392272decc4606e9f8f518165f82a5a22 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 13 Mar 2026 16:37:22 +0000 Subject: [PATCH 1/5] feat(sveltekit-helper): add TableOfContents component with scrollspy Adds a new TableOfContents Svelte 5 component that wraps Sidebar with scrollspy logic. Headings are auto-discovered from the DOM using data-sidebar-content / data-sidebar-selector attributes by default, with contentSelector and headingSelector props for explicit overrides. https://claude.ai/code/session_01Qrcz9fPxJBQk2GD1G3ZAug --- .changeset/add-table-of-contents-component.md | 5 + .../src/components/TableOfContents.svelte | 200 ++++++++++++++++++ .../sveltekit-helper/src/components/index.ts | 2 + 3 files changed, 207 insertions(+) create mode 100644 .changeset/add-table-of-contents-component.md create mode 100644 packages/sveltekit-helper/src/components/TableOfContents.svelte diff --git a/.changeset/add-table-of-contents-component.md b/.changeset/add-table-of-contents-component.md new file mode 100644 index 00000000..c8d2486f --- /dev/null +++ b/.changeset/add-table-of-contents-component.md @@ -0,0 +1,5 @@ +--- +"@ainsleydev/sveltekit-helper": patch +--- + +Add TableOfContents component with scrollspy and auto-discovery of headings via data attributes or CSS selector props diff --git a/packages/sveltekit-helper/src/components/TableOfContents.svelte b/packages/sveltekit-helper/src/components/TableOfContents.svelte new file mode 100644 index 00000000..d573ee88 --- /dev/null +++ b/packages/sveltekit-helper/src/components/TableOfContents.svelte @@ -0,0 +1,200 @@ + + + + + + + + + + ``` + + @example + ```svelte + + + ``` + + @example + ```svelte + + + ``` +--> + +
+ {#if heading !== ''} +

+ {heading} +

+ {/if} + + {#each items as item, index (index)} +
  • + + {item.label} + +
  • + {/each} +
    +
    +
    + + diff --git a/packages/sveltekit-helper/src/components/index.ts b/packages/sveltekit-helper/src/components/index.ts index 305e3f68..4d10128a 100644 --- a/packages/sveltekit-helper/src/components/index.ts +++ b/packages/sveltekit-helper/src/components/index.ts @@ -1,6 +1,8 @@ export { default as Modal } from './Modal.svelte'; export { default as Sidebar } from './Sidebar.svelte'; export { default as Hamburger } from './Hamburger.svelte'; +export { default as TableOfContents } from './TableOfContents.svelte'; export { Alert, Notice } from './notifications'; export type { ModalProps, TransitionFn } from './Modal.svelte'; export type { AlertProps, AlertType, NoticeProps, NoticeType } from './notifications'; +export type { TableOfContentsProps, TOCItem } from './TableOfContents.svelte'; From e3bb1d6135a51cb75757df499ccc2b7237c3222d Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 13 Mar 2026 16:38:59 +0000 Subject: [PATCH 2/5] fix(payload-helper): remove unsupported style prop from Payload Button in Slug component The Button component from @payloadcms/ui dropped the style prop, causing a TS2322 type error during build. Wrap the button in a span to preserve the margin/padding styles. https://claude.ai/code/session_01Qrcz9fPxJBQk2GD1G3ZAug --- .changeset/fix-slug-button-style-prop.md | 5 +++++ .../payload-helper/src/fields/Slug/Component.tsx | 12 +++++------- 2 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 .changeset/fix-slug-button-style-prop.md diff --git a/.changeset/fix-slug-button-style-prop.md b/.changeset/fix-slug-button-style-prop.md new file mode 100644 index 00000000..151fc54a --- /dev/null +++ b/.changeset/fix-slug-button-style-prop.md @@ -0,0 +1,5 @@ +--- +"@ainsleydev/payload-helper": patch +--- + +Fix Slug field component build error by removing unsupported style prop from Payload Button diff --git a/packages/payload-helper/src/fields/Slug/Component.tsx b/packages/payload-helper/src/fields/Slug/Component.tsx index 550bde6b..de974cab 100644 --- a/packages/payload-helper/src/fields/Slug/Component.tsx +++ b/packages/payload-helper/src/fields/Slug/Component.tsx @@ -81,13 +81,11 @@ export const Component: React.FC = ({
    - + + +
    Date: Fri, 13 Mar 2026 17:15:02 +0000 Subject: [PATCH 3/5] Fix TableOfContents: correct SCSS import path and add Biome-required semicolons --- .../src/components/TableOfContents.svelte | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/sveltekit-helper/src/components/TableOfContents.svelte b/packages/sveltekit-helper/src/components/TableOfContents.svelte index d573ee88..d10d4d4a 100644 --- a/packages/sveltekit-helper/src/components/TableOfContents.svelte +++ b/packages/sveltekit-helper/src/components/TableOfContents.svelte @@ -1,28 +1,28 @@