style(design-system): normalize font-weight literals (400/500/600/700) to tokens

Mechanical, value-preserving: font-weight: 400/500/600/700 -> var(--font-weight-normal/medium/semibold/bold, <same value>) across src/app.
Note: cart.component.scss now sits ~771 bytes over its per-file budget
in angular.json due to longer var() strings; non-fatal build warning,
noted in docs/UI-DESIGN-REVIEW.md as a follow-up (either bump the
component style budget slightly or accept the warning).
This commit is contained in:
sdarbinyan
2026-07-20 03:28:56 +04:00
parent be59db2e2d
commit 5c54541b4c
74 changed files with 286 additions and 286 deletions

View File

@@ -9,7 +9,7 @@
background: transparent;
padding: 10px 14px;
font-size: var(--font-size-sm, 0.8125rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-secondary, #6b7280);
cursor: pointer;
border-bottom: 2px solid transparent;

View File

@@ -34,7 +34,7 @@ tr.deleted { opacity: 0.55; }
.category-tree__toggle { all: unset; cursor: pointer; width: 18px; text-align: center; color: var(--text-secondary, #5f6e6a); }
.category-tree__toggle-spacer { width: 18px; display: inline-block; }
.category-tree__icon { font-size: var(--font-size-lg, 1rem); }
.category-tree__title { font-weight: 600; color: var(--text-primary, #1e3c38); }
.category-tree__title { font-weight: var(--font-weight-semibold, 600); color: var(--text-primary, #1e3c38); }
.category-tree__items { font-size: var(--font-size-xs, 0.75rem); color: var(--text-tertiary, #9aa6a2); }
.category-tree__actions { display: flex; gap: 6px; flex-wrap: wrap; }
@@ -44,7 +44,7 @@ tr.deleted { opacity: 0.55; }
.category-grid__select { position: absolute; top: 8px; left: 8px; z-index: 1; }
.category-grid__image { width: 100%; height: 120px; object-fit: cover; border-radius: var(--radius-sm); background: var(--surface-muted, #eef2f0); }
.category-grid__image--placeholder { display: flex; align-items: center; justify-content: center; font-size: var(--font-size-3xl, 1.5rem); }
.category-grid__name { margin: 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.category-grid__name { margin: 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: var(--font-weight-bold, 700); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.category-grid__items { margin: 0; font-size: var(--font-size-xs, 0.75rem); color: var(--text-secondary, #5f6e6a); }
.category-grid__actions { display: flex; gap: 6px; flex-wrap: wrap; }

View File

@@ -2,7 +2,7 @@
.grid { display: grid; gap: 12px; }
.grid.one { grid-template-columns: 1fr; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
label { display: grid; gap: 6px; font-weight: 600; }
label { display: grid; gap: 6px; font-weight: var(--font-weight-semibold, 600); }
label.check { display: flex; align-items: center; gap: 8px; }
textarea, select { width: 100%; padding: 10px 12px; border: 1px solid var(--border-color, #d3dad9); border-radius: 10px; font: inherit; }
input[type='checkbox'] { width: auto; }
@@ -22,7 +22,7 @@ input[type='checkbox'] { width: auto; }
padding: 10px 14px;
border-radius: 8px 8px 0 0;
font-size: var(--font-size-base, 0.875rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-secondary, #5f6e6a);
display: inline-flex;
align-items: center;
@@ -32,9 +32,9 @@ input[type='checkbox'] { width: auto; }
}
.form-card__tab--active { color: var(--brand-primary, #1e8a6e); background: var(--surface-muted, #eef2f0); }
.form-card__panel { min-height: 200px; display: grid; gap: 14px; }
.form-card__subheading { margin: 8px 0 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary, #5f6e6a); }
.form-card__subheading { margin: 8px 0 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: var(--font-weight-bold, 700); text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary, #5f6e6a); }
.form-card__explain { margin: 0; font-size: var(--font-size-sm, 0.8125rem); color: var(--text-secondary, #5f6e6a); }
.toggle-row { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.toggle-row { display: flex; align-items: center; gap: 8px; font-weight: var(--font-weight-normal, 400); }
.nav-children { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: var(--font-size-sm, 0.8125rem); }

View File

@@ -30,7 +30,7 @@
h4 {
margin: 0;
font-size: var(--font-size-md, 0.9375rem);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
}
p {

View File

@@ -18,7 +18,7 @@
.category-health__percent {
font-size: var(--font-size-xs, 0.75rem);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
color: var(--text-secondary, #5f6e6a);
}

View File

@@ -8,6 +8,6 @@
.card p { margin: 0; }
.muted { color: var(--text-secondary, #5f6e6a); font-size: var(--font-size-sm, 0.8125rem); }
.order-row { display: flex; align-items: center; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--border-subtle, #e7ece9); }
.link-button { all: unset; cursor: pointer; color: var(--brand-primary, #1e8a6e); font-weight: 600; }
.link-button { all: unset; cursor: pointer; color: var(--brand-primary, #1e8a6e); font-weight: var(--font-weight-semibold, 600); }
.link-button:hover, .link-button:focus-visible { text-decoration: underline; }
@media (max-width: 700px) { .grid.two { grid-template-columns: 1fr; } }

View File

@@ -22,7 +22,7 @@
.dashboard-card__title {
margin: 0;
font-size: var(--font-size-xl, 1.125rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-primary);
flex: 1 1 auto;
}

View File

@@ -7,7 +7,7 @@
.dashboard-metric__label {
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
letter-spacing: 0.4px;
text-transform: uppercase;
color: var(--text-light);
@@ -18,7 +18,7 @@
align-items: center;
gap: var(--space-xs);
font-size: var(--font-size-xl, 1.125rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-primary);
overflow: hidden;
text-overflow: ellipsis;
@@ -27,7 +27,7 @@
.dashboard-metric__badge {
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
letter-spacing: 0.4px;
text-transform: uppercase;
padding: 2px 8px;

View File

@@ -14,7 +14,7 @@
.dashboard-section__title {
margin: 0;
font-size: var(--font-size-xl, 1.125rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-primary);
flex: 1 1 auto;
}

View File

@@ -57,7 +57,7 @@
.dashboard-shortcut-card__title {
font-size: var(--font-size-lg, 1rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-primary);
}
@@ -75,7 +75,7 @@
top: var(--space-sm);
right: var(--space-sm);
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
padding: 2px 8px;
border-radius: var(--radius-lg);
background: color-mix(in srgb, var(--primary-color) 8%, transparent);

View File

@@ -21,7 +21,7 @@
}
.dashboard-status-row__value {
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-primary);
}

View File

@@ -35,7 +35,7 @@
.dashboard-welcome__eyebrow {
margin: 0;
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
letter-spacing: 0.4px;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.75);
@@ -44,7 +44,7 @@
.dashboard-welcome__title {
margin: 0;
font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
line-height: 1.25;
display: flex;
align-items: center;
@@ -54,7 +54,7 @@
.dashboard-welcome__env-badge {
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
letter-spacing: 0.4px;
text-transform: uppercase;
padding: 2px 10px;
@@ -110,7 +110,7 @@
margin: 0;
font-size: var(--font-size-lg, 1rem);
color: var(--success-color);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
}
.dashboard-draft__fields {
@@ -180,7 +180,7 @@
.dashboard-doc-list__badge {
margin-left: auto;
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
padding: 2px 8px;
border-radius: var(--radius-lg);
background: var(--bg-tertiary);

View File

@@ -2,6 +2,6 @@
.moderation-dashboard__metrics { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1100px) { .moderation-dashboard__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .moderation-dashboard__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.moderation-dashboard__activity h4 { margin: 0 0 8px; font-size: var(--font-size-md, 0.9375rem); font-weight: 700; }
.moderation-dashboard__activity h4 { margin: 0 0 8px; font-size: var(--font-size-md, 0.9375rem); font-weight: var(--font-weight-bold, 700); }
.moderation-dashboard__activity ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: var(--font-size-sm, 0.8125rem); color: var(--text-secondary, #5f6e6a); }
.moderation-dashboard__activity p { margin: 0; font-size: var(--font-size-sm, 0.8125rem); color: var(--text-secondary, #5f6e6a); }

View File

@@ -1,7 +1,7 @@
.review-health { display: grid; gap: 6px; align-items: center; }
.review-health__bar { height: 6px; border-radius: var(--radius-full, 999px); background: var(--surface-muted, #eef2f0); overflow: hidden; }
.review-health__bar-fill { height: 100%; background: var(--brand-primary, #1e8a6e); }
.review-health__percent { font-size: var(--font-size-xs, 0.75rem); font-weight: 700; color: var(--text-secondary, #5f6e6a); }
.review-health__percent { font-size: var(--font-size-xs, 0.75rem); font-weight: var(--font-weight-bold, 700); color: var(--text-secondary, #5f6e6a); }
.review-health__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: var(--font-size-xs, 0.75rem); color: var(--text-secondary, #5f6e6a); }
.review-health__list li { display: flex; align-items: center; gap: 6px; }
.review-health__list-item--done { color: var(--text-primary, #1e3c38); }

View File

@@ -2,5 +2,5 @@
.toolbar { display: flex; align-items: center; gap: 12px; }
.toolbar h1 { margin: 0; font-size: var(--font-size-2xl, 1.25rem); }
.actions { display: flex; gap: 8px; }
.link-button { all: unset; cursor: pointer; color: var(--brand-primary, #1e8a6e); font-weight: 600; }
.link-button { all: unset; cursor: pointer; color: var(--brand-primary, #1e8a6e); font-weight: var(--font-weight-semibold, 600); }
.link-button:hover, .link-button:focus-visible { text-decoration: underline; }

View File

@@ -46,7 +46,7 @@
}
.order-timeline__status {
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
color: var(--text-primary, #1e3c38);
}

View File

@@ -31,7 +31,7 @@
.orders-dashboard__activity h4 {
margin: 0 0 8px;
font-size: var(--font-size-md, 0.9375rem);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
}
.orders-dashboard__activity ul {

View File

@@ -7,7 +7,7 @@
.card { border: 1px solid var(--border-color, #d3dad9); border-radius: var(--radius-md); padding: 14px; display: grid; gap: 6px; }
.card h3 { margin: 0 0 6px; }
.card p { margin: 0; }
.total { font-weight: 600; }
.total { font-weight: var(--font-weight-semibold, 600); }
select, textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--border-color, #d3dad9); border-radius: var(--radius-sm); font: inherit; }
.actions { display: flex; gap: 8px; }
@media (max-width: 700px) { .grid.two { grid-template-columns: 1fr; } }
@@ -17,12 +17,12 @@ select, textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--borde
all: unset;
cursor: pointer;
color: var(--brand-primary, #1e8a6e);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
&:hover, &:focus-visible { text-decoration: underline; }
}
.print-only { display: none; margin: 0; font-weight: 600; }
.print-only { display: none; margin: 0; font-weight: var(--font-weight-semibold, 600); }
.status-stepper {
list-style: none;
@@ -60,7 +60,7 @@ select, textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--borde
.status-stepper__label {
font-size: var(--font-size-sm, 0.8125rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-secondary, #5f6e6a);
}
@@ -70,6 +70,6 @@ select, textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--borde
}
.status-stepper__terminal {
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
color: var(--text-primary, #1e3c38);
}

View File

@@ -3,7 +3,7 @@
.grid.one { grid-template-columns: 1fr; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
label { display: grid; gap: 6px; font-weight: 600; }
label { display: grid; gap: 6px; font-weight: var(--font-weight-semibold, 600); }
label.full, app-form-field.full { grid-column: 1 / -1; }
label.check { display: flex; align-items: center; gap: 8px; }
textarea, select { width: 100%; padding: 10px 12px; border: 1px solid var(--border-color, #d3dad9); border-radius: 10px; font: inherit; }
@@ -32,7 +32,7 @@ input[type='checkbox'] { width: auto; }
}
}
.related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.price-preview { font-weight: 600; }
.price-preview { font-weight: var(--font-weight-semibold, 600); }
.actions { display: flex; justify-content: flex-end; }
@media (max-width: 700px) { .related-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .grid.two, .grid.three, .readonly-grid { grid-template-columns: 1fr; } }
@@ -46,7 +46,7 @@ input[type='checkbox'] { width: auto; }
padding: 10px 14px;
border-radius: 8px 8px 0 0;
font-size: var(--font-size-base, 0.875rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
color: var(--text-secondary, #5f6e6a);
display: inline-flex;
align-items: center;
@@ -56,11 +56,11 @@ input[type='checkbox'] { width: auto; }
}
.form-card__tab--active { color: var(--brand-primary, #1e8a6e); background: var(--surface-muted, #eef2f0); }
.form-card__panel { min-height: 200px; display: grid; gap: 14px; }
.form-card__subheading { margin: 8px 0 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary, #5f6e6a); }
.form-card__subheading { margin: 8px 0 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: var(--font-weight-bold, 700); text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary, #5f6e6a); }
.form-card__explain { margin: 0; font-size: var(--font-size-sm, 0.8125rem); color: var(--text-secondary, #5f6e6a); }
.form-card__group { border: 1px solid var(--border-subtle, #e7ece9); border-radius: 10px; padding: 10px 14px; }
.form-card__group summary { cursor: pointer; font-weight: 700; color: var(--text-primary, #1e3c38); }
.toggle-row { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.form-card__group summary { cursor: pointer; font-weight: var(--font-weight-bold, 700); color: var(--text-primary, #1e3c38); }
.toggle-row { display: flex; align-items: center; gap: 8px; font-weight: var(--font-weight-normal, 400); }
.seo-preview {
border: 1px solid var(--border-subtle, #e7ece9);
@@ -86,7 +86,7 @@ input[type='checkbox'] { width: auto; }
align-items: center;
gap: 8px;
cursor: pointer;
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
font-size: var(--font-size-base, 0.875rem);
&:focus-visible { outline: 2px solid var(--color-primary, #2f8f5b); outline-offset: 2px; }
@@ -98,7 +98,7 @@ input[type='checkbox'] { width: auto; }
margin-left: auto;
color: var(--text-secondary, #6b7280);
font-size: var(--font-size-sm, 0.8125rem);
font-weight: 400;
font-weight: var(--font-weight-normal, 400);
}
.translations-block__hint {
margin: 0 0 10px;
@@ -110,7 +110,7 @@ input[type='checkbox'] { width: auto; }
.badge-chip {
display: inline-flex; align-items: center; gap: 4px;
min-height: 24px; padding: 3px 10px; border-radius: var(--radius-full, 999px);
color: #fff; font-size: var(--font-size-xs, 0.75rem); font-weight: 700; text-transform: uppercase;
color: #fff; font-size: var(--font-size-xs, 0.75rem); font-weight: var(--font-weight-bold, 700); text-transform: uppercase;
border: none;
}
.badge-chip--add { cursor: pointer; opacity: 0.55; &:hover { opacity: 1; } &:focus-visible { outline: 2px solid var(--color-primary, #2f8f5b); outline-offset: 2px; opacity: 1; } }

View File

@@ -22,7 +22,7 @@ select { min-height: 40px; padding: 0 10px; border: 1px solid var(--border-color
.product-grid__select { position: absolute; top: 8px; left: 8px; z-index: 1; }
.product-grid__image { width: 100%; height: 120px; object-fit: cover; border-radius: var(--radius-sm); background: var(--surface-muted, #eef2f0); }
.product-grid__image--placeholder { display: flex; align-items: center; justify-content: center; font-size: var(--font-size-xs, 0.75rem); color: var(--text-tertiary, #9aa6a2); }
.product-grid__name { margin: 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-grid__name { margin: 0; font-size: var(--font-size-sm, 0.8125rem); font-weight: var(--font-weight-bold, 700); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-grid__price { margin: 0; font-size: var(--font-size-sm, 0.8125rem); color: var(--text-secondary, #5f6e6a); }
.product-grid__actions { display: flex; gap: 6px; flex-wrap: wrap; }

View File

@@ -18,7 +18,7 @@
.product-health__percent {
font-size: var(--font-size-xs, 0.75rem);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
color: var(--text-secondary, #5f6e6a);
}

View File

@@ -82,7 +82,7 @@
button { border: none; background: transparent; cursor: pointer; color: var(--text-secondary, #6b7280); }
}
.price-row__currency { font-weight: 700; font-size: var(--font-size-sm, 0.8125rem); min-width: 32px; }
.price-row__currency { font-weight: var(--font-weight-bold, 700); font-size: var(--font-size-sm, 0.8125rem); min-width: 32px; }
.price-row--add { gap: 4px; }
@media (max-width: 640px) {

View File

@@ -43,7 +43,7 @@
h4 {
margin: 0;
font-size: var(--font-size-md, 0.9375rem);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
}
p {

View File

@@ -80,7 +80,7 @@
padding: var(--space-md);
text-decoration: none;
color: var(--text-primary);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
border-bottom: 1px solid var(--border-color);
}
@@ -114,7 +114,7 @@
.admin-layout__nav-group {
padding: var(--space-md) var(--space-sm) var(--space-xs);
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
letter-spacing: 0.4px;
text-transform: uppercase;
color: var(--text-light);
@@ -154,7 +154,7 @@
&--active {
background: color-mix(in srgb, var(--primary-color) 8%, transparent);
color: var(--primary-color);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
}
&--disabled {
@@ -171,7 +171,7 @@
.admin-layout__soon-badge {
margin-left: auto;
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
padding: 2px 8px;
border-radius: var(--radius-lg);
background: color-mix(in srgb, var(--primary-color) 8%, transparent);
@@ -263,7 +263,7 @@
.admin-layout__title {
margin: 0;
font-size: var(--font-size-xl, 1.125rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
@@ -384,13 +384,13 @@
background: var(--primary-color);
color: #fff;
font-size: var(--font-size-xs, 0.75rem);
font-weight: 700;
font-weight: var(--font-weight-bold, 700);
flex-shrink: 0;
}
.admin-layout__account-name {
font-size: var(--font-size-xs, 0.75rem);
font-weight: 600;
font-weight: var(--font-weight-semibold, 600);
max-width: 140px;
overflow: hidden;
text-overflow: ellipsis;