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.
-
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
-
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
-
Allow storage of sync tab selection to be configured using
tabs-sync-storage-key
andtabs-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)
-
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
-
-
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
-
Configure overflow content in tab panel to scroll horizontally
-
Set background on tabs properly so background does not bleed through
-
In tabs script, add
tab
class to tab element -
Sync tab selection across tabs blocks if
sync
option is set on tabs block ortabs-sync-option
attribute is set on document (#28) -
Delist tabs block from sync if
nosync
option is set on block (#28)
-
When inline anchor is used for tab ID, promote value of id attribute to id attribute on tab and remove anchor
-
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)
-
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)
-
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)
-
Use value of
idseparator
attribute in front of tabset number in auto-generated ID (#16) -
Add aliases for
Block
andDocinfo
classes toExtensions
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
-
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)
-
Assign ID directly to tab (list item) node (instead of using inline anchor) if backend supports it (#11)
-
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
-
Rename
idx-tabset
counter totabset-number
to be consistent with built-in counter names -
Don’t register docinfo extensions if converter is producing embedded output
-
Update
register
andunregister
onAsciidoctor::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; attachBlock
andDocinfo
classes
-
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
Initial prerelease.