* fix(#220): implement edit soul and set model dialogs * fix(#211): make UI more compact and information dense * fix(#211): make navigation drawer sidebar more compact * feat(#252): move settings item to end of navigation drawer * feat(#250): add bottom navigation bar display mode settings * feat(#225): add search bar filtering to remaining screens * fix: make bottom navigation bar display modes more compact * fix: resolve compilation error in KanbanScreen by referencing assignedTo * feat: add search to achievements screen and top padding for icon-only navigation bar * fix: adjust icon-only bottom bar height and remove padding * fix(#249): remove unused PaddingValues imports in 6 screens --------- Co-authored-by: M57 <hy4ri@users.noreply.github.com>
33 lines
1.1 KiB
Kotlin
33 lines
1.1 KiB
Kotlin
package com.m57.hermescontrol.theme
|
|
|
|
import androidx.compose.runtime.staticCompositionLocalOf
|
|
import androidx.compose.ui.unit.dp
|
|
|
|
/**
|
|
* Spacing tokens — the 8 dp rhythm that every screen shares.
|
|
*
|
|
* | Token | Value | Use case |
|
|
* |-------|--------|-------------------------------------------|
|
|
* | xs | 4 dp | Hairline gaps, chip inner padding |
|
|
* | sm | 8 dp | Default inner padding, icon-to-text gap |
|
|
* | md | 16 dp | Card content, screen edge, section gaps |
|
|
* | lg | 24 dp | Hero spacing, between major sections |
|
|
* | xl | 32 dp | Full-feature spacing, large section break |
|
|
* | xxl | 48 dp | Maximum spacing, rare |
|
|
*
|
|
* Access in composables via `LocalSpacing.current` or the [Spacing] object.
|
|
*/
|
|
object Spacing {
|
|
val xs = 2.dp
|
|
val sm = 6.dp
|
|
val md = 12.dp
|
|
val lg = 18.dp
|
|
val xl = 24.dp
|
|
val xxl = 36.dp
|
|
}
|
|
|
|
/** Alias for backwards-compatibility — existing `Spacing.xs` calls still work. */
|
|
val SpacingDefaults = Spacing
|
|
|
|
val LocalSpacing = staticCompositionLocalOf { Spacing }
|