@byline/admin 6.10.1 → 6.11.0
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/dist/fields/array/array-field_module.css +57 -53
- package/dist/fields/blocks/blocks-field_module.css +134 -130
- package/dist/fields/checkbox/checkbox-field_module.css +6 -2
- package/dist/fields/code/code-field_module.css +57 -53
- package/dist/fields/datetime/datetime-field_module.css +6 -2
- package/dist/fields/draggable-context-menu_module.css +77 -73
- package/dist/fields/field-renderer_module.css +12 -8
- package/dist/fields/file/file-field_module.css +133 -129
- package/dist/fields/file/file-upload-field_module.css +67 -63
- package/dist/fields/group/group-field_module.css +25 -21
- package/dist/fields/image/image-field_module.css +123 -119
- package/dist/fields/image/image-upload-field_module.css +81 -77
- package/dist/fields/locale-badge_module.css +28 -24
- package/dist/fields/relation/relation-display_module.css +20 -16
- package/dist/fields/relation/relation-field_module.css +149 -145
- package/dist/fields/relation/relation-picker_module.css +187 -183
- package/dist/fields/relation/relation-summary_module.css +34 -30
- package/dist/fields/select/select-field_module.css +9 -5
- package/dist/fields/sortable-item_module.css +126 -122
- package/dist/fields/text/text-field_module.css +8 -4
- package/dist/fields/text-area/text-area-field_module.css +8 -4
- package/dist/forms/available-locales-widget_module.css +19 -15
- package/dist/forms/document-actions_module.css +120 -116
- package/dist/forms/form-renderer_module.css +247 -243
- package/dist/forms/path-widget_module.css +29 -25
- package/dist/forms/scheduled-publication-control_module.css +76 -72
- package/dist/forms/tree-placement-widget_module.css +61 -57
- package/dist/modules/admin-account/components/change-password_module.css +26 -22
- package/dist/modules/admin-account/components/container_module.css +93 -89
- package/dist/modules/admin-account/components/preferences_module.css +37 -33
- package/dist/modules/admin-account/components/theme-switch_module.css +16 -12
- package/dist/modules/admin-account/components/update_module.css +26 -22
- package/dist/modules/admin-permissions/components/inspector_module.css +197 -193
- package/dist/modules/admin-roles/components/create_module.css +26 -22
- package/dist/modules/admin-roles/components/permissions_module.css +159 -155
- package/dist/modules/admin-roles/components/update_module.css +26 -22
- package/dist/modules/admin-users/components/create_module.css +39 -35
- package/dist/modules/admin-users/components/roles_module.css +65 -61
- package/dist/modules/admin-users/components/set-password_module.css +29 -25
- package/dist/modules/admin-users/components/update_module.css +32 -28
- package/dist/modules/analytics/components/dashboard_module.css +268 -264
- package/dist/modules/analytics/components/timeseries_module.css +192 -188
- package/dist/modules/auth/components/passkey-manager_module.css +87 -83
- package/dist/modules/auth/components/sign-in-form_module.css +68 -64
- package/dist/presentation/group_module.css +19 -15
- package/dist/presentation/row_module.css +17 -13
- package/dist/presentation/tabs_module.css +231 -227
- package/dist/widgets/diff-viewer/diff-modal_module.css +58 -54
- package/dist/widgets/source-locale-badge/source-locale-badge_module.css +12 -8
- package/dist/widgets/status-badge/status-badge_module.css +20 -16
- package/package.json +9 -8
- package/src/fields/array/array-field.module.css +71 -55
- package/src/fields/blocks/blocks-field.module.css +173 -156
- package/src/fields/checkbox/checkbox-field.module.css +17 -3
- package/src/fields/code/code-editor.tsx +2 -0
- package/src/fields/code/code-field.module.css +75 -59
- package/src/fields/datetime/datetime-field.module.css +19 -3
- package/src/fields/draggable-context-menu.module.css +108 -92
- package/src/fields/field-renderer.module.css +26 -10
- package/src/fields/file/file-field.module.css +147 -131
- package/src/fields/file/file-upload-field.module.css +91 -75
- package/src/fields/group/group-field.module.css +42 -26
- package/src/fields/image/image-field.module.css +152 -136
- package/src/fields/image/image-upload-field.module.css +107 -91
- package/src/fields/locale-badge.module.css +43 -27
- package/src/fields/relation/relation-display.module.css +37 -21
- package/src/fields/relation/relation-field.module.css +168 -152
- package/src/fields/relation/relation-picker.module.css +207 -191
- package/src/fields/relation/relation-summary.module.css +52 -36
- package/src/fields/select/select-field.module.css +23 -7
- package/src/fields/sortable-item.module.css +143 -127
- package/src/fields/text/text-field.module.css +21 -5
- package/src/fields/text-area/text-area-field.module.css +21 -5
- package/src/forms/available-locales-widget.module.css +39 -23
- package/src/forms/document-actions.module.css +139 -123
- package/src/forms/form-layout-styles.test.node.ts +12 -4
- package/src/forms/form-renderer.module.css +312 -296
- package/src/forms/path-widget.module.css +44 -28
- package/src/forms/scheduled-publication-control.module.css +104 -91
- package/src/forms/tree-placement-widget.module.css +80 -64
- package/src/modules/admin-account/components/change-password.module.css +42 -26
- package/src/modules/admin-account/components/container.module.css +129 -113
- package/src/modules/admin-account/components/preferences.module.css +56 -40
- package/src/modules/admin-account/components/theme-switch.module.css +32 -16
- package/src/modules/admin-account/components/update.module.css +42 -26
- package/src/modules/admin-permissions/components/inspector.module.css +255 -239
- package/src/modules/admin-roles/components/create.module.css +42 -26
- package/src/modules/admin-roles/components/permissions.module.css +204 -201
- package/src/modules/admin-roles/components/update.module.css +42 -26
- package/src/modules/admin-users/components/create.module.css +58 -42
- package/src/modules/admin-users/components/roles.module.css +96 -86
- package/src/modules/admin-users/components/set-password.module.css +46 -30
- package/src/modules/admin-users/components/update.module.css +49 -33
- package/src/modules/analytics/components/dashboard.module.css +322 -306
- package/src/modules/analytics/components/timeseries.module.css +237 -221
- package/src/modules/auth/components/passkey-manager.module.css +98 -84
- package/src/modules/auth/components/sign-in-form.module.css +85 -69
- package/src/presentation/group.module.css +36 -20
- package/src/presentation/row.module.css +32 -16
- package/src/presentation/tabs.module.css +243 -227
- package/src/widgets/diff-viewer/diff-modal.module.css +71 -55
- package/src/widgets/source-locale-badge/source-locale-badge.module.css +25 -9
- package/src/widgets/status-badge/status-badge.module.css +35 -19
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
@layer base,
|
|
2
|
+
byline-base,
|
|
3
|
+
theme,
|
|
4
|
+
byline-theme,
|
|
5
|
+
byline-functional,
|
|
6
|
+
byline-typography,
|
|
7
|
+
components,
|
|
8
|
+
byline-components,
|
|
9
|
+
overrides,
|
|
10
|
+
byline-utilities,
|
|
11
|
+
utilities;
|
|
12
|
+
|
|
13
|
+
@layer byline-components.primitives, byline-components.cms;
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* AnalyticsTimeseries — one column per UTC day.
|
|
3
17
|
*
|
|
@@ -13,33 +27,34 @@
|
|
|
13
27
|
* (`byline-dashboard-stat-tile`) so the two surfaces read as one system.
|
|
14
28
|
*/
|
|
15
29
|
|
|
16
|
-
.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
@layer byline-components.cms {
|
|
31
|
+
.root {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
gap: 0.5rem;
|
|
35
|
+
border-radius: 0.25rem;
|
|
36
|
+
}
|
|
22
37
|
|
|
23
|
-
.root:focus-visible {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
38
|
+
.root:focus-visible {
|
|
39
|
+
outline: 2px solid var(--primary-500);
|
|
40
|
+
outline-offset: 4px;
|
|
41
|
+
}
|
|
27
42
|
|
|
28
|
-
/* Positioning context for the hover card, so the card measures against the
|
|
43
|
+
/* Positioning context for the hover card, so the card measures against the
|
|
29
44
|
plot rather than the whole block (which also holds the axis and readout). */
|
|
30
|
-
.plot,
|
|
31
|
-
:global(.byline-analytics-plot) {
|
|
32
|
-
|
|
33
|
-
}
|
|
45
|
+
.plot,
|
|
46
|
+
:global(.byline-analytics-plot) {
|
|
47
|
+
position: relative;
|
|
48
|
+
}
|
|
34
49
|
|
|
35
|
-
.chart,
|
|
36
|
-
:global(.byline-analytics-chart) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
50
|
+
.chart,
|
|
51
|
+
:global(.byline-analytics-chart) {
|
|
52
|
+
display: block;
|
|
53
|
+
width: 100%;
|
|
54
|
+
height: 11rem;
|
|
55
|
+
}
|
|
41
56
|
|
|
42
|
-
/* Hover card ------------------------------------------------------------
|
|
57
|
+
/* Hover card ------------------------------------------------------------
|
|
43
58
|
An HTML overlay rather than SVG: the plot is drawn with
|
|
44
59
|
preserveAspectRatio="none" and stretched to the container, so SVG text
|
|
45
60
|
inside it would be horizontally distorted (the same reason the axis
|
|
@@ -48,28 +63,28 @@
|
|
|
48
63
|
Surfaces follow the admin's popover recipe (the tokens @byline/ui's
|
|
49
64
|
dropdown uses), so the card inherits both themes from the token layer
|
|
50
65
|
instead of needing its own dark-mode block. */
|
|
51
|
-
.hoverCard,
|
|
52
|
-
:global(.byline-analytics-hovercard) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
.hoverCard,
|
|
67
|
+
:global(.byline-analytics-hovercard) {
|
|
68
|
+
position: absolute;
|
|
69
|
+
z-index: 1;
|
|
70
|
+
display: grid;
|
|
71
|
+
gap: 0.125rem 0.5rem;
|
|
72
|
+
padding: 0.4rem 0.55rem;
|
|
73
|
+
background-color: var(--surface-panel-elevated);
|
|
74
|
+
border-width: var(--border-width-thin);
|
|
75
|
+
border-style: var(--border-style-solid);
|
|
76
|
+
border-color: var(--surface-panel-border);
|
|
77
|
+
border-radius: var(--border-radius-sm);
|
|
78
|
+
box-shadow: var(--shadow-sm);
|
|
79
|
+
font-size: 0.6875rem;
|
|
80
|
+
font-variant-numeric: tabular-nums;
|
|
81
|
+
line-height: 1.35;
|
|
82
|
+
white-space: nowrap;
|
|
83
|
+
/* The plot owns pointer tracking; the card must never intercept it or
|
|
69
84
|
hovering would flicker as the pointer crossed the card. */
|
|
70
|
-
|
|
85
|
+
pointer-events: none;
|
|
71
86
|
|
|
72
|
-
|
|
87
|
+
/* Resting state is hidden-and-just-below; `.hoverCardVisible` is the shown
|
|
73
88
|
state. The card stays mounted either way, because a transition needs a
|
|
74
89
|
previous state to animate from.
|
|
75
90
|
|
|
@@ -89,236 +104,237 @@
|
|
|
89
104
|
as an instant pop no matter what the duration says. A plain `ease-out`
|
|
90
105
|
spends its time far more evenly (50% progress at ~34% of the time), so
|
|
91
106
|
the motion is actually visible. */
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
107
|
+
opacity: 0;
|
|
108
|
+
translate: 0 6px;
|
|
109
|
+
transition:
|
|
110
|
+
opacity 160ms ease-in,
|
|
111
|
+
translate 160ms ease-in;
|
|
112
|
+
}
|
|
98
113
|
|
|
99
|
-
.hoverCardVisible {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
114
|
+
.hoverCardVisible {
|
|
115
|
+
opacity: 1;
|
|
116
|
+
translate: 0 0;
|
|
117
|
+
transition:
|
|
118
|
+
opacity 240ms ease-out,
|
|
119
|
+
translate 240ms ease-out;
|
|
120
|
+
}
|
|
106
121
|
|
|
107
|
-
/* Horizontal anchoring. Interior columns centre; columns near an edge pin
|
|
122
|
+
/* Horizontal anchoring. Interior columns centre; columns near an edge pin
|
|
108
123
|
that edge so the card cannot overhang the plot. */
|
|
109
|
-
.hoverCard.center {
|
|
110
|
-
|
|
111
|
-
}
|
|
124
|
+
.hoverCard.center {
|
|
125
|
+
transform: translateX(-50%);
|
|
126
|
+
}
|
|
112
127
|
|
|
113
|
-
.hoverCard.start {
|
|
114
|
-
|
|
115
|
-
}
|
|
128
|
+
.hoverCard.start {
|
|
129
|
+
transform: translateX(-0.5rem);
|
|
130
|
+
}
|
|
116
131
|
|
|
117
|
-
.hoverCard.end {
|
|
118
|
-
|
|
119
|
-
}
|
|
132
|
+
.hoverCard.end {
|
|
133
|
+
transform: translateX(calc(-100% + 0.5rem));
|
|
134
|
+
}
|
|
120
135
|
|
|
121
|
-
/* Vertical side. `top` is the hovered bar's own top edge, so the card sits
|
|
136
|
+
/* Vertical side. `top` is the hovered bar's own top edge, so the card sits
|
|
122
137
|
just clear of the mark it describes. */
|
|
123
|
-
.hoverCard.above {
|
|
124
|
-
|
|
125
|
-
}
|
|
138
|
+
.hoverCard.above {
|
|
139
|
+
margin-top: -0.5rem;
|
|
140
|
+
}
|
|
126
141
|
|
|
127
|
-
.hoverCard.above.center {
|
|
128
|
-
|
|
129
|
-
}
|
|
142
|
+
.hoverCard.above.center {
|
|
143
|
+
transform: translate(-50%, -100%);
|
|
144
|
+
}
|
|
130
145
|
|
|
131
|
-
.hoverCard.above.start {
|
|
132
|
-
|
|
133
|
-
}
|
|
146
|
+
.hoverCard.above.start {
|
|
147
|
+
transform: translate(-0.5rem, -100%);
|
|
148
|
+
}
|
|
134
149
|
|
|
135
|
-
.hoverCard.above.end {
|
|
136
|
-
|
|
137
|
-
}
|
|
150
|
+
.hoverCard.above.end {
|
|
151
|
+
transform: translate(calc(-100% + 0.5rem), -100%);
|
|
152
|
+
}
|
|
138
153
|
|
|
139
|
-
.hoverCard.below {
|
|
140
|
-
|
|
141
|
-
}
|
|
154
|
+
.hoverCard.below {
|
|
155
|
+
margin-top: 0.5rem;
|
|
156
|
+
}
|
|
142
157
|
|
|
143
|
-
.hoverCardDate {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
158
|
+
.hoverCardDate {
|
|
159
|
+
color: var(--text);
|
|
160
|
+
font-weight: 600;
|
|
161
|
+
letter-spacing: 0.01em;
|
|
162
|
+
}
|
|
148
163
|
|
|
149
|
-
.hoverCardRow {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
164
|
+
.hoverCardRow {
|
|
165
|
+
display: grid;
|
|
166
|
+
grid-template-columns: 0.625rem 1fr auto;
|
|
167
|
+
align-items: center;
|
|
168
|
+
gap: 0.4rem;
|
|
169
|
+
}
|
|
155
170
|
|
|
156
|
-
/* A short stroke, not a filled box: at this density a solid swatch is
|
|
171
|
+
/* A short stroke, not a filled box: at this density a solid swatch is
|
|
157
172
|
data-weight ink doing a label's job. */
|
|
158
|
-
.keyLine {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
173
|
+
.keyLine {
|
|
174
|
+
display: inline-block;
|
|
175
|
+
width: 0.625rem;
|
|
176
|
+
height: 2px;
|
|
177
|
+
border-radius: 1px;
|
|
178
|
+
}
|
|
164
179
|
|
|
165
|
-
.keyViews {
|
|
166
|
-
|
|
167
|
-
|
|
180
|
+
.keyViews {
|
|
181
|
+
background-color: #38bdf8;
|
|
182
|
+
/* Matches `.columnActive .views`, not the resting fill: the card is only
|
|
168
183
|
ever on screen while its column is hovered, so the key should look like
|
|
169
184
|
the mark actually looks at that moment. A 2px line also carries far less
|
|
170
185
|
ink than the readout's filled swatch, so the same opacity would read
|
|
171
186
|
fainter here than it does there. */
|
|
172
|
-
|
|
173
|
-
}
|
|
187
|
+
opacity: 0.62;
|
|
188
|
+
}
|
|
174
189
|
|
|
175
|
-
.keyVisitors {
|
|
176
|
-
|
|
177
|
-
}
|
|
190
|
+
.keyVisitors {
|
|
191
|
+
background-color: #7c3aed;
|
|
192
|
+
}
|
|
178
193
|
|
|
179
|
-
/* The reader already knows the series; they came for the number — so the
|
|
194
|
+
/* The reader already knows the series; they came for the number — so the
|
|
180
195
|
value carries the emphasis and the metric name recedes.
|
|
181
196
|
|
|
182
197
|
Muted ink here is the same `--gray-*` pair the axis and readout use, not
|
|
183
198
|
`--text-secondary`: in this theme that token resolves to the amber brand
|
|
184
199
|
secondary, which reads as emphasis rather than recession. */
|
|
185
|
-
.hoverCardLabel {
|
|
186
|
-
|
|
187
|
-
}
|
|
200
|
+
.hoverCardLabel {
|
|
201
|
+
color: var(--gray-500);
|
|
202
|
+
}
|
|
188
203
|
|
|
189
|
-
.hoverCardValue {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
204
|
+
.hoverCardValue {
|
|
205
|
+
color: var(--text);
|
|
206
|
+
font-weight: 600;
|
|
207
|
+
text-align: right;
|
|
208
|
+
}
|
|
194
209
|
|
|
195
|
-
.gridline {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
210
|
+
.gridline {
|
|
211
|
+
stroke: var(--gray-200);
|
|
212
|
+
stroke-width: 1;
|
|
213
|
+
}
|
|
199
214
|
|
|
200
|
-
.column {
|
|
201
|
-
|
|
202
|
-
}
|
|
215
|
+
.column {
|
|
216
|
+
transition: opacity 120ms ease;
|
|
217
|
+
}
|
|
203
218
|
|
|
204
|
-
.views {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
219
|
+
.views {
|
|
220
|
+
fill: #38bdf8;
|
|
221
|
+
opacity: 0.38;
|
|
222
|
+
transition: opacity 120ms ease;
|
|
223
|
+
}
|
|
209
224
|
|
|
210
|
-
.columnActive .views {
|
|
211
|
-
|
|
212
|
-
}
|
|
225
|
+
.columnActive .views {
|
|
226
|
+
opacity: 0.62;
|
|
227
|
+
}
|
|
213
228
|
|
|
214
|
-
.visitors {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
229
|
+
.visitors {
|
|
230
|
+
fill: #7c3aed;
|
|
231
|
+
opacity: 0.95;
|
|
232
|
+
}
|
|
218
233
|
|
|
219
|
-
.hit {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
}
|
|
234
|
+
.hit {
|
|
235
|
+
fill: transparent;
|
|
236
|
+
cursor: crosshair;
|
|
237
|
+
}
|
|
223
238
|
|
|
224
|
-
.axis,
|
|
225
|
-
:global(.byline-analytics-axis) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
}
|
|
239
|
+
.axis,
|
|
240
|
+
:global(.byline-analytics-axis) {
|
|
241
|
+
display: flex;
|
|
242
|
+
justify-content: space-between;
|
|
243
|
+
font-size: 0.6875rem;
|
|
244
|
+
font-variant-numeric: tabular-nums;
|
|
245
|
+
letter-spacing: 0.04em;
|
|
246
|
+
color: var(--gray-500);
|
|
247
|
+
}
|
|
233
248
|
|
|
234
|
-
.readout,
|
|
235
|
-
:global(.byline-analytics-readout) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
}
|
|
249
|
+
.readout,
|
|
250
|
+
:global(.byline-analytics-readout) {
|
|
251
|
+
display: flex;
|
|
252
|
+
align-items: center;
|
|
253
|
+
flex-wrap: wrap;
|
|
254
|
+
gap: 0.35rem 0.75rem;
|
|
255
|
+
margin: 0;
|
|
256
|
+
min-height: 1.25rem;
|
|
257
|
+
font-size: 0.75rem;
|
|
258
|
+
font-variant-numeric: tabular-nums;
|
|
259
|
+
color: var(--gray-500);
|
|
260
|
+
}
|
|
246
261
|
|
|
247
|
-
.readout strong {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
}
|
|
262
|
+
.readout strong {
|
|
263
|
+
color: inherit;
|
|
264
|
+
font-weight: 600;
|
|
265
|
+
}
|
|
251
266
|
|
|
252
|
-
.swatchViews,
|
|
253
|
-
.swatchVisitors,
|
|
254
|
-
.swatchDownloads {
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
267
|
+
.swatchViews,
|
|
268
|
+
.swatchVisitors,
|
|
269
|
+
.swatchDownloads {
|
|
270
|
+
display: inline-block;
|
|
271
|
+
width: 0.5rem;
|
|
272
|
+
height: 0.5rem;
|
|
273
|
+
border-radius: 1px;
|
|
274
|
+
/* Each swatch introduces the pair that follows it, so it needs the gap on
|
|
260
275
|
its right closed up without collapsing the row gap. */
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
.swatchViews {
|
|
266
|
-
background-color: #38bdf8;
|
|
267
|
-
opacity: 0.55;
|
|
268
|
-
}
|
|
276
|
+
margin-inline-start: 0.4rem;
|
|
277
|
+
margin-inline-end: -0.4rem;
|
|
278
|
+
}
|
|
269
279
|
|
|
270
|
-
.
|
|
271
|
-
|
|
272
|
-
|
|
280
|
+
.swatchViews {
|
|
281
|
+
background-color: #38bdf8;
|
|
282
|
+
opacity: 0.55;
|
|
283
|
+
}
|
|
273
284
|
|
|
274
|
-
.
|
|
275
|
-
|
|
276
|
-
}
|
|
285
|
+
.swatchVisitors {
|
|
286
|
+
background-color: #7c3aed;
|
|
287
|
+
}
|
|
277
288
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}
|
|
289
|
+
.swatchDownloads {
|
|
290
|
+
background-color: #10b981;
|
|
291
|
+
}
|
|
281
292
|
|
|
282
|
-
:is([data-theme="dark"], :global(.dark)) .
|
|
283
|
-
:
|
|
284
|
-
|
|
285
|
-
:is([data-theme="dark"], :global(.dark)) :global(.byline-analytics-readout),
|
|
286
|
-
:is([data-theme="dark"], :global(.dark)) .hoverCardLabel {
|
|
287
|
-
color: var(--gray-400);
|
|
288
|
-
}
|
|
293
|
+
:is([data-theme="dark"], :global(.dark)) .gridline {
|
|
294
|
+
stroke: var(--gray-700);
|
|
295
|
+
}
|
|
289
296
|
|
|
290
|
-
:is([data-theme="dark"], :global(.dark)) .
|
|
291
|
-
|
|
292
|
-
|
|
297
|
+
:is([data-theme="dark"], :global(.dark)) .axis,
|
|
298
|
+
:is([data-theme="dark"], :global(.dark)) :global(.byline-analytics-axis),
|
|
299
|
+
:is([data-theme="dark"], :global(.dark)) .readout,
|
|
300
|
+
:is([data-theme="dark"], :global(.dark)) :global(.byline-analytics-readout),
|
|
301
|
+
:is([data-theme="dark"], :global(.dark)) .hoverCardLabel {
|
|
302
|
+
color: var(--gray-400);
|
|
303
|
+
}
|
|
293
304
|
|
|
294
|
-
:is([data-theme="dark"], :global(.dark)) .
|
|
295
|
-
:
|
|
296
|
-
|
|
297
|
-
}
|
|
305
|
+
:is([data-theme="dark"], :global(.dark)) .visitors {
|
|
306
|
+
fill: #a78bfa;
|
|
307
|
+
}
|
|
298
308
|
|
|
299
|
-
:is([data-theme="dark"], :global(.dark)) .
|
|
300
|
-
|
|
301
|
-
|
|
309
|
+
:is([data-theme="dark"], :global(.dark)) .swatchVisitors,
|
|
310
|
+
:is([data-theme="dark"], :global(.dark)) .keyVisitors {
|
|
311
|
+
background-color: #a78bfa;
|
|
312
|
+
}
|
|
302
313
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
.views,
|
|
306
|
-
.hoverCard,
|
|
307
|
-
.hoverCardVisible {
|
|
308
|
-
transition: none;
|
|
314
|
+
:is([data-theme="dark"], :global(.dark)) .swatchDownloads {
|
|
315
|
+
background-color: #34d399;
|
|
309
316
|
}
|
|
310
317
|
|
|
311
|
-
|
|
318
|
+
@media (prefers-reduced-motion: reduce) {
|
|
319
|
+
.column,
|
|
320
|
+
.views,
|
|
321
|
+
.hoverCard,
|
|
322
|
+
.hoverCardVisible {
|
|
323
|
+
transition: none;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/* No transition means the lift would read as a jump rather than motion, so
|
|
312
327
|
the card simply appears in place. */
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
328
|
+
.hoverCard,
|
|
329
|
+
.hoverCardVisible {
|
|
330
|
+
translate: none;
|
|
331
|
+
}
|
|
316
332
|
}
|
|
317
|
-
}
|
|
318
333
|
|
|
319
|
-
@media (max-width: 720px) {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
334
|
+
@media (max-width: 720px) {
|
|
335
|
+
.chart,
|
|
336
|
+
:global(.byline-analytics-chart) {
|
|
337
|
+
height: 9rem;
|
|
338
|
+
}
|
|
323
339
|
}
|
|
324
340
|
}
|