Changeset 3425541
- Timestamp:
- 12/22/2025 05:15:35 PM (2 months ago)
- Location:
- jump-links-block-seo-44
- Files:
-
- 26 edited
- 1 copied
-
tags/2.1 (copied) (copied from jump-links-block-seo-44/trunk)
-
tags/2.1/README.md (modified) (2 diffs)
-
tags/2.1/build/block.json (modified) (2 diffs)
-
tags/2.1/build/index-rtl.css (modified) (1 diff)
-
tags/2.1/build/index.asset.php (modified) (1 diff)
-
tags/2.1/build/index.css (modified) (1 diff)
-
tags/2.1/build/index.js (modified) (1 diff)
-
tags/2.1/build/style-index-rtl.css (modified) (1 diff)
-
tags/2.1/build/style-index.css (modified) (1 diff)
-
tags/2.1/build/view.asset.php (modified) (1 diff)
-
tags/2.1/build/view.js (modified) (1 diff)
-
tags/2.1/changelog.txt (modified) (1 diff)
-
tags/2.1/jump-links-block.php (modified) (1 diff)
-
tags/2.1/readme.txt (modified) (2 diffs)
-
trunk/README.md (modified) (2 diffs)
-
trunk/build/block.json (modified) (2 diffs)
-
trunk/build/index-rtl.css (modified) (1 diff)
-
trunk/build/index.asset.php (modified) (1 diff)
-
trunk/build/index.css (modified) (1 diff)
-
trunk/build/index.js (modified) (1 diff)
-
trunk/build/style-index-rtl.css (modified) (1 diff)
-
trunk/build/style-index.css (modified) (1 diff)
-
trunk/build/view.asset.php (modified) (1 diff)
-
trunk/build/view.js (modified) (1 diff)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/jump-links-block.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
jump-links-block-seo-44/tags/2.1/README.md
r3403606 r3425541 5 5 * **Tags:** block, jump links, on this page, table of contents, jump links block 6 6 * **Requires at least:** 5.5 7 * **Tested up to:** 6. 88 * **Stable tag:** 2. 0.07 * **Tested up to:** 6.9 8 * **Stable tag:** 2.1.0 9 9 * **Requires PHP:** 7.4 10 10 * **License:** GPLv2 or later … … 219 219 220 220 ## Changelog 221 ### 2.0.0 222 * **FEATURE:** **Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices. 223 * **FEATURE:** **Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning). 224 * **FEATURE:** **Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure. 225 * **FEATURE:** **Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation. 226 * **FEATURE:** **ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post. 227 228 ### 1.9.2 229 * **FEATURE:** Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings. 230 * **FEATURE:** Added a "Heading Level" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure. 231 * **REFACTOR:** Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance. 232 * **FIX:** Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID. 233 * **PERFORMANCE:** Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link. 234 * **TWEAK:** Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings. 235 236 ### 1.9.0 237 * **HELLO WORLD:** Initial release to the WordPress Plugin Directory. 238 239 For a complete list of changes, please see the [full changelog](https://seo44plugin.com/jump-links-block-seo-44/changelog/) or the changelog.txt file included with the plugin. 221 ### 2.1.0 222 * **NEW:** Added a "Plain Text" style option for horizontal layouts, offering a minimalist alternative to the default button style. 223 * **NEW:** Introduced optional "Smart Sticky" (Scroll-Up-To-Reveal) behavior. The sticky table of contents can now hide automatically when scrolling down to save screen space and reappear when scrolling up. 224 * **NEW:** Added visual separators (Middle Dot, Pipe, and Slash) for text-based link lists. 225 * **ENHANCEMENT:** Introduced CSS transitions for sticky elements for a smooth visual experience for Scroll-Up-To-Reveal jump links. 226 * **ENHANCEMENT:** Optimized editor controls to conditionally display relevant settings, keeping the sidebar clean. 227 * **FIX:** Added dynamic border calculation to resolve an issue where thick borders could prevent the navigation bar from sticking or hiding correctly. 240 228 241 229 ## Upgrade Notice -
jump-links-block-seo-44/tags/2.1/build/block.json
r3405475 r3425541 31 31 "linkPadding": { 32 32 "type": "string" 33 }, 34 "linkStyle": { 35 "type": "string", 36 "default": "button" 37 }, 38 "separatorType": { 39 "type": "string", 40 "default": "space" 41 }, 42 "stickyBehavior": { 43 "type": "string", 44 "default": "always" 33 45 }, 34 46 "fontSize": { … … 157 169 "textdomain": "jump-links-block-seo-44", 158 170 "title": "SEO 44 Jump Links", 159 "version": "2. 0.1",171 "version": "2.1.0", 160 172 "viewScript": "file:./view.js" 161 173 } -
jump-links-block-seo-44/tags/2.1/build/index-rtl.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle} -
jump-links-block-seo-44/tags/2.1/build/index.asset.php
r3405475 r3425541 1 <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => ' 2d1f773e511fbaf022a1');1 <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '569f2c14391de5e6bf08'); -
jump-links-block-seo-44/tags/2.1/build/index.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle} -
jump-links-block-seo-44/tags/2.1/build/index.js
r3403606 r3425541 1 (()=>{"use strict";var e,l={313 :()=>{const e=window.wp.blocks,l=window.React,o=window.wp.i18n,t=window.wp.blockEditor,n=window.wp.components,s=window.wp.data,a=window.wp.element;function i(e){return(new DOMParser).parseFromString(e,"text/html").body.textContent||""}const r=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 21v-2h18v2zm8-4v-6.175L9.4 12.4L8 11l4-4l4 4l-1.4 1.4l-1.6-1.575V17zM3 5V3h18v2z"})),c=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 5V3h18v2zm9 12l-4-4l1.4-1.4l1.6 1.575V7h2v6.175l1.6-1.575L16 13zm-9 4v-2h18v2z"})),k=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),u=JSON.parse('{"UU":"seo44/jump-links"}');(0,e.registerBlockType)(u.UU,{edit:function({attributes:e,setAttributes:u}){const{headingLevels:m,headings:h,showHeading:p,headingText:d,headingTag:b,layout:g,listStyle:_,isEditing:v,isCollapsible:f,isSmartIndentation:x,fontSize:w,textColor:C,linkColor:E,blockBackgroundColor:j,linkBackgroundColor:y,linkBackgroundColorHover:B,linkBorderColor:S,linkBorderRadius:z,isSticky:T,stickyOffset:N,jumpOffset:H,stickyStrategy:M}=e,P={color:C,fontSize:w,"--jump-link-font-size":w||"18px","--seo44-link-color":E,"--seo44-link-bg":"horizontal"===g?y:void 0,"--seo44-link-hover-bg":"horizontal"===g?B:void 0,"--seo44-link-border-color":"horizontal"===g?S:void 0,"--seo44-link-radius":"horizontal"===g&&z?`${z}px`:void 0,"--seo44-block-bg":j,"--seo44-sticky-offset":T?`${N}px`:void 0},O="ol"===_?"ol":"ul",{createInfoNotice:I}=(0,s.useDispatch)("core/notices"),L=e.blockInstanceId?`seo44-jump-links-list-${e.blockInstanceId}`:"seo44-jump-links-list",$=(0,t.useBlockProps)({style:P});$.className=`${$.className} ${"horizontal"===g?"is-layout-horizontal":""} ${f&&!v?"is-collapsible":""} ${"none"===_?"list-style-none":""}`.trim();const D=(0,s.useSelect)(e=>e("core/block-editor").getBlocks(),[]),{updateBlockAttributes:V}=(0,s.useDispatch)("core/block-editor");(0,a.useEffect)(()=>{const l={};e.blockInstanceId||(l.blockInstanceId=Math.random().toString(36).substr(2,9)),Object.keys(l).length>0&&u(l);const t=D.filter(e=>"core/heading"===e.name&&m.includes(`h${e.attributes.level}`)),n=new Set;let s=!1;const a=new Map(h.map(e=>[e.anchor,e])),r=[];for(const e of t){const l=i(e.attributes.content);let o=e.attributes.anchor||l.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-"),t=o,c=2;for(;n.has(t);)t=`${o}-${c}`,c++,s=!0;n.add(t),e.attributes.anchor!==t&&V(e.clientId,{anchor:t});const k=a.get(e.attributes.anchor)||a.get(t),u=k&&k.linkText!==k.text?k.linkText:l,m=!k||k.isVisible;r.push({anchor:t,text:l,linkText:u,isVisible:m,level:e.attributes.level})}JSON.stringify(r)!==JSON.stringify(h)&&u({headings:r}),s&&I((0,o.__)("Jump Links Block: Duplicate headings were found. Unique IDs have been auto-generated, but this may be a sign of redundancy. Please review your headings for clarity.","jump-links-block-seo-44"),{type:"snackbar"})},[D,m,h,e.blockInstanceId,u,V,I]),(0,a.useEffect)(()=>{"horizontal"===g&&"none"!==_&&u({listStyle:"none"})},[g,_,u]);const R=(e,l)=>{const o=[...h],t=o.splice(e,1)[0];"up"===l?o.splice(e-1,0,t):o.splice(e+1,0,t),u({headings:o})},J=e=>{const l=m.includes(e)?m.filter(l=>l!==e):[...m,e];u({headingLevels:l.sort()})};return(0,l.createElement)(a.Fragment,null,(0,l.createElement)(t.InspectorControls,null,(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Presentation","jump-links-block-seo-44")},(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:!v,isPressed:!v,onClick:()=>u({isEditing:!1})},(0,o.__)("Viewing Mode","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:v,isPressed:v,onClick:()=>u({isEditing:!0})},(0,o.__)("Editing Mode","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description"},(0,o.__)("Switch to Editing Mode to customize link text, visibility, and order.","jump-links-block-seo-44"))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Appearance","jump-links-block-seo-44")},(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Layout","jump-links-block-seo-44"))),(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:"vertical"===g,isPressed:"vertical"===g,onClick:()=>u({layout:"vertical"})},(0,o.__)("Vertical","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:"horizontal"===g,isPressed:"horizontal"===g,onClick:()=>u({layout:"horizontal"})},(0,o.__)("Horizontal","jump-links-block-seo-44"))),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Make Jump Links Area Expandable","jump-links-block-seo-44"),help:(0,o.__)('Conserve screen space by collapsing a long list of jump links, providing users with an elegant "show more" button to see the entire list.',"jump-links-block-seo-44"),checked:f,onChange:()=>u({isCollapsible:!f}),__nextHasNoMarginBottom:!0}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("List Style","jump-links-block-seo-44"),value:_,options:[{label:(0,o.__)("Bulleted","jump-links-block-seo-44"),value:"ul"},{label:(0,o.__)("Numbered","jump-links-block-seo-44"),value:"ol"},{label:(0,o.__)("None","jump-links-block-seo-44"),value:"none"}],onChange:e=>u({listStyle:e}),disabled:"horizontal"===g,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.FontSizePicker,{fontSizes:[{name:(0,o.__)("S","jump-links-block-seo-44"),slug:"small",size:"14px"},{name:(0,o.__)("M","jump-links-block-seo-44"),slug:"normal",size:"17px"},{name:(0,o.__)("L","jump-links-block-seo-44"),slug:"large",size:"20px"},{name:(0,o.__)("XL","jump-links-block-seo-44"),slug:"extra-large",size:"23px"}],value:w,onChange:e=>u({fontSize:e}),withReset:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Colors","jump-links-block-seo-44"),colorSettings:[{value:j,onChange:e=>u({blockBackgroundColor:e}),label:(0,o.__)("Block Background","jump-links-block-seo-44")},{value:E,onChange:e=>u({linkColor:e}),label:(0,o.__)("Link Color","jump-links-block-seo-44")},{value:C,onChange:e=>u({textColor:e}),label:(0,o.__)("Other Text Color","jump-links-block-seo-44")}]}),"horizontal"===g&&(0,l.createElement)(a.Fragment,null,(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Horizontal Link Styles","jump-links-block-seo-44"))),(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Link Colors","jump-links-block-seo-44"),colorSettings:[{value:y,onChange:e=>u({linkBackgroundColor:e}),label:(0,o.__)("Background","jump-links-block-seo-44")},{value:B,onChange:e=>u({linkBackgroundColorHover:e}),label:(0,o.__)("Background Hover","jump-links-block-seo-44")},{value:S,onChange:e=>u({linkBorderColor:e}),label:(0,o.__)("Border","jump-links-block-seo-44")}]}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Link Border Radius","jump-links-block-seo-44"),value:z,onChange:e=>u({linkBorderRadius:e}),min:0,max:50,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Content Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Display Block Title","jump-links-block-seo-44"),checked:p,onChange:()=>u({showHeading:!p}),__nextHasNoMarginBottom:!0}),p&&(0,l.createElement)(a.Fragment,null,(0,l.createElement)(n.TextControl,{label:(0,o.__)("Title Text","jump-links-block-seo-44"),value:d,onChange:e=>u({headingText:e}),help:(0,o.__)("The text that appears above your list of links.","jump-links-block-seo-44")}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Title Tag","jump-links-block-seo-44"),value:b,options:[{label:"H2",value:"h2"},{label:"H3",value:"h3"},{label:"H4",value:"h4"},{label:"H5",value:"h5"},{label:"Paragraph (Bold)",value:"p"},{label:"Div (No Semantic Value)",value:"div"}],onChange:e=>u({headingTag:e}),help:(0,o.__)("Choose a level that fits your page's structure.","search-appearance-toolkit-seo-44"),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Included Headings","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description",style:{marginBottom:"10px"}},(0,o.__)("Select which heading levels from your post content should appear in the jump links list.","jump-links-block-seo-44")),(0,l.createElement)(n.CheckboxControl,{label:"H2",checked:m.includes("h2"),onChange:()=>J("h2")}),(0,l.createElement)(n.CheckboxControl,{label:"H3",checked:m.includes("h3"),onChange:()=>J("h3")}),(0,l.createElement)(n.CheckboxControl,{label:"H4",checked:m.includes("h4"),onChange:()=>J("h4")}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Create Visual Hierarchy","jump-links-block-seo-44"),help:(0,o.__)("Indents sub-headings (H3, H4) to create a nested outline structure.","jump-links-block-seo-44"),checked:x,onChange:()=>u({isSmartIndentation:!x}),__nextHasNoMarginBottom:!0})),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Position Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Sticky Position","jump-links-block-seo-44"),help:(0,o.__)("Keep the table of contents visible while scrolling.","jump-links-block-seo-44"),checked:T,onChange:()=>u({isSticky:!T}),__nextHasNoMarginBottom:!0}),T&&(0,l.createElement)(a.Fragment,null,(0,l.createElement)("p",{className:"description",style:{marginBottom:"15px"}},(0,o.__)("Customize how the block behaves when it sticks to the top of the screen.","jump-links-block-seo-44")),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Top Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The distance between the top of the screen and the block when stuck (useful for clearing sticky headers).","jump-links-block-seo-44"),value:N,onChange:e=>u({stickyOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Jump Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The buffer distance to stop *before* the heading. Increase this if your sticky header covers the text.","jump-links-block-seo-44"),value:H,onChange:e=>u({jumpOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Disable on Mobile","jump-links-block-seo-44"),help:(0,o.__)("Prevents the block from sticking on small screens to save reading space.","jump-links-block-seo-44"),checked:"desktop-only"===M,onChange:e=>u({stickyStrategy:e?"desktop-only":"always"}),__nextHasNoMarginBottom:!0})))),(0,l.createElement)("div",{...$},p&&(0,l.createElement)(t.RichText,{tagName:b,className:"wp-block-seo44-jump-links-heading",value:d,onChange:e=>u({headingText:e}),placeholder:(0,o.__)("On This Page","jump-links-block-seo-44")}),h.length>0?(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(O,{id:L},h.map((e,t)=>v?(0,l.createElement)("li",{key:e.anchor},(0,l.createElement)(n.TextControl,{value:e.linkText,onChange:e=>((e,l)=>{const o=[...h];o[e].linkText=l,u({headings:o})})(t,e)}),(0,l.createElement)("div",{className:"edit-controls-wrapper"},(0,l.createElement)("div",{className:"reorder-buttons"},(0,l.createElement)(n.Button,{icon:r,label:(0,o.__)("Move Up","jump-links-block-seo-44"),onClick:()=>R(t,"up"),disabled:0===t}),(0,l.createElement)(n.Button,{icon:c,label:(0,o.__)("Move Down","jump-links-block-seo-44"),onClick:()=>R(t,"down"),disabled:t===h.length-1})),(0,l.createElement)(n.ToggleControl,{label:!1!==e.isVisible?(0,o.__)("Included","jump-links-block-seo-44"):(0,o.__)("This Jump Link will not be shown","jump-links-block-seo-44"),checked:!1!==e.isVisible,onChange:()=>(e=>{const l=[...h];l[e].isVisible=!l[e].isVisible,u({headings:l})})(t),__nextHasNoMarginBottom:!0}))):!1!==e.isVisible&&(0,l.createElement)("li",{key:e.anchor,className:x?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`,onClick:e=>e.preventDefault()},e.linkText)))),!v&&f&&h.length>0&&(0,l.createElement)(n.Tooltip,{text:(0,o.__)("This button is functional on the front-end to expand the list.","jump-links-block-seo-44")},(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":L,onClick:()=>{I((0,o.__)('The "Show More" button is interactive on the published page.',"jump-links-block-seo-44"),{type:"snackbar"})}},k))):(0,l.createElement)("p",null,(0,o.__)("No headings found. Select a heading level in the block settings to generate links.","jump-links-block-seo-44"))))},save:function({attributes:e}){const{blockInstanceId:n,layout:s,isCollapsible:a,isSmartIndentation:i,headings:r,showHeading:c,headingText:k,headingTag:u,listStyle:m,fontSize:h,textColor:p,linkColor:d,blockBackgroundColor:b,linkBackgroundColor:g,linkBackgroundColorHover:_,linkBorderColor:v,linkBorderRadius:f,isSticky:x,stickyOffset:w,jumpOffset:C,stickyStrategy:E}=e,j={color:p,fontSize:h,"--jump-link-font-size":h||"18px","--seo44-block-bg":b,"--seo44-link-color":d,"--seo44-link-bg":"horizontal"===s?g:void 0,"--seo44-link-hover-bg":"horizontal"===s?_:void 0,"--seo44-link-border-color":"horizontal"===s?v:void 0,"--seo44-link-radius":"horizontal"===s&&f?`${f}px`:void 0,"--seo44-sticky-offset":x?`${w}px`:void 0},y="ol"===m?"ol":"ul",B=`seo44-jump-links-list-${n}`,S=t.useBlockProps.save({className:`${"horizontal"===s?"is-layout-horizontal":""} ${a?"is-collapsible":""} ${"none"===m?"list-style-none":""} ${x?"is-sticky":""} ${"desktop-only"===E?"sticky-desktop-only":""}`.trim(),style:j,"data-seo44-jump-offset":x?C:30}),z=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),T=(0,l.createElement)("svg",{className:"arrow-up",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14l-6-6z"}));return(0,l.createElement)("div",{...S},(0,l.createElement)("div",{className:"seo44-sticky-sentinel","aria-hidden":"true"}),c&&(0,l.createElement)(t.RichText.Content,{tagName:u||"h2",className:"wp-block-seo44-jump-links-heading",value:k}),r&&r.length>0&&(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(y,{id:B},r.filter(e=>!1!==e.isVisible).map(e=>(0,l.createElement)("li",{key:e.anchor,className:i?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`},e.linkText)))),a&&(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":B},z,T)))}})}},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var s=o[e]={exports:{}};return l[e](s,s.exports,t),s.exports}t.m=l,e=[],t.O=(l,o,n,s)=>{if(!o){var a=1/0;for(k=0;k<e.length;k++){for(var[o,n,s]=e[k],i=!0,r=0;r<o.length;r++)(!1&s||a>=s)&&Object.keys(t.O).every(e=>t.O[e](o[r]))?o.splice(r--,1):(i=!1,s<a&&(a=s));if(i){e.splice(k--,1);var c=n();void 0!==c&&(l=c)}}return l}s=s||0;for(var k=e.length;k>0&&e[k-1][2]>s;k--)e[k]=e[k-1];e[k]=[o,n,s]},t.o=(e,l)=>Object.prototype.hasOwnProperty.call(e,l),(()=>{var e={57:0,350:0};t.O.j=l=>0===e[l];var l=(l,o)=>{var n,s,[a,i,r]=o,c=0;if(a.some(l=>0!==e[l])){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(r)var k=r(t)}for(l&&l(o);c<a.length;c++)s=a[c],t.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return t.O(k)},o=globalThis.webpackChunkseo_44_jump_links_block=globalThis.webpackChunkseo_44_jump_links_block||[];o.forEach(l.bind(null,0)),o.push=l.bind(null,o.push.bind(o))})();var n=t.O(void 0,[350],()=>t(313));n=t.O(n)})();1 (()=>{"use strict";var e,l={313(){const e=window.wp.blocks,l=window.React,o=window.wp.i18n,t=window.wp.blockEditor,n=window.wp.components,a=window.wp.data,s=window.wp.element;function i(e){return(new DOMParser).parseFromString(e,"text/html").body.textContent||""}const r=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 21v-2h18v2zm8-4v-6.175L9.4 12.4L8 11l4-4l4 4l-1.4 1.4l-1.6-1.575V17zM3 5V3h18v2z"})),c=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 5V3h18v2zm9 12l-4-4l1.4-1.4l1.6 1.575V7h2v6.175l1.6-1.575L16 13zm-9 4v-2h18v2z"})),k=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),u=JSON.parse('{"UU":"seo44/jump-links"}');(0,e.registerBlockType)(u.UU,{edit:function({attributes:e,setAttributes:u}){const{headingLevels:m,headings:p,showHeading:h,headingText:b,headingTag:d,layout:g,listStyle:_,isEditing:v,isCollapsible:f,isSmartIndentation:x,fontSize:C,textColor:j,linkColor:y,blockBackgroundColor:w,linkBackgroundColor:E,linkBackgroundColorHover:B,linkBorderColor:S,linkBorderRadius:z,linkStyle:T,separatorType:N,isSticky:M,stickyOffset:H,jumpOffset:$,stickyStrategy:P,stickyBehavior:O}=e,L={color:j,fontSize:C,"--jump-link-font-size":C||"18px","--seo44-link-color":y,"--seo44-link-bg":"horizontal"===g?E:void 0,"--seo44-link-hover-bg":"horizontal"===g?B:void 0,"--seo44-link-border-color":"horizontal"===g?S:void 0,"--seo44-link-radius":"horizontal"===g&&z?`${z}px`:void 0,"--seo44-block-bg":w,"--seo44-sticky-offset":M?`${H}px`:void 0},I="ol"===_?"ol":"ul",{createInfoNotice:D}=(0,a.useDispatch)("core/notices"),V=e.blockInstanceId?`seo44-jump-links-list-${e.blockInstanceId}`:"seo44-jump-links-list",R="text"===T&&"none"!==N?`has-separator-${N}`:"",U="text"===T?"is-style-text-links":"",F=(0,t.useBlockProps)({style:L});F.className=`${F.className} ${"horizontal"===g?"is-layout-horizontal":""} ${f&&!v?"is-collapsible":""} ${"none"===_?"list-style-none":""} ${R} ${U}`.trim();const J=(0,a.useSelect)(e=>e("core/block-editor").getBlocks(),[]),{updateBlockAttributes:A}=(0,a.useDispatch)("core/block-editor");(0,s.useEffect)(()=>{const l={};e.blockInstanceId||(l.blockInstanceId=Math.random().toString(36).substr(2,9)),Object.keys(l).length>0&&u(l);const t=J.filter(e=>"core/heading"===e.name&&m.includes(`h${e.attributes.level}`)),n=new Set;let a=!1;const s=new Map(p.map(e=>[e.anchor,e])),r=[];for(const e of t){const l=i(e.attributes.content);let o=e.attributes.anchor||l.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-"),t=o,c=2;for(;n.has(t);)t=`${o}-${c}`,c++,a=!0;n.add(t),e.attributes.anchor!==t&&A(e.clientId,{anchor:t});const k=s.get(e.attributes.anchor)||s.get(t),u=k&&k.linkText!==k.text?k.linkText:l,m=!k||k.isVisible;r.push({anchor:t,text:l,linkText:u,isVisible:m,level:e.attributes.level})}JSON.stringify(r)!==JSON.stringify(p)&&u({headings:r}),a&&D((0,o.__)("Jump Links Block: Duplicate headings were found. Unique IDs have been auto-generated, but this may be a sign of redundancy. Please review your headings for clarity.","jump-links-block-seo-44"),{type:"snackbar"})},[J,m,p,e.blockInstanceId,u,A,D]),(0,s.useEffect)(()=>{"horizontal"===g&&"none"!==_&&u({listStyle:"none"})},[g,_,u]);const G=(e,l)=>{const o=[...p],t=o.splice(e,1)[0];"up"===l?o.splice(e-1,0,t):o.splice(e+1,0,t),u({headings:o})},q=e=>{const l=m.includes(e)?m.filter(l=>l!==e):[...m,e];u({headingLevels:l.sort()})};return(0,l.createElement)(s.Fragment,null,(0,l.createElement)(t.InspectorControls,null,(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Presentation","jump-links-block-seo-44")},(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:!v,isPressed:!v,onClick:()=>u({isEditing:!1})},(0,o.__)("Viewing Mode","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:v,isPressed:v,onClick:()=>u({isEditing:!0})},(0,o.__)("Editing Mode","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description"},(0,o.__)("Switch to Editing Mode to customize link text, visibility, and order.","jump-links-block-seo-44"))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Appearance","jump-links-block-seo-44")},(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Layout","jump-links-block-seo-44"))),(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:"vertical"===g,isPressed:"vertical"===g,onClick:()=>u({layout:"vertical"})},(0,o.__)("Vertical","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:"horizontal"===g,isPressed:"horizontal"===g,onClick:()=>u({layout:"horizontal"})},(0,o.__)("Horizontal","jump-links-block-seo-44"))),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Make Jump Links Area Expandable","jump-links-block-seo-44"),help:(0,o.__)('Conserve screen space by collapsing a long list of jump links, providing users with an elegant "show more" button to see the entire list.',"jump-links-block-seo-44"),checked:f,onChange:()=>u({isCollapsible:!f}),__nextHasNoMarginBottom:!0}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("List Style","jump-links-block-seo-44"),value:_,options:[{label:(0,o.__)("Bulleted","jump-links-block-seo-44"),value:"ul"},{label:(0,o.__)("Numbered","jump-links-block-seo-44"),value:"ol"},{label:(0,o.__)("None","jump-links-block-seo-44"),value:"none"}],onChange:e=>u({listStyle:e}),disabled:"horizontal"===g,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.FontSizePicker,{fontSizes:[{name:(0,o.__)("S","jump-links-block-seo-44"),slug:"small",size:"14px"},{name:(0,o.__)("M","jump-links-block-seo-44"),slug:"normal",size:"17px"},{name:(0,o.__)("L","jump-links-block-seo-44"),slug:"large",size:"20px"},{name:(0,o.__)("XL","jump-links-block-seo-44"),slug:"extra-large",size:"23px"}],value:C,onChange:e=>u({fontSize:e}),withReset:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Colors","jump-links-block-seo-44"),colorSettings:[{value:w,onChange:e=>u({blockBackgroundColor:e}),label:(0,o.__)("Block Background","jump-links-block-seo-44")},{value:y,onChange:e=>u({linkColor:e}),label:(0,o.__)("Link Color","jump-links-block-seo-44")},{value:j,onChange:e=>u({textColor:e}),label:(0,o.__)("Other Text Color","jump-links-block-seo-44")}]}),"horizontal"===g&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Horizontal Link Styles","jump-links-block-seo-44"))),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Link Style","jump-links-block-seo-44"),value:T,options:[{label:(0,o.__)("Button (Default)","jump-links-block-seo-44"),value:"button"},{label:(0,o.__)("Plain Text","jump-links-block-seo-44"),value:"text"}],onChange:e=>u({linkStyle:e}),__nextHasNoMarginBottom:!0}),"button"===T&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Link Colors","jump-links-block-seo-44"),colorSettings:[{value:E,onChange:e=>u({linkBackgroundColor:e}),label:(0,o.__)("Background","jump-links-block-seo-44")},{value:B,onChange:e=>u({linkBackgroundColorHover:e}),label:(0,o.__)("Background Hover","jump-links-block-seo-44")},{value:S,onChange:e=>u({linkBorderColor:e}),label:(0,o.__)("Border","jump-links-block-seo-44")}]}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Link Border Radius","jump-links-block-seo-44"),value:z,onChange:e=>u({linkBorderRadius:e}),min:0,max:50,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),"text"===T&&(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Separator","jump-links-block-seo-44"),value:N,options:[{label:(0,o.__)("Space ( )","jump-links-block-seo-44"),value:"space"},{label:(0,o.__)("Middle Dot (·)","jump-links-block-seo-44"),value:"dot"},{label:(0,o.__)("Pipe (|)","jump-links-block-seo-44"),value:"pipe"},{label:(0,o.__)("Slash (/)","jump-links-block-seo-44"),value:"slash"}],onChange:e=>u({separatorType:e}),__nextHasNoMarginBottom:!0}))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Content Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Display Block Title","jump-links-block-seo-44"),checked:h,onChange:()=>u({showHeading:!h}),__nextHasNoMarginBottom:!0}),h&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)(n.TextControl,{label:(0,o.__)("Title Text","jump-links-block-seo-44"),value:b,onChange:e=>u({headingText:e}),help:(0,o.__)("The text that appears above your list of links.","jump-links-block-seo-44")}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Title Tag","jump-links-block-seo-44"),value:d,options:[{label:"H2",value:"h2"},{label:"H3",value:"h3"},{label:"H4",value:"h4"},{label:"H5",value:"h5"},{label:"Paragraph (Bold)",value:"p"},{label:"Div (No Semantic Value)",value:"div"}],onChange:e=>u({headingTag:e}),help:(0,o.__)("Choose a level that fits your page's structure.","jump-links-block-seo-44"),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Included Headings","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description",style:{marginBottom:"10px"}},(0,o.__)("Select which heading levels from your post content should appear in the jump links list.","jump-links-block-seo-44")),(0,l.createElement)(n.CheckboxControl,{label:"H2",checked:m.includes("h2"),onChange:()=>q("h2")}),(0,l.createElement)(n.CheckboxControl,{label:"H3",checked:m.includes("h3"),onChange:()=>q("h3")}),(0,l.createElement)(n.CheckboxControl,{label:"H4",checked:m.includes("h4"),onChange:()=>q("h4")}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Create Visual Hierarchy","jump-links-block-seo-44"),help:(0,o.__)("Indents sub-headings (H3, H4) to create a nested outline structure.","jump-links-block-seo-44"),checked:x,onChange:()=>u({isSmartIndentation:!x}),__nextHasNoMarginBottom:!0})),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Position Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Sticky Position","jump-links-block-seo-44"),help:(0,o.__)("Keep the table of contents visible while scrolling.","jump-links-block-seo-44"),checked:M,onChange:()=>u({isSticky:!M}),__nextHasNoMarginBottom:!0}),M&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)("p",{className:"description",style:{marginBottom:"15px"}},(0,o.__)("Customize how the block behaves when it sticks to the top of the screen.","jump-links-block-seo-44")),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Top Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The distance between the top of the screen and the block when stuck (useful for clearing sticky headers).","jump-links-block-seo-44"),value:H,onChange:e=>u({stickyOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Jump Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The buffer distance to stop *before* the heading. Increase this if your sticky header covers the text.","jump-links-block-seo-44"),value:$,onChange:e=>u({jumpOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Scroll Behavior","jump-links-block-seo-44"),help:(0,o.__)('Choose "Scroll-Up-To-Reveal" to hide the nav when scrolling down (saves screen space).',"jump-links-block-seo-44"),value:O,options:[{label:(0,o.__)("Always Visible","jump-links-block-seo-44"),value:"always"},{label:(0,o.__)("Scroll-Up-To-Reveal","jump-links-block-seo-44"),value:"smart"}],onChange:e=>u({stickyBehavior:e}),__nextHasNoMarginBottom:!0}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Disable on Mobile","jump-links-block-seo-44"),help:(0,o.__)("Prevents the block from sticking on small screens to save reading space.","jump-links-block-seo-44"),checked:"desktop-only"===P,onChange:e=>u({stickyStrategy:e?"desktop-only":"always"}),__nextHasNoMarginBottom:!0})))),(0,l.createElement)("div",{...F},h&&(0,l.createElement)(t.RichText,{tagName:d,className:"wp-block-seo44-jump-links-heading",value:b,onChange:e=>u({headingText:e}),placeholder:(0,o.__)("On This Page","jump-links-block-seo-44")}),p.length>0?(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(I,{id:V},p.map((e,t)=>v?(0,l.createElement)("li",{key:e.anchor},(0,l.createElement)(n.TextControl,{value:e.linkText,onChange:e=>((e,l)=>{const o=[...p];o[e].linkText=l,u({headings:o})})(t,e)}),(0,l.createElement)("div",{className:"edit-controls-wrapper"},(0,l.createElement)("div",{className:"reorder-buttons"},(0,l.createElement)(n.Button,{icon:r,label:(0,o.__)("Move Up","jump-links-block-seo-44"),onClick:()=>G(t,"up"),disabled:0===t}),(0,l.createElement)(n.Button,{icon:c,label:(0,o.__)("Move Down","jump-links-block-seo-44"),onClick:()=>G(t,"down"),disabled:t===p.length-1})),(0,l.createElement)(n.ToggleControl,{label:!1!==e.isVisible?(0,o.__)("Included","jump-links-block-seo-44"):(0,o.__)("This Jump Link will not be shown","jump-links-block-seo-44"),checked:!1!==e.isVisible,onChange:()=>(e=>{const l=[...p];l[e].isVisible=!l[e].isVisible,u({headings:l})})(t),__nextHasNoMarginBottom:!0}))):!1!==e.isVisible&&(0,l.createElement)("li",{key:e.anchor,className:x?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`,onClick:e=>e.preventDefault()},e.linkText)))),!v&&f&&p.length>0&&(0,l.createElement)(n.Tooltip,{text:(0,o.__)("This button is functional on the front-end to expand the list.","jump-links-block-seo-44")},(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":V,onClick:()=>{D((0,o.__)('The "Show More" button is interactive on the published page.',"jump-links-block-seo-44"),{type:"snackbar"})}},k))):(0,l.createElement)("p",null,(0,o.__)("No headings found. Select a heading level in the block settings to generate links.","jump-links-block-seo-44"))))},save:function({attributes:e}){const{blockInstanceId:n,layout:a,isCollapsible:s,isSmartIndentation:i,headings:r,showHeading:c,headingText:k,headingTag:u,listStyle:m,fontSize:p,textColor:h,linkColor:b,blockBackgroundColor:d,linkBackgroundColor:g,linkBackgroundColorHover:_,linkBorderColor:v,linkBorderRadius:f,linkStyle:x,separatorType:C,isSticky:j,stickyOffset:y,jumpOffset:w,stickyStrategy:E,stickyBehavior:B}=e,S={color:h,fontSize:p,"--jump-link-font-size":p||"18px","--seo44-block-bg":d,"--seo44-link-color":b,"--seo44-link-bg":"horizontal"===a?g:void 0,"--seo44-link-hover-bg":"horizontal"===a?_:void 0,"--seo44-link-border-color":"horizontal"===a?v:void 0,"--seo44-link-radius":"horizontal"===a&&f?`${f}px`:void 0,"--seo44-sticky-offset":j?`${y}px`:void 0},z="ol"===m?"ol":"ul",T=`seo44-jump-links-list-${n}`,N="text"===x?"is-style-text-links":"",M="text"===x&&C&&"none"!==C?`has-separator-${C}`:"",H=j&&"smart"===B?"is-smart-sticky":"",$=t.useBlockProps.save({className:`${"horizontal"===a?"is-layout-horizontal":""} ${s?"is-collapsible":""} ${"none"===m?"list-style-none":""} ${j?"is-sticky":""} ${"desktop-only"===E?"sticky-desktop-only":""} ${N} ${M} ${H}`.trim(),style:S,"data-seo44-jump-offset":j?w:30}),P=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),O=(0,l.createElement)("svg",{className:"arrow-up",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14l-6-6z"}));return(0,l.createElement)("div",{...$},(0,l.createElement)("div",{className:"seo44-sticky-sentinel","aria-hidden":"true"}),c&&(0,l.createElement)(t.RichText.Content,{tagName:u||"h2",className:"wp-block-seo44-jump-links-heading",value:k}),r&&r.length>0&&(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(z,{id:T},r.filter(e=>!1!==e.isVisible).map(e=>(0,l.createElement)("li",{key:e.anchor,className:i?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`},e.linkText)))),s&&(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":T},P,O)))}})}},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return l[e](a,a.exports,t),a.exports}t.m=l,e=[],t.O=(l,o,n,a)=>{if(!o){var s=1/0;for(k=0;k<e.length;k++){for(var[o,n,a]=e[k],i=!0,r=0;r<o.length;r++)(!1&a||s>=a)&&Object.keys(t.O).every(e=>t.O[e](o[r]))?o.splice(r--,1):(i=!1,a<s&&(s=a));if(i){e.splice(k--,1);var c=n();void 0!==c&&(l=c)}}return l}a=a||0;for(var k=e.length;k>0&&e[k-1][2]>a;k--)e[k]=e[k-1];e[k]=[o,n,a]},t.o=(e,l)=>Object.prototype.hasOwnProperty.call(e,l),(()=>{var e={57:0,350:0};t.O.j=l=>0===e[l];var l=(l,o)=>{var n,a,[s,i,r]=o,c=0;if(s.some(l=>0!==e[l])){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(r)var k=r(t)}for(l&&l(o);c<s.length;c++)a=s[c],t.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return t.O(k)},o=globalThis.webpackChunkseo_44_jump_links_block=globalThis.webpackChunkseo_44_jump_links_block||[];o.forEach(l.bind(null,0)),o.push=l.bind(null,o.push.bind(o))})();var n=t.O(void 0,[350],()=>t(313));n=t.O(n)})(); -
jump-links-block-seo-44/tags/2.1/build/style-index-rtl.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none} -
jump-links-block-seo-44/tags/2.1/build/style-index.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none} -
jump-links-block-seo-44/tags/2.1/build/view.asset.php
r3403606 r3425541 1 <?php return array('dependencies' => array(), 'version' => ' 5d75a6211fafff395ca9');1 <?php return array('dependencies' => array(), 'version' => 'd6853a0eed2ea65cc537'); -
jump-links-block-seo-44/tags/2.1/build/view.js
r3403606 r3425541 1 window.addEventListener("load",function(){ document.querySelectorAll(".wp-block-seo44-jump-links").forEach(e=>{if(e.addEventListener("click",function(t){const s=t.target.closest('a[href^="#"]');if(s){t.preventDefault();const o=s.getAttribute("href"),i=document.querySelector(o);if(i)if(e.classList.contains("is-sticky")){let t=30;const s=e.getAttribute("data-seo44-jump-offset");s&&(t=parseInt(s,10));const o=i.getBoundingClientRect().top+window.scrollY-t;window.scrollTo({top:o,behavior:"smooth"})}else i.scrollIntoView({behavior:"smooth"})}}),e.classList.contains("is-collapsible")){const t=e.querySelector(".seo-44-show-more");if(t){t.style.display="inline-block";const s=window.seo44JumpLinksL10n||{},o=s.showMore||"Show More",i=s.showLess||"Show Less";t.setAttribute("aria-label",o),t.addEventListener("click",function(){e.classList.toggle("is-expanded");const s=e.classList.contains("is-expanded");t.setAttribute("aria-expanded",s),s?t.setAttribute("aria-label",i):t.setAttribute("aria-label",o)})}}if(e.classList.contains("is-sticky")&&"IntersectionObserver"in window){const t=new IntersectionObserver(t=>{t.forEach(t=>{!t.isIntersecting&&t.boundingClientRect.top<0?e.classList.add("is-stuck"):e.classList.remove("is-stuck")})},{threshold:0,rootMargin:"0px"});e.querySelectorAll(".seo44-sticky-sentinel").forEach(e=>{t.observe(e)})}if("IntersectionObserver"in window){const t=new IntersectionObserver(t=>{t.forEach(t=>{if(t.isIntersecting){const s=t.target.getAttribute("id"),o=e.querySelector(`a[href="#${s}"]`);o&&(e.querySelectorAll("a").forEach(e=>e.classList.remove("is-active")),o.classList.add("is-active"))}})},{root:null,rootMargin:"-100px 0px -60% 0px",threshold:0});e.querySelectorAll('a[href^="#"]').forEach(e=>{const s=e.getAttribute("href").substring(1),o=document.getElementById(s);o&&t.observe(o)})}})});1 window.addEventListener("load",function(){const e=document.querySelectorAll(".wp-block-seo44-jump-links");e.forEach(t=>{const s=window.getComputedStyle(t).borderTopWidth||"0px";t.style.setProperty("--seo44-block-border-thickness",s),t.addEventListener("click",function(e){const s=e.target.closest('a[href^="#"]');if(s){e.preventDefault();const o=s.getAttribute("href"),i=document.querySelector(o);if(i)if(t.classList.contains("is-sticky")){let e=30;const s=t.getAttribute("data-seo44-jump-offset");s&&(e=parseInt(s,10));const o=i.getBoundingClientRect().top+window.scrollY-e;window.scrollTo({top:o,behavior:"smooth"})}else i.scrollIntoView({behavior:"smooth"})}});const o=Array.from(e).filter(e=>e.classList.contains("is-smart-sticky"));if(o.length>0){let e=window.pageYOffset||document.documentElement.scrollTop,t=!1;const s=10;window.addEventListener("scroll",function(){t||(window.requestAnimationFrame(function(){const i=window.pageYOffset||document.documentElement.scrollTop;o.forEach(t=>{t.classList.contains("is-stuck")?Math.abs(e-i)<=s||(i>e?t.classList.add("is-scroll-hidden"):t.classList.remove("is-scroll-hidden")):t.classList.remove("is-scroll-hidden")}),e=i<=0?0:i,t=!1}),t=!0)})}if(t.classList.contains("is-collapsible")){const e=t.querySelector(".seo-44-show-more");if(e){e.style.display="inline-block";const s=window.seo44JumpLinksL10n||{},o=s.showMore||"Show More",i=s.showLess||"Show Less";e.setAttribute("aria-label",o),e.addEventListener("click",function(){t.classList.toggle("is-expanded");const s=t.classList.contains("is-expanded");e.setAttribute("aria-expanded",s),s?e.setAttribute("aria-label",i):e.setAttribute("aria-label",o)})}}if(t.classList.contains("is-sticky")&&"IntersectionObserver"in window){const e=new IntersectionObserver(e=>{e.forEach(e=>{!e.isIntersecting&&e.boundingClientRect.top<0?t.classList.add("is-stuck"):t.classList.remove("is-stuck")})},{threshold:0,rootMargin:"0px"});t.querySelectorAll(".seo44-sticky-sentinel").forEach(t=>{e.observe(t)})}if("IntersectionObserver"in window){const e=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){const s=e.target.getAttribute("id"),o=t.querySelector(`a[href="#${s}"]`);o&&(t.querySelectorAll("a").forEach(e=>e.classList.remove("is-active")),o.classList.add("is-active"))}})},{root:null,rootMargin:"-100px 0px -60% 0px",threshold:0});t.querySelectorAll('a[href^="#"]').forEach(t=>{const s=t.getAttribute("href").substring(1),o=document.getElementById(s);o&&e.observe(o)})}})}); -
jump-links-block-seo-44/tags/2.1/changelog.txt
r3405475 r3425541 1 1 == Changelog == 2 2 3 = 2.1.0 = 4 * **NEW:** Added a "Plain Text" style option for horizontal layouts, offering a minimalist alternative to the default button style. 5 * **NEW:** Introduced optional "Smart Sticky" (Scroll-Up-To-Reveal) behavior. The sticky table of contents can now hide automatically when scrolling down to save screen space and reappear when scrolling up. 6 * **NEW:** Added visual separators (Middle Dot, Pipe, and Slash) for text-based link lists. 7 * **ENHANCEMENT:** Introduced CSS transitions for sticky elements for a smooth visual experience for Scroll-Up-To-Reveal jump links. 8 * **ENHANCEMENT:** Optimized editor controls to conditionally display relevant settings, keeping the sidebar clean. 9 * **FIX:** Added dynamic border calculation to resolve an issue where thick borders could prevent the navigation bar from sticking or hiding correctly. 10 3 11 = 2.0.1 = 4 * TWEAK:To avoid the bottom of horizontal link "buttons" from ever being cut off when the menu is collapsed, the styling has been finetuned to include a defined line-height for list items.12 * **TWEAK:** To avoid the bottom of horizontal link "buttons" from ever being cut off when the menu is collapsed, the styling has been finetuned to include a defined line-height for list items. 5 13 6 14 = 2.0.0 = 7 * FEATURE:**Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices.8 * FEATURE:**Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning).9 * FEATURE:**Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure.10 * FEATURE:**Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation.11 * FEATURE:**ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post.15 * **FEATURE:** **Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices. 16 * **FEATURE:** **Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning). 17 * **FEATURE:** **Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure. 18 * **FEATURE:** **Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation. 19 * **FEATURE:** **ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post. 12 20 13 21 = 1.9.2 = 14 * FEATURE:Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings.15 * FEATURE:Added a "Heading Level" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure.16 * REFACTOR:Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance.17 * FIX:Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID.18 * PERFORMANCE:Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link.19 * TWEAK:Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings.22 * **FEATURE:** Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings. 23 * **FEATURE:** Added a "Heading Level" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure. 24 * **REFACTOR:** Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance. 25 * **FIX:** Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID. 26 * **PERFORMANCE:** Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link. 27 * **TWEAK:** Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings. 20 28 21 29 = 1.9.1 = -
jump-links-block-seo-44/tags/2.1/jump-links-block.php
r3405475 r3425541 4 4 * Plugin URI: https://www.sethcreates.com/plugins-for-wordpress/jump-links-block-seo-44/ 5 5 * Description: A standalone custom block for automatically creating a customizable Jump Links table of contents. 6 * Version: 2. 0.16 * Version: 2.1.0 7 7 * Author: Seth Smigelski 8 8 * Author URI: https://www.sethcreates.com/plugins-for-wordpress/ -
jump-links-block-seo-44/tags/2.1/readme.txt
r3405475 r3425541 3 3 Tags: block, jump links, on this page, table of contents, jump links block 4 4 Requires at least: 5.5 5 Tested up to: 6. 86 Stable tag: 2. 0.15 Tested up to: 6.9 6 Stable tag: 2.1.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 179 179 == Changelog == 180 180 181 = 2.0.1 = 182 * TWEAK: To avoid the bottom of horizontal link "buttons" from ever being cut off when the menu is collapsed, the styling has been finetuned to include a defined line-height for list items. 183 184 = 2.0.0 = 185 * FEATURE: **Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices. 186 * FEATURE: **Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning). 187 * FEATURE: **Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure. 188 * FEATURE: **Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation. 189 * FEATURE: **ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post. 190 191 = 1.9.2 = 192 * FEATURE: Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings. 193 * FEATURE: Added a "Title tag" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure. 194 * REFACTOR: Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance. 195 * FIX: Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID. 196 * PERFORMANCE: Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link. 197 * TWEAK: Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings. 198 181 = 2.1.0 = 182 * **NEW:** Added a "Plain Text" style option for horizontal layouts, offering a minimalist alternative to the default button style. 183 * **NEW:** Introduced optional "Smart Sticky" (Scroll-Up-To-Reveal) behavior. The sticky table of contents can now hide automatically when scrolling down to save screen space and reappear when scrolling up. 184 * **NEW:** Added visual separators (Middle Dot, Pipe, and Slash) for text-based link lists. 185 * **ENHANCEMENT:** Introduced CSS transitions for sticky elements for a smooth visual experience for Scroll-Up-To-Reveal jump links. 186 * **ENHANCEMENT:** Optimized editor controls to conditionally display relevant settings, keeping the sidebar clean. 187 * **FIX:** Added dynamic border calculation to resolve an issue where thick borders could prevent the navigation bar from sticking or hiding correctly. 199 188 200 189 For a complete list of changes, please see the [full changelog](https://seo44plugin.com/jump-links-block-seo-44/changelog/) or the changelog.txt file included with the plugin. -
jump-links-block-seo-44/trunk/README.md
r3403606 r3425541 5 5 * **Tags:** block, jump links, on this page, table of contents, jump links block 6 6 * **Requires at least:** 5.5 7 * **Tested up to:** 6. 88 * **Stable tag:** 2. 0.07 * **Tested up to:** 6.9 8 * **Stable tag:** 2.1.0 9 9 * **Requires PHP:** 7.4 10 10 * **License:** GPLv2 or later … … 219 219 220 220 ## Changelog 221 ### 2.0.0 222 * **FEATURE:** **Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices. 223 * **FEATURE:** **Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning). 224 * **FEATURE:** **Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure. 225 * **FEATURE:** **Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation. 226 * **FEATURE:** **ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post. 227 228 ### 1.9.2 229 * **FEATURE:** Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings. 230 * **FEATURE:** Added a "Heading Level" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure. 231 * **REFACTOR:** Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance. 232 * **FIX:** Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID. 233 * **PERFORMANCE:** Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link. 234 * **TWEAK:** Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings. 235 236 ### 1.9.0 237 * **HELLO WORLD:** Initial release to the WordPress Plugin Directory. 238 239 For a complete list of changes, please see the [full changelog](https://seo44plugin.com/jump-links-block-seo-44/changelog/) or the changelog.txt file included with the plugin. 221 ### 2.1.0 222 * **NEW:** Added a "Plain Text" style option for horizontal layouts, offering a minimalist alternative to the default button style. 223 * **NEW:** Introduced optional "Smart Sticky" (Scroll-Up-To-Reveal) behavior. The sticky table of contents can now hide automatically when scrolling down to save screen space and reappear when scrolling up. 224 * **NEW:** Added visual separators (Middle Dot, Pipe, and Slash) for text-based link lists. 225 * **ENHANCEMENT:** Introduced CSS transitions for sticky elements for a smooth visual experience for Scroll-Up-To-Reveal jump links. 226 * **ENHANCEMENT:** Optimized editor controls to conditionally display relevant settings, keeping the sidebar clean. 227 * **FIX:** Added dynamic border calculation to resolve an issue where thick borders could prevent the navigation bar from sticking or hiding correctly. 240 228 241 229 ## Upgrade Notice -
jump-links-block-seo-44/trunk/build/block.json
r3405475 r3425541 31 31 "linkPadding": { 32 32 "type": "string" 33 }, 34 "linkStyle": { 35 "type": "string", 36 "default": "button" 37 }, 38 "separatorType": { 39 "type": "string", 40 "default": "space" 41 }, 42 "stickyBehavior": { 43 "type": "string", 44 "default": "always" 33 45 }, 34 46 "fontSize": { … … 157 169 "textdomain": "jump-links-block-seo-44", 158 170 "title": "SEO 44 Jump Links", 159 "version": "2. 0.1",171 "version": "2.1.0", 160 172 "viewScript": "file:./view.js" 161 173 } -
jump-links-block-seo-44/trunk/build/index-rtl.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle} -
jump-links-block-seo-44/trunk/build/index.asset.php
r3405475 r3425541 1 <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => ' 2d1f773e511fbaf022a1');1 <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '569f2c14391de5e6bf08'); -
jump-links-block-seo-44/trunk/build/index.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none}.block-editor-block-list__block[data-type="seo44/jump-links"].is-collapsible.wp-block-seo44-jump-links .seo-44-show-more{display:inline-block}.wp-block-seo44-jump-links ol li .components-text-control,.wp-block-seo44-jump-links ul li .components-text-control{flex-grow:1}.components-panel__body .components-button-group{display:flex;gap:8px;margin-bottom:8px;width:100%}.components-panel__body .components-button-group .components-button{flex-grow:1;justify-content:center}.reorder-buttons .components-button{border:1px solid #999;border-radius:6px;margin:0 5px}.reorder-buttons .components-button:disabled{color:transparent;display:none}.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .reorder-buttons{width:96px}.wp-block-seo44-jump-links ol li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ol li .reorder-buttons,.wp-block-seo44-jump-links ul li .components-toggle-control.components-toggle-control,.wp-block-seo44-jump-links ul li .reorder-buttons{display:inline-block;margin:0 5px 10px;vertical-align:middle} -
jump-links-block-seo-44/trunk/build/index.js
r3403606 r3425541 1 (()=>{"use strict";var e,l={313 :()=>{const e=window.wp.blocks,l=window.React,o=window.wp.i18n,t=window.wp.blockEditor,n=window.wp.components,s=window.wp.data,a=window.wp.element;function i(e){return(new DOMParser).parseFromString(e,"text/html").body.textContent||""}const r=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 21v-2h18v2zm8-4v-6.175L9.4 12.4L8 11l4-4l4 4l-1.4 1.4l-1.6-1.575V17zM3 5V3h18v2z"})),c=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 5V3h18v2zm9 12l-4-4l1.4-1.4l1.6 1.575V7h2v6.175l1.6-1.575L16 13zm-9 4v-2h18v2z"})),k=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),u=JSON.parse('{"UU":"seo44/jump-links"}');(0,e.registerBlockType)(u.UU,{edit:function({attributes:e,setAttributes:u}){const{headingLevels:m,headings:h,showHeading:p,headingText:d,headingTag:b,layout:g,listStyle:_,isEditing:v,isCollapsible:f,isSmartIndentation:x,fontSize:w,textColor:C,linkColor:E,blockBackgroundColor:j,linkBackgroundColor:y,linkBackgroundColorHover:B,linkBorderColor:S,linkBorderRadius:z,isSticky:T,stickyOffset:N,jumpOffset:H,stickyStrategy:M}=e,P={color:C,fontSize:w,"--jump-link-font-size":w||"18px","--seo44-link-color":E,"--seo44-link-bg":"horizontal"===g?y:void 0,"--seo44-link-hover-bg":"horizontal"===g?B:void 0,"--seo44-link-border-color":"horizontal"===g?S:void 0,"--seo44-link-radius":"horizontal"===g&&z?`${z}px`:void 0,"--seo44-block-bg":j,"--seo44-sticky-offset":T?`${N}px`:void 0},O="ol"===_?"ol":"ul",{createInfoNotice:I}=(0,s.useDispatch)("core/notices"),L=e.blockInstanceId?`seo44-jump-links-list-${e.blockInstanceId}`:"seo44-jump-links-list",$=(0,t.useBlockProps)({style:P});$.className=`${$.className} ${"horizontal"===g?"is-layout-horizontal":""} ${f&&!v?"is-collapsible":""} ${"none"===_?"list-style-none":""}`.trim();const D=(0,s.useSelect)(e=>e("core/block-editor").getBlocks(),[]),{updateBlockAttributes:V}=(0,s.useDispatch)("core/block-editor");(0,a.useEffect)(()=>{const l={};e.blockInstanceId||(l.blockInstanceId=Math.random().toString(36).substr(2,9)),Object.keys(l).length>0&&u(l);const t=D.filter(e=>"core/heading"===e.name&&m.includes(`h${e.attributes.level}`)),n=new Set;let s=!1;const a=new Map(h.map(e=>[e.anchor,e])),r=[];for(const e of t){const l=i(e.attributes.content);let o=e.attributes.anchor||l.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-"),t=o,c=2;for(;n.has(t);)t=`${o}-${c}`,c++,s=!0;n.add(t),e.attributes.anchor!==t&&V(e.clientId,{anchor:t});const k=a.get(e.attributes.anchor)||a.get(t),u=k&&k.linkText!==k.text?k.linkText:l,m=!k||k.isVisible;r.push({anchor:t,text:l,linkText:u,isVisible:m,level:e.attributes.level})}JSON.stringify(r)!==JSON.stringify(h)&&u({headings:r}),s&&I((0,o.__)("Jump Links Block: Duplicate headings were found. Unique IDs have been auto-generated, but this may be a sign of redundancy. Please review your headings for clarity.","jump-links-block-seo-44"),{type:"snackbar"})},[D,m,h,e.blockInstanceId,u,V,I]),(0,a.useEffect)(()=>{"horizontal"===g&&"none"!==_&&u({listStyle:"none"})},[g,_,u]);const R=(e,l)=>{const o=[...h],t=o.splice(e,1)[0];"up"===l?o.splice(e-1,0,t):o.splice(e+1,0,t),u({headings:o})},J=e=>{const l=m.includes(e)?m.filter(l=>l!==e):[...m,e];u({headingLevels:l.sort()})};return(0,l.createElement)(a.Fragment,null,(0,l.createElement)(t.InspectorControls,null,(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Presentation","jump-links-block-seo-44")},(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:!v,isPressed:!v,onClick:()=>u({isEditing:!1})},(0,o.__)("Viewing Mode","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:v,isPressed:v,onClick:()=>u({isEditing:!0})},(0,o.__)("Editing Mode","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description"},(0,o.__)("Switch to Editing Mode to customize link text, visibility, and order.","jump-links-block-seo-44"))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Appearance","jump-links-block-seo-44")},(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Layout","jump-links-block-seo-44"))),(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:"vertical"===g,isPressed:"vertical"===g,onClick:()=>u({layout:"vertical"})},(0,o.__)("Vertical","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:"horizontal"===g,isPressed:"horizontal"===g,onClick:()=>u({layout:"horizontal"})},(0,o.__)("Horizontal","jump-links-block-seo-44"))),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Make Jump Links Area Expandable","jump-links-block-seo-44"),help:(0,o.__)('Conserve screen space by collapsing a long list of jump links, providing users with an elegant "show more" button to see the entire list.',"jump-links-block-seo-44"),checked:f,onChange:()=>u({isCollapsible:!f}),__nextHasNoMarginBottom:!0}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("List Style","jump-links-block-seo-44"),value:_,options:[{label:(0,o.__)("Bulleted","jump-links-block-seo-44"),value:"ul"},{label:(0,o.__)("Numbered","jump-links-block-seo-44"),value:"ol"},{label:(0,o.__)("None","jump-links-block-seo-44"),value:"none"}],onChange:e=>u({listStyle:e}),disabled:"horizontal"===g,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.FontSizePicker,{fontSizes:[{name:(0,o.__)("S","jump-links-block-seo-44"),slug:"small",size:"14px"},{name:(0,o.__)("M","jump-links-block-seo-44"),slug:"normal",size:"17px"},{name:(0,o.__)("L","jump-links-block-seo-44"),slug:"large",size:"20px"},{name:(0,o.__)("XL","jump-links-block-seo-44"),slug:"extra-large",size:"23px"}],value:w,onChange:e=>u({fontSize:e}),withReset:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Colors","jump-links-block-seo-44"),colorSettings:[{value:j,onChange:e=>u({blockBackgroundColor:e}),label:(0,o.__)("Block Background","jump-links-block-seo-44")},{value:E,onChange:e=>u({linkColor:e}),label:(0,o.__)("Link Color","jump-links-block-seo-44")},{value:C,onChange:e=>u({textColor:e}),label:(0,o.__)("Other Text Color","jump-links-block-seo-44")}]}),"horizontal"===g&&(0,l.createElement)(a.Fragment,null,(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Horizontal Link Styles","jump-links-block-seo-44"))),(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Link Colors","jump-links-block-seo-44"),colorSettings:[{value:y,onChange:e=>u({linkBackgroundColor:e}),label:(0,o.__)("Background","jump-links-block-seo-44")},{value:B,onChange:e=>u({linkBackgroundColorHover:e}),label:(0,o.__)("Background Hover","jump-links-block-seo-44")},{value:S,onChange:e=>u({linkBorderColor:e}),label:(0,o.__)("Border","jump-links-block-seo-44")}]}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Link Border Radius","jump-links-block-seo-44"),value:z,onChange:e=>u({linkBorderRadius:e}),min:0,max:50,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Content Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Display Block Title","jump-links-block-seo-44"),checked:p,onChange:()=>u({showHeading:!p}),__nextHasNoMarginBottom:!0}),p&&(0,l.createElement)(a.Fragment,null,(0,l.createElement)(n.TextControl,{label:(0,o.__)("Title Text","jump-links-block-seo-44"),value:d,onChange:e=>u({headingText:e}),help:(0,o.__)("The text that appears above your list of links.","jump-links-block-seo-44")}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Title Tag","jump-links-block-seo-44"),value:b,options:[{label:"H2",value:"h2"},{label:"H3",value:"h3"},{label:"H4",value:"h4"},{label:"H5",value:"h5"},{label:"Paragraph (Bold)",value:"p"},{label:"Div (No Semantic Value)",value:"div"}],onChange:e=>u({headingTag:e}),help:(0,o.__)("Choose a level that fits your page's structure.","search-appearance-toolkit-seo-44"),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Included Headings","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description",style:{marginBottom:"10px"}},(0,o.__)("Select which heading levels from your post content should appear in the jump links list.","jump-links-block-seo-44")),(0,l.createElement)(n.CheckboxControl,{label:"H2",checked:m.includes("h2"),onChange:()=>J("h2")}),(0,l.createElement)(n.CheckboxControl,{label:"H3",checked:m.includes("h3"),onChange:()=>J("h3")}),(0,l.createElement)(n.CheckboxControl,{label:"H4",checked:m.includes("h4"),onChange:()=>J("h4")}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Create Visual Hierarchy","jump-links-block-seo-44"),help:(0,o.__)("Indents sub-headings (H3, H4) to create a nested outline structure.","jump-links-block-seo-44"),checked:x,onChange:()=>u({isSmartIndentation:!x}),__nextHasNoMarginBottom:!0})),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Position Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Sticky Position","jump-links-block-seo-44"),help:(0,o.__)("Keep the table of contents visible while scrolling.","jump-links-block-seo-44"),checked:T,onChange:()=>u({isSticky:!T}),__nextHasNoMarginBottom:!0}),T&&(0,l.createElement)(a.Fragment,null,(0,l.createElement)("p",{className:"description",style:{marginBottom:"15px"}},(0,o.__)("Customize how the block behaves when it sticks to the top of the screen.","jump-links-block-seo-44")),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Top Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The distance between the top of the screen and the block when stuck (useful for clearing sticky headers).","jump-links-block-seo-44"),value:N,onChange:e=>u({stickyOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Jump Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The buffer distance to stop *before* the heading. Increase this if your sticky header covers the text.","jump-links-block-seo-44"),value:H,onChange:e=>u({jumpOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Disable on Mobile","jump-links-block-seo-44"),help:(0,o.__)("Prevents the block from sticking on small screens to save reading space.","jump-links-block-seo-44"),checked:"desktop-only"===M,onChange:e=>u({stickyStrategy:e?"desktop-only":"always"}),__nextHasNoMarginBottom:!0})))),(0,l.createElement)("div",{...$},p&&(0,l.createElement)(t.RichText,{tagName:b,className:"wp-block-seo44-jump-links-heading",value:d,onChange:e=>u({headingText:e}),placeholder:(0,o.__)("On This Page","jump-links-block-seo-44")}),h.length>0?(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(O,{id:L},h.map((e,t)=>v?(0,l.createElement)("li",{key:e.anchor},(0,l.createElement)(n.TextControl,{value:e.linkText,onChange:e=>((e,l)=>{const o=[...h];o[e].linkText=l,u({headings:o})})(t,e)}),(0,l.createElement)("div",{className:"edit-controls-wrapper"},(0,l.createElement)("div",{className:"reorder-buttons"},(0,l.createElement)(n.Button,{icon:r,label:(0,o.__)("Move Up","jump-links-block-seo-44"),onClick:()=>R(t,"up"),disabled:0===t}),(0,l.createElement)(n.Button,{icon:c,label:(0,o.__)("Move Down","jump-links-block-seo-44"),onClick:()=>R(t,"down"),disabled:t===h.length-1})),(0,l.createElement)(n.ToggleControl,{label:!1!==e.isVisible?(0,o.__)("Included","jump-links-block-seo-44"):(0,o.__)("This Jump Link will not be shown","jump-links-block-seo-44"),checked:!1!==e.isVisible,onChange:()=>(e=>{const l=[...h];l[e].isVisible=!l[e].isVisible,u({headings:l})})(t),__nextHasNoMarginBottom:!0}))):!1!==e.isVisible&&(0,l.createElement)("li",{key:e.anchor,className:x?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`,onClick:e=>e.preventDefault()},e.linkText)))),!v&&f&&h.length>0&&(0,l.createElement)(n.Tooltip,{text:(0,o.__)("This button is functional on the front-end to expand the list.","jump-links-block-seo-44")},(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":L,onClick:()=>{I((0,o.__)('The "Show More" button is interactive on the published page.',"jump-links-block-seo-44"),{type:"snackbar"})}},k))):(0,l.createElement)("p",null,(0,o.__)("No headings found. Select a heading level in the block settings to generate links.","jump-links-block-seo-44"))))},save:function({attributes:e}){const{blockInstanceId:n,layout:s,isCollapsible:a,isSmartIndentation:i,headings:r,showHeading:c,headingText:k,headingTag:u,listStyle:m,fontSize:h,textColor:p,linkColor:d,blockBackgroundColor:b,linkBackgroundColor:g,linkBackgroundColorHover:_,linkBorderColor:v,linkBorderRadius:f,isSticky:x,stickyOffset:w,jumpOffset:C,stickyStrategy:E}=e,j={color:p,fontSize:h,"--jump-link-font-size":h||"18px","--seo44-block-bg":b,"--seo44-link-color":d,"--seo44-link-bg":"horizontal"===s?g:void 0,"--seo44-link-hover-bg":"horizontal"===s?_:void 0,"--seo44-link-border-color":"horizontal"===s?v:void 0,"--seo44-link-radius":"horizontal"===s&&f?`${f}px`:void 0,"--seo44-sticky-offset":x?`${w}px`:void 0},y="ol"===m?"ol":"ul",B=`seo44-jump-links-list-${n}`,S=t.useBlockProps.save({className:`${"horizontal"===s?"is-layout-horizontal":""} ${a?"is-collapsible":""} ${"none"===m?"list-style-none":""} ${x?"is-sticky":""} ${"desktop-only"===E?"sticky-desktop-only":""}`.trim(),style:j,"data-seo44-jump-offset":x?C:30}),z=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),T=(0,l.createElement)("svg",{className:"arrow-up",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14l-6-6z"}));return(0,l.createElement)("div",{...S},(0,l.createElement)("div",{className:"seo44-sticky-sentinel","aria-hidden":"true"}),c&&(0,l.createElement)(t.RichText.Content,{tagName:u||"h2",className:"wp-block-seo44-jump-links-heading",value:k}),r&&r.length>0&&(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(y,{id:B},r.filter(e=>!1!==e.isVisible).map(e=>(0,l.createElement)("li",{key:e.anchor,className:i?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`},e.linkText)))),a&&(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":B},z,T)))}})}},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var s=o[e]={exports:{}};return l[e](s,s.exports,t),s.exports}t.m=l,e=[],t.O=(l,o,n,s)=>{if(!o){var a=1/0;for(k=0;k<e.length;k++){for(var[o,n,s]=e[k],i=!0,r=0;r<o.length;r++)(!1&s||a>=s)&&Object.keys(t.O).every(e=>t.O[e](o[r]))?o.splice(r--,1):(i=!1,s<a&&(a=s));if(i){e.splice(k--,1);var c=n();void 0!==c&&(l=c)}}return l}s=s||0;for(var k=e.length;k>0&&e[k-1][2]>s;k--)e[k]=e[k-1];e[k]=[o,n,s]},t.o=(e,l)=>Object.prototype.hasOwnProperty.call(e,l),(()=>{var e={57:0,350:0};t.O.j=l=>0===e[l];var l=(l,o)=>{var n,s,[a,i,r]=o,c=0;if(a.some(l=>0!==e[l])){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(r)var k=r(t)}for(l&&l(o);c<a.length;c++)s=a[c],t.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return t.O(k)},o=globalThis.webpackChunkseo_44_jump_links_block=globalThis.webpackChunkseo_44_jump_links_block||[];o.forEach(l.bind(null,0)),o.push=l.bind(null,o.push.bind(o))})();var n=t.O(void 0,[350],()=>t(313));n=t.O(n)})();1 (()=>{"use strict";var e,l={313(){const e=window.wp.blocks,l=window.React,o=window.wp.i18n,t=window.wp.blockEditor,n=window.wp.components,a=window.wp.data,s=window.wp.element;function i(e){return(new DOMParser).parseFromString(e,"text/html").body.textContent||""}const r=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 21v-2h18v2zm8-4v-6.175L9.4 12.4L8 11l4-4l4 4l-1.4 1.4l-1.6-1.575V17zM3 5V3h18v2z"})),c=(0,l.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M3 5V3h18v2zm9 12l-4-4l1.4-1.4l1.6 1.575V7h2v6.175l1.6-1.575L16 13zm-9 4v-2h18v2z"})),k=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),u=JSON.parse('{"UU":"seo44/jump-links"}');(0,e.registerBlockType)(u.UU,{edit:function({attributes:e,setAttributes:u}){const{headingLevels:m,headings:p,showHeading:h,headingText:b,headingTag:d,layout:g,listStyle:_,isEditing:v,isCollapsible:f,isSmartIndentation:x,fontSize:C,textColor:j,linkColor:y,blockBackgroundColor:w,linkBackgroundColor:E,linkBackgroundColorHover:B,linkBorderColor:S,linkBorderRadius:z,linkStyle:T,separatorType:N,isSticky:M,stickyOffset:H,jumpOffset:$,stickyStrategy:P,stickyBehavior:O}=e,L={color:j,fontSize:C,"--jump-link-font-size":C||"18px","--seo44-link-color":y,"--seo44-link-bg":"horizontal"===g?E:void 0,"--seo44-link-hover-bg":"horizontal"===g?B:void 0,"--seo44-link-border-color":"horizontal"===g?S:void 0,"--seo44-link-radius":"horizontal"===g&&z?`${z}px`:void 0,"--seo44-block-bg":w,"--seo44-sticky-offset":M?`${H}px`:void 0},I="ol"===_?"ol":"ul",{createInfoNotice:D}=(0,a.useDispatch)("core/notices"),V=e.blockInstanceId?`seo44-jump-links-list-${e.blockInstanceId}`:"seo44-jump-links-list",R="text"===T&&"none"!==N?`has-separator-${N}`:"",U="text"===T?"is-style-text-links":"",F=(0,t.useBlockProps)({style:L});F.className=`${F.className} ${"horizontal"===g?"is-layout-horizontal":""} ${f&&!v?"is-collapsible":""} ${"none"===_?"list-style-none":""} ${R} ${U}`.trim();const J=(0,a.useSelect)(e=>e("core/block-editor").getBlocks(),[]),{updateBlockAttributes:A}=(0,a.useDispatch)("core/block-editor");(0,s.useEffect)(()=>{const l={};e.blockInstanceId||(l.blockInstanceId=Math.random().toString(36).substr(2,9)),Object.keys(l).length>0&&u(l);const t=J.filter(e=>"core/heading"===e.name&&m.includes(`h${e.attributes.level}`)),n=new Set;let a=!1;const s=new Map(p.map(e=>[e.anchor,e])),r=[];for(const e of t){const l=i(e.attributes.content);let o=e.attributes.anchor||l.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-"),t=o,c=2;for(;n.has(t);)t=`${o}-${c}`,c++,a=!0;n.add(t),e.attributes.anchor!==t&&A(e.clientId,{anchor:t});const k=s.get(e.attributes.anchor)||s.get(t),u=k&&k.linkText!==k.text?k.linkText:l,m=!k||k.isVisible;r.push({anchor:t,text:l,linkText:u,isVisible:m,level:e.attributes.level})}JSON.stringify(r)!==JSON.stringify(p)&&u({headings:r}),a&&D((0,o.__)("Jump Links Block: Duplicate headings were found. Unique IDs have been auto-generated, but this may be a sign of redundancy. Please review your headings for clarity.","jump-links-block-seo-44"),{type:"snackbar"})},[J,m,p,e.blockInstanceId,u,A,D]),(0,s.useEffect)(()=>{"horizontal"===g&&"none"!==_&&u({listStyle:"none"})},[g,_,u]);const G=(e,l)=>{const o=[...p],t=o.splice(e,1)[0];"up"===l?o.splice(e-1,0,t):o.splice(e+1,0,t),u({headings:o})},q=e=>{const l=m.includes(e)?m.filter(l=>l!==e):[...m,e];u({headingLevels:l.sort()})};return(0,l.createElement)(s.Fragment,null,(0,l.createElement)(t.InspectorControls,null,(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Presentation","jump-links-block-seo-44")},(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:!v,isPressed:!v,onClick:()=>u({isEditing:!1})},(0,o.__)("Viewing Mode","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:v,isPressed:v,onClick:()=>u({isEditing:!0})},(0,o.__)("Editing Mode","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description"},(0,o.__)("Switch to Editing Mode to customize link text, visibility, and order.","jump-links-block-seo-44"))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Appearance","jump-links-block-seo-44")},(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Layout","jump-links-block-seo-44"))),(0,l.createElement)(n.ButtonGroup,null,(0,l.createElement)(n.Button,{isPrimary:"vertical"===g,isPressed:"vertical"===g,onClick:()=>u({layout:"vertical"})},(0,o.__)("Vertical","jump-links-block-seo-44")),(0,l.createElement)(n.Button,{isPrimary:"horizontal"===g,isPressed:"horizontal"===g,onClick:()=>u({layout:"horizontal"})},(0,o.__)("Horizontal","jump-links-block-seo-44"))),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Make Jump Links Area Expandable","jump-links-block-seo-44"),help:(0,o.__)('Conserve screen space by collapsing a long list of jump links, providing users with an elegant "show more" button to see the entire list.',"jump-links-block-seo-44"),checked:f,onChange:()=>u({isCollapsible:!f}),__nextHasNoMarginBottom:!0}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("List Style","jump-links-block-seo-44"),value:_,options:[{label:(0,o.__)("Bulleted","jump-links-block-seo-44"),value:"ul"},{label:(0,o.__)("Numbered","jump-links-block-seo-44"),value:"ol"},{label:(0,o.__)("None","jump-links-block-seo-44"),value:"none"}],onChange:e=>u({listStyle:e}),disabled:"horizontal"===g,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.FontSizePicker,{fontSizes:[{name:(0,o.__)("S","jump-links-block-seo-44"),slug:"small",size:"14px"},{name:(0,o.__)("M","jump-links-block-seo-44"),slug:"normal",size:"17px"},{name:(0,o.__)("L","jump-links-block-seo-44"),slug:"large",size:"20px"},{name:(0,o.__)("XL","jump-links-block-seo-44"),slug:"extra-large",size:"23px"}],value:C,onChange:e=>u({fontSize:e}),withReset:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Colors","jump-links-block-seo-44"),colorSettings:[{value:w,onChange:e=>u({blockBackgroundColor:e}),label:(0,o.__)("Block Background","jump-links-block-seo-44")},{value:y,onChange:e=>u({linkColor:e}),label:(0,o.__)("Link Color","jump-links-block-seo-44")},{value:j,onChange:e=>u({textColor:e}),label:(0,o.__)("Other Text Color","jump-links-block-seo-44")}]}),"horizontal"===g&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Horizontal Link Styles","jump-links-block-seo-44"))),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Link Style","jump-links-block-seo-44"),value:T,options:[{label:(0,o.__)("Button (Default)","jump-links-block-seo-44"),value:"button"},{label:(0,o.__)("Plain Text","jump-links-block-seo-44"),value:"text"}],onChange:e=>u({linkStyle:e}),__nextHasNoMarginBottom:!0}),"button"===T&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)(t.PanelColorSettings,{title:(0,o.__)("Link Colors","jump-links-block-seo-44"),colorSettings:[{value:E,onChange:e=>u({linkBackgroundColor:e}),label:(0,o.__)("Background","jump-links-block-seo-44")},{value:B,onChange:e=>u({linkBackgroundColorHover:e}),label:(0,o.__)("Background Hover","jump-links-block-seo-44")},{value:S,onChange:e=>u({linkBorderColor:e}),label:(0,o.__)("Border","jump-links-block-seo-44")}]}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Link Border Radius","jump-links-block-seo-44"),value:z,onChange:e=>u({linkBorderRadius:e}),min:0,max:50,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),"text"===T&&(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Separator","jump-links-block-seo-44"),value:N,options:[{label:(0,o.__)("Space ( )","jump-links-block-seo-44"),value:"space"},{label:(0,o.__)("Middle Dot (·)","jump-links-block-seo-44"),value:"dot"},{label:(0,o.__)("Pipe (|)","jump-links-block-seo-44"),value:"pipe"},{label:(0,o.__)("Slash (/)","jump-links-block-seo-44"),value:"slash"}],onChange:e=>u({separatorType:e}),__nextHasNoMarginBottom:!0}))),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Content Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Display Block Title","jump-links-block-seo-44"),checked:h,onChange:()=>u({showHeading:!h}),__nextHasNoMarginBottom:!0}),h&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)(n.TextControl,{label:(0,o.__)("Title Text","jump-links-block-seo-44"),value:b,onChange:e=>u({headingText:e}),help:(0,o.__)("The text that appears above your list of links.","jump-links-block-seo-44")}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Title Tag","jump-links-block-seo-44"),value:d,options:[{label:"H2",value:"h2"},{label:"H3",value:"h3"},{label:"H4",value:"h4"},{label:"H5",value:"h5"},{label:"Paragraph (Bold)",value:"p"},{label:"Div (No Semantic Value)",value:"div"}],onChange:e=>u({headingTag:e}),help:(0,o.__)("Choose a level that fits your page's structure.","jump-links-block-seo-44"),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),(0,l.createElement)("hr",null),(0,l.createElement)("p",null,(0,l.createElement)("strong",null,(0,o.__)("Included Headings","jump-links-block-seo-44"))),(0,l.createElement)("p",{className:"description",style:{marginBottom:"10px"}},(0,o.__)("Select which heading levels from your post content should appear in the jump links list.","jump-links-block-seo-44")),(0,l.createElement)(n.CheckboxControl,{label:"H2",checked:m.includes("h2"),onChange:()=>q("h2")}),(0,l.createElement)(n.CheckboxControl,{label:"H3",checked:m.includes("h3"),onChange:()=>q("h3")}),(0,l.createElement)(n.CheckboxControl,{label:"H4",checked:m.includes("h4"),onChange:()=>q("h4")}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Create Visual Hierarchy","jump-links-block-seo-44"),help:(0,o.__)("Indents sub-headings (H3, H4) to create a nested outline structure.","jump-links-block-seo-44"),checked:x,onChange:()=>u({isSmartIndentation:!x}),__nextHasNoMarginBottom:!0})),(0,l.createElement)(n.PanelBody,{title:(0,o.__)("Position Settings","jump-links-block-seo-44")},(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Sticky Position","jump-links-block-seo-44"),help:(0,o.__)("Keep the table of contents visible while scrolling.","jump-links-block-seo-44"),checked:M,onChange:()=>u({isSticky:!M}),__nextHasNoMarginBottom:!0}),M&&(0,l.createElement)(s.Fragment,null,(0,l.createElement)("p",{className:"description",style:{marginBottom:"15px"}},(0,o.__)("Customize how the block behaves when it sticks to the top of the screen.","jump-links-block-seo-44")),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Top Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The distance between the top of the screen and the block when stuck (useful for clearing sticky headers).","jump-links-block-seo-44"),value:H,onChange:e=>u({stickyOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.RangeControl,{label:(0,o.__)("Jump Offset (px)","jump-links-block-seo-44"),help:(0,o.__)("The buffer distance to stop *before* the heading. Increase this if your sticky header covers the text.","jump-links-block-seo-44"),value:$,onChange:e=>u({jumpOffset:e}),min:0,max:200,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,l.createElement)(n.SelectControl,{label:(0,o.__)("Scroll Behavior","jump-links-block-seo-44"),help:(0,o.__)('Choose "Scroll-Up-To-Reveal" to hide the nav when scrolling down (saves screen space).',"jump-links-block-seo-44"),value:O,options:[{label:(0,o.__)("Always Visible","jump-links-block-seo-44"),value:"always"},{label:(0,o.__)("Scroll-Up-To-Reveal","jump-links-block-seo-44"),value:"smart"}],onChange:e=>u({stickyBehavior:e}),__nextHasNoMarginBottom:!0}),(0,l.createElement)(n.ToggleControl,{label:(0,o.__)("Disable on Mobile","jump-links-block-seo-44"),help:(0,o.__)("Prevents the block from sticking on small screens to save reading space.","jump-links-block-seo-44"),checked:"desktop-only"===P,onChange:e=>u({stickyStrategy:e?"desktop-only":"always"}),__nextHasNoMarginBottom:!0})))),(0,l.createElement)("div",{...F},h&&(0,l.createElement)(t.RichText,{tagName:d,className:"wp-block-seo44-jump-links-heading",value:b,onChange:e=>u({headingText:e}),placeholder:(0,o.__)("On This Page","jump-links-block-seo-44")}),p.length>0?(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(I,{id:V},p.map((e,t)=>v?(0,l.createElement)("li",{key:e.anchor},(0,l.createElement)(n.TextControl,{value:e.linkText,onChange:e=>((e,l)=>{const o=[...p];o[e].linkText=l,u({headings:o})})(t,e)}),(0,l.createElement)("div",{className:"edit-controls-wrapper"},(0,l.createElement)("div",{className:"reorder-buttons"},(0,l.createElement)(n.Button,{icon:r,label:(0,o.__)("Move Up","jump-links-block-seo-44"),onClick:()=>G(t,"up"),disabled:0===t}),(0,l.createElement)(n.Button,{icon:c,label:(0,o.__)("Move Down","jump-links-block-seo-44"),onClick:()=>G(t,"down"),disabled:t===p.length-1})),(0,l.createElement)(n.ToggleControl,{label:!1!==e.isVisible?(0,o.__)("Included","jump-links-block-seo-44"):(0,o.__)("This Jump Link will not be shown","jump-links-block-seo-44"),checked:!1!==e.isVisible,onChange:()=>(e=>{const l=[...p];l[e].isVisible=!l[e].isVisible,u({headings:l})})(t),__nextHasNoMarginBottom:!0}))):!1!==e.isVisible&&(0,l.createElement)("li",{key:e.anchor,className:x?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`,onClick:e=>e.preventDefault()},e.linkText)))),!v&&f&&p.length>0&&(0,l.createElement)(n.Tooltip,{text:(0,o.__)("This button is functional on the front-end to expand the list.","jump-links-block-seo-44")},(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":V,onClick:()=>{D((0,o.__)('The "Show More" button is interactive on the published page.',"jump-links-block-seo-44"),{type:"snackbar"})}},k))):(0,l.createElement)("p",null,(0,o.__)("No headings found. Select a heading level in the block settings to generate links.","jump-links-block-seo-44"))))},save:function({attributes:e}){const{blockInstanceId:n,layout:a,isCollapsible:s,isSmartIndentation:i,headings:r,showHeading:c,headingText:k,headingTag:u,listStyle:m,fontSize:p,textColor:h,linkColor:b,blockBackgroundColor:d,linkBackgroundColor:g,linkBackgroundColorHover:_,linkBorderColor:v,linkBorderRadius:f,linkStyle:x,separatorType:C,isSticky:j,stickyOffset:y,jumpOffset:w,stickyStrategy:E,stickyBehavior:B}=e,S={color:h,fontSize:p,"--jump-link-font-size":p||"18px","--seo44-block-bg":d,"--seo44-link-color":b,"--seo44-link-bg":"horizontal"===a?g:void 0,"--seo44-link-hover-bg":"horizontal"===a?_:void 0,"--seo44-link-border-color":"horizontal"===a?v:void 0,"--seo44-link-radius":"horizontal"===a&&f?`${f}px`:void 0,"--seo44-sticky-offset":j?`${y}px`:void 0},z="ol"===m?"ol":"ul",T=`seo44-jump-links-list-${n}`,N="text"===x?"is-style-text-links":"",M="text"===x&&C&&"none"!==C?`has-separator-${C}`:"",H=j&&"smart"===B?"is-smart-sticky":"",$=t.useBlockProps.save({className:`${"horizontal"===a?"is-layout-horizontal":""} ${s?"is-collapsible":""} ${"none"===m?"list-style-none":""} ${j?"is-sticky":""} ${"desktop-only"===E?"sticky-desktop-only":""} ${N} ${M} ${H}`.trim(),style:S,"data-seo44-jump-offset":j?w:30}),P=(0,l.createElement)("svg",{className:"arrow-down",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 16l-6-6 1.41-1.41L12 13.17l4.59-4.58L18 10l-6 6z"})),O=(0,l.createElement)("svg",{className:"arrow-up",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},(0,l.createElement)("path",{d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14l-6-6z"}));return(0,l.createElement)("div",{...$},(0,l.createElement)("div",{className:"seo44-sticky-sentinel","aria-hidden":"true"}),c&&(0,l.createElement)(t.RichText.Content,{tagName:u||"h2",className:"wp-block-seo44-jump-links-heading",value:k}),r&&r.length>0&&(0,l.createElement)("nav",{"aria-label":(0,o.__)("Table of contents","jump-links-block-seo-44")},(0,l.createElement)(z,{id:T},r.filter(e=>!1!==e.isVisible).map(e=>(0,l.createElement)("li",{key:e.anchor,className:i?`seo44-jump-link-level-${e.level}`:""},(0,l.createElement)("a",{href:`#${e.anchor}`},e.linkText)))),s&&(0,l.createElement)("button",{type:"button",className:"seo-44-show-more","aria-label":(0,o.__)("Show More","jump-links-block-seo-44"),"aria-expanded":"false","aria-controls":T},P,O)))}})}},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return l[e](a,a.exports,t),a.exports}t.m=l,e=[],t.O=(l,o,n,a)=>{if(!o){var s=1/0;for(k=0;k<e.length;k++){for(var[o,n,a]=e[k],i=!0,r=0;r<o.length;r++)(!1&a||s>=a)&&Object.keys(t.O).every(e=>t.O[e](o[r]))?o.splice(r--,1):(i=!1,a<s&&(s=a));if(i){e.splice(k--,1);var c=n();void 0!==c&&(l=c)}}return l}a=a||0;for(var k=e.length;k>0&&e[k-1][2]>a;k--)e[k]=e[k-1];e[k]=[o,n,a]},t.o=(e,l)=>Object.prototype.hasOwnProperty.call(e,l),(()=>{var e={57:0,350:0};t.O.j=l=>0===e[l];var l=(l,o)=>{var n,a,[s,i,r]=o,c=0;if(s.some(l=>0!==e[l])){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(r)var k=r(t)}for(l&&l(o);c<s.length;c++)a=s[c],t.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return t.O(k)},o=globalThis.webpackChunkseo_44_jump_links_block=globalThis.webpackChunkseo_44_jump_links_block||[];o.forEach(l.bind(null,0)),o.push=l.bind(null,o.push.bind(o))})();var n=t.O(void 0,[350],()=>t(313));n=t.O(n)})(); -
jump-links-block-seo-44/trunk/build/style-index-rtl.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-right:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-right:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-right:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-right:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-right:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-right:3px solid var(--seo44-link-color);padding-right:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;right:0;pointer-events:none;position:absolute;left:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none} -
jump-links-block-seo-44/trunk/build/style-index.css
r3405475 r3425541 1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 20px) + 3px)*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}1 .wp-block-seo44-jump-links{background-color:var(--seo44-block-bg);margin-bottom:var(--wp--preset--spacing--30);margin-top:var(--wp--preset--spacing--30);padding:var(--wp--preset--spacing--30)}.wp-block-seo44-jump-links-heading{flex-basis:100%}.wp-block-seo44-jump-links nav>ol,.wp-block-seo44-jump-links nav>ul{margin:0}.wp-block-seo44-jump-links nav>ol li,.wp-block-seo44-jump-links nav>ul li{line-height:calc(var(--jump-link-font-size, 1em)*1.75);margin:0;padding:0}.wp-block-seo44-jump-links.list-style-none nav>ol,.wp-block-seo44-jump-links.list-style-none nav>ul{list-style-type:none;padding-left:0}.wp-block-seo44-jump-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-layout-horizontal ul{display:flex;flex-wrap:wrap;gap:0 .5em;list-style-type:none;margin:-.5em 0 0;padding:0}.wp-block-seo44-jump-links.is-layout-horizontal ol li,.wp-block-seo44-jump-links.is-layout-horizontal ul li{margin:.5em 0 0}.wp-block-seo44-jump-links li a{color:var(--seo44-link-color,#0073aa)}.wp-block-seo44-jump-links.is-layout-horizontal li a{background-color:var(--seo44-link-bg);border-color:var(--seo44-link-border-color);border-radius:var(--seo44-link-radius);border-style:solid;border-width:1px;display:inline-block;padding:.5em 1em;text-decoration:none}.wp-block-seo44-jump-links.is-layout-horizontal li a:hover{background-color:var(--seo44-link-hover-bg);text-decoration:underline;text-underline-offset:.1em}.wp-block-seo44-jump-links.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-collapsible>nav>ul{flex-wrap:wrap;overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links .seo-44-show-more{border:1px solid;border-radius:4px;cursor:pointer;display:none;line-height:1;padding:0}.wp-block-seo44-jump-links .seo-44-show-more svg{fill:currentColor;height:30px;width:30px}.wp-block-seo44-jump-links .seo-44-show-more .arrow-up,.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-down{display:none}.wp-block-seo44-jump-links.is-expanded .seo-44-show-more .arrow-up{display:inline-block}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ol,.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal)>nav>ul{display:inline-block;max-height:calc(var(--jump-link-font-size, 1em)*3.5);max-width:calc(100% - 40px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible:not(.is-layout-horizontal) .seo-44-show-more{margin-top:calc(var(--jump-link-font-size, 1em)*1.8);vertical-align:top}.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-layout-horizontal>nav>ul{max-height:calc(var(--jump-link-font-size, 1em)*1.75 + 1.5em + 2px);overflow:hidden;transition:max-height .3s ease-in-out}.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ol,.wp-block-seo44-jump-links.is-collapsible.is-expanded>nav>ul{max-height:1000px}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5em}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ol,.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>ul{flex-basis:0;flex-grow:1}.wp-block-seo44-jump-links.is-layout-horizontal.is-collapsible>nav>.seo-44-show-more{flex-shrink:0;margin-top:.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-3{margin-left:1.5em;opacity:.9}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ul li.seo44-jump-link-level-4{list-style-type:circle;margin-left:3em;opacity:.85}.wp-block-seo44-jump-links.list-style-none nav>ol li.seo44-jump-link-level-4,.wp-block-seo44-jump-links.list-style-none nav>ul li.seo44-jump-link-level-4{list-style-type:none}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-3{opacity:.9;padding-left:1.5em}.wp-block-seo44-jump-links:not(.is-layout-horizontal) ol li.seo44-jump-link-level-4{opacity:.85;padding-left:3em}.wp-block-seo44-jump-links.is-sticky{background-color:var(--seo44-block-bg,#fff);position:sticky;position:-webkit-sticky;top:var(--seo44-sticky-offset,20px);z-index:10}@media(max-width:781px){.wp-block-seo44-jump-links.is-sticky.sticky-desktop-only{position:static;top:auto}}.wp-block-seo44-jump-links.is-sticky.is-stuck a.is-active{color:var(--seo44-link-color);font-weight:700}.wp-block-seo44-jump-links.is-sticky.is-stuck.is-layout-horizontal a.is-active{background-color:var(--seo44-link-hover-bg);text-decoration:none}.wp-block-seo44-jump-links.is-sticky.is-stuck:not(.is-layout-horizontal) a.is-active{border-left:3px solid var(--seo44-link-color);padding-left:.5em}.wp-block-seo44-jump-links{position:relative}.seo44-sticky-sentinel{height:1px;left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--seo44-sticky-offset, 30px) + 2px + var(--seo44-block-border-thickness, 0px))*-1);visibility:hidden}.wp-block-seo44-jump-links.is-sticky.is-stuck .wp-block-seo44-jump-links-heading{margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease 1s,opacity .3s ease 1s,margin .5s ease 1s}.wp-block-seo44-jump-links-heading{margin-bottom:.25em;margin-top:0;max-height:100px;opacity:1;transition:max-height .5s ease,opacity .3s ease,margin .5s ease}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a{background-color:transparent!important;border:none!important;color:var(--seo44-link-color);padding:0;text-decoration:underline;text-underline-offset:.2em}.wp-block-seo44-jump-links.is-layout-horizontal.is-style-text-links li a:hover{color:var(--seo44-link-color);text-decoration:none}.wp-block-seo44-jump-links.has-separator-space li:not(:last-child):after{color:currentColor;content:" ";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-dot li:not(:last-child):after{color:currentColor;content:"·";font-weight:700;margin:0 .5em;opacity:.6}.wp-block-seo44-jump-links.has-separator-pipe li:not(:last-child):after{color:currentColor;content:"|";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.has-separator-slash li:not(:last-child):after{color:currentColor;content:"/";margin:0 .5em;opacity:.5}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ol,.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal ul{gap:0}.wp-block-seo44-jump-links.is-style-text-links.is-layout-horizontal li{margin:0}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky{transition:transform .3s ease-in-out,top .3s ease;will-change:transform}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden{pointer-events:none;transform:translateY(-120%)}.wp-block-seo44-jump-links.is-sticky.is-smart-sticky.is-scroll-hidden .seo-44-show-more{display:none} -
jump-links-block-seo-44/trunk/build/view.asset.php
r3403606 r3425541 1 <?php return array('dependencies' => array(), 'version' => ' 5d75a6211fafff395ca9');1 <?php return array('dependencies' => array(), 'version' => 'd6853a0eed2ea65cc537'); -
jump-links-block-seo-44/trunk/build/view.js
r3403606 r3425541 1 window.addEventListener("load",function(){ document.querySelectorAll(".wp-block-seo44-jump-links").forEach(e=>{if(e.addEventListener("click",function(t){const s=t.target.closest('a[href^="#"]');if(s){t.preventDefault();const o=s.getAttribute("href"),i=document.querySelector(o);if(i)if(e.classList.contains("is-sticky")){let t=30;const s=e.getAttribute("data-seo44-jump-offset");s&&(t=parseInt(s,10));const o=i.getBoundingClientRect().top+window.scrollY-t;window.scrollTo({top:o,behavior:"smooth"})}else i.scrollIntoView({behavior:"smooth"})}}),e.classList.contains("is-collapsible")){const t=e.querySelector(".seo-44-show-more");if(t){t.style.display="inline-block";const s=window.seo44JumpLinksL10n||{},o=s.showMore||"Show More",i=s.showLess||"Show Less";t.setAttribute("aria-label",o),t.addEventListener("click",function(){e.classList.toggle("is-expanded");const s=e.classList.contains("is-expanded");t.setAttribute("aria-expanded",s),s?t.setAttribute("aria-label",i):t.setAttribute("aria-label",o)})}}if(e.classList.contains("is-sticky")&&"IntersectionObserver"in window){const t=new IntersectionObserver(t=>{t.forEach(t=>{!t.isIntersecting&&t.boundingClientRect.top<0?e.classList.add("is-stuck"):e.classList.remove("is-stuck")})},{threshold:0,rootMargin:"0px"});e.querySelectorAll(".seo44-sticky-sentinel").forEach(e=>{t.observe(e)})}if("IntersectionObserver"in window){const t=new IntersectionObserver(t=>{t.forEach(t=>{if(t.isIntersecting){const s=t.target.getAttribute("id"),o=e.querySelector(`a[href="#${s}"]`);o&&(e.querySelectorAll("a").forEach(e=>e.classList.remove("is-active")),o.classList.add("is-active"))}})},{root:null,rootMargin:"-100px 0px -60% 0px",threshold:0});e.querySelectorAll('a[href^="#"]').forEach(e=>{const s=e.getAttribute("href").substring(1),o=document.getElementById(s);o&&t.observe(o)})}})});1 window.addEventListener("load",function(){const e=document.querySelectorAll(".wp-block-seo44-jump-links");e.forEach(t=>{const s=window.getComputedStyle(t).borderTopWidth||"0px";t.style.setProperty("--seo44-block-border-thickness",s),t.addEventListener("click",function(e){const s=e.target.closest('a[href^="#"]');if(s){e.preventDefault();const o=s.getAttribute("href"),i=document.querySelector(o);if(i)if(t.classList.contains("is-sticky")){let e=30;const s=t.getAttribute("data-seo44-jump-offset");s&&(e=parseInt(s,10));const o=i.getBoundingClientRect().top+window.scrollY-e;window.scrollTo({top:o,behavior:"smooth"})}else i.scrollIntoView({behavior:"smooth"})}});const o=Array.from(e).filter(e=>e.classList.contains("is-smart-sticky"));if(o.length>0){let e=window.pageYOffset||document.documentElement.scrollTop,t=!1;const s=10;window.addEventListener("scroll",function(){t||(window.requestAnimationFrame(function(){const i=window.pageYOffset||document.documentElement.scrollTop;o.forEach(t=>{t.classList.contains("is-stuck")?Math.abs(e-i)<=s||(i>e?t.classList.add("is-scroll-hidden"):t.classList.remove("is-scroll-hidden")):t.classList.remove("is-scroll-hidden")}),e=i<=0?0:i,t=!1}),t=!0)})}if(t.classList.contains("is-collapsible")){const e=t.querySelector(".seo-44-show-more");if(e){e.style.display="inline-block";const s=window.seo44JumpLinksL10n||{},o=s.showMore||"Show More",i=s.showLess||"Show Less";e.setAttribute("aria-label",o),e.addEventListener("click",function(){t.classList.toggle("is-expanded");const s=t.classList.contains("is-expanded");e.setAttribute("aria-expanded",s),s?e.setAttribute("aria-label",i):e.setAttribute("aria-label",o)})}}if(t.classList.contains("is-sticky")&&"IntersectionObserver"in window){const e=new IntersectionObserver(e=>{e.forEach(e=>{!e.isIntersecting&&e.boundingClientRect.top<0?t.classList.add("is-stuck"):t.classList.remove("is-stuck")})},{threshold:0,rootMargin:"0px"});t.querySelectorAll(".seo44-sticky-sentinel").forEach(t=>{e.observe(t)})}if("IntersectionObserver"in window){const e=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){const s=e.target.getAttribute("id"),o=t.querySelector(`a[href="#${s}"]`);o&&(t.querySelectorAll("a").forEach(e=>e.classList.remove("is-active")),o.classList.add("is-active"))}})},{root:null,rootMargin:"-100px 0px -60% 0px",threshold:0});t.querySelectorAll('a[href^="#"]').forEach(t=>{const s=t.getAttribute("href").substring(1),o=document.getElementById(s);o&&e.observe(o)})}})}); -
jump-links-block-seo-44/trunk/changelog.txt
r3405475 r3425541 1 1 == Changelog == 2 2 3 = 2.1.0 = 4 * **NEW:** Added a "Plain Text" style option for horizontal layouts, offering a minimalist alternative to the default button style. 5 * **NEW:** Introduced optional "Smart Sticky" (Scroll-Up-To-Reveal) behavior. The sticky table of contents can now hide automatically when scrolling down to save screen space and reappear when scrolling up. 6 * **NEW:** Added visual separators (Middle Dot, Pipe, and Slash) for text-based link lists. 7 * **ENHANCEMENT:** Introduced CSS transitions for sticky elements for a smooth visual experience for Scroll-Up-To-Reveal jump links. 8 * **ENHANCEMENT:** Optimized editor controls to conditionally display relevant settings, keeping the sidebar clean. 9 * **FIX:** Added dynamic border calculation to resolve an issue where thick borders could prevent the navigation bar from sticking or hiding correctly. 10 3 11 = 2.0.1 = 4 * TWEAK:To avoid the bottom of horizontal link "buttons" from ever being cut off when the menu is collapsed, the styling has been finetuned to include a defined line-height for list items.12 * **TWEAK:** To avoid the bottom of horizontal link "buttons" from ever being cut off when the menu is collapsed, the styling has been finetuned to include a defined line-height for list items. 5 13 6 14 = 2.0.0 = 7 * FEATURE:**Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices.8 * FEATURE:**Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning).9 * FEATURE:**Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure.10 * FEATURE:**Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation.11 * FEATURE:**ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post.15 * **FEATURE:** **Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices. 16 * **FEATURE:** **Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning). 17 * **FEATURE:** **Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure. 18 * **FEATURE:** **Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation. 19 * **FEATURE:** **ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post. 12 20 13 21 = 1.9.2 = 14 * FEATURE:Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings.15 * FEATURE:Added a "Heading Level" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure.16 * REFACTOR:Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance.17 * FIX:Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID.18 * PERFORMANCE:Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link.19 * TWEAK:Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings.22 * **FEATURE:** Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings. 23 * **FEATURE:** Added a "Heading Level" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure. 24 * **REFACTOR:** Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance. 25 * **FIX:** Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID. 26 * **PERFORMANCE:** Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link. 27 * **TWEAK:** Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings. 20 28 21 29 = 1.9.1 = -
jump-links-block-seo-44/trunk/jump-links-block.php
r3405475 r3425541 4 4 * Plugin URI: https://www.sethcreates.com/plugins-for-wordpress/jump-links-block-seo-44/ 5 5 * Description: A standalone custom block for automatically creating a customizable Jump Links table of contents. 6 * Version: 2. 0.16 * Version: 2.1.0 7 7 * Author: Seth Smigelski 8 8 * Author URI: https://www.sethcreates.com/plugins-for-wordpress/ -
jump-links-block-seo-44/trunk/readme.txt
r3405475 r3425541 3 3 Tags: block, jump links, on this page, table of contents, jump links block 4 4 Requires at least: 5.5 5 Tested up to: 6. 86 Stable tag: 2. 0.15 Tested up to: 6.9 6 Stable tag: 2.1.0 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 179 179 == Changelog == 180 180 181 = 2.0.1 = 182 * TWEAK: To avoid the bottom of horizontal link "buttons" from ever being cut off when the menu is collapsed, the styling has been finetuned to include a defined line-height for list items. 183 184 = 2.0.0 = 185 * FEATURE: **Sticky Positioning:** Keep your table of contents visible while users scroll. Includes a "Top Offset" slider to clear sticky headers, a "Jump Offset" slider to ensure that the sticky header does not cover the heading text, and a "Disable on Mobile" toggle to preserve screen space on small devices. 186 * FEATURE: **Auto-Hide Title:** Implemented a smart "sticky state" detection. When the block sticks, the title gently collapses and fades out to keep the interface clean (this occurs when a block title is used alongside sticky positioning). 187 * FEATURE: **Smart Indentation:** Added a "Create Visual Hierarchy" toggle. When enabled, H3 and H4 sub-headings are visually indented to create a clear, nested outline structure. 188 * FEATURE: **Block Background:** You can now set a background color for the entire block container, perfect for creating "card-style" floating navigation. 189 * FEATURE: **ScrollSpy:** Automatically highlights the active link in the table of contents as the user scrolls through the corresponding section of the post. 190 191 = 1.9.2 = 192 * FEATURE: Added support for Border and Spacing controls. You can now add borders, rounded corners, margins, and padding to the Jump Links block directly from the editor settings. 193 * FEATURE: Added a "Title tag" control. You can now choose the specific HTML tag (H2, H3, H4, H5, Paragraph, or Div) for the "On This Page" heading to better match your document structure. 194 * REFACTOR: Optimized the block's styling logic to use CSS variables on the parent container instead of inline styles for every link. This reduces the block's HTML size and improves rendering performance. 195 * FIX: Resolved an accessibility and HTML validation issue where using multiple Jump Links blocks on a single page created duplicate element IDs. Each block now generates a unique instance ID. 196 * PERFORMANCE: Refactored the front-end JavaScript to use event delegation for smooth scrolling. This reduces memory usage by attaching a single event listener to the block instead of individual listeners for every link. 197 * TWEAK: Reorganized the sidebar settings for better clarity between Block Title settings and Content Inclusion settings. 198 181 = 2.1.0 = 182 * **NEW:** Added a "Plain Text" style option for horizontal layouts, offering a minimalist alternative to the default button style. 183 * **NEW:** Introduced optional "Smart Sticky" (Scroll-Up-To-Reveal) behavior. The sticky table of contents can now hide automatically when scrolling down to save screen space and reappear when scrolling up. 184 * **NEW:** Added visual separators (Middle Dot, Pipe, and Slash) for text-based link lists. 185 * **ENHANCEMENT:** Introduced CSS transitions for sticky elements for a smooth visual experience for Scroll-Up-To-Reveal jump links. 186 * **ENHANCEMENT:** Optimized editor controls to conditionally display relevant settings, keeping the sidebar clean. 187 * **FIX:** Added dynamic border calculation to resolve an issue where thick borders could prevent the navigation bar from sticking or hiding correctly. 199 188 200 189 For a complete list of changes, please see the [full changelog](https://seo44plugin.com/jump-links-block-seo-44/changelog/) or the changelog.txt file included with the plugin.
Note: See TracChangeset
for help on using the changeset viewer.