Migrate site controls to Nebula design system
All checks were successful
Deploy Sokko G / deploy (push) Successful in 17s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 17s
This commit is contained in:
parent
e3d0925eb1
commit
817e21567b
127 changed files with 5380 additions and 2363 deletions
|
|
@ -1,4 +1,6 @@
|
|||
// Rôle : définit les bases globales HTML, body, typographie et contrôles natifs.
|
||||
@use "design-system/controls";
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
|
@ -36,52 +38,73 @@ a {
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
button,
|
||||
.button,
|
||||
select,
|
||||
input,
|
||||
textarea,
|
||||
.import-button {
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
background: rgba(21, 26, 48, 0.92);
|
||||
color: var(--color-text-primary);
|
||||
font: inherit;
|
||||
transition:
|
||||
transform var(--duration-fast) var(--ease-standard),
|
||||
border-color var(--duration-fast) var(--ease-standard),
|
||||
background-color var(--duration-fast) var(--ease-standard),
|
||||
color var(--duration-fast) var(--ease-standard),
|
||||
box-shadow var(--duration-fast) var(--ease-standard);
|
||||
button {
|
||||
@include controls.text-button;
|
||||
}
|
||||
|
||||
button,
|
||||
.button,
|
||||
.import-button {
|
||||
display: inline-flex;
|
||||
min-height: 42px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
padding: 0 18px;
|
||||
cursor: pointer;
|
||||
select {
|
||||
@include controls.select-control;
|
||||
}
|
||||
|
||||
button:hover,
|
||||
.button:hover,
|
||||
.import-button:hover {
|
||||
border-color: rgba(196, 181, 253, 0.34);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(31, 37, 68, 0.96), rgba(22, 26, 51, 0.96)) padding-box,
|
||||
linear-gradient(135deg, rgba(139, 92, 246, 0.32), rgba(196, 181, 253, 0.2)) border-box;
|
||||
box-shadow:
|
||||
0 0 14px rgba(139, 92, 246, 0.12),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
select:hover,
|
||||
select:focus {
|
||||
@include controls.select-control-hover;
|
||||
}
|
||||
|
||||
button:active,
|
||||
.button:active,
|
||||
.import-button:active {
|
||||
select:disabled {
|
||||
@include controls.control-disabled;
|
||||
}
|
||||
|
||||
select option {
|
||||
@include controls.select-option;
|
||||
}
|
||||
|
||||
:where(input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="password"], textarea) {
|
||||
@include controls.field-control;
|
||||
}
|
||||
|
||||
input[type="time"] {
|
||||
@include controls.time-control;
|
||||
}
|
||||
|
||||
:where(textarea) {
|
||||
@include controls.field-textarea;
|
||||
@include controls.scrollbar-control;
|
||||
@include controls.scrollbar-resizer;
|
||||
}
|
||||
|
||||
:where(input, textarea)::placeholder {
|
||||
@include controls.field-placeholder;
|
||||
}
|
||||
|
||||
:where(input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="password"], textarea):hover,
|
||||
input[type="time"]:hover {
|
||||
@include controls.field-hover;
|
||||
}
|
||||
|
||||
:where(input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="password"], textarea):focus,
|
||||
input[type="time"]:focus {
|
||||
@include controls.field-focus;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
:where(input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="password"], textarea):focus-visible,
|
||||
input[type="time"]:focus-visible {
|
||||
outline: 2px solid var(--color-accent-gold);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
button:disabled,
|
||||
:where(input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="password"], textarea):disabled,
|
||||
input[type="time"]:disabled {
|
||||
@include controls.control-disabled;
|
||||
}
|
||||
|
||||
button:hover:not(:disabled, .active, .is-active, [aria-pressed="true"], .nds-button, .nds-icon-button) {
|
||||
@include controls.text-button-hover;
|
||||
}
|
||||
|
||||
button:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
|
|
@ -91,66 +114,31 @@ button:active,
|
|||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
display: inline-grid;
|
||||
width: 20px;
|
||||
min-width: 20px;
|
||||
max-width: 20px;
|
||||
inline-size: 20px;
|
||||
min-inline-size: 20px;
|
||||
max-inline-size: 20px;
|
||||
aspect-ratio: 1;
|
||||
height: 20px;
|
||||
min-height: 20px;
|
||||
max-height: 20px;
|
||||
block-size: 20px;
|
||||
min-block-size: 20px;
|
||||
max-block-size: 20px;
|
||||
place-content: center;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 3px;
|
||||
line-height: 0;
|
||||
background:
|
||||
linear-gradient(135deg, rgba(27, 34, 66, 0.92), rgba(16, 20, 44, 0.94)) padding-box,
|
||||
linear-gradient(135deg, rgba(246, 196, 83, 0.5), rgba(139, 92, 246, 0.44)) border-box;
|
||||
box-shadow:
|
||||
inset 0 0 0 1px rgba(255, 255, 255, 0.06),
|
||||
0 0 0 1px rgba(5, 7, 17, 0.42);
|
||||
cursor: pointer;
|
||||
@include controls.checkbox-control;
|
||||
}
|
||||
|
||||
input[type="checkbox"]::before {
|
||||
content: "";
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
background: #fff;
|
||||
transform: scale(0);
|
||||
transition: transform var(--duration-fast) var(--ease-standard);
|
||||
clip-path: polygon(14% 52%, 0 66%, 38% 100%, 100% 18%, 84% 5%, 34% 68%);
|
||||
@include controls.checkbox-check;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:hover {
|
||||
border-color: rgba(246, 196, 83, 0.6);
|
||||
box-shadow:
|
||||
inset 0 0 0 1px rgba(255, 255, 255, 0.04),
|
||||
0 0 14px rgba(246, 196, 83, 0.14);
|
||||
@include controls.checkbox-hover;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:checked {
|
||||
border-color: rgba(246, 196, 83, 0.88);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(246, 196, 83, 0.96), rgba(139, 92, 246, 0.86)) padding-box,
|
||||
linear-gradient(135deg, var(--color-accent-gold), rgba(196, 181, 253, 0.88)) border-box;
|
||||
box-shadow:
|
||||
inset 0 0 0 1px rgba(255, 255, 255, 0.12),
|
||||
0 0 16px rgba(246, 196, 83, 0.2);
|
||||
@include controls.checkbox-checked;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:checked::before {
|
||||
transform: scale(1);
|
||||
@include controls.checkbox-checked-check;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:disabled {
|
||||
@include controls.checkbox-disabled;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:disabled::before {
|
||||
opacity: 0.54;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:focus-visible {
|
||||
|
|
@ -160,38 +148,24 @@ input[type="checkbox"]:focus-visible {
|
|||
|
||||
.themed-scrollbar,
|
||||
.legacy-scrollbar {
|
||||
scrollbar-color: rgb(79, 26, 114) transparent;
|
||||
scrollbar-width: thin;
|
||||
@include controls.scrollbar-control;
|
||||
}
|
||||
|
||||
.filter-options::-webkit-scrollbar,
|
||||
.drawer-panel::-webkit-scrollbar,
|
||||
.damage-table-wrap::-webkit-scrollbar,
|
||||
.themed-scrollbar::-webkit-scrollbar,
|
||||
.legacy-scrollbar::-webkit-scrollbar {
|
||||
background-color: transparent;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.filter-options::-webkit-scrollbar-track,
|
||||
.drawer-panel::-webkit-scrollbar-track,
|
||||
.damage-table-wrap::-webkit-scrollbar-track,
|
||||
.themed-scrollbar::-webkit-scrollbar-track,
|
||||
.legacy-scrollbar::-webkit-scrollbar-track {
|
||||
background-color: transparent;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.filter-options::-webkit-scrollbar-thumb,
|
||||
.drawer-panel::-webkit-scrollbar-thumb,
|
||||
.damage-table-wrap::-webkit-scrollbar-thumb,
|
||||
.themed-scrollbar::-webkit-scrollbar-thumb,
|
||||
.legacy-scrollbar::-webkit-scrollbar-thumb {
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.5, rgb(79, 26, 114)), color-stop(1, rgb(44, 1, 135)));
|
||||
border-radius: 10px;
|
||||
:is(
|
||||
.annotation-marker-list,
|
||||
.damage-table-wrap,
|
||||
.drawer-panel,
|
||||
.filter-options,
|
||||
.goal-tree-editor-panel,
|
||||
.goal-tree-prerequisite-list,
|
||||
.goal-tree-view-wrap,
|
||||
.module-content,
|
||||
.notepad-pages-list,
|
||||
.notepad-surface,
|
||||
.table-grid-wrap,
|
||||
.tool-split-tree
|
||||
) {
|
||||
@include controls.scrollbar-control;
|
||||
}
|
||||
|
||||
body.is-modal-open {
|
||||
|
|
@ -203,238 +177,3 @@ body.is-modal-open {
|
|||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.primary {
|
||||
border-color: rgba(246, 196, 83, 0.34);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(72, 43, 160, 0.96), rgba(45, 52, 146, 0.94)) padding-box,
|
||||
linear-gradient(135deg, rgba(246, 196, 83, 0.66), rgba(139, 92, 246, 0.36)) border-box;
|
||||
box-shadow:
|
||||
0 8px 22px rgba(5, 7, 17, 0.22),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.primary:hover {
|
||||
border-color: rgba(246, 196, 83, 0.72);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(109, 40, 217, 0.98), rgba(67, 56, 202, 0.96)) padding-box,
|
||||
linear-gradient(135deg, rgba(246, 196, 83, 0.96), rgba(196, 181, 253, 0.68)) border-box;
|
||||
box-shadow:
|
||||
0 0 0 1px rgba(246, 196, 83, 0.16),
|
||||
0 0 18px rgba(139, 92, 246, 0.3),
|
||||
0 0 30px rgba(246, 196, 83, 0.16),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.18);
|
||||
}
|
||||
|
||||
.ghost {
|
||||
border-color: transparent;
|
||||
background: transparent;
|
||||
color: var(--color-text-secondary);
|
||||
}
|
||||
|
||||
.ghost:hover {
|
||||
border-color: rgba(196, 181, 253, 0.18);
|
||||
background: rgba(139, 92, 246, 0.08);
|
||||
color: var(--color-text-primary);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.danger {
|
||||
color: var(--color-danger);
|
||||
}
|
||||
|
||||
.danger:hover {
|
||||
border-color: rgba(251, 113, 133, 0.48);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(80, 25, 42, 0.72), rgba(48, 18, 34, 0.82)) padding-box,
|
||||
linear-gradient(135deg, rgba(251, 113, 133, 0.56), rgba(196, 181, 253, 0.16)) border-box;
|
||||
color: #fff;
|
||||
box-shadow:
|
||||
0 0 14px rgba(251, 113, 133, 0.14),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
||||
}
|
||||
|
||||
:is(
|
||||
.sidebar-action-button,
|
||||
.import-icon-button,
|
||||
.toolbox-icon-button,
|
||||
.card-icon-button,
|
||||
.drawer-action-button,
|
||||
.drawer-close-button,
|
||||
.filter-reset-button,
|
||||
.image-viewer-button,
|
||||
.module-edit-button,
|
||||
.module-exchange-button,
|
||||
.module-delete-button,
|
||||
.image-annotate-button,
|
||||
.image-delete-button,
|
||||
.checklist-delete-button,
|
||||
.tool-quick-add-button
|
||||
) {
|
||||
display: inline-flex;
|
||||
width: 40px;
|
||||
min-width: 40px;
|
||||
min-height: 40px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
background: rgba(21, 26, 48, 0.88);
|
||||
color: var(--color-text-primary);
|
||||
font: inherit;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
transform var(--duration-fast) var(--ease-standard),
|
||||
border-color var(--duration-fast) var(--ease-standard),
|
||||
background-color var(--duration-fast) var(--ease-standard),
|
||||
color var(--duration-fast) var(--ease-standard),
|
||||
box-shadow var(--duration-fast) var(--ease-standard);
|
||||
}
|
||||
|
||||
:is(
|
||||
.sidebar-action-button,
|
||||
.import-icon-button,
|
||||
.toolbox-icon-button,
|
||||
.card-icon-button,
|
||||
.drawer-action-button,
|
||||
.drawer-close-button,
|
||||
.filter-reset-button,
|
||||
.image-viewer-button,
|
||||
.module-edit-button,
|
||||
.module-exchange-button,
|
||||
.module-delete-button,
|
||||
.image-annotate-button,
|
||||
.image-delete-button,
|
||||
.checklist-delete-button,
|
||||
.tool-quick-add-button
|
||||
) .ui-icon {
|
||||
transition:
|
||||
background-color var(--duration-fast) var(--ease-standard),
|
||||
filter var(--duration-fast) var(--ease-standard);
|
||||
}
|
||||
|
||||
:is(
|
||||
.sidebar-action-button,
|
||||
.import-icon-button,
|
||||
.toolbox-icon-button,
|
||||
.card-icon-button,
|
||||
.drawer-action-button,
|
||||
.drawer-close-button,
|
||||
.filter-reset-button,
|
||||
.image-viewer-button,
|
||||
.module-edit-button,
|
||||
.module-exchange-button,
|
||||
.module-delete-button,
|
||||
.image-annotate-button,
|
||||
.image-delete-button,
|
||||
.checklist-delete-button,
|
||||
.tool-quick-add-button
|
||||
):hover {
|
||||
border-color: rgba(196, 181, 253, 0.32);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(31, 37, 68, 0.94), rgba(18, 22, 44, 0.96)) padding-box,
|
||||
linear-gradient(135deg, rgba(139, 92, 246, 0.3), rgba(196, 181, 253, 0.2)) border-box;
|
||||
color: #ddd6fe;
|
||||
box-shadow:
|
||||
0 0 12px rgba(139, 92, 246, 0.1),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
:is(
|
||||
.sidebar-action-button,
|
||||
.import-icon-button,
|
||||
.toolbox-icon-button,
|
||||
.card-icon-button,
|
||||
.drawer-action-button,
|
||||
.drawer-close-button,
|
||||
.filter-reset-button,
|
||||
.image-viewer-button,
|
||||
.module-edit-button,
|
||||
.module-exchange-button,
|
||||
.module-delete-button,
|
||||
.image-annotate-button,
|
||||
.image-delete-button,
|
||||
.tool-quick-add-button
|
||||
).primary {
|
||||
border-color: rgba(246, 196, 83, 0.34);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(72, 43, 160, 0.96), rgba(45, 52, 146, 0.94)) padding-box,
|
||||
linear-gradient(135deg, rgba(246, 196, 83, 0.66), rgba(139, 92, 246, 0.36)) border-box;
|
||||
color: #fff;
|
||||
box-shadow:
|
||||
0 8px 22px rgba(5, 7, 17, 0.22),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
:is(
|
||||
.sidebar-action-button,
|
||||
.import-icon-button,
|
||||
.toolbox-icon-button,
|
||||
.card-icon-button,
|
||||
.drawer-action-button,
|
||||
.drawer-close-button,
|
||||
.filter-reset-button,
|
||||
.image-viewer-button,
|
||||
.module-edit-button,
|
||||
.module-exchange-button,
|
||||
.module-delete-button,
|
||||
.image-annotate-button,
|
||||
.image-delete-button,
|
||||
.tool-quick-add-button
|
||||
).primary:hover {
|
||||
border-color: rgba(246, 196, 83, 0.72);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(109, 40, 217, 0.98), rgba(67, 56, 202, 0.96)) padding-box,
|
||||
linear-gradient(135deg, rgba(246, 196, 83, 0.96), rgba(196, 181, 253, 0.68)) border-box;
|
||||
color: #fff;
|
||||
box-shadow:
|
||||
0 0 0 1px rgba(246, 196, 83, 0.16),
|
||||
0 0 18px rgba(139, 92, 246, 0.3),
|
||||
0 0 30px rgba(246, 196, 83, 0.16),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.18);
|
||||
}
|
||||
|
||||
:is(
|
||||
.sidebar-action-button,
|
||||
.import-icon-button,
|
||||
.toolbox-icon-button,
|
||||
.card-icon-button,
|
||||
.drawer-action-button,
|
||||
.drawer-close-button,
|
||||
.filter-reset-button,
|
||||
.image-viewer-button,
|
||||
.module-edit-button,
|
||||
.module-exchange-button,
|
||||
.module-delete-button,
|
||||
.image-annotate-button,
|
||||
.image-delete-button,
|
||||
.checklist-delete-button,
|
||||
.tool-quick-add-button
|
||||
):hover .ui-icon {
|
||||
background-color: #c4b5fd;
|
||||
filter: drop-shadow(0 0 6px rgba(196, 181, 253, 0.28));
|
||||
}
|
||||
|
||||
:is(.card-icon-button, .module-delete-button, .image-delete-button, .checklist-delete-button).danger {
|
||||
border-color: rgba(251, 113, 133, 0.2);
|
||||
color: var(--color-danger);
|
||||
}
|
||||
|
||||
:is(.card-icon-button, .module-delete-button, .image-delete-button, .checklist-delete-button).danger:hover {
|
||||
border-color: rgba(251, 113, 133, 0.56);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(80, 25, 42, 0.72), rgba(48, 18, 34, 0.82)) padding-box,
|
||||
linear-gradient(135deg, rgba(251, 113, 133, 0.56), rgba(196, 181, 253, 0.16)) border-box;
|
||||
color: #fff;
|
||||
box-shadow:
|
||||
0 0 14px rgba(251, 113, 133, 0.14),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
||||
}
|
||||
|
||||
:is(.card-icon-button, .module-delete-button, .image-delete-button, .checklist-delete-button).danger:hover .ui-icon {
|
||||
background-color: #fff;
|
||||
filter: drop-shadow(0 0 6px rgba(251, 113, 133, 0.26));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue