Skip to content

Latest commit

 

History

History
305 lines (177 loc) · 9.9 KB

CHANGELOG.adoc

File metadata and controls

305 lines (177 loc) · 9.9 KB

Asciidoctor Tabs Changelog

This document provides a curated view of the changes to Asciidoctor Tabs per release. For a detailed view of what has changed, refer to the commit history on GitHub.

1.0.0-beta.6 (2023-08-01) - @mojavelinux

Changed

  • Repurpose example block as open block if filetype is not html

Fixed

  • Preserve attribute entries above tabs block (#64)

Details

1.0.0-beta.5 (2023-05-28) - @mojavelinux

Changed

  • Ensure tab number sequence follows document order when tabs blocks are nested (#61)

Fixed

  • Only remove open block enclosure around tab content if it is anonymous; preserve nested tabs block (#59)

Details

1.0.0-beta.4 (2023-05-22) - @mojavelinux

Changed

  • Rework styles for tab to make them compatible with a transition effect; stub in effect in built-in stylesheet

  • Add tab class to tab element (if missing) rather than overwriting className property to preserve existing class names

Fixed

  • Don’t alter state of nested tabs when tab is selected (#55)

  • Don’t wrap tables inside nested tabs with tablecontainer div multiple times (#55)

  • Fix fallback logic in behavior script when tab is missing ID or does not match a panel

Details

1.0.0-beta.3 (2023-02-01) - @mojavelinux

Added

  • Allow storage of sync tab selection to be configured using tabs-sync-storage-key and tabs-sync-storage-scope document attributes

  • Add is-loaded class to tabs blocks on next tick after initialization for binding transitions (#50)

  • Allow sync group ID to be specified rather than derived using the sync-group-id attribute on the tabs block (#52)

Changed

  • Rename data-sync-group attribute to data-sync-group-id

  • Don’t lowercase sync group ID

Details

1.0.0-beta.2 (2023-01-30) - @mojavelinux

Changed

  • Only sync congruent tabs blocks (i.e., tabs blocks that have the same tablist) (#47)

  • Store sync tab selection by sync group (e.g., preferred-tab-a|b|c) (#47)

Fixed

  • Turn off :focus-visible outline on tab selected by URL fragment

Details

1.0.0-beta.1 (2023-01-30) - @mojavelinux

Added

  • Pass through role attribute on tabs block (#43)

  • Add configuration option to save sync selection (i.e., sync ID) in local or session storage (#44)

Fixed

  • Use correct selector to unhide panel of first tab while tabs are loading

Details

1.0.0-alpha.12 (2022-12-23) - @mojavelinux

Fixed

  • Wrap div with class tablecontainer around tables inside tabpanel to prevent tables from overflowing bounds while honoring width (#41)

Details

1.0.0-alpha.11 (2022-12-08) - @mojavelinux

Changed

  • BREAKING CHANGE: Align terminology with ARIA / Open UI recommendations for a tabs component; requires change to custom CSS (#38)

    • .tabset becomes .tabs

    • .tabs becomes .tablist

    • .tab-panel becomes .tabpanel

    • .is-active for selected tab becomes .is-selected

    • .is-active for visible panel becomes :not(.is-hidden)

  • Assign ARIA attributes in JavaScript (i.e., role, aria-controls, aria-selected, hidden) where recommended (#38)

  • BREAKING CHANGE: Convert tabs block to openblock instead of passthrough block (#15)

    • openblock class added to .tabs

    • .tablist becomes child of .content

    • .tabpanel elements become siblings of .tablist

Fixed

  • Clear margin on .tablist.ulist and child ul

Details

1.0.0-alpha.10 (2022-12-08) - @mojavelinux

Fixed

  • Remove overflow styles on tab pane as it’s not universal

  • Make a best effort to constrain the width of an overflowing table

Details

1.0.0-alpha.9 (2022-12-07) - @mojavelinux

Changed

  • Assign tab role to each item in tab list

  • Apply border and padding to tab pane element instead of its parent

  • Remove fixed height on tab element; using padding instead

  • Use more subtle color scheme for border and background colors on tabs

Fixed

  • Configure overflow content in tab panel to scroll horizontally

  • Set background on tabs properly so background does not bleed through

Details

1.0.0-alpha.8 (2022-11-30) - @mojavelinux

Fixed

  • Sync tab selection on hash change (#32)

  • Lock position of content when synchronizing tab selection (#34)

  • Remove bottom margin from last block in tab pane for the most common cases

Details

1.0.0-alpha.7 (2022-11-28) - @mojavelinux

Added

  • In tabs script, add tab class to tab element

  • Sync tab selection across tabs blocks if sync option is set on tabs block or tabs-sync-option attribute is set on document (#28)

  • Delist tabs block from sync if nosync option is set on block (#28)

Changed

  • When inline anchor is used for tab ID, promote value of id attribute to id attribute on tab and remove anchor

Fixed

  • Apply normal substitutions to principal text (first paragraph) of tab’s content (#29)

Details

1.0.0-alpha.6 (2022-11-16) - @mojavelinux

Added

  • Honor title on tabs block; apply normal subs to it (#26)

  • Clear location hash (URL fragment) when a tab is clicked (#24)

  • Register ref for each tab so its ID can be used as target of xref (#24)

  • Activate tab when selected from an internal xref (#24)

Fixed

  • Decode fragment from URL so it can be matched against tab ID (#27)

Details

1.0.0-alpha.5 (2022-10-23) - @mojavelinux

Added

  • Link to stylesheet (style) and script (behavior) if linkcss attribute is set on document (#7)

  • Honor safe mode settings (don’t read files if safe mode is secure) (#7)

Changed

  • Rename Docinfo::Styles class to Docinfo::Style (#22)

  • Add smoke test for npm package (#19)

Fixed

  • Prevent dlist ref from being registered again to avoid warning when filetype is not html (#21)

  • Restore missing default style and behavior in JavaScript version by mapping data dir to dist folder in npm package (#18)

Details

1.0.0-alpha.4 (2022-10-08) - @mojavelinux

Added

  • Define exports for behavior (tabs.js) and style (tabs.css) in npm package

Changed

  • Use value of idseparator attribute in front of tabset number in auto-generated ID (#16)

  • Add aliases for Block and Docinfo classes to Extensions class; remove workaround in js module

  • Move margin-bottom style to tabset element

  • Move behavior (tabs.js) and style (tabs.css) to dist folder in npm package

Fixed

  • Increase specificity of sibling selector for tab to work with Antora default UI

Details

1.0.0-alpha.3 (2022-10-05) - @mojavelinux

Added

  • Provide fallback behavior for non-HTML backends (filetype is not html) (#4)

  • Support multiple tab labels (terms) for the same content (description) (#8)

  • Allow alternate stylesheet for tabs to be specified using tabs-stylesheet attribute (#6)

Changed

  • Assign ID directly to tab (list item) node (instead of using inline anchor) if backend supports it (#11)

Fixed

  • Preserve text of dlist item for tab if item has both text and blocks (#13)

  • Create empty pane instead of crashing if dlist item has term only / no description

Details

1.0.0-alpha.2 (2022-10-03) - @mojavelinux

Added

  • Transpile Asciidoctor::Tabs::Extensions class for npm package

Changed

  • Rename idx-tabset counter to tabset-number to be consistent with built-in counter names

  • Don’t register docinfo extensions if converter is producing embedded output

  • Update register and unregister on Asciidoctor::Tabs::Extensions to accept a registry argument

  • Delegate registration of extension in npm package to Asciidoctor::Tabs::Extensions.register method

  • Allow Extensions class to be required from @asciidoctor/tabs/extensions in Node.js; attach Block and Docinfo classes

Fixed

  • Honor explicit ID on tabs block and use it as ID prefix for tabs

  • Register reference for tabset in document catalog

  • Autogenerate IDs for tabsets and tabs in a manner consistent with section ID generation (#2)

  • Fix context value on pass blocks created by extension

Details

1.0.0-alpha.1 (2022-10-01) - @mojavelinux

Initial prerelease.

Details