fix: pull main

This commit is contained in:
Sabda Yagra 2026-01-19 07:50:04 +07:00
parent ddd82448a4
commit 89541adb62
10486 changed files with 1501450 additions and 11814 deletions

View File

@ -99,7 +99,7 @@ function TenantSettingsContentTable() {
} }
if (!userLevelsRes?.error) { if (!userLevelsRes?.error) {
const data = userLevelsRes?.data?.data; const data = userLevelsRes?.data?.data ?? [];
data.forEach((item: any, index: number) => { data.forEach((item: any, index: number) => {
item.no = (page - 1) * Number(showData) + index + 1; item.no = (page - 1) * Number(showData) + index + 1;
item.parentLevelName = item.parentLevelName =

View File

@ -65,20 +65,36 @@ export const LoginForm: React.FC<LoginFormProps> = ({
await login(data); await login(data);
onSuccess?.(data); onSuccess?.(data);
} catch (error: any) { } catch (error: any) {
onError?.(error.message || "Login failed"); const message = getLoginErrorMessage(error);
onError?.(message);
} }
}; };
const onSubmit = async (data: LoginFormData) => { const onSubmit = async (data: LoginFormData) => {
try { try {
// Pass the form data to the parent component
// The auth page will handle email validation and flow transitions // onSuccess?.(data);
onSuccess?.(data); await handleLogin(data);
} catch (error: any) { } catch (error: any) {
onError?.(error.message || "Login failed"); onError?.(error.message || "Login failed");
} }
}; };
const getLoginErrorMessage = (error: any): string => {
const data = error?.response?.data;
// Backend Netidhub
if (Array.isArray(data?.messages) && data.messages.length > 0) {
return data.messages[0];
}
// Fallback lain
if (typeof data?.message === "string") return data.message;
if (typeof error?.message === "string") return error.message;
return "Username atau kata sandi salah";
};
return ( return (
<div className={className}> <div className={className}>
<form onSubmit={handleSubmit(onSubmit)} className="space-y-6"> <form onSubmit={handleSubmit(onSubmit)} className="space-y-6">

View File

@ -68,6 +68,7 @@ export default function SignUp() {
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
const [formErrors, setFormErrors] = useState<any>({}); const [formErrors, setFormErrors] = useState<any>({});
const [tenantList, setTenantList] = useState<Tenant[]>([]); const [tenantList, setTenantList] = useState<Tenant[]>([]);
const [usernameKontributor, setUsernameKontributor] = useState("");
useEffect(() => { useEffect(() => {
getTenant(); getTenant();
@ -102,6 +103,17 @@ export default function SignUp() {
setStep("otp"); setStep("otp");
}; };
useEffect(() => {
if (role === "kontributor" && firstNameKontributor && lastNameKontributor) {
const generatedUsername = `${firstNameKontributor}-${lastNameKontributor}`
.toLowerCase()
.replace(/\s+/g, "-")
.replace(/[^a-z0-9-]/g, "");
setUsernameKontributor((prev) => prev || generatedUsername);
}
}, [role, firstNameKontributor, lastNameKontributor]);
const handleVerifyOtp = (e: React.FormEvent) => { const handleVerifyOtp = (e: React.FormEvent) => {
e.preventDefault(); e.preventDefault();
const code = otp.join(""); const code = otp.join("");
@ -165,7 +177,8 @@ export default function SignUp() {
fullName, fullName,
password: kontributorPassword, password: kontributorPassword,
phoneNumber: whatsappKontributor, phoneNumber: whatsappKontributor,
username: fullName.toLowerCase().replace(/\s+/g, "-"), // username: fullName.toLowerCase().replace(/\s+/g, "-"),
username: usernameKontributor,
userLevelId: 1, userLevelId: 1,
userRoleId: 5, // MISAL role kontributor userRoleId: 5, // MISAL role kontributor
}; };
@ -578,6 +591,18 @@ export default function SignUp() {
/> />
</div> </div>
<Input
type="text"
required
placeholder="Username"
value={usernameKontributor}
onChange={(e) => setUsernameKontributor(e.target.value)}
/>
<p className="text-xs text-gray-500">
Username dibuat otomatis dari nama, tetapi dapat diubah.
</p>
<Input <Input
type="email" type="email"
required required
@ -594,13 +619,13 @@ export default function SignUp() {
onChange={(e) => setWhatsappKontributor(e.target.value)} onChange={(e) => setWhatsappKontributor(e.target.value)}
/> />
<Input {/* <Input
type="text" type="text"
required required
placeholder="Nama Perusahaan" placeholder="Nama Perusahaan"
value={namaPerusahaan} value={namaPerusahaan}
onChange={(e) => setNamaPerusahaan(e.target.value)} onChange={(e) => setNamaPerusahaan(e.target.value)}
/> /> */}
<select <select
required required
@ -907,7 +932,7 @@ export default function SignUp() {
{/* Link Login */} {/* Link Login */}
<p className="text-center text-sm mt-4"> <p className="text-center text-sm mt-4">
Sudah punya akun?{" "} Sudah punya akun?{" "}
<a href="/login" className="text-[#007AFF] hover:underline"> <a href="/auth" className="text-[#007AFF] hover:underline">
Login Login
</a> </a>
</p> </p>

View File

@ -2977,23 +2977,23 @@ export const ModuleIcon = ({ size = 24, width, height, ...props }: IconSvgProps)
</svg> </svg>
); );
export const EditIcon = ({ size = 24, width, height, ...props }: IconSvgProps) => ( // export const EditIcon = ({ size = 24, width, height, ...props }: IconSvgProps) => (
<svg // <svg
xmlns="http://www.w3.org/2000/svg" // xmlns="http://www.w3.org/2000/svg"
width={size || width} // width={size || width}
height={size || height} // height={size || height}
{...props} // {...props}
viewBox="0 0 24 24" // viewBox="0 0 24 24"
fill="none" // fill="none"
stroke="currentColor" // stroke="currentColor"
strokeWidth="2" // strokeWidth="2"
strokeLinecap="round" // strokeLinecap="round"
strokeLinejoin="round" // strokeLinejoin="round"
> // >
<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" /> // <path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" />
<path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" /> // <path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" />
</svg> // </svg>
); // );
export const WorkflowIcon = ({ size = 24, width, height, ...props }: IconSvgProps) => ( export const WorkflowIcon = ({ size = 24, width, height, ...props }: IconSvgProps) => (
<svg <svg

View File

@ -175,12 +175,12 @@ export default function Navbar() {
{!isLoggedIn ? ( {!isLoggedIn ? (
<> <>
<Link href="/auth/register"> <Link href="/auth/register">
<Button className="bg-transparent border text-black hover:bg-red-600 hover:text-white"> <Button className="bg-transparent border text-black hover:bg-red-600 hover:text-white cursor-pointer">
{t("register")}{" "} {t("register")}{" "}
</Button> </Button>
</Link> </Link>
<Link href="/auth"> <Link href="/auth">
<Button className="bg-red-700 text-white">{t("login")}</Button> <Button className="bg-red-700 text-white cursor-pointer hover:bg-white hover:text-red-700">{t("login")}</Button>
</Link> </Link>
</> </>
) : ( ) : (

16
vendor/ckeditor5/node_modules/.bin/tsc generated vendored Normal file
View File

@ -0,0 +1,16 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir=`cygpath -w "$basedir"`
fi
;;
esac
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
else
exec node "$basedir/../typescript/bin/tsc" "$@"
fi

17
vendor/ckeditor5/node_modules/.bin/tsc.cmd generated vendored Normal file
View File

@ -0,0 +1,17 @@
@ECHO off
GOTO start
:find_dp0
SET dp0=%~dp0
EXIT /b
:start
SETLOCAL
CALL :find_dp0
IF EXIST "%dp0%\node.exe" (
SET "_prog=%dp0%\node.exe"
) ELSE (
SET "_prog=node"
SET PATHEXT=%PATHEXT:;.JS;=;%
)
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsc" %*

28
vendor/ckeditor5/node_modules/.bin/tsc.ps1 generated vendored Normal file
View File

@ -0,0 +1,28 @@
#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
}
$ret=0
if (Test-Path "$basedir/node$exe") {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
} else {
& "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & "node$exe" "$basedir/../typescript/bin/tsc" $args
} else {
& "node$exe" "$basedir/../typescript/bin/tsc" $args
}
$ret=$LASTEXITCODE
}
exit $ret

16
vendor/ckeditor5/node_modules/.bin/tsserver generated vendored Normal file
View File

@ -0,0 +1,16 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir=`cygpath -w "$basedir"`
fi
;;
esac
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
else
exec node "$basedir/../typescript/bin/tsserver" "$@"
fi

17
vendor/ckeditor5/node_modules/.bin/tsserver.cmd generated vendored Normal file
View File

@ -0,0 +1,17 @@
@ECHO off
GOTO start
:find_dp0
SET dp0=%~dp0
EXIT /b
:start
SETLOCAL
CALL :find_dp0
IF EXIST "%dp0%\node.exe" (
SET "_prog=%dp0%\node.exe"
) ELSE (
SET "_prog=node"
SET PATHEXT=%PATHEXT:;.JS;=;%
)
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsserver" %*

28
vendor/ckeditor5/node_modules/.bin/tsserver.ps1 generated vendored Normal file
View File

@ -0,0 +1,28 @@
#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
}
$ret=0
if (Test-Path "$basedir/node$exe") {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args
} else {
& "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & "node$exe" "$basedir/../typescript/bin/tsserver" $args
} else {
& "node$exe" "$basedir/../typescript/bin/tsserver" $args
}
$ret=$LASTEXITCODE
}
exit $ret

View File

@ -1,2 +0,0 @@
#!/usr/bin/env node
require('../lib/tsc.js')

View File

@ -1,2 +0,0 @@
#!/usr/bin/env node
require('../lib/tsserver.js')

File diff suppressed because it is too large Load Diff

View File

@ -1,424 +0,0 @@
Changelog
=========
All changes in the package are documented in the main repository. See: https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md.
Changes for the past releases are available below.
## [19.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v18.0.0...v19.0.0) (April 29, 2020)
### Bug fixes
* The outline of the selected widget should be visible when the editor is read-only. Closes [ckeditor/ckeditor5#6415](https://github.com/ckeditor/ckeditor5/issues/6415). ([bb03e9a](https://github.com/ckeditor/ckeditor5-theme-lark/commit/bb03e9a))
### Other changes
* Added a missing file for the `FormHeaderView` styles and removed duplicated styles for `SpecialCharactersNavigation` inherited from the `FormHeaderView` component. Closes [ckeditor/ckeditor5#6586](https://github.com/ckeditor/ckeditor5/issues/6586). ([06f6ca5](https://github.com/ckeditor/ckeditor5-theme-lark/commit/06f6ca5))
* Align code to the changes in ckeditor5-ui API. See [ckeditor/ckeditor5#6110](https://github.com/ckeditor/ckeditor5/issues/6110). ([7df8dec](https://github.com/ckeditor/ckeditor5-theme-lark/commit/7df8dec))
* Changed styles of SpecialCharacters and Dropdown to match FormHeaderView component styles. See [ckeditor/ckeditor5#6109](https://github.com/ckeditor/ckeditor5/issues/6109). ([ceeb767](https://github.com/ckeditor/ckeditor5-theme-lark/commit/ceeb767))
* Introduced the table cell overlay to improve the rendering of multiplecell selections and bring compatibility with styled table cells. Closes [ckeditor/ckeditor5#6446](https://github.com/ckeditor/ckeditor5/issues/6446). ([6a1c7b9](https://github.com/ckeditor/ckeditor5-theme-lark/commit/6a1c7b9))
* The selection inside the `InlineEditableUIView` should be gray when the editor is blurred. Closes [ckeditor/ckeditor5#6517](https://github.com/ckeditor/ckeditor5/issues/6517). ([8ad92eb](https://github.com/ckeditor/ckeditor5-theme-lark/commit/8ad92eb))
## [18.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v17.0.0...v18.0.0) (March 19, 2020)
### Features
* Brought styles for the new [`BalloonPanelView.defaultPositions`](https://ckeditor.com/docs/ckeditor5/latest/api/module_ui_panel_balloon_balloonpanelview-BalloonPanelView.html#static-member-defaultPositions). Adjusted toolbar styles for better items grouping in different scenarios (see [ckeditor/ckeditor5#5597](https://github.com/ckeditor/ckeditor5/issues/5597)). ([0c17040](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0c17040))
* Introduced RTL support to the table and table cell property forms (see [ckeditor/ckeditor5#6107](https://github.com/ckeditor/ckeditor5/issues/6107)). ([931351c](https://github.com/ckeditor/ckeditor5-theme-lark/commit/931351c))
### Bug fixes
* The focused table cell background color should blend with the pre-existing cell background rather than completely override it. Closes [ckeditor/ckeditor5#6229](https://github.com/ckeditor/ckeditor5/issues/6229). ([f5312ed](https://github.com/ckeditor/ckeditor5-theme-lark/commit/f5312ed))
* Pointer inside a restricted editing exception should be set to text for all the children. Closes [ckeditor/ckeditor5#6272](https://github.com/ckeditor/ckeditor5/issues/6272). ([a20d13b](https://github.com/ckeditor/ckeditor5-theme-lark/commit/a20d13b))
## [17.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v16.0.0...v17.0.0) (February 19, 2020)
### MAJOR BREAKING CHANGES
* Changed the class denoting the restricted editing exception spans from `ck-restricted-editing-exception` to `restricted-editing-exception`.
### Features
* Added styles for rich error messages in the table and table cell properties forms (see [ckeditor/ckeditor5#6131](https://github.com/ckeditor/ckeditor5/issues/6131)). ([f859f4b](https://github.com/ckeditor/ckeditor5-theme-lark/commit/f859f4b))
* Added styles for the color input (see ckeditor/ckeditor5/issues/6106). ([e64013f](https://github.com/ckeditor/ckeditor5-theme-lark/commit/e64013f))
* Added styles for the LabeledView (see [ckeditor/ckeditor5-table#227](https://github.com/ckeditor/ckeditor5-table/issues/227)). ([4e36147](https://github.com/ckeditor/ckeditor5-theme-lark/commit/4e36147))
* Added styles of new fields in the table cell properties view. Code refactoring (see [ckeditor/ckeditor5#6189](https://github.com/ckeditor/ckeditor5/issues/6189)). ([c2bf945](https://github.com/ckeditor/ckeditor5-theme-lark/commit/c2bf945))
* Added the special character info view styles (see [ckeditor/ckeditor5#5817](https://github.com/ckeditor/ckeditor5/issues/5817)). ([86079fd](https://github.com/ckeditor/ckeditor5-theme-lark/commit/86079fd))
* Brought styles for various UI views: the compact toolbar, table form, table form row and header, table cell properties form, and table properties form (see ckeditor/ckeditor5/issues/6112). ([339aec1](https://github.com/ckeditor/ckeditor5-theme-lark/commit/339aec1))
### Bug fixes
* Removed the `ck-` prefix from the restricted editing CSS classes used in the editor content. Closes [ckeditor/ckeditor5#5899](https://github.com/ckeditor/ckeditor5/issues/5899). ([599f16e](https://github.com/ckeditor/ckeditor5-theme-lark/commit/599f16e))
### Other changes
* Add hover state for all restricted editing exceptions and fix the width of a collapsed exception in restricted editing. Closes [ckeditor/ckeditor5#5829](https://github.com/ckeditor/ckeditor5/issues/5829). ([08d6613](https://github.com/ckeditor/ckeditor5-theme-lark/commit/08d6613))
* Set default cursor in restricted editing mode while restricted editing exceptions still have text cursor when you hover over them. Closes [ckeditor/ckeditor5#5992](https://github.com/ckeditor/ckeditor5/issues/5992). ([2602ab4](https://github.com/ckeditor/ckeditor5-theme-lark/commit/2602ab4))
## [16.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v15.0.0...v16.0.0) (December 4, 2019)
### MAJOR BREAKING CHANGES
* The `--ck-color-focus-shadow` custom property is now `--ck-color-focus-outer-shadow`.
### Features
* Added styles for the code block feature UI (see [ckeditor/ckeditor5#436](https://github.com/ckeditor/ckeditor5/issues/436)). ([dcce0f1](https://github.com/ckeditor/ckeditor5-theme-lark/commit/dcce0f1))
* Implemented styles for `.ck-button` with a keystroke preview (see [ckeditor/ckeditor5#5782](https://github.com/ckeditor/ckeditor5/issues/5782)). ([8427306](https://github.com/ckeditor/ckeditor5-theme-lark/commit/8427306))
### Bug fixes
* Enabled additional box shadow on `.ck-button` to meet WCAG AA recommendations. Adjusted the color of the `--ck-color-focus-border` for the same reason (editable elements, widget selection, etc.). Closes [ckeditor/ckeditor5#5580](https://github.com/ckeditor/ckeditor5/issues/5580). ([0fe1500](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0fe1500))
Also:
* Optimized the color of a grid component for WCAG AA.
* Imported insert table UI styles from ckeditor5-table (code refactoring).
* Improved the table UI contrast and accessibility.
## [15.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v14.2.0...v15.0.0) (October 23, 2019)
### Bug fixes
* To-do list styles should meet WCAG contrast standards and work with other editor features (like font size). Closes [ckeditor/ckeditor5-list#146](https://github.com/ckeditor/ckeditor5-list/issues/146). Closes [ckeditor/ckeditor5-list#136](https://github.com/ckeditor/ckeditor5-list/issues/136). ([0d4a5e2](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0d4a5e2))
Also moved some to-do list styles from `@ckeditor/ckeditor5-list` (code refactoring).
### Other changes
* Adjusted toolbar styles to allow automatic items grouping (see [ckeditor/ckeditor5#416](https://github.com/ckeditor/ckeditor5/issues/416)). ([e73b50d](https://github.com/ckeditor/ckeditor5-theme-lark/commit/e73b50d))
## [14.2.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v14.1.1...v14.2.0) (August 26, 2019)
### Features
* Brought support for righttoleft (RTL) UI to various components' styles. See [ckeditor/ckeditor5#1151](https://github.com/ckeditor/ckeditor5/issues/1151). ([70aa1a5](https://github.com/ckeditor/ckeditor5-theme-lark/commit/70aa1a5))
### Other changes
* The issue tracker for this package was moved to https://github.com/ckeditor/ckeditor5/issues. See [ckeditor/ckeditor5#1988](https://github.com/ckeditor/ckeditor5/issues/1988). ([59e4777](https://github.com/ckeditor/ckeditor5-theme-lark/commit/59e4777))
* The `.ck-progress-bar` styles should not be under with `.ck-content`. Additionally removed two unused custom properties: `--ck-color-upload-infinite-background` and `--ck-image-upload-progress-line-width`. Closes https://github.com/ckeditor/ckeditor5-theme-lark/issues/239. Closes https://github.com/ckeditor/ckeditor5/issues/1915. ([cb92793](https://github.com/ckeditor/ckeditor5-theme-lark/commit/cb92793))
## [14.1.1](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v14.1.0...v14.1.1) (July 10, 2019)
Internal changes only (updated dependencies, documentation, etc.).
## [14.1.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v14.0.0...v14.1.0) (July 4, 2019)
### Features
* Introduced styles for the decorators UI of the `LinkFormView` component (see [ckeditor/ckeditor5-link#186](https://github.com/ckeditor/ckeditor5-link/issues/186)). ([b28d360](https://github.com/ckeditor/ckeditor5-theme-lark/commit/b28d360))
### Bug fixes
* Background of split button will not be highlighted on hover in read-only mode. Closes [ckeditor/ckeditor5#943](https://github.com/ckeditor/ckeditor5/issues/943). ([0579997](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0579997))
* Tooltips should not render blurry in LoDPI environments. Closes [ckeditor/ckeditor5#1802](https://github.com/ckeditor/ckeditor5/issues/1802). ([53d7ca3](https://github.com/ckeditor/ckeditor5-theme-lark/commit/53d7ca3))
## [14.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v13.0.1...v14.0.0) (June 6, 2019)
### Features
* Introduced rotatable panels styles for `ContextualBalloon`. ([d3e4266](https://github.com/ckeditor/ckeditor5-theme-lark/commit/d3e4266))
### Bug fixes
* Vertical toolbar items should have no border-radius. Closes [#168](https://github.com/ckeditor/ckeditor5-theme-lark/issues/168). ([ea93616](https://github.com/ckeditor/ckeditor5-theme-lark/commit/ea93616))
### Other changes
* Introduced styles for `ck-fake-panel`. Part of [ckeditor/ckeditor5-ui#501](https://github.com/ckeditor/ckeditor5-ui/issues/501). ([c2736b1](https://github.com/ckeditor/ckeditor5-theme-lark/commit/c2736b1))
* Moved `_rwd.css` mixin to `@ckeditor/ckeditor5-ui`. See [ckeditor/ckeditor5#1662](https://github.com/ckeditor/ckeditor5/issues/1662). ([325d64e](https://github.com/ckeditor/ckeditor5-theme-lark/commit/325d64e))
### BREAKING CHANGES
* The `_rwd.css` mixin was moved to `@ckeditor/ckeditor5-ui`.
## [13.0.1](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v13.0.0...v13.0.1) (April 4, 2019)
Internal changes only (updated dependencies, documentation, etc.).
## [13.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v12.0.0...v13.0.0) (February 28, 2019)
### Features
* Introduced a custom CSS property for an "active" `box-shadow`, a more visible shadow to put emphasis on the active element in some UI context. ([c5917bf](https://github.com/ckeditor/ckeditor5-theme-lark/commit/c5917bf))
### Bug fixes
* The background color of a hovered list item should have a proper contrast. Closes [#219](https://github.com/ckeditor/ckeditor5-theme-lark/issues/219). ([b6486c1](https://github.com/ckeditor/ckeditor5-theme-lark/commit/b6486c1))
* The placeholder text should have more contrast to meet the WCAG AA standard. Closes [#213](https://github.com/ckeditor/ckeditor5-theme-lark/issues/213). ([cff6cad](https://github.com/ckeditor/ckeditor5-theme-lark/commit/cff6cad))
* The table selection handler should not be cropped when a table is a first-child of a blockquote or a root editable. Closes [ckeditor/ckeditor5-block-quote#28](https://github.com/ckeditor/ckeditor5-block-quote/issues/28). ([5110584](https://github.com/ckeditor/ckeditor5-theme-lark/commit/5110584))
### BREAKING CHANGES
* Upgraded minimal versions of Node to `8.0.0` and npm to `5.7.1`. See: [ckeditor/ckeditor5#1507](https://github.com/ckeditor/ckeditor5/issues/1507). ([612ea3c](https://github.com/ckeditor/ckeditor5-cloud-services/commit/612ea3c))
## [12.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v11.1.0...v12.0.0) (December 5, 2018)
### Features
* Implemented the `.ck-labeled-input__status` for labeled input's tips and errors. Replaced the `.ck-labeled-input__error` class with `.ck-labeled-input__status_error`. Fixed breaking layout when the status is longer than the labeled input (see [ckeditor/ckeditor5-media-embed#35](https://github.com/ckeditor/ckeditor5-media-embed/issues/35)). ([26215d5](https://github.com/ckeditor/ckeditor5-theme-lark/commit/26215d5))
* Introduced the `ck-media-phone` RWD mixin that outputs a `@media` query. Improved responsiveness of media embed, link, and image form views in narrow viewports (see [ckeditor/ckeditor5#416](https://github.com/ckeditor/ckeditor5/issues/416)). ([305a745](https://github.com/ckeditor/ckeditor5-theme-lark/commit/305a745))
### Bug fixes
* Improved visibility of selected link inside table cells. Closes [ckeditor/ckeditor5-link#204](https://github.com/ckeditor/ckeditor5-link/issues/204). ([3a89e1a](https://github.com/ckeditor/ckeditor5-theme-lark/commit/3a89e1a))
* Only override the `fill` for icons that do not declare one. Closes [#206](https://github.com/ckeditor/ckeditor5-theme-lark/issues/206). ([6c690a9](https://github.com/ckeditor/ckeditor5-theme-lark/commit/6c690a9))
Thanks to [@michaeldjeffrey](https://github.com/michaeldjeffrey)!
* The visual effects should be disabled on a widget when the editor is in the read-only mode. Closes https://github.com/ckeditor/ckeditor5/issues/1261. ([41d7d1e](https://github.com/ckeditor/ckeditor5-theme-lark/commit/41d7d1e))
### Other changes
* Moved widget spacing styles to respective content styles in packages. Closes [#209](https://github.com/ckeditor/ckeditor5-theme-lark/issues/209). ([2418242](https://github.com/ckeditor/ckeditor5-theme-lark/commit/2418242))
### BREAKING CHANGES
* The `.ck-labeled-input__error` class has been replaced with `.ck-labeled-input__status_error`.
## [11.1.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v11.0.0...v11.1.0) (October 8, 2018)
### Features
* Added styles for error messages in the labeled inputs. See [ckeditor/ckeditor5-media-embed#1](https://github.com/ckeditor/ckeditor5-media-embed/issues/1). ([1b3ae62](https://github.com/ckeditor/ckeditor5-theme-lark/commit/1b3ae62))
### Bug fixes
* Buttons should override the `-webkit-appearance` property to work in the Bootstrap 4 environment. Closes [#189](https://github.com/ckeditor/ckeditor5-theme-lark/issues/189). ([a65dfbd](https://github.com/ckeditor/ckeditor5-theme-lark/commit/a65dfbd))
* Removed the initial transform property of the text input with an error to allow the shake animation in Safari. Closes [ckeditor/ckeditor5-ui#443](https://github.com/ckeditor/ckeditor5-ui/issues/443). ([01491bc](https://github.com/ckeditor/ckeditor5-theme-lark/commit/01491bc))
### Other changes
* Added a subtle shake animation to the .ck-input-text when it gets an error. Closes [#198](https://github.com/ckeditor/ckeditor5-theme-lark/issues/198). ([f84102b](https://github.com/ckeditor/ckeditor5-theme-lark/commit/f84102b))
## [11.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v10.1.0...v11.0.0) (July 18, 2018)
### Features
* Added theme styles for the switch button (see [ckeditor/ckeditor5-ui#402](https://github.com/ckeditor/ckeditor5-ui/issues/402)). ([90ab35e](https://github.com/ckeditor/ckeditor5-theme-lark/commit/90ab35e))
Also:
* Defined styles of the `.ck-button` in `.ck-list`,
* Simplified the `.ck-list` styles as `.ck-list__item` became just a container,
* Aligned several components' styles to the new architecture of the lists and buttons (including `flex`),
* Extended the theme manual test with various use-cases of switch buttons and buttons in the list (dropdown).
* Implemented a CSSstyled image upload loader (see [ckeditor/ckeditor5-image#207](https://github.com/ckeditor/ckeditor5-image/issues/207)). ([594cf12](https://github.com/ckeditor/ckeditor5-theme-lark/commit/594cf12))
* Implemented styles for the widget selection handle (see [ckeditor/ckeditor5-widget#40](https://github.com/ckeditor/ckeditor5-widget/issues/40)). ([0703b2b](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0703b2b))
Also fixed a regression after [ckeditor/ckeditor5#936](https://github.com/ckeditor/ckeditor5/issues/936) which made the widget use wrong outline styles when the editable is blurred. Minor code refactoring in the widget styles.
### Bug fixes
* Added missing `box-sizing` to the successful upload icon. Closes [ckeditor/ckeditor5#1095](https://github.com/ckeditor/ckeditor5/issues/1095). ([72f0bbc](https://github.com/ckeditor/ckeditor5-theme-lark/commit/72f0bbc))
* The `DropdownPanelView` should scroll when the content is long. Added a CSS custom property to control the height of the panel. Closes [ckeditor/ckeditor5#952](https://github.com/ckeditor/ckeditor5/issues/952). ([9804952](https://github.com/ckeditor/ckeditor5-theme-lark/commit/9804952))
* The switch button should be animated properly in Edge. Closes [ckeditor/ckeditor5-ui#433](https://github.com/ckeditor/ckeditor5-ui/issues/433). ([1c0ec96](https://github.com/ckeditor/ckeditor5-theme-lark/commit/1c0ec96))
* The table cell selection highlight is broken around merged cells. Closes [ckeditor/ckeditor5-table#69](https://github.com/ckeditor/ckeditor5-table/issues/69). Closes [ckeditor/ckeditor5-table#29](https://github.com/ckeditor/ckeditor5-table/issues/29). ([084e9bb](https://github.com/ckeditor/ckeditor5-theme-lark/commit/084e9bb))
* The toggle switch button animation should be a tad faster. Closes [#183](https://github.com/ckeditor/ckeditor5-theme-lark/issues/183). ([1e9773c](https://github.com/ckeditor/ckeditor5-theme-lark/commit/1e9773c))
### Other changes
* Used a solid box-shadow to indicate the :focus state of the .ck-button (also .ck-input). Obsoleted the background color change on .ck-button:focus to avoid situations when a focused button looks like an active one (see [ckeditor/ckeditor5-ui#394](https://github.com/ckeditor/ckeditor5-ui/issues/394)). ([ad5770c](https://github.com/ckeditor/ckeditor5-theme-lark/commit/ad5770c))
### BREAKING CHANGES
* Various color variables --ck-color-button-...-focus have been renamed to --ck-color-button-...-hover.
* Several `--ck-color-widget-*` custom properties have been renamed to match the project's naming standards.
## [10.1.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v10.0.0...v10.1.0) (June 21, 2018)
### Features
* Added styles for the "upload completed" icon (see https://github.com/ckeditor/ckeditor5-image/issues/204). ([dda5282](https://github.com/ckeditor/ckeditor5-theme-lark/commit/dda5282))
* Added the `BlockToolbar` plugin styles (see [ckeditor/ckeditor5-ui#391](https://github.com/ckeditor/ckeditor5-ui/issues/391)). ([6ac7511](https://github.com/ckeditor/ckeditor5-theme-lark/commit/6ac7511))
* Implemented list separator styles (see [ckeditor/ckeditor5-table#24](https://github.com/ckeditor/ckeditor5-table/issues/24)). ([e0d1897](https://github.com/ckeditor/ckeditor5-theme-lark/commit/e0d1897))
### Bug fixes
* The arrow of the balloon holding a toolbar should have the same background color as the toolbar. Closes [#178](https://github.com/ckeditor/ckeditor5-theme-lark/issues/178). ([d3c408c](https://github.com/ckeditor/ckeditor5-theme-lark/commit/d3c408c))
* The link balloon should not resize when navigating between editing steps. Closes [#165](https://github.com/ckeditor/ckeditor5-theme-lark/issues/165). ([832d093](https://github.com/ckeditor/ckeditor5-theme-lark/commit/832d093))
### Other changes
* Introduced disabled styles of a list item (see [ckeditor/ckeditor5-ui#389](https://github.com/ckeditor/ckeditor5-ui/issues/389)). ([b4a069c](https://github.com/ckeditor/ckeditor5-theme-lark/commit/b4a069c))
## [10.0.0](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v1.0.0-beta.4...v10.0.0) (April 25, 2018)
### Other changes
* Changed the license to GPL2+ only. See [ckeditor/ckeditor5#991](https://github.com/ckeditor/ckeditor5/issues/991). ([a1adb9a](https://github.com/ckeditor/ckeditor5-theme-lark/commit/a1adb9a))
### BREAKING CHANGES
* The license under which CKEditor&nbsp;5 is released has been changed from a triple GPL, LGPL and MPL license to a GPL2+ only. See [ckeditor/ckeditor5#991](https://github.com/ckeditor/ckeditor5/issues/991) for more information.
## [1.0.0-beta.4](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v1.0.0-beta.2...v1.0.0-beta.4) (April 19, 2018)
Internal changes only (updated dependencies, documentation, etc.).
## [1.0.0-beta.2](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v1.0.0-beta.1...v1.0.0-beta.2) (April 10, 2018)
### Features
* Implemented `.ck-button_save` and `_cancel` classes with distinctive colors (see [ckeditor/ckeditor5-image#187](https://github.com/ckeditor/ckeditor5-image/issues/187)). ([531aec2](https://github.com/ckeditor/ckeditor5-theme-lark/commit/531aec2))
* Made the link form buttons thicker with a fill color and no background (see [ckeditor/ckeditor5#810](https://github.com/ckeditor/ckeditor5/issues/810)). ([dcf8599](https://github.com/ckeditor/ckeditor5-theme-lark/commit/dcf8599))
### Bug fixes
* ck-rounded-corners not respected because selection wrapped in .ck-editor (the mixin uses [@nest](https://github.com/nest)). ([abdc61e](https://github.com/ckeditor/ckeditor5-theme-lark/commit/abdc61e))
* The `:active` buttons should have no `outline`. Closes [#157](https://github.com/ckeditor/ckeditor5-theme-lark/issues/157). ([71825b7](https://github.com/ckeditor/ckeditor5-theme-lark/commit/71825b7))
### Other changes
* Increased the specificity of CSS rules. Introduced the `.ck` class for editor UI components (see: [ckeditor/ckeditor5#494](https://github.com/ckeditor/ckeditor5/issues/494)). ([0cd9f6d](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0cd9f6d))
* Updated the classic editor and the editorui styles to the latest nested editable CSS class naming convention (see [ckeditor/ckeditor5#578](https://github.com/ckeditor/ckeditor5/issues/578)). ([508db7c](https://github.com/ckeditor/ckeditor5-theme-lark/commit/508db7c))
## [1.0.0-beta.1](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v1.0.0-alpha.2...v1.0.0-beta.1) (March 15, 2018)
### Features
* Added styles for a selected link element (see [ckeditor/ckeditor5-link#72](https://github.com/ckeditor/ckeditor5-link/issues/72)). ([aa27d55](https://github.com/ckeditor/ckeditor5-theme-lark/commit/aa27d55))
* Implemented styles for the ButtonDropdown (see: [ckeditor/ckeditor5-ui#333](https://github.com/ckeditor/ckeditor5-ui/issues/333)). Fixed spacing issues with toolbar items wrapped to the new line. Closes [ckeditor/ckeditor5#682](https://github.com/ckeditor/ckeditor5/issues/682). ([ef4d421](https://github.com/ckeditor/ckeditor5-theme-lark/commit/ef4d421))
Also:
* Various improvements to visual styles of the dropdowns.
* Migrated toolbar to CSS `flex`.
* Allowed vertical toolbars.
* Redesigned the theme (see [ckeditor/ckeditor5#645](https://github.com/ckeditor/ckeditor5/issues/645)). Closes [#120](https://github.com/ckeditor/ckeditor5-theme-lark/issues/120). Closes [ckeditor/ckeditor5#732](https://github.com/ckeditor/ckeditor5/issues/732). ([0fc18a4](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0fc18a4))
### Bug fixes
* A lone paragraph should be vertically centered in the editor. Closes [ckeditor/ckeditor5#847](https://github.com/ckeditor/ckeditor5/issues/847). ([d09dfab](https://github.com/ckeditor/ckeditor5-theme-lark/commit/d09dfab))
* Classic editor's editable should have a background. Closes [#113](https://github.com/ckeditor/ckeditor5-theme-lark/issues/113). ([1ea8c9d](https://github.com/ckeditor/ckeditor5-theme-lark/commit/1ea8c9d))
* First child of editable should always have a top margin to make sure the content is separated. Closes [#116](https://github.com/ckeditor/ckeditor5-theme-lark/issues/116). Closes [ckeditor/ckeditor5-ui#351](https://github.com/ckeditor/ckeditor5-ui/issues/351). ([d717139](https://github.com/ckeditor/ckeditor5-theme-lark/commit/d717139))
* Split button's arrow button should get a proper styling when the button is on. Closes [#131](https://github.com/ckeditor/ckeditor5-theme-lark/issues/131). ([5edae52](https://github.com/ckeditor/ckeditor5-theme-lark/commit/5edae52))
* The file dialog button should have the same background as other toolbar buttons. Closes [ckeditor/ckeditor5#850](https://github.com/ckeditor/ckeditor5/issues/850). ([c9ae59c](https://github.com/ckeditor/ckeditor5-theme-lark/commit/c9ae59c))
* The input focus outline should not stand out too much. Closes [ckeditor/ckeditor5#815](https://github.com/ckeditor/ckeditor5/issues/815). ([0ec33f6](https://github.com/ckeditor/ckeditor5-theme-lark/commit/0ec33f6))
### Other changes
* Adjusted the `border-radius` of the various UI components (dropdown, dropdown panel, list dropdown, and split button) for a better look when placed next to one another. Closes [ckeditor/ckeditor5#816](https://github.com/ckeditor/ckeditor5/issues/816). ([d81568d](https://github.com/ckeditor/ckeditor5-theme-lark/commit/d81568d))
* All colors in the styles should be in the HSLA format. Closes [#124](https://github.com/ckeditor/ckeditor5-theme-lark/issues/124). ([33c7e0d](https://github.com/ckeditor/ckeditor5-theme-lark/commit/33c7e0d))
* Enlarged background in `.ck-link_selected`. Closes [#155](https://github.com/ckeditor/ckeditor5-theme-lark/issues/155). ([a7f1925](https://github.com/ckeditor/ckeditor5-theme-lark/commit/a7f1925))
* Fixed the coloring issue with the multi-color icons. Additionally, moved the visual `.ck-icon` styles from `ckeditor5-ui`. Closes [#148](https://github.com/ckeditor/ckeditor5-theme-lark/issues/148). ([fbe7e7d](https://github.com/ckeditor/ckeditor5-theme-lark/commit/fbe7e7d))
* Improved the visual styles of the split button when hovered or open. Closes [[#134](https://github.com/ckeditor/ckeditor5-theme-lark/issues/134)](https://github.com/ckeditor/ckeditor5-theme-lark/issues/134). ([6db332e](https://github.com/ckeditor/ckeditor5-theme-lark/commit/6db332e))
* Increased the spacing in the toolbar by making the buttons bigger. Unified rendering of several components. Closes [ckeditor/ckeditor5#820](https://github.com/ckeditor/ckeditor5/issues/820). ([f223d6a](https://github.com/ckeditor/ckeditor5-theme-lark/commit/f223d6a))
* Manual tests should be aligned to the newest dropdown API ([ckeditor/ckeditor5-ui#356](https://github.com/ckeditor/ckeditor5-ui/issues/356)). Minor refactoring in the dropdown ecosystem. Closes [#129](https://github.com/ckeditor/ckeditor5-theme-lark/issues/129). ([553288a](https://github.com/ckeditor/ckeditor5-theme-lark/commit/553288a))
* Migrated the theme from SASS to PostCSS (see [ckeditor/ckeditor5-ui#144](https://github.com/ckeditor/ckeditor5-ui/issues/144)). ([efc6004](https://github.com/ckeditor/ckeditor5-theme-lark/commit/efc6004))
* Moved ck-button-icon mixin to ckeditor5-ui. ([f086062](https://github.com/ckeditor/ckeditor5-theme-lark/commit/f086062))
* Reduced the contrast of the shadow under various floating elements. Closes [ckeditor/ckeditor5#818](https://github.com/ckeditor/ckeditor5/issues/818). ([cf658d5](https://github.com/ckeditor/ckeditor5-theme-lark/commit/cf658d5))
* Removed the "generic" layer of the theme to simplify it and improve the maintainability. Closes [#135](https://github.com/ckeditor/ckeditor5-theme-lark/issues/135). ([18809f6](https://github.com/ckeditor/ckeditor5-theme-lark/commit/18809f6))
* Style `ck-button_with-text` instead of styling every dropdown button in toolbar. Closes [#122](https://github.com/ckeditor/ckeditor5-theme-lark/issues/122). ([93338a5](https://github.com/ckeditor/ckeditor5-theme-lark/commit/93338a5))
### BREAKING CHANGES
* The `.ck-editor-toolbar` CSS class has been removed.
* Various CSS variables (mostly colors) have been removed. Please make sure your code uses the latest theme API.
* From now on there is only one subset of the theme, aligned to the default look of CKEditor&nbsp;5.
* Various UI components' styles have been rewritten. The CSS selectors that used to style them may have a different specificity and appear in a different order.
* The styles are no longer developed in SASS which means various `.scss` files (including variables, mixins, etc.) became unavailable. Please refer to the [Theme Customization](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/ui/theme-customization.html) guide to learn more about migration to PostCSS.
## [1.0.0-alpha.2](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (November 14, 2017)
### Other changes
* Updated `.ck-sticky-panel` styles to the new component's structure. ([c8afd35](https://github.com/ckeditor/ckeditor5-theme-lark/commit/c8afd35))
## [1.0.0-alpha.1](https://github.com/ckeditor/ckeditor5-theme-lark/compare/v0.9.0...v1.0.0-alpha.1) (October 3, 2017)
### Bug fixes
* Contextual toolbar container's arrow should have the same color as the toolbar. Closes [#111](https://github.com/ckeditor/ckeditor5-theme-lark/issues/111). ([e0ff0e9](https://github.com/ckeditor/ckeditor5-theme-lark/commit/e0ff0e9))
### Features
* The `StickyToolbar` component has become `StickyPanel` (see [ckeditor/ckeditor5-ui#297](https://github.com/ckeditor/ckeditor5-ui/issues/297)). ([023a879](https://github.com/ckeditor/ckeditor5-theme-lark/commit/023a879))
### Other changes
* Refactored the theme so it allows for easy customization with SASS variables. Closes [#107](https://github.com/ckeditor/ckeditor5-theme-lark/issues/107). ([03475ea](https://github.com/ckeditor/ckeditor5-theme-lark/commit/03475ea))
### BREAKING CHANGES
* The former `.ck-toolbar_sticky` class styles are available under `.ck-sticky-panel`.
* The theme has been, basically, rewritten. Consider it a new implementation.
## [0.9.0](https://github.com/ckeditor/ckeditor5-theme/compare/v0.8.0...v0.9.0) (September 3, 2017)
### Bug fixes
* Disabled buttons should have a different look. Closes [#98](https://github.com/ckeditor/ckeditor5-theme/issues/98). ([afe111d](https://github.com/ckeditor/ckeditor5-theme/commit/afe111d))
* The `.ck-reset` class should set `word-wrap` to `break-word` to make sure long words do not overflow. Closes [#105](https://github.com/ckeditor/ckeditor5-theme/issues/105). Closes ckeditor/ckeditor5[#462](https://github.com/ckeditor/ckeditor5-theme/issues/462). ([327c188](https://github.com/ckeditor/ckeditor5-theme/commit/327c188))
* Toolbar items should not collapse when the toolbar is floating. Closes [#93](https://github.com/ckeditor/ckeditor5-theme/issues/93). ([b263d5f](https://github.com/ckeditor/ckeditor5-theme/commit/b263d5f))
* Tooltips for disabled buttons should not be dimmed. Closes [#70](https://github.com/ckeditor/ckeditor5-theme/issues/70). ([d36bbe7](https://github.com/ckeditor/ckeditor5-theme/commit/d36bbe7))
### Features
* Added styles for UI components in readonly state. Closes [#100](https://github.com/ckeditor/ckeditor5-theme/issues/100). ([ddf3102](https://github.com/ckeditor/ckeditor5-theme/commit/ddf3102))
### Other changes
* Implemented `.ck-editor-toolbar-container` class to control balloon panels containing editor toolbars. Closes [#89](https://github.com/ckeditor/ckeditor5-theme/issues/89). ([cd7442b](https://github.com/ckeditor/ckeditor5-theme/commit/cd7442b))
* Refactored tooltip styles to allow tooltips which are no longer pseudo-elements. Closes [#103](https://github.com/ckeditor/ckeditor5-theme/issues/103). ([c29246a](https://github.com/ckeditor/ckeditor5-theme/commit/c29246a))
* The `.ck-balloon-panel` arrow styles need an update after recent `BalloonPanelView` refactoring. Closes [#95](https://github.com/ckeditor/ckeditor5-theme/issues/95). ([f95af00](https://github.com/ckeditor/ckeditor5-theme/commit/f95af00))
### BREAKING CHANGES
* The (`.ck-balloon-panel_arrow_nw``.ck-balloon-panel_arrow_ne`) and (`.ck-balloon-panel_arrow_sw``.ck-balloon-panel_arrow_se`) class pairs have been swapped to reflect the actual placement of the arrow with respect to the balloon.
* `.ck-disabled` is no longer available as a standalone class due to differences in the implementation of the disabled state among the UI components. Use a mixin instead `.your-class.ck-disabled { [@include](https://github.com/include) ck-disabled; }` to keep the previous functionality (reduced `opacity`) or provide a custom implementation of the state.
## [0.8.0](https://github.com/ckeditor/ckeditor5-theme/compare/v0.7.0...v0.8.0) (May 7, 2017)
### Other changes
* Removed the `contextualtoolbar.scss` sass file. Converted the `ck-editor-toolbar` mixin into a class. Closes [#75](https://github.com/ckeditor/ckeditor5-theme/issues/75). ([9e75920](https://github.com/ckeditor/ckeditor5-theme/commit/9e75920))
BREAKING CHANGE: The `ck-editor-toolbar` mixin is no longer available. Please use `.ck-editor-toolbar` class instead.
BREAKING CHANGE: The `ck-toolbar__container` class has been renamed, use `.ck-toolbar-container` instead.
* Updated class names after the refactoring in BalloonPanelView class. Closes [#84](https://github.com/ckeditor/ckeditor5-theme/issues/84). ([bdb2fa6](https://github.com/ckeditor/ckeditor5-theme/commit/bdb2fa6))
### BREAKING CHANGES
* The `ck-editor-toolbar` mixin is no longer available. Please use `.ck-editor-toolbar` class instead.
* The `ck-toolbar__container` class has been renamed, use `.ck-toolbar-container` instead.
## [0.7.0](https://github.com/ckeditor/ckeditor5-theme/compare/v0.6.1...v0.7.0) (April 5, 2017)
### Features
* Added styles for active list items. Closes [#80](https://github.com/ckeditor/ckeditor5-theme/issues/80). ([05d3716](https://github.com/ckeditor/ckeditor5-theme/commit/05d3716))
* Provided styles for `FloatingToolbarView`. Closes [#73](https://github.com/ckeditor/ckeditor5-theme/issues/73). ([2c64d41](https://github.com/ckeditor/ckeditor5-theme/commit/2c64d41))
### Other changes
* Extracted "ck-hidden" CSS class to ckeditor5-ui. Closes [#78](https://github.com/ckeditor/ckeditor5-theme/issues/78). ([82b25fa](https://github.com/ckeditor/ckeditor5-theme/commit/82b25fa))
* Removed tick symbol from active list item, used inverted background and text colors instead. Closes [#82](https://github.com/ckeditor/ckeditor5-theme/issues/82). ([a2eb843](https://github.com/ckeditor/ckeditor5-theme/commit/a2eb843))
## [0.6.1](https://github.com/ckeditor/ckeditor5-theme/compare/v0.6.0...v0.6.1) (March 6, 2017)
### Bug fixes
* Toolbar separator and new line CSS classes should follow our naming guidelines. Closes [#76](https://github.com/ckeditor/ckeditor5/issues/76). ([a3d9276](https://github.com/ckeditor/ckeditor5-theme/commit/a3d9276))

View File

@ -1,89 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
:root {
--ck-clipboard-drop-target-dot-width: 12px;
--ck-clipboard-drop-target-dot-height: 8px;
--ck-clipboard-drop-target-color: var(--ck-color-focus-border);
}
.ck.ck-editor__editable {
/*
* Vertical drop target (in text).
*/
& .ck.ck-clipboard-drop-target-position {
& span {
bottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));
top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));
border: 1px solid var(--ck-clipboard-drop-target-color);
background: var(--ck-clipboard-drop-target-color);
margin-left: -1px;
/* The triangle above the marker */
&::after {
content: '';
width: 0;
height: 0;
display: block;
position: absolute;
left: 50%;
top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));
transform: translateX(-50%);
border-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;
border-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));
border-style: solid;
}
}
}
/*
* Styles of the widget that it a drop target.
*/
& .ck-widget.ck-clipboard-drop-target-range {
outline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;
}
/*
* Styles of the widget being dragged (its preview).
*/
& .ck-widget:-webkit-drag {
zoom: 0.6;
outline: none !important;
}
}
.ck.ck-clipboard-drop-target-line {
height: 0;
border: 1px solid var(--ck-clipboard-drop-target-color);
background: var(--ck-clipboard-drop-target-color);
margin-top: -1px;
&::before {
content: '';
position: absolute;
top: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));
width: 0;
height: 0;
border-style: solid;
@mixin ck-dir ltr {
left: -1px;
border-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);
border-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);
}
@mixin ck-dir rtl {
right: -1px;
border-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;
border-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;
}
}
}

View File

@ -1,28 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-code-block-label-background: hsl(0, 0%, 46%);
}
.ck.ck-editor__editable pre[data-language]::after {
top: -1px;
right: 10px;
background: var(--ck-color-code-block-label-background);
font-size: 10px;
font-family: var(--ck-font-face);
line-height: 16px;
padding: var(--ck-spacing-tiny) var(--ck-spacing-medium);
color: hsl(0, 0%, 100%);
white-space: nowrap;
}
.ck.ck-code-block-dropdown .ck-dropdown__panel {
/* There could be dozens of languages available. Use scroll to prevent a 10e6px dropdown. */
max-height: 250px;
overflow-y: auto;
overflow-x: hidden;
}

View File

@ -1,44 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../mixins/_rounded.css";
.ck.ck-editor__top {
& .ck-sticky-panel {
& .ck-sticky-panel__content {
@mixin ck-rounded-corners {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
border: 1px solid var(--ck-color-base-border);
border-bottom-width: 0;
&.ck-sticky-panel__content_sticky {
border-bottom-width: 1px;
}
& .ck-menu-bar,
& .ck-toolbar {
border: 0;
}
}
}
}
/* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */
.ck.ck-editor__main > .ck-editor__editable {
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */
background: var(--ck-color-base-background);
@mixin ck-rounded-corners {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
&:not(.ck-focused) {
border-color: var(--ck-color-base-border);
}
}

View File

@ -1,194 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
.ck.ck-find-and-replace-form {
width: 400px;
/*
* The <form> needs tabindex="-1" for proper Esc handling after being clicked
* but the side effect is that this creates a nasty focus outline in some browsers.
*/
&:focus {
outline: none;
}
/* Generic styles for the form inputs and actions. */
& .ck-find-and-replace-form__inputs,
& .ck-find-and-replace-form__actions {
flex: 1 1 auto;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
align-content: stretch;
padding: var(--ck-spacing-large);
margin: 0;
& > .ck-button {
flex: 0 0 auto;
}
@mixin ck-dir ltr {
& > * + * {
margin-left: var(--ck-spacing-standard);
}
}
@mixin ck-dir rtl {
& > * + * {
margin-right: var(--ck-spacing-standard);
}
}
& .ck-labeled-field-view {
flex: 1 1 auto;
& .ck-input {
width: 100%;
min-width: 50px;
}
}
}
/* Styles specific for inputs area. */
& .ck-find-and-replace-form__inputs {
/* To display all controls in line when there's an error under the input */
align-items: flex-start;
& > .ck-button-prev > .ck-icon {
transform: rotate(90deg);
}
& > .ck-button-next > .ck-icon {
transform: rotate(-90deg);
}
& .ck-results-counter {
top: 50%;
transform: translateY(-50%);
@mixin ck-dir ltr {
right: var(--ck-spacing-standard);
}
@mixin ck-dir rtl {
left: var(--ck-spacing-standard);
}
color: var(--ck-color-base-border);
}
& > .ck-labeled-field-replace {
flex: 0 0 100%;
padding-top: var(--ck-spacing-standard);
@mixin ck-dir ltr {
margin-left: 0;
}
@mixin ck-dir rtl {
margin-right: 0;
}
}
}
/* Styles specific for actions area. */
& .ck-find-and-replace-form__actions {
flex-wrap: wrap;
justify-content: flex-end;
margin-top: calc( -1 * var(--ck-spacing-large) );
& > .ck-button-find {
font-weight: bold;
/* Beef the find button up a little. It's the main action button in the form */
& .ck-button__label {
padding-left: var(--ck-spacing-large);
padding-right: var(--ck-spacing-large);
}
}
}
& .ck-switchbutton {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
}
}
@mixin ck-media-phone {
.ck.ck-find-and-replace-form {
width: 300px;
/* Don't let the form overflow from the dialog (https://github.com/cksource/ckeditor5-commercial/issues/5913) */
max-width: 100%;
/* Styles specific for inputs area. */
&.ck-find-and-replace-form__input {
flex-wrap: wrap;
& .ck-labeled-field-view {
flex: 1 0 auto;
width: 100%;
margin-bottom: var(--ck-spacing-standard);
}
& > .ck-button {
text-align: center;
&:first-of-type {
flex: 1 1 auto;
@mixin ck-dir ltr {
margin-left: 0;
}
@mixin ck-dir rtl {
margin-right: 0;
}
& .ck-button__label {
width: 100%;
text-align: center;
}
}
}
}
/* Styles specific for actions area. */
&.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) {
flex-wrap: wrap;
flex: 1 1 auto;
& > .ck-button {
text-align: center;
&:first-of-type {
flex: 1 1 auto;
@mixin ck-dir ltr {
margin-left: 0;
}
@mixin ck-dir rtl {
margin-right: 0;
}
}
& .ck-button__label {
width: 100%;
text-align: center;
}
}
}
}
}

View File

@ -1,15 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/* Resize dropdown's button label. */
.ck.ck-dropdown.ck-heading-dropdown {
& .ck-dropdown__button .ck-button__label {
width: 8em;
}
& .ck-dropdown__panel .ck-list__item {
min-width: 18em;
}
}

View File

@ -1,156 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-html-embed-content-width: calc(100% - 1.5 * var(--ck-icon-size));
--ck-html-embed-source-height: 10em;
--ck-html-embed-unfocused-outline-width: 1px;
--ck-html-embed-content-min-height: calc(var(--ck-icon-size) + var(--ck-spacing-standard));
--ck-html-embed-source-disabled-background: var(--ck-color-base-foreground);
--ck-html-embed-source-disabled-color: hsl(0deg 0% 45%);
}
/* The feature container. */
.ck-widget.raw-html-embed {
font-size: var(--ck-font-size-base);
background-color: var(--ck-color-base-foreground);
&:not(.ck-widget_selected):not(:hover) {
outline: var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);
}
/* HTML embed widget itself should respect UI language direction */
&[dir="ltr"] {
text-align: left;
}
&[dir="rtl"] {
text-align: right;
}
/* ----- Embed label in the upper left corner ----------------------------------------------- */
&::before {
content: attr(data-html-embed-label);
top: calc(-1 * var(--ck-html-embed-unfocused-outline-width));
left: var(--ck-spacing-standard);
background: hsl(0deg 0% 60%);
transition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);
padding: calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);
border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);
color: var(--ck-color-base-background);
font-size: var(--ck-font-size-tiny);
font-family: var(--ck-font-face);
}
&[dir="rtl"]::before {
left: auto;
right: var(--ck-spacing-standard);
}
/* Make space for label but it only collides in LTR languages */
&[dir="ltr"] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {
margin-left: 50px;
}
@nest .ck.ck-editor__editable.ck-blurred &.ck-widget_selected::before {
top: 0px;
padding: var(--ck-spacing-tiny) var(--ck-spacing-small);
}
@nest .ck.ck-editor__editable:not(.ck-blurred) &.ck-widget_selected::before {
top: 0;
padding: var(--ck-spacing-tiny) var(--ck-spacing-small);
background: var(--ck-color-focus-border);
}
@nest .ck.ck-editor__editable &:not(.ck-widget_selected):hover::before {
top: 0px;
padding: var(--ck-spacing-tiny) var(--ck-spacing-small);
}
/* ----- Emebed internals --------------------------------------------------------------------- */
& .raw-html-embed__content-wrapper {
padding: var(--ck-spacing-standard);
}
/* The switch mode button wrapper. */
& .raw-html-embed__buttons-wrapper {
top: var(--ck-spacing-standard);
right: var(--ck-spacing-standard);
& .ck-button.raw-html-embed__save-button {
color: var(--ck-color-button-save);
}
& .ck-button.raw-html-embed__cancel-button {
color: var(--ck-color-button-cancel);
}
& .ck-button:not(:first-child) {
margin-top: var(--ck-spacing-small);
}
}
&[dir="rtl"] .raw-html-embed__buttons-wrapper {
left: var(--ck-spacing-standard);
right: auto;
}
/* The edit source element. */
& .raw-html-embed__source {
box-sizing: border-box;
height: var(--ck-html-embed-source-height);
width: var(--ck-html-embed-content-width);
resize: none;
min-width: 0;
padding: var(--ck-spacing-standard);
font-family: monospace;
tab-size: 4;
white-space: pre-wrap;
font-size: var(--ck-font-size-base); /* Safari needs this. */
/* HTML code is directionagnostic. */
text-align: left;
direction: ltr;
&[disabled] {
background: var(--ck-html-embed-source-disabled-background);
color: var(--ck-html-embed-source-disabled-color);
/* Safari needs this for the proper text color in disabled input (https://github.com/ckeditor/ckeditor5/issues/8320). */
-webkit-text-fill-color: var(--ck-html-embed-source-disabled-color);
opacity: 1;
}
}
/* The preview data container. */
& .raw-html-embed__preview {
min-height: var(--ck-html-embed-content-min-height);
width: var(--ck-html-embed-content-width);
/* Disable all mouse interaction as long as the editor is not readonly. */
@nest .ck-editor__editable:not(.ck-read-only) & {
pointer-events: none;
}
}
& .raw-html-embed__preview-content {
box-sizing: border-box;
background-color: var(--ck-color-base-foreground);
& > * {
margin-left: auto;
margin-right: auto;
}
}
& .raw-html-embed__preview-placeholder {
color: var(--ck-html-embed-source-disabled-color)
}
}

View File

@ -1,67 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
:root {
--ck-image-insert-insert-by-url-width: 250px;
}
.ck.ck-image-insert-url {
--ck-input-width: 100%;
& .ck-image-insert-url__action-row {
grid-column-gap: var(--ck-spacing-large);
margin-top: var(--ck-spacing-large);
& .ck-button-save,
& .ck-button-cancel {
justify-content: center;
min-width: auto;
}
& .ck-button .ck-button__label {
color: var(--ck-color-text);
}
}
}
.ck.ck-image-insert-form {
& > .ck.ck-button {
display: block;
width: 100%;
padding: var(--ck-list-button-padding);
@mixin ck-dir ltr {
text-align: left;
}
@mixin ck-dir rtl {
text-align: right;
}
}
& > .ck.ck-collapsible {
&:not(:first-child) {
border-top: 1px solid var(--ck-color-base-border);
}
&:not(:last-child) {
border-bottom: 1px solid var(--ck-color-base-border);
}
min-width: var(--ck-image-insert-insert-by-url-width);
}
/* This is the case when there are no other integrations configured than insert by URL */
& > .ck.ck-image-insert-url {
min-width: var(--ck-image-insert-insert-by-url-width);
padding: var(--ck-spacing-large);
}
&:focus {
outline: none;
}
}

View File

@ -1,97 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-image-upload-icon: hsl(0, 0%, 100%);
--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);
/* Match the icon size with the linked image indicator brought by the link image feature. */
--ck-image-upload-icon-size: 20;
--ck-image-upload-icon-width: 2px;
--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);
}
.ck-image-upload-complete-icon {
opacity: 0;
background: var(--ck-color-image-upload-icon-background);
animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;
animation-fill-mode: forwards, forwards;
animation-duration: 500ms, 500ms;
/* To make animation scalable. */
font-size: calc(1px * var(--ck-image-upload-icon-size));
/* Hide completed upload icon after 3 seconds. */
animation-delay: 0ms, 3000ms;
/*
* Use CSS math to simulate container queries.
* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things
*/
overflow: hidden;
width: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));
height: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));
/* This is check icon element made from border-width mixed with animations. */
&::after {
/* Because of border transformation we need to "hard code" left position. */
left: 25%;
top: 50%;
opacity: 0;
height: 0;
width: 0;
transform: scaleX(-1) rotate(135deg);
transform-origin: left top;
border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
animation-name: ck-upload-complete-icon-check;
animation-duration: 500ms;
animation-delay: 500ms;
animation-fill-mode: forwards;
/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */
box-sizing: border-box;
}
}
@keyframes ck-upload-complete-icon-show {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes ck-upload-complete-icon-hide {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes ck-upload-complete-icon-check {
0% {
opacity: 1;
width: 0;
height: 0;
}
33% {
width: 0.3em;
height: 0;
}
100% {
opacity: 1;
width: 0.3em;
height: 0.45em;
}
}

View File

@ -1,50 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);
--ck-upload-placeholder-loader-size: 32px;
--ck-upload-placeholder-image-aspect-ratio: 2.8;
}
.ck .ck-image-upload-placeholder {
/* We need to control the full width of the SVG gray background. */
width: 100%;
margin: 0;
&.image-inline {
width: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );
}
& img {
/*
* This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.
* There's nothing special about this number except that it should make the image placeholder look like
* a real image during this short period after the upload started and before the image was read from the
* file system (and a rich preview was loaded).
*/
aspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);
}
}
.ck .ck-upload-placeholder-loader {
width: 100%;
height: 100%;
&::before {
width: var(--ck-upload-placeholder-loader-size);
height: var(--ck-upload-placeholder-loader-size);
border-radius: 50%;
border-top: 3px solid var(--ck-color-upload-placeholder-loader);
border-right: 2px solid transparent;
animation: ck-upload-placeholder-loader 1s linear infinite;
}
}
@keyframes ck-upload-placeholder-loader {
to {
transform: rotate( 360deg );
}
}

View File

@ -1,28 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-editor__editable {
& .image,
& .image-inline {
/* Showing animation. */
&.ck-appear {
animation: fadeIn 700ms;
}
}
/* Upload progress bar. */
& .image .ck-progress-bar,
& .image-inline .ck-progress-bar {
height: 2px;
width: 0;
background: var(--ck-color-upload-bar-background);
transition: width 100ms;
}
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

View File

@ -1,30 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/* Class added to span element surrounding currently selected link. */
.ck .ck-link_selected {
background: var(--ck-color-link-selected-background);
/* Give linked inline images some outline to let the user know they are also part of the link. */
& span.image-inline {
outline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);
}
}
/*
* Classes used by the "fake visual selection" displayed in the content when an input
* in the link UI has focus (the browser does not render the native selection in this state).
*/
.ck .ck-fake-link-selection {
background: var(--ck-color-link-fake-selection);
}
/* A collapsed fake visual selection. */
.ck .ck-fake-link-selection_collapsed {
height: 100%;
border-right: 1px solid var(--ck-color-base-text);
margin-right: -1px;
outline: solid 1px hsla(0, 0%, 100%, .5);
}

View File

@ -1,84 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
@import "../mixins/_focus.css";
@import "../mixins/_shadow.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";
.ck.ck-link-actions {
& .ck-button.ck-link-actions__preview {
padding-left: 0;
padding-right: 0;
& .ck-button__label {
padding: 0 var(--ck-spacing-medium);
color: var(--ck-color-link-default);
text-overflow: ellipsis;
cursor: pointer;
/* Match the box model of the link editor form's input so the balloon
does not change width when moving between actions and the form. */
max-width: var(--ck-input-width);
min-width: 3em;
text-align: center;
&:hover {
text-decoration: underline;
}
}
&,
&:hover,
&:focus,
&:active {
background: none;
}
&:active {
box-shadow: none;
}
&:focus {
& .ck-button__label {
text-decoration: underline;
}
}
}
@mixin ck-dir ltr {
& .ck-button:not(:first-child) {
margin-left: var(--ck-spacing-standard);
}
}
@mixin ck-dir rtl {
& .ck-button:not(:last-child) {
margin-left: var(--ck-spacing-standard);
}
}
@mixin ck-media-phone {
& .ck-button.ck-link-actions__preview {
margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;
& .ck-button__label {
min-width: 0;
max-width: 100%;
}
}
& .ck-button:not(.ck-link-actions__preview) {
@mixin ck-dir ltr {
margin-left: 0;
}
@mixin ck-dir rtl {
margin-left: 0;
}
}
}
}

View File

@ -1,61 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
/*
* Style link form differently when manual decorators are available.
* See: https://github.com/ckeditor/ckeditor5-link/issues/186.
*/
.ck.ck-link-form_layout-vertical {
padding: 0;
min-width: var(--ck-input-width);
& .ck-labeled-field-view {
margin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);
& .ck-input-text {
min-width: 0;
width: 100%;
}
}
& > .ck-button {
padding: var(--ck-spacing-standard);
margin: 0;
width: 50%;
border-radius: 0;
&:not(:focus) {
border-top: 1px solid var(--ck-color-base-border);
}
@mixin ck-dir ltr {
margin-left: 0;
}
@mixin ck-dir rtl {
margin-left: 0;
&:last-of-type {
border-right: 1px solid var(--ck-color-base-border);
}
}
}
/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */
& .ck.ck-list {
margin: var(--ck-spacing-standard) var(--ck-spacing-large);
& .ck-button.ck-switchbutton {
padding: 0;
width: 100%;
&:hover {
background: none;
}
}
}
}

View File

@ -1,43 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
/* Match the icon size with the upload indicator brought by the image upload feature. */
--ck-link-image-indicator-icon-size: 20;
--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);
}
.ck.ck-editor__editable {
/* Linked image indicator */
& figure.image > a,
& a span.image-inline {
&::after {
content: "";
/*
* Smaller images should have the icon closer to the border.
* Match the icon position with the upload indicator brought by the image upload feature.
*/
top: min(var(--ck-spacing-medium), 6%);
right: min(var(--ck-spacing-medium), 6%);
background-color: hsla(0, 0%, 0%, .4);
background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");
background-size: 14px;
background-repeat: no-repeat;
background-position: center;
border-radius: 100%;
/*
* Use CSS math to simulate container queries.
* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things
*/
overflow: hidden;
width: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));
height: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));
}
}
}

View File

@ -1,62 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-list-properties {
/* When there are no list styles and there is no collapsible. */
&.ck-list-properties_without-styles {
padding: var(--ck-spacing-large);
& > * {
min-width: 14em;
& + * {
margin-top: var(--ck-spacing-standard);
}
}
}
/*
* When the numbered list property fields (start at, reversed) should be displayed,
* more horizontal space is needed. Reconfigure the style grid to create that space.
*/
&.ck-list-properties_with-numbered-properties {
& > .ck-list-styles-list {
grid-template-columns: repeat( 4, auto );
}
/* When list styles are rendered and property fields are in a collapsible. */
& > .ck-collapsible {
border-top: 1px solid var(--ck-color-base-border);
& > .ck-collapsible__children {
& > * {
width: 100%;
& + * {
margin-top: var(--ck-spacing-standard);
}
}
}
}
}
& .ck.ck-numbered-list-properties__start-index .ck-input {
min-width: auto;
width: 100%;
}
& .ck.ck-numbered-list-properties__reversed-order {
background: transparent;
padding-left: 0;
padding-right: 0;
margin-bottom: calc(-1 * var(--ck-spacing-tiny));
&:active, &:hover {
box-shadow: none;
border-color: transparent;
background: none;
}
}
}

View File

@ -1,40 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-list-style-button-size: 44px;
}
.ck.ck-list-styles-list {
grid-template-columns: repeat( 3, auto );
row-gap: var(--ck-spacing-medium);
column-gap: var(--ck-spacing-medium);
padding: var(--ck-spacing-large);
& .ck-button {
/* Make the button look like a thumbnail (the icon "takes it all"). */
width: var(--ck-list-style-button-size);
height: var(--ck-list-style-button-size);
padding: 0;
/*
* Buttons are aligned by the grid so disable default button margins to not collide with the
* gaps in the grid.
*/
margin: 0;
/*
* Make sure the button border (which is displayed on focus, BTW) does not steal pixels
* from the button dimensions and, as a result, decrease the size of the icon
* (which becomes blurry as it scales down).
*/
box-sizing: content-box;
& .ck-icon {
width: var(--ck-list-style-button-size);
height: var(--ck-list-style-button-size);
}
}
}

View File

@ -1,109 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-media-embed-placeholder-icon-size: 3em;
--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);
--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);
}
.ck-media__wrapper {
margin: 0 auto;
& .ck-media__placeholder {
padding: calc( 3 * var(--ck-spacing-standard) );
background: var(--ck-color-base-foreground);
& .ck-media__placeholder__icon {
min-width: var(--ck-media-embed-placeholder-icon-size);
height: var(--ck-media-embed-placeholder-icon-size);
margin-bottom: var(--ck-spacing-large);
background-position: center;
background-size: cover;
& .ck-icon {
width: 100%;
height: 100%;
}
}
& .ck-media__placeholder__url__text {
color: var(--ck-color-media-embed-placeholder-url-text);
white-space: nowrap;
text-align: center;
font-style: italic;
text-overflow: ellipsis;
&:hover {
color: var(--ck-color-media-embed-placeholder-url-text-hover);
cursor: pointer;
text-decoration: underline;
}
}
}
&[data-oembed-url*="open.spotify.com"] {
max-width: 300px;
max-height: 380px;
}
&[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,
&[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,
&[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon,
&[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon {
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);
}
&[data-oembed-url*="facebook.com"] .ck-media__placeholder {
background: hsl(220, 46%, 48%);
& .ck-media__placeholder__icon {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
}
& .ck-media__placeholder__url__text {
color: hsl(220, 100%, 90%);
&:hover {
color: hsl(0, 0%, 100%);
}
}
}
&[data-oembed-url*="instagram.com"] .ck-media__placeholder {
background: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));
& .ck-media__placeholder__icon {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);
}
/* stylelint-disable-next-line no-descending-specificity */
& .ck-media__placeholder__url__text {
color: hsl(302, 100%, 94%);
&:hover {
color: hsl(0, 0%, 100%);
}
}
}
&[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {
/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */
background: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );
& .ck-media__placeholder__icon {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);
}
& .ck-media__placeholder__url__text {
color: hsl(201, 100%, 86%);
&:hover {
color: hsl(0, 0%, 100%);
}
}
}
}

View File

@ -1,14 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-mention-background: hsla(341, 100%, 30%, 0.1);
--ck-color-mention-text: hsl(341, 100%, 30%);
}
.ck-content .mention {
background: var(--ck-color-mention-background);
color: var(--ck-color-mention-text);
}

View File

@ -1,65 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-restricted-editing-exception-background: hsla(31, 100%, 65%, .2);
--ck-color-restricted-editing-exception-hover-background: hsla(31, 100%, 65%, .35);
--ck-color-restricted-editing-exception-brackets: hsla(31, 100%, 40%, .4);
--ck-color-restricted-editing-selected-exception-background: hsla(31, 100%, 65%, .5);
--ck-color-restricted-editing-selected-exception-brackets: hsla(31, 100%, 40%, .6);
}
.ck-editor__editable .restricted-editing-exception {
transition: .2s ease-in-out background;
background-color: var(--ck-color-restricted-editing-exception-background);
border: 1px solid;
border-image: linear-gradient(
to right,
var(--ck-color-restricted-editing-exception-brackets) 0%,
var(--ck-color-restricted-editing-exception-brackets) 5px,
hsla(0, 0%, 0%, 0) 6px,
hsla(0, 0%, 0%, 0) calc(100% - 6px),
var(--ck-color-restricted-editing-exception-brackets) calc(100% - 5px),
var(--ck-color-restricted-editing-exception-brackets) 100%
) 1;
&.restricted-editing-exception_selected {
background-color: var(--ck-color-restricted-editing-selected-exception-background);
border-image: linear-gradient(
to right,
var(--ck-color-restricted-editing-selected-exception-brackets) 0%,
var(--ck-color-restricted-editing-selected-exception-brackets) 5px,
var(--ck-color-restricted-editing-selected-exception-brackets) calc(100% - 5px),
var(--ck-color-restricted-editing-selected-exception-brackets) 100%
) 1;
}
&.restricted-editing-exception_collapsed {
/* Empty exception should have the same width as exception with at least 1 char */
padding-left: 1ch;
}
}
.ck-restricted-editing_mode_restricted {
cursor: default;
/* We also have to override all elements inside the restricted editable to prevent cursor switching between default and text
during the pointer movement. */
& * {
cursor: default;
}
& .restricted-editing-exception {
cursor: text;
& * {
cursor: text;
}
&:hover {
background: var(--ck-color-restricted-editing-exception-hover-background);
}
}
}

View File

@ -1,57 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";
@import "../mixins/_rounded.css";
:root {
--ck-character-grid-tile-size: 24px;
}
.ck.ck-character-grid {
overflow-y: auto;
overflow-x: hidden;
width: 350px;
max-height: 200px;
@mixin ck-media-phone {
width: 190px;
}
& .ck-character-grid__tiles {
grid-template-columns: repeat(10, 1fr);
margin: var(--ck-spacing-standard) var(--ck-spacing-large);
grid-gap: var(--ck-spacing-standard);
@mixin ck-media-phone {
grid-template-columns: repeat(5, 1fr);
}
}
& .ck-character-grid__tile {
width: var(--ck-character-grid-tile-size);
height: var(--ck-character-grid-tile-size);
min-width: var(--ck-character-grid-tile-size);
min-height: var(--ck-character-grid-tile-size);
font-size: 1.2em;
padding: 0;
transition: .2s ease box-shadow;
border: 0;
&:focus:not( .ck-disabled ),
&:hover:not( .ck-disabled ) {
/* Disable the default .ck-button's border ring. */
border: 0;
box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);
}
/* Make sure the glyph is rendered in the center of the button */
& .ck-button__label {
line-height: var(--ck-character-grid-tile-size);
width: 100%;
text-align: center;
}
}
}

View File

@ -1,30 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";
.ck.ck-character-info {
padding: var(--ck-spacing-small) var(--ck-spacing-large);
border-top: 1px solid var(--ck-color-base-border);
& > * {
text-transform: uppercase;
font-size: var(--ck-font-size-small);
}
& .ck-character-info__name {
max-width: 280px;
text-overflow: ellipsis;
overflow: hidden;
}
& .ck-character-info__code {
opacity: .6;
}
@mixin ck-media-phone {
max-width: 190px;
}
}

View File

@ -1,32 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";
.ck.ck-special-characters-navigation {
& > .ck-label {
max-width: 160px;
text-overflow: ellipsis;
overflow: hidden;
}
& > .ck-dropdown .ck-dropdown__panel {
/* There could be dozens of categories available. Use scroll to prevent a 10e6px dropdown. */
max-height: 250px;
overflow-y: auto;
overflow-x: hidden;
}
@mixin ck-media-phone {
max-width: 190px;
& > .ck-form__header__label {
text-overflow: ellipsis;
overflow: hidden;
}
}
}

View File

@ -1,98 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-style-panel-button-width: 120px;
--ck-style-panel-button-height: 80px;
--ck-style-panel-button-label-background: hsl(0, 0%, 94.1%);
--ck-style-panel-button-hover-label-background: hsl(0, 0%, 92.1%);
--ck-style-panel-button-hover-border-color: hsl(0, 0%, 70%);
}
.ck.ck-style-panel .ck-style-grid {
row-gap: var(--ck-spacing-large);
column-gap: var(--ck-spacing-large);
& .ck-style-grid__button {
--ck-color-button-default-hover-background: var(--ck-color-base-background);
--ck-color-button-default-active-background: var(--ck-color-base-background);
padding: 0;
width: var(--ck-style-panel-button-width);
height: var(--ck-style-panel-button-height);
/* Let default .ck-button :focus styles apply */
&:not(:focus) {
border: 1px solid var(--ck-color-base-border);
}
& .ck-button__label {
height: 22px;
line-height: 22px;
width: 100%;
padding: 0 var(--ck-spacing-medium);
overflow: hidden;
text-overflow: ellipsis;
flex-shrink: 0;
}
& .ck-style-grid__button__preview {
width: 100%;
overflow: hidden;
opacity: .9;
padding: var(--ck-spacing-medium);
background: var(--ck-color-base-background);
border: 2px solid var(--ck-color-base-background);
}
&.ck-disabled {
--ck-color-button-default-disabled-background: var(--ck-color-base-foreground);
/* Let default .ck-button :focus styles apply */
&:not(:focus) {
border-color: var(--ck-style-panel-button-label-background);
}
& .ck-style-grid__button__preview {
opacity: .4;
border-color: var(--ck-color-base-foreground);
filter: saturate(.3);
}
}
&.ck-on {
border-color: var(--ck-color-base-active);
& .ck-button__label {
box-shadow: 0 -1px 0 var(--ck-color-base-active);
z-index: 1; /* Stay on top of the preview with the shadow. */
}
&:hover {
border-color: var(--ck-color-base-active-focus);
}
}
&:not(.ck-on) {
& .ck-button__label {
background: var(--ck-style-panel-button-label-background);
}
&:hover .ck-button__label {
background: var(--ck-style-panel-button-hover-label-background);
}
}
&:hover:not(.ck-disabled):not(.ck-on) {
border-color: var(--ck-style-panel-button-hover-border-color);
& .ck-style-grid__button__preview {
opacity: 1;
}
}
}
}

View File

@ -1,14 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-style-panel-max-height: 470px;
}
.ck.ck-style-panel {
padding: var(--ck-spacing-large);
overflow-y: auto;
max-height: var(--ck-style-panel-max-height);
}

View File

@ -1,103 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
@import "../mixins/_rounded.css";
.ck.ck-input-color {
& > .ck.ck-input-text {
@mixin ck-dir ltr {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
@mixin ck-dir rtl {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
/* Make sure the focused input is always on top of the dropdown button so its
outline and border are never cropped (also when the input is read-only). */
&:focus {
z-index: 0;
}
}
& > .ck.ck-dropdown {
& > .ck.ck-button.ck-input-color__button {
padding: 0;
@mixin ck-dir ltr {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
&:not(:focus) {
border-left: 1px solid transparent;
}
}
@mixin ck-dir rtl {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
&:not(:focus) {
border-right: 1px solid transparent;
}
}
&.ck-disabled {
background: var(--ck-color-input-disabled-background);
}
& > .ck.ck-input-color__button__preview {
@mixin ck-rounded-corners;
width: 20px;
height: 20px;
border: 1px solid var(--ck-color-input-border);
& > .ck.ck-input-color__button__preview__no-color-indicator {
top: -30%;
left: 50%;
height: 150%;
width: 8%;
background: hsl(0, 100%, 50%);
border-radius: 2px;
transform: rotate(45deg);
transform-origin: 50%;
}
}
}
}
& .ck.ck-input-color__remove-color {
width: 100%;
padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
&:not(:focus) {
border-bottom: 1px solid var(--ck-color-input-border);
}
@mixin ck-dir ltr {
border-top-right-radius: 0;
}
@mixin ck-dir rtl {
border-top-left-radius: 0;
}
& .ck.ck-icon {
margin-right: var(--ck-spacing-standard);
@mixin ck-dir rtl {
margin-right: 0;
margin-left: var(--ck-spacing-standard);
}
}
}
}

View File

@ -1,32 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-form {
padding: 0 0 var(--ck-spacing-large);
&:focus {
/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */
outline: none;
}
& .ck.ck-input-text {
min-width: 100%;
width: 0;
}
& .ck.ck-dropdown {
min-width: 100%;
& .ck-dropdown__button {
&:not(:focus) {
border: 1px solid var(--ck-color-base-border);
}
& .ck-button__label {
width: 100%;
}
}
}
}

View File

@ -1,36 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
.ck.ck-form__row {
padding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;
/* Ignore labels that work as fieldset legends */
& > *:not(.ck-label) {
& + * {
@mixin ck-dir ltr {
margin-left: var(--ck-spacing-large);
}
@mixin ck-dir rtl {
margin-right: var(--ck-spacing-large);
}
}
}
& > .ck-label {
width: 100%;
min-width: 100%;
}
&.ck-table-form__action-row {
margin-top: var(--ck-spacing-large);
& .ck-button .ck-button__label {
color: var(--ck-color-text);
}
}
}

View File

@ -1,42 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-insert-table-dropdown-padding: 10px;
--ck-insert-table-dropdown-box-height: 11px;
--ck-insert-table-dropdown-box-width: 12px;
--ck-insert-table-dropdown-box-margin: 1px;
}
.ck .ck-insert-table-dropdown__grid {
/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */
width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);
padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;
}
.ck .ck-insert-table-dropdown__label,
.ck[dir=rtl] .ck-insert-table-dropdown__label {
text-align: center;
}
.ck .ck-insert-table-dropdown-grid-box {
min-width: var(--ck-insert-table-dropdown-box-width);
min-height: var(--ck-insert-table-dropdown-box-height);
margin: var(--ck-insert-table-dropdown-box-margin);
border: 1px solid var(--ck-color-base-border);
border-radius: 1px;
outline: none;
transition: none;
&:focus {
box-shadow: none;
}
&.ck-on {
border-color: var(--ck-color-focus-border);
background: var(--ck-color-focus-outer-shadow);
}
}

View File

@ -1,25 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-table-cell-properties-form {
width: 320px;
& .ck-form__row {
&.ck-table-cell-properties-form__padding-row {
align-self: flex-end;
padding: 0;
width: 25%;
}
&.ck-table-cell-properties-form__alignment-row {
& .ck.ck-toolbar {
background: none;
/* Compensate for missing input label that would push the margin (toolbar has no inputs). */
margin-top: var(--ck-spacing-standard);
}
}
}
}

View File

@ -1,26 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);
}
.ck-widget.table {
& td,
& th {
&.ck-editor__nested-editable.ck-editor__nested-editable_focused,
&.ck-editor__nested-editable:focus {
/* A very slight background to highlight the focused cell */
background: var(--ck-color-selector-focused-cell-background);
/* Fixes the problem where surrounding cells cover the focused cell's border.
It does not fix the problem in all places but the UX is improved.
See https://github.com/ckeditor/ckeditor5-table/issues/29. */
border-style: none;
outline: 1px solid var(--ck-color-focus-border);
outline-offset: -1px; /* progressive enhancement - no IE support */
}
}
}

View File

@ -1,86 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../mixins/_rounded.css";
:root {
--ck-table-properties-error-arrow-size: 6px;
--ck-table-properties-min-error-width: 150px;
}
.ck.ck-table-form {
& .ck-form__row {
&.ck-table-form__border-row {
& .ck-labeled-field-view {
& > .ck-label {
font-size: var(--ck-font-size-tiny);
text-align: center;
}
}
& .ck-table-form__border-style,
& .ck-table-form__border-width {
width: 80px;
min-width: 80px;
max-width: 80px;
}
}
&.ck-table-form__dimensions-row {
padding: 0;
& .ck-table-form__dimensions-row__width,
& .ck-table-form__dimensions-row__height {
margin: 0
}
& .ck-table-form__dimension-operator {
align-self: flex-end;
display: inline-block;
height: var(--ck-ui-component-min-height);
line-height: var(--ck-ui-component-min-height);
margin: 0 var(--ck-spacing-small);
}
}
}
& .ck.ck-labeled-field-view {
padding-top: var(--ck-spacing-standard);
& .ck.ck-labeled-field-view__status {
@mixin ck-rounded-corners;
background: var(--ck-color-base-error);
color: var(--ck-color-base-background);
padding: var(--ck-spacing-small) var(--ck-spacing-medium);
min-width: var(--ck-table-properties-min-error-width);
text-align: center;
/* The arrow pointing towards the field. */
&::after {
border-color: transparent transparent var(--ck-color-base-error) transparent;
border-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);
border-style: solid;
}
animation: ck-table-form-labeled-view-status-appear .15s ease both;
}
/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */
& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {
display: none;
}
}
}
@keyframes ck-table-form-labeled-view-status-appear {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

View File

@ -1,26 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-table-properties-form {
width: 320px;
& .ck-form__row {
&.ck-table-properties-form__alignment-row {
align-self: flex-end;
padding: 0;
& .ck.ck-toolbar {
background: none;
/* Compensate for missing input label that would push the margin (toolbar has no inputs). */
margin-top: var(--ck-spacing-standard);
& .ck-toolbar__items > * {
width: 40px;
}
}
}
}
}

View File

@ -1,47 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);
}
.ck.ck-editor__editable .table table {
& td.ck-editor__editable_selected,
& th.ck-editor__editable_selected {
position: relative;
caret-color: transparent;
outline: unset;
box-shadow: unset;
/* https://github.com/ckeditor/ckeditor5/issues/6446 */
&:after {
content: '';
pointer-events: none;
background-color: var(--ck-table-selected-cell-background);
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
& ::selection,
&:focus {
background-color: transparent;
}
/*
* To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.
* See https://github.com/ckeditor/ckeditor5/issues/9491.
*/
& .ck-widget {
outline: unset;
& > .ck-widget__selection-handle {
display: none;
}
}
}
}

View File

@ -1,36 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css";
@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css";
.ck.ck-autocomplete {
& > .ck-search__results {
@mixin ck-rounded-corners;
@mixin ck-drop-shadow;
max-height: 200px;
overflow-y: auto;
background: var(--ck-color-base-background);
border: 1px solid var(--ck-color-dropdown-panel-border);
min-width: auto;
&.ck-search__results_n {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
/* Prevent duplicated borders between the input and the results pane. */
margin-bottom: -1px;
}
&.ck-search__results_s {
border-top-left-radius: 0;
border-top-right-radius: 0;
/* Prevent duplicated borders between the input and the results pane. */
margin-top: -1px;
}
}
}

View File

@ -1,165 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_focus.css";
@import "../../../mixins/_shadow.css";
@import "../../../mixins/_disabled.css";
@import "../../../mixins/_rounded.css";
@import "../../mixins/_button.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
.ck.ck-button,
a.ck.ck-button {
@mixin ck-button-colors --ck-color-button-default;
@mixin ck-rounded-corners;
white-space: nowrap;
cursor: default;
vertical-align: middle;
padding: var(--ck-spacing-tiny);
text-align: center;
/* A very important piece of styling. Go to variable declaration to learn more. */
min-width: var(--ck-ui-component-min-height);
min-height: var(--ck-ui-component-min-height);
/* Normalize the height of the line. Removing this will break consistent height
among text and text-less buttons (with icons). */
line-height: 1;
/* Enable font size inheritance, which allows fluid UI scaling. */
font-size: inherit;
/* Avoid flickering when the foucs border shows up. */
border: 1px solid transparent;
/* Apply some smooth transition to the box-shadow and border. */
transition: box-shadow .2s ease-in-out, border .2s ease-in-out;
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */
-webkit-appearance: none;
&:active,
&:focus {
@mixin ck-focus-ring;
@mixin ck-box-shadow var(--ck-focus-outer-shadow);
}
/* Allow icon coloring using the text "color" property. */
& .ck-button__icon {
& use,
& use * {
color: inherit;
}
}
& .ck-button__label {
/* Enable font size inheritance, which allows fluid UI scaling. */
font-size: inherit;
font-weight: inherit;
color: inherit;
cursor: inherit;
/* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and
without labels (but with icons) have different sizes in Chrome */
vertical-align: middle;
@mixin ck-dir ltr {
text-align: left;
}
@mixin ck-dir rtl {
text-align: right;
}
}
& .ck-button__keystroke {
color: inherit;
@mixin ck-dir ltr {
margin-left: var(--ck-spacing-large);
}
@mixin ck-dir rtl {
margin-right: var(--ck-spacing-large);
}
opacity: .5;
}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
&.ck-disabled {
&:active,
&:focus {
/* The disabled button should have a slightly less visible shadow when focused. */
@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);
}
& .ck-button__icon {
@mixin ck-disabled;
}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
& .ck-button__label {
@mixin ck-disabled;
}
& .ck-button__keystroke {
opacity: .3;
}
}
&.ck-button_with-text {
padding: var(--ck-spacing-tiny) var(--ck-spacing-standard);
/* stylelint-disable-next-line no-descending-specificity */
& .ck-button__icon {
@mixin ck-dir ltr {
margin-left: calc(-1 * var(--ck-spacing-small));
margin-right: var(--ck-spacing-small);
}
@mixin ck-dir rtl {
margin-right: calc(-1 * var(--ck-spacing-small));
margin-left: var(--ck-spacing-small);
}
}
}
&.ck-button_with-keystroke {
/* stylelint-disable-next-line no-descending-specificity */
& .ck-button__label {
flex-grow: 1;
}
}
/* A style of the button which is currently on, e.g. its feature is active. */
&.ck-on {
@mixin ck-button-colors --ck-color-button-on;
color: var(--ck-color-button-on-color);
}
&.ck-button-save {
color: var(--ck-color-button-save);
}
&.ck-button-cancel {
color: var(--ck-color-button-cancel);
}
}
/* A style of the button which handles the primary action. */
.ck.ck-button-action,
a.ck.ck-button-action {
@mixin ck-button-colors --ck-color-button-action;
color: var(--ck-color-button-action-text);
}
.ck.ck-button-bold,
a.ck.ck-button-bold {
font-weight: bold;
}

View File

@ -1,130 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_disabled.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature
of the component, floatingpoint numbers have been used which, for the default font size
(see: --ck-font-size-base), will generate simple integers. */
:root {
/* 34px at 13px font-size */
--ck-switch-button-toggle-width: 2.6153846154em;
/* 14px at 13px font-size */
--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);
--ck-switch-button-translation: calc(
var(--ck-switch-button-toggle-width) -
var(--ck-switch-button-toggle-inner-size) -
2px /* Border */
);
--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);
}
.ck.ck-button.ck-switchbutton {
/* Unlike a regular button, the switch button text color and background should never change.
* Changing toggle switch (background, outline) is enough to carry the information about the
* state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)
*/
&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {
color: inherit;
background: transparent;
}
& .ck-button__label {
@mixin ck-dir ltr {
/* Separate the label from the switch */
margin-right: calc(2 * var(--ck-spacing-large));
}
@mixin ck-dir rtl {
/* Separate the label from the switch */
margin-left: calc(2 * var(--ck-spacing-large));
}
}
& .ck-button__toggle {
@mixin ck-rounded-corners;
@mixin ck-dir ltr {
/* Make sure the toggle is always to the right as far as possible. */
margin-left: auto;
}
@mixin ck-dir rtl {
/* Make sure the toggle is always to the left as far as possible. */
margin-right: auto;
}
/* Apply some smooth transition to the box-shadow and border. */
/* Gently animate the background color of the toggle switch */
transition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;
border: 1px solid transparent;
width: var(--ck-switch-button-toggle-width);
background: var(--ck-color-switch-button-off-background);
& .ck-button__toggle__inner {
@mixin ck-rounded-corners {
border-radius: calc(.5 * var(--ck-border-radius));
}
width: var(--ck-switch-button-toggle-inner-size);
height: var(--ck-switch-button-toggle-inner-size);
background: var(--ck-color-switch-button-inner-background);
/* Gently animate the inner part of the toggle switch */
transition: all 300ms ease;
}
&:hover {
background: var(--ck-color-switch-button-off-hover-background);
& .ck-button__toggle__inner {
box-shadow: var(--ck-switch-button-inner-hover-shadow);
}
}
}
&.ck-disabled .ck-button__toggle {
@mixin ck-disabled;
}
/* Overriding default .ck-button:focus styles + an outline around the toogle */
&:focus {
border-color: transparent;
outline: none;
box-shadow: none;
& .ck-button__toggle {
box-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);
outline-offset: 1px;
outline: var(--ck-focus-ring);
}
}
/* stylelint-disable-next-line no-descending-specificity */
&.ck-on {
& .ck-button__toggle {
background: var(--ck-color-switch-button-on-background);
&:hover {
background: var(--ck-color-switch-button-on-hover-background);
}
& .ck-button__toggle__inner {
/*
* Move the toggle switch to the right. It will be animated.
*/
@mixin ck-dir ltr {
transform: translateX( var( --ck-switch-button-translation ) );
}
@mixin ck-dir rtl {
transform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );
}
}
}
}
}

View File

@ -1,43 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));
}
.ck.ck-collapsible {
& > .ck.ck-button {
width: 100%;
font-weight: bold;
padding: var(--ck-list-button-padding);
border-radius: 0;
color: inherit;
&:focus {
background: transparent;
}
&:active, &:not(:focus), &:hover:not(:focus) {
background: transparent;
border-color: transparent;
box-shadow: none;
}
& > .ck-icon {
margin-right: var(--ck-spacing-medium);
width: var(--ck-collapsible-arrow-size);
}
}
& > .ck-collapsible__children {
padding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);
}
&.ck-collapsible_collapsed {
& > .ck.ck-button .ck-icon {
transform: rotate(-90deg);
}
}
}

View File

@ -1,68 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
:root {
--ck-color-grid-tile-size: 24px;
/* Not using global colors here because these may change but some colors in a pallette
* require special treatment. For instance, this ensures no matter what the UI text color is,
* the check icon will look good on the black color tile. */
--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);
}
.ck.ck-color-grid {
grid-gap: 5px;
padding: 8px;
}
.ck.ck-color-grid__tile {
width: var(--ck-color-grid-tile-size);
height: var(--ck-color-grid-tile-size);
min-width: var(--ck-color-grid-tile-size);
min-height: var(--ck-color-grid-tile-size);
padding: 0;
transition: .2s ease box-shadow;
border: 0;
&.ck-disabled {
cursor: unset;
transition: unset;
}
&.ck-color-selector__color-tile_bordered {
box-shadow: 0 0 0 1px var(--ck-color-base-border);
}
& .ck.ck-icon {
display: none;
color: var(--ck-color-color-grid-check-icon);
}
&.ck-on {
box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);
& .ck.ck-icon {
display: block;
}
}
&.ck-on,
&:focus:not( .ck-disabled ),
&:hover:not( .ck-disabled ) {
/* Disable the default .ck-button's border ring. */
border: 0;
}
&:focus:not( .ck-disabled ),
&:hover:not( .ck-disabled ) {
box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);
}
}
.ck.ck-color-grid__label {
padding: 0 var(--ck-spacing-standard);
}

View File

@ -1,70 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
.ck.ck-color-selector {
/* View fragment with color grids. */
& .ck-color-grids-fragment {
& .ck-button.ck-color-selector__remove-color,
& .ck-button.ck-color-selector__color-picker {
width: 100%;
}
& .ck-button.ck-color-selector__color-picker {
padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
&:not(:focus) {
border-top: 1px solid var(--ck-color-base-border);
}
& .ck.ck-icon {
@mixin ck-dir ltr {
margin-right: var(--ck-spacing-standard);
}
@mixin ck-dir rtl {
margin-left: var(--ck-spacing-standard);
}
}
}
& label.ck.ck-color-grid__label {
font-weight: unset;
}
}
/* View fragment with a color picker. */
& .ck-color-picker-fragment {
& .ck.ck-color-picker {
padding: 8px;
& .hex-color-picker {
height: 100px;
min-width: 180px;
&::part(saturation) {
border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;
}
&::part(hue) {
border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);
}
&::part(saturation-pointer),
&::part(hue-pointer) {
width: 15px;
height: 15px;
}
}
}
& .ck.ck-color-selector_action-bar {
padding: 0 8px 8px;
}
}
}

View File

@ -1,49 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_shadow.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";
:root {
--ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 );
--ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%);
--ck-dialog-max-width: 100vw;
--ck-dialog-max-height: 90vh;
--ck-color-dialog-background: var(--ck-color-base-background);
--ck-color-dialog-form-header-border: var(--ck-color-base-border);
}
.ck.ck-dialog-overlay {
animation: ck-dialog-fade-in .3s;
background: var(--ck-dialog-overlay-background-color);
z-index: var(--ck-z-dialog);
}
.ck.ck-dialog {
@mixin ck-rounded-corners;
@mixin ck-drop-shadow;
--ck-drop-shadow: var(--ck-dialog-drop-shadow);
background: var(--ck-color-dialog-background);
max-height: var(--ck-dialog-max-height);
max-width: var(--ck-dialog-max-width);
border: 1px solid var(--ck-color-base-border);
& .ck.ck-form__header {
border-bottom: 1px solid var(--ck-color-dialog-form-header-border);
}
}
@keyframes ck-dialog-fade-in {
0% {
background: hsla( 0, 0%, 0%, 0 );
}
100% {
background: var(--ck-dialog-overlay-background-color);
}
}

View File

@ -1,126 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_disabled.css";
@import "../../../mixins/_shadow.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
:root {
--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));
}
.ck.ck-dropdown {
/* Enable font size inheritance, which allows fluid UI scaling. */
font-size: inherit;
& .ck-dropdown__arrow {
width: var(--ck-dropdown-arrow-size);
}
@mixin ck-dir ltr {
& .ck-dropdown__arrow {
right: var(--ck-spacing-standard);
/* A space to accommodate the triangle. */
margin-left: var(--ck-spacing-standard);
}
}
@mixin ck-dir rtl {
& .ck-dropdown__arrow {
left: var(--ck-spacing-standard);
/* A space to accommodate the triangle. */
margin-right: var(--ck-spacing-small);
}
}
&.ck-disabled .ck-dropdown__arrow {
@mixin ck-disabled;
}
& .ck-button.ck-dropdown__button {
@mixin ck-dir ltr {
&:not(.ck-button_with-text) {
/* Make sure dropdowns with just an icon have the right inner spacing */
padding-left: var(--ck-spacing-small);
}
}
@mixin ck-dir rtl {
&:not(.ck-button_with-text) {
/* Make sure dropdowns with just an icon have the right inner spacing */
padding-right: var(--ck-spacing-small);
}
}
/* #23 */
& .ck-button__label {
width: 7em;
overflow: hidden;
text-overflow: ellipsis;
}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
&.ck-disabled .ck-button__label {
@mixin ck-disabled;
}
/* https://github.com/ckeditor/ckeditor5/issues/816 */
&.ck-on {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
&.ck-dropdown__button_label-width_auto .ck-button__label {
width: auto;
}
/* https://github.com/ckeditor/ckeditor5/issues/8699 */
&.ck-off:active,
&.ck-on:active {
box-shadow: none;
&:focus {
@mixin ck-box-shadow var(--ck-focus-outer-shadow);
}
}
}
}
.ck.ck-dropdown__panel {
@mixin ck-rounded-corners;
@mixin ck-drop-shadow;
background: var(--ck-color-dropdown-panel-background);
border: 1px solid var(--ck-color-dropdown-panel-border);
bottom: 0;
/* Make sure the panel is at least as wide as the drop-down's button. */
min-width: 100%;
/* Disabled corner border radius to be consistent with the .dropdown__button
https://github.com/ckeditor/ckeditor5/issues/816 */
&.ck-dropdown__panel_se {
border-top-left-radius: 0;
}
&.ck-dropdown__panel_sw {
border-top-right-radius: 0;
}
&.ck-dropdown__panel_ne {
border-bottom-left-radius: 0;
}
&.ck-dropdown__panel_nw {
border-bottom-right-radius: 0;
}
&:focus {
outline: none;
}
}

View File

@ -1,33 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
.ck.ck-dropdown > .ck-dropdown__panel > .ck-list {
/* Disabled radius of top-left border to be consistent with .dropdown__button
https://github.com/ckeditor/ckeditor5/issues/816 */
@mixin ck-rounded-corners {
border-top-left-radius: 0;
}
/* Make sure the button belonging to the first/last child of the list goes well with the
border radius of the entire panel. */
& .ck-list__item {
&:first-child > .ck-button {
@mixin ck-rounded-corners {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
}
&:last-child > .ck-button {
@mixin ck-rounded-corners {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
}
}
}

View File

@ -1,112 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
:root {
--ck-color-split-button-hover-background: hsl(0, 0%, 92%);
--ck-color-split-button-hover-border: hsl(0, 0%, 70%);
}
.ck.ck-splitbutton {
/*
* Note: ck-rounded and ck-dir mixins don't go together (because they both use @nest).
*/
&:hover > .ck-splitbutton__action,
&.ck-splitbutton_open > .ck-splitbutton__action {
@nest [dir="ltr"] & {
/* Don't round the action button on the right side */
border-top-right-radius: unset;
border-bottom-right-radius: unset;
}
@nest [dir="rtl"] & {
/* Don't round the action button on the left side */
border-top-left-radius: unset;
border-bottom-left-radius: unset;
}
}
& > .ck-splitbutton__arrow {
/* It's a text-less button and since the icon is positioned absolutely in such situation,
it must get some arbitrary min-width. */
min-width: unset;
@nest [dir="ltr"] & {
/* Don't round the arrow button on the left side */
border-top-left-radius: unset;
border-bottom-left-radius: unset;
}
@nest [dir="rtl"] & {
/* Don't round the arrow button on the right side */
border-top-right-radius: unset;
border-bottom-right-radius: unset;
}
& svg {
width: var(--ck-dropdown-arrow-size);
}
}
/* Make sure the divider stretches 100% height of the button
https://github.com/ckeditor/ckeditor5/issues/10936 */
& > .ck-splitbutton__arrow:not(:focus) {
border-top-width: 0px;
border-bottom-width: 0px;
}
/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling
as a whole. The background of both buttons should stand out and there should be a visual
separation between both buttons. */
&.ck-splitbutton_open,
&:hover {
/* When the split button hovered as a whole, not as individual buttons. */
& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {
background: var(--ck-color-split-button-hover-background);
}
/* Splitbutton separator needs to be set with the ::after pseudoselector
to display properly the borders on focus */
& > .ck-splitbutton__arrow:not(.ck-disabled)::after {
content: '';
position: absolute;
width: 1px;
height: 100%;
background-color: var(--ck-color-split-button-hover-border);
}
/* Make sure the divider between the buttons looks fine when the button is focused */
& > .ck-splitbutton__arrow:focus::after {
--ck-color-split-button-hover-border: var(--ck-color-focus-border);
}
@nest [dir="ltr"] & {
& > .ck-splitbutton__arrow:not(.ck-disabled)::after {
left: -1px;
}
}
@nest [dir="rtl"] & {
& > .ck-splitbutton__arrow:not(.ck-disabled)::after {
right: -1px;
}
}
}
/* Don't round the bottom left and right corners of the buttons when "open"
https://github.com/ckeditor/ckeditor5/issues/816 */
&.ck-splitbutton_open {
@mixin ck-rounded-corners {
& > .ck-splitbutton__action {
border-bottom-left-radius: 0;
}
& > .ck-splitbutton__arrow {
border-bottom-right-radius: 0;
}
}
}
}

View File

@ -1,103 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_focus.css";
@import "../../../mixins/_shadow.css";
:root {
--ck-accessibility-help-dialog-max-width: 600px;
--ck-accessibility-help-dialog-max-height: 400px;
--ck-accessibility-help-dialog-border-color: hsl(220, 6%, 81%);
--ck-accessibility-help-dialog-code-background-color: hsl(0deg 0% 92.94%);
--ck-accessibility-help-dialog-kbd-shadow-color: hsl(0deg 0% 61%);
}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content {
padding: var(--ck-spacing-large);
max-width: var(--ck-accessibility-help-dialog-max-width);
max-height: var(--ck-accessibility-help-dialog-max-height);
overflow: auto;
user-select: text;
border: 1px solid transparent;
&:focus {
@mixin ck-focus-ring;
@mixin ck-box-shadow var(--ck-focus-outer-shadow);
}
* {
white-space: normal;
}
/* Hide the main label of the content container. */
& .ck-label {
display: none;
}
& h3 {
font-weight: bold;
font-size: 1.2em;
}
& h4 {
font-weight: bold;
font-size: 1em;
}
& p,
& h3,
& h4,
& table {
margin: 1em 0;
}
& dl {
display: grid;
grid-template-columns: 2fr 1fr;
border-top: 1px solid var(--ck-accessibility-help-dialog-border-color);
border-bottom: none;
& dt, & dd {
border-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color);
padding: .4em 0;
}
& dt {
grid-column-start: 1;
}
& dd {
grid-column-start: 2;
text-align: right;
}
}
& kbd, & code {
display: inline-block;
background: var(--ck-accessibility-help-dialog-code-background-color);
padding: .4em;
vertical-align: middle;
line-height: 1;
border-radius: 2px;
text-align: center;
font-size: .9em;
}
& code {
font-family: monospace;
}
& kbd {
min-width: 1.8em;
box-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);
margin: 0 1px;
& + kbd {
margin-left: 2px;
}
}
}

View File

@ -1,69 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_disabled.css";
@import "../../../mixins/_shadow.css";
@import "../../../mixins/_focus.css";
@import "../../mixins/_button.css";
:root {
--ck-color-editable-blur-selection: hsl(0, 0%, 85%);
}
.ck.ck-editor__editable:not(.ck-editor__nested-editable) {
@mixin ck-rounded-corners;
&.ck-focused {
@mixin ck-focus-ring;
@mixin ck-box-shadow var(--ck-inner-shadow);
}
}
.ck.ck-editor__editable_inline {
overflow: auto;
padding: 0 var(--ck-spacing-standard);
border: 1px solid transparent;
&[dir="ltr"] {
text-align: left;
}
&[dir="rtl"] {
text-align: right;
}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */
& > *:first-child {
margin-top: var(--ck-spacing-large);
}
/* https://github.com/ckeditor/ckeditor5/issues/847 */
& > *:last-child {
/*
* This value should match with the default margins of the block elements (like .media or .image)
* to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).
*/
margin-bottom: var(--ck-spacing-large);
}
/* https://github.com/ckeditor/ckeditor5/issues/6517 */
&.ck-blurred ::selection {
background: var(--ck-color-editable-blur-selection);
}
}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */
.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {
&::after {
border-bottom-color: var(--ck-color-panel-background);
}
}
.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {
&::after {
border-top-color: var(--ck-color-panel-background);
}
}

View File

@ -1,32 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
:root {
--ck-form-header-height: 44px;
}
.ck.ck-form__header {
padding: var(--ck-spacing-small) var(--ck-spacing-large);
height: var(--ck-form-header-height);
line-height: var(--ck-form-header-height);
border-bottom: 1px solid var(--ck-color-base-border);
& > .ck-icon {
@mixin ck-dir ltr {
margin-right: var(--ck-spacing-medium);
}
@mixin ck-dir rtl {
margin-left: var(--ck-spacing-medium);
}
}
& .ck-form__header__label {
--ck-font-size-base: 15px;
font-weight: bold;
}
}

View File

@ -1,41 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));
}
.ck.ck-icon {
width: var(--ck-icon-size);
height: var(--ck-icon-size);
/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */
font-size: .8333350694em;
/* Inherit cursor style (#5). */
cursor: inherit;
/* This will prevent blurry icons on Firefox. See #340. */
will-change: transform;
& * {
/* Inherit cursor style (#5). */
cursor: inherit;
}
/* Allows dynamic coloring of an icon by inheriting its color from the parent. */
&.ck-icon_inherit-color {
color: inherit;
& * {
color: inherit;
&:not([fill]) {
/* Needed by FF. */
fill: currentColor;
}
}
}
}

View File

@ -1,73 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_focus.css";
@import "../../../mixins/_shadow.css";
:root {
--ck-input-width: 18em;
/* Backward compatibility. */
--ck-input-text-width: var(--ck-input-width);
}
.ck.ck-input {
@mixin ck-rounded-corners;
background: var(--ck-color-input-background);
border: 1px solid var(--ck-color-input-border);
padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);
min-width: var(--ck-input-width);
/* This is important to stay of the same height as surrounding buttons */
min-height: var(--ck-ui-component-min-height);
/* Apply some smooth transition to the box-shadow and border. */
transition: box-shadow .1s ease-in-out, border .1s ease-in-out;
&:focus {
@mixin ck-focus-ring;
@mixin ck-box-shadow var(--ck-focus-outer-shadow);
}
&[readonly] {
border: 1px solid var(--ck-color-input-disabled-border);
background: var(--ck-color-input-disabled-background);
color: var(--ck-color-input-disabled-text);
&:focus {
/* The read-only input should have a slightly less visible shadow when focused. */
@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);
}
}
&.ck-error {
border-color: var(--ck-color-input-error-border);
animation: ck-input-shake .3s ease both;
&:focus {
@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);
}
}
}
@keyframes ck-input-shake {
20% {
transform: translateX(-2px);
}
40% {
transform: translateX(2px);
}
60% {
transform: translateX(-1px);
}
80% {
transform: translateX(1px);
}
}

View File

@ -1,123 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@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);
}
}
&.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));
}
}

View File

@ -1,17 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-labeled-input .ck-labeled-input__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.ck-labeled-input .ck-labeled-input__status_error {
color: var(--ck-color-base-error);
}

View File

@ -1,106 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_disabled.css";
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_shadow.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
:root {
--ck-list-button-padding:
calc(.11 * var(--ck-line-height-base) * var(--ck-font-size-base))
calc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));
}
.ck.ck-list {
@mixin ck-rounded-corners;
list-style-type: none;
background: var(--ck-color-list-background);
}
.ck.ck-list__item {
cursor: default;
min-width: 12em;
& > .ck-button {
min-height: unset;
width: 100%;
border-radius: 0;
@mixin ck-dir ltr {
text-align: left;
}
@mixin ck-dir rtl {
text-align: right;
}
/* List items should have the same height. Use absolute units to make sure it is so
because e.g. different heading styles may have different height
https://github.com/ckeditor/ckeditor5-heading/issues/63 */
padding: var(--ck-list-button-padding);
&:active {
box-shadow: none;
}
&.ck-on {
background: var(--ck-color-list-button-on-background);
color: var(--ck-color-list-button-on-text);
&:active {
box-shadow: none;
}
&:hover:not(.ck-disabled) {
background: var(--ck-color-list-button-on-background-focus);
}
&:focus:not(.ck-switchbutton):not(.ck-disabled) {
border-color: var(--ck-color-base-background);
}
}
&:hover:not(.ck-disabled) {
background: var(--ck-color-list-button-hover-background);
}
}
/* It's unnecessary to change the background/text of a switch toggle; it has different ways
of conveying its state (like the switcher) */
& > .ck-switchbutton {
&.ck-on {
background: var(--ck-color-list-background);
color: inherit;
&:hover:not(.ck-disabled) {
background: var(--ck-color-list-button-hover-background);
color: inherit;
}
}
}
}
.ck-list .ck-list__group {
padding-top: var(--ck-spacing-medium);
/* The group should have a border when it's not the first item. */
*:not(.ck-hidden) ~ & {
border-top: 1px solid var(--ck-color-base-border);
}
& > .ck-label {
font-size: 11px;
font-weight: bold;
padding: var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium);
}
}
.ck.ck-list__separator {
height: 1px;
width: 100%;
background: var(--ck-color-base-border);
}

View File

@ -1,15 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-menu-bar {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
background: var(--ck-color-base-background);
padding: var(--ck-spacing-small);
gap: var(--ck-spacing-small);
border: 1px solid var(--ck-color-toolbar-border);
width: 100%;
}

View File

@ -1,117 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_disabled.css";
@import "../../mixins/_button.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
.ck.ck-menu-bar__menu {
/*
* All menu buttons.
*/
& > .ck-menu-bar__menu__button {
padding: var(--ck-list-button-padding);
width: 100%;
& > .ck-button__label {
flex-grow: 1;
overflow: hidden;
text-overflow: ellipsis;
}
&.ck-disabled > .ck-button__label {
@mixin ck-disabled;
}
@mixin ck-dir ltr {
&:not(.ck-button_with-text) {
padding-left: var(--ck-spacing-small);
}
}
@mixin ck-dir rtl {
&:not(.ck-button_with-text) {
padding-right: var(--ck-spacing-small);
}
}
}
/*
* Top-level menu buttons only.
*/
&.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button {
padding: var(--ck-spacing-small) var(--ck-spacing-medium);
min-height: unset;
& .ck-button__label {
width: unset;
line-height: unset;
}
&.ck-on {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
& .ck-icon {
display: none;
}
}
/*
* Sub-menu buttons.
*/
&:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button {
border-radius: 0;
&:focus {
border-color: transparent;
box-shadow: none;
&:not(.ck-on) {
background: var(--ck-color-button-default-hover-background);
}
}
/* Spacing in buttons that miss the icon. */
&:not(:has(.ck-button__icon)) > .ck-button__label {
margin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));
}
& > .ck-menu-bar__menu__button__arrow {
width: var(--ck-dropdown-arrow-size);
@mixin ck-dir ltr {
transform: rotate(-90deg);
}
@mixin ck-dir rtl {
transform: rotate(90deg);
}
}
&.ck-disabled > .ck-menu-bar__menu__button__arrow {
@mixin ck-disabled;
}
@mixin ck-dir ltr {
& > .ck-menu-bar__menu__button__arrow {
right: var(--ck-spacing-standard);
/* A space to accommodate the triangle. */
margin-left: var(--ck-spacing-standard);
}
}
@mixin ck-dir rtl {
& > .ck-menu-bar__menu__button__arrow {
left: var(--ck-spacing-standard);
/* A space to accommodate the triangle. */
margin-right: var(--ck-spacing-small);
}
}
}
}

View File

@ -1,12 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-menu-bar-menu-item-min-width: 18em;
}
.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item {
min-width: var(--ck-menu-bar-menu-item-min-width);
}

View File

@ -1,50 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-menu-bar__menu {
/*
* List item buttons.
*/
& .ck-button.ck-menu-bar__menu__item__button {
border-radius: 0;
& > .ck-spinner-container,
& > .ck-spinner-container .ck-spinner {
/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */
--ck-toolbar-spinner-size: 20px;
}
& > .ck-spinner-container {
/* These margins are the same as for .ck-icon. */
margin-left: calc(-1 * var(--ck-spacing-small));
margin-right: var(--ck-spacing-small);
}
/*
* Hovered items automatically get focused. Default focus styles look odd
* while moving across a huge list of items so let's get rid of them
*/
&:focus {
border-color: transparent;
box-shadow: none;
&:not(.ck-on) {
background: var(--ck-color-button-default-hover-background);
}
}
}
/*
* First-level sub-menu item buttons.
*/
&.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__panel > ul > .ck-menu-bar__menu__item > .ck-menu-bar__menu__item__button {
/* Spacing in buttons that miss the icon. */
&:not(:has(.ck-button__icon)) > .ck-button__label {
margin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));
}
}
}

View File

@ -1,47 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_shadow.css";
:root {
--ck-menu-bar-menu-panel-max-width: 75vw;
}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {
@mixin ck-rounded-corners;
@mixin ck-drop-shadow;
background: var(--ck-color-dropdown-panel-background);
border: 1px solid var(--ck-color-dropdown-panel-border);
bottom: 0;
height: fit-content;
max-width: var(--ck-menu-bar-menu-panel-max-width);
/* Corner border radius consistent with the button. */
&.ck-menu-bar__menu__panel_position_es,
&.ck-menu-bar__menu__panel_position_se {
border-top-left-radius: 0;
}
&.ck-menu-bar__menu__panel_position_ws,
&.ck-menu-bar__menu__panel_position_sw {
border-top-right-radius: 0;
}
&.ck-menu-bar__menu__panel_position_en,
&.ck-menu-bar__menu__panel_position_ne {
border-bottom-left-radius: 0;
}
&.ck-menu-bar__menu__panel_position_wn,
&.ck-menu-bar__menu__panel_position_nw {
border-bottom-right-radius: 0;
}
&:focus {
outline: none;
}
}

View File

@ -1,207 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "../../../mixins/_shadow.css";
:root {
--ck-balloon-border-width: 1px;
--ck-balloon-arrow-offset: 2px;
--ck-balloon-arrow-height: 10px;
--ck-balloon-arrow-half-width: 8px;
--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);
}
.ck.ck-balloon-panel {
@mixin ck-rounded-corners;
@mixin ck-drop-shadow;
min-height: 15px;
background: var(--ck-color-panel-background);
border: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);
&.ck-balloon-panel_with-arrow {
&::before,
&::after {
width: 0;
height: 0;
border-style: solid;
}
}
&[class*="arrow_n"] {
&::before,
&::after {
border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);
}
&::before {
border-color: transparent transparent var(--ck-color-panel-border) transparent;
margin-top: calc( -1 * var(--ck-balloon-border-width) );
}
&::after {
border-color: transparent transparent var(--ck-color-panel-background) transparent;
margin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
}
}
&[class*="arrow_s"] {
&::before,
&::after {
border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);
}
&::before {
border-color: var(--ck-color-panel-border) transparent transparent;
filter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));
margin-bottom: calc( -1 * var(--ck-balloon-border-width) );
}
&::after {
border-color: var(--ck-color-panel-background) transparent transparent transparent;
margin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
}
}
&[class*="arrow_e"] {
&::before,
&::after {
border-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);
}
&::before {
border-color: transparent transparent transparent var(--ck-color-panel-border);
margin-right: calc( -1 * var(--ck-balloon-border-width) );
}
&::after {
border-color: transparent transparent transparent var(--ck-color-panel-background);
margin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
}
}
&[class*="arrow_w"] {
&::before,
&::after {
border-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;
}
&::before {
border-color: transparent var(--ck-color-panel-border) transparent transparent;
margin-left: calc( -1 * var(--ck-balloon-border-width) );
}
&::after {
border-color: transparent var(--ck-color-panel-background) transparent transparent;
margin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
}
}
&.ck-balloon-panel_arrow_n {
&::before,
&::after {
left: 50%;
margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
top: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_nw {
&::before,
&::after {
left: calc(2 * var(--ck-balloon-arrow-half-width));
top: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_ne {
&::before,
&::after {
right: calc(2 * var(--ck-balloon-arrow-half-width));
top: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_s {
&::before,
&::after {
left: 50%;
margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
bottom: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_sw {
&::before,
&::after {
left: calc(2 * var(--ck-balloon-arrow-half-width));
bottom: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_se {
&::before,
&::after {
right: calc(2 * var(--ck-balloon-arrow-half-width));
bottom: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_sme {
&::before,
&::after {
right: 25%;
margin-right: calc(2 * var(--ck-balloon-arrow-half-width));
bottom: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_smw {
&::before,
&::after {
left: 25%;
margin-left: calc(2 * var(--ck-balloon-arrow-half-width));
bottom: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_nme {
&::before,
&::after {
right: 25%;
margin-right: calc(2 * var(--ck-balloon-arrow-half-width));
top: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_nmw {
&::before,
&::after {
left: 25%;
margin-left: calc(2 * var(--ck-balloon-arrow-half-width));
top: calc(-1 * var(--ck-balloon-arrow-height));
}
}
&.ck-balloon-panel_arrow_e {
&::before,
&::after {
right: calc(-1 * var(--ck-balloon-arrow-height));
margin-top: calc(-1 * var(--ck-balloon-arrow-half-width));
top: 50%;
}
}
&.ck-balloon-panel_arrow_w {
&::before,
&::after {
left: calc(-1 * var(--ck-balloon-arrow-height));
margin-top: calc(-1 * var(--ck-balloon-arrow-half-width));
top: 50%;
}
}
}

View File

@ -1,33 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck .ck-balloon-rotator__navigation {
background: var(--ck-color-toolbar-background);
border-bottom: 1px solid var(--ck-color-toolbar-border);
padding: 0 var(--ck-spacing-small);
/* Let's keep similar appearance to `ck-toolbar`. */
& > * {
margin-right: var(--ck-spacing-small);
margin-top: var(--ck-spacing-small);
margin-bottom: var(--ck-spacing-small);
}
/* Gives counter more breath than buttons. */
& .ck-balloon-rotator__counter {
margin-right: var(--ck-spacing-standard);
/* We need to use smaller margin because of previous button's right margin. */
margin-left: var(--ck-spacing-small);
}
}
.ck .ck-balloon-rotator__content {
/* Disable default annotation shadow inside rotator with fake panels. */
& .ck.ck-annotation-wrapper {
box-shadow: none;
}
}

View File

@ -1,46 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_shadow.css";
:root {
--ck-balloon-fake-panel-offset-horizontal: 6px;
--ck-balloon-fake-panel-offset-vertical: 6px;
}
/* Let's use `.ck-balloon-panel` appearance. See: balloonpanel.css. */
.ck .ck-fake-panel div {
@mixin ck-drop-shadow;
min-height: 15px;
background: var(--ck-color-panel-background);
border: 1px solid var(--ck-color-panel-border);
border-radius: var(--ck-border-radius);
width: 100%;
height: 100%;
}
.ck .ck-fake-panel div:nth-child( 1 ) {
margin-left: var(--ck-balloon-fake-panel-offset-horizontal);
margin-top: var(--ck-balloon-fake-panel-offset-vertical);
}
.ck .ck-fake-panel div:nth-child( 2 ) {
margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);
margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);
}
.ck .ck-fake-panel div:nth-child( 3 ) {
margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);
margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);
}
/* If balloon is positioned above element, we need to move fake panel to the top. */
.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {
--ck-balloon-fake-panel-offset-vertical: -6px;
}

View File

@ -1,81 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
.ck-vertical-form > .ck-button:nth-last-child(2)::after {
border-right: 1px solid var(--ck-color-base-border);
}
.ck.ck-responsive-form {
padding: var(--ck-spacing-large);
&:focus {
/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */
outline: none;
}
@mixin ck-dir ltr {
& > :not(:first-child) {
margin-left: var(--ck-spacing-standard);
}
}
@mixin ck-dir rtl {
& > :not(:last-child) {
margin-left: var(--ck-spacing-standard);
}
}
@mixin ck-media-phone {
padding: 0;
width: calc(.8 * var(--ck-input-width));
& .ck-labeled-field-view {
margin: var(--ck-spacing-large) var(--ck-spacing-large) 0;
& .ck-input-text {
min-width: 0;
width: 100%;
}
/* Let the long error messages wrap in the narrow form. */
& .ck-labeled-field-view__error {
white-space: normal;
}
}
/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */
& > .ck-button:nth-last-child(2) {
&::after {
border-right: 1px solid var(--ck-color-base-border);
}
}
& > .ck-button:nth-last-child(1),
& > .ck-button:nth-last-child(2) {
padding: var(--ck-spacing-standard);
margin-top: var(--ck-spacing-large);
border-radius: 0;
&:not(:focus) {
border-top: 1px solid var(--ck-color-base-border);
}
@mixin ck-dir ltr {
margin-left: 0;
}
@mixin ck-dir rtl {
margin-left: 0;
&:last-of-type {
border-right: 1px solid var(--ck-color-base-border);
}
}
}
}
}

View File

@ -1,106 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
:root {
--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));
}
.ck.ck-search {
& > .ck-labeled-field-view {
& .ck-input {
width: 100%;
}
&.ck-search__query_with-icon {
--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);
& > .ck-labeled-field-view__input-wrapper > .ck-icon {
opacity: .5;
pointer-events: none;
}
& .ck-input {
width: 100%;
@mixin ck-dir ltr {
padding-left: var(--ck-search-field-view-horizontal-spacing);
}
@mixin ck-dir rtl {
&:not(.ck-input-text_empty) {
padding-left: var(--ck-search-field-view-horizontal-spacing);
}
}
}
}
&.ck-search__query_with-reset {
--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);
&.ck-labeled-field-view_empty {
--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);
}
& .ck-search__reset {
min-width: auto;
min-height: auto;
background: none;
opacity: .5;
padding: 0;
@mixin ck-dir ltr {
right: var(--ck-spacing-medium);
}
@mixin ck-dir rtl {
left: var(--ck-spacing-medium);
}
&:hover {
opacity: 1;
}
}
& .ck-input {
width: 100%;
@mixin ck-dir ltr {
&:not(.ck-input-text_empty) {
padding-right: var(--ck-search-field-view-horizontal-spacing);
}
}
@mixin ck-dir rtl {
padding-right: var(--ck-search-field-view-horizontal-spacing);
}
}
}
}
& > .ck-search__results {
min-width: 100%;
& > .ck-search__info {
width: 100%;
padding: var(--ck-spacing-medium) var(--ck-spacing-large);
& * {
white-space: normal;
}
& > span:first-child {
font-weight: bold;
}
& > span:last-child {
margin-top: var(--ck-spacing-medium);
}
}
}
}

View File

@ -1,29 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-toolbar-spinner-size: 18px;
}
.ck.ck-spinner-container {
width: var(--ck-toolbar-spinner-size);
height: var(--ck-toolbar-spinner-size);
animation: 1.5s infinite rotate linear;
}
.ck.ck-spinner {
width: var(--ck-toolbar-spinner-size);
height: var(--ck-toolbar-spinner-size);
border-radius: 50%;
border: 2px solid var(--ck-color-text);
border-top-color: transparent;
}
@keyframes rotate {
to {
transform: rotate(360deg)
}
}

View File

@ -1,12 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/*
* This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.
* This bug is especially visible when rows=1.
*/
.ck-textarea {
overflow-x: hidden
}

View File

@ -1,14 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-block-toolbar-button: var(--ck-color-text);
--ck-block-toolbar-button-size: var(--ck-font-size-normal);
}
.ck.ck-block-toolbar-button {
color: var(--ck-color-block-toolbar-button);
font-size: var(--ck-block-toolbar-size);
}

View File

@ -1,203 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
.ck.ck-toolbar {
@mixin ck-rounded-corners;
background: var(--ck-color-toolbar-background);
padding: 0 var(--ck-spacing-small);
border: 1px solid var(--ck-color-toolbar-border);
& .ck.ck-toolbar__separator {
align-self: stretch;
width: 1px;
min-width: 1px;
background: var(--ck-color-toolbar-border);
/*
* These margins make the separators look better in balloon toolbars (when aligned with the "tip").
* See https://github.com/ckeditor/ckeditor5/issues/7493.
*/
margin-top: var(--ck-spacing-small);
margin-bottom: var(--ck-spacing-small);
}
& .ck-toolbar__line-break {
height: 0;
}
& > .ck-toolbar__items {
& > *:not(.ck-toolbar__line-break) {
/* (#11) Separate toolbar items. */
margin-right: var(--ck-spacing-small);
}
/* Don't display a separator after an empty items container, for instance,
when all items were grouped */
&:empty + .ck.ck-toolbar__separator {
display: none;
}
}
& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),
& > .ck.ck-toolbar__grouped-dropdown {
/* Make sure items wrapped to the next line have v-spacing */
margin-top: var(--ck-spacing-small);
margin-bottom: var(--ck-spacing-small);
}
&.ck-toolbar_vertical {
/* Items in a vertical toolbar span the entire width. */
padding: 0;
/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */
& > .ck-toolbar__items > .ck {
/* Items in a vertical toolbar should span the horizontal space. */
width: 100%;
/* Items in a vertical toolbar should have no margin. */
margin: 0;
/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */
border-radius: 0;
}
}
&.ck-toolbar_compact {
/* No spacing around items. */
padding: 0;
& > .ck-toolbar__items > * {
/* Compact toolbar items have no spacing between them. */
margin: 0;
/* "Middle" children should have no rounded corners. */
&:not(:first-child):not(:last-child) {
border-radius: 0;
}
}
}
& > .ck.ck-toolbar__grouped-dropdown {
/*
* Dropdown button has asymmetric padding to fit the arrow.
* This button has no arrow so let's revert that padding back to normal.
*/
& > .ck.ck-button.ck-dropdown__button {
padding-left: var(--ck-spacing-tiny);
}
}
/* A drop-down containing the nested toolbar with configured items. */
& .ck-toolbar__nested-toolbar-dropdown {
/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */
& > .ck-dropdown__panel {
min-width: auto;
}
& > .ck-button > .ck-button__label {
max-width: 7em;
width: auto;
}
}
&:focus {
outline: none;
}
@nest .ck-toolbar-container & {
border: 0;
}
}
/* stylelint-disable */
/*
* Styles for RTL toolbars.
*
* Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"
* because its parent is not controlled by the editor framework.
*/
[dir="rtl"] .ck.ck-toolbar,
.ck.ck-toolbar[dir="rtl"] {
& > .ck-toolbar__items > .ck {
margin-right: 0;
}
&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {
/* (#11) Separate toolbar items. */
margin-left: var(--ck-spacing-small);
}
& > .ck-toolbar__items > .ck:last-child {
margin-left: 0;
}
&.ck-toolbar_compact > .ck-toolbar__items > .ck {
/* No rounded corners on the right side of the first child. */
&:first-child {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
/* No rounded corners on the left side of the last child. */
&:last-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
/* Separate the the separator form the grouping dropdown when some items are grouped. */
& > .ck.ck-toolbar__separator {
margin-left: var(--ck-spacing-small);
}
/* Some spacing between the items and the separator before the grouped items dropdown. */
&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {
margin-left: var(--ck-spacing-small);
}
}
/*
* Styles for LTR toolbars.
*
* Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"
* because its parent is not controlled by the editor framework.
*/
[dir="ltr"] .ck.ck-toolbar,
.ck.ck-toolbar[dir="ltr"] {
& > .ck-toolbar__items > .ck:last-child {
margin-right: 0;
}
&.ck-toolbar_compact > .ck-toolbar__items > .ck {
/* No rounded corners on the right side of the first child. */
&:first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
/* No rounded corners on the left side of the last child. */
&:last-child {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
/* Separate the the separator form the grouping dropdown when some items are grouped. */
& > .ck.ck-toolbar__separator {
margin-right: var(--ck-spacing-small);
}
/* Some spacing between the items and the separator before the grouped items dropdown. */
&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {
margin-right: var(--ck-spacing-small);
}
}
/* stylelint-enable */

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../../../mixins/_rounded.css";
.ck.ck-balloon-panel.ck-tooltip {
--ck-balloon-border-width: 0px;
--ck-balloon-arrow-offset: 0px;
--ck-balloon-arrow-half-width: 4px;
--ck-balloon-arrow-height: 4px;
--ck-tooltip-text-padding: 4px;
--ck-color-panel-background: var(--ck-color-tooltip-background);
padding: 0 var(--ck-spacing-medium);
& .ck-tooltip__text {
font-size: .9em;
line-height: 1.5;
color: var(--ck-color-tooltip-text);
}
&.ck-tooltip_multi-line .ck-tooltip__text {
white-space: break-spaces;
display: inline-block;
padding: var(--ck-tooltip-text-padding) 0;
max-width: 200px;
}
/* Reset balloon panel styles */
box-shadow: none;
/* Hide the default shadow of the .ck-balloon-panel tip */
&::before {
display: none;
}
}

View File

@ -1,123 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-color-base-foreground: hsl(0, 0%, 98%);
--ck-color-base-background: hsl(0, 0%, 100%);
--ck-color-base-border: hsl(220, 6%, 81%);
--ck-color-base-action: hsl(104, 50.2%, 42.5%);
--ck-color-base-focus: hsl(209, 92%, 70%);
--ck-color-base-text: hsl(0, 0%, 20%);
--ck-color-base-active: hsl(218.1, 100%, 58%);
--ck-color-base-active-focus: hsl(218.2, 100%, 52.5%);
--ck-color-base-error: hsl(15, 100%, 43%);
/* -- Generic colors ------------------------------------------------------------------------ */
--ck-color-focus-border-coordinates: 218, 81.8%, 56.9%;
--ck-color-focus-border: hsl(var(--ck-color-focus-border-coordinates));
--ck-color-focus-outer-shadow: hsl(212.4, 89.3%, 89%);
--ck-color-focus-disabled-shadow: hsla(209, 90%, 72%,.3);
--ck-color-focus-error-shadow: hsla(9,100%,56%,.3);
--ck-color-text: var(--ck-color-base-text);
--ck-color-shadow-drop: hsla(0, 0%, 0%, 0.15);
--ck-color-shadow-drop-active: hsla(0, 0%, 0%, 0.2);
--ck-color-shadow-inner: hsla(0, 0%, 0%, 0.1);
/* -- Buttons ------------------------------------------------------------------------------- */
--ck-color-button-default-background: transparent;
--ck-color-button-default-hover-background: hsl(0, 0%, 94.1%);
--ck-color-button-default-active-background: hsl(0, 0%, 94.1%);
--ck-color-button-default-disabled-background: transparent;
--ck-color-button-on-background: hsl(212, 100%, 97.1%);
--ck-color-button-on-hover-background: hsl(211.7, 100%, 92.9%);
--ck-color-button-on-active-background: hsl(211.7, 100%, 92.9%);
--ck-color-button-on-disabled-background: hsl(211, 15%, 95%);
--ck-color-button-on-color: hsl(218.1, 100%, 58%);
--ck-color-button-action-background: var(--ck-color-base-action);
--ck-color-button-action-hover-background: hsl(104, 53.2%, 40.2%);
--ck-color-button-action-active-background: hsl(104, 53.2%, 40.2%);
--ck-color-button-action-disabled-background: hsl(104, 44%, 58%);
--ck-color-button-action-text: var(--ck-color-base-background);
--ck-color-button-save: hsl(120, 100%, 27%);
--ck-color-button-cancel: hsl(15, 100%, 43%);
--ck-color-switch-button-off-background: hsl(0, 0%, 57.6%);
--ck-color-switch-button-off-hover-background: hsl(0, 0%, 49%);
--ck-color-switch-button-on-background: var(--ck-color-button-action-background);
--ck-color-switch-button-on-hover-background: hsl(104, 53.2%, 40.2%);
--ck-color-switch-button-inner-background: var(--ck-color-base-background);
--ck-color-switch-button-inner-shadow: hsla(0, 0%, 0%, 0.1);
/* -- Dropdown ------------------------------------------------------------------------------ */
--ck-color-dropdown-panel-background: var(--ck-color-base-background);
--ck-color-dropdown-panel-border: var(--ck-color-base-border);
/* -- Dialog -------------------------------------------------------------------------------- */
--ck-color-dialog-background: var(--ck-custom-background);
--ck-color-dialog-form-header-border: var(--ck-custom-border);
/* -- Input --------------------------------------------------------------------------------- */
--ck-color-input-background: var(--ck-color-base-background);
--ck-color-input-border: var(--ck-color-base-border);
--ck-color-input-error-border: var(--ck-color-base-error);
--ck-color-input-text: var(--ck-color-base-text);
--ck-color-input-disabled-background: hsl(0, 0%, 95%);
--ck-color-input-disabled-border: var(--ck-color-base-border);
--ck-color-input-disabled-text: hsl(0, 0%, 46%);
/* -- List ---------------------------------------------------------------------------------- */
--ck-color-list-background: var(--ck-color-base-background);
--ck-color-list-button-hover-background: var(--ck-color-button-default-hover-background);
--ck-color-list-button-on-background: var(--ck-color-button-on-color);
--ck-color-list-button-on-background-focus: var(--ck-color-button-on-color);
--ck-color-list-button-on-text: var(--ck-color-base-background);
/* -- Panel --------------------------------------------------------------------------------- */
--ck-color-panel-background: var(--ck-color-base-background);
--ck-color-panel-border: var(--ck-color-base-border);
/* -- Toolbar ------------------------------------------------------------------------------- */
--ck-color-toolbar-background: var(--ck-color-base-background);
--ck-color-toolbar-border: var(--ck-color-base-border);
/* -- Tooltip ------------------------------------------------------------------------------- */
--ck-color-tooltip-background: var(--ck-color-base-text);
--ck-color-tooltip-text: var(--ck-color-base-background);
/* -- Engine -------------------------------------------------------------------------------- */
--ck-color-engine-placeholder-text: hsl(0, 0%, 44%);
/* -- Upload -------------------------------------------------------------------------------- */
--ck-color-upload-bar-background: hsl(209, 92%, 70%);
/* -- Link -------------------------------------------------------------------------------- */
--ck-color-link-default: hsl(240, 100%, 47%);
--ck-color-link-selected-background: hsla(201, 100%, 56%, 0.1);
--ck-color-link-fake-selection: hsla(201, 100%, 56%, 0.3);
/* -- Search result highlight ---------------------------------------------------------------- */
--ck-color-highlight-background: hsl(60, 100%, 50%);
/* -- Generic colors ------------------------------------------------------------------------- */
--ck-color-light-red: hsl(0, 100%, 90%);
}

View File

@ -1,31 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
/**
* The geometry of the of focused element's outer shadow.
*/
--ck-focus-outer-shadow-geometry: 0 0 0 3px;
/**
* A visual style of focused element's outer shadow.
*/
--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);
/**
* A visual style of focused element's outer shadow (when disabled).
*/
--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);
/**
* A visual style of focused element's outer shadow (when has errors).
*/
--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);
/**
* A visual style of focused element's border or outline.
*/
--ck-focus-ring: 1px solid var(--ck-color-focus-border);
}

View File

@ -1,16 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-font-size-base: 13px;
--ck-line-height-base: 1.84615;
--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;
--ck-font-size-tiny: 0.7em;
--ck-font-size-small: 0.75em;
--ck-font-size-normal: 1em;
--ck-font-size-big: 1.4em;
--ck-font-size-large: 1.8em;
}

View File

@ -1,92 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
/* This is super-important. This is **manually** adjusted so a button without an icon
is never smaller than a button with icon, additionally making sure that text-less buttons
are perfect squares. The value is also shared by other components which should stay "in-line"
with buttons. */
--ck-ui-component-min-height: 2.3em;
}
/**
* Resets an element, ignoring its children.
*/
.ck.ck-reset,
.ck.ck-reset_all,
.ck-reset_all *:not(.ck-reset_all-excluded *) {
/* Do not include inheritable rules here. */
margin: 0;
padding: 0;
border: 0;
background: transparent;
text-decoration: none;
vertical-align: middle;
transition: none;
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */
word-wrap: break-word;
}
/**
* Resets an element AND its children.
*/
.ck.ck-reset_all,
.ck-reset_all *:not(.ck-reset_all-excluded *) {
/* These are rule inherited by all children elements. */
border-collapse: collapse;
font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);
color: var(--ck-color-text);
text-align: left;
white-space: nowrap;
cursor: auto;
float: none;
}
.ck-reset_all {
& .ck-rtl *:not(.ck-reset_all-excluded *) {
text-align: right;
}
& iframe:not(.ck-reset_all-excluded *) {
/* For IE */
vertical-align: inherit;
}
& textarea:not(.ck-reset_all-excluded *) {
white-space: pre-wrap;
}
& textarea:not(.ck-reset_all-excluded *),
& input[type="text"]:not(.ck-reset_all-excluded *),
& input[type="password"]:not(.ck-reset_all-excluded *) {
cursor: text;
}
& textarea[disabled]:not(.ck-reset_all-excluded *),
& input[type="text"][disabled]:not(.ck-reset_all-excluded *),
& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {
cursor: default;
}
& fieldset:not(.ck-reset_all-excluded *) {
padding: 10px;
border: 2px groove hsl(255, 7%, 88%);
}
& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {
/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */
padding: 0;
border: 0
}
}
/**
* Default UI rules for RTL languages.
*/
.ck[dir="rtl"],
.ck[dir="rtl"] .ck {
text-align: right;
}

View File

@ -1,21 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
/**
* A visual style of element's inner shadow (i.e. input).
*/
--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;
/**
* A visual style of element's drop shadow (i.e. panel).
*/
--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);
/**
* A visual style of element's active shadow (i.e. comment or suggestion).
*/
--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);
}

View File

@ -1,14 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-spacing-unit: 0.6em;
--ck-spacing-large: calc(var(--ck-spacing-unit) * 1.5);
--ck-spacing-standard: var(--ck-spacing-unit);
--ck-spacing-medium: calc(var(--ck-spacing-unit) * 0.8);
--ck-spacing-small: calc(var(--ck-spacing-unit) * 0.5);
--ck-spacing-tiny: calc(var(--ck-spacing-unit) * 0.3);
--ck-spacing-extra-tiny: calc(var(--ck-spacing-unit) * 0.16);
}

View File

@ -1,13 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "./_colors.css";
@import "./_disabled.css";
@import "./_focus.css";
@import "./_fonts.css";
@import "./_reset.css";
@import "./_rounded.css";
@import "./_shadow.css";
@import "./_spacing.css";

View File

@ -1,29 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/**
* Implements a button of given background color.
*
* @param {String} $background - Background color of the button.
* @param {String} $border - Border color of the button.
*/
@define-mixin ck-button-colors $prefix {
background: var($(prefix)-background);
&:not(.ck-disabled) {
&:hover {
background: var($(prefix)-hover-background);
}
&:active {
background: var($(prefix)-active-background);
}
}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
&.ck-disabled {
background: var($(prefix)-disabled-background);
}
}

View File

@ -1,173 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
@import "../mixins/_focus.css";
@import "../mixins/_shadow.css";
:root {
--ck-widget-outline-thickness: 3px;
--ck-widget-handler-icon-size: 16px;
--ck-widget-handler-animation-duration: 200ms;
--ck-widget-handler-animation-curve: ease;
--ck-color-widget-blurred-border: hsl(0, 0%, 87%);
--ck-color-widget-hover-border: hsl(43, 100%, 62%);
--ck-color-widget-editable-focus-background: var(--ck-color-base-background);
--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);
}
.ck .ck-widget {
outline-width: var(--ck-widget-outline-thickness);
outline-style: solid;
outline-color: transparent;
transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);
&.ck-widget_selected,
&.ck-widget_selected:hover {
outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);
}
&:hover {
outline-color: var(--ck-color-widget-hover-border);
}
}
.ck .ck-editor__nested-editable {
border: 1px solid transparent;
/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.
These styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */
&.ck-editor__nested-editable_focused,
&:focus {
@mixin ck-focus-ring;
@mixin ck-box-shadow var(--ck-inner-shadow);
background-color: var(--ck-color-widget-editable-focus-background);
}
}
.ck .ck-widget.ck-widget_with-selection-handle {
& .ck-widget__selection-handle {
padding: 4px;
box-sizing: border-box;
/* Background and opacity will be animated as the handler shows up or the widget gets selected. */
background-color: transparent;
opacity: 0;
/* Transition:
* background-color for the .ck-widget_selected state change,
* visibility for hiding the handler,
* opacity for the proper look of the icon when the handler disappears. */
transition:
background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);
/* Make only top corners round. */
border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;
/* Place the drag handler outside the widget wrapper. */
transform: translateY(-100%);
left: calc(0px - var(--ck-widget-outline-thickness));
top: 0;
& .ck-icon {
/* Make sure the dimensions of the icon are independent of the fon-size of the content. */
width: var(--ck-widget-handler-icon-size);
height: var(--ck-widget-handler-icon-size);
color: var(--ck-color-widget-drag-handler-icon-color);
/* The "selected" part of the icon is invisible by default */
& .ck-icon__selected-indicator {
opacity: 0;
/* Note: The animation is longer on purpose. Simply feels better. */
transition: opacity 300ms var(--ck-widget-handler-animation-curve);
}
}
/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */
&:hover .ck-icon .ck-icon__selected-indicator {
opacity: 1;
}
}
/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */
&:hover > .ck-widget__selection-handle {
opacity: 1;
background-color: var(--ck-color-widget-hover-border);
}
/* Show the selection handler when the widget is selected, but not for nested widgets. */
&.ck-widget_selected,
&.ck-widget_selected:hover {
& > .ck-widget__selection-handle {
opacity: 1;
background-color: var(--ck-color-focus-border);
/* When the widget is selected, notify the user using the proper look of the icon. */
& .ck-icon .ck-icon__selected-indicator {
opacity: 1;
}
}
}
}
/* In a RTL environment, align the selection handler to the right side of the widget */
/* stylelint-disable-next-line no-descending-specificity */
.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
left: auto;
right: calc(0px - var(--ck-widget-outline-thickness));
}
/* https://github.com/ckeditor/ckeditor5/issues/6415 */
.ck.ck-editor__editable.ck-read-only .ck-widget {
/* Prevent the :hover outline from showing up because of the used outline-color transition. */
transition: none;
&:not(.ck-widget_selected) {
/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.
* See: https://github.com/ckeditor/ckeditor5/issues/1261
*
* Leave the unit because this custom property is used in calc() by other features.
* See: https://github.com/ckeditor/ckeditor5/issues/6775
*/
--ck-widget-outline-thickness: 0px;
}
&.ck-widget_with-selection-handle {
& .ck-widget__selection-handle,
& .ck-widget__selection-handle:hover {
background: var(--ck-color-widget-blurred-border);
}
}
}
/* Style the widget when it's selected but the editable it belongs to lost focus. */
/* stylelint-disable-next-line no-descending-specificity */
.ck.ck-editor__editable.ck-blurred .ck-widget {
&.ck-widget_selected,
&.ck-widget_selected:hover {
outline-color: var(--ck-color-widget-blurred-border);
&.ck-widget_with-selection-handle {
& > .ck-widget__selection-handle,
& > .ck-widget__selection-handle:hover {
background: var(--ck-color-widget-blurred-border);
}
}
}
}
.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,
.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {
/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.
In fact, anything with overflow: hidden.
https://github.com/ckeditor/ckeditor5-block-quote/issues/28
https://github.com/ckeditor/ckeditor5-widget/issues/44
https://github.com/ckeditor/ckeditor5-widget/issues/66 */
margin-top: calc(1em + var(--ck-widget-handler-icon-size));
}

View File

@ -1,44 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-resizer-size: 10px;
/* Set the resizer with a 50% offset. */
--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);
--ck-resizer-border-width: 1px;
}
.ck .ck-widget__resizer {
outline: 1px solid var(--ck-color-resizer);
}
.ck .ck-widget__resizer__handle {
width: var(--ck-resizer-size);
height: var(--ck-resizer-size);
background: var(--ck-color-focus-border);
border: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);
border-radius: var(--ck-resizer-border-radius);
&.ck-widget__resizer__handle-top-left {
top: var(--ck-resizer-offset);
left: var(--ck-resizer-offset);
}
&.ck-widget__resizer__handle-top-right {
top: var(--ck-resizer-offset);
right: var(--ck-resizer-offset);
}
&.ck-widget__resizer__handle-bottom-right {
bottom: var(--ck-resizer-offset);
right: var(--ck-resizer-offset);
}
&.ck-widget__resizer__handle-bottom-left {
bottom: var(--ck-resizer-offset);
left: var(--ck-resizer-offset);
}
}

View File

@ -1,280 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
:root {
--ck-widget-type-around-button-size: 20px;
--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);
--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);
--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);
--ck-color-widget-type-around-button-radar-start-alpha: 0;
--ck-color-widget-type-around-button-radar-end-alpha: .3;
--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);
}
@define-mixin ck-widget-type-around-button-visible {
opacity: 1;
pointer-events: auto;
}
@define-mixin ck-widget-type-around-button-hidden {
opacity: 0;
pointer-events: none;
}
.ck .ck-widget {
/*
* Styles of the type around buttons
*/
& .ck-widget__type-around__button {
width: var(--ck-widget-type-around-button-size);
height: var(--ck-widget-type-around-button-size);
background: var(--ck-color-widget-type-around-button);
border-radius: 100px;
transition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);
@mixin ck-widget-type-around-button-hidden;
& svg {
width: 10px;
height: 8px;
transform: translate(-50%,-50%);
transition: transform .5s ease;
margin-top: 1px;
& * {
stroke-dasharray: 10;
stroke-dashoffset: 0;
fill: none;
stroke: var(--ck-color-widget-type-around-button-icon);
stroke-width: 1.5px;
stroke-linecap: round;
stroke-linejoin: round;
}
& line {
stroke-dasharray: 7;
}
}
&:hover {
/*
* Display the "sonar" around the button when hovered.
*/
animation: ck-widget-type-around-button-sonar 1s ease infinite;
/*
* Animate active button's icon.
*/
& svg {
& polyline {
animation: ck-widget-type-around-arrow-dash 2s linear;
}
& line {
animation: ck-widget-type-around-arrow-tip-dash 2s linear;
}
}
}
}
/*
* Show type around buttons when the widget gets selected or being hovered.
*/
&.ck-widget_selected,
&:hover {
& > .ck-widget__type-around > .ck-widget__type-around__button {
@mixin ck-widget-type-around-button-visible;
}
}
/*
* Styles for the buttons when the widget is NOT selected (but the buttons are visible
* and still can be hovered).
*/
&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {
background: var(--ck-color-widget-type-around-button-hover);
}
/*
* Styles for the buttons when:
* - the widget is selected,
* - or the button is being hovered (regardless of the widget state).
*/
&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,
& > .ck-widget__type-around > .ck-widget__type-around__button:hover {
background: var(--ck-color-widget-type-around-button-active);
&::after {
width: calc(var(--ck-widget-type-around-button-size) - 2px);
height: calc(var(--ck-widget-type-around-button-size) - 2px);
border-radius: 100px;
background: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);
}
}
/*
* Styles for the "before" button when the widget has a selection handle. Because some space
* is consumed by the handle, the button must be moved slightly to the right to let it breathe.
*/
&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {
margin-left: 20px;
}
/*
* Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.
*/
& .ck-widget__type-around__fake-caret {
pointer-events: none;
height: 1px;
animation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;
/*
* The semi-transparent-outline+background combo improves the contrast
* when the background underneath the fake caret is dark.
*/
outline: solid 1px hsla(0, 0%, 100%, .5);
background: var(--ck-color-base-text);
}
/*
* Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).
* Despite the widget being physically selected in the model, its outline should disappear.
*/
&.ck-widget_selected {
&.ck-widget_type-around_show-fake-caret_before,
&.ck-widget_type-around_show-fake-caret_after {
outline-color: transparent;
}
}
&.ck-widget_type-around_show-fake-caret_before,
&.ck-widget_type-around_show-fake-caret_after {
/*
* When the "fake caret" is visible we simulate that the widget is not selected
* (despite being physically selected), so the outline color should be for the
* unselected widget.
*/
&.ck-widget_selected:hover {
outline-color: var(--ck-color-widget-hover-border);
}
/*
* Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).
* In this state, the type around buttons would collide with the fake carets so they should disappear.
*/
& > .ck-widget__type-around > .ck-widget__type-around__button {
@mixin ck-widget-type-around-button-hidden;
}
/*
* Fake horizontal caret integration with the selection handle. When the caret is visible, simply
* hide the handle because it intersects with the caret (and does not make much sense anyway).
*/
&.ck-widget_with-selection-handle {
&.ck-widget_selected,
&.ck-widget_selected:hover {
& > .ck-widget__selection-handle {
opacity: 0
}
}
}
/*
* Fake horizontal caret integration with the resize UI. When the caret is visible, simply
* hide the resize UI because it creates too much noise. It can be visible when the user
* hovers the widget, though.
*/
&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {
opacity: 0
}
}
}
/*
* Styles for the "before" button when the widget has a selection handle in an RTL environment.
* The selection handler is aligned to the right side of the widget so there is no need to create
* additional space for it next to the "before" button.
*/
.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {
margin-left: 0;
margin-right: 20px;
}
/*
* Hide type around buttons when the widget is selected as a child of a selected
* nested editable (e.g. mulit-cell table selection).
*
* See https://github.com/ckeditor/ckeditor5/issues/7263.
*/
.ck-editor__nested-editable.ck-editor__editable_selected {
& .ck-widget {
&.ck-widget_selected,
&:hover {
& > .ck-widget__type-around > .ck-widget__type-around__button {
@mixin ck-widget-type-around-button-hidden;
}
}
}
}
/*
* Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).
*/
.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {
background: var(--ck-color-widget-type-around-button-blurred-editable);
& svg * {
stroke: hsl(0,0%,60%);
}
}
@keyframes ck-widget-type-around-arrow-dash {
0% {
stroke-dashoffset: 10;
}
20%, 100% {
stroke-dashoffset: 0;
}
}
@keyframes ck-widget-type-around-arrow-tip-dash {
0%, 20% {
stroke-dashoffset: 7;
}
40%, 100% {
stroke-dashoffset: 0;
}
}
@keyframes ck-widget-type-around-button-sonar {
0% {
box-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));
}
50% {
box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));
}
100% {
box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));
}
}
@keyframes ck-widget-type-around-fake-caret-pulse {
0% {
opacity: 1;
}
49% {
opacity: 1;
}
50% {
opacity: 0;
}
99% {
opacity: 0;
}
100% {
opacity: 1;
}
}

View File

@ -1,19 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/**
* Implements rounded corner interface for .ck-rounded-corners class.
*
* @see $ck-border-radius
*/
@define-mixin ck-rounded-corners {
border-radius: 0;
@nest .ck-rounded-corners &,
&.ck-rounded-corners {
border-radius: var(--ck-border-radius);
@mixin-content;
}
}

View File

@ -1,18 +0,0 @@
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/**
* A helper to combine multiple shadows.
*/
@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {
box-shadow: $shadowA, $shadowB;
}
/**
* Gives an element a drop shadow so it looks like a floating panel.
*/
@define-mixin ck-drop-shadow {
@mixin ck-box-shadow var(--ck-drop-shadow);
}

Some files were not shown because too many files have changed in this diff Show More