mirror of
https://github.com/uiverse-io/galaxy.git
synced 2025-11-28 05:00:22 +08:00
231 lines
No EOL
5.3 KiB
HTML
231 lines
No EOL
5.3 KiB
HTML
<div class="card">
|
|
<div class="wrap">
|
|
<div class="terminal">
|
|
<hgroup class="head">
|
|
<p class="title">
|
|
<svg
|
|
width="16px"
|
|
height="16px"
|
|
aria-hidden="true"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 24 24"
|
|
stroke-linejoin="round"
|
|
stroke-linecap="round"
|
|
stroke-width="2"
|
|
stroke="currentColor"
|
|
fill="none"
|
|
>
|
|
<path
|
|
d="M7 15L10 12L7 9M13 15H17M7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8C21 6.11984 21 5.27976 20.673 4.63803C20.3854 4.07354 19.9265 3.6146 19.362 3.32698C18.7202 3 17.8802 3 16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21Z"
|
|
></path>
|
|
</svg>
|
|
Terminal
|
|
</p>
|
|
|
|
<button class="copy_toggle" tabindex="-1" type="button">
|
|
<svg
|
|
width="16px"
|
|
height="16px"
|
|
aria-hidden="true"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 24 24"
|
|
stroke-linejoin="round"
|
|
stroke-linecap="round"
|
|
stroke-width="2"
|
|
stroke="currentColor"
|
|
fill="none"
|
|
>
|
|
<path
|
|
d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2"
|
|
></path>
|
|
<path
|
|
d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
|
|
></path>
|
|
</svg>
|
|
</button>
|
|
</hgroup>
|
|
|
|
<div class="body">
|
|
<pre class="pre"> <code>- </code>
|
|
<code>npx </code>
|
|
<code class="cmd" data-cmd="create-react-app@latest"></code>
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
/* From Uiverse.io by ilkhoeri - Tags: simple, action, card, text animation, text, click effect, terminal */
|
|
.card {
|
|
padding: 1rem;
|
|
overflow: hidden;
|
|
border: 1px solid #c5c5c5;
|
|
border-radius: 12px;
|
|
background-color: #d9d9d92f;
|
|
backdrop-filter: blur(8px);
|
|
min-width: 344px;
|
|
}
|
|
.wrap {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
position: relative;
|
|
z-index: 10;
|
|
border: 0.5px solid #525252;
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
}
|
|
.terminal {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
|
"Liberation Mono", "Courier New", monospace;
|
|
}
|
|
.head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
overflow: hidden;
|
|
min-height: 40px;
|
|
padding-inline: 12px;
|
|
border-top-left-radius: 8px;
|
|
border-top-right-radius: 8px;
|
|
background-color: #202425;
|
|
}
|
|
.title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
height: 2.5rem;
|
|
user-select: none;
|
|
font-weight: 600;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
color: #8e8e8e;
|
|
}
|
|
.title > svg {
|
|
height: 18px;
|
|
width: 18px;
|
|
margin-top: 2px;
|
|
color: #006adc;
|
|
}
|
|
.copy_toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0.25rem;
|
|
border: 0.65px solid #c1c2c5;
|
|
margin-left: auto;
|
|
border-radius: 6px;
|
|
background-color: #202425;
|
|
color: #8e8e8e;
|
|
cursor: pointer;
|
|
}
|
|
.copy_toggle > svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
.copy_toggle:active > svg > path,
|
|
.copy_toggle:focus-within > svg > path {
|
|
animation: clipboard-check 500ms linear forwards;
|
|
}
|
|
.body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
position: relative;
|
|
border-bottom-right-radius: 8px;
|
|
border-bottom-left-radius: 8px;
|
|
overflow-x: auto;
|
|
padding: 1rem;
|
|
line-height: 19px;
|
|
color: white;
|
|
background-color: black;
|
|
white-space: nowrap;
|
|
}
|
|
.pre {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
text-wrap: nowrap;
|
|
white-space: pre;
|
|
background-color: transparent;
|
|
overflow: hidden;
|
|
box-sizing: border-box;
|
|
font-size: 16px;
|
|
}
|
|
.pre code:nth-child(1) {
|
|
color: #575757;
|
|
}
|
|
.pre code:nth-child(2) {
|
|
color: #e34ba9;
|
|
}
|
|
.cmd {
|
|
height: 19px;
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: row;
|
|
}
|
|
.cmd::before {
|
|
content: attr(data-cmd);
|
|
position: relative;
|
|
display: block;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
background-color: transparent;
|
|
animation: inputs 8s steps(22) infinite;
|
|
}
|
|
.cmd::after {
|
|
content: "";
|
|
position: relative;
|
|
display: block;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
background-color: transparent;
|
|
border-right: 0.15em solid #e34ba9;
|
|
animation: cursor 0.5s step-end infinite alternate, blinking 0.5s infinite;
|
|
}
|
|
|
|
@keyframes blinking {
|
|
20%,
|
|
80% {
|
|
transform: scaleY(1);
|
|
}
|
|
50% {
|
|
transform: scaleY(0);
|
|
}
|
|
}
|
|
@keyframes cursor {
|
|
50% {
|
|
border-right-color: transparent;
|
|
}
|
|
}
|
|
@keyframes inputs {
|
|
0%,
|
|
100% {
|
|
width: 0;
|
|
}
|
|
10%,
|
|
90% {
|
|
width: 58px;
|
|
}
|
|
30%,
|
|
70% {
|
|
width: 215px;
|
|
max-width: max-content;
|
|
}
|
|
}
|
|
@keyframes clipboard-check {
|
|
100% {
|
|
color: #fff;
|
|
d: path(
|
|
"M 9 5 H 7 a 2 2 0 0 0 -2 2 v 12 a 2 2 0 0 0 2 2 h 10 a 2 2 0 0 0 2 -2 V 7 a 2 2 0 0 0 -2 -2 h -2 M 9 5 a 2 2 0 0 0 2 2 h 2 a 2 2 0 0 0 2 -2 M 9 5 a 2 2 0 0 1 2 -2 h 2 a 2 2 0 0 1 2 2 m -6 9 l 2 2 l 4 -4"
|
|
);
|
|
}
|
|
}
|
|
|
|
</style>
|
|
|