@ctrl-ui/react 0.8.10 → 0.8.12
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/action-bar.js +2 -2
- package/dist/activity.js +1 -1
- package/dist/blocks/design-canvas-inspector.js +2 -2
- package/dist/blocks/design-canvas.js +2 -2
- package/dist/blocks/discussion.js +1 -1
- package/dist/blocks/file-explorer.js +2 -2
- package/dist/blocks/settings.js +3 -3
- package/dist/chat-composer-editor/extensions/mention.js +1 -1
- package/dist/chat-composer.js +1 -1
- package/dist/chat-layout.js +1 -1
- package/dist/context.js +1 -1
- package/dist/dynamic-notification.js +1 -1
- package/dist/email/theme.js +1 -1
- package/dist/filter-bar/parts.js +1 -1
- package/dist/filter-bar.js +1 -1
- package/dist/inline-citation.js +1 -1
- package/dist/knob-contracts/emoji-picker-knobs.d.ts +1 -1
- package/dist/knob-contracts/emoji-picker-knobs.js +1 -0
- package/dist/knob-contracts/icon-picker-knobs.d.ts +4 -0
- package/dist/knob-contracts/icon-picker-knobs.js +9 -0
- package/dist/knob-contracts/markdown-knobs.d.ts +1 -1
- package/dist/knob-contracts/markdown-knobs.js +3 -1
- package/dist/knob-contracts/tabs-knobs.d.ts +1 -1
- package/dist/knob-contracts/tabs-knobs.js +2 -0
- package/dist/lib/phone-input-format.js +1 -1
- package/dist/skin.d.ts +2 -0
- package/dist/styles/index.css +3 -1
- package/dist/styles/recipes/accordion.css +13 -1
- package/dist/styles/recipes/badge.css +1 -0
- package/dist/styles/recipes/button.css +20 -4
- package/dist/styles/recipes/code.css +0 -15
- package/dist/styles/recipes/collapsible.css +15 -0
- package/dist/styles/recipes/emoji-picker.css +84 -1
- package/dist/styles/recipes/field.css +15 -2
- package/dist/styles/recipes/icon-picker.css +101 -0
- package/dist/styles/recipes/markdown.css +66 -0
- package/dist/styles/recipes/popup-motion.css +10 -0
- package/dist/styles/recipes/scroll-area.css +53 -27
- package/dist/styles/recipes/tabs-motion.css +99 -0
- package/dist/styles/recipes/tabs.css +38 -10
- package/dist/styles/recipes/tree.css +13 -1
- package/dist/ui/alert-dialog.js +1 -1
- package/dist/ui/alert.js +1 -1
- package/dist/ui/autocomplete.js +1 -1
- package/dist/ui/breadcrumb.js +1 -1
- package/dist/ui/button.d.ts +6 -3
- package/dist/ui/button.js +10 -6
- package/dist/ui/card.js +1 -1
- package/dist/ui/code-diff.js +1 -1
- package/dist/ui/code.js +2 -2
- package/dist/ui/collapsible.js +1 -2
- package/dist/ui/color-picker.js +1 -1
- package/dist/ui/combobox.js +1 -1
- package/dist/ui/context-menu.js +1 -1
- package/dist/ui/dialog.js +1 -1
- package/dist/ui/drawer.js +1 -1
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/emoji-icon-picker.d.ts +13 -0
- package/dist/ui/emoji-icon-picker.js +50 -0
- package/dist/ui/emoji-picker.d.ts +14 -3
- package/dist/ui/emoji-picker.js +194 -15
- package/dist/ui/empty.js +1 -1
- package/dist/ui/hover-card.js +1 -1
- package/dist/ui/icon-picker.d.ts +35 -0
- package/dist/ui/icon-picker.js +140 -0
- package/dist/ui/input-group.js +1 -1
- package/dist/ui/item.js +1 -1
- package/dist/ui/markdown-elements.js +6 -10
- package/dist/ui/markdown.d.ts +6 -5
- package/dist/ui/markdown.js +12 -4
- package/dist/ui/menubar.js +1 -1
- package/dist/ui/morphing-panel.js +1 -1
- package/dist/ui/navigation-menu.js +1 -1
- package/dist/ui/phone-input.js +2 -2
- package/dist/ui/popover.d.ts +3 -0
- package/dist/ui/popover.js +37 -2
- package/dist/ui/rich-tooltip.js +1 -1
- package/dist/ui/scroll-area.d.ts +4 -1
- package/dist/ui/scroll-area.js +21 -6
- package/dist/ui/select.js +1 -1
- package/dist/ui/sheet.js +1 -1
- package/dist/ui/sidebar-menu.js +1 -1
- package/dist/ui/sidebar-provider.js +2 -2
- package/dist/ui/sidebar-resize-rail.js +1 -1
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/tabs.d.ts +4 -0
- package/dist/ui/tabs.js +69 -23
- package/dist/ui/timeline.js +1 -1
- package/dist/ui/toast.js +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toggle.js +2 -1
- package/dist/ui/toolbar.d.ts +1 -1
- package/dist/ui/toolbar.js +1 -1
- package/dist/ui/tooltip.js +1 -1
- package/dist/ui/tree.js +1 -1
- package/dist/ui/trigger-menu.js +1 -1
- package/dist/user-ask.js +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
:where([data-control-family="icon-picker"][data-slot="root"]) {
|
|
3
|
+
--cui-icon-picker-cell-size: calc(var(--spacing) * 10);
|
|
4
|
+
--cui-icon-picker-cell-radius: var(--radius-control);
|
|
5
|
+
--cui-icon-picker-foreground: var(--foreground);
|
|
6
|
+
--cui-icon-picker-active-background: var(--accent);
|
|
7
|
+
inline-size: calc(var(--_icon-picker-columns) * var(--cui-icon-picker-cell-size) + var(--spacing) * 4);
|
|
8
|
+
max-inline-size: 100%;
|
|
9
|
+
color: var(--cui-icon-picker-foreground);
|
|
10
|
+
}
|
|
11
|
+
:where([data-control-family="icon-picker"][data-slot="content"]) {
|
|
12
|
+
padding: calc(var(--spacing) * 2);
|
|
13
|
+
max-block-size: 16rem;
|
|
14
|
+
overflow-y: auto;
|
|
15
|
+
overscroll-behavior: contain;
|
|
16
|
+
scrollbar-width: thin;
|
|
17
|
+
}
|
|
18
|
+
:where([data-control-family="icon-picker"][data-slot="grid"]) {
|
|
19
|
+
display: grid;
|
|
20
|
+
grid-template-columns: repeat(var(--_icon-picker-columns), minmax(0, 1fr));
|
|
21
|
+
}
|
|
22
|
+
:where([data-control-family="icon-picker"][data-slot="icon"]) {
|
|
23
|
+
display: flex;
|
|
24
|
+
align-items: center;
|
|
25
|
+
justify-content: center;
|
|
26
|
+
block-size: var(--cui-icon-picker-cell-size);
|
|
27
|
+
min-inline-size: 0;
|
|
28
|
+
border-radius: var(--cui-icon-picker-cell-radius);
|
|
29
|
+
background: transparent;
|
|
30
|
+
color: inherit;
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
transition: background-color var(--duration-fast) var(--ease-standard);
|
|
33
|
+
}
|
|
34
|
+
:where([data-control-family="icon-picker"][data-slot="icon"]:is(:hover, [aria-pressed="true"])) {
|
|
35
|
+
background: var(--cui-icon-picker-active-background);
|
|
36
|
+
}
|
|
37
|
+
:where([data-control-family="icon-picker"][data-slot="icon"] svg) {
|
|
38
|
+
inline-size: calc(var(--spacing) * 5);
|
|
39
|
+
block-size: calc(var(--spacing) * 5);
|
|
40
|
+
}
|
|
41
|
+
:where([data-control-family="icon-picker"][data-slot="colors"]) {
|
|
42
|
+
display: flex;
|
|
43
|
+
gap: calc(var(--spacing) * 1);
|
|
44
|
+
padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2) 0;
|
|
45
|
+
overflow-x: auto;
|
|
46
|
+
}
|
|
47
|
+
:where([data-control-family="icon-picker"][data-slot="color"]) {
|
|
48
|
+
display: grid;
|
|
49
|
+
place-items: center;
|
|
50
|
+
flex: 1 0 calc(var(--spacing) * 9);
|
|
51
|
+
block-size: calc(var(--spacing) * 10);
|
|
52
|
+
border-radius: var(--cui-icon-picker-cell-radius, var(--radius-control));
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
}
|
|
55
|
+
:where([data-control-family="icon-picker"][data-slot="color"] > span) {
|
|
56
|
+
inline-size: calc(var(--spacing) * 6);
|
|
57
|
+
block-size: calc(var(--spacing) * 6);
|
|
58
|
+
border-radius: 50%;
|
|
59
|
+
background: currentColor;
|
|
60
|
+
}
|
|
61
|
+
:where([data-control-family="icon-picker"][data-slot="color"][data-checked] > span) {
|
|
62
|
+
outline: 2px solid var(--foreground);
|
|
63
|
+
outline-offset: 3px;
|
|
64
|
+
}
|
|
65
|
+
:where([data-control-family="icon-picker"][data-slot="empty"]) {
|
|
66
|
+
display: grid;
|
|
67
|
+
place-items: center;
|
|
68
|
+
min-block-size: calc(var(--spacing) * 20);
|
|
69
|
+
color: var(--muted-foreground);
|
|
70
|
+
font-size: var(--text-label);
|
|
71
|
+
}
|
|
72
|
+
@media (pointer: coarse) {
|
|
73
|
+
:where([data-control-family="icon-picker"][data-slot="root"]) {
|
|
74
|
+
--cui-icon-picker-cell-size: 44px;
|
|
75
|
+
}
|
|
76
|
+
:where([data-control-family="icon-picker"][data-slot="color"]) {
|
|
77
|
+
min-inline-size: 44px;
|
|
78
|
+
block-size: 44px;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
@property --cui-icon-picker-cell-size {
|
|
83
|
+
syntax: "<length>";
|
|
84
|
+
inherits: true;
|
|
85
|
+
initial-value: 0px;
|
|
86
|
+
}
|
|
87
|
+
@property --cui-icon-picker-cell-radius {
|
|
88
|
+
syntax: "<length-percentage>";
|
|
89
|
+
inherits: true;
|
|
90
|
+
initial-value: 0px;
|
|
91
|
+
}
|
|
92
|
+
@property --cui-icon-picker-foreground {
|
|
93
|
+
syntax: "<color>";
|
|
94
|
+
inherits: true;
|
|
95
|
+
initial-value: transparent;
|
|
96
|
+
}
|
|
97
|
+
@property --cui-icon-picker-active-background {
|
|
98
|
+
syntax: "<color>";
|
|
99
|
+
inherits: true;
|
|
100
|
+
initial-value: transparent;
|
|
101
|
+
}
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
--cui-markdown-table-header-background: var(--muted);
|
|
13
13
|
--cui-markdown-font-size: var(--text-body);
|
|
14
14
|
--cui-markdown-line-height: var(--leading-relaxed);
|
|
15
|
+
--cui-markdown-flow-gap: calc(var(--spacing) * 4);
|
|
16
|
+
--cui-markdown-heading-gap: calc(var(--spacing) * 6);
|
|
15
17
|
color: var(--cui-markdown-foreground);
|
|
16
18
|
font-size: var(--cui-markdown-font-size);
|
|
17
19
|
overflow-wrap: break-word;
|
|
@@ -180,6 +182,58 @@
|
|
|
180
182
|
margin-block: calc(var(--spacing) * 4);
|
|
181
183
|
}
|
|
182
184
|
|
|
185
|
+
:where([data-control-family="markdown"][data-slot="flow"] > .cui-markdown-streamdown) {
|
|
186
|
+
display: contents;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
:where([data-control-family="markdown"][data-slot="flow"]) {
|
|
190
|
+
display: grid;
|
|
191
|
+
min-width: 0;
|
|
192
|
+
row-gap: var(--cui-markdown-flow-gap);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
:where(
|
|
196
|
+
:is([data-control-family="markdown"][data-slot="flow"], .cui-markdown-streamdown)
|
|
197
|
+
> [data-control-family="markdown"]:is(
|
|
198
|
+
[data-slot="paragraph"],
|
|
199
|
+
[data-slot="unordered-list"],
|
|
200
|
+
[data-slot="ordered-list"],
|
|
201
|
+
[data-slot="blockquote"],
|
|
202
|
+
[data-slot="separator"],
|
|
203
|
+
[data-slot="table-scroll"]
|
|
204
|
+
)
|
|
205
|
+
) {
|
|
206
|
+
margin-block: 0;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
:where(
|
|
210
|
+
:is([data-control-family="markdown"][data-slot="flow"], .cui-markdown-streamdown)
|
|
211
|
+
> [data-control-family="markdown"]:is(
|
|
212
|
+
[data-slot="h1"],
|
|
213
|
+
[data-slot="h2"],
|
|
214
|
+
[data-slot="h3"],
|
|
215
|
+
[data-slot="h4"],
|
|
216
|
+
[data-slot="h5"],
|
|
217
|
+
[data-slot="h6"]
|
|
218
|
+
)
|
|
219
|
+
) {
|
|
220
|
+
margin-block: max(0px, calc(var(--cui-markdown-heading-gap) - var(--cui-markdown-flow-gap))) 0;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
:where(
|
|
224
|
+
:is([data-control-family="markdown"][data-slot="flow"], .cui-markdown-streamdown)
|
|
225
|
+
> [data-control-family="markdown"]:is(
|
|
226
|
+
[data-slot="h1"],
|
|
227
|
+
[data-slot="h2"],
|
|
228
|
+
[data-slot="h3"],
|
|
229
|
+
[data-slot="h4"],
|
|
230
|
+
[data-slot="h5"],
|
|
231
|
+
[data-slot="h6"]
|
|
232
|
+
):first-child
|
|
233
|
+
) {
|
|
234
|
+
margin-block-start: 0;
|
|
235
|
+
}
|
|
236
|
+
|
|
183
237
|
:where([data-control-family="markdown"][data-slot="inline-code"]) {
|
|
184
238
|
padding-inline: calc(var(--spacing) * 1);
|
|
185
239
|
padding-block: calc(var(--spacing) * 0.5);
|
|
@@ -263,3 +317,15 @@
|
|
|
263
317
|
inherits: true;
|
|
264
318
|
initial-value: 1.5;
|
|
265
319
|
}
|
|
320
|
+
|
|
321
|
+
@property --cui-markdown-flow-gap {
|
|
322
|
+
syntax: "<length>";
|
|
323
|
+
inherits: true;
|
|
324
|
+
initial-value: 0px;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
@property --cui-markdown-heading-gap {
|
|
328
|
+
syntax: "<length>";
|
|
329
|
+
inherits: true;
|
|
330
|
+
initial-value: 0px;
|
|
331
|
+
}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
@layer components {
|
|
2
|
+
:where([data-control-family="popup"][data-popup-kind="popover"][data-slot="viewport"]) {
|
|
3
|
+
block-size: var(--_popover-viewport-height, auto);
|
|
4
|
+
overflow: clip;
|
|
5
|
+
transition: block-size var(--duration-base) var(--ease-emphasized);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
:where([data-control-family="popup"][data-popup-kind="popover"][data-slot="viewport-content"]) {
|
|
9
|
+
display: flow-root;
|
|
10
|
+
}
|
|
11
|
+
|
|
2
12
|
:where([data-control-family="popup"][data-popup-kind="sheet"][data-popup-part="surface"]) {
|
|
3
13
|
transition-property: translate;
|
|
4
14
|
transition-duration: var(--duration-base);
|
|
@@ -5,6 +5,50 @@
|
|
|
5
5
|
--cui-scroll-area-corner-background: transparent;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
+
:where([data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"]) {
|
|
9
|
+
display: grid;
|
|
10
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
11
|
+
grid-template-rows: minmax(0, 1fr) auto;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:where([data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"] > [data-scroll-area-viewport]),
|
|
15
|
+
:where([data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"] > [data-control-family="progressive-blur"]) {
|
|
16
|
+
grid-area: 1 / 1;
|
|
17
|
+
min-inline-size: 0;
|
|
18
|
+
min-block-size: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:where(
|
|
22
|
+
[data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"]
|
|
23
|
+
> [data-slot="scrollbar"][data-orientation="vertical"]
|
|
24
|
+
) {
|
|
25
|
+
grid-area: 1 / 2;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:where(
|
|
29
|
+
[data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"]
|
|
30
|
+
> [data-slot="scrollbar"][data-orientation="horizontal"]
|
|
31
|
+
) {
|
|
32
|
+
grid-area: 2 / 1;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:where([data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"] > [data-slot="corner"]) {
|
|
36
|
+
grid-area: 2 / 2;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
:where(
|
|
40
|
+
[data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"]
|
|
41
|
+
> [data-slot="scrollbar"][data-orientation="vertical"]:not([data-has-overflow-y])
|
|
42
|
+
> [data-slot="thumb"]
|
|
43
|
+
),
|
|
44
|
+
:where(
|
|
45
|
+
[data-control-family="scroll-area"][data-slot="root"][data-scrollbar-gutter="stable"]
|
|
46
|
+
> [data-slot="scrollbar"][data-orientation="horizontal"]:not([data-has-overflow-x])
|
|
47
|
+
> [data-slot="thumb"]
|
|
48
|
+
) {
|
|
49
|
+
display: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
8
52
|
@supports (corner-shape: squircle) {
|
|
9
53
|
@container not style(--corner-shape: round) {
|
|
10
54
|
:where([data-control-family="scroll-area"][data-slot="root"] > [data-control-family="progressive-blur"]) {
|
|
@@ -18,11 +62,6 @@
|
|
|
18
62
|
z-index: 0;
|
|
19
63
|
border-radius: inherit;
|
|
20
64
|
outline: none;
|
|
21
|
-
transition:
|
|
22
|
-
--_scroll-area-fade-top var(--duration-fast) var(--ease-standard),
|
|
23
|
-
--_scroll-area-fade-bottom var(--duration-fast) var(--ease-standard),
|
|
24
|
-
--_scroll-area-fade-left var(--duration-fast) var(--ease-standard),
|
|
25
|
-
--_scroll-area-fade-right var(--duration-fast) var(--ease-standard);
|
|
26
65
|
}
|
|
27
66
|
|
|
28
67
|
:where(
|
|
@@ -53,39 +92,26 @@
|
|
|
53
92
|
}
|
|
54
93
|
|
|
55
94
|
:where(
|
|
56
|
-
[data-control-family="scroll-area"][data-slot="root"]
|
|
57
|
-
> [data-scroll-area-viewport]
|
|
58
|
-
) {
|
|
59
|
-
--_scroll-area-fade-top: var(--scroll-fade-size);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
:where(
|
|
63
|
-
[data-control-family="scroll-area"][data-slot="root"][data-overflow-y-end]:not([data-lock-axis="y"], [data-lock-axis="both"])
|
|
64
|
-
> [data-scroll-area-viewport]
|
|
95
|
+
[data-control-family="scroll-area"][data-slot="root"]:not([data-lock-axis="y"], [data-lock-axis="both"]) > [data-scroll-area-viewport]
|
|
65
96
|
) {
|
|
66
|
-
--_scroll-area-fade-
|
|
97
|
+
--_scroll-area-fade-top: min(var(--scroll-fade-size), var(--scroll-area-overflow-y-start, 0px));
|
|
98
|
+
--_scroll-area-fade-bottom: min(var(--scroll-fade-size), var(--scroll-area-overflow-y-end, 0px));
|
|
67
99
|
}
|
|
68
100
|
|
|
69
101
|
:where(
|
|
70
|
-
[data-control-family="scroll-area"][data-slot="root"]
|
|
71
|
-
> [data-scroll-area-viewport]
|
|
72
|
-
),
|
|
73
|
-
:where(
|
|
74
|
-
[data-control-family="scroll-area"][data-slot="root"][data-overflow-x-end]:not([data-lock-axis="x"], [data-lock-axis="both"]):dir(rtl)
|
|
102
|
+
[data-control-family="scroll-area"][data-slot="root"]:not([data-lock-axis="x"], [data-lock-axis="both"]):dir(ltr)
|
|
75
103
|
> [data-scroll-area-viewport]
|
|
76
104
|
) {
|
|
77
|
-
--_scroll-area-fade-left: var(--scroll-fade-size);
|
|
105
|
+
--_scroll-area-fade-left: min(var(--scroll-fade-size), var(--scroll-area-overflow-x-start, 0px));
|
|
106
|
+
--_scroll-area-fade-right: min(var(--scroll-fade-size), var(--scroll-area-overflow-x-end, 0px));
|
|
78
107
|
}
|
|
79
108
|
|
|
80
109
|
:where(
|
|
81
|
-
[data-control-family="scroll-area"][data-slot="root"]
|
|
82
|
-
> [data-scroll-area-viewport]
|
|
83
|
-
),
|
|
84
|
-
:where(
|
|
85
|
-
[data-control-family="scroll-area"][data-slot="root"][data-overflow-x-start]:not([data-lock-axis="x"], [data-lock-axis="both"]):dir(rtl)
|
|
110
|
+
[data-control-family="scroll-area"][data-slot="root"]:not([data-lock-axis="x"], [data-lock-axis="both"]):dir(rtl)
|
|
86
111
|
> [data-scroll-area-viewport]
|
|
87
112
|
) {
|
|
88
|
-
--_scroll-area-fade-
|
|
113
|
+
--_scroll-area-fade-left: min(var(--scroll-fade-size), var(--scroll-area-overflow-x-end, 0px));
|
|
114
|
+
--_scroll-area-fade-right: min(var(--scroll-fade-size), var(--scroll-area-overflow-x-start, 0px));
|
|
89
115
|
}
|
|
90
116
|
|
|
91
117
|
:where(
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
@supports ((anchor-name: --aui-slide-panel) and (anchor-scope: --aui-slide-panel)) {
|
|
3
|
+
:where([data-control-family="tabs"][data-slot="panel"][data-slide="panel"][inert][data-slide-exiting][data-ending-style]) {
|
|
4
|
+
display: block;
|
|
5
|
+
position: absolute;
|
|
6
|
+
top: var(--_tabs-panel-top);
|
|
7
|
+
left: var(--_tabs-panel-left);
|
|
8
|
+
right: auto;
|
|
9
|
+
bottom: auto;
|
|
10
|
+
width: var(--_tabs-panel-width);
|
|
11
|
+
height: var(--_tabs-panel-height);
|
|
12
|
+
margin: 0;
|
|
13
|
+
overflow: clip;
|
|
14
|
+
animation: aui-slide-exit-hold var(--duration-slow) var(--ease-emphasized) both;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@supports (height: anchor-size(height)) {
|
|
18
|
+
:where([data-control-family="tabs"][data-slot="panel"][data-slide="panel"][inert][data-slide-exiting][data-ending-style]) {
|
|
19
|
+
height: anchor-size(height);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:where(
|
|
24
|
+
[data-control-family="tabs"][data-slot="panel"][data-slide="panel"][inert][data-ending-style][data-activation-direction="right"]
|
|
25
|
+
) {
|
|
26
|
+
translate: -100% 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
:where(
|
|
30
|
+
[data-control-family="tabs"][data-slot="panel"][data-slide="panel"][inert][data-ending-style][data-activation-direction="left"]
|
|
31
|
+
) {
|
|
32
|
+
translate: 100% 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:where(
|
|
36
|
+
[data-control-family="tabs"][data-slot="panel"][data-slide="panel"][inert][data-ending-style][data-activation-direction="down"]
|
|
37
|
+
) {
|
|
38
|
+
translate: 0 -100%;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:where([data-control-family="tabs"][data-slot="panel"][data-slide="panel"][inert][data-ending-style][data-activation-direction="up"]) {
|
|
42
|
+
translate: 0 100%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:where(
|
|
46
|
+
[data-control-family="tabs"][data-slot="root"]:has(> [data-slot="panel"][data-starting-style])
|
|
47
|
+
> [data-slot="panel"][inert][data-ending-style]
|
|
48
|
+
) {
|
|
49
|
+
translate: 0 0;
|
|
50
|
+
transition: none;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
:where([data-control-family="tabs"][data-slot="panel"][data-slide="panel"][data-starting-style]) {
|
|
54
|
+
transition: none;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:where([data-control-family="tabs"][data-slot="root"][data-slide-starting] > [data-slot="panel"][data-slide="panel"]) {
|
|
58
|
+
transition: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:where([data-control-family="tabs"][data-slot="root"][data-slide-starting] > [data-slot="panel"][inert]) {
|
|
62
|
+
translate: 0 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:where(
|
|
66
|
+
[data-control-family="tabs"][data-slot="root"][data-slide-starting]
|
|
67
|
+
> [data-slot="panel"]:not([inert])[data-activation-direction="right"]
|
|
68
|
+
) {
|
|
69
|
+
translate: 100% 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
:where(
|
|
73
|
+
[data-control-family="tabs"][data-slot="root"][data-slide-starting]
|
|
74
|
+
> [data-slot="panel"]:not([inert])[data-activation-direction="left"]
|
|
75
|
+
) {
|
|
76
|
+
translate: -100% 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:where(
|
|
80
|
+
[data-control-family="tabs"][data-slot="root"][data-slide-starting]
|
|
81
|
+
> [data-slot="panel"]:not([inert])[data-activation-direction="down"]
|
|
82
|
+
) {
|
|
83
|
+
translate: 0 100%;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
:where(
|
|
87
|
+
[data-control-family="tabs"][data-slot="root"][data-slide-starting]
|
|
88
|
+
> [data-slot="panel"]:not([inert])[data-activation-direction="up"]
|
|
89
|
+
) {
|
|
90
|
+
translate: 0 -100%;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@supports (height: calc-size(auto, size)) {
|
|
94
|
+
:where([data-control-family="tabs"][data-slot="root"][data-slide-starting] > [data-slot="panel"][data-slide="panel"]:not([inert])) {
|
|
95
|
+
height: var(--aui-slide-prev-height, calc-size(auto, size));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
@layer components {
|
|
2
2
|
:where([data-control-family="tabs"][data-slot="root"]) {
|
|
3
|
+
position: relative;
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
3
6
|
--cui-tabs-trigger-radius: var(--radius-control);
|
|
4
7
|
--cui-tabs-list-padding: calc(var(--spacing) * 1);
|
|
5
8
|
--cui-tabs-list-radius: calc(
|
|
@@ -10,6 +13,8 @@
|
|
|
10
13
|
--cui-tabs-list-shadow: inset 0 0 0 var(--control-rim-width) var(--control-rim), var(--shadow-inset);
|
|
11
14
|
--cui-tabs-list-backdrop-filter: none;
|
|
12
15
|
--cui-tabs-indicator-background: var(--background);
|
|
16
|
+
--cui-tabs-surface-background: var(--background);
|
|
17
|
+
--cui-tabs-surface-radius: var(--radius-panel);
|
|
13
18
|
--cui-tabs-foreground: var(--muted-foreground);
|
|
14
19
|
--cui-tabs-active-foreground: var(--foreground);
|
|
15
20
|
--cui-tabs-hover-foreground: var(--foreground);
|
|
@@ -19,7 +24,7 @@
|
|
|
19
24
|
}
|
|
20
25
|
|
|
21
26
|
:where([data-control-family="tabs"][data-slot="root"][data-orientation="vertical"]) {
|
|
22
|
-
|
|
27
|
+
flex-direction: row;
|
|
23
28
|
gap: calc(var(--spacing) * 4);
|
|
24
29
|
}
|
|
25
30
|
|
|
@@ -105,15 +110,14 @@
|
|
|
105
110
|
|
|
106
111
|
:where([data-control-family="tabs"][data-slot="list"][data-variant="browser"]) {
|
|
107
112
|
--_tabs-browser-corner-double: calc(var(--_tabs-trigger-radius-fit) + var(--_tabs-trigger-radius-fit));
|
|
108
|
-
--_tabs-browser-inset: calc(var(--_tabs-trigger-radius-fit) + var(--radius
|
|
113
|
+
--_tabs-browser-inset: calc(var(--_tabs-trigger-radius-fit) + var(--cui-tabs-surface-radius));
|
|
109
114
|
min-height: calc(var(--_tabs-trigger-h) + var(--cui-tabs-list-padding));
|
|
110
115
|
width: auto;
|
|
111
116
|
align-items: flex-end;
|
|
112
117
|
isolation: isolate;
|
|
113
118
|
z-index: 1;
|
|
114
119
|
--cui-tabs-list-background: transparent;
|
|
115
|
-
--cui-tabs-list-shadow: inset 0 -
|
|
116
|
-
--cui-tabs-indicator-background: var(--background);
|
|
120
|
+
--cui-tabs-list-shadow: inset 0 calc(-1 * var(--cui-tabs-border-width)) 0 var(--cui-tabs-border-color);
|
|
117
121
|
--cui-tabs-active-foreground: var(--foreground);
|
|
118
122
|
border-radius: var(--cui-tabs-list-radius) var(--cui-tabs-list-radius) 0 0;
|
|
119
123
|
}
|
|
@@ -132,7 +136,7 @@
|
|
|
132
136
|
border: var(--cui-tabs-border-width) solid var(--cui-tabs-border-color);
|
|
133
137
|
border-bottom: none;
|
|
134
138
|
border-radius: var(--_tabs-trigger-radius-fit) var(--_tabs-trigger-radius-fit) 0 0;
|
|
135
|
-
background: var(--cui-tabs-
|
|
139
|
+
background: var(--cui-tabs-surface-background);
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
:where([data-control-family="tabs"][data-slot="list"][data-variant="browser"] [data-slot="indicator"])::after {
|
|
@@ -145,17 +149,17 @@
|
|
|
145
149
|
circle at 0 -1px,
|
|
146
150
|
transparent calc(var(--_tabs-trigger-radius-fit) - 0.5px),
|
|
147
151
|
var(--cui-tabs-border-color) var(--_tabs-trigger-radius-fit) calc(var(--_tabs-trigger-radius-fit) + 0.5px),
|
|
148
|
-
var(--cui-tabs-
|
|
152
|
+
var(--cui-tabs-surface-background) calc(var(--_tabs-trigger-radius-fit) + 1px)
|
|
149
153
|
)
|
|
150
154
|
left / calc(var(--_tabs-trigger-radius-fit) + 1px) 100% no-repeat,
|
|
151
155
|
radial-gradient(
|
|
152
156
|
circle at 100% -1px,
|
|
153
157
|
transparent calc(var(--_tabs-trigger-radius-fit) - 0.5px),
|
|
154
158
|
var(--cui-tabs-border-color) var(--_tabs-trigger-radius-fit) calc(var(--_tabs-trigger-radius-fit) + 0.5px),
|
|
155
|
-
var(--cui-tabs-
|
|
159
|
+
var(--cui-tabs-surface-background) calc(var(--_tabs-trigger-radius-fit) + 1px)
|
|
156
160
|
)
|
|
157
161
|
right / calc(var(--_tabs-trigger-radius-fit) + 1px) 100% no-repeat,
|
|
158
|
-
linear-gradient(var(--cui-tabs-
|
|
162
|
+
linear-gradient(var(--cui-tabs-surface-background) 0 0) center / calc(100% - var(--_tabs-browser-corner-double)) 100% no-repeat;
|
|
159
163
|
}
|
|
160
164
|
|
|
161
165
|
:where([data-control-family="tabs"][data-slot="list"][data-single="true"]) {
|
|
@@ -178,6 +182,11 @@
|
|
|
178
182
|
outline-style: none;
|
|
179
183
|
}
|
|
180
184
|
|
|
185
|
+
:where([data-control-family="tabs"][data-slot="root"][data-orientation="vertical"] > [data-slot="panel"]) {
|
|
186
|
+
min-width: 0;
|
|
187
|
+
flex: 1;
|
|
188
|
+
}
|
|
189
|
+
|
|
181
190
|
:where(
|
|
182
191
|
[data-control-family="tabs"][data-slot="list"][data-orientation="horizontal"]:not([data-variant="browser"]) ~ [data-slot="panel"]
|
|
183
192
|
) {
|
|
@@ -187,11 +196,18 @@
|
|
|
187
196
|
:where([data-control-family="tabs"][data-slot="list"][data-variant="browser"] ~ [data-slot="panel"]) {
|
|
188
197
|
border: var(--cui-tabs-border-width) solid var(--cui-tabs-border-color);
|
|
189
198
|
border-top: none;
|
|
190
|
-
border-radius: 0 0 var(--radius
|
|
191
|
-
background: var(--cui-tabs-
|
|
199
|
+
border-radius: 0 0 var(--cui-tabs-surface-radius) var(--cui-tabs-surface-radius);
|
|
200
|
+
background: var(--cui-tabs-surface-background);
|
|
192
201
|
padding: calc(var(--spacing) * 4);
|
|
193
202
|
}
|
|
194
203
|
|
|
204
|
+
:where([data-control-family="tabs"][data-slot="surface"]) {
|
|
205
|
+
min-width: 0;
|
|
206
|
+
border: var(--cui-tabs-border-width) solid var(--cui-tabs-border-color);
|
|
207
|
+
border-radius: var(--cui-tabs-surface-radius);
|
|
208
|
+
background: var(--cui-tabs-surface-background);
|
|
209
|
+
}
|
|
210
|
+
|
|
195
211
|
:where([data-control-family="tabs"][data-slot="list"][data-variant="browser"] [data-control-family="tabs"][data-slot="tab"]) {
|
|
196
212
|
border-top-left-radius: var(--_tabs-trigger-radius-fit);
|
|
197
213
|
border-top-right-radius: var(--_tabs-trigger-radius-fit);
|
|
@@ -216,6 +232,18 @@
|
|
|
216
232
|
}
|
|
217
233
|
}
|
|
218
234
|
|
|
235
|
+
@property --cui-tabs-surface-background {
|
|
236
|
+
syntax: "<color>";
|
|
237
|
+
inherits: true;
|
|
238
|
+
initial-value: transparent;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
@property --cui-tabs-surface-radius {
|
|
242
|
+
syntax: "<length>";
|
|
243
|
+
inherits: true;
|
|
244
|
+
initial-value: 0px;
|
|
245
|
+
}
|
|
246
|
+
|
|
219
247
|
@property --cui-tabs-trigger-radius {
|
|
220
248
|
syntax: "<length-percentage>";
|
|
221
249
|
inherits: true;
|
|
@@ -93,7 +93,6 @@
|
|
|
93
93
|
|
|
94
94
|
:where([data-control-family="tree"][data-slot="item-content"]) {
|
|
95
95
|
height: var(--collapsible-panel-height);
|
|
96
|
-
overflow: hidden;
|
|
97
96
|
opacity: 1;
|
|
98
97
|
transition-property: height, opacity;
|
|
99
98
|
transition-duration: var(--duration-base);
|
|
@@ -102,9 +101,22 @@
|
|
|
102
101
|
|
|
103
102
|
:where([data-control-family="tree"][data-slot="item-content"]:is([data-starting-style], [data-ending-style])) {
|
|
104
103
|
height: 0;
|
|
104
|
+
overflow: clip;
|
|
105
105
|
opacity: 0;
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
@supports (transition-behavior: allow-discrete) {
|
|
109
|
+
:where([data-control-family="tree"][data-slot="item-content"]) {
|
|
110
|
+
transition-property: height, opacity, overflow;
|
|
111
|
+
transition-timing-function: var(--ease-emphasized), var(--ease-emphasized), step-end;
|
|
112
|
+
transition-behavior: normal, normal, allow-discrete;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
:where([data-control-family="tree"][data-slot="item-content"][data-ending-style]) {
|
|
116
|
+
transition-timing-function: var(--ease-emphasized), var(--ease-emphasized), step-start;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
108
120
|
:where([data-control-family="tree"][data-slot="item-group"]) {
|
|
109
121
|
translate: 0 0;
|
|
110
122
|
transition: translate var(--duration-base) var(--ease-emphasized);
|
package/dist/ui/alert-dialog.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { controlEffectsAttribute } from "../skin.js";
|
|
3
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { controlEffectsAttribute } from "../skin.js";
|
|
4
4
|
import { useSkin } from "../skin-provider.js";
|
|
5
5
|
import { Button } from "./button.js";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
package/dist/ui/alert.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/ui/alert.tsx
|
|
6
6
|
const alertVariants = ["default", "destructive"];
|
|
7
7
|
function Alert({ variant = "default", className, ...props }) {
|
package/dist/ui/autocomplete.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { controlEffectsAttribute } from "../skin.js";
|
|
3
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { controlEffectsAttribute } from "../skin.js";
|
|
4
4
|
import { useSkin } from "../skin-provider.js";
|
|
5
5
|
import { ScrollArea } from "./scroll-area.js";
|
|
6
6
|
import { popupItemStructureClasses } from "../surface-variants.js";
|
package/dist/ui/breadcrumb.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
3
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
5
|
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
5
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
6
6
|
//#region src/ui/breadcrumb.tsx
|
|
7
7
|
function Breadcrumb({ className, ...props }) {
|
|
8
8
|
return /* @__PURE__ */ jsx("nav", {
|
package/dist/ui/button.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export type ButtonTone = ControlTone;
|
|
|
9
9
|
export declare const ButtonTrackContext: import("react").Context<boolean>;
|
|
10
10
|
export declare const buttonShapes: readonly ["default", "circle"];
|
|
11
11
|
export type ButtonShape = (typeof buttonShapes)[number];
|
|
12
|
+
export declare const buttonLayouts: readonly ["inline", "stacked"];
|
|
13
|
+
export type ButtonLayout = (typeof buttonLayouts)[number];
|
|
12
14
|
export type ButtonAppearanceProps = {
|
|
13
15
|
variant?: ButtonVariant;
|
|
14
16
|
size?: ButtonSize;
|
|
@@ -16,6 +18,7 @@ export type ButtonAppearanceProps = {
|
|
|
16
18
|
active?: boolean;
|
|
17
19
|
iconOnly?: boolean;
|
|
18
20
|
shape?: ButtonShape;
|
|
21
|
+
layout?: ButtonLayout;
|
|
19
22
|
style?: CSSProperties & ButtonKnobStyle;
|
|
20
23
|
};
|
|
21
24
|
export type ButtonProps = ComponentProps<"button"> & ButtonAppearanceProps & {
|
|
@@ -32,7 +35,7 @@ export type ButtonLabelProps = ComponentProps<"label"> & ButtonAppearanceProps;
|
|
|
32
35
|
export declare const buttonStructureClasses = "isolate inline-flex shrink-0 items-center justify-center overflow-visible whitespace-nowrap";
|
|
33
36
|
export declare const buttonTrackStructureClasses = "data-[track=hover]:relative data-[track=hover]:isolate [&_[data-track-item]]:[isolation:auto]";
|
|
34
37
|
export declare const buttonContentClasses = "relative z-[1] inline-flex min-w-0 items-center justify-center gap-[inherit]";
|
|
35
|
-
export declare function Button({ variant, size, tone, active, iconOnly, shape, type, disabled, render, nativeButton, className, children, ...props }: ButtonProps): import("react").JSX.Element;
|
|
36
|
-
export declare function ButtonLink({ variant, size, tone, active, iconOnly, shape, render, className, children, ...props }: ButtonLinkProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
37
|
-
export declare function ButtonLabel({ variant, size, tone, active, iconOnly, shape, className, children, ...props }: ButtonLabelProps): import("react").JSX.Element;
|
|
38
|
+
export declare function Button({ variant, size, tone, active, iconOnly, shape, layout, type, disabled, render, nativeButton, className, children, ...props }: ButtonProps): import("react").JSX.Element;
|
|
39
|
+
export declare function ButtonLink({ variant, size, tone, active, iconOnly, shape, layout, render, className, children, ...props }: ButtonLinkProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
40
|
+
export declare function ButtonLabel({ variant, size, tone, active, iconOnly, shape, layout, className, children, ...props }: ButtonLabelProps): import("react").JSX.Element;
|
|
38
41
|
//#endregion
|