57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import type { DataScope } from '@/api/client'
|
|
|
|
/**
|
|
* Visual ordering: PUBLIC → INTERNAL → RESTRICTED.
|
|
* Reads as escalating sensitivity, matches semaphore mental model.
|
|
*/
|
|
export const SCOPE_ORDER: ReadonlyArray<DataScope> = [
|
|
'PUBLIC',
|
|
'INTERNAL',
|
|
'RESTRICTED',
|
|
]
|
|
|
|
/**
|
|
* Solid background classes для •-shaped scope indicators (size-2 dots,
|
|
* section-header bullets). Use design handoff tokens (Tailwind v4 @theme):
|
|
* - PUBLIC → accent (terracotta, primary brand)
|
|
* - INTERNAL → warn (amber)
|
|
* - RESTRICTED → pink (brick)
|
|
*/
|
|
export const SCOPE_DOT: Record<DataScope, string> = {
|
|
PUBLIC: 'bg-accent',
|
|
INTERNAL: 'bg-warn',
|
|
RESTRICTED: 'bg-pink',
|
|
}
|
|
|
|
/** Same colors но для text-color (PUB chip filled bg, etc.). */
|
|
export const SCOPE_TEXT: Record<DataScope, string> = {
|
|
PUBLIC: 'text-accent',
|
|
INTERNAL: 'text-warn',
|
|
RESTRICTED: 'text-pink',
|
|
}
|
|
|
|
/** Same colors но для tinted background (pill chips, banner backgrounds). */
|
|
export const SCOPE_BG_TINT: Record<DataScope, string> = {
|
|
PUBLIC: 'bg-accent-bg',
|
|
INTERNAL: 'bg-warn-bg',
|
|
RESTRICTED: 'bg-pink-bg',
|
|
}
|
|
|
|
/**
|
|
* `before:` background classes для 4px left-accent stripe на card'ах.
|
|
* Pair with `relative` + `before:absolute before:left-0 before:top-0
|
|
* before:bottom-0 before:w-1 before:rounded-l-lg`.
|
|
*/
|
|
export const SCOPE_ACCENT: Record<DataScope, string> = {
|
|
PUBLIC: 'before:bg-accent',
|
|
INTERNAL: 'before:bg-warn',
|
|
RESTRICTED: 'before:bg-pink',
|
|
}
|
|
|
|
/** Solid border-top classes для page-level scope banner stripes. */
|
|
export const SCOPE_BORDER_TOP: Record<DataScope, string> = {
|
|
PUBLIC: 'border-t-accent',
|
|
INTERNAL: 'border-t-warn',
|
|
RESTRICTED: 'border-t-pink',
|
|
}
|