UNPKG

@inkline/inkline

Version:

Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.

520 lines (516 loc) 19.4 kB
/** * Button */ .button { display: inline-flex; font-weight: var(--button--font-weight, var(--font-weight-normal)); font-size: var(--button--font-size, var(--font-size)); line-height: 1; text-align: center; white-space: nowrap; vertical-align: middle; user-select: none; color: var(--button--color); background: var(--button--background); border-style: var(--button--border-style, var(--button--border-top-style, var(--border-top-style)) var(--button--border-right-style, var(--border-right-style)) var(--button--border-bottom-style, var(--border-bottom-style)) var(--button--border-left-style, var(--border-left-style))); border-width: var(--button--border-width, var(--button--border-top-width, var(--border-top-width)) var(--button--border-right-width, var(--border-right-width)) var(--button--border-bottom-width, var(--border-bottom-width)) var(--button--border-left-width, var(--border-left-width))); border-color: var(--button--border-color, var(--button--border-top-color, var(--border-top-color)) var(--button--border-right-color, var(--border-right-color)) var(--button--border-bottom-color, var(--border-bottom-color)) var(--button--border-left-color, var(--border-left-color))); border-radius: var(--button--border-radius, var(--button--border-top-left-radius, var(--border-top-left-radius)) var(--button--border-top-right-radius, var(--border-top-right-radius)) var(--button--border-bottom-right-radius, var(--border-bottom-right-radius)) var(--button--border-bottom-left-radius, var(--border-bottom-left-radius))); box-shadow: var(--button--box-shadow, var(--button--box-shadow-x-offset, var(--box-shadow-offset-x)) var(--button--box-shadow-y-offset, var(--box-shadow-offset-y)) var(--button--box-shadow-blur-radius, var(--box-shadow-blur-radius)) var(--button--box-shadow-spread-radius, var(--box-shadow-spread-radius)) var(--button--box-shadow-color, var(--box-shadow-color))); padding: var(--button--padding, var(--button--padding-top, var(--padding-top)) var(--button--padding-right, var(--padding-right)) var(--button--padding-bottom, var(--padding-bottom)) var(--button--padding-left, var(--padding-left))); justify-content: center; align-items: center; transition-property: var(--button--transition-property, background-color, color, border-color); transition-duration: var(--button--transition-duration, var(--transition-duration)); transition-timing-function: var(--button--transition-timing-function, var(--transition-timing-function)); } .button:not(:disabled, .-disabled) { cursor: pointer; } .button:not(:disabled, .-disabled):hover, .button:not(:disabled, .-disabled):focus, .button:not(:disabled, .-disabled).-hovered, .button:not(:disabled, .-disabled).-focused { background: var(--button--hover--background, var(--button--background)); border-color: var(--button--hover--border-color, var(--button--hover--border-top-color, var(--button--border-top-color)) var(--button--hover--border-right-color, var(--button--border-right-color)) var(--button--hover--border-bottom-color, var(--button--border-bottom-color)) var(--button--hover--border-left-color, var(--button--border-left-color))); text-decoration: none; color: var(--button--color); outline: 0; } .button:not(:disabled, .-disabled):active, .button:not(:disabled, .-disabled).-active { background: var(--button--active--background, var(--button--background)); } .button.-disabled, .button:disabled { opacity: var(--button--disabled--opacity, 0.8); box-shadow: none; cursor: not-allowed; } .button.-block { display: flex; width: 100%; } .button.-block + .button.-block { margin-left: 0; margin-top: var(--button--block--margin-top, var(--margin-top)); } .button.-link { color: var(--button--link--color, var(--button--color)); box-shadow: none; background-color: transparent; border-color: transparent; } .button.-link:not(:disabled, .-disabled):hover, .button.-link:not(:disabled, .-disabled):focus, .button.-link:not(:disabled, .-disabled):active, .button.-link:not(:disabled, .-disabled).-hovered, .button.-link:not(:disabled, .-disabled).-focused, .button.-link:not(:disabled, .-disabled).-active { color: var(--button--link--active--color, var(--button--color)); background-color: transparent; border-color: transparent; box-shadow: none; text-decoration: underline; } .button.-link:disabled, .button.-link.-disabled { pointer-events: none; } .button.-outline { background: transparent; color: var(--button--background); border-color: var(--button--background); box-shadow: none; } .button.-outline:not(:disabled, .-disabled):hover, .button.-outline:not(:disabled, .-disabled):focus, .button.-outline:not(:disabled, .-disabled):active, .button.-outline:not(:disabled, .-disabled).-hovered, .button.-outline:not(:disabled, .-disabled).-focused, .button.-outline:not(:disabled, .-disabled).-active { border-color: var(--button--background); background: var(--button--background); color: var(--button--color); } .button.-circle { border-radius: 50%; width: var(--button--circle--size); height: var(--button--circle--size); padding: 0; } .button.-loading { pointer-events: none; cursor: default; } .button .loader { width: var(--button--font-size); height: var(--button--font-size); } .button .loader > svg > circle { stroke: var(--button--color) !important; } .button .button-icon, .button .button-content { display: inline-flex; justify-content: center; align-items: center; } .button .button-icon + .button-content { margin-left: var(--button--icon--margin-right, var(--margin-right-1-2)); } .button-group:not(.-vertical) > .button:not(:first-of-type) { border-left-color: var(--button--border-left-color); } .button-group.-vertical > .button:not(:first-of-type) { border-top-color: var(--button--border-top-color); } a.button.-disabled, *:disabled a.button { pointer-events: none; } input[type=submit].-block, input[type=reset].-block, input[type=button].-block { width: 100%; } /** * Color variants */ .button.-primary { --button--background: var(--button--primary--background, var(--color-primary)); --button--hover--background: var( --button--primary--hover--background, var(--color-primary-shade-50) ); --button--active--background: var( --button--primary--active--background, var(--color-primary-shade-100) ); --button--border-top-color: var( --button--primary--border-top-color, var(--color-primary-shade-50) ); --button--border-right-color: var( --button--primary--border-right-color, var(--color-primary-shade-50) ); --button--border-bottom-color: var( --button--primary--border-bottom-color, var(--color-primary-shade-50) ); --button--border-left-color: var( --button--primary--border-left-color, var(--color-primary-shade-50) ); --button--color: var(--button--primary--color, var(--contrast-text-color-primary)); --button--link--color: var(--button--primary--link--color, var(--color-primary)); --button--link--active--color: var( --button--primary--link--active--color, var(--color-primary-shade-50) ); } .button.-secondary { --button--background: var(--button--secondary--background, var(--color-secondary)); --button--hover--background: var( --button--secondary--hover--background, var(--color-secondary-shade-50) ); --button--active--background: var( --button--secondary--active--background, var(--color-secondary-shade-100) ); --button--border-top-color: var( --button--secondary--border-top-color, var(--color-secondary-shade-50) ); --button--border-right-color: var( --button--secondary--border-right-color, var(--color-secondary-shade-50) ); --button--border-bottom-color: var( --button--secondary--border-bottom-color, var(--color-secondary-shade-50) ); --button--border-left-color: var( --button--secondary--border-left-color, var(--color-secondary-shade-50) ); --button--color: var(--button--secondary--color, var(--contrast-text-color-secondary)); --button--link--color: var(--button--secondary--link--color, var(--color-secondary)); --button--link--active--color: var( --button--secondary--link--active--color, var(--color-secondary-shade-50) ); } .button.-light { --button--background: var(--button--light--background, var(--color-light)); --button--hover--background: var( --button--light--hover--background, var(--color-light-shade-50) ); --button--active--background: var( --button--light--active--background, var(--color-light-shade-100) ); --button--border-top-color: var( --button--light--border-top-color, var(--color-light-shade-50) ); --button--border-right-color: var( --button--light--border-right-color, var(--color-light-shade-50) ); --button--border-bottom-color: var( --button--light--border-bottom-color, var(--color-light-shade-50) ); --button--border-left-color: var( --button--light--border-left-color, var(--color-light-shade-50) ); --button--color: var(--button--light--color, var(--contrast-text-color-light)); --button--link--color: var(--button--light--link--color, var(--color-light)); --button--link--active--color: var( --button--light--link--active--color, var(--color-light-shade-100) ); } .button.-dark { --button--background: var(--button--dark--background, var(--color-dark)); --button--hover--background: var( --button--dark--hover--background, var(--color-dark-tint-50) ); --button--active--background: var( --button--dark--active--background, var(--color-dark-tint-100) ); --button--border-top-color: var( --button--dark--border-top-color, var(--color-dark-tint-50) ); --button--border-right-color: var( --button--dark--border-right-color, var(--color-dark-tint-50) ); --button--border-bottom-color: var( --button--dark--border-bottom-color, var(--color-dark-tint-50) ); --button--border-left-color: var( --button--dark--border-left-color, var(--color-dark-tint-50) ); --button--color: var(--button--dark--color, var(--contrast-text-color-dark)); --button--link--color: var(--button--dark--link--color, var(--color-dark)); --button--link--active--color: var( --button--dark--link--active--color, var(--color-dark-tint-50) ); } .button.-info { --button--background: var(--button--info--background, var(--color-info)); --button--hover--background: var( --button--info--hover--background, var(--color-info-shade-50) ); --button--active--background: var( --button--info--active--background, var(--color-info-shade-100) ); --button--border-top-color: var( --button--info--border-top-color, var(--color-info-shade-50) ); --button--border-right-color: var( --button--info--border-right-color, var(--color-info-shade-50) ); --button--border-bottom-color: var( --button--info--border-bottom-color, var(--color-info-shade-50) ); --button--border-left-color: var( --button--info--border-left-color, var(--color-info-shade-50) ); --button--color: var(--button--info--color, var(--contrast-text-color-info)); --button--link--color: var(--button--info--link--color, var(--color-info)); --button--link--active--color: var( --button--info--link--active--color, var(--color-info-shade-50) ); } .button.-success { --button--background: var(--button--success--background, var(--color-success)); --button--hover--background: var( --button--success--hover--background, var(--color-success-shade-50) ); --button--active--background: var( --button--success--active--background, var(--color-success-shade-100) ); --button--border-top-color: var( --button--success--border-top-color, var(--color-success-shade-50) ); --button--border-right-color: var( --button--success--border-right-color, var(--color-success-shade-50) ); --button--border-bottom-color: var( --button--success--border-bottom-color, var(--color-success-shade-50) ); --button--border-left-color: var( --button--success--border-left-color, var(--color-success-shade-50) ); --button--color: var(--button--success--color, var(--contrast-text-color-success)); --button--link--color: var(--button--success--link--color, var(--color-success)); --button--link--active--color: var( --button--success--link--active--color, var(--color-success-shade-50) ); } .button.-warning { --button--background: var(--button--warning--background, var(--color-warning)); --button--hover--background: var( --button--warning--hover--background, var(--color-warning-shade-50) ); --button--active--background: var( --button--warning--active--background, var(--color-warning-shade-100) ); --button--border-top-color: var( --button--warning--border-top-color, var(--color-warning-shade-50) ); --button--border-right-color: var( --button--warning--border-right-color, var(--color-warning-shade-50) ); --button--border-bottom-color: var( --button--warning--border-bottom-color, var(--color-warning-shade-50) ); --button--border-left-color: var( --button--warning--border-left-color, var(--color-warning-shade-50) ); --button--color: var(--button--warning--color, var(--contrast-text-color-warning)); --button--link--color: var(--button--warning--link--color, var(--color-warning)); --button--link--active--color: var( --button--warning--link--active--color, var(--color-warning-shade-50) ); } .button.-danger { --button--background: var(--button--danger--background, var(--color-danger)); --button--hover--background: var( --button--danger--hover--background, var(--color-danger-shade-50) ); --button--active--background: var( --button--danger--active--background, var(--color-danger-shade-100) ); --button--border-top-color: var( --button--danger--border-top-color, var(--color-danger-shade-50) ); --button--border-right-color: var( --button--danger--border-right-color, var(--color-danger-shade-50) ); --button--border-bottom-color: var( --button--danger--border-bottom-color, var(--color-danger-shade-50) ); --button--border-left-color: var( --button--danger--border-left-color, var(--color-danger-shade-50) ); --button--color: var(--button--danger--color, var(--contrast-text-color-danger)); --button--link--color: var(--button--danger--link--color, var(--color-danger)); --button--link--active--color: var( --button--danger--link--active--color, var(--color-danger-shade-50) ); } /** * Size variants */ .button.-sm { --button--border-top-left-radius: var( --button--sm--border-top-left-radius, calc(var(--border-top-right-radius) * var(--size-multiplier-sm)) ); --button--border-top-right-radius: var( --button--sm--border-top-right-radius, calc(var(--border-top-right-radius) * var(--size-multiplier-sm)) ); --button--border-bottom-right-radius: var( --button--sm--border-bottom-right-radius, calc(var(--border-bottom-right-radius) * var(--size-multiplier-sm)) ); --button--border-bottom-left-radius: var( --button--sm--border-bottom-left-radius, calc(var(--border-bottom-left-radius) * var(--size-multiplier-sm)) ); --button--font-size: var( --button--sm--font-size, calc(var(--font-size) * var(--size-multiplier-sm)) ); --button--padding-top: var( --button--sm--padding-top, calc(calc(var(--padding-top) * var(--size-multiplier-sm)) * 3 / 4) ); --button--padding-right: var( --button--sm--padding-right, calc(var(--padding-right) * var(--size-multiplier-sm)) ); --button--padding-bottom: var( --button--sm--padding-bottom, calc(calc(var(--padding-bottom) * var(--size-multiplier-sm)) * 3 / 4) ); --button--padding-left: var( --button--sm--padding-left, calc(var(--padding-left) * var(--size-multiplier-sm)) ); --button--circle--size: var( --button--sm--circle--size, calc(34px * var(--size-multiplier-sm)) ); } .button.-md { --button--border-top-left-radius: var( --button--md--border-top-left-radius, calc(var(--border-top-right-radius) * var(--size-multiplier-md)) ); --button--border-top-right-radius: var( --button--md--border-top-right-radius, calc(var(--border-top-right-radius) * var(--size-multiplier-md)) ); --button--border-bottom-right-radius: var( --button--md--border-bottom-right-radius, calc(var(--border-bottom-right-radius) * var(--size-multiplier-md)) ); --button--border-bottom-left-radius: var( --button--md--border-bottom-left-radius, calc(var(--border-bottom-left-radius) * var(--size-multiplier-md)) ); --button--font-size: var( --button--md--font-size, calc(var(--font-size) * var(--size-multiplier-md)) ); --button--padding-top: var( --button--md--padding-top, calc(calc(var(--padding-top) * var(--size-multiplier-md)) * 3 / 4) ); --button--padding-right: var( --button--md--padding-right, calc(var(--padding-right) * var(--size-multiplier-md)) ); --button--padding-bottom: var( --button--md--padding-bottom, calc(calc(var(--padding-bottom) * var(--size-multiplier-md)) * 3 / 4) ); --button--padding-left: var( --button--md--padding-left, calc(var(--padding-left) * var(--size-multiplier-md)) ); --button--circle--size: var( --button--md--circle--size, calc(42px * var(--size-multiplier-md)) ); } .button.-lg { --button--border-top-left-radius: var( --button--lg--border-top-left-radius, calc(var(--border-top-right-radius) * var(--size-multiplier-lg)) ); --button--border-top-right-radius: var( --button--lg--border-top-right-radius, calc(var(--border-top-right-radius) * var(--size-multiplier-lg)) ); --button--border-bottom-right-radius: var( --button--lg--border-bottom-right-radius, calc(var(--border-bottom-right-radius) * var(--size-multiplier-lg)) ); --button--border-bottom-left-radius: var( --button--lg--border-bottom-left-radius, calc(var(--border-bottom-left-radius) * var(--size-multiplier-lg)) ); --button--font-size: var( --button--lg--font-size, calc(var(--font-size) * var(--size-multiplier-lg)) ); --button--padding-top: var( --button--lg--padding-top, calc(calc(var(--padding-top) * var(--size-multiplier-lg)) * 3 / 4) ); --button--padding-right: var( --button--lg--padding-right, calc(var(--padding-right) * var(--size-multiplier-lg)) ); --button--padding-bottom: var( --button--lg--padding-bottom, calc(calc(var(--padding-bottom) * var(--size-multiplier-lg)) * 3 / 4) ); --button--padding-left: var( --button--lg--padding-left, calc(var(--padding-left) * var(--size-multiplier-lg)) ); --button--circle--size: var( --button--lg--circle--size, calc(49px * var(--size-multiplier-lg)) ); }