UNPKG

@ckeditor/ckeditor5-theme-lark

Version:

A bright theme for CKEditor 5.

128 lines (100 loc) 4.63 kB
/* * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ @import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; @import "../../../mixins/_rounded.css"; :root { --ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95); --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium); --ck-labeled-field-label-default-position-x: var(--ck-spacing-medium); --ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base)); --ck-color-labeled-field-label-background: var(--ck-color-base-background); } .ck.ck-labeled-field-view { @mixin ck-rounded-corners; & > .ck.ck-labeled-field-view__input-wrapper { width: 100%; & > .ck.ck-label { top: 0px; @mixin ck-dir ltr { left: 0px; transform-origin: 0 0; /* By default, display the label scaled down above the field. */ transform: translate(var(--ck-spacing-medium), -6px) scale(.75); } @mixin ck-dir rtl { right: 0px; transform-origin: 100% 0; transform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75); } pointer-events: none; background: var(--ck-color-labeled-field-label-background); padding: 0 calc(.5 * var(--ck-font-size-tiny)); line-height: initial; font-weight: normal; /* Prevent overflow when the label is longer than the input */ text-overflow: ellipsis; overflow: hidden; max-width: 100%; transition: transform var(--ck-labeled-field-view-transition), padding var(--ck-labeled-field-view-transition), background var(--ck-labeled-field-view-transition); @media (prefers-reduced-motion: reduce) { transition: none; } } } &.ck-error { & > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { color: var(--ck-color-base-error); } & .ck-input:not([readonly]) + .ck.ck-label { color: var(--ck-color-base-error); } } & .ck-labeled-field-view__status { font-size: var(--ck-font-size-small); margin-top: var(--ck-spacing-small); /* Let the info wrap to the next line to avoid stretching the layout horizontally. The status could be very long. */ white-space: normal; &.ck-labeled-field-view__status_error { color: var(--ck-color-base-error); } } /* Disabled fields and fields that have no focus should fade out. */ &.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, &.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { color: var(--ck-color-input-disabled-text); } /* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */ /* stylelint-disable-next-line no-descending-specificity */ &.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, &.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { @mixin ck-dir ltr { transform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1); } @mixin ck-dir rtl { transform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1); } /* Compensate for the default translate position. */ max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width)); background: transparent; padding: 0; } /*------ DropdownView integration ----------------------------------------------------------------------------------- */ /* Make sure dropdown' background color in any of dropdown's state does not collide with labeled field. */ & > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button { background: transparent; } /* When the dropdown is "empty", the labeled field label replaces its label. */ &.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label { opacity: 0; } /* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */ &.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label { max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard)); } }