Packages
corex
0.1.0-alpha.25
0.1.2
0.1.1
0.1.0
0.1.0-rc.1
0.1.0-rc.0
0.1.0-beta.5
0.1.0-beta.4
0.1.0-beta.3
0.1.0-beta.2
0.1.0-beta.1
0.1.0-alpha.33
0.1.0-alpha.32
0.1.0-alpha.31
0.1.0-alpha.30
0.1.0-alpha.29
0.1.0-alpha.28
0.1.0-alpha.27
0.1.0-alpha.26
0.1.0-alpha.25
0.1.0-alpha.24
0.1.0-alpha.23
0.1.0-alpha.22
0.1.0-alpha.21
0.1.0-alpha.20
0.1.0-alpha.19
0.1.0-alpha.18
0.1.0-alpha.17
0.1.0-alpha.16
0.1.0-alpha.15
0.1.0-alpha.14
0.1.0-alpha.13
0.1.0-alpha.12
0.1.0-alpha.11
0.1.0-alpha.10
0.1.0-alpha.9
0.1.0-alpha.8
0.1.0-alpha.7
0.1.0-alpha.6
0.1.0-alpha.5
0.1.0-alpha.4
0.1.0-alpha.3
0.1.0-alpha.2
0.1.0-alpha.1
Accessible and unstyled UI components library written in Elixir and TypeScript that integrates Zag.js state machines into the Phoenix Framework.
Current section
Files
Jump to
Current section
Files
priv/design/components/link.css
@import "../main.css";
@layer components {
.link {
display: inline-flex;
justify-content: start;
align-items: center;
cursor: pointer;
position: relative;
color: var(--color-layer--info);
height: inherit;
font-size: inherit;
line-height: inherit;
gap: var(--spacing-ui-gap);
padding-inline: var(--spacing-ui-padding);
border-radius: var(--radius-ui);
text-decoration: none;
max-width: fit-content;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-all;
}
.link::after {
content: "";
position: absolute;
left: 50%;
bottom: 0;
height: 1px;
width: 80%;
background-color: currentcolor;
transform: translateX(-50%);
transition: width 0.3s ease;
}
.link:hover::after {
width: 90%;
}
.link:focus-visible {
outline: 2px solid var(--color-ui--focus);
outline-offset: 1px;
box-shadow: none;
}
.link:focus-visible::after {
display: none;
}
.link:disabled,
.link[data-disabled] {
opacity: 0.6;
pointer-events: none;
box-shadow: none;
}
.link .icon,
.link svg,
.link img {
@apply ui-icon;
}
.link[aria-current="page"],
.link[aria-current="location"] {
font-weight: var(--font-weight-ui-lg);
pointer-events: none;
}
}
@utility link--* {
color: --value(--color-layer--*, [color]);
font-size: --value(--text-ui-*, [length]);
line-height: --value(--text-ui-* --line-height, [length]);
min-height: --value(--spacing-ui-*, [length]);
padding-inline: --value(--spacing-ui-padding-*, [length]);
gap: --value(--spacing-ui-gap-*, [length]);
}