1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-23 02:38:35 +00:00

Remove fomantic checkbox module (#30162)

CSS is pretty slim already and the `.ui.toggle.checkbox` sliders on
admin page also still work. The only necessary JS is the one that links
`input` and `label` so that it can be toggled via label. All checkboxes
except the markdown ones render at `--checkbox-size: 16px` now.

<img width="174" alt="Screenshot 2024-03-28 at 22 15 10"
src="https://github.com/go-gitea/gitea/assets/115237/3455c1bb-166b-47e4-9847-2d20dd1f04db">

<img width="499" alt="Screenshot 2024-03-28 at 21 00 07"
src="https://github.com/go-gitea/gitea/assets/115237/412be2b3-d5a0-478a-b17b-43e6bc12e8ce">

<img width="83" alt="Screenshot 2024-03-28 at 22 14 34"
src="https://github.com/go-gitea/gitea/assets/115237/d8c89838-a420-4723-8c49-89405bb39474">

---------

Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
silverwind
2024-03-29 05:56:01 +01:00
committed by GitHub
parent 8acc7aab4c
commit 8fd15990c5
18 changed files with 180 additions and 1729 deletions

View File

@@ -2323,715 +2323,6 @@
Theme Overrides
*******************************/
/*******************************
Site Overrides
*******************************/
/*!
* # Fomantic-UI - Checkbox
* http://github.com/fomantic/Fomantic-UI/
*
*
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
/*******************************
Checkbox
*******************************/
/*--------------
Content
---------------*/
.ui.checkbox {
position: relative;
display: inline-block;
backface-visibility: hidden;
outline: none;
vertical-align: baseline;
font-style: normal;
min-height: 17px;
font-size: 1em;
line-height: 17px;
min-width: 17px;
}
/* HTML Checkbox */
.ui.checkbox input[type="checkbox"],
.ui.checkbox input[type="radio"] {
cursor: pointer;
position: absolute;
top: 0;
left: 0;
opacity: 0 !important;
outline: none;
z-index: 3;
width: 17px;
height: 17px;
}
.ui.checkbox label {
cursor: auto;
position: relative;
display: block;
padding-left: 1.85714em;
outline: none;
font-size: 1em;
}
.ui.checkbox label:before {
position: absolute;
top: 0;
left: 0;
width: 17px;
height: 17px;
content: '';
background: #FFFFFF;
border-radius: 0.21428571rem;
transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
border: 1px solid #D4D4D5;
}
/*--------------
Checkmark
---------------*/
.ui.checkbox label:after {
position: absolute;
font-size: 14px;
top: 0;
left: 0;
width: 17px;
height: 17px;
text-align: center;
opacity: 0;
color: rgba(0, 0, 0, 0.87);
transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
}
/*--------------
Label
---------------*/
/* Inside */
.ui.checkbox label,
.ui.checkbox + label {
color: rgba(0, 0, 0, 0.87);
transition: color 0.1s ease;
}
/* Outside */
.ui.checkbox + label {
vertical-align: middle;
}
/*******************************
States
*******************************/
/*--------------
Hover
---------------*/
.ui.checkbox label:hover::before {
background: #FFFFFF;
border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox label:hover,
.ui.checkbox + label:hover {
color: rgba(0, 0, 0, 0.8);
}
/*--------------
Down
---------------*/
.ui.checkbox label:active::before {
background: #F9FAFB;
border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox label:active::after {
color: rgba(0, 0, 0, 0.95);
}
.ui.checkbox input:active ~ label {
color: rgba(0, 0, 0, 0.95);
}
/*--------------
Focus
---------------*/
.ui.checkbox input:focus ~ label:before {
background: #FFFFFF;
border-color: #96C8DA;
}
.ui.checkbox input:focus ~ label:after {
color: rgba(0, 0, 0, 0.95);
}
.ui.checkbox input:focus ~ label {
color: rgba(0, 0, 0, 0.95);
}
/*--------------
Active
---------------*/
.ui.checkbox input:checked ~ label:before {
background: #FFFFFF;
border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox input:checked ~ label:after {
opacity: 1;
color: rgba(0, 0, 0, 0.95);
}
/*--------------
Indeterminate
---------------*/
.ui.checkbox input:not([type=radio]):indeterminate ~ label:before {
background: #FFFFFF;
border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox input:not([type=radio]):indeterminate ~ label:after {
opacity: 1;
color: rgba(0, 0, 0, 0.95);
}
.ui.indeterminate.toggle.checkbox input:not([type=radio]):indeterminate ~ label:before {
background: rgba(0, 0, 0, 0.15);
}
.ui.indeterminate.toggle.checkbox input:not([type=radio]) ~ label:after {
left: 1.075rem;
}
/*--------------
Active Focus
---------------*/
.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before,
.ui.checkbox input:checked:focus ~ label:before {
background: #FFFFFF;
border-color: #96C8DA;
}
.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after,
.ui.checkbox input:checked:focus ~ label:after {
color: rgba(0, 0, 0, 0.95);
}
/*--------------
Read-Only
---------------*/
.ui.read-only.checkbox,
.ui.read-only.checkbox label {
cursor: default;
}
/*--------------
Disabled
---------------*/
.ui.disabled.checkbox label,
.ui.checkbox input[disabled] ~ label {
cursor: default !important;
opacity: 0.5;
color: #000000;
pointer-events: none;
}
/*--------------
Hidden
---------------*/
/* Initialized checkbox moves input below element
to prevent manually triggering */
.ui.checkbox input.hidden {
z-index: -1;
}
/* Selectable Label */
.ui.checkbox input.hidden + label {
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
/*******************************
Types
*******************************/
/*--------------
Radio
---------------*/
.ui.radio.checkbox {
min-height: 15px;
}
.ui.radio.checkbox label {
padding-left: 1.85714em;
}
/* Box */
.ui.radio.checkbox label:before {
content: '';
transform: none;
width: 15px;
height: 15px;
border-radius: 500rem;
top: 1px;
left: 0;
}
/* Bullet */
.ui.radio.checkbox label:after {
border: none;
content: '' !important;
line-height: 15px;
top: 1px;
left: 0;
width: 15px;
height: 15px;
border-radius: 500rem;
transform: scale(0.46666667);
background-color: rgba(0, 0, 0, 0.87);
}
/* Focus */
.ui.radio.checkbox input:focus ~ label:before {
background-color: #FFFFFF;
}
.ui.radio.checkbox input:focus ~ label:after {
background-color: rgba(0, 0, 0, 0.95);
}
/* Indeterminate */
.ui.radio.checkbox input:indeterminate ~ label:after {
opacity: 0;
}
/* Active */
.ui.radio.checkbox input:checked ~ label:before {
background-color: #FFFFFF;
}
.ui.radio.checkbox input:checked ~ label:after {
background-color: rgba(0, 0, 0, 0.95);
}
/* Active Focus */
.ui.radio.checkbox input:focus:checked ~ label:before {
background-color: #FFFFFF;
}
.ui.radio.checkbox input:focus:checked ~ label:after {
background-color: rgba(0, 0, 0, 0.95);
}
/*--------------
Slider
---------------*/
.ui.slider.checkbox {
min-height: 1.25rem;
}
/* Input */
.ui.slider.checkbox input {
width: 3.5rem;
height: 1.25rem;
}
/* Label */
.ui.slider.checkbox label {
padding-left: 4.5rem;
line-height: 1rem;
color: rgba(0, 0, 0, 0.4);
}
/* Line */
.ui.slider.checkbox label:before {
display: block;
position: absolute;
content: '';
transform: none;
border: none !important;
left: 0;
z-index: 1;
top: 0.4rem;
background-color: rgba(0, 0, 0, 0.05);
width: 3.5rem;
height: 0.21428571rem;
border-radius: 500rem;
transition: background 0.3s ease;
}
/* Handle */
.ui.slider.checkbox label:after {
background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
position: absolute;
content: '' !important;
opacity: 1;
z-index: 2;
border: none;
box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
width: 1.5rem;
height: 1.5rem;
top: -0.25rem;
left: 0;
transform: none;
border-radius: 500rem;
transition: left 0.3s ease;
}
/* Focus */
.ui.slider.checkbox input:focus ~ label:before {
background-color: rgba(0, 0, 0, 0.15);
border: none;
}
/* Hover */
.ui.slider.checkbox label:hover {
color: rgba(0, 0, 0, 0.8);
}
.ui.slider.checkbox label:hover::before {
background: rgba(0, 0, 0, 0.15);
}
/* Active */
.ui.slider.checkbox input:checked ~ label {
color: rgba(0, 0, 0, 0.95) !important;
}
.ui.slider.checkbox input:checked ~ label:before {
background-color: #545454 !important;
}
.ui.slider.checkbox input:checked ~ label:after {
left: 2rem;
}
/* Active Focus */
.ui.slider.checkbox input:focus:checked ~ label {
color: rgba(0, 0, 0, 0.95) !important;
}
.ui.slider.checkbox input:focus:checked ~ label:before {
background-color: #000000 !important;
}
/*--------------
Toggle
---------------*/
.ui.toggle.checkbox {
min-height: 1.5rem;
}
/* Input */
.ui.toggle.checkbox input {
width: 3.5rem;
height: 1.5rem;
}
/* Label */
.ui.toggle.checkbox label {
min-height: 1.5rem;
padding-left: 4.5rem;
color: rgba(0, 0, 0, 0.87);
}
.ui.toggle.checkbox label {
padding-top: 0.15em;
}
/* Switch */
.ui.toggle.checkbox label:before {
display: block;
position: absolute;
content: '';
z-index: 1;
transform: none;
border: none;
top: 0;
background: rgba(0, 0, 0, 0.05);
box-shadow: none;
width: 3.5rem;
height: 1.5rem;
border-radius: 500rem;
}
/* Handle */
.ui.toggle.checkbox label:after {
background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
position: absolute;
content: '' !important;
opacity: 1;
z-index: 2;
border: none;
box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
width: 1.5rem;
height: 1.5rem;
top: 0;
left: 0;
border-radius: 500rem;
transition: background 0.3s ease, left 0.3s ease;
}
.ui.toggle.checkbox input ~ label:after {
left: -0.05rem;
box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
}
/* Focus */
.ui.toggle.checkbox input:focus ~ label:before {
background-color: rgba(0, 0, 0, 0.15);
border: none;
}
/* Hover */
.ui.toggle.checkbox label:hover::before {
background-color: rgba(0, 0, 0, 0.15);
border: none;
}
/* Active */
.ui.toggle.checkbox input:checked ~ label {
color: rgba(0, 0, 0, 0.95) !important;
}
.ui.toggle.checkbox input:checked ~ label:before {
background-color: #2185D0 !important;
}
.ui.toggle.checkbox input:checked ~ label:after {
left: 2.15rem;
box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
}
/* Active Focus */
.ui.toggle.checkbox input:focus:checked ~ label {
color: rgba(0, 0, 0, 0.95) !important;
}
.ui.toggle.checkbox input:focus:checked ~ label:before {
background-color: #0d71bb !important;
}
/*******************************
Variations
*******************************/
/*--------------
Fitted
---------------*/
.ui.fitted.checkbox label {
padding-left: 0 !important;
}
.ui.fitted.toggle.checkbox {
width: 3.5rem;
}
.ui.fitted.slider.checkbox {
width: 3.5rem;
}
/*--------------------
Size
---------------------*/
.ui.mini.checkbox {
font-size: 0.78571429em;
}
.ui.tiny.checkbox {
font-size: 0.85714286em;
}
.ui.small.checkbox {
font-size: 0.92857143em;
}
.ui.large.checkbox {
font-size: 1.14285714em;
}
.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
transform: scale(1.14285714);
transform-origin: left;
}
.ui.large.form .checkbox.radio label:before,
.ui.large.checkbox.radio label:before {
transform: scale(1.14285714);
transform-origin: left;
}
.ui.large.form .checkbox.radio label:after,
.ui.large.checkbox.radio label:after {
transform: scale(0.57142857);
transform-origin: left;
left: 0.33571429em;
}
.ui.big.checkbox {
font-size: 1.28571429em;
}
.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
transform: scale(1.28571429);
transform-origin: left;
}
.ui.big.form .checkbox.radio label:before,
.ui.big.checkbox.radio label:before {
transform: scale(1.28571429);
transform-origin: left;
}
.ui.big.form .checkbox.radio label:after,
.ui.big.checkbox.radio label:after {
transform: scale(0.64285714);
transform-origin: left;
left: 0.37142857em;
}
.ui.huge.checkbox {
font-size: 1.42857143em;
}
.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
transform: scale(1.42857143);
transform-origin: left;
}
.ui.huge.form .checkbox.radio label:before,
.ui.huge.checkbox.radio label:before {
transform: scale(1.42857143);
transform-origin: left;
}
.ui.huge.form .checkbox.radio label:after,
.ui.huge.checkbox.radio label:after {
transform: scale(0.71428571);
transform-origin: left;
left: 0.40714286em;
}
.ui.massive.checkbox {
font-size: 1.71428571em;
}
.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label:after,
.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before,
.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label:before {
transform: scale(1.71428571);
transform-origin: left;
}
.ui.massive.form .checkbox.radio label:before,
.ui.massive.checkbox.radio label:before {
transform: scale(1.71428571);
transform-origin: left;
}
.ui.massive.form .checkbox.radio label:after,
.ui.massive.checkbox.radio label:after {
transform: scale(0.85714286);
transform-origin: left;
left: 0.47857143em;
}
/*******************************
Theme Overrides
*******************************/
@font-face {
font-family: 'Checkbox';
src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype');
}
/* Checkmark */
.ui.checkbox label:after,
.ui.checkbox .box:after {
font-family: 'Checkbox';
}
/* Checked */
.ui.checkbox input:checked ~ .box:after,
.ui.checkbox input:checked ~ label:after {
content: '\e800';
}
/* Indeterminate */
.ui.checkbox input:indeterminate ~ .box:after,
.ui.checkbox input:indeterminate ~ label:after {
font-size: 12px;
content: '\e801';
}
/* UTF Reference
.check:before { content: '\e800'; }
.dash:before { content: '\e801'; }
.plus:before { content: '\e802'; }
*/
/*******************************
Site Overrides
*******************************/