UNPKG

naive-ui

Version:

A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript, Fast

390 lines 12.5 kB
import { c, cB, cE, cM, cNotM } from "../../../_utils/cssr/index.mjs"; // vars: // --n-bezier // --n-close-size // --n-close-color-hover // --n-close-color-pressed // --n-close-icon-size // --n-close-icon-color // --n-close-icon-color-hover // --n-close-icon-color-pressed // --n-bar-color // --n-tab-font-size // --n-tab-text-color // --n-tab-text-color-active // --n-tab-text-color-disabled // --n-tab-text-color-hover // --n-pane-text-color // --n-tab-border-color // --n-tab-border-radius // --n-tab-color // --n-tab-font-weight // --n-tab-font-weight-active // --n-tab-gap // --n-tab-gap-vertical // --n-tab-padding // --n-pane-padding-left // --n-pane-padding-right // --n-pane-padding-top // --n-pane-padding-bottom // --n-color-segment // --n-font-weight-strong // --n-tab-color-segment export default cB('tabs', ` box-sizing: border-box; width: 100%; display: flex; flex-direction: column; transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier); `, [cM('segment-type', [cB('tabs-rail', [c('&.transition-disabled', [cB('tabs-capsule', ` transition: none; `)])])]), cM('top', [cB('tab-pane', ` padding: var(--n-pane-padding-top) var(--n-pane-padding-right) var(--n-pane-padding-bottom) var(--n-pane-padding-left); `)]), cM('left', [cB('tab-pane', ` padding: var(--n-pane-padding-right) var(--n-pane-padding-bottom) var(--n-pane-padding-left) var(--n-pane-padding-top); `)]), cM('left, right', ` flex-direction: row; `, [cB('tabs-bar', ` width: 2px; right: 0; transition: top .2s var(--n-bezier), max-height .2s var(--n-bezier), background-color .3s var(--n-bezier); `), cB('tabs-tab', ` padding: var(--n-tab-padding-vertical); `)]), cM('right', ` flex-direction: row-reverse; `, [cB('tab-pane', ` padding: var(--n-pane-padding-left) var(--n-pane-padding-top) var(--n-pane-padding-right) var(--n-pane-padding-bottom); `), cB('tabs-bar', ` left: 0; `)]), cM('bottom', ` flex-direction: column-reverse; justify-content: flex-end; `, [cB('tab-pane', ` padding: var(--n-pane-padding-bottom) var(--n-pane-padding-right) var(--n-pane-padding-top) var(--n-pane-padding-left); `), cB('tabs-bar', ` top: 0; `)]), cB('tabs-rail', ` position: relative; padding: 3px; border-radius: var(--n-tab-border-radius); width: 100%; background-color: var(--n-color-segment); transition: background-color .3s var(--n-bezier); display: flex; align-items: center; `, [cB('tabs-capsule', ` border-radius: var(--n-tab-border-radius); position: absolute; pointer-events: none; background-color: var(--n-tab-color-segment); box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08); transition: transform 0.3s var(--n-bezier); `), cB('tabs-tab-wrapper', ` flex-basis: 0; flex-grow: 1; display: flex; align-items: center; justify-content: center; `, [cB('tabs-tab', ` overflow: hidden; border-radius: var(--n-tab-border-radius); width: 100%; display: flex; align-items: center; justify-content: center; `, [cM('active', ` font-weight: var(--n-font-weight-strong); color: var(--n-tab-text-color-active); `), c('&:hover', ` color: var(--n-tab-text-color-hover); `)])])]), cM('flex', [cB('tabs-nav', ` width: 100%; position: relative; `, [cB('tabs-wrapper', ` width: 100%; `, [cB('tabs-tab', ` margin-right: 0; `)])])]), cB('tabs-nav', ` box-sizing: border-box; line-height: 1.5; display: flex; transition: border-color .3s var(--n-bezier); `, [cE('prefix, suffix', ` display: flex; align-items: center; `), cE('prefix', 'padding-right: 16px;'), cE('suffix', 'padding-left: 16px;')]), cM('top, bottom', [cB('tabs-nav-scroll-wrapper', [c('&::before', ` top: 0; bottom: 0; left: 0; width: 20px; `), c('&::after', ` top: 0; bottom: 0; right: 0; width: 20px; `), cM('shadow-start', [c('&::before', ` box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, .12); `)]), cM('shadow-end', [c('&::after', ` box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, .12); `)])])]), cM('left, right', [cB('tabs-nav-scroll-content', ` flex-direction: column; `), cB('tabs-nav-scroll-wrapper', [c('&::before', ` top: 0; left: 0; right: 0; height: 20px; `), c('&::after', ` bottom: 0; left: 0; right: 0; height: 20px; `), cM('shadow-start', [c('&::before', ` box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, .12); `)]), cM('shadow-end', [c('&::after', ` box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, .12); `)])])]), cB('tabs-nav-scroll-wrapper', ` flex: 1; position: relative; overflow: hidden; `, [cB('tabs-nav-y-scroll', ` height: 100%; width: 100%; overflow-y: auto; scrollbar-width: none; `, [c('&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb', ` width: 0; height: 0; display: none; `)]), c('&::before, &::after', ` transition: box-shadow .3s var(--n-bezier); pointer-events: none; content: ""; position: absolute; z-index: 1; `)]), cB('tabs-nav-scroll-content', ` display: flex; position: relative; min-width: 100%; min-height: 100%; width: fit-content; box-sizing: border-box; `), cB('tabs-wrapper', ` display: inline-flex; flex-wrap: nowrap; position: relative; `), cB('tabs-tab-wrapper', ` display: flex; flex-wrap: nowrap; flex-shrink: 0; flex-grow: 0; `), cB('tabs-tab', ` cursor: pointer; white-space: nowrap; flex-wrap: nowrap; display: inline-flex; align-items: center; color: var(--n-tab-text-color); font-size: var(--n-tab-font-size); background-clip: padding-box; padding: var(--n-tab-padding); transition: box-shadow .3s var(--n-bezier), color .3s var(--n-bezier), background-color .3s var(--n-bezier), border-color .3s var(--n-bezier); `, [cM('disabled', { cursor: 'not-allowed' }), cE('close', ` margin-left: 6px; transition: background-color .3s var(--n-bezier), color .3s var(--n-bezier); `), cE('label', ` display: flex; align-items: center; z-index: 1; `)]), cB('tabs-bar', ` position: absolute; bottom: 0; height: 2px; border-radius: 1px; background-color: var(--n-bar-color); transition: left .2s var(--n-bezier), max-width .2s var(--n-bezier), opacity .3s var(--n-bezier), background-color .3s var(--n-bezier); `, [c('&.transition-disabled', ` transition: none; `), cM('disabled', ` background-color: var(--n-tab-text-color-disabled) `)]), cB('tabs-pane-wrapper', ` position: relative; overflow: hidden; transition: max-height .2s var(--n-bezier); `), cB('tab-pane', ` color: var(--n-pane-text-color); width: 100%; transition: color .3s var(--n-bezier), background-color .3s var(--n-bezier), opacity .2s var(--n-bezier); left: 0; right: 0; top: 0; `, [c('&.next-transition-leave-active, &.prev-transition-leave-active, &.next-transition-enter-active, &.prev-transition-enter-active', ` transition: color .3s var(--n-bezier), background-color .3s var(--n-bezier), transform .2s var(--n-bezier), opacity .2s var(--n-bezier); `), c('&.next-transition-leave-active, &.prev-transition-leave-active', ` position: absolute; `), c('&.next-transition-enter-from, &.prev-transition-leave-to', ` transform: translateX(32px); opacity: 0; `), c('&.next-transition-leave-to, &.prev-transition-enter-from', ` transform: translateX(-32px); opacity: 0; `), c('&.next-transition-leave-from, &.next-transition-enter-to, &.prev-transition-leave-from, &.prev-transition-enter-to', ` transform: translateX(0); opacity: 1; `)]), cB('tabs-tab-pad', ` box-sizing: border-box; width: var(--n-tab-gap); flex-grow: 0; flex-shrink: 0; `), cM('line-type, bar-type', [cB('tabs-tab', ` font-weight: var(--n-tab-font-weight); box-sizing: border-box; vertical-align: bottom; `, [c('&:hover', { color: 'var(--n-tab-text-color-hover)' }), cM('active', ` color: var(--n-tab-text-color-active); font-weight: var(--n-tab-font-weight-active); `), cM('disabled', { color: 'var(--n-tab-text-color-disabled)' })])]), cB('tabs-nav', [cM('line-type', [cM('top', [cE('prefix, suffix', ` border-bottom: 1px solid var(--n-tab-border-color); `), cB('tabs-nav-scroll-content', ` border-bottom: 1px solid var(--n-tab-border-color); `), cB('tabs-bar', ` bottom: -1px; `)]), cM('left', [cE('prefix, suffix', ` border-right: 1px solid var(--n-tab-border-color); `), cB('tabs-nav-scroll-content', ` border-right: 1px solid var(--n-tab-border-color); `), cB('tabs-bar', ` right: -1px; `)]), cM('right', [cE('prefix, suffix', ` border-left: 1px solid var(--n-tab-border-color); `), cB('tabs-nav-scroll-content', ` border-left: 1px solid var(--n-tab-border-color); `), cB('tabs-bar', ` left: -1px; `)]), cM('bottom', [cE('prefix, suffix', ` border-top: 1px solid var(--n-tab-border-color); `), cB('tabs-nav-scroll-content', ` border-top: 1px solid var(--n-tab-border-color); `), cB('tabs-bar', ` top: -1px; `)]), cE('prefix, suffix', ` transition: border-color .3s var(--n-bezier); `), cB('tabs-nav-scroll-content', ` transition: border-color .3s var(--n-bezier); `), cB('tabs-bar', ` border-radius: 0; `)]), cM('card-type', [cE('prefix, suffix', ` transition: border-color .3s var(--n-bezier); `), cB('tabs-pad', ` flex-grow: 1; transition: border-color .3s var(--n-bezier); `), cB('tabs-tab-pad', ` transition: border-color .3s var(--n-bezier); `), cB('tabs-tab', ` font-weight: var(--n-tab-font-weight); border: 1px solid var(--n-tab-border-color); background-color: var(--n-tab-color); box-sizing: border-box; position: relative; vertical-align: bottom; display: flex; justify-content: space-between; font-size: var(--n-tab-font-size); color: var(--n-tab-text-color); `, [cM('addable', ` padding-left: 8px; padding-right: 8px; font-size: 16px; justify-content: center; `, [cE('height-placeholder', ` width: 0; font-size: var(--n-tab-font-size); `), cNotM('disabled', [c('&:hover', ` color: var(--n-tab-text-color-hover); `)])]), cM('closable', 'padding-right: 8px;'), cM('active', ` background-color: #0000; font-weight: var(--n-tab-font-weight-active); color: var(--n-tab-text-color-active); `), cM('disabled', 'color: var(--n-tab-text-color-disabled);')])]), cM('left, right', ` flex-direction: column; `, [cE('prefix, suffix', ` padding: var(--n-tab-padding-vertical); `), cB('tabs-wrapper', ` flex-direction: column; `), cB('tabs-tab-wrapper', ` flex-direction: column; `, [cB('tabs-tab-pad', ` height: var(--n-tab-gap-vertical); width: 100%; `)])]), cM('top', [cM('card-type', [cB('tabs-scroll-padding', 'border-bottom: 1px solid var(--n-tab-border-color);'), cE('prefix, suffix', ` border-bottom: 1px solid var(--n-tab-border-color); `), cB('tabs-tab', ` border-top-left-radius: var(--n-tab-border-radius); border-top-right-radius: var(--n-tab-border-radius); `, [cM('active', ` border-bottom: 1px solid #0000; `)]), cB('tabs-tab-pad', ` border-bottom: 1px solid var(--n-tab-border-color); `), cB('tabs-pad', ` border-bottom: 1px solid var(--n-tab-border-color); `)])]), cM('left', [cM('card-type', [cB('tabs-scroll-padding', 'border-right: 1px solid var(--n-tab-border-color);'), cE('prefix, suffix', ` border-right: 1px solid var(--n-tab-border-color); `), cB('tabs-tab', ` border-top-left-radius: var(--n-tab-border-radius); border-bottom-left-radius: var(--n-tab-border-radius); `, [cM('active', ` border-right: 1px solid #0000; `)]), cB('tabs-tab-pad', ` border-right: 1px solid var(--n-tab-border-color); `), cB('tabs-pad', ` border-right: 1px solid var(--n-tab-border-color); `)])]), cM('right', [cM('card-type', [cB('tabs-scroll-padding', 'border-left: 1px solid var(--n-tab-border-color);'), cE('prefix, suffix', ` border-left: 1px solid var(--n-tab-border-color); `), cB('tabs-tab', ` border-top-right-radius: var(--n-tab-border-radius); border-bottom-right-radius: var(--n-tab-border-radius); `, [cM('active', ` border-left: 1px solid #0000; `)]), cB('tabs-tab-pad', ` border-left: 1px solid var(--n-tab-border-color); `), cB('tabs-pad', ` border-left: 1px solid var(--n-tab-border-color); `)])]), cM('bottom', [cM('card-type', [cB('tabs-scroll-padding', 'border-top: 1px solid var(--n-tab-border-color);'), cE('prefix, suffix', ` border-top: 1px solid var(--n-tab-border-color); `), cB('tabs-tab', ` border-bottom-left-radius: var(--n-tab-border-radius); border-bottom-right-radius: var(--n-tab-border-radius); `, [cM('active', ` border-top: 1px solid #0000; `)]), cB('tabs-tab-pad', ` border-top: 1px solid var(--n-tab-border-color); `), cB('tabs-pad', ` border-top: 1px solid var(--n-tab-border-color); `)])])])]);