emcp_custom_151Built with the EMCP Widget Builder and registered under the EMCP Custom category of the Elementor panel. Search the panel for: toc, table of contents, anchors, headings, scrollspy, sticky.
Sticky Offset (px) appears when Sticky is yes; Back to Top Text appears when Back to Top Link is yes.Layout = box
Layout = minimal
Layout = sidebar
Layout = inline
Every control the widget exposes, grouped by panel section. Names in code are the setting keys used by the MCP tools (add-free-widget, update-widget).
Table of Contents
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Titletitle | Text | On this page | ||
Heading Levelslevels | Multi select | H1, H2, H3, H4, H5, H6 | 2 items | |
Scan Inside (CSS selector)scope | Text | Example: .entry-content or #main. Headings inside this widget are always ignored. | ||
Exclude Headings Matchingexclude | Text | |||
Hide When Fewer Thanmin_items | Number | min 1, max 20 | 2 | |
List Stylelist_style | Dropdown | Numbered (1, 1.1), Bullets, Plain, Left rail (active line) | numbers | |
Layoutlayout | Dropdown | Boxed, Minimal, Sidebar rail, Inline chips | box | |
Collapsiblecollapsible | Toggle | on / off | yes | |
Start Collapsedcollapsed | Toggle | on / off | ||
Start Collapsed on Mobilecollapsed_mobile | Toggle | on / off | yes | |
Stickysticky | Toggle | on / off | ||
Sticky Offset (px)sticky_top | Number | min 0, max 400 | 100 | Shown when sticky = yes |
Scroll Offset (px, for fixed headers)scroll_offset | Number | min 0, max 400 | 90 | |
Smooth Scrollsmooth | Toggle | on / off | yes | |
Highlight Current Sectionspy | Toggle | on / off | yes | |
Update URL Hashhash | Toggle | on / off | ||
Reading Progress Lineprogress | Toggle | on / off | ||
Back to Top Linkback_top | Toggle | on / off | ||
Back to Top Textback_top_text | Text | Back to top | Shown when back_top = yes | |
Editor Placeholder Textempty_text | Text | Headings on the page will be listed h... |
Box
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Backgroundbox_bg | Color | #f9fafb | ||
Paddingbox_pad | Dimensions | |||
Borderbox_border | Border | |||
Radiusbox_radius | Slider | min 0, max 60, px | 12 | |
Shadowbox_shadow | Box shadow | |||
Max Widthbox_maxw | Slider | min 200, max 1200, px/% | ||
Max Height (scrolls inside)box_maxh | Slider | min 0, max 900, px/vh | ||
Accent Coloraccent | Color | #6a11cb |
Title
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Typographytitle_typo | Typography | |||
Colortitle_color | Color | #101828 | ||
Spacing Belowtitle_mb | Slider | min 0, max 40, px | 12 | |
Toggle Icon Colortoggle_color | Color | #667085 |
Items
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Typographyitem_typo | Typography | |||
Coloritem_color | Color | #475467 | ||
Hover Coloritem_color_h | Color | #101828 | ||
Active Coloritem_color_a | Color | #6a11cb | ||
Active Chip Text (inline)item_color_a_inline | Color | #ffffff | ||
Active Backgrounditem_bg_a | Color | |||
Gap Between Itemsitem_gap | Slider | min 0, max 30, px | 6 | |
Item Paddingitem_pad | Dimensions | |||
Sub-level Indentindent | Slider | min 0, max 60, px | 16 | |
Sub-level Typographysub_typo | Typography | |||
Number / Bullet Colormarker_color | Color | #98a2b3 | ||
Rail Line Colorrail_color | Color | #eaecf0 |
Any connected agent can place this widget: call add-free-widget with widget_type: "emcp_custom_151" and a settings object using the keys above. Run get-custom-widget with id 151 for the full JSON spec.