@skygraph/styles 0.2.1 → 0.2.2

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.
@@ -136,7 +136,7 @@
136
136
  position: absolute;
137
137
  width: 12px;
138
138
  height: 12px;
139
- border: 2px solid #fff;
139
+ border: 2px solid var(--sg-color-white, #fff);
140
140
  border-radius: 50%;
141
141
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
142
142
  transform: translate(-50%, -50%);
@@ -170,7 +170,7 @@
170
170
  top: 50%;
171
171
  width: 14px;
172
172
  height: 14px;
173
- border: 2px solid #fff;
173
+ border: 2px solid var(--sg-color-white, #fff);
174
174
  border-radius: 50%;
175
175
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
176
176
  background: transparent;
@@ -20,8 +20,14 @@
20
20
  }
21
21
 
22
22
  @keyframes sg-dropdown-in {
23
- from { opacity: 0; transform: scaleY(0.8); }
24
- to { opacity: 1; transform: scaleY(1); }
23
+ from {
24
+ opacity: 0;
25
+ transform: scaleY(0.8);
26
+ }
27
+ to {
28
+ opacity: 1;
29
+ transform: scaleY(1);
30
+ }
25
31
  }
26
32
 
27
33
  /* Placement variants — both camelCase (legacy, generated as
@@ -69,6 +75,12 @@
69
75
  background: var(--sg-color-bg-hover);
70
76
  }
71
77
 
78
+ .sg-dropdown-item-focused {
79
+ background: var(--sg-color-bg-hover);
80
+ outline: 2px solid var(--sg-color-primary);
81
+ outline-offset: -2px;
82
+ }
83
+
72
84
  .sg-dropdown-item-disabled {
73
85
  color: var(--sg-color-text-disabled);
74
86
  cursor: not-allowed;
@@ -82,10 +94,15 @@
82
94
  color: var(--sg-color-error);
83
95
  }
84
96
 
85
- .sg-dropdown-item-danger:hover {
97
+ .sg-dropdown-item-danger:hover,
98
+ .sg-dropdown-item-danger.sg-dropdown-item-focused {
86
99
  background: var(--sg-color-error-bg);
87
100
  }
88
101
 
102
+ .sg-dropdown-item-danger.sg-dropdown-item-focused {
103
+ outline-color: var(--sg-color-error);
104
+ }
105
+
89
106
  .sg-dropdown-divider {
90
107
  height: 1px;
91
108
  margin: var(--sg-margin-xs) 0;
@@ -64,7 +64,7 @@
64
64
 
65
65
  .sg-menu-dark .sg-menu-item-selected,
66
66
  .sg-menu-dark .sg-menu-item-selected:hover {
67
- color: #fff;
67
+ color: var(--sg-color-white, #fff);
68
68
  background: var(--sg-color-primary);
69
69
  }
70
70
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  .sg-skeleton-avatar {
12
12
  display: block;
13
- background: var(--sg-color-bg-hover);
13
+ background: var(--sg-skeleton-bg, var(--sg-color-bg-hover));
14
14
  }
15
15
 
16
16
  .sg-skeleton-avatar-circle {
@@ -29,7 +29,7 @@
29
29
  .sg-skeleton-title {
30
30
  height: 16px;
31
31
  margin-bottom: var(--sg-margin-md);
32
- background: var(--sg-color-bg-hover);
32
+ background: var(--sg-skeleton-bg, var(--sg-color-bg-hover));
33
33
  border-radius: var(--sg-border-radius-sm);
34
34
  }
35
35
 
@@ -44,25 +44,29 @@
44
44
 
45
45
  .sg-skeleton-paragraph li {
46
46
  height: 16px;
47
- background: var(--sg-color-bg-hover);
47
+ background: var(--sg-skeleton-bg, var(--sg-color-bg-hover));
48
48
  border-radius: var(--sg-border-radius-sm);
49
49
  }
50
50
 
51
- /* Pulse animation */
51
+ /* Pulse animation — gradient sweeps the shimmer highlight across the bar. */
52
52
  .sg-skeleton-active .sg-skeleton-avatar,
53
53
  .sg-skeleton-active .sg-skeleton-title,
54
54
  .sg-skeleton-active .sg-skeleton-paragraph li {
55
55
  animation: sg-skeleton-pulse 1.5s ease-in-out infinite;
56
56
  background: linear-gradient(
57
57
  90deg,
58
- var(--sg-color-bg-hover) 25%,
59
- var(--sg-color-bg-secondary) 37%,
60
- var(--sg-color-bg-hover) 63%
58
+ var(--sg-skeleton-bg, var(--sg-color-bg-hover)) 25%,
59
+ var(--sg-skeleton-shimmer, var(--sg-color-bg-secondary)) 37%,
60
+ var(--sg-skeleton-bg, var(--sg-color-bg-hover)) 63%
61
61
  );
62
62
  background-size: 400% 100%;
63
63
  }
64
64
 
65
65
  @keyframes sg-skeleton-pulse {
66
- 0% { background-position: 100% 50%; }
67
- 100% { background-position: 0 50%; }
66
+ 0% {
67
+ background-position: 100% 50%;
68
+ }
69
+ 100% {
70
+ background-position: 0 50%;
71
+ }
68
72
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@skygraph/styles",
3
- "version": "0.2.1",
4
- "description": "SkyGraph framework-agnostic CSS tokens, themes, transitions, print and 60+ component stylesheets",
3
+ "version": "0.2.2",
4
+ "description": "SkyGraph framework-agnostic CSS — tokens, themes, transitions, print and 60+ component stylesheets",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": [
package/tokens.css CHANGED
@@ -136,6 +136,12 @@
136
136
  --sg-color-tooltip-bg: rgba(0, 0, 0, 0.85);
137
137
  --sg-color-tooltip-text: #ffffff;
138
138
 
139
+ /* Skeleton — base bar fill + shimmer highlight (light theme).
140
+ * Kept distinct from --sg-color-bg-hover so loading placeholders stay
141
+ * clearly visible on white surfaces and don't fight the hover palette. */
142
+ --sg-skeleton-bg: #e2e8f0;
143
+ --sg-skeleton-shimmer: #f8fafc;
144
+
139
145
  /* === Visualization layer (light) ===
140
146
  * Re-mappable per theme. Components use these via `var(--sg-*)` so
141
147
  * dark theme overrides cascade automatically. */
@@ -237,6 +243,10 @@
237
243
  --sg-color-tooltip-bg: #434343;
238
244
  --sg-color-tooltip-text: #ffffff;
239
245
 
246
+ /* Skeleton — dark theme bars need brighter fills to stay readable. */
247
+ --sg-skeleton-bg: rgba(255, 255, 255, 0.08);
248
+ --sg-skeleton-shimmer: rgba(255, 255, 255, 0.18);
249
+
240
250
  /* === Visualization layer (dark) ===
241
251
  * Shadows are stronger and use lower-alpha bright tints; canvas grid
242
252
  * lines use white-alpha so they read against dark bg. */