Files
gitea-themes/styles/primitives/radius.ts
T
chuan 434161de5b
Release / release (push) Failing after 13s
Refactor theme management and update documentation
- Removed `.github-theme` from .gitignore as it is no longer needed.
- Updated `official-style-map.md` to clarify the maintenance of GitHub Light style increments within the current repository.
- Revised `rules.md` to reflect the new approach to maintaining GitHub Light theme increments.
- Changed test script in `package.json` to verify generated theme instead of GitHub migration.
- Added `verify-generated-theme.ts` script to validate the generated theme files.
- Migrated various styles from `.github-theme` to the new structure, updating comments and references accordingly.
2026-05-18 01:26:17 +08:00

281 lines
7.3 KiB
TypeScript

export const radius = `
.ui.form textarea,
.ui.form input:not([type]),
.ui.form input[type="date"],
.ui.form input[type="datetime-local"],
.ui.form input[type="email"],
.ui.form input[type="number"],
.ui.form input[type="password"],
.ui.form input[type="search"],
.ui.form input[type="tel"],
.ui.form input[type="time"],
.ui.form input[type="text"],
.ui.form input[type="file"],
.ui.form input[type="url"] {
border-radius: var(--border-radius);
&:focus {
border-radius: var(--border-radius);
}
}
.ui.form select {
border-radius: var(--border-radius);
}
.ui.input {
textarea,
/* 排除复选框和单选框 */
input:not([type=checkbox],[type=radio]) {
border-radius: var(--border-radius);
}
}
.ui {
&.menu,
&.modal,
&.label,
&.table,
&.segment,
&.segments,
&.grid.segment,
&.selection.dropdown,
&.horizontal.segments,
&.active.empty.selection.dropdown {
border-radius: var(--border-radius);
}
}
.ui.dropdown,
.ui.inline.dropdown,
.ui.pointing.upward.dropdown,
.ui.top.pointing.upward.dropdown {
.menu {
border-radius: var(--border-radius);
}
}
.ui.search > .results,
.ui.search.selection .prompt,
.ui.pointing.dropdown > .menu,
.ui.loading.form.segments:before,
.ui.secondary.menu .dropdown.item > .menu,
.ui.segments:not(.horizontal) > .segment:has(~ .tw-hidden) {
border-radius: var(--border-radius);
}
`;
export const radiusImportant = `
.ui.dropdown .menu .menu,
.ui.dropdown .menu .left.menu,
.ui.dropdown .menu .right.menu,
.ui.dropdown > .left.menu .menu,
.ui.floating.dropdown .menu,
.ui.floating.dropdown > .menu,
.ui.dropdown .right.menu > .menu,
.ui.secondary.vertical.menu > .item {
border-radius: var(--border-radius) !important;
}
/* 目前为仓库列表/探索的二级菜单, 改版需要替换为全圆角 */
.ui.secondary.tabular.menu .item {
border-radius: var(--border-radius) !important;
&.active,
&.active:hover,
&:hover {
border-radius: var(--border-radius) !important;
}
}
`;
export const radiusTop = `
.ui.vertical.menu > .item,
.ui.vertical.menu > .active.item,
.ui.segments:not(.horizontal) > .segment {
&:first-child {
border-radius: var(--border-radius) var(--border-radius) 0 0;
}
}
.ui.top.attached.header,
.ui.upward.dropdown > .menu,
.ui.upward.dropdown.button:not(.pointing):not(.floating).active,
.ui[class*="top attached"].menu,
.ui[class*="top attached"].segment,
.ui[class*="top attached"].segment:last-child,
.ui.search > .results > :first-child,
.ui.modal > i.icon:first-child + *,
.ui.modal > .dimmer:first-child + i.icon + *,
.ui.modal > .dimmer:first-child + *:not(.icon),
.ui.modal > :first-child:not(.icon):not(.dimmer) {
border-radius: var(--border-radius) var(--border-radius) 0 0;
}
`;
export const radiusTopImportant = `
.ui.tabular.menu .item,
.ui.simple.upward.dropdown {
&.active,
&.active:hover,
&:hover {
border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}
}
`;
export const radiusBottom = `
.ui.attached.segment,
.ui.vertical.menu > .item,
.ui.vertical.menu > .active.item,
.ui.segments:not(.horizontal) > .segment {
&:last-child {
border-radius: 0 0 var(--border-radius) var(--border-radius);
}
}
.ui.modal,
.ui.search > .results {
> :last-child {
border-radius: 0 0 var(--border-radius) var(--border-radius);
}
}
.ui.selection.dropdown,
.ui.menu .dropdown.item {
.menu {
border-radius: 0 0 var(--border-radius) var(--border-radius);
}
}
.ui.bottom.attached.header,
.ui[class*="bottom attached"].table,
.ui.segment[class*="bottom attached"],
.ui.attached.segment:has(+ .ui.modal),
.ui.attached.segment:has(+ .page.buttons),
.ui.attached.segment:has(+ .ui[class*="top attached"].header),
.ui.segment:has(+ .ui.segment:not(.attached)) {
border-radius: 0 0 var(--border-radius) var(--border-radius);
}
`;
export const radiusBottomImportant = `
.ui.upward.selection.dropdown.visible,
.ui.active.upward.selection.dropdown {
border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}
`;
export const radiusLeft = `
.ui.menu > .item,
.ui.action.input > .button,
.ui.action.input > .dropdown,
.ui.horizontal.segments > .segment {
&:first-child {
border-radius: var(--border-radius) 0 0 var(--border-radius);
}
}
.ui[class*="left icon"].input > i.icon,
.ui.action.input > .buttons:first-child > .button {
border-radius: var(--border-radius) 0 0 var(--border-radius);
}
`;
export const radiusRight = `
.ui.compact.menu .item,
.ui.compact.menu:not(.secondary) .item,
.ui.pagination.menu .item,
.ui.action.input > .button,
.ui.action.input > .dropdown,
.ui.horizontal.segments > .segment {
&:last-child {
border-radius: 0 var(--border-radius) var(--border-radius) 0;
}
}
.ui.icon.input > i.icon,
.ui.buttons .unescape-button,
.ui.action.input > .buttons:last-child > .button {
border-radius: 0 var(--border-radius) var(--border-radius) 0;
}
`;
export const radiusTopLeft = `
.ui.top.attached.menu > .item:first-child,
.ui.table > thead > tr:first-child > th:first-child {
border-top-left-radius: var(--border-radius);
}
`;
export const radiusTopRight = `
.ui.table > thead > tr:first-child > th:last-child,
.ui.category.search > .results .category:first-child .name + .result {
border-top-right-radius: var(--border-radius);
}
`;
export const radiusBottomLeft = `
.ui.table > tfoot > tr:first-child {
> th,
> td {
&:first-child {
border-bottom-left-radius: var(--border-radius);
}
}
}
`;
export const radiusBottomRight = `
.ui.table > tfoot > tr:first-child {
> th,
> td {
&:last-child {
border-bottom-right-radius: var(--border-radius);
}
}
}
.ui.category.search > .results .category:last-child .result:last-child {
border-bottom-right-radius: var(--border-radius);
}
`;
export const onlyChild = `
:is(.ui.vertical.menu > .active.item:only-child, .ui.segments:not(.horizontal) > .segment:only-child) {
border-radius: var(--border-radius);
}
.ui.table > thead > tr:first-child > th:only-child {
border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.ui.table > tfoot > tr:first-child {
> th,
> td {
&:only-child {
border-radius: 0 0 var(--border-radius) var(--border-radius);
}
}
}
`;
export const fixRadius = `
/* 评论列表标题 */
.repository.view.issue .comment-list .comment > .content > div:first-child {
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
}
/* 评论列表内容 */
.repository.view.issue .comment-list .comment > .content > div:last-child {
border-bottom-left-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
}
`;
export const fixWhyRadius = `
/* Issue 菜单第一个按钮 */
.ui.secondary.menu .item {
border-radius: var(--border-radius);
}
`;
export const stylesheet = [radius, radiusImportant, radiusTop, radiusTopImportant, radiusBottom, radiusBottomImportant, radiusLeft, radiusRight, radiusTopLeft, radiusTopRight, radiusBottomLeft, radiusBottomRight, onlyChild, fixRadius, fixWhyRadius].join("\n\n");