UNPKG

@nextcloud/vue

Version:
210 lines 6.58 kB
/** * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ /** * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ /* * Ensure proper alignment of the vue material icons */ .material-design-icon[data-v-c3d9e0ce] { display: flex; align-self: center; justify-self: center; align-items: center; justify-content: center; } .button-vue[data-v-c3d9e0ce] { --button-size: var(--default-clickable-area); --button-radius: var(--border-radius-element, calc(var(--button-size) / 2)); --button-padding: clamp(var(--default-grid-baseline), var(--button-radius), calc(var(--default-grid-baseline) * 4)); position: relative; width: fit-content; overflow: hidden; border: 0; padding: 0; font-size: var(--default-font-size); font-weight: bold; min-height: var(--button-size); min-width: var(--button-size); display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: var(--button-radius); transition-property: color, border-color, background-color; transition-duration: 0.1s; transition-timing-function: linear; color: var(--color-primary-element-light-text); background-color: var(--color-primary-element-light); } .button-vue--size-small[data-v-c3d9e0ce] { --button-size: var(--clickable-area-small, 24px); --button-radius: var(--border-radius); } .button-vue--size-large[data-v-c3d9e0ce] { --button-size: var(--clickable-area-large, 48px); } .button-vue *[data-v-c3d9e0ce], .button-vue span[data-v-c3d9e0ce] { cursor: pointer; } .button-vue[data-v-c3d9e0ce]:focus { outline: none; } .button-vue[data-v-c3d9e0ce]:disabled { cursor: default; opacity: 0.5; filter: saturate(0.7); } .button-vue:disabled *[data-v-c3d9e0ce] { cursor: default; } .button-vue[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: var(--color-primary-element-light-hover); } .button-vue[data-v-c3d9e0ce]:active { background-color: var(--color-primary-element-light); } .button-vue__wrapper[data-v-c3d9e0ce] { display: inline-flex; align-items: center; justify-content: center; width: 100%; } .button-vue--end .button-vue__wrapper[data-v-c3d9e0ce] { justify-content: end; } .button-vue--start .button-vue__wrapper[data-v-c3d9e0ce] { justify-content: start; } .button-vue--reverse .button-vue__wrapper[data-v-c3d9e0ce] { flex-direction: row-reverse; } .button-vue--reverse.button-vue--icon-and-text[data-v-c3d9e0ce] { padding-inline: var(--button-padding) var(--default-grid-baseline); } .button-vue__icon[data-v-c3d9e0ce] { height: var(--button-size); width: var(--button-size); min-height: var(--button-size); min-width: var(--button-size); display: flex; justify-content: center; align-items: center; } .button-vue--size-small .button-vue__icon[data-v-c3d9e0ce] > * { max-height: 16px; max-width: 16px; } .button-vue--size-small .button-vue__icon[data-v-c3d9e0ce] svg { height: 16px; width: 16px; } .button-vue__text[data-v-c3d9e0ce] { font-weight: bold; margin-bottom: 1px; padding: 2px 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .button-vue--icon-only[data-v-c3d9e0ce] { line-height: 1; width: var(--button-size) !important; } .button-vue--text-only[data-v-c3d9e0ce] { padding: 0 var(--button-padding); } .button-vue--text-only .button-vue__text[data-v-c3d9e0ce] { margin-left: 4px; margin-right: 4px; } .button-vue--icon-and-text[data-v-c3d9e0ce] { --button-padding: min(calc(var(--default-grid-baseline) + var(--button-radius)), calc(var(--default-grid-baseline) * 4)); padding-block: 0; padding-inline: var(--default-grid-baseline) var(--button-padding); } .button-vue--wide[data-v-c3d9e0ce] { width: 100%; } .button-vue[data-v-c3d9e0ce]:focus-visible { outline: 2px solid var(--color-main-text) !important; box-shadow: 0 0 0 4px var(--color-main-background) !important; } .button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-c3d9e0ce] { outline: 2px solid var(--color-primary-element-text); border-radius: var(--border-radius-element, var(--border-radius)); background-color: transparent; } .button-vue--vue-primary[data-v-c3d9e0ce] { background-color: var(--color-primary-element); color: var(--color-primary-element-text); } .button-vue--vue-primary[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: var(--color-primary-element-hover); } .button-vue--vue-primary[data-v-c3d9e0ce]:active { background-color: var(--color-primary-element); } .button-vue--vue-secondary[data-v-c3d9e0ce] { color: var(--color-primary-element-light-text); background-color: var(--color-primary-element-light); } .button-vue--vue-secondary[data-v-c3d9e0ce]:hover:not(:disabled) { color: var(--color-primary-element-light-text); background-color: var(--color-primary-element-light-hover); } .button-vue--vue-tertiary[data-v-c3d9e0ce] { color: var(--color-main-text); background-color: transparent; } .button-vue--vue-tertiary[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: var(--color-background-hover); } .button-vue--vue-tertiary-no-background[data-v-c3d9e0ce] { color: var(--color-main-text); background-color: transparent; } .button-vue--vue-tertiary-no-background[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: transparent; } .button-vue--vue-tertiary-on-primary[data-v-c3d9e0ce] { color: var(--color-primary-element-text); background-color: transparent; } .button-vue--vue-tertiary-on-primary[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: transparent; } .button-vue--vue-success[data-v-c3d9e0ce] { background-color: var(--color-success); color: white; } .button-vue--vue-success[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: var(--color-success-hover); } .button-vue--vue-success[data-v-c3d9e0ce]:active { background-color: var(--color-success); } .button-vue--vue-warning[data-v-c3d9e0ce] { background-color: var(--color-warning); color: white; } .button-vue--vue-warning[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: var(--color-warning-hover); } .button-vue--vue-warning[data-v-c3d9e0ce]:active { background-color: var(--color-warning); } .button-vue--vue-error[data-v-c3d9e0ce] { background-color: var(--color-error); color: white; } .button-vue--vue-error[data-v-c3d9e0ce]:hover:not(:disabled) { background-color: var(--color-error-hover); } .button-vue--vue-error[data-v-c3d9e0ce]:active { background-color: var(--color-error); }