diff --git a/package-lock.json b/package-lock.json index 3615cde5..bd72fec4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "license": "MPL-2.0", "devDependencies": { "@asciidoctor/core": "~2.2", + "@asciidoctor/tabs": "1.0.0-beta.6", "@fontsource/material-icons-outlined": "~5.0", "@fontsource/roboto-flex": "~5.0", "@fontsource/roboto-mono": "~5.0", @@ -91,6 +92,15 @@ "yarn": ">=1.1.0" } }, + "node_modules/@asciidoctor/tabs": { + "version": "1.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@asciidoctor/tabs/-/tabs-1.0.0-beta.6.tgz", + "integrity": "sha512-gGZnW7UfRXnbiyKNd9PpGKtSuD8+DsqaaTSbQ1dHVkZ76NaolLhdQg8RW6/xqN3pX1vWZEcF4e81+Oe9rNRWxg==", + "dev": true, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", @@ -17404,6 +17414,12 @@ "unxhr": "1.0.1" } }, + "@asciidoctor/tabs": { + "version": "1.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@asciidoctor/tabs/-/tabs-1.0.0-beta.6.tgz", + "integrity": "sha512-gGZnW7UfRXnbiyKNd9PpGKtSuD8+DsqaaTSbQ1dHVkZ76NaolLhdQg8RW6/xqN3pX1vWZEcF4e81+Oe9rNRWxg==", + "dev": true + }, "@babel/code-frame": { "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", diff --git a/package.json b/package.json index a1300b6b..982670ae 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@fontsource/material-icons-outlined": "~5.0", "@fontsource/roboto-flex": "~5.0", "@fontsource/roboto-mono": "~5.0", + "@asciidoctor/tabs": "1.0.0-beta.6", "autoprefixer": "~9.7", "browser-pack-flat": "~3.4", "browserify": "~16.5", diff --git a/preview-src/index.adoc b/preview-src/index.adoc index a26debc6..b4f8eac3 100644 --- a/preview-src/index.adoc +++ b/preview-src/index.adoc @@ -455,7 +455,24 @@ Contains more than one block. === Example: Overflow tabset -[tabs] +[tabs.overflow] +====== +Tab Name:: Contents of Tab. + +Longer Tab Name:: ++ +Contents of Longer Tab. + +An Even Longer Tab Name:: ++ +Contents of Even Longer Tab. + +This Is The Longest Tab Name:: ++ +Contents of The Longest Tab. +====== + +[tabs.wrapping] ====== Tab Name:: Contents of Tab. diff --git a/preview-src/tux.png b/preview-src/tux.png new file mode 100644 index 00000000..d846bf2d Binary files /dev/null and b/preview-src/tux.png differ diff --git a/preview-src/ui-model.yml b/preview-src/ui-model.yml index 9dce6d07..2db713ce 100644 --- a/preview-src/ui-model.yml +++ b/preview-src/ui-model.yml @@ -1,4 +1,7 @@ antoraVersion: '1.0.0' +asciidoc: + extensions: + - '@asciidoctor/tabs' site: url: http://localhost:5252 title: Brand Docs diff --git a/src/css/vendor/tabs.css b/src/css/vendor/tabs.css new file mode 100644 index 00000000..7cd6430b --- /dev/null +++ b/src/css/vendor/tabs.css @@ -0,0 +1,56 @@ +@import "@asciidoctor/tabs"; + +/* Datastax styles */ + +.tabpanel { + padding: var(--ds-space-2) 0; + border: none; + border-top: 1px solid var(--ds-divider); +} + +.tablist > ul li { + background-color: transparent; + border: none; + font-weight: normal; + color: var(--ds-text-primary); + padding: var(--ds-space-1) var(--ds-space-1h); +} + +.tablist.ulist > ul li + li { + margin: 0; +} + +.tabs .tablist li::after { + height: calc(2 / var(--rem-base) * 1rem); +} + +.tabs.is-loading .tablist li:not(:first-child), +.tabs:not(.is-loading) .tablist li:not(.is-selected) { + color: var(--ds-text-tertiary); + background-color: transparent; +} + +.tabs.is-loading .tablist li:first-child::after, +.tabs:not(.is-loading) .tablist li.is-selected::after { + background-color: var(--ds-text-primary); +} + +/* overflow tab title */ +.tabs.overflow .tablist > ul li p { + max-width: var(--ds-space-15); + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; +} + +/* wrapping tab title */ +.tabs.wrapping .tablist > ul li p { + max-width: var(--ds-space-15); + display: flex; +} + +.tabs.overflow .tablist > ul, +.tabs.wrapping .tablist > ul { + flex-wrap: nowrap; +} diff --git a/src/js/vendor/tabs.bundle.js b/src/js/vendor/tabs.bundle.js new file mode 100644 index 00000000..8d1016f8 --- /dev/null +++ b/src/js/vendor/tabs.bundle.js @@ -0,0 +1 @@ +require('@asciidoctor/tabs') diff --git a/src/partials/footer-scripts.hbs b/src/partials/footer-scripts.hbs index b21c0803..118aa726 100644 --- a/src/partials/footer-scripts.hbs +++ b/src/partials/footer-scripts.hbs @@ -1,4 +1,5 @@ + diff --git a/src/partials/head-styles.hbs b/src/partials/head-styles.hbs index d6839e54..7335a23e 100644 --- a/src/partials/head-styles.hbs +++ b/src/partials/head-styles.hbs @@ -1 +1,2 @@ +