@keenmate/pure-css 1.0.0-rc01

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ // ============================================================================
2
+ // VARIABLES INDEX
3
+ // Central import point for all variable modules
4
+ // ============================================================================
5
+
6
+ // IMPORTANT: Order matters for dependencies!
7
+ // 1. Base variables are the SOURCE OF TRUTH (standalone, no imports)
8
+ // 2. All other modules can import from base and derive their values
9
+ //
10
+ // NOTE: We use @import (not @forward) to ensure variables share the global
11
+ // scope. This allows themes to set variables BEFORE importing, and the
12
+ // !default flags will skip already-defined variables.
13
+
14
+ // Base variables FIRST - single source of truth for theming
15
+ @import 'base';
16
+
17
+ // Derived framework variables (can use base values)
18
+ @import 'typography';
19
+ @import 'spacing';
20
+ @import 'colors';
21
+ @import 'layout';
22
+ @import 'system';
23
+ @import 'components';
@@ -0,0 +1,65 @@
1
+ // ============================================================================
2
+ // LAYOUT VARIABLES
3
+ // Dimensions, containers, breakpoints, and structural measurements
4
+ // ============================================================================
5
+
6
+ // NOTE: 10px rem base - all rem values are now in 10px units (1rem = 10px)
7
+
8
+ // Layout dimensions
9
+ $header-height: 4.8rem !default; // 48px (was 3rem)
10
+ $footer-height: $header-height !default; // Same as header
11
+ $sidebar-width: 28.8rem !default; // 288px (was 18rem)
12
+ $sidebar-max-width: 40rem !default; // 400px (was 25rem)
13
+ $sidebar-collapsed-width: 6.4rem !default; // 64px (was 4rem)
14
+ $sidebar-padding: 0.8rem 1.6rem !default; // 8px 16px (was 0.5rem 1rem)
15
+
16
+ // Layout container widths
17
+ $layout-container-sm: 76.8rem !default; // 768px (was 48rem)
18
+ $layout-container-md: 102.4rem !default; // 1024px (was 64rem)
19
+ $layout-container-lg: 128rem !default; // 1280px (was 80rem)
20
+ $layout-container-xl: 160rem !default; // 1600px (was 100rem)
21
+ $layout-container-2xl: 192rem !default; // 1920px (was 120rem)
22
+
23
+ // Icon system variables (for any icon pack)
24
+ $sidebar-icon-size: 2.4rem !default; // 24px (was 1.5rem)
25
+ $sidebar-item-gap: 1.2rem !default; // 12px (was 0.75rem)
26
+ $sidebar-submenu-indent: 4rem !default; // 40px (was 2.5rem)
27
+
28
+ // Burger menu
29
+ $burger-width: 2.4rem !default; // 24px (was 1.5rem)
30
+ $burger-height: 2.4rem !default; // 24px (was 1.5rem)
31
+ $burger-bar-height: 2px !default;
32
+ $burger-bar-spacing: 4px !default;
33
+ $burger-transform-offset: 3px !default;
34
+ $burger-menu-margin-left: 0.3rem !default; // ~3px (was 0.2rem)
35
+
36
+ // Header brand
37
+ $header-brand-padding-left: 2.1rem !default; // ~21px (was 1.3rem)
38
+
39
+ // Responsive breakpoints
40
+ $mobile-breakpoint: 768px !default;
41
+ $tablet-breakpoint: 1024px !default;
42
+ $tablet-breakpoint-min: 769px !default;
43
+ $sidebar-width-tablet: 16rem !default; // 160px (was 10rem)
44
+
45
+ // Scrollbar
46
+ $scrollbar-width: 6px !default;
47
+ $scrollbar-border-radius: 3px !default;
48
+
49
+ // Border radius
50
+ $border-radius-sm: 2px !default;
51
+ $border-radius: 4px !default;
52
+ $border-radius-lg: 8px !default;
53
+
54
+ // Layout system
55
+ $sidebar-submenu-indent-multiplier: 1.3 !default;
56
+ $mobile-backdrop-bg: rgba(0, 0, 0, 0.5) !default;
57
+ $mobile-sidebar-width: 90vw !default;
58
+
59
+ // Utility spacing (for specific use cases not covered by main spacing system)
60
+ $section-margin-v: 3.2rem !default; // 32px (was 2rem)
61
+ $section-margin-sm: 2.4rem !default; // 24px (was 1.5rem)
62
+ $submenu-max-height: 500px !default;
63
+
64
+ // Grid system (depends on spacing, but layout-related)
65
+ $hover-lift-offset: -2px !default;
@@ -0,0 +1,78 @@
1
+ // ============================================================================
2
+ // SPACING VARIABLES
3
+ // Spacing system, border widths, grid configuration
4
+ // ============================================================================
5
+
6
+ // NOTE: 10px rem base - all rem values are now in 10px units (1rem = 10px)
7
+
8
+ // Spacing system (used for padding, margin, gap) - 10px base
9
+ $spacing-xs: 0.4rem !default; // 4px (was 0.25rem)
10
+ $spacing-sm: 0.8rem !default; // 8px (was 0.5rem)
11
+ $spacing-md: 1.2rem !default; // 12px (was 0.75rem)
12
+ $spacing-base: 1.6rem !default; // 16px (was 1rem)
13
+ $spacing-lg: 2.4rem !default; // 24px (was 1.5rem)
14
+ $spacing-xl: 3.2rem !default; // 32px (was 2rem)
15
+ $spacing-2xl: 4.8rem !default; // 48px (was 3rem)
16
+
17
+ // Semantic spacers map (for utility class generation)
18
+ $semantic-spacers: (
19
+ '0': 0,
20
+ 'xs': $spacing-xs,
21
+ 'sm': $spacing-sm,
22
+ 'md': $spacing-md,
23
+ 'base': $spacing-base,
24
+ 'lg': $spacing-lg,
25
+ 'xl': $spacing-xl,
26
+ '2xl': $spacing-2xl
27
+ ) !default;
28
+
29
+ // Border widths
30
+ $border-width-thin: 1px !default;
31
+ $border-width-base: 1px !default;
32
+ $border-width-medium: 2px !default;
33
+ $border-width-thick: 3px !default;
34
+
35
+ // Grid system
36
+ $grid-gutter-base: $spacing-sm !default;
37
+ $grid-gutter-sm: $spacing-xs !default;
38
+ $grid-gutter-md: $spacing-md !default;
39
+ $grid-gutter-lg: $spacing-base !default;
40
+ $grid-breakpoints: (
41
+ sm: 576px,
42
+ md: 768px,
43
+ lg: 992px,
44
+ xl: 1200px
45
+ ) !default;
46
+
47
+ // Standard HTML element spacing
48
+ // Headings
49
+ $heading-margin-top: $spacing-lg !default;
50
+ $heading-margin-bottom: $spacing-sm !default;
51
+
52
+ // Paragraphs
53
+ $paragraph-margin-top: 0 !default;
54
+ $paragraph-margin-bottom: $spacing-base !default;
55
+
56
+ // Lists
57
+ $list-margin-top: 0 !default;
58
+ $list-margin-bottom: $spacing-base !default;
59
+ $list-padding-left: $spacing-xl !default;
60
+ $list-item-margin-bottom: $spacing-xs !default;
61
+
62
+ // Blockquote
63
+ $blockquote-margin-top: $spacing-base !default;
64
+ $blockquote-margin-bottom: $spacing-base !default;
65
+ $blockquote-padding-left: $spacing-lg !default;
66
+
67
+ // Pre/Code blocks
68
+ $pre-margin-top: $spacing-base !default;
69
+ $pre-margin-bottom: $spacing-base !default;
70
+ $pre-padding: $spacing-base !default;
71
+
72
+ // Horizontal rule
73
+ $hr-margin-top: $spacing-lg !default;
74
+ $hr-margin-bottom: $spacing-lg !default;
75
+
76
+ // Figure
77
+ $figure-margin-top: $spacing-base !default;
78
+ $figure-margin-bottom: $spacing-base !default;
@@ -0,0 +1,89 @@
1
+ // ============================================================================
2
+ // SYSTEM VARIABLES
3
+ // Z-index, opacity, transitions, animations, shadows
4
+ // ============================================================================
5
+
6
+ // Theme color-scheme signal to the browser. Drives native UA elements
7
+ // (scrollbars, form controls) and the `light-dark()` CSS function. Themes
8
+ // override BEFORE `@import variables/index`. Values: `light`, `dark`,
9
+ // `light dark` (let OS preference decide), or `only light` / `only dark`
10
+ // to ignore OS preference. Per-mode overrides (e.g. `color-scheme: dark;`
11
+ // inside a `.pa-mode-dark` block) take precedence via the cascade.
12
+ $theme-color-scheme: light !default;
13
+
14
+ // Z-index scale (increments of 1000 for easy adjustment)
15
+ $z-index-base: 0 !default;
16
+ $z-index-content: 1000 !default;
17
+ $z-index-sidebar: 2000 !default;
18
+ $z-index-sidebar-fixed: 3000 !default;
19
+ $z-index-detail-panel-card: 3500 !default; // Card overlay detail panel (below header)
20
+ $z-index-header: 4000 !default;
21
+ $z-index-profile-panel: 5000 !default;
22
+ $z-index-modal-backdrop: 6000 !default;
23
+ $z-index-modal: 7000 !default;
24
+ $z-index-toast: 8000 !default;
25
+ $z-index-tooltip: 9000 !default;
26
+
27
+ // Additional z-index values
28
+ $z-index-dropdown: 7500 !default;
29
+ $z-index-popover: 7600 !default;
30
+ $z-index-loader: 10 !default;
31
+ $z-index-command-palette: 10500 !default;
32
+ $z-index-settings-panel: 10000 !default;
33
+
34
+ // Transitions & Animation
35
+ $transition-speed: 1 !default;
36
+ $transition-fast: calc(0.1s * $transition-speed) !default;
37
+ $transition-normal: calc(0.15s * $transition-speed) !default;
38
+ $transition-medium: calc(0.25s * $transition-speed) !default;
39
+ $transition-slow: calc(0.3s * $transition-speed) !default;
40
+ $easing-snappy: ease-out !default;
41
+ $easing-smooth: ease !default;
42
+ $easing-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55) !default;
43
+
44
+ // Opacity system
45
+ $opacity-disabled: 0.65 !default;
46
+ $opacity-muted: 0.5 !default;
47
+ $opacity-hover: 0.8 !default;
48
+ $opacity-light: 0.1 !default;
49
+ $opacity-subtle: 0.08 !default;
50
+ $opacity-border: 0.2 !default;
51
+ $opacity-shadow: 0.12 !default;
52
+ $opacity-shadow-md: 0.15 !default;
53
+
54
+ // Component-specific opacities
55
+ $alert-secondary-bg-opacity: 0.05 !default;
56
+ $alert-light-bg-opacity: 0.03 !default;
57
+ $card-tab-hover-opacity: 0.05 !default;
58
+ $bg-pattern-opacity: 0.03 !default;
59
+ $popover-code-bg-opacity: 0.1 !default;
60
+ $modal-warning-hover-bg-opacity: $opacity-light !default;
61
+
62
+ // Shadow system
63
+ $shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1) !default;
64
+ $shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1) !default;
65
+ $shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15) !default;
66
+ $shadow-xl: 0 0 60px rgba(0, 0, 0, 0.12) !default;
67
+ $shadow-2xl: 0 0 80px rgba(0, 0, 0, 0.15) !default;
68
+ $shadow-sidebar: -2px 2px 10px rgba(0, 0, 0, 0.1) !default;
69
+ $shadow-sidebar-open: -5px 0 20px rgba(0, 0, 0, 0.1) !default;
70
+ $shadow-profile-panel: -4px 0 20px rgba(0, 0, 0, 0.15) !default;
71
+
72
+ // Focus outline
73
+ $focus-outline-width: 2px !default;
74
+ $focus-outline-offset: 2px !default;
75
+ $focus-ring-width: 3px !default;
76
+
77
+ // Background pattern (for body background)
78
+ $bg-pattern-circle-1-x: 20% !default;
79
+ $bg-pattern-circle-1-y: 80% !default;
80
+ $bg-pattern-circle-2-x: 80% !default;
81
+ $bg-pattern-circle-2-y: 20% !default;
82
+ $bg-pattern-gradient-start: 0% !default;
83
+ $bg-pattern-gradient-stop: 50% !default;
84
+
85
+ // Animation
86
+ $animation-spin-duration: 1s !default;
87
+ $ripple-color: rgba(255, 255, 255, 0.3) !default;
88
+ $ripple-transition-duration: 0.6s !default;
89
+ $ripple-size: 300px !default;
@@ -0,0 +1,37 @@
1
+ // ============================================================================
2
+ // TYPOGRAPHY VARIABLES
3
+ // Font families, sizes, weights, and line heights
4
+ // ============================================================================
5
+
6
+ // NOTE: 10px rem base - all rem values are now in 10px units (1rem = 10px)
7
+
8
+ // Font system (comprehensive system font stacks)
9
+ $font-stack-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !default;
10
+ $font-stack-serif: Georgia, "Times New Roman", Times, serif !default;
11
+ $font-stack-mono: "Courier New", Courier, monospace !default;
12
+
13
+ // Body font (derived from $base-font-family, themes override that)
14
+ $body-font-family: $base-font-family !default;
15
+
16
+ // Font sizes (all in rem for consistency) - 10px base
17
+ $font-size-2xs: 1rem !default; // 10px (was 0.625rem)
18
+ $font-size-xs: 1.2rem !default; // 12px (was 0.75rem)
19
+ $font-size-sm: 1.4rem !default; // 14px (was 0.875rem)
20
+ $font-size-md: 1.5rem !default; // 15px (was 0.9375rem)
21
+ $font-size-base: 1.6rem !default; // 16px (was 1rem)
22
+ $font-size-lg: 1.8rem !default; // 18px (was 1.125rem)
23
+ $font-size-xl: 2rem !default; // 20px (was 1.25rem)
24
+ $font-size-2xl: 2.4rem !default; // 24px (was 1.5rem)
25
+ $font-size-3xl: 2.8rem !default; // 28px (was 1.75rem)
26
+ $font-size-4xl: 3.2rem !default; // 32px (was 2rem)
27
+
28
+ // Line height
29
+ $line-height-base: 1.5 !default;
30
+ $line-height-tight: 1.2 !default;
31
+ $line-height-relaxed: 1.8 !default;
32
+
33
+ // Font weights
34
+ $font-weight-normal: 400 !default;
35
+ $font-weight-medium: 500 !default;
36
+ $font-weight-semibold: 600 !default;
37
+ $font-weight-bold: 700 !default;