@adia-ai/web-components 0.7.3 → 0.7.5
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 +31 -0
- package/components/accordion/accordion.css +2 -2
- package/components/action-list/action-list.css +2 -2
- package/components/agent-artifact/agent-artifact.css +31 -31
- package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
- package/components/agent-questions/agent-questions.css +59 -57
- package/components/agent-reasoning/agent-reasoning.css +54 -54
- package/components/agent-suggestions/agent-suggestions.css +4 -4
- package/components/agent-trace/agent-trace.css +53 -53
- package/components/alert/alert.css +53 -53
- package/components/avatar/avatar.css +27 -27
- package/components/badge/badge.css +56 -53
- package/components/block/block.css +16 -16
- package/components/blockquote/blockquote.css +16 -16
- package/components/breadcrumb/breadcrumb.css +23 -23
- package/components/button/button.css +123 -101
- package/components/calendar-grid/calendar-grid.css +95 -92
- package/components/calendar-picker/calendar-picker.css +141 -139
- package/components/canvas/canvas.css +12 -12
- package/components/card/card.css +83 -83
- package/components/chart/chart.css +218 -218
- package/components/chart-legend/chart-legend.css +26 -26
- package/components/check/check.css +40 -40
- package/components/code/code.css +125 -125
- package/components/col/col.css +15 -15
- package/components/color-picker/color-picker.css +55 -55
- package/components/combobox/combobox.css +64 -62
- package/components/command/command.css +91 -91
- package/components/context-menu/context-menu.css +1 -1
- package/components/date-range-picker/date-range-picker.css +59 -59
- package/components/datetime-picker/datetime-picker.css +25 -25
- package/components/demo-toggle/demo-toggle.css +27 -27
- package/components/description-list/description-list.css +18 -18
- package/components/divider/divider.css +24 -24
- package/components/embed/embed.css +6 -6
- package/components/empty-state/empty-state.css +29 -29
- package/components/feed/feed.css +12 -12
- package/components/field/field.css +28 -28
- package/components/field/field.test.js +2 -2
- package/components/fields/fields.css +5 -5
- package/components/grid/grid.a2ui.json +10 -0
- package/components/grid/grid.css +23 -5
- package/components/grid/grid.d.ts +4 -0
- package/components/grid/grid.yaml +13 -0
- package/components/heatmap/heatmap.css +61 -61
- package/components/icon/icon.css +12 -12
- package/components/image/image.css +14 -14
- package/components/inline-edit/inline-edit.css +16 -16
- package/components/inline-message/inline-message.css +16 -16
- package/components/input/input.css +69 -66
- package/components/inspector/inspector.css +6 -6
- package/components/integration-card/integration-card.css +41 -41
- package/components/integration-card/integration-card.test.js +4 -4
- package/components/kbd/kbd.css +47 -40
- package/components/link/link.css +12 -12
- package/components/list/list.css +8 -8
- package/components/list-window/list-window.css +10 -10
- package/components/loading-overlay/loading-overlay.css +17 -18
- package/components/loading-overlay/loading-overlay.test.js +8 -8
- package/components/mark/mark.css +16 -16
- package/components/menu/menu.css +9 -9
- package/components/modal/modal.class.js +5 -9
- package/components/modal/modal.css +43 -43
- package/components/nav/nav.css +40 -40
- package/components/nav-group/nav-group.css +54 -54
- package/components/nav-item/nav-item.css +44 -44
- package/components/noodles/noodles.css +31 -31
- package/components/number-format/number-format.css +4 -4
- package/components/option-card/option-card.css +70 -70
- package/components/otp-input/otp-input.css +29 -29
- package/components/page/page.a2ui.json +1 -1
- package/components/page/page.css +27 -27
- package/components/page/page.d.ts +1 -1
- package/components/page/page.yaml +1 -1
- package/components/pagination/pagination.css +6 -6
- package/components/pane/pane.css +57 -57
- package/components/password-strength/password-strength.css +32 -32
- package/components/pipeline-status/pipeline-status.css +67 -67
- package/components/popover/popover.css +11 -11
- package/components/preview/preview.css +21 -21
- package/components/progress/progress.css +23 -23
- package/components/progress-row/progress-row.css +17 -17
- package/components/qr-code/qr-code.css +4 -4
- package/components/radio/radio.css +39 -39
- package/components/range/range.css +58 -55
- package/components/rating/rating.css +28 -28
- package/components/relative-time/relative-time.css +6 -6
- package/components/richtext/richtext.css +133 -133
- package/components/row/row.css +19 -19
- package/components/search/search.css +5 -5
- package/components/segment/segment.css +29 -24
- package/components/segmented/segmented.css +30 -25
- package/components/select/select.css +95 -93
- package/components/skeleton/skeleton.css +14 -14
- package/components/skip-nav/skip-nav.css +4 -4
- package/components/slider/slider.css +61 -61
- package/components/spinner/spinner.css +40 -40
- package/components/spinner/spinner.test.js +10 -12
- package/components/stack/stack.css +11 -11
- package/components/stat/stat.css +27 -27
- package/components/step-progress/step-progress.css +20 -20
- package/components/stepper/stepper.css +29 -29
- package/components/stream/stream.css +12 -12
- package/components/swatch/swatch.css +68 -68
- package/components/swiper/swiper.class.js +5 -12
- package/components/swiper/swiper.css +57 -57
- package/components/switch/switch.css +53 -53
- package/components/table/table.css +166 -163
- package/components/table-toolbar/table-toolbar.css +33 -33
- package/components/tabs/tabs.css +54 -51
- package/components/tag/tag.css +74 -71
- package/components/tag/tag.test.js +14 -14
- package/components/tags-input/tags-input.css +51 -49
- package/components/text/text.css +44 -44
- package/components/textarea/textarea.css +49 -46
- package/components/time-picker/time-picker.css +47 -47
- package/components/timeline/timeline.css +54 -54
- package/components/toast/toast.css +58 -58
- package/components/toc/toc.css +28 -28
- package/components/toggle-group/toggle-group.css +9 -6
- package/components/toggle-scheme/toggle-scheme.css +2 -2
- package/components/toolbar/toolbar.css +18 -18
- package/components/tooltip/tooltip.css +2 -2
- package/components/tour/tour.css +4 -4
- package/components/tree/tree.css +37 -37
- package/components/upload/upload.css +49 -49
- package/dist/host.min.css +1 -0
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +2 -2
- package/package.json +1 -1
- package/styles/api/text.css +9 -2
- package/styles/foundation/space.css +19 -18
- package/styles/host.css +48 -0
- package/styles/prose.css +187 -173
- package/styles/type/scale.css +6 -0
- package/styles/typography.css +10 -5
- package/styles/verse.css +122 -0
|
@@ -4,85 +4,85 @@
|
|
|
4
4
|
No default width or height — the host pattern (dialog, popover,
|
|
5
5
|
app-shell search slot, etc.) is responsible for sizing the palette.
|
|
6
6
|
This keeps the component composable across overlay and inline use. */
|
|
7
|
-
--command-radius
|
|
8
|
-
--command-px
|
|
9
|
-
--command-py
|
|
10
|
-
--command-gap
|
|
11
|
-
--command-list-px
|
|
12
|
-
--command-list-py
|
|
13
|
-
--command-group-gap
|
|
7
|
+
--command-radius: var(--a-radius-lg);
|
|
8
|
+
--command-px: var(--a-space-3);
|
|
9
|
+
--command-py: var(--a-space-3);
|
|
10
|
+
--command-gap: var(--a-space-2);
|
|
11
|
+
--command-list-px: var(--a-space-1);
|
|
12
|
+
--command-list-py: var(--a-space-1);
|
|
13
|
+
--command-group-gap: var(--a-space-1);
|
|
14
14
|
|
|
15
15
|
/* ── Colors ── */
|
|
16
|
-
--command-bg
|
|
17
|
-
--command-fg
|
|
18
|
-
--command-fg-muted
|
|
19
|
-
--command-border
|
|
16
|
+
--command-bg: var(--a-bg-subtle);
|
|
17
|
+
--command-fg: var(--a-fg);
|
|
18
|
+
--command-fg-muted: var(--a-fg-muted);
|
|
19
|
+
--command-border: var(--a-border-subtle);
|
|
20
20
|
|
|
21
21
|
/* ── Elevation ── */
|
|
22
|
-
--command-shadow
|
|
22
|
+
--command-shadow: var(--a-shadow-lg);
|
|
23
23
|
|
|
24
24
|
/* ── Typography ── */
|
|
25
|
-
--command-font-size
|
|
26
|
-
--command-input-font-size
|
|
25
|
+
--command-font-size: var(--a-ui-size);
|
|
26
|
+
--command-input-font-size: var(--a-body-size);
|
|
27
27
|
|
|
28
28
|
/* ── Transition ── */
|
|
29
|
-
--command-duration
|
|
30
|
-
--command-easing
|
|
29
|
+
--command-duration: var(--a-duration-fast);
|
|
30
|
+
--command-easing: var(--a-easing);
|
|
31
31
|
|
|
32
32
|
/* ── Item ── */
|
|
33
|
-
--command-item-height
|
|
34
|
-
--command-item-radius
|
|
35
|
-
--command-item-px
|
|
36
|
-
--command-item-py
|
|
37
|
-
--command-item-fg
|
|
38
|
-
--command-item-fg-hover
|
|
39
|
-
--command-item-bg-hover
|
|
40
|
-
--command-item-fg-disabled
|
|
33
|
+
--command-item-height: var(--a-size);
|
|
34
|
+
--command-item-radius: var(--a-radius-md);
|
|
35
|
+
--command-item-px: var(--a-space-2);
|
|
36
|
+
--command-item-py: var(--a-space-2);
|
|
37
|
+
--command-item-fg: var(--a-fg-subtle);
|
|
38
|
+
--command-item-fg-hover: var(--a-fg-hover);
|
|
39
|
+
--command-item-bg-hover: var(--a-bg-hover);
|
|
40
|
+
--command-item-fg-disabled: var(--a-ui-text-disabled);
|
|
41
41
|
|
|
42
42
|
/* ── Shortcut ── */
|
|
43
|
-
--command-shortcut-fg
|
|
44
|
-
--command-shortcut-font-size
|
|
43
|
+
--command-shortcut-fg: var(--a-fg-muted);
|
|
44
|
+
--command-shortcut-font-size: var(--a-ui-sm);
|
|
45
45
|
|
|
46
46
|
/* ── Group label ── */
|
|
47
|
-
--command-group-fg
|
|
48
|
-
--command-group-font-size
|
|
49
|
-
--command-group-font-weight
|
|
50
|
-
--command-group-label-px
|
|
51
|
-
--command-group-label-py
|
|
47
|
+
--command-group-fg: var(--a-fg-muted);
|
|
48
|
+
--command-group-font-size: var(--a-ui-sm);
|
|
49
|
+
--command-group-font-weight: var(--a-weight-medium);
|
|
50
|
+
--command-group-label-px: var(--a-space-2);
|
|
51
|
+
--command-group-label-py: var(--a-space-2);
|
|
52
52
|
|
|
53
53
|
/* ── Empty state ── */
|
|
54
|
-
--command-empty-fg
|
|
54
|
+
--command-empty-fg: var(--a-fg-muted);
|
|
55
55
|
|
|
56
56
|
/* ── Header ── */
|
|
57
|
-
--command-header-px
|
|
58
|
-
--command-header-py
|
|
57
|
+
--command-header-px: var(--a-space-4);
|
|
58
|
+
--command-header-py: var(--a-space-4);
|
|
59
59
|
|
|
60
60
|
/* ── Footer ── */
|
|
61
|
-
--command-footer-fg
|
|
62
|
-
--command-footer-font-size
|
|
63
|
-
--command-footer-px
|
|
64
|
-
--command-footer-py
|
|
61
|
+
--command-footer-fg: var(--a-fg-muted);
|
|
62
|
+
--command-footer-font-size: var(--a-ui-sm);
|
|
63
|
+
--command-footer-px: var(--command-px);
|
|
64
|
+
--command-footer-py: var(--command-py);
|
|
65
65
|
|
|
66
66
|
/* ── Footer kbd ── */
|
|
67
|
-
--command-kbd-border
|
|
68
|
-
--command-kbd-radius
|
|
69
|
-
--command-kbd-bg
|
|
70
|
-
--command-kbd-fg
|
|
67
|
+
--command-kbd-border: var(--a-border-subtle);
|
|
68
|
+
--command-kbd-radius: var(--a-radius-sm);
|
|
69
|
+
--command-kbd-bg: var(--a-bg-muted);
|
|
70
|
+
--command-kbd-fg: var(--a-fg-muted);
|
|
71
71
|
|
|
72
72
|
/* ── Hint ── */
|
|
73
|
-
--command-hint-gap
|
|
74
|
-
--command-hint-kbd-px
|
|
73
|
+
--command-hint-gap: var(--a-space-0-5);
|
|
74
|
+
--command-hint-kbd-px: var(--a-space-0-5);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
:scope {
|
|
78
78
|
box-sizing: border-box;
|
|
79
79
|
display: flex;
|
|
80
80
|
flex-direction: column;
|
|
81
|
-
background: var(--command-bg
|
|
82
|
-
border: 1px solid var(--command-border
|
|
83
|
-
border-radius: var(--command-radius
|
|
84
|
-
box-shadow: var(--command-shadow
|
|
85
|
-
font-size: var(--command-font-size
|
|
81
|
+
background: var(--command-bg);
|
|
82
|
+
border: 1px solid var(--command-border);
|
|
83
|
+
border-radius: var(--command-radius);
|
|
84
|
+
box-shadow: var(--command-shadow);
|
|
85
|
+
font-size: var(--command-font-size);
|
|
86
86
|
overflow: hidden;
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -90,15 +90,15 @@
|
|
|
90
90
|
& > header {
|
|
91
91
|
display: flex;
|
|
92
92
|
align-items: center;
|
|
93
|
-
gap: var(--command-gap
|
|
94
|
-
padding: var(--command-header-py
|
|
95
|
-
border-bottom: 1px solid var(--command-border
|
|
93
|
+
gap: var(--command-gap);
|
|
94
|
+
padding: var(--command-header-py) var(--command-header-px);
|
|
95
|
+
border-bottom: 1px solid var(--command-border);
|
|
96
96
|
flex-shrink: 0;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
& > header icon-ui {
|
|
100
100
|
flex-shrink: 0;
|
|
101
|
-
color: var(--command-fg-muted
|
|
101
|
+
color: var(--command-fg-muted);
|
|
102
102
|
--a-icon-size: 1rem;
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -108,15 +108,15 @@
|
|
|
108
108
|
border: none;
|
|
109
109
|
outline: none;
|
|
110
110
|
background: transparent;
|
|
111
|
-
color: var(--command-fg
|
|
112
|
-
font-family:
|
|
113
|
-
font-size: var(--command-input-font-size
|
|
111
|
+
color: var(--command-fg);
|
|
112
|
+
font-family: var(--command-font-family, var(--a-font-family-ui));
|
|
113
|
+
font-size: var(--command-input-font-size);
|
|
114
114
|
line-height: 1.4;
|
|
115
115
|
padding: 0;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
& > header input::placeholder {
|
|
119
|
-
color: var(--command-fg-muted
|
|
119
|
+
color: var(--command-fg-muted);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
/* Suppress focus ring on the input — the palette itself is the focused surface */
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
[slot="list"] {
|
|
134
134
|
flex: 1;
|
|
135
135
|
overflow-y: auto;
|
|
136
|
-
padding: var(--command-list-py
|
|
136
|
+
padding: var(--command-list-py) var(--command-list-px);
|
|
137
137
|
scrollbar-width: none;
|
|
138
138
|
}
|
|
139
139
|
|
|
@@ -143,22 +143,22 @@
|
|
|
143
143
|
[role="option"] {
|
|
144
144
|
display: flex;
|
|
145
145
|
align-items: center;
|
|
146
|
-
gap: var(--command-gap
|
|
147
|
-
min-height: var(--command-item-height
|
|
148
|
-
padding: 0 var(--command-item-px
|
|
149
|
-
border-radius: var(--command-item-radius
|
|
150
|
-
color: var(--command-item-fg
|
|
146
|
+
gap: var(--command-gap);
|
|
147
|
+
min-height: var(--command-item-height);
|
|
148
|
+
padding: 0 var(--command-item-px);
|
|
149
|
+
border-radius: var(--command-item-radius);
|
|
150
|
+
color: var(--command-item-fg);
|
|
151
151
|
cursor: pointer;
|
|
152
152
|
white-space: nowrap;
|
|
153
153
|
transition:
|
|
154
|
-
background var(--command-duration
|
|
155
|
-
color var(--command-duration
|
|
154
|
+
background var(--command-duration) var(--command-easing),
|
|
155
|
+
color var(--command-duration) var(--command-easing);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
[role="option"] icon-ui {
|
|
159
|
-
--a-icon-size: var(--command-font-size
|
|
159
|
+
--a-icon-size: var(--command-font-size);
|
|
160
160
|
flex-shrink: 0;
|
|
161
|
-
color: var(--command-fg-muted
|
|
161
|
+
color: var(--command-fg-muted);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
[role="option"] [data-text] {
|
|
@@ -169,8 +169,8 @@
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
[role="option"] [data-shortcut] {
|
|
172
|
-
color: var(--command-shortcut-fg
|
|
173
|
-
font-size: var(--command-shortcut-font-size
|
|
172
|
+
color: var(--command-shortcut-fg);
|
|
173
|
+
font-size: var(--command-shortcut-font-size);
|
|
174
174
|
margin-inline-start: auto;
|
|
175
175
|
flex-shrink: 0;
|
|
176
176
|
}
|
|
@@ -178,32 +178,32 @@
|
|
|
178
178
|
/* ── State: hover / active ── */
|
|
179
179
|
[role="option"]:not([aria-disabled]):hover,
|
|
180
180
|
[role="option"][data-active] {
|
|
181
|
-
background: var(--command-item-bg-hover
|
|
182
|
-
color: var(--command-item-fg-hover
|
|
181
|
+
background: var(--command-item-bg-hover);
|
|
182
|
+
color: var(--command-item-fg-hover);
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
[role="option"]:not([aria-disabled]):hover icon-ui,
|
|
186
186
|
[role="option"][data-active] icon-ui {
|
|
187
|
-
color: var(--command-item-fg-hover
|
|
187
|
+
color: var(--command-item-fg-hover);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
/* ── State: disabled ── */
|
|
191
191
|
[role="option"][aria-disabled] {
|
|
192
|
-
color: var(--command-item-fg-disabled
|
|
192
|
+
color: var(--command-item-fg-disabled);
|
|
193
193
|
cursor: not-allowed;
|
|
194
194
|
pointer-events: none;
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
/* ── Groups ── */
|
|
198
198
|
[data-group] {
|
|
199
|
-
padding: var(--command-list-py
|
|
199
|
+
padding: var(--command-list-py) var(--command-list-px);
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
[data-group-label] {
|
|
203
|
-
padding: var(--command-group-label-py
|
|
204
|
-
font-size: var(--command-group-font-size
|
|
205
|
-
font-weight: var(--command-group-font-weight
|
|
206
|
-
color: var(--command-group-fg
|
|
203
|
+
padding: var(--command-group-label-py) var(--command-group-label-px);
|
|
204
|
+
font-size: var(--command-group-font-size);
|
|
205
|
+
font-weight: var(--command-group-font-weight);
|
|
206
|
+
color: var(--command-group-fg);
|
|
207
207
|
text-transform: uppercase;
|
|
208
208
|
letter-spacing: 0.05em;
|
|
209
209
|
white-space: nowrap;
|
|
@@ -211,8 +211,8 @@
|
|
|
211
211
|
|
|
212
212
|
/* ── Empty state ── */
|
|
213
213
|
[data-empty] {
|
|
214
|
-
padding: var(--command-py
|
|
215
|
-
color: var(--command-empty-fg
|
|
214
|
+
padding: var(--command-py) var(--command-px);
|
|
215
|
+
color: var(--command-empty-fg);
|
|
216
216
|
text-align: center;
|
|
217
217
|
}
|
|
218
218
|
|
|
@@ -220,18 +220,18 @@
|
|
|
220
220
|
& > footer {
|
|
221
221
|
display: flex;
|
|
222
222
|
align-items: center;
|
|
223
|
-
gap: var(--command-px
|
|
224
|
-
padding: var(--command-footer-py
|
|
225
|
-
border-top: 1px solid var(--command-border
|
|
226
|
-
font-size: var(--command-footer-font-size
|
|
227
|
-
color: var(--command-footer-fg
|
|
223
|
+
gap: var(--command-px);
|
|
224
|
+
padding: var(--command-footer-py) var(--command-footer-px);
|
|
225
|
+
border-top: 1px solid var(--command-border);
|
|
226
|
+
font-size: var(--command-footer-font-size);
|
|
227
|
+
color: var(--command-footer-fg);
|
|
228
228
|
flex-shrink: 0;
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
[data-hint] {
|
|
232
232
|
display: inline-flex;
|
|
233
233
|
align-items: center;
|
|
234
|
-
gap: var(--command-hint-gap
|
|
234
|
+
gap: var(--command-hint-gap);
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
[data-hint] kbd {
|
|
@@ -239,13 +239,13 @@
|
|
|
239
239
|
align-items: center;
|
|
240
240
|
justify-content: center;
|
|
241
241
|
min-width: 1.25em;
|
|
242
|
-
padding: 0 var(--command-hint-kbd-px
|
|
243
|
-
border: 1px solid var(--command-kbd-border
|
|
244
|
-
border-radius: var(--command-kbd-radius
|
|
242
|
+
padding: 0 var(--command-hint-kbd-px);
|
|
243
|
+
border: 1px solid var(--command-kbd-border);
|
|
244
|
+
border-radius: var(--command-kbd-radius);
|
|
245
245
|
font-family: inherit;
|
|
246
246
|
font-size: inherit;
|
|
247
247
|
line-height: 1.6;
|
|
248
|
-
color: var(--command-kbd-fg
|
|
249
|
-
background: var(--command-kbd-bg
|
|
248
|
+
color: var(--command-kbd-fg);
|
|
249
|
+
background: var(--command-kbd-bg);
|
|
250
250
|
}
|
|
251
251
|
}
|
|
@@ -11,59 +11,59 @@
|
|
|
11
11
|
@scope (date-range-picker-ui) {
|
|
12
12
|
/* ── Block 1 — TOKENS ── */
|
|
13
13
|
:where(:scope) {
|
|
14
|
-
--date-range-picker-bg
|
|
15
|
-
--date-range-picker-fg
|
|
14
|
+
--date-range-picker-bg: var(--a-bg);
|
|
15
|
+
--date-range-picker-fg: var(--a-fg);
|
|
16
16
|
|
|
17
17
|
/* Popover surface */
|
|
18
|
-
--date-range-picker-popover-bg
|
|
19
|
-
--date-range-picker-popover-border
|
|
20
|
-
--date-range-picker-popover-radius
|
|
21
|
-
--date-range-picker-popover-shadow
|
|
22
|
-
--date-range-picker-popover-padding
|
|
23
|
-
--date-range-picker-popover-gap
|
|
18
|
+
--date-range-picker-popover-bg: var(--a-bg-subtle);
|
|
19
|
+
--date-range-picker-popover-border: var(--a-border-subtle);
|
|
20
|
+
--date-range-picker-popover-radius: var(--a-radius-lg);
|
|
21
|
+
--date-range-picker-popover-shadow: var(--a-shadow-lg);
|
|
22
|
+
--date-range-picker-popover-padding: var(--a-space-3);
|
|
23
|
+
--date-range-picker-popover-gap: var(--a-space-3);
|
|
24
24
|
/* Wide enough for the preset rail + two side-by-side month panes; raises
|
|
25
25
|
anchor.js's default 32rem cap (which clipped the second month). */
|
|
26
|
-
--date-range-picker-popover-max-width
|
|
26
|
+
--date-range-picker-popover-max-width: 48rem;
|
|
27
27
|
|
|
28
28
|
/* Preset rail */
|
|
29
|
-
--date-range-picker-preset-bg
|
|
30
|
-
--date-range-picker-preset-bg-hover
|
|
31
|
-
--date-range-picker-preset-min-width
|
|
32
|
-
--date-range-picker-preset-gap
|
|
29
|
+
--date-range-picker-preset-bg: transparent;
|
|
30
|
+
--date-range-picker-preset-bg-hover: var(--a-bg-hover);
|
|
31
|
+
--date-range-picker-preset-min-width: 10em;
|
|
32
|
+
--date-range-picker-preset-gap: var(--a-space-1);
|
|
33
33
|
|
|
34
34
|
/* Selected / preview day cells (cascade into calendar) */
|
|
35
|
-
--date-range-picker-selected-bg
|
|
36
|
-
--date-range-picker-selected-fg
|
|
37
|
-
--date-range-picker-preview-bg
|
|
35
|
+
--date-range-picker-selected-bg: var(--a-accent);
|
|
36
|
+
--date-range-picker-selected-fg: var(--a-accent-fg);
|
|
37
|
+
--date-range-picker-preview-bg: var(--a-accent-muted);
|
|
38
38
|
|
|
39
39
|
/* Trigger — mirrors the canonical trigger surface used by
|
|
40
40
|
<select-ui> and <calendar-picker-ui> so consumers see a
|
|
41
41
|
consistent open-picker chrome across the input/picker family.
|
|
42
42
|
The values are deliberately the same tokens select/calendar
|
|
43
43
|
cascade onto their own `--*-trigger-*` aliases. */
|
|
44
|
-
--date-range-picker-trigger-min-width
|
|
45
|
-
--date-range-picker-trigger-height
|
|
46
|
-
--date-range-picker-trigger-px
|
|
47
|
-
--date-range-picker-trigger-gap
|
|
48
|
-
--date-range-picker-trigger-radius
|
|
49
|
-
--date-range-picker-trigger-bg
|
|
50
|
-
--date-range-picker-trigger-bg-hover
|
|
44
|
+
--date-range-picker-trigger-min-width: 14em;
|
|
45
|
+
--date-range-picker-trigger-height: var(--a-size);
|
|
46
|
+
--date-range-picker-trigger-px: var(--a-ui-px);
|
|
47
|
+
--date-range-picker-trigger-gap: var(--a-space-1);
|
|
48
|
+
--date-range-picker-trigger-radius: var(--a-radius);
|
|
49
|
+
--date-range-picker-trigger-bg: var(--a-ui-bg);
|
|
50
|
+
--date-range-picker-trigger-bg-hover: var(--a-ui-bg-hover);
|
|
51
51
|
/* Placeholder state by default; a committed value bumps to --a-ui-text
|
|
52
52
|
via [data-has-value] (matches input-ui / select-ui value vs placeholder). */
|
|
53
|
-
--date-range-picker-trigger-fg
|
|
54
|
-
--date-range-picker-trigger-border
|
|
55
|
-
--date-range-picker-trigger-border-hover
|
|
56
|
-
--date-range-picker-trigger-focus-ring
|
|
53
|
+
--date-range-picker-trigger-fg: var(--a-ui-text-placeholder);
|
|
54
|
+
--date-range-picker-trigger-border: var(--a-ui-border);
|
|
55
|
+
--date-range-picker-trigger-border-hover: var(--a-ui-border-hover);
|
|
56
|
+
--date-range-picker-trigger-focus-ring: var(--a-focus-ring);
|
|
57
57
|
|
|
58
58
|
/* Popover-internal padding (NOT the trigger — kept distinct from
|
|
59
59
|
--date-range-picker-trigger-px to avoid the historical conflation
|
|
60
60
|
that made the trigger render with --a-space-3 vertical inflation). */
|
|
61
|
-
--date-range-picker-px
|
|
62
|
-
--date-range-picker-py
|
|
61
|
+
--date-range-picker-px: var(--a-space-3);
|
|
62
|
+
--date-range-picker-py: var(--a-space-2);
|
|
63
63
|
|
|
64
64
|
/* Motion */
|
|
65
|
-
--date-range-picker-duration
|
|
66
|
-
--date-range-picker-easing
|
|
65
|
+
--date-range-picker-duration: var(--a-duration-fast);
|
|
66
|
+
--date-range-picker-easing: var(--a-easing);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/* ── Block 2 — BASE ── */
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
box-sizing: border-box;
|
|
76
76
|
position: relative;
|
|
77
77
|
display: block;
|
|
78
|
-
color: var(--date-range-picker-fg
|
|
78
|
+
color: var(--date-range-picker-fg);
|
|
79
79
|
font-size: var(--a-ui-size);
|
|
80
80
|
}
|
|
81
81
|
|
|
@@ -90,14 +90,14 @@
|
|
|
90
90
|
equal specificity so the picker trigger reads as part of the
|
|
91
91
|
input/picker family rather than a generic button. */
|
|
92
92
|
:scope [slot="trigger"] {
|
|
93
|
-
min-width: var(--date-range-picker-trigger-min-width
|
|
94
|
-
min-height: var(--date-range-picker-trigger-height
|
|
95
|
-
padding: 0 var(--date-range-picker-trigger-px
|
|
96
|
-
gap: var(--date-range-picker-trigger-gap
|
|
97
|
-
border-radius: var(--date-range-picker-trigger-radius
|
|
98
|
-
border: 1px solid var(--date-range-picker-trigger-border
|
|
99
|
-
background: var(--date-range-picker-trigger-bg
|
|
100
|
-
color: var(--date-range-picker-trigger-fg
|
|
93
|
+
min-width: var(--date-range-picker-trigger-min-width);
|
|
94
|
+
min-height: var(--date-range-picker-trigger-height);
|
|
95
|
+
padding: 0 var(--date-range-picker-trigger-px);
|
|
96
|
+
gap: var(--date-range-picker-trigger-gap);
|
|
97
|
+
border-radius: var(--date-range-picker-trigger-radius);
|
|
98
|
+
border: 1px solid var(--date-range-picker-trigger-border);
|
|
99
|
+
background: var(--date-range-picker-trigger-bg);
|
|
100
|
+
color: var(--date-range-picker-trigger-fg);
|
|
101
101
|
/* Justify content so leading icon + label sit at start, trailing
|
|
102
102
|
caret at end — same shape select-ui's trigger uses via
|
|
103
103
|
`justify-content: space-between` on a [leading|display|caret]
|
|
@@ -106,12 +106,12 @@
|
|
|
106
106
|
justify-content: space-between;
|
|
107
107
|
line-height: 1;
|
|
108
108
|
transition:
|
|
109
|
-
border-color var(--date-range-picker-duration
|
|
110
|
-
background var(--date-range-picker-duration
|
|
109
|
+
border-color var(--date-range-picker-duration) var(--date-range-picker-easing),
|
|
110
|
+
background var(--date-range-picker-duration) var(--date-range-picker-easing);
|
|
111
111
|
}
|
|
112
112
|
:scope [slot="trigger"]:hover {
|
|
113
|
-
border-color: var(--date-range-picker-trigger-border-hover
|
|
114
|
-
background: var(--date-range-picker-trigger-bg-hover
|
|
113
|
+
border-color: var(--date-range-picker-trigger-border-hover);
|
|
114
|
+
background: var(--date-range-picker-trigger-bg-hover);
|
|
115
115
|
}
|
|
116
116
|
/* Committed value reads as filled content (matches input-ui/select-ui),
|
|
117
117
|
not as the muted placeholder. Marked by the class when a range is set. */
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
}
|
|
121
121
|
:scope:focus-visible { outline: none; }
|
|
122
122
|
:scope:focus-visible [slot="trigger"] {
|
|
123
|
-
box-shadow: var(--date-range-picker-trigger-focus-ring
|
|
123
|
+
box-shadow: var(--date-range-picker-trigger-focus-ring);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/* States */
|
|
@@ -147,12 +147,12 @@ date-range-picker-ui [slot="popover"] {
|
|
|
147
147
|
margin: 0;
|
|
148
148
|
/* Opt into a wider anchor.js max-width cap so both month panes fit side-by-side
|
|
149
149
|
(the 32rem default clipped the second month). Viewport safety still applies. */
|
|
150
|
-
--popover-max-width: var(--date-range-picker-popover-max-width
|
|
151
|
-
padding: var(--date-range-picker-py
|
|
152
|
-
border: 1px solid var(--date-range-picker-popover-border
|
|
153
|
-
border-radius: var(--date-range-picker-popover-radius
|
|
154
|
-
background: var(--date-range-picker-popover-bg
|
|
155
|
-
box-shadow: var(--date-range-picker-popover-shadow
|
|
150
|
+
--popover-max-width: var(--date-range-picker-popover-max-width);
|
|
151
|
+
padding: var(--date-range-picker-py) var(--date-range-picker-px);
|
|
152
|
+
border: 1px solid var(--date-range-picker-popover-border);
|
|
153
|
+
border-radius: var(--date-range-picker-popover-radius);
|
|
154
|
+
background: var(--date-range-picker-popover-bg);
|
|
155
|
+
box-shadow: var(--date-range-picker-popover-shadow);
|
|
156
156
|
color: var(--a-fg);
|
|
157
157
|
/* Anchor-positioning fallback — popover.css and anchor.js handle
|
|
158
158
|
placement; layout here just sets the grid. */
|
|
@@ -161,14 +161,14 @@ date-range-picker-ui [slot="popover"] {
|
|
|
161
161
|
opacity: 1;
|
|
162
162
|
translate: 0 0;
|
|
163
163
|
transition:
|
|
164
|
-
opacity var(--date-range-picker-duration
|
|
165
|
-
translate var(--date-range-picker-duration
|
|
164
|
+
opacity var(--date-range-picker-duration) var(--date-range-picker-easing),
|
|
165
|
+
translate var(--date-range-picker-duration) var(--date-range-picker-easing);
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
date-range-picker-ui [slot="popover"]:popover-open {
|
|
169
169
|
display: grid;
|
|
170
170
|
grid-template-columns: auto 1fr;
|
|
171
|
-
gap: var(--date-range-picker-popover-gap
|
|
171
|
+
gap: var(--date-range-picker-popover-gap);
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
date-range-picker-ui [slot="popover"]:popover-open {
|
|
@@ -189,8 +189,8 @@ date-range-picker-ui [slot="presets"] {
|
|
|
189
189
|
display: flex;
|
|
190
190
|
flex-direction: column;
|
|
191
191
|
align-items: stretch;
|
|
192
|
-
gap: var(--date-range-picker-preset-gap
|
|
193
|
-
min-width: var(--date-range-picker-preset-min-width
|
|
192
|
+
gap: var(--date-range-picker-preset-gap);
|
|
193
|
+
min-width: var(--date-range-picker-preset-min-width);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
/* When [no-presets] is set OR no preset rail exists, collapse the
|
|
@@ -224,9 +224,9 @@ date-range-picker-ui [data-calendar-area] calendar-grid-ui {
|
|
|
224
224
|
§FB-Wave1-QA — now consumes calendar-grid-ui tokens (the extracted
|
|
225
225
|
substrate primitive). */
|
|
226
226
|
date-range-picker-ui calendar-grid-ui {
|
|
227
|
-
--calendar-grid-day-bg-selected: var(--date-range-picker-selected-bg
|
|
228
|
-
--calendar-grid-day-fg-selected: var(--date-range-picker-selected-fg
|
|
229
|
-
--calendar-grid-day-bg-hover: var(--date-range-picker-preview-bg
|
|
227
|
+
--calendar-grid-day-bg-selected: var(--date-range-picker-selected-bg);
|
|
228
|
+
--calendar-grid-day-fg-selected: var(--date-range-picker-selected-fg);
|
|
229
|
+
--calendar-grid-day-bg-hover: var(--date-range-picker-preview-bg);
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
/* Comparison mode — split preset rail visual via the divider. */
|
|
@@ -11,30 +11,30 @@
|
|
|
11
11
|
@scope (datetime-picker-ui) {
|
|
12
12
|
/* ── Block 1 — TOKENS ── */
|
|
13
13
|
:where(:scope) {
|
|
14
|
-
--datetime-picker-bg
|
|
15
|
-
--datetime-picker-fg
|
|
14
|
+
--datetime-picker-bg: var(--a-bg);
|
|
15
|
+
--datetime-picker-fg: var(--a-fg);
|
|
16
16
|
|
|
17
17
|
/* Popover surface */
|
|
18
|
-
--datetime-picker-popover-bg
|
|
19
|
-
--datetime-picker-popover-border
|
|
20
|
-
--datetime-picker-popover-radius
|
|
21
|
-
--datetime-picker-popover-shadow
|
|
22
|
-
--datetime-picker-popover-padding
|
|
23
|
-
--datetime-picker-popover-gap
|
|
18
|
+
--datetime-picker-popover-bg: var(--a-bg-subtle);
|
|
19
|
+
--datetime-picker-popover-border: var(--a-border-subtle);
|
|
20
|
+
--datetime-picker-popover-radius: var(--a-radius-lg);
|
|
21
|
+
--datetime-picker-popover-shadow: var(--a-shadow-lg);
|
|
22
|
+
--datetime-picker-popover-padding: var(--a-space-3);
|
|
23
|
+
--datetime-picker-popover-gap: var(--a-space-3);
|
|
24
24
|
|
|
25
25
|
/* Pane divider */
|
|
26
|
-
--datetime-picker-divider
|
|
26
|
+
--datetime-picker-divider: var(--a-border-subtle);
|
|
27
27
|
|
|
28
28
|
/* Trigger */
|
|
29
|
-
--datetime-picker-trigger-min-width
|
|
29
|
+
--datetime-picker-trigger-min-width: 16em;
|
|
30
30
|
|
|
31
31
|
/* Padding */
|
|
32
|
-
--datetime-picker-px
|
|
33
|
-
--datetime-picker-py
|
|
32
|
+
--datetime-picker-px: var(--a-space-3);
|
|
33
|
+
--datetime-picker-py: var(--a-space-2);
|
|
34
34
|
|
|
35
35
|
/* Motion */
|
|
36
|
-
--datetime-picker-duration
|
|
37
|
-
--datetime-picker-easing
|
|
36
|
+
--datetime-picker-duration: var(--a-duration-fast);
|
|
37
|
+
--datetime-picker-easing: var(--a-easing);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/* ── Block 2 — BASE ── */
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
box-sizing: border-box;
|
|
50
50
|
position: relative;
|
|
51
51
|
display: block;
|
|
52
|
-
color: var(--datetime-picker-fg
|
|
52
|
+
color: var(--datetime-picker-fg);
|
|
53
53
|
font-size: var(--a-ui-size);
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
left-aligned with the caret pushed to the trailing edge, not centered
|
|
63
63
|
like a default button. */
|
|
64
64
|
:scope [slot="trigger"] {
|
|
65
|
-
min-width: var(--datetime-picker-trigger-min-width
|
|
65
|
+
min-width: var(--datetime-picker-trigger-min-width);
|
|
66
66
|
justify-content: space-between;
|
|
67
67
|
line-height: 1;
|
|
68
68
|
}
|
|
@@ -93,11 +93,11 @@
|
|
|
93
93
|
popover honors the UA `popover` `display: none` while closed. */
|
|
94
94
|
datetime-picker-ui [slot="popover"] {
|
|
95
95
|
margin: 0;
|
|
96
|
-
padding: var(--datetime-picker-py
|
|
97
|
-
border: 1px solid var(--datetime-picker-popover-border
|
|
98
|
-
border-radius: var(--datetime-picker-popover-radius
|
|
99
|
-
background: var(--datetime-picker-popover-bg
|
|
100
|
-
box-shadow: var(--datetime-picker-popover-shadow
|
|
96
|
+
padding: var(--datetime-picker-py) var(--datetime-picker-px);
|
|
97
|
+
border: 1px solid var(--datetime-picker-popover-border);
|
|
98
|
+
border-radius: var(--datetime-picker-popover-radius);
|
|
99
|
+
background: var(--datetime-picker-popover-bg);
|
|
100
|
+
box-shadow: var(--datetime-picker-popover-shadow);
|
|
101
101
|
color: var(--a-fg);
|
|
102
102
|
/* Anchor-positioning fallback — popover.css and anchor.js handle
|
|
103
103
|
placement; layout here just sets the grid. */
|
|
@@ -106,15 +106,15 @@ datetime-picker-ui [slot="popover"] {
|
|
|
106
106
|
opacity: 1;
|
|
107
107
|
translate: 0 0;
|
|
108
108
|
transition:
|
|
109
|
-
opacity var(--datetime-picker-duration
|
|
110
|
-
translate var(--datetime-picker-duration
|
|
109
|
+
opacity var(--datetime-picker-duration) var(--datetime-picker-easing),
|
|
110
|
+
translate var(--datetime-picker-duration) var(--datetime-picker-easing);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
datetime-picker-ui [slot="popover"]:popover-open {
|
|
114
114
|
display: grid;
|
|
115
115
|
grid-template-columns: auto auto auto;
|
|
116
116
|
grid-template-areas: "cal divider time";
|
|
117
|
-
gap: var(--datetime-picker-popover-gap
|
|
117
|
+
gap: var(--datetime-picker-popover-gap);
|
|
118
118
|
align-items: start;
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -136,7 +136,7 @@ datetime-picker-ui [slot="popover"] > [data-cal-pane] {
|
|
|
136
136
|
datetime-picker-ui [slot="popover"] > [data-pane-divider] {
|
|
137
137
|
grid-area: divider;
|
|
138
138
|
align-self: stretch;
|
|
139
|
-
--divider-color: var(--datetime-picker-divider
|
|
139
|
+
--divider-color: var(--datetime-picker-divider);
|
|
140
140
|
}
|
|
141
141
|
datetime-picker-ui [slot="popover"] > [data-time-pane] {
|
|
142
142
|
grid-area: time;
|