增加ActionIcon基础样式的支持。

This commit is contained in:
徐涛 2024-12-27 13:56:40 +08:00
parent f9030ed03a
commit 367f2a7e66

View File

@ -1,7 +1,5 @@
@layer base { @layer base {
a, :where(a, a:hover, a:visited) {
a:hover,
a:visited {
text-decoration: none; text-decoration: none;
color: var(--color-typo-dark); color: var(--color-typo-dark);
} }
@ -26,16 +24,17 @@
padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4); padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
font-size: var(--font-size-s); font-size: var(--font-size-s);
line-height: 1.5em; line-height: 1.5em;
color: var(--color-typo-dark); color: var(--color-fg);
background-color: var(--button-neutral-bg); background-color: var(--button-neutral-bg);
&:hover { &:hover:not([disabled]) {
background-color: oklch(from var(--button-neutral-bg) calc(l + (1 - l) * 0.2) c h); background-color: oklch(from var(--button-neutral-bg) calc(l + (1 - l) * 0.2) c h);
} }
&:active { &:active:not([disabled]) {
background-color: oklch(from var(--button-neutral-bg) calc(l * 0.9) c h); background-color: oklch(from var(--button-neutral-bg) calc(l * 0.9) c h);
} }
&[disabled] { &[disabled] {
color: var(--color-typo-dark-darkness); cursor: not-allowed;
color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: oklch(from var(--button-neutral-bg) calc(l * 0.8) calc(c * 0.1) h); background-color: oklch(from var(--button-neutral-bg) calc(l * 0.8) calc(c * 0.1) h);
} }
&.small { &.small {
@ -48,75 +47,103 @@
font-size: var(--font-size-l); font-size: var(--font-size-l);
} }
&.primary { &.primary {
color: var(--color-typo-dark-lightness); color: var(--color-fg);
background-color: var(--color-primary); background-color: var(--color-primary);
&:hover { &:hover:not([disabled]) {
background-color: var(--color-primary-hover); background-color: var(--color-primary-hover);
} }
&:active { &:active:not([disabled]) {
background-color: var(--color-primary-active); background-color: var(--color-primary-active);
} }
&[disabled] { &[disabled] {
color: var(--color-typo-dark-darkness); color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: var(--color-primary-disabled); background-color: var(--color-primary-disabled);
} }
} }
&.secondary { &.secondary {
color: var(--color-typo-dark-lightness); color: var(--color-fg);
background-color: var(--color-secondary); background-color: var(--color-secondary);
&:hover { &:hover:not([disabled]) {
background-color: var(--color-secondary-hover); background-color: var(--color-secondary-hover);
} }
&:active { &:active:not([disabled]) {
background-color: var(--color-secondary-active); background-color: var(--color-secondary-active);
} }
&[disabled] { &[disabled] {
color: var(--color-typo-dark-darkness); color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: var(--color-secondary-disabled); background-color: var(--color-secondary-disabled);
} }
} }
&.accent { &.accent {
color: var(--color-typo-dark-lightness); color: var(--color-fg);
background-color: var(--color-accent); background-color: var(--color-accent);
&:hover { &:hover:not([disabled]) {
background-color: var(--color-accent-hover); background-color: var(--color-accent-hover);
} }
&:active { &:active:not([disabled]) {
background-color: var(--color-accent-active); background-color: var(--color-accent-active);
} }
&[disabled] { &[disabled] {
color: var(--color-typo-dark-darkness); color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: var(--color-accent-disabled); background-color: var(--color-accent-disabled);
} }
} }
&.danger { &.danger {
color: var(--color-typo-dark-lightness); color: var(--color-fg);
background-color: var(--color-danger); background-color: var(--color-danger);
&:hover { &:hover:not([disabled]) {
background-color: var(--color-danger-hover); background-color: var(--color-danger-hover);
} }
&:active { &:active:not([disabled]) {
background-color: var(--color-danger-active); background-color: var(--color-danger-active);
} }
&[disabled] { &[disabled] {
color: var(--color-typo-dark-darkness); color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: var(--color-danger-disabled); background-color: var(--color-danger-disabled);
} }
} }
&.warn { &.warn {
color: var(--color-typo-dark-lightness); color: var(--color-fg);
background-color: var(--color-warn); background-color: var(--color-warn);
&:hover { &:hover:not([disabled]) {
background-color: var(--color-warn-hover); background-color: var(--color-warn-hover);
} }
&:active { &:active:not([disabled]) {
background-color: var(--color-warn-active); background-color: var(--color-warn-active);
} }
&[disabled] { &[disabled] {
color: var(--color-typo-dark-darkness); color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: var(--color-warn-disabled); background-color: var(--color-warn-disabled);
} }
} }
&.success {
color: var(--color-fg);
background-color: var(--color-success);
&:hover:not([disabled]) {
background-color: var(--color-success-hover);
}
&:active:not([disabled]) {
background-color: var(--color-success-active);
}
&[disabled] {
color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: var(--color-success-disabled);
}
}
&.info {
color: var(--color-fg);
background-color: var(--color-info);
&:hover:not([disabled]) {
background-color: var(--color-info-hover);
}
&:active:not([disabled]) {
background-color: var(--color-info-active);
}
&[disabled] {
color: oklch(from var(--color-fg) calc(l * 0.5) calc(c * 0.3) h);
background-color: var(--color-info-disabled);
}
}
} }
/* 输入框以及输入框组合体默认样式 */ /* 输入框以及输入框组合体默认样式 */
@ -151,4 +178,150 @@
padding: calc(var(--spacing) * 2); padding: calc(var(--spacing) * 2);
background-color: oklch(from var(--color-bg) calc(l * 0.8) c h); background-color: oklch(from var(--color-bg) calc(l * 0.8) c h);
} }
/* 仅展示一个图标的ActionIcon */
:where(.action_icon) {
display: flex;
justify-content: center;
align-items: center;
padding: calc(var(--spacing) * 2);
border-radius: var(--border-radius-xxs);
background-color: transparent;
cursor: pointer;
svg {
width: 1em;
height: 1em;
color: var(--color-neutral);
}
&:hover:not([disabled]) {
background-color: var(--color-neutral-hover);
svg {
color: var(--color-fg);
}
}
&:active:not([disabled]) {
background-color: var(--color-neutral-active);
svg {
color: var(--color-fg);
}
}
&[disabled] {
cursor: not-allowed;
svg {
color: var(--color-neutral-disabled);
}
}
&.primary {
svg {
color: var(--color-primary);
}
&:hover:not([disabled]) {
background-color: var(--color-primary-hover);
}
&:active:not([disabled]) {
background-color: var(--color-primary-active);
}
&[disabled] {
svg {
color: var(--color-primary-disabled);
}
}
}
&.secondary {
svg {
color: var(--color-secondary);
}
&:hover:not([disabled]) {
background-color: var(--color-secondary-hover);
}
&:active:not([disabled]) {
background-color: var(--color-secondary-active);
}
&[disabled] {
svg {
color: var(--color-secondary-disabled);
}
}
}
&.accent {
svg {
color: var(--color-accent);
}
&:hover:not([disabled]) {
background-color: var(--color-accent-hover);
}
&:active:not([disabled]) {
background-color: var(--color-accent-active);
}
&[disabled] {
svg {
color: var(--color-accent-disabled);
}
}
}
&.danger {
svg {
color: var(--color-danger);
}
&:hover:not([disabled]) {
background-color: var(--color-danger-hover);
}
&:active:not([disabled]) {
background-color: var(--color-danger-active);
}
&[disabled] {
svg {
color: var(--color-danger-disabled);
}
}
}
&.warn {
svg {
color: var(--color-warn);
}
&:hover:not([disabled]) {
background-color: var(--color-warn-hover);
}
&:active:not([disabled]) {
background-color: var(--color-warn-active);
}
&[disabled] {
svg {
color: var(--color-warn-disabled);
}
}
}
&.success {
svg {
color: var(--color-success);
}
&:hover:not([disabled]) {
background-color: var(--color-success-hover);
}
&:active:not([disabled]) {
background-color: var(--color-success-active);
}
&[disabled] {
svg {
color: var(--color-success-disabled);
}
}
}
&.info {
svg {
color: var(--color-info);
}
&:hover:not([disabled]) {
background-color: var(--color-info-hover);
}
&:active:not([disabled]) {
background-color: var(--color-info-active);
}
&[disabled] {
svg {
color: var(--color-info-disabled);
}
}
}
}
} }