Files
mdm-ordinis/ordinis-admin-ui/src/lib/scope-style.ts
T
2026-05-11 09:08:38 +00:00

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',
}