@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.
- package/CHANGELOG.md +49 -0
- package/LICENSE +21 -0
- package/README.md +138 -0
- package/dist/css/base.css +304 -0
- package/dist/css/grid.css +1761 -0
- package/dist/css/pure-css.css +4839 -0
- package/dist/css/utilities.css +2773 -0
- package/package.json +62 -0
- package/src/scss/_base-css-variables.scss +648 -0
- package/src/scss/_fonts.scss +37 -0
- package/src/scss/_pa-grid.scss +292 -0
- package/src/scss/base.scss +15 -0
- package/src/scss/grid.scss +7 -0
- package/src/scss/pure-css.scss +28 -0
- package/src/scss/utilities.scss +759 -0
- package/src/scss/variables/_base.scss +232 -0
- package/src/scss/variables/_colors.scss +231 -0
- package/src/scss/variables/_components.scss +835 -0
- package/src/scss/variables/_index.scss +23 -0
- package/src/scss/variables/_layout.scss +65 -0
- package/src/scss/variables/_spacing.scss +78 -0
- package/src/scss/variables/_system.scss +89 -0
- package/src/scss/variables/_typography.scss +37 -0
|
@@ -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;
|