@skygraph/styles 0.6.4 → 0.6.6

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.
Files changed (68) hide show
  1. package/README.md +98 -98
  2. package/components/autocomplete.css +35 -35
  3. package/components/autofield.css +67 -67
  4. package/components/avatar.css +37 -37
  5. package/components/badge.css +102 -102
  6. package/components/breadcrumb.css +29 -29
  7. package/components/button.css +181 -181
  8. package/components/calendar.css +408 -408
  9. package/components/carousel.css +102 -102
  10. package/components/cascader.css +380 -380
  11. package/components/charts.css +408 -408
  12. package/components/checkbox.css +114 -114
  13. package/components/collapse.css +166 -166
  14. package/components/colorpicker.css +252 -252
  15. package/components/context-menu.css +95 -95
  16. package/components/descriptions.css +82 -82
  17. package/components/diagram.css +435 -435
  18. package/components/drawer.css +124 -124
  19. package/components/dropdown.css +110 -110
  20. package/components/empty.css +25 -25
  21. package/components/event-timeline.css +134 -134
  22. package/components/field.css +35 -35
  23. package/components/form.css +115 -115
  24. package/components/gantt.css +166 -166
  25. package/components/input-number.css +76 -76
  26. package/components/input-password.css +104 -104
  27. package/components/input.css +211 -211
  28. package/components/list.css +366 -366
  29. package/components/mentions.css +54 -54
  30. package/components/menu.css +326 -326
  31. package/components/modal.css +1 -0
  32. package/components/notification.css +128 -128
  33. package/components/pagination.css +162 -162
  34. package/components/popconfirm.css +95 -95
  35. package/components/progress.css +116 -116
  36. package/components/radio.css +95 -95
  37. package/components/rate.css +48 -48
  38. package/components/resource-calendar.css +224 -224
  39. package/components/result.css +45 -45
  40. package/components/schema-form-editor.css +433 -433
  41. package/components/search-input.css +112 -112
  42. package/components/segmented.css +76 -76
  43. package/components/select.css +181 -181
  44. package/components/skeleton.css +72 -72
  45. package/components/slider.css +51 -51
  46. package/components/spin.css +102 -102
  47. package/components/steps.css +194 -194
  48. package/components/switch.css +75 -75
  49. package/components/table.css +9 -1
  50. package/components/tabs.css +137 -137
  51. package/components/tag.css +61 -61
  52. package/components/textarea.css +22 -22
  53. package/components/timeline.css +169 -169
  54. package/components/timepicker.css +224 -224
  55. package/components/tooltip.css +91 -91
  56. package/components/transfer.css +140 -140
  57. package/components/tree.css +601 -601
  58. package/components/treeselect.css +221 -221
  59. package/components/upload.css +124 -124
  60. package/index.css +70 -70
  61. package/index.d.ts +9 -9
  62. package/package.json +1 -1
  63. package/print.css +88 -88
  64. package/reset.css +17 -17
  65. package/themes/dark.css +17 -17
  66. package/themes/default.css +14 -14
  67. package/tokens.css +310 -310
  68. package/transitions.css +158 -158
@@ -1,134 +1,134 @@
1
- /* EventTimeline — chronological event stream with optional grouping. */
2
-
3
- .sg-event-timeline {
4
- font-size: var(--sg-font-size);
5
- color: var(--sg-color-text);
6
- font-family: inherit;
7
- gap: var(--sg-margin-md);
8
- }
9
-
10
- .sg-event-timeline-vertical {
11
- align-items: stretch;
12
- }
13
-
14
- .sg-event-timeline-horizontal {
15
- align-items: flex-start;
16
- overflow-x: auto;
17
- padding-bottom: var(--sg-padding-md);
18
- /* Drop the flex gap horizontally: it broke the marker rail into disjoint
19
- * segments (one per card) which read as a dashed, glitchy line. Items carry
20
- * their own horizontal padding for spacing instead, and the rail below is
21
- * extended to bridge that padding so it renders as one continuous track. */
22
- gap: 0;
23
- }
24
-
25
- .sg-event-timeline-group {
26
- font-size: var(--sg-font-size-sm);
27
- color: var(--sg-color-text-tertiary);
28
- font-weight: 600;
29
- letter-spacing: 0.04em;
30
- text-transform: uppercase;
31
- padding: var(--sg-padding-xs) 0;
32
- border-bottom: 1px solid var(--sg-color-border-secondary);
33
- }
34
-
35
- .sg-event-timeline-horizontal .sg-event-timeline-group {
36
- border-bottom: none;
37
- border-right: 1px solid var(--sg-color-border-secondary);
38
- padding: 0 var(--sg-padding-md);
39
- align-self: stretch;
40
- display: flex;
41
- align-items: center;
42
- }
43
-
44
- .sg-event-timeline-item {
45
- display: flex;
46
- gap: var(--sg-margin-sm);
47
- padding: var(--sg-padding-sm) 0;
48
- /* Smooth color/transform transitions for hover; we only animate
49
- * properties that touch the dot/title. */
50
- transition: background-color var(--sg-transition-fast);
51
- }
52
-
53
- .sg-event-timeline-item:hover .sg-event-timeline-dot {
54
- /* Slightly larger dot + brighter halo when the parent item is hovered.
55
- * Both are driven by the new `--sg-event-timeline-dot-shadow-hover`
56
- * token so the affordance remains theme-correct. */
57
- transform: scale(1.2);
58
- box-shadow: var(--sg-event-timeline-dot-shadow-hover);
59
- }
60
-
61
- .sg-event-timeline-horizontal .sg-event-timeline-item {
62
- flex-direction: column;
63
- align-items: flex-start;
64
- min-width: 160px;
65
- padding: 0 var(--sg-padding-md);
66
- position: relative;
67
- }
68
-
69
- /* Horizontal mode: lay the marker out as a full-width rail so the dots line up
70
- * on a single track instead of floating above each card. */
71
- .sg-event-timeline-horizontal .sg-event-timeline-marker {
72
- width: 100%;
73
- justify-content: flex-start;
74
- margin-bottom: var(--sg-margin-sm);
75
- position: relative;
76
- }
77
-
78
- .sg-event-timeline-horizontal .sg-event-timeline-marker::before {
79
- content: '';
80
- position: absolute;
81
- top: 50%;
82
- /* Extend across the item's own horizontal padding so adjacent items'
83
- * rails meet edge-to-edge into one continuous line. */
84
- left: calc(-1 * var(--sg-padding-md));
85
- right: calc(-1 * var(--sg-padding-md));
86
- height: 2px;
87
- background: var(--sg-color-border-secondary);
88
- transform: translateY(-50%);
89
- }
90
-
91
- .sg-event-timeline-horizontal .sg-event-timeline-dot {
92
- position: relative;
93
- z-index: var(--sg-z-base);
94
- }
95
-
96
- .sg-event-timeline-marker {
97
- display: flex;
98
- align-items: center;
99
- justify-content: center;
100
- flex-shrink: 0;
101
- width: 16px;
102
- }
103
-
104
- .sg-event-timeline-dot {
105
- width: 10px;
106
- height: 10px;
107
- border-radius: 50%;
108
- background: var(--sg-color-primary);
109
- display: inline-block;
110
- /* Halo via the semantic token: outer ring of `--sg-color-bg` punches
111
- * the dot out from the rail, inner glow uses primary-tint for depth. */
112
- box-shadow: var(--sg-event-timeline-dot-shadow);
113
- transition:
114
- box-shadow var(--sg-transition-medium),
115
- transform var(--sg-transition-medium);
116
- }
117
-
118
- .sg-event-timeline-content {
119
- flex: 1;
120
- min-width: 0;
121
- }
122
-
123
- .sg-event-timeline-title {
124
- font-weight: 600;
125
- color: var(--sg-color-text);
126
- line-height: var(--sg-line-height);
127
- }
128
-
129
- .sg-event-timeline-description {
130
- margin-top: var(--sg-margin-xs);
131
- color: var(--sg-color-text-secondary);
132
- font-size: var(--sg-font-size-sm);
133
- line-height: var(--sg-line-height);
134
- }
1
+ /* EventTimeline — chronological event stream with optional grouping. */
2
+
3
+ .sg-event-timeline {
4
+ font-size: var(--sg-font-size);
5
+ color: var(--sg-color-text);
6
+ font-family: inherit;
7
+ gap: var(--sg-margin-md);
8
+ }
9
+
10
+ .sg-event-timeline-vertical {
11
+ align-items: stretch;
12
+ }
13
+
14
+ .sg-event-timeline-horizontal {
15
+ align-items: flex-start;
16
+ overflow-x: auto;
17
+ padding-bottom: var(--sg-padding-md);
18
+ /* Drop the flex gap horizontally: it broke the marker rail into disjoint
19
+ * segments (one per card) which read as a dashed, glitchy line. Items carry
20
+ * their own horizontal padding for spacing instead, and the rail below is
21
+ * extended to bridge that padding so it renders as one continuous track. */
22
+ gap: 0;
23
+ }
24
+
25
+ .sg-event-timeline-group {
26
+ font-size: var(--sg-font-size-sm);
27
+ color: var(--sg-color-text-tertiary);
28
+ font-weight: 600;
29
+ letter-spacing: 0.04em;
30
+ text-transform: uppercase;
31
+ padding: var(--sg-padding-xs) 0;
32
+ border-bottom: 1px solid var(--sg-color-border-secondary);
33
+ }
34
+
35
+ .sg-event-timeline-horizontal .sg-event-timeline-group {
36
+ border-bottom: none;
37
+ border-right: 1px solid var(--sg-color-border-secondary);
38
+ padding: 0 var(--sg-padding-md);
39
+ align-self: stretch;
40
+ display: flex;
41
+ align-items: center;
42
+ }
43
+
44
+ .sg-event-timeline-item {
45
+ display: flex;
46
+ gap: var(--sg-margin-sm);
47
+ padding: var(--sg-padding-sm) 0;
48
+ /* Smooth color/transform transitions for hover; we only animate
49
+ * properties that touch the dot/title. */
50
+ transition: background-color var(--sg-transition-fast);
51
+ }
52
+
53
+ .sg-event-timeline-item:hover .sg-event-timeline-dot {
54
+ /* Slightly larger dot + brighter halo when the parent item is hovered.
55
+ * Both are driven by the new `--sg-event-timeline-dot-shadow-hover`
56
+ * token so the affordance remains theme-correct. */
57
+ transform: scale(1.2);
58
+ box-shadow: var(--sg-event-timeline-dot-shadow-hover);
59
+ }
60
+
61
+ .sg-event-timeline-horizontal .sg-event-timeline-item {
62
+ flex-direction: column;
63
+ align-items: flex-start;
64
+ min-width: 160px;
65
+ padding: 0 var(--sg-padding-md);
66
+ position: relative;
67
+ }
68
+
69
+ /* Horizontal mode: lay the marker out as a full-width rail so the dots line up
70
+ * on a single track instead of floating above each card. */
71
+ .sg-event-timeline-horizontal .sg-event-timeline-marker {
72
+ width: 100%;
73
+ justify-content: flex-start;
74
+ margin-bottom: var(--sg-margin-sm);
75
+ position: relative;
76
+ }
77
+
78
+ .sg-event-timeline-horizontal .sg-event-timeline-marker::before {
79
+ content: '';
80
+ position: absolute;
81
+ top: 50%;
82
+ /* Extend across the item's own horizontal padding so adjacent items'
83
+ * rails meet edge-to-edge into one continuous line. */
84
+ left: calc(-1 * var(--sg-padding-md));
85
+ right: calc(-1 * var(--sg-padding-md));
86
+ height: 2px;
87
+ background: var(--sg-color-border-secondary);
88
+ transform: translateY(-50%);
89
+ }
90
+
91
+ .sg-event-timeline-horizontal .sg-event-timeline-dot {
92
+ position: relative;
93
+ z-index: var(--sg-z-base);
94
+ }
95
+
96
+ .sg-event-timeline-marker {
97
+ display: flex;
98
+ align-items: center;
99
+ justify-content: center;
100
+ flex-shrink: 0;
101
+ width: 16px;
102
+ }
103
+
104
+ .sg-event-timeline-dot {
105
+ width: 10px;
106
+ height: 10px;
107
+ border-radius: 50%;
108
+ background: var(--sg-color-primary);
109
+ display: inline-block;
110
+ /* Halo via the semantic token: outer ring of `--sg-color-bg` punches
111
+ * the dot out from the rail, inner glow uses primary-tint for depth. */
112
+ box-shadow: var(--sg-event-timeline-dot-shadow);
113
+ transition:
114
+ box-shadow var(--sg-transition-medium),
115
+ transform var(--sg-transition-medium);
116
+ }
117
+
118
+ .sg-event-timeline-content {
119
+ flex: 1;
120
+ min-width: 0;
121
+ }
122
+
123
+ .sg-event-timeline-title {
124
+ font-weight: 600;
125
+ color: var(--sg-color-text);
126
+ line-height: var(--sg-line-height);
127
+ }
128
+
129
+ .sg-event-timeline-description {
130
+ margin-top: var(--sg-margin-xs);
131
+ color: var(--sg-color-text-secondary);
132
+ font-size: var(--sg-font-size-sm);
133
+ line-height: var(--sg-line-height);
134
+ }
@@ -1,35 +1,35 @@
1
- .sg-field {
2
- font-size: inherit;
3
- }
4
-
5
- .sg-field-label {
6
- display: block;
7
- margin-bottom: var(--sg-margin-xs);
8
- color: var(--sg-color-text);
9
- font-size: var(--sg-font-size);
10
- line-height: var(--sg-line-height);
11
- }
12
-
13
- .sg-field-required {
14
- color: var(--sg-color-error);
15
- margin-left: 2px;
16
- }
17
-
18
- .sg-field-control {
19
- position: relative;
20
- }
21
-
22
- .sg-field-error {
23
- color: var(--sg-color-error);
24
- font-size: var(--sg-font-size-sm);
25
- margin-top: var(--sg-margin-xs);
26
- line-height: var(--sg-line-height);
27
- }
28
-
29
- .sg-field-has-error .sg-input {
30
- --sg-input-border: var(--sg-color-error);
31
- }
32
-
33
- .sg-field-has-error .sg-input:focus {
34
- box-shadow: 0 0 0 2px var(--sg-color-error-bg);
35
- }
1
+ .sg-field {
2
+ font-size: inherit;
3
+ }
4
+
5
+ .sg-field-label {
6
+ display: block;
7
+ margin-bottom: var(--sg-margin-xs);
8
+ color: var(--sg-color-text);
9
+ font-size: var(--sg-font-size);
10
+ line-height: var(--sg-line-height);
11
+ }
12
+
13
+ .sg-field-required {
14
+ color: var(--sg-color-error);
15
+ margin-left: 2px;
16
+ }
17
+
18
+ .sg-field-control {
19
+ position: relative;
20
+ }
21
+
22
+ .sg-field-error {
23
+ color: var(--sg-color-error);
24
+ font-size: var(--sg-font-size-sm);
25
+ margin-top: var(--sg-margin-xs);
26
+ line-height: var(--sg-line-height);
27
+ }
28
+
29
+ .sg-field-has-error .sg-input {
30
+ --sg-input-border: var(--sg-color-error);
31
+ }
32
+
33
+ .sg-field-has-error .sg-input:focus {
34
+ box-shadow: 0 0 0 2px var(--sg-color-error-bg);
35
+ }
@@ -1,115 +1,115 @@
1
- .sg-form {
2
- font-size: var(--sg-font-size);
3
- color: var(--sg-color-text);
4
- }
5
-
6
- /* Layouts */
7
- .sg-form-vertical .sg-field {
8
- margin-bottom: var(--sg-margin-md);
9
- }
10
-
11
- .sg-form-horizontal .sg-field {
12
- display: flex;
13
- align-items: flex-start;
14
- margin-bottom: var(--sg-margin-md);
15
- }
16
-
17
- .sg-form-horizontal .sg-field-label {
18
- flex-shrink: 0;
19
- min-width: 80px;
20
- padding-top: 5px;
21
- padding-right: var(--sg-padding-md);
22
- text-align: right;
23
- }
24
-
25
- .sg-form-inline {
26
- display: flex;
27
- flex-wrap: wrap;
28
- gap: var(--sg-margin-md);
29
- }
30
-
31
- .sg-form-inline .sg-field {
32
- display: flex;
33
- align-items: center;
34
- gap: var(--sg-padding-sm);
35
- }
36
-
37
- /* Sizes */
38
- .sg-form-small {
39
- font-size: var(--sg-font-size-sm);
40
- }
41
-
42
- .sg-form-large {
43
- font-size: var(--sg-font-size-lg);
44
- }
45
-
46
- /* Disabled */
47
- .sg-form-disabled {
48
- opacity: 0.65;
49
- pointer-events: none;
50
- }
51
-
52
- /* Field label */
53
- .sg-field-label {
54
- display: block;
55
- margin-bottom: 4px;
56
- font-weight: 500;
57
- color: var(--sg-color-text);
58
- font-size: var(--sg-font-size);
59
- line-height: 1.5;
60
- }
61
-
62
- .sg-field-required {
63
- color: var(--sg-color-error);
64
- margin-left: 2px;
65
- }
66
-
67
- .sg-field-optional {
68
- color: var(--sg-color-text-tertiary);
69
- font-weight: 400;
70
- font-size: 0.85em;
71
- margin-left: 4px;
72
- }
73
-
74
- /* Field error */
75
- .sg-field-error {
76
- color: var(--sg-color-error);
77
- font-size: var(--sg-font-size-sm);
78
- margin-top: 4px;
79
- line-height: 1.4;
80
- }
81
-
82
- .sg-field-has-error .sg-input,
83
- .sg-field-has-error .sg-textarea,
84
- .sg-field-has-error .sg-select-trigger,
85
- .sg-field-has-error .sg-input-number-input {
86
- border-color: var(--sg-color-error);
87
- }
88
-
89
- .sg-field-has-error .sg-input:focus,
90
- .sg-field-has-error .sg-textarea:focus {
91
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--sg-color-error) 10%, transparent);
92
- }
93
-
94
- /* Field help */
95
- .sg-field-help {
96
- color: var(--sg-color-text-tertiary);
97
- font-size: var(--sg-font-size-sm, 12px);
98
- margin-top: 4px;
99
- line-height: 1.4;
100
- }
101
-
102
- /* Field extra */
103
- .sg-field-extra {
104
- color: var(--sg-color-text-secondary);
105
- font-size: var(--sg-font-size-sm, 12px);
106
- margin-top: 4px;
107
- line-height: 1.4;
108
- }
109
-
110
- /* Horizontal layout label/control wrappers — width and text-align come
111
- * from the React component as inline overrides (computed from `labelCol`
112
- * / `wrapperCol` props), so this rule only locks down the static parts. */
113
- .sg-field-label-wrap {
114
- flex-shrink: 0;
115
- }
1
+ .sg-form {
2
+ font-size: var(--sg-font-size);
3
+ color: var(--sg-color-text);
4
+ }
5
+
6
+ /* Layouts */
7
+ .sg-form-vertical .sg-field {
8
+ margin-bottom: var(--sg-margin-md);
9
+ }
10
+
11
+ .sg-form-horizontal .sg-field {
12
+ display: flex;
13
+ align-items: flex-start;
14
+ margin-bottom: var(--sg-margin-md);
15
+ }
16
+
17
+ .sg-form-horizontal .sg-field-label {
18
+ flex-shrink: 0;
19
+ min-width: 80px;
20
+ padding-top: 5px;
21
+ padding-right: var(--sg-padding-md);
22
+ text-align: right;
23
+ }
24
+
25
+ .sg-form-inline {
26
+ display: flex;
27
+ flex-wrap: wrap;
28
+ gap: var(--sg-margin-md);
29
+ }
30
+
31
+ .sg-form-inline .sg-field {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: var(--sg-padding-sm);
35
+ }
36
+
37
+ /* Sizes */
38
+ .sg-form-small {
39
+ font-size: var(--sg-font-size-sm);
40
+ }
41
+
42
+ .sg-form-large {
43
+ font-size: var(--sg-font-size-lg);
44
+ }
45
+
46
+ /* Disabled */
47
+ .sg-form-disabled {
48
+ opacity: 0.65;
49
+ pointer-events: none;
50
+ }
51
+
52
+ /* Field label */
53
+ .sg-field-label {
54
+ display: block;
55
+ margin-bottom: 4px;
56
+ font-weight: 500;
57
+ color: var(--sg-color-text);
58
+ font-size: var(--sg-font-size);
59
+ line-height: 1.5;
60
+ }
61
+
62
+ .sg-field-required {
63
+ color: var(--sg-color-error);
64
+ margin-left: 2px;
65
+ }
66
+
67
+ .sg-field-optional {
68
+ color: var(--sg-color-text-tertiary);
69
+ font-weight: 400;
70
+ font-size: 0.85em;
71
+ margin-left: 4px;
72
+ }
73
+
74
+ /* Field error */
75
+ .sg-field-error {
76
+ color: var(--sg-color-error);
77
+ font-size: var(--sg-font-size-sm);
78
+ margin-top: 4px;
79
+ line-height: 1.4;
80
+ }
81
+
82
+ .sg-field-has-error .sg-input,
83
+ .sg-field-has-error .sg-textarea,
84
+ .sg-field-has-error .sg-select-trigger,
85
+ .sg-field-has-error .sg-input-number-input {
86
+ border-color: var(--sg-color-error);
87
+ }
88
+
89
+ .sg-field-has-error .sg-input:focus,
90
+ .sg-field-has-error .sg-textarea:focus {
91
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--sg-color-error) 10%, transparent);
92
+ }
93
+
94
+ /* Field help */
95
+ .sg-field-help {
96
+ color: var(--sg-color-text-tertiary);
97
+ font-size: var(--sg-font-size-sm, 12px);
98
+ margin-top: 4px;
99
+ line-height: 1.4;
100
+ }
101
+
102
+ /* Field extra */
103
+ .sg-field-extra {
104
+ color: var(--sg-color-text-secondary);
105
+ font-size: var(--sg-font-size-sm, 12px);
106
+ margin-top: 4px;
107
+ line-height: 1.4;
108
+ }
109
+
110
+ /* Horizontal layout label/control wrappers — width and text-align come
111
+ * from the React component as inline overrides (computed from `labelCol`
112
+ * / `wrapperCol` props), so this rule only locks down the static parts. */
113
+ .sg-field-label-wrap {
114
+ flex-shrink: 0;
115
+ }