@ozen-ui/kit
Version:
React component library
370 lines (317 loc) • 16 kB
CSS
.IconButtonNext {
--icon-button-bg-color: var(--color-background-action);
--icon-button-bg-color-hover: var(--color-background-action-hover);
--icon-button-bg-color-active: var(--color-background-action-pressed);
--icon-button-font-color: var(--color-content-action-on);
block-size: var(--icon-button-size);
inline-size: var(--icon-button-size);
padding: 0;
box-sizing: border-box;
display: inline-flex;
flex-shrink: 0;
align-items: center;
justify-content: center;
cursor: pointer;
border: none;
color: var(--icon-button-font-color);
background-color: var(--icon-button-bg-color);
opacity: 1;
border-radius: var(--icon-button-border-radius);
transition:
background-color var(--transition-default),
box-shadow var(--transition-default),
opacity var(--transition-default);
-webkit-tap-highlight-color: transparent;
position: relative;
}
.IconButtonNext_size_2xs {
--icon-button-size: 32px;
--icon-button-border-radius: var(--border-radius-m);
}
.IconButtonNext_size_2xs.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
--icon-button-size: 24px;
}
.IconButtonNext_size_xs {
--icon-button-size: 40px;
--icon-button-border-radius: var(--border-radius-m);
}
.IconButtonNext_size_xs.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
--icon-button-size: 28px;
}
.IconButtonNext_size_s {
--icon-button-size: 48px;
--icon-button-border-radius: var(--border-radius-l);
}
.IconButtonNext_size_s.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
--icon-button-size: 32px;
}
.IconButtonNext_size_m {
--icon-button-size: 56px;
--icon-button-border-radius: var(--border-radius-l);
}
.IconButtonNext_size_m.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
--icon-button-size: 40px;
}
.IconButtonNext_size_l {
--icon-button-size: 64px;
--icon-button-border-radius: var(--border-radius-m);
}
.IconButtonNext_size_l.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
--icon-button-size: 48px;
}
/** contained */
.IconButtonNext_variant_contained.IconButtonNext_color_primary {
--icon-button-bg-color: var(--color-background-action);
--icon-button-bg-color-hover: var(--color-background-action-hover);
--icon-button-bg-color-active: var(--color-background-action-pressed);
--icon-button-bg-color-focus: var(--color-background-action-hover);
--icon-button-font-color: var(--color-content-action-on);
--icon-button-font-color-hover: var(--color-content-action-on);
--icon-button-font-color-active: var(--color-content-action-on);
--icon-button-font-color-focus: var(--color-content-action-on);
}
.IconButtonNext_variant_contained.IconButtonNext_color_secondary {
--icon-button-bg-color: var(--color-content-action-secondary);
--icon-button-bg-color-hover: var(--color-content-action-secondary-hover);
--icon-button-bg-color-active: var(
--color-content-action-secondary-pressed
);
--icon-button-bg-color-focus: var(--color-content-action-secondary-hover);
--icon-button-font-color: var(--color-content-action-on);
--icon-button-font-color-hover: var(--color-content-action-on);
--icon-button-font-color-active: var(--color-content-action-on);
--icon-button-font-color-focus: var(--color-content-action-on);
}
.IconButtonNext_variant_contained.IconButtonNext_color_tertiary {
--icon-button-bg-color: var(--color-background-tertiary);
--icon-button-bg-color-hover: var(--color-background-tertiary-hover);
--icon-button-bg-color-active: var(--color-background-tertiary-pressed);
--icon-button-bg-color-focus: var(--color-background-tertiary-hover);
--icon-button-font-color: var(--color-content-primary);
--icon-button-font-color-hover: var(--color-content-primary);
--icon-button-font-color-active: var(--color-content-primary);
--icon-button-font-color-focus: var(--color-content-primary);
}
.IconButtonNext_variant_contained.IconButtonNext_color_error {
--icon-button-bg-color: var(--color-background-error);
--icon-button-bg-color-hover: var(--color-background-error-hover);
--icon-button-bg-color-active: var(--color-background-error-pressed);
--icon-button-bg-color-focus: var(--color-background-error-hover);
--icon-button-font-color: var(--color-content-action-on);
--icon-button-font-color-hover: var(--color-content-action-on);
--icon-button-font-color-active: var(--color-content-action-on);
--icon-button-font-color-focus: var(--color-content-action-on);
}
/** contained-additional */
.IconButtonNext_variant_contained-additional.IconButtonNext_color_primary {
--icon-button-bg-color: var(--color-background-action-light);
--icon-button-bg-color-hover: var(--color-background-action-light-hover);
--icon-button-bg-color-active: var(--color-background-action-light-pressed);
--icon-button-bg-color-focus: var(--color-background-action-light-hover);
--icon-button-font-color: var(--color-content-action);
--icon-button-font-color-hover: var(--color-content-action);
--icon-button-font-color-active: var(--color-content-action);
--icon-button-font-color-focus: var(--color-content-action);
}
.IconButtonNext_variant_contained-additional.IconButtonNext_color_secondary {
--icon-button-bg-color: var(--color-background-secondary);
--icon-button-bg-color-hover: var(--color-background-secondary-hover);
--icon-button-bg-color-active: var(--color-background-secondary-pressed);
--icon-button-bg-color-focus: var(--color-background-secondary-hover);
--icon-button-font-color: var(--color-content-primary);
--icon-button-font-color-hover: var(--color-content-primary);
--icon-button-font-color-active: var(--color-content-primary);
--icon-button-font-color-focus: var(--color-content-primary);
}
.IconButtonNext_variant_contained-additional.IconButtonNext_color_tertiary {
--icon-button-bg-color: var(--color-background-primary);
--icon-button-bg-color-hover: var(--color-background-primary-hover);
--icon-button-bg-color-active: var(--color-background-primary-pressed);
--icon-button-bg-color-focus: var(--color-background-primary-hover);
--icon-button-font-color: var(--color-content-secondary);
--icon-button-font-color-hover: var(--color-content-secondary);
--icon-button-font-color-active: var(--color-content-secondary);
--icon-button-font-color-focus: var(--color-content-secondary);
}
.IconButtonNext_variant_contained-additional.IconButtonNext_color_error {
--icon-button-bg-color: var(--color-background-error-light);
--icon-button-bg-color-hover: var(--color-background-error-light-hover);
--icon-button-bg-color-active: var(--color-background-error-light-pressed);
--icon-button-bg-color-focus: var(--color-background-error-light-hover);
--icon-button-font-color: var(--color-content-error);
--icon-button-font-color-hover: var(--color-content-error);
--icon-button-font-color-active: var(--color-content-error);
--icon-button-font-color-focus: var(--color-content-error);
}
/** ghost */
.IconButtonNext_variant_ghost.IconButtonNext_color_primary {
--icon-button-bg-color: transparent;
--icon-button-bg-color-hover: var(--color-background-action-light-hover);
--icon-button-bg-color-active: var(--color-background-action-light-pressed);
--icon-button-bg-color-focus: var(--color-background-action-light-hover);
--icon-button-font-color: var(--color-content-action);
--icon-button-font-color-hover: var(--color-content-action);
--icon-button-font-color-active: var(--color-content-action);
--icon-button-font-color-focus: var(--color-content-action);
}
.IconButtonNext_variant_ghost.IconButtonNext_color_secondary {
--icon-button-bg-color: transparent;
--icon-button-bg-color-hover: var(--color-background-secondary-hover);
--icon-button-bg-color-active: var(--color-background-secondary-pressed);
--icon-button-bg-color-focus: var(--color-background-secondary-hover);
--icon-button-font-color: var(--color-content-primary);
--icon-button-font-color-hover: var(--color-content-primary);
--icon-button-font-color-active: var(--color-content-primary);
--icon-button-font-color-focus: var(--color-content-primary);
}
.IconButtonNext_variant_ghost.IconButtonNext_color_tertiary {
--icon-button-bg-color: transparent;
--icon-button-bg-color-hover: var(--color-background-primary-hover);
--icon-button-bg-color-active: var(--color-background-primary-pressed);
--icon-button-bg-color-focus: var(--color-background-primary-hover);
--icon-button-font-color: var(--color-content-secondary);
--icon-button-font-color-hover: var(--color-content-secondary);
--icon-button-font-color-active: var(--color-content-secondary);
--icon-button-font-color-focus: var(--color-content-secondary);
}
.IconButtonNext_variant_ghost.IconButtonNext_color_error {
--icon-button-bg-color: transparent;
--icon-button-bg-color-hover: var(--color-background-error-light-hover);
--icon-button-bg-color-active: var(--color-background-error-light-pressed);
--icon-button-bg-color-focus: var(--color-background-error-light-hover);
--icon-button-font-color: var(--color-content-error);
--icon-button-font-color-hover: var(--color-content-error);
--icon-button-font-color-active: var(--color-content-error);
--icon-button-font-color-focus: var(--color-content-error);
}
/** function */
.IconButtonNext_variant_function {
--icon-button-size: auto;
--icon-button-border-radius: var(--border-radius-xs);
}
.IconButtonNext_variant_function.IconButtonNext_color_primary,
.IconButtonNext_variant_function.IconButtonNext_color_secondary,
.IconButtonNext_variant_function.IconButtonNext_color_tertiary,
.IconButtonNext_variant_function.IconButtonNext_color_error {
--icon-button-bg-color: transparent;
--icon-button-bg-color-hover: transparent;
--icon-button-bg-color-active: transparent;
}
.IconButtonNext_variant_function.IconButtonNext_color_primary {
--icon-button-font-color: var(--color-content-action);
--icon-button-font-color-hover: var(--color-background-action-hover);
--icon-button-font-color-active: var(--color-background-action-pressed);
--icon-button-font-color-focus: var(--color-background-action-pressed);
}
.IconButtonNext_variant_function.IconButtonNext_color_secondary {
--icon-button-font-color: var(--color-content-action-secondary);
--icon-button-font-color-hover: var(--color-content-action-secondary-hover);
--icon-button-font-color-active: var(
--color-content-action-secondary-pressed
);
--icon-button-font-color-focus: var(
--color-content-action-secondary-pressed
);
}
.IconButtonNext_variant_function.IconButtonNext_color_tertiary {
--icon-button-font-color: var(--color-content-secondary);
--icon-button-font-color-hover: var(--color-content-secondary);
--icon-button-font-color-active: var(--color-content-secondary);
--icon-button-font-color-focus: var(--color-content-secondary);
}
.IconButtonNext_variant_function.IconButtonNext_color_error {
--icon-button-font-color: var(--color-content-error);
--icon-button-font-color-hover: var(--color-content-error-hover);
--icon-button-font-color-active: var(--color-content-error-pressed);
--icon-button-font-color-focus: var(--color-content-error-pressed);
}
/** floating */
.IconButtonNext_variant_floating {
--icon-button-bg-color: var(--color-background-main);
--icon-button-bg-color-hover: var(--color-background-main-hover);
--icon-button-bg-color-active: var(--color-background-main-pressed);
--icon-button-bg-color-focus: var(--color-background-main);
--icon-button-font-color: var(--color-content-primary);
--icon-button-font-color-active: var(--color-content-primary);
--icon-button-font-color-focus: var(--color-content-primary);
}
.IconButtonNext_variant_floating::after {
content: '';
inset: 0;
position: absolute;
inline-size: 100%;
border-radius: inherit;
box-shadow: 0 8px 32px rgb(0 0 0 / 8%);
}
/** rounded */
.IconButtonNext_variant_contained.IconButtonNext_rounded,
.IconButtonNext_variant_contained-additional.IconButtonNext_rounded,
.IconButtonNext_variant_ghost.IconButtonNext_rounded,
.IconButtonNext_variant_floating.IconButtonNext_rounded {
border-radius: 50%;
}
/** disabled & loading */
.IconButtonNext_variant_contained.IconButtonNext_disabled,
.IconButtonNext_variant_contained.IconButtonNext_loading,
.IconButtonNext_variant_contained-additional.IconButtonNext_disabled,
.IconButtonNext_variant_contained-additional.IconButtonNext_loading,
.IconButtonNext_variant_ghost.IconButtonNext_disabled,
.IconButtonNext_variant_ghost.IconButtonNext_loading,
.IconButtonNext_variant_function.IconButtonNext_disabled,
.IconButtonNext_variant_function.IconButtonNext_loading,
.IconButtonNext_variant_floating.IconButtonNext_disabled,
.IconButtonNext_variant_floating.IconButtonNext_loading {
--icon-button-font-color: var(--color-content-disabled);
}
.IconButtonNext_variant_contained.IconButtonNext_disabled svg, .IconButtonNext_variant_contained.IconButtonNext_loading svg, .IconButtonNext_variant_contained-additional.IconButtonNext_disabled svg, .IconButtonNext_variant_contained-additional.IconButtonNext_loading svg, .IconButtonNext_variant_ghost.IconButtonNext_disabled svg, .IconButtonNext_variant_ghost.IconButtonNext_loading svg, .IconButtonNext_variant_function.IconButtonNext_disabled svg, .IconButtonNext_variant_function.IconButtonNext_loading svg, .IconButtonNext_variant_floating.IconButtonNext_disabled svg, .IconButtonNext_variant_floating.IconButtonNext_loading svg {
color: currentcolor;
}
.IconButtonNext_variant_contained.IconButtonNext_disabled,
.IconButtonNext_variant_contained.IconButtonNext_loading,
.IconButtonNext_variant_contained-additional.IconButtonNext_disabled,
.IconButtonNext_variant_contained-additional.IconButtonNext_loading,
.IconButtonNext_variant_floating.IconButtonNext_disabled,
.IconButtonNext_variant_floating.IconButtonNext_loading {
--icon-button-bg-color: var(--color-background-disabled);
--icon-button-bg-color-hover: var(--color-background-disabled);
--icon-button-bg-color-active: var(--color-background-disabled);
}
.IconButtonNext_variant_ghost.IconButtonNext_disabled,
.IconButtonNext_variant_ghost.IconButtonNext_loading,
.IconButtonNext_variant_function.IconButtonNext_disabled,
.IconButtonNext_variant_function.IconButtonNext_loading {
--icon-button-bg-color: transparent;
--icon-button-bg-color-hover: transparent;
--icon-button-bg-color-active: transparent;
}
/** focus */
.IconButtonNext:focus:not(:focus-visible, :active, :hover) {
box-shadow: none;
color: var(--icon-button-font-color);
background-color: var(--icon-button-bg-color);
}
.IconButtonNext:focus {
outline: 0;
/* the bug in outline property before chrome version 94 — doesn't repeat radius of an element */
box-shadow: var(--shadow-outline-focused);
color: var(--icon-button-font-color-focus);
background-color: var(--icon-button-bg-color-focus);
}
.IconButtonNext:focus:not(:focus-visible) {
box-shadow: none;
}
/** hover */
.IconButtonNext:hover {
background-color: var(--icon-button-bg-color-hover);
color: var(--icon-button-font-color-hover);
}
/** active */
.IconButtonNext:active {
background-color: var(--icon-button-bg-color-active);
color: var(--icon-button-font-color-active);
}
.IconButtonNext_disabled,
.IconButtonNext_loading {
pointer-events: none;
cursor: auto;
}