feat: request portal — bespoke forms + approval mechanism

This commit is contained in:
Тимур Городецкий
2026-08-03 09:35:14 +05:00
commit bc91c9861d
110 changed files with 30562 additions and 0 deletions
@@ -0,0 +1,84 @@
@import '../../../styles/design-tokens';
// Full-width: снимаем max-width канвы SharePoint — и в workbench (dev), и на живой
// странице. !important оправдан: перебиваем встроенные стили канвы, иначе их не снять.
// Если после обновления платформы ширина вернётся — проверить актуальные селекторы в DevTools.
:global {
#workbenchPageContent,
.CanvasComponent.LCS .CanvasZone {
max-width: 100% !important;
}
}
.requestPortal {
font-family: $font-sans;
font-size: $fs-body;
line-height: 1.55;
color: $gray-900;
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
// Полная ширина обеспечивается через "supportsFullBleed": true в манифесте
// + размещение web part в полноширинной секции (как в projects-list).
// Корень занимает 100% контейнера, без CSS-трюков с 100vw.
width: 100%;
// Только вертикальные отступы; горизонтальные — на внутренних секциях.
padding: $sp-4 $sp-5 $sp-8;
}
// Центрированная колонка контента. 1080px — ширина контента из дизайн-системы
// (как .sec в референсе): форма и плитки читаются аккуратно, не растягиваясь.
.content {
width: 100%;
max-width: 1080px;
margin: 0 auto;
}
.teams {
// Задел под специфику Teams-контекста; пока совпадает с базовым.
font-family: $font-sans;
}
// ── Заглушка формы (до появления реальных форм) ──
.formPlaceholder {
margin-top: $sp-6;
padding: $sp-8;
background: $white;
border: 1px solid $gray-200;
border-radius: $r-lg;
box-shadow: $sh-1;
}
.backButton {
display: inline-flex;
align-items: center;
gap: $sp-2;
margin-bottom: $sp-4;
padding: 0;
border: 0;
background: transparent;
color: $navy-700;
font-family: $font-sans;
font-size: $fs-sm;
cursor: pointer;
transition: color .18s;
&:hover {
color: $gold-600;
}
}
.placeholderText {
font-family: $font-serif;
font-size: 18px;
color: $navy-900;
}
.loading {
margin-top: $sp-6;
padding: $sp-8;
color: $gray-500;
font-size: $fs-sm;
text-align: center;
}