@botiverse/raft-ui 0.18.0 → 0.20.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/CHANGELOG.md +129 -3
- package/codemods/token-names.mjs +16 -0
- package/dist/cn.mjs +15 -1
- package/dist/components/combobox-select/combobox-select.css +58 -40
- package/dist/components/float-button/float-button.css +21 -12
- package/dist/foundation.css +53 -39
- package/dist/{index-DsVVBZ5T.d.mts → index-RFu5pOr7.d.mts} +4 -1
- package/dist/index.d.mts +40 -7
- package/dist/index.mjs +360 -126
- package/dist/style.css +73 -58
- package/dist/styles.css +61 -24
- package/dist/tokens.json +66 -55
- package/dist/{touch-drag-CbWqiMlZ.mjs → touch-drag-BA_Fxs2Z.mjs} +61 -37
- package/dist/wip.d.mts +1 -1
- package/dist/wip.mjs +3 -3
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cn } from "./cn.mjs";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as MessageReactionTooltipContent, $n as useTheme, $t as DropdownMenuRadioGroup, A as messageEmbed, An as TooltipTrigger, At as MessageItemAvatarSlot, B as MessageReferenceLabel, Bn as DialogOverlay, Bt as AvatarImage, C as MessageQuotedPreviewThread, Cn as Checkbox, Ct as MessageItemAttachments, D as MessageEmbedContent, Dn as TooltipContent, Dt as MessageItemEmbedded, E as MessageEmbed, En as Tooltip, Et as MessageItemEdited, F as MessageMultiSelectCheckbox, Fn as DialogContent, Ft as Avatar, G as MessageReactionChip, Gn as Button, Gt as DropdownMenuContent, H as MessageReferenceText, Hn as DialogSurface, Ht as DropdownMenu, I as MessageMultiSelectToolbar, In as DialogDescription, It as AvatarBadge, J as MessageReactionGlyph, Jn as defaultNativeButton, Jt as DropdownMenuItemCount, K as MessageReactionCount, Kn as buttonVariants, Kt as DropdownMenuFooter, L as MessageMultiSelectToolbarActions, Ln as DialogFooter, Lt as AvatarFallback, M as MessageTextSelectionToolbarButton, Mn as Dialog, Mt as MessageItemGutter, N as MessageTextSelectionToolbarSeparator, Nn as DialogBody, Nt as MessageItem, O as MessageEmbedFooter, On as TooltipPortal, Ot as MessageItemFooter, P as MessageMultiSelect, Pn as DialogClose, Pt as searchHit, Q as MessageReactionQuickRow, Qn as useThemeScopeProps, Qt as DropdownMenuPortal, R as MessageReferenceChip, Rn as DialogHeader, Rt as AvatarGroup, S as MessageQuotedPreviewText, Sn as useMobileViewport, St as MessageItemTime, T as MessageQuotedPreviewUnavailable, Tn as PRESENCE_COLOR, Tt as MessageItemContent, U as MessageReferenceUnavailable, Un as DialogTitle, Ut as DropdownMenuCheckboxItem, V as MessageReferencePending, Vn as DialogPortal, Vt as useOverflowTitle, W as MessageReactionAddButton, Wn as DialogTrigger, Wt as DropdownMenuCheckboxItemIndicator, X as MessageReactionPickerStatic, Xn as withOverlayLayer, Xt as DropdownMenuLabel, Y as MessageReactionPickerContent, Yn as useParentOverlayKind, Yt as DropdownMenuItemLabel, Z as MessageReactionQuickButton, Zn as resolveThemeScopeProps, Zt as DropdownMenuPopup, _ as MessageQuotedPreviewAuthorName, _n as ScrollAreaContent, _t as MessageItemMeta, an as DropdownMenuSubmenuTrigger, ar as decisionWidth, at as MessageItemBadge, b as MessageQuotedPreviewHeader, bn as ScrollAreaThumb, bt as MessageItemSenderButton, c as MessageListHistoryLimited, cn as KbdGroup, ct as MessageItemSavedIndicator, d as MessageQuotedPreview, dn as PanelFooter, en as DropdownMenuRadioItem, er as ThemeStateContext, et as MessageReactionTooltipMeta, f as MessageQuotedPreviewAttachment, fn as PanelHeaderRoot, g as MessageQuotedPreviewAuthorMeta, gn as ScrollArea, gt as MessageItemInlineStatus, hn as PanelSection, ht as MessageItemHeader, in as DropdownMenuSubmenu, ir as headEdges, it as MessageReactionTooltipSeparator, j as MessageTextSelectionToolbar, jn as Badge, jt as MessageItemContinuationTime, k as MessageEmbedHeader, kn as TooltipProvider, kt as MessageItemSearchMatch, l as MessageListNotice, ln as Panel, lt as MessageItemToolbar, m as MessageQuotedPreviewAuthor, mn as PanelScrollViewport, n as useMouseOnlyPointerSensor, nn as DropdownMenuSeparator, nr as controlIconInset, nt as MessageReactionTooltipNameText, on as DropdownMenuTrigger, ot as MessageItemBadgeSeparator, p as MessageQuotedPreviewAttachments, pn as PanelScrollContent, q as MessageReactionErrorIndicator, qn as Spinner, qt as DropdownMenuItem, rn as DropdownMenuShortcut, rr as headEdgePull, rt as MessageReactionTooltipNames, s as MessageListDateDivider, sn as Kbd, st as MessageItemReadReceipt, t as useHoldThenMoveTouchSensor, tn as DropdownMenuRadioItemIndicator, tr as tv, tt as MessageReactionTooltipName, u as MessageList, un as PanelBody, ut as MessageItemToolbarButton, v as MessageQuotedPreviewChannel, vn as ScrollAreaCorner, vt as MessageItemSender, w as MessageQuotedPreviewTimestamp, wn as CheckboxIndicator, wt as MessageItemBody, x as MessageQuotedPreviewLoading, xn as ScrollAreaViewport, xt as MessageItemSenderGroup, y as MessageQuotedPreviewContent, yn as ScrollAreaScrollbar, yt as MessageItemSenderBadges, z as MessageReferenceIndicator, zn as DialogNav, zt as AvatarGroupCount } from "./touch-drag-BA_Fxs2Z.mjs";
|
|
3
3
|
import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
|
|
4
4
|
import { AlertTriangle, Bell, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Copy, FileText, Image, Info, Upload, X, Zap } from "lucide-react";
|
|
5
5
|
import { Children, cloneElement, createContext, createElement, isValidElement, use, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -36,7 +36,8 @@ const alertDialog = tv({
|
|
|
36
36
|
slots: {
|
|
37
37
|
overlay: ["fixed inset-0 z-50 bg-layer-backdrop"],
|
|
38
38
|
content: [
|
|
39
|
-
"fixed top-1/2 left-1/2 z-50 grid w-[calc(100%-2rem)]
|
|
39
|
+
"fixed top-1/2 left-1/2 z-50 grid w-[calc(100%-2rem)] -translate-1/2 outline-none",
|
|
40
|
+
decisionWidth,
|
|
40
41
|
"overflow-clip rounded-dialog bg-layer-popover text-foreground",
|
|
41
42
|
"shadow-float ring-1 ring-line-seam"
|
|
42
43
|
],
|
|
@@ -242,7 +243,7 @@ const panelHeader = tv({
|
|
|
242
243
|
"max-md:**:data-[slot=panel-title]:text-foreground-on-frame",
|
|
243
244
|
"max-md:**:data-[slot=panel-meta]:text-foreground-on-frame-muted",
|
|
244
245
|
"max-md:**:data-[slot=panel-action]:text-foreground-on-frame",
|
|
245
|
-
"max-md:**:data-[slot=panel-action]:hover:bg-fill-frame-
|
|
246
|
+
"max-md:**:data-[slot=panel-action]:hover:bg-fill-frame-medium max-md:**:data-[slot=panel-action]:active:bg-fill-frame-medium"
|
|
246
247
|
]
|
|
247
248
|
}]
|
|
248
249
|
});
|
|
@@ -1051,9 +1052,9 @@ const listRow = tv({
|
|
|
1051
1052
|
},
|
|
1052
1053
|
interactive: {
|
|
1053
1054
|
true: { root: [
|
|
1054
|
-
"not-disabled:not-aria-disabled:not-data-selected:hover:
|
|
1055
|
-
"not-disabled:not-aria-disabled:not-data-selected:active:
|
|
1056
|
-
"not-data-selected:data-popup-open:
|
|
1055
|
+
"not-disabled:not-aria-disabled:not-data-selected:hover:overlay-subtle",
|
|
1056
|
+
"not-disabled:not-aria-disabled:not-data-selected:active:overlay-medium",
|
|
1057
|
+
"not-data-selected:data-popup-open:overlay-subtle"
|
|
1057
1058
|
] },
|
|
1058
1059
|
false: {}
|
|
1059
1060
|
},
|
|
@@ -1305,7 +1306,7 @@ const appRail = tv({ slots: {
|
|
|
1305
1306
|
"[&_svg]:shrink-0",
|
|
1306
1307
|
"size-10 rounded-control border-[1.5px] border-transparent",
|
|
1307
1308
|
"text-foreground-on-frame [&_svg]:size-5",
|
|
1308
|
-
"hover:bg-fill-frame-
|
|
1309
|
+
"hover:bg-fill-frame-medium active:bg-fill-frame-medium",
|
|
1309
1310
|
"data-[selected=true]:border-line-frame-active data-[selected=true]:bg-layer-frame-active",
|
|
1310
1311
|
"data-[selected=true]:ring-[1.5px] data-[selected=true]:ring-sticker-edge",
|
|
1311
1312
|
"data-[selected=true]:text-foreground-on-frame-active",
|
|
@@ -1968,7 +1969,11 @@ const sidebarItemRecipe = tv({
|
|
|
1968
1969
|
},
|
|
1969
1970
|
variants: {
|
|
1970
1971
|
interactive: {
|
|
1971
|
-
true: { sidebarItem: [
|
|
1972
|
+
true: { sidebarItem: [
|
|
1973
|
+
"hover:bg-fill-subtle active:bg-fill-medium not-data-active:data-popup-open:bg-fill-subtle",
|
|
1974
|
+
"data-active:active:overlay-sticker-medium",
|
|
1975
|
+
"focus-visible:shadow-focus"
|
|
1976
|
+
] },
|
|
1972
1977
|
false: { sidebarItem: "cursor-default" }
|
|
1973
1978
|
},
|
|
1974
1979
|
wrap: {
|
|
@@ -2618,13 +2623,13 @@ const contextMenu = tv({ slots: {
|
|
|
2618
2623
|
content: [
|
|
2619
2624
|
"flex flex-col max-h-(--available-height) overflow-hidden",
|
|
2620
2625
|
"outline-none",
|
|
2621
|
-
"min-w-60 gap-0 rounded-container bg-layer-popover p-1
|
|
2626
|
+
"min-w-60 gap-0 rounded-container bg-layer-popover p-1 text-foreground",
|
|
2622
2627
|
"shadow-float ring-1 ring-line-seam"
|
|
2623
2628
|
],
|
|
2624
2629
|
item: [
|
|
2625
2630
|
"flex w-full cursor-default select-none items-center",
|
|
2626
2631
|
"text-left outline-none transition-colors",
|
|
2627
|
-
"min-h-option gap-2.5 rounded-
|
|
2632
|
+
"min-h-option gap-2.5 rounded-chip px-2.5 py-option-inset",
|
|
2628
2633
|
"font-sans text-callout font-medium text-foreground",
|
|
2629
2634
|
"hover:bg-brand-soft data-highlighted:bg-brand-soft",
|
|
2630
2635
|
"data-checked:font-bold",
|
|
@@ -2635,7 +2640,7 @@ const contextMenu = tv({ slots: {
|
|
|
2635
2640
|
radioItem: [
|
|
2636
2641
|
"flex w-full cursor-default select-none items-center",
|
|
2637
2642
|
"text-left outline-none transition-colors",
|
|
2638
|
-
"min-h-option gap-2.5 rounded-
|
|
2643
|
+
"min-h-option gap-2.5 rounded-chip px-2.5 py-option-inset",
|
|
2639
2644
|
"font-sans text-callout font-medium text-foreground",
|
|
2640
2645
|
"hover:bg-brand-soft data-highlighted:bg-brand-soft",
|
|
2641
2646
|
"data-checked:font-bold",
|
|
@@ -2646,7 +2651,7 @@ const contextMenu = tv({ slots: {
|
|
|
2646
2651
|
submenuTrigger: [
|
|
2647
2652
|
"flex w-full cursor-default select-none items-center",
|
|
2648
2653
|
"text-left outline-none transition-colors",
|
|
2649
|
-
"min-h-option gap-2.5 rounded-
|
|
2654
|
+
"min-h-option gap-2.5 rounded-chip px-2.5 py-option-inset",
|
|
2650
2655
|
"font-sans text-callout font-medium text-foreground",
|
|
2651
2656
|
"hover:bg-brand-soft data-highlighted:bg-brand-soft data-popup-open:bg-brand-soft",
|
|
2652
2657
|
"data-disabled:pointer-events-none data-disabled:text-foreground-disabled",
|
|
@@ -2661,7 +2666,7 @@ const contextMenu = tv({ slots: {
|
|
|
2661
2666
|
"h-auto min-w-0 rounded-none bg-transparent p-0 shadow-none ring-0",
|
|
2662
2667
|
"font-mono text-mono-meta font-normal text-foreground-hint"
|
|
2663
2668
|
],
|
|
2664
|
-
separator: ["-mx-1
|
|
2669
|
+
separator: ["-mx-1 my-1 h-px border-0 bg-line-hairline"],
|
|
2665
2670
|
indicator: ["pointer-events-none ml-auto flex shrink-0 items-center justify-center", "size-4 text-foreground [&_svg]:size-4"]
|
|
2666
2671
|
} });
|
|
2667
2672
|
function ContextMenu(props) {
|
|
@@ -2917,7 +2922,7 @@ const lightbox = tv({ slots: {
|
|
|
2917
2922
|
"data-[disabled=true]:cursor-default",
|
|
2918
2923
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2919
2924
|
"size-11 rounded-control border-[1.5px] border-line-strong bg-layer-card text-foreground shadow-none",
|
|
2920
|
-
"hover:
|
|
2925
|
+
"hover:overlay-medium active:overlay-medium",
|
|
2921
2926
|
"focus-visible:outline-transparent focus-visible:shadow-focus",
|
|
2922
2927
|
"[&_svg]:size-5.5"
|
|
2923
2928
|
],
|
|
@@ -2925,11 +2930,18 @@ const lightbox = tv({ slots: {
|
|
|
2925
2930
|
infoBar: [
|
|
2926
2931
|
"pointer-events-auto flex items-center",
|
|
2927
2932
|
"w-[clamp(144px,20vw,224px)] max-w-[calc(100vw-48px)] min-w-36",
|
|
2928
|
-
"gap-2 rounded-container py-
|
|
2933
|
+
"gap-2 rounded-container py-1 pr-1 pl-2.5",
|
|
2929
2934
|
"bg-layer-popover text-foreground shadow-float ring-1 ring-line-seam"
|
|
2930
2935
|
],
|
|
2931
2936
|
infoTitle: ["min-w-0 flex-1 truncate", "font-sans text-footnote font-semibold text-foreground"],
|
|
2932
|
-
infoActions: [
|
|
2937
|
+
infoActions: [
|
|
2938
|
+
"flex shrink-0 items-center",
|
|
2939
|
+
"gap-1",
|
|
2940
|
+
"*:data-[slot=button]:h-7 *:data-[slot=button]:w-auto *:data-[slot=button]:min-w-7",
|
|
2941
|
+
"*:data-[slot=button]:rounded-chip",
|
|
2942
|
+
"*:data-[slot=button]:after:inset-x-[-3px] *:data-[slot=button]:first:after:left-[-9.5px] *:data-[slot=button]:last:after:right-[-9.5px]",
|
|
2943
|
+
"pointer-coarse:*:data-[slot=button]:after:inset-y-[-9.5px]"
|
|
2944
|
+
],
|
|
2933
2945
|
thumbnailStrip: ["pointer-events-none absolute right-0 bottom-4 left-0 z-10", "flex items-center justify-center gap-1.5"],
|
|
2934
2946
|
thumbnail: [
|
|
2935
2947
|
"group/lightbox-thumb pointer-events-auto relative size-12 overflow-hidden",
|
|
@@ -3264,11 +3276,11 @@ const mobileNav = tv({ slots: {
|
|
|
3264
3276
|
"*:relative *:z-10 [&_svg]:size-[22px] [&_svg]:stroke-2",
|
|
3265
3277
|
"before:pointer-events-none before:absolute before:top-0 before:left-1/2 before:z-0 before:-translate-x-1/2",
|
|
3266
3278
|
"before:h-[30px] before:w-14 before:rounded-control before:border-[1.5px] before:border-transparent before:content-['']",
|
|
3267
|
-
"active:before:bg-fill-
|
|
3279
|
+
"active:before:bg-fill-medium",
|
|
3268
3280
|
"data-[selected=true]:font-bold data-[selected=true]:text-foreground",
|
|
3269
3281
|
"data-[selected=true]:[&_svg]:text-sticker-ink",
|
|
3270
3282
|
"data-[selected=true]:before:border-sticker-ink data-[selected=true]:before:bg-brand data-[selected=true]:before:ring-[1.5px] data-[selected=true]:before:ring-sticker-edge",
|
|
3271
|
-
"data-[selected=true]:active:before:
|
|
3283
|
+
"data-[selected=true]:active:before:overlay-sticker-medium",
|
|
3272
3284
|
"rounded-control focus-visible:shadow-focus"
|
|
3273
3285
|
],
|
|
3274
3286
|
itemLabel: ["min-w-0 truncate", "max-w-full"]
|
|
@@ -3345,16 +3357,16 @@ const popover = tv({ slots: {
|
|
|
3345
3357
|
"rounded-container bg-layer-popover text-foreground",
|
|
3346
3358
|
"shadow-float ring-1 ring-line-seam"
|
|
3347
3359
|
],
|
|
3348
|
-
header: ["flex items-center justify-between px-3", "min-h-11 gap-2 py-1.5 pr-
|
|
3360
|
+
header: ["flex items-center justify-between px-3", "min-h-11 gap-2 py-1.5 pr-1.5 pl-4"],
|
|
3349
3361
|
separator: ["border-t", "border-line-hairline"],
|
|
3350
3362
|
title: ["m-0", "font-sans text-headline font-bold text-foreground"],
|
|
3351
3363
|
description: ["m-0", "font-sans text-footnote text-foreground-muted"],
|
|
3352
3364
|
close: [
|
|
3353
3365
|
"inline-flex items-center justify-center",
|
|
3354
3366
|
"outline-none transition-colors",
|
|
3355
|
-
"h-8 min-w-8 rounded-
|
|
3367
|
+
"h-8 min-w-8 rounded-chip px-1.5",
|
|
3356
3368
|
"font-sans text-footnote font-bold text-foreground",
|
|
3357
|
-
"hover:bg-fill-
|
|
3369
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
3358
3370
|
"focus-visible:shadow-focus",
|
|
3359
3371
|
"[&_svg]:size-4.5"
|
|
3360
3372
|
],
|
|
@@ -3898,7 +3910,12 @@ const inputGroup = tv({
|
|
|
3898
3910
|
variant: "default",
|
|
3899
3911
|
align: "inline-end",
|
|
3900
3912
|
class: {
|
|
3901
|
-
addon:
|
|
3913
|
+
addon: [
|
|
3914
|
+
"pl-2",
|
|
3915
|
+
"*:data-[slot=button]:size-control-embedded *:data-[slot=button]:rounded-chip",
|
|
3916
|
+
"[&>[data-slot=button]_svg:not([class*='size-'])]:size-4",
|
|
3917
|
+
"[&>[data-slot=button]:last-child]:me-[calc(var(--control-embedded-inset)-0.75rem-1px)]"
|
|
3918
|
+
],
|
|
3902
3919
|
text: "pl-0.5"
|
|
3903
3920
|
}
|
|
3904
3921
|
}
|
|
@@ -3992,14 +4009,14 @@ const combobox = tv({
|
|
|
3992
4009
|
"transition-[background-color,color] duration-100",
|
|
3993
4010
|
"[&>svg]:shrink-0",
|
|
3994
4011
|
"rounded-sticker text-foreground-hint opacity-100",
|
|
3995
|
-
"hover:bg-transparent hover:text-foreground-hint",
|
|
3996
4012
|
"[&>svg]:size-3.5 [&>svg]:stroke-2 [&>svg_*]:stroke-2"
|
|
3997
4013
|
],
|
|
3998
4014
|
control: [
|
|
3999
4015
|
"flex min-w-0 items-center gap-2",
|
|
4000
4016
|
"outline-none",
|
|
4001
4017
|
"[&>svg]:pointer-events-none [&>svg]:shrink-0",
|
|
4002
|
-
"
|
|
4018
|
+
"**:data-[slot='combobox-clear']:size-control-embedded [&_[data-slot='combobox-clear']]:px-0 **:data-[slot='combobox-clear']:shrink-0",
|
|
4019
|
+
"[&>[data-slot=combobox-clear]:last-child]:me-[calc(var(--control-embedded-inset)-0.75rem-1px)]",
|
|
4003
4020
|
"[&_[data-slot='combobox-trigger-indicator']]:size-4",
|
|
4004
4021
|
"[&_[data-slot='combobox-trigger-indicator']>svg]:shrink-0",
|
|
4005
4022
|
"min-h-control rounded-control border-[1.5px] border-line-field bg-layer-card px-3 py-0",
|
|
@@ -4027,11 +4044,11 @@ const combobox = tv({
|
|
|
4027
4044
|
],
|
|
4028
4045
|
header: ["flex items-center justify-between px-3", "gap-2 py-1.5 pr-1.5 pl-4"],
|
|
4029
4046
|
separator: ["h-px shrink-0 border-0", "bg-line-hairline"],
|
|
4030
|
-
list: ["max-h-64 overflow-y-auto overscroll-contain", "flex flex-col p-1
|
|
4047
|
+
list: ["max-h-64 overflow-y-auto overscroll-contain", "flex flex-col p-1 scroll-py-1"],
|
|
4031
4048
|
item: [
|
|
4032
4049
|
"flex w-full shrink-0 cursor-default select-none items-center justify-between overflow-hidden",
|
|
4033
4050
|
"text-left outline-none transition-colors",
|
|
4034
|
-
"min-h-option gap-2.5 rounded-
|
|
4051
|
+
"min-h-option gap-2.5 rounded-chip px-2.5 py-option-inset",
|
|
4035
4052
|
"font-sans text-callout font-medium text-foreground wrap-anywhere",
|
|
4036
4053
|
"bg-transparent hover:bg-brand-soft data-highlighted:bg-brand-soft",
|
|
4037
4054
|
"data-selected:font-bold",
|
|
@@ -4046,9 +4063,9 @@ const combobox = tv({
|
|
|
4046
4063
|
"inline-flex items-center justify-center",
|
|
4047
4064
|
"pointer-events-none opacity-0 outline-none transition-[background-color,color] duration-100",
|
|
4048
4065
|
"data-visible:pointer-events-auto data-visible:opacity-100",
|
|
4049
|
-
"h-7 min-w-0 rounded-
|
|
4066
|
+
"h-7 min-w-0 rounded-chip px-2",
|
|
4050
4067
|
"font-sans text-control font-semibold text-foreground-muted",
|
|
4051
|
-
"hover:bg-fill-
|
|
4068
|
+
"hover:bg-fill-medium hover:text-foreground active:bg-fill-medium",
|
|
4052
4069
|
"focus-visible:shadow-focus",
|
|
4053
4070
|
"[&>svg]:size-4 [&>svg]:stroke-2 [&>svg_*]:stroke-2"
|
|
4054
4071
|
],
|
|
@@ -4056,19 +4073,21 @@ const combobox = tv({
|
|
|
4056
4073
|
groupLabel: ["py-2", "px-2.5 pt-2 pb-1 text-caption font-bold text-foreground-hint"],
|
|
4057
4074
|
chips: [
|
|
4058
4075
|
"flex flex-wrap items-center",
|
|
4059
|
-
"min-h-control gap-1.5 rounded-control border-[1.5px] border-line-field bg-layer-card py-1.
|
|
4076
|
+
"min-h-control gap-1.5 rounded-control border-[1.5px] border-line-field bg-layer-card py-[calc(var(--control-embedded-inset)-1.5px)] pr-3 pl-[calc(var(--control-embedded-inset)-1px)]",
|
|
4077
|
+
"*:data-[slot=combobox-input]:h-control-embedded",
|
|
4060
4078
|
"transition-shadow duration-90 ease-out has-focus-visible:shadow-focus"
|
|
4061
4079
|
],
|
|
4062
4080
|
chip: [
|
|
4063
4081
|
"inline-flex min-w-0 max-w-full items-center overflow-hidden",
|
|
4064
4082
|
"[&>:not([data-slot=combobox-chip-remove])]:min-w-0 [&>:not([data-slot=combobox-chip-remove])]:truncate",
|
|
4065
|
-
"h-
|
|
4083
|
+
"h-control-embedded gap-1.5 rounded-chip bg-fill-muted pr-0.5 pl-2",
|
|
4066
4084
|
"text-footnote font-semibold text-foreground"
|
|
4067
4085
|
],
|
|
4068
4086
|
chipRemove: [
|
|
4069
4087
|
"inline-flex shrink-0 items-center justify-center outline-none transition-colors",
|
|
4070
|
-
"size-[
|
|
4071
|
-
"hover:bg-fill-
|
|
4088
|
+
"size-[calc(var(--control-embedded-size)-4px)] rounded-sticker text-foreground-hint",
|
|
4089
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
4090
|
+
"focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground",
|
|
4072
4091
|
"[&>svg]:size-3.5"
|
|
4073
4092
|
]
|
|
4074
4093
|
},
|
|
@@ -4402,9 +4421,9 @@ const pickerTriggerButton = tv({ base: [
|
|
|
4402
4421
|
"gap-1.5 rounded-control border-0 bg-transparent px-2.5 py-0",
|
|
4403
4422
|
"font-sans text-control font-semibold text-foreground-muted",
|
|
4404
4423
|
"inset-ring inset-ring-line-seam",
|
|
4405
|
-
"hover:bg-fill-
|
|
4424
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
4406
4425
|
"data-has-value:bg-info-soft data-has-value:text-foreground data-has-value:inset-ring-0",
|
|
4407
|
-
"data-has-value:hover:bg-info-soft data-has-value:hover:
|
|
4426
|
+
"data-has-value:hover:bg-info-soft data-has-value:hover:overlay-medium data-has-value:active:overlay-medium",
|
|
4408
4427
|
"data-invalid:inset-ring data-invalid:inset-ring-danger-strong",
|
|
4409
4428
|
"focus-visible:shadow-focus",
|
|
4410
4429
|
"disabled:bg-fill-muted disabled:text-foreground-disabled disabled:opacity-100 disabled:inset-ring-0",
|
|
@@ -4434,6 +4453,7 @@ const select = tv({
|
|
|
4434
4453
|
"[&_[data-slot='select-trigger-content']_svg]:shrink-0",
|
|
4435
4454
|
"h-control w-full gap-2 pr-3 pl-3.5",
|
|
4436
4455
|
"border-[1.5px] border-line-field",
|
|
4456
|
+
"hover:bg-none",
|
|
4437
4457
|
"text-subhead font-semibold text-foreground",
|
|
4438
4458
|
"data-placeholder:font-medium data-placeholder:text-foreground-hint",
|
|
4439
4459
|
"data-invalid:border-danger-strong data-invalid:hover:border-danger-strong",
|
|
@@ -4453,14 +4473,14 @@ const select = tv({
|
|
|
4453
4473
|
"relative max-h-(--available-height) min-w-[max(var(--anchor-width),220px)] overflow-hidden",
|
|
4454
4474
|
"max-w-[min(var(--available-width),max(var(--anchor-width),24rem))]",
|
|
4455
4475
|
"outline-none",
|
|
4456
|
-
"rounded-container bg-layer-popover p-1
|
|
4476
|
+
"rounded-container bg-layer-popover p-1 text-foreground",
|
|
4457
4477
|
"shadow-float ring-1 ring-line-seam"
|
|
4458
4478
|
],
|
|
4459
4479
|
list: ["max-h-64 overflow-y-auto overscroll-contain scroll-py-6", "flex flex-col"],
|
|
4460
4480
|
item: [
|
|
4461
4481
|
"flex w-full shrink-0 cursor-default select-none items-center justify-between overflow-hidden",
|
|
4462
4482
|
"text-left outline-none transition-colors",
|
|
4463
|
-
"min-h-option flex-wrap gap-x-2.5 gap-y-0.5 rounded-
|
|
4483
|
+
"min-h-option flex-wrap gap-x-2.5 gap-y-0.5 rounded-chip px-2.5 py-option-inset",
|
|
4464
4484
|
"text-callout font-medium text-foreground",
|
|
4465
4485
|
"bg-transparent hover:bg-brand-soft data-highlighted:bg-brand-soft",
|
|
4466
4486
|
"data-selected:font-bold data-selected:**:data-[slot='select-item-text']:font-bold",
|
|
@@ -4487,7 +4507,7 @@ const select = tv({
|
|
|
4487
4507
|
label: ["m-0", "font-sans text-footnote font-semibold text-foreground-muted"],
|
|
4488
4508
|
group: ["flex flex-col"],
|
|
4489
4509
|
groupLabel: ["py-2", "px-2.5 pt-2 pb-1 text-caption font-bold text-foreground-hint"],
|
|
4490
|
-
separator: ["h-px shrink-0 border-0", "-mx-1
|
|
4510
|
+
separator: ["h-px shrink-0 border-0", "-mx-1 my-1 bg-line-hairline"],
|
|
4491
4511
|
scrollArrow: [
|
|
4492
4512
|
"absolute inset-x-0 z-10 flex h-6 w-full cursor-default items-center justify-center",
|
|
4493
4513
|
"outline-none transition-colors",
|
|
@@ -4882,7 +4902,7 @@ function SwitchThumb({ className, ...props }) {
|
|
|
4882
4902
|
//#region src/components/segmented-control/segmented-control.tsx
|
|
4883
4903
|
const segmentedControl = tv({
|
|
4884
4904
|
slots: {
|
|
4885
|
-
root: ["inline-flex shrink-0 items-center", "w-fit flex-nowrap gap-
|
|
4905
|
+
root: ["inline-flex shrink-0 items-center", "w-fit flex-nowrap gap-[3px] rounded-[11px] bg-fill-muted p-[3px]"],
|
|
4886
4906
|
item: [
|
|
4887
4907
|
"inline-flex min-w-0 shrink-0 items-center gap-1.5",
|
|
4888
4908
|
"outline-none disabled:pointer-events-none",
|
|
@@ -4890,9 +4910,9 @@ const segmentedControl = tv({
|
|
|
4890
4910
|
"h-8 justify-center rounded-control border-[1.5px] border-transparent bg-transparent px-3",
|
|
4891
4911
|
"font-sans text-callout font-semibold text-foreground-muted",
|
|
4892
4912
|
"[&_svg:not([class*='size-'])]:size-4",
|
|
4893
|
-
"hover:bg-fill-
|
|
4913
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
4894
4914
|
"data-checked:border-sticker-ink data-checked:bg-brand data-checked:font-bold data-checked:text-sticker-ink data-checked:ring-[1.5px] data-checked:ring-sticker-edge",
|
|
4895
|
-
"data-checked:hover:bg-brand data-checked:
|
|
4915
|
+
"data-checked:hover:bg-brand data-checked:active:bg-brand data-checked:active:overlay-sticker-medium",
|
|
4896
4916
|
"focus-visible:shadow-focus",
|
|
4897
4917
|
"data-disabled:cursor-not-allowed data-disabled:text-foreground-disabled data-disabled:hover:bg-transparent"
|
|
4898
4918
|
],
|
|
@@ -4976,7 +4996,7 @@ const toggleGroup = tv({ slots: {
|
|
|
4976
4996
|
"inline-flex max-w-full items-center",
|
|
4977
4997
|
"data-[orientation=horizontal]:flex-row data-[orientation=horizontal]:flex-wrap",
|
|
4978
4998
|
"data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch",
|
|
4979
|
-
"gap-
|
|
4999
|
+
"gap-[3px] rounded-[11px] bg-fill-muted p-[3px]"
|
|
4980
5000
|
],
|
|
4981
5001
|
item: [
|
|
4982
5002
|
"inline-flex h-8 min-w-0 shrink-0 items-center justify-center gap-1.5",
|
|
@@ -4987,9 +5007,9 @@ const toggleGroup = tv({ slots: {
|
|
|
4987
5007
|
"rounded-control border-[1.5px] border-transparent bg-transparent px-3",
|
|
4988
5008
|
"font-sans text-callout font-semibold text-foreground-muted",
|
|
4989
5009
|
"[&_svg:not([class*='size-'])]:size-4",
|
|
4990
|
-
"hover:bg-fill-
|
|
5010
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
4991
5011
|
"data-pressed:border-sticker-ink data-pressed:bg-brand data-pressed:font-bold data-pressed:text-sticker-ink data-pressed:ring-[1.5px] data-pressed:ring-sticker-edge",
|
|
4992
|
-
"data-pressed:hover:bg-brand data-pressed:
|
|
5012
|
+
"data-pressed:hover:bg-brand data-pressed:active:bg-brand data-pressed:active:overlay-sticker-medium",
|
|
4993
5013
|
"focus-visible:shadow-focus",
|
|
4994
5014
|
"data-disabled:opacity-100 data-disabled:text-foreground-disabled data-disabled:hover:bg-transparent"
|
|
4995
5015
|
],
|
|
@@ -5178,14 +5198,15 @@ const codeBlock = tv({ slots: {
|
|
|
5178
5198
|
],
|
|
5179
5199
|
header: [
|
|
5180
5200
|
"flex h-(--code-block-header-height) items-center",
|
|
5181
|
-
"gap-2 border-b border-line-hairline pr-
|
|
5201
|
+
"gap-2 border-b border-line-hairline pr-[calc(var(--control-embedded-inset)-1px)] pl-3",
|
|
5182
5202
|
"font-mono text-mono-meta text-foreground-hint"
|
|
5183
5203
|
],
|
|
5184
5204
|
title: ["min-w-0 flex-1 truncate font-mono", "text-mono-meta"],
|
|
5185
5205
|
actions: [
|
|
5186
|
-
"ml-auto flex items-center gap-
|
|
5187
|
-
"[[data-slot=code-block-body]>&]:
|
|
5188
|
-
"[[data-slot=code-block-body]>&]:
|
|
5206
|
+
"ml-auto flex items-center gap-1",
|
|
5207
|
+
"[[data-slot=code-block-body]>&]:col-start-2 [[data-slot=code-block-body]>&]:row-start-1",
|
|
5208
|
+
"[[data-slot=code-block-body]>&]:z-10 [[data-slot=code-block-body]>&]:ml-3",
|
|
5209
|
+
"[[data-slot=code-block-body]>&]:my-[calc(var(--control-embedded-inset)-0.5rem-1px)] [[data-slot=code-block-body]>&]:mr-[calc(var(--control-embedded-inset)-0.75rem-1px)]"
|
|
5189
5210
|
],
|
|
5190
5211
|
corner: [
|
|
5191
5212
|
"pointer-events-none absolute z-20 size-1",
|
|
@@ -5194,7 +5215,9 @@ const codeBlock = tv({ slots: {
|
|
|
5194
5215
|
"hidden"
|
|
5195
5216
|
],
|
|
5196
5217
|
body: [
|
|
5197
|
-
"relative min-w-0
|
|
5218
|
+
"relative grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-start *:col-start-1",
|
|
5219
|
+
"p-4 font-mono [&_pre]:overflow-x-auto",
|
|
5220
|
+
"[&_pre]:outline-none [&_pre]:focus-visible:keyboard:inset-ring-2 [&_pre]:focus-visible:keyboard:inset-ring-foreground",
|
|
5198
5221
|
"px-3 py-2 text-mono-code text-foreground",
|
|
5199
5222
|
"[&_pre_span]:text-(--shiki-light,currentColor)",
|
|
5200
5223
|
"dark:[&_pre_span]:text-(--shiki-dark,currentColor)"
|
|
@@ -5203,8 +5226,8 @@ const codeBlock = tv({ slots: {
|
|
|
5203
5226
|
"inline-flex shrink-0 items-center justify-center",
|
|
5204
5227
|
"transition-[color,background-color,opacity]",
|
|
5205
5228
|
"focus-visible:outline-none",
|
|
5206
|
-
"size-8 rounded-
|
|
5207
|
-
"hover:bg-fill-
|
|
5229
|
+
"size-8 rounded-chip text-foreground",
|
|
5230
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
5208
5231
|
"focus-visible:ring-0 focus-visible:shadow-focus",
|
|
5209
5232
|
"[&_svg:not([class*='size-'])]:size-4.5"
|
|
5210
5233
|
]
|
|
@@ -5260,7 +5283,7 @@ function CodeBlockTitle({ className, render, ...props }) {
|
|
|
5260
5283
|
state: { slot: "code-block-title" }
|
|
5261
5284
|
});
|
|
5262
5285
|
}
|
|
5263
|
-
/** Trailing action region.
|
|
5286
|
+
/** Trailing action region. In the header it ends the header; in the body it takes a column of its own beside the code. */
|
|
5264
5287
|
function CodeBlockActions({ className, render, ...props }) {
|
|
5265
5288
|
const { actions } = codeBlock();
|
|
5266
5289
|
const defaultProps = { className: actions({ className }) };
|
|
@@ -5285,7 +5308,10 @@ function CodeBlockAction({ className, render, ...props }) {
|
|
|
5285
5308
|
state: { slot: "code-block-action" }
|
|
5286
5309
|
});
|
|
5287
5310
|
}
|
|
5288
|
-
/**
|
|
5311
|
+
/**
|
|
5312
|
+
* Inner code panel. Render the code in a `CodeBlockPre` (or a complete pre
|
|
5313
|
+
* and code) as children.
|
|
5314
|
+
*/
|
|
5289
5315
|
function CodeBlockBody({ children, className, render, ...props }) {
|
|
5290
5316
|
const { body, corner } = codeBlock();
|
|
5291
5317
|
const defaultProps = {
|
|
@@ -5305,6 +5331,35 @@ function CodeBlockBody({ children, className, render, ...props }) {
|
|
|
5305
5331
|
state: { slot: "code-block-body" }
|
|
5306
5332
|
});
|
|
5307
5333
|
}
|
|
5334
|
+
/**
|
|
5335
|
+
* The code's `pre`. A long line scrolls inside it; while it does, it is a
|
|
5336
|
+
* named region the keyboard can reach (`tabindex="0"`, `role="region"`, its
|
|
5337
|
+
* `aria-label`, "Code" by default), since Safari doesn't focus a scroller on
|
|
5338
|
+
* its own. Code that fits adds no Tab stop.
|
|
5339
|
+
*/
|
|
5340
|
+
function CodeBlockPre({ render, ref, "aria-label": ariaLabel = "Code", ...props }) {
|
|
5341
|
+
const preRef = useRef(null);
|
|
5342
|
+
const [overflowing, setOverflowing] = useState(false);
|
|
5343
|
+
useEffect(() => {
|
|
5344
|
+
const pre = preRef.current;
|
|
5345
|
+
if (!pre) return;
|
|
5346
|
+
const observer = new ResizeObserver(() => setOverflowing(pre.scrollWidth > pre.clientWidth));
|
|
5347
|
+
observer.observe(pre);
|
|
5348
|
+
for (const child of pre.children) observer.observe(child);
|
|
5349
|
+
return () => observer.disconnect();
|
|
5350
|
+
}, []);
|
|
5351
|
+
return useRender({
|
|
5352
|
+
defaultTagName: "pre",
|
|
5353
|
+
render,
|
|
5354
|
+
ref: ref ? [preRef, ref] : preRef,
|
|
5355
|
+
props: mergeProps(overflowing ? {
|
|
5356
|
+
tabIndex: 0,
|
|
5357
|
+
role: "region",
|
|
5358
|
+
"aria-label": ariaLabel
|
|
5359
|
+
} : {}, props),
|
|
5360
|
+
state: { slot: "code-block-pre" }
|
|
5361
|
+
});
|
|
5362
|
+
}
|
|
5308
5363
|
//#endregion
|
|
5309
5364
|
//#region src/components/inline-code/inline-code.tsx
|
|
5310
5365
|
const inlineCode = tv({
|
|
@@ -5683,7 +5738,7 @@ const messageSystem = tv({ slots: {
|
|
|
5683
5738
|
"[&[data-panel-open]_[data-slot=system-message-group-chevron]]:-rotate-90",
|
|
5684
5739
|
"h-7 gap-1 rounded-control px-2 py-0",
|
|
5685
5740
|
"font-mono text-mono-meta text-foreground-hint",
|
|
5686
|
-
"hover:bg-fill-
|
|
5741
|
+
"hover:bg-fill-medium hover:text-foreground active:bg-fill-medium",
|
|
5687
5742
|
"outline-none focus-visible:shadow-focus"
|
|
5688
5743
|
],
|
|
5689
5744
|
systemGroupSummary: ["truncate"],
|
|
@@ -5801,7 +5856,7 @@ const messageReplies = tv({ slots: {
|
|
|
5801
5856
|
"group/message-replies flex min-w-0 w-full flex-col text-left",
|
|
5802
5857
|
"transition-colors focus-visible:keyboard:outline-1 focus-visible:keyboard:outline-line-strong",
|
|
5803
5858
|
"mt-2 max-w-[480px] gap-1 rounded-container border-0 px-2.5 py-2",
|
|
5804
|
-
"bg-fill-muted text-foreground-muted hover:
|
|
5859
|
+
"bg-fill-muted text-foreground-muted hover:overlay-subtle active:overlay-medium",
|
|
5805
5860
|
"focus-visible:outline-none focus-visible:shadow-focus"
|
|
5806
5861
|
],
|
|
5807
5862
|
summary: [
|
|
@@ -5919,8 +5974,8 @@ const messageActionCard = tv({
|
|
|
5919
5974
|
"[&>svg]:transition-transform [&>svg]:duration-200 motion-reduce:[&>svg]:transition-none",
|
|
5920
5975
|
"data-panel-open:[&>svg]:rotate-180",
|
|
5921
5976
|
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-1",
|
|
5922
|
-
"my-0 -mr-1 size-[27px] rounded-
|
|
5923
|
-
"hover:bg-fill-
|
|
5977
|
+
"my-0 -mr-1 size-[27px] rounded-chip text-foreground-muted",
|
|
5978
|
+
"hover:bg-fill-medium hover:text-foreground active:bg-fill-medium",
|
|
5924
5979
|
"focus-visible:outline-none focus-visible:shadow-focus",
|
|
5925
5980
|
"[&>svg]:size-4"
|
|
5926
5981
|
]
|
|
@@ -6267,14 +6322,14 @@ const messageAttachment = tv({ slots: {
|
|
|
6267
6322
|
card: [
|
|
6268
6323
|
"group/attachment relative inline-flex h-20 w-44 min-w-44 max-w-44 shrink-0 flex-col overflow-hidden",
|
|
6269
6324
|
"text-left",
|
|
6270
|
-
"rounded-container border border-line-hairline bg-layer-card py-2 pr-
|
|
6271
|
-
"outline-none hover:
|
|
6325
|
+
"rounded-container border border-line-hairline bg-layer-card py-2 pr-[calc(var(--control-embedded-inset)-1px)] pl-2.5 text-foreground",
|
|
6326
|
+
"outline-none hover:overlay-subtle active:overlay-medium focus-visible:shadow-focus",
|
|
6272
6327
|
"[&_[data-slot=message-attachment-action]_svg]:size-4"
|
|
6273
6328
|
],
|
|
6274
6329
|
title: ["block w-full max-w-full shrink-0 truncate", "pr-1 font-sans text-callout font-semibold text-foreground"],
|
|
6275
6330
|
meta: ["mt-auto flex w-full min-w-0 max-w-full items-center justify-between", "gap-2 font-mono text-mono-meta text-foreground-hint"],
|
|
6276
6331
|
metaStart: "min-w-0 flex-1 truncate",
|
|
6277
|
-
metaEnd: ["ml-auto inline-flex shrink-0 items-center gap-1", "[&_svg]:size-[10px] [&_svg]:shrink-0"],
|
|
6332
|
+
metaEnd: ["ml-auto inline-flex shrink-0 items-center gap-1 self-stretch", "[&_svg]:size-[10px] [&_svg]:shrink-0"],
|
|
6278
6333
|
summary: [
|
|
6279
6334
|
"mt-0.5 inline-flex shrink-0 items-center whitespace-nowrap",
|
|
6280
6335
|
"[&_svg]:shrink-0",
|
|
@@ -6288,8 +6343,8 @@ const messageAttachment = tv({ slots: {
|
|
|
6288
6343
|
"relative flex items-center justify-center",
|
|
6289
6344
|
"before:absolute before:-inset-1 before:content-['']",
|
|
6290
6345
|
"[&_svg]:shrink-0",
|
|
6291
|
-
"-
|
|
6292
|
-
"outline-none hover:bg-fill-
|
|
6346
|
+
"-mt-1 mb-[calc(var(--control-embedded-inset)-9px)] size-6 self-end rounded-chip text-foreground",
|
|
6347
|
+
"outline-none hover:bg-fill-medium active:bg-fill-medium",
|
|
6293
6348
|
"focus-visible:shadow-focus",
|
|
6294
6349
|
"[&_svg]:size-4"
|
|
6295
6350
|
]
|
|
@@ -6437,8 +6492,8 @@ const messageImageGallery = tv({
|
|
|
6437
6492
|
"absolute z-10 hidden items-center justify-center",
|
|
6438
6493
|
"focus:flex",
|
|
6439
6494
|
"group-hover/img:flex",
|
|
6440
|
-
"right-
|
|
6441
|
-
"bg-layer-card text-foreground hover:
|
|
6495
|
+
"right-[calc(var(--control-embedded-inset)-1px)] bottom-[calc(var(--control-embedded-inset)-1px)] size-8 rounded-chip border-[1.5px] border-line-strong",
|
|
6496
|
+
"bg-layer-card text-foreground hover:overlay-medium active:overlay-medium",
|
|
6442
6497
|
"outline-none focus-visible:shadow-focus",
|
|
6443
6498
|
"[&_svg]:size-4"
|
|
6444
6499
|
]
|
|
@@ -6661,8 +6716,8 @@ const messageVideoPreview = tv({ slots: {
|
|
|
6661
6716
|
"transition-colors duration-150",
|
|
6662
6717
|
"outline-[1px] outline-offset-2 outline-transparent focus-visible:keyboard:outline-foreground",
|
|
6663
6718
|
"disabled:cursor-default [&_svg]:shrink-0",
|
|
6664
|
-
"top-
|
|
6665
|
-
"bg-layer-card text-foreground hover:
|
|
6719
|
+
"top-[calc(var(--control-embedded-inset)-1px)] right-[calc(var(--control-embedded-inset)-1px)] size-8 rounded-chip border-[1.5px] border-line-strong",
|
|
6720
|
+
"bg-layer-card text-foreground hover:overlay-medium active:overlay-medium",
|
|
6666
6721
|
"outline-none focus-visible:shadow-focus",
|
|
6667
6722
|
"disabled:border-line-hairline disabled:bg-fill-muted disabled:bg-none disabled:text-foreground-disabled",
|
|
6668
6723
|
"[&_svg]:size-4"
|
|
@@ -6815,8 +6870,8 @@ const messageForwardedBundleItem = tv({
|
|
|
6815
6870
|
action: {
|
|
6816
6871
|
static: {},
|
|
6817
6872
|
interactive: { attachment: [
|
|
6818
|
-
"cursor-pointer
|
|
6819
|
-
"hover:
|
|
6873
|
+
"cursor-pointer focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-2 focus-visible:keyboard:outline-line-strong",
|
|
6874
|
+
"hover:overlay-medium active:overlay-medium",
|
|
6820
6875
|
"focus-visible:outline-none focus-visible:shadow-focus"
|
|
6821
6876
|
] }
|
|
6822
6877
|
} },
|
|
@@ -8118,12 +8173,12 @@ function OtterIndicator({ status, className, ...props }) {
|
|
|
8118
8173
|
const table = tv({ slots: {
|
|
8119
8174
|
root: ["w-full border-collapse caption-bottom", "font-sans text-callout text-foreground"],
|
|
8120
8175
|
header: [],
|
|
8121
|
-
body: ["[&>tr:last-child>td]:border-b-0 [&>tr:last-child>th]:border-b-0", "[&>tr]:hover:bg-fill-
|
|
8176
|
+
body: ["[&>tr:last-child>td]:border-b-0 [&>tr:last-child>th]:border-b-0", "[&>tr]:hover:bg-fill-subtle [&>tr]:active:bg-fill-medium"],
|
|
8122
8177
|
row: [
|
|
8123
|
-
"not-aria-selected:not-data-[selected=true]:data-popup-open:bg-fill-
|
|
8124
|
-
"not-aria-selected:not-data-[selected=true]:has-data-popup-open:bg-fill-
|
|
8125
|
-
"aria-selected:bg-info-soft aria-selected:hover:bg-info-soft",
|
|
8126
|
-
"data-[selected=true]:bg-info-soft data-[selected=true]:hover:bg-info-soft"
|
|
8178
|
+
"not-aria-selected:not-data-[selected=true]:data-popup-open:bg-fill-subtle",
|
|
8179
|
+
"not-aria-selected:not-data-[selected=true]:has-data-popup-open:bg-fill-subtle",
|
|
8180
|
+
"aria-selected:bg-info-soft aria-selected:hover:bg-info-soft aria-selected:active:bg-info-soft",
|
|
8181
|
+
"data-[selected=true]:bg-info-soft data-[selected=true]:hover:bg-info-soft data-[selected=true]:active:bg-info-soft"
|
|
8127
8182
|
],
|
|
8128
8183
|
head: [
|
|
8129
8184
|
"text-left whitespace-nowrap",
|
|
@@ -8485,8 +8540,8 @@ const files = tv({ slots: {
|
|
|
8485
8540
|
"group/file-row flex w-full min-w-0 gap-3 px-3",
|
|
8486
8541
|
"transition-colors",
|
|
8487
8542
|
"items-center rounded-container border border-line-hairline bg-layer-card py-2.5 pr-1.5 pl-2.5 shadow-none",
|
|
8488
|
-
"[@media(hover:hover)]:has-[[data-slot=file-row-open]:hover]:
|
|
8489
|
-
"has-data-popup-open:
|
|
8543
|
+
"[@media(hover:hover)]:has-[[data-slot=file-row-open]:hover]:overlay-subtle has-[[data-slot=file-row-open]:active]:overlay-medium",
|
|
8544
|
+
"has-data-popup-open:overlay-subtle",
|
|
8490
8545
|
"has-[[data-slot=file-row-open]:focus-visible]:shadow-focus"
|
|
8491
8546
|
],
|
|
8492
8547
|
rowOpen: [
|
|
@@ -8582,7 +8637,7 @@ function FileAction({ variant, size = "icon-sm", ...props }) {
|
|
|
8582
8637
|
const composer = tv({ slots: {
|
|
8583
8638
|
root: [
|
|
8584
8639
|
"flex w-full flex-col gap-2 p-2",
|
|
8585
|
-
"rounded-container border-[1.5px] px-3 pt-3 pb-
|
|
8640
|
+
"rounded-container border-[1.5px] px-3 pt-3 pb-[calc(var(--control-embedded-inset)-1px)]",
|
|
8586
8641
|
"border-line-field bg-layer-card text-foreground shadow-none",
|
|
8587
8642
|
"has-focus-visible:shadow-focus"
|
|
8588
8643
|
],
|
|
@@ -8593,16 +8648,16 @@ const composer = tv({ slots: {
|
|
|
8593
8648
|
"font-sans text-body font-normal text-foreground",
|
|
8594
8649
|
"placeholder:text-foreground-hint"
|
|
8595
8650
|
],
|
|
8596
|
-
toolbar: ["flex items-center justify-between", "gap-2"],
|
|
8651
|
+
toolbar: ["flex items-center justify-between", "mx-[calc(var(--control-embedded-inset)-0.75rem-1px)] gap-2"],
|
|
8597
8652
|
actions: ["flex items-center gap-2"],
|
|
8598
8653
|
meta: ["flex items-center", "gap-2"],
|
|
8599
8654
|
iconButton: [
|
|
8600
|
-
"size-8 rounded-
|
|
8655
|
+
"size-8 rounded-chip text-foreground-muted",
|
|
8601
8656
|
"disabled:border-transparent disabled:bg-transparent",
|
|
8602
8657
|
"aria-disabled:border-transparent aria-disabled:bg-transparent",
|
|
8603
|
-
"[[data-slot=composer-actions]:first-child>&:first-child]:ml-[-5px]",
|
|
8604
8658
|
"[&_svg:not([class*='size-'])]:size-4.5"
|
|
8605
|
-
]
|
|
8659
|
+
],
|
|
8660
|
+
submit: ["rounded-chip"]
|
|
8606
8661
|
} });
|
|
8607
8662
|
//#endregion
|
|
8608
8663
|
//#region src/components/composer/composer.tsx
|
|
@@ -8677,9 +8732,11 @@ function ComposerIconButton({ className, ...props }) {
|
|
|
8677
8732
|
...props
|
|
8678
8733
|
});
|
|
8679
8734
|
}
|
|
8680
|
-
function ComposerSubmit({ type = "submit", ...props }) {
|
|
8735
|
+
function ComposerSubmit({ type = "submit", className, ...props }) {
|
|
8736
|
+
const { submit } = composer();
|
|
8681
8737
|
return /* @__PURE__ */ jsx(Button, {
|
|
8682
8738
|
...props,
|
|
8739
|
+
className: submit({ className }),
|
|
8683
8740
|
type,
|
|
8684
8741
|
variant: "accent"
|
|
8685
8742
|
});
|
|
@@ -8708,7 +8765,7 @@ const composerAttachment = tv({
|
|
|
8708
8765
|
],
|
|
8709
8766
|
attachmentsNav: [
|
|
8710
8767
|
"absolute top-1/2 z-30 -translate-y-1/2",
|
|
8711
|
-
"size-8 shadow-none",
|
|
8768
|
+
"size-8 rounded-chip shadow-none",
|
|
8712
8769
|
"[&_svg:not([class*='size-'])]:size-4.5"
|
|
8713
8770
|
],
|
|
8714
8771
|
attachment: ["group/composer-attachment relative", "[--ca-overlay-border:1px]"],
|
|
@@ -8754,7 +8811,7 @@ const composerAttachment = tv({
|
|
|
8754
8811
|
"[&_svg]:shrink-0",
|
|
8755
8812
|
"-top-1.5 -right-1.5 size-5 rounded-sticker border-[1.5px] border-line-strong",
|
|
8756
8813
|
"bg-layer-card text-foreground opacity-100",
|
|
8757
|
-
"hover:
|
|
8814
|
+
"hover:overlay-medium active:overlay-medium",
|
|
8758
8815
|
"outline-none focus-visible:shadow-focus",
|
|
8759
8816
|
"disabled:cursor-not-allowed disabled:border-line-hairline disabled:bg-fill-muted disabled:text-foreground-disabled",
|
|
8760
8817
|
"after:absolute after:-inset-3 after:content-['']",
|
|
@@ -9276,14 +9333,14 @@ const composerSuggestionList = tv({
|
|
|
9276
9333
|
slots: {
|
|
9277
9334
|
root: [
|
|
9278
9335
|
"absolute inset-x-0 bottom-full w-auto overflow-y-auto",
|
|
9279
|
-
"mb-2 max-h-60 overflow-x-hidden rounded-container p-1
|
|
9336
|
+
"mb-2 max-h-60 overflow-x-hidden rounded-container p-1",
|
|
9280
9337
|
"bg-layer-popover text-foreground ring-1 ring-line-seam shadow-float"
|
|
9281
9338
|
],
|
|
9282
9339
|
group: ["flex flex-col"],
|
|
9283
9340
|
groupLabel: ["py-1.5", "px-2.5 pt-2 pb-1 font-sans text-caption font-bold text-foreground-hint"],
|
|
9284
9341
|
item: [
|
|
9285
9342
|
"flex w-full items-center text-left",
|
|
9286
|
-
"min-h-9 cursor-pointer gap-2.5 rounded-
|
|
9343
|
+
"min-h-9 cursor-pointer gap-2.5 rounded-chip px-2.5 py-1",
|
|
9287
9344
|
"font-sans text-callout font-medium text-foreground",
|
|
9288
9345
|
"hover:bg-brand-soft data-[highlighted=true]:bg-brand-soft",
|
|
9289
9346
|
"data-[disabled=true]:cursor-default data-[disabled=true]:text-foreground-disabled",
|
|
@@ -9297,7 +9354,7 @@ const composerSuggestionList = tv({
|
|
|
9297
9354
|
},
|
|
9298
9355
|
variants: {
|
|
9299
9356
|
separated: {
|
|
9300
|
-
true: { group: ["-mx-1
|
|
9357
|
+
true: { group: ["-mx-1 mt-1 border-t border-line-hairline px-1 pt-1"] },
|
|
9301
9358
|
false: {}
|
|
9302
9359
|
},
|
|
9303
9360
|
iconVariant: {
|
|
@@ -9707,24 +9764,30 @@ const banner = tv({
|
|
|
9707
9764
|
"*:data-[slot=status]:mt-[calc((var(--text-callout--line-height)-9px)/2)] *:data-[slot=status]:self-start *:data-[slot=status]:justify-self-center",
|
|
9708
9765
|
"has-[>svg]:[--banner-text-col:2]",
|
|
9709
9766
|
"has-[>[data-slot=status]]:[--banner-text-col:2]",
|
|
9710
|
-
"has-[>[data-slot=banner-title]]:[--banner-desc-row:2]"
|
|
9767
|
+
"has-[>[data-slot=banner-title]]:[--banner-desc-row:2]",
|
|
9768
|
+
"has-[>[data-slot=banner-description]]:[--banner-last-row:var(--banner-desc-row,1)]",
|
|
9769
|
+
"has-[>[data-banner-close]]:[--banner-action-end:span_2]"
|
|
9711
9770
|
],
|
|
9712
9771
|
title: [
|
|
9713
|
-
"min-w-0 text-foreground",
|
|
9772
|
+
"min-w-0 wrap-break-word text-foreground",
|
|
9714
9773
|
"row-start-1 font-bold",
|
|
9715
|
-
"col-start-(--banner-text-col,1)"
|
|
9774
|
+
"col-start-(--banner-text-col,1)",
|
|
9775
|
+
"@min-[452px]:has-[~[data-slot=banner-description]~[data-slot=banner-action]:not([data-wrap])]:col-end-[span_2]"
|
|
9716
9776
|
],
|
|
9717
9777
|
description: [
|
|
9718
|
-
"min-w-0 font-normal",
|
|
9778
|
+
"min-w-0 wrap-break-word font-normal",
|
|
9719
9779
|
"text-foreground",
|
|
9720
9780
|
"col-start-(--banner-text-col,1)",
|
|
9721
9781
|
"row-start-(--banner-desc-row,1)"
|
|
9722
9782
|
],
|
|
9723
9783
|
action: [
|
|
9724
|
-
"shrink-0 self-start",
|
|
9725
|
-
"
|
|
9726
|
-
"col-start-(--banner-text-col,1)"
|
|
9727
|
-
|
|
9784
|
+
"mt-2 flex shrink-0 flex-wrap items-center justify-end gap-2 self-start",
|
|
9785
|
+
"col-start-(--banner-text-col,1) col-end-(--banner-action-end,-1)",
|
|
9786
|
+
"@min-[452px]:not-data-wrap:col-start-[calc(var(--banner-text-col,1)+1)] @min-[452px]:not-data-wrap:col-end-auto",
|
|
9787
|
+
"@min-[452px]:not-data-wrap:row-start-(--banner-last-row,1)",
|
|
9788
|
+
"@min-[452px]:not-data-wrap:mt-0 @min-[452px]:not-data-wrap:h-lh @min-[452px]:not-data-wrap:flex-nowrap @min-[452px]:not-data-wrap:self-end"
|
|
9789
|
+
],
|
|
9790
|
+
close: ["col-start-[calc(var(--banner-text-col,1)+1)] row-start-1 self-start", "-my-[calc((--spacing(8)-1lh)/2)] -me-icon-inset"]
|
|
9728
9791
|
},
|
|
9729
9792
|
variants: {
|
|
9730
9793
|
status: {
|
|
@@ -9745,8 +9808,18 @@ const banner = tv({
|
|
|
9745
9808
|
lg: { root: ["px-4 py-3.5"] }
|
|
9746
9809
|
}
|
|
9747
9810
|
},
|
|
9748
|
-
defaultVariants: { size: "md" }
|
|
9811
|
+
defaultVariants: { size: "md" },
|
|
9812
|
+
compoundVariants: [{
|
|
9813
|
+
size: "sm",
|
|
9814
|
+
class: { root: "has-[>[data-slot=banner-action]]:py-[calc((--spacing(8)-1lh)/2+--spacing(1))]" }
|
|
9815
|
+
}]
|
|
9749
9816
|
});
|
|
9817
|
+
/**
|
|
9818
|
+
* A short notice people read before they act, on a soft tint that says its
|
|
9819
|
+
* intent. Compose it from a leading icon, `BannerTitle`, `BannerDescription`,
|
|
9820
|
+
* and either `BannerAction` (its button) or `BannerClose` (a × when there is no
|
|
9821
|
+
* button).
|
|
9822
|
+
*/
|
|
9750
9823
|
function Banner({ status, size = "md", className, render, ...props }) {
|
|
9751
9824
|
const { root } = banner({
|
|
9752
9825
|
status,
|
|
@@ -9787,16 +9860,114 @@ function BannerDescription({ render, className, ...props }) {
|
|
|
9787
9860
|
state: { slot: "banner-description" }
|
|
9788
9861
|
});
|
|
9789
9862
|
}
|
|
9790
|
-
function
|
|
9863
|
+
function lineCount(element) {
|
|
9864
|
+
const lineHeight = Number.parseFloat(getComputedStyle(element).lineHeight);
|
|
9865
|
+
if (!(lineHeight > 0)) return 1;
|
|
9866
|
+
return Math.round(element.getBoundingClientRect().height / lineHeight);
|
|
9867
|
+
}
|
|
9868
|
+
function contentWidth(element) {
|
|
9869
|
+
const range = document.createRange();
|
|
9870
|
+
range.selectNodeContents(element);
|
|
9871
|
+
return range.getBoundingClientRect().width;
|
|
9872
|
+
}
|
|
9873
|
+
function useWrapsBesideText(action) {
|
|
9874
|
+
const [wraps, setWraps] = useState(false);
|
|
9875
|
+
useLayoutEffect(() => {
|
|
9876
|
+
const root = action?.parentElement;
|
|
9877
|
+
if (!action || !root || typeof ResizeObserver === "undefined") return;
|
|
9878
|
+
const measure = () => {
|
|
9879
|
+
const text = root.querySelector(":scope > [data-slot=banner-description]") ?? root.querySelector(":scope > [data-slot=banner-title]");
|
|
9880
|
+
if (!text) {
|
|
9881
|
+
setWraps(false);
|
|
9882
|
+
return;
|
|
9883
|
+
}
|
|
9884
|
+
if (root.querySelector(":scope > [data-banner-close]")) {
|
|
9885
|
+
setWraps(true);
|
|
9886
|
+
return;
|
|
9887
|
+
}
|
|
9888
|
+
const lines = lineCount(text);
|
|
9889
|
+
if (!action.hasAttribute("data-wrap")) {
|
|
9890
|
+
if (lines > 1) setWraps(true);
|
|
9891
|
+
return;
|
|
9892
|
+
}
|
|
9893
|
+
if (lines > 1) return;
|
|
9894
|
+
const gap = Number.parseFloat(getComputedStyle(root).columnGap) || 0;
|
|
9895
|
+
if (contentWidth(text) + contentWidth(action) + gap + 1 <= text.getBoundingClientRect().width) setWraps(false);
|
|
9896
|
+
};
|
|
9897
|
+
let frame = 0;
|
|
9898
|
+
const schedule = () => {
|
|
9899
|
+
cancelAnimationFrame(frame);
|
|
9900
|
+
frame = requestAnimationFrame(measure);
|
|
9901
|
+
};
|
|
9902
|
+
measure();
|
|
9903
|
+
const resize = new ResizeObserver(schedule);
|
|
9904
|
+
resize.observe(root);
|
|
9905
|
+
for (const child of root.children) resize.observe(child);
|
|
9906
|
+
const mutation = new MutationObserver(schedule);
|
|
9907
|
+
mutation.observe(root, {
|
|
9908
|
+
childList: true,
|
|
9909
|
+
characterData: true,
|
|
9910
|
+
subtree: true
|
|
9911
|
+
});
|
|
9912
|
+
const fonts = typeof document.fonts === "undefined" ? void 0 : document.fonts;
|
|
9913
|
+
let live = true;
|
|
9914
|
+
fonts?.ready.then(() => {
|
|
9915
|
+
if (live) schedule();
|
|
9916
|
+
});
|
|
9917
|
+
fonts?.addEventListener("loadingdone", schedule);
|
|
9918
|
+
return () => {
|
|
9919
|
+
live = false;
|
|
9920
|
+
cancelAnimationFrame(frame);
|
|
9921
|
+
resize.disconnect();
|
|
9922
|
+
mutation.disconnect();
|
|
9923
|
+
fonts?.removeEventListener("loadingdone", schedule);
|
|
9924
|
+
};
|
|
9925
|
+
}, [action]);
|
|
9926
|
+
useLayoutEffect(() => {
|
|
9927
|
+
if (process.env.NODE_ENV === "production") return;
|
|
9928
|
+
if (action?.parentElement?.querySelector(":scope > [data-banner-close]")) console.warn("raft-ui: a Banner has both BannerAction and BannerClose. Use BannerClose only on a banner with no button; close one that has a button with a ghost Dismiss button in BannerAction.");
|
|
9929
|
+
}, [action]);
|
|
9930
|
+
return wraps;
|
|
9931
|
+
}
|
|
9932
|
+
/**
|
|
9933
|
+
* The banner's buttons: at the end of the last line of text, centered on it,
|
|
9934
|
+
* while the text fits beside them on one line; on a line of their own under the
|
|
9935
|
+
* text, aligned to the end, when it doesn't or the banner is narrower than
|
|
9936
|
+
* 480px.
|
|
9937
|
+
*/
|
|
9938
|
+
function BannerAction({ render, className, ref, ...props }) {
|
|
9791
9939
|
const { action } = banner();
|
|
9792
|
-
const
|
|
9940
|
+
const [element, setElement] = useState(null);
|
|
9941
|
+
const wraps = useWrapsBesideText(element);
|
|
9942
|
+
const defaultProps = {
|
|
9943
|
+
className: action({ className }),
|
|
9944
|
+
...wraps ? { "data-wrap": "" } : {}
|
|
9945
|
+
};
|
|
9793
9946
|
return useRender({
|
|
9794
9947
|
defaultTagName: "div",
|
|
9795
9948
|
render,
|
|
9949
|
+
ref: ref ? [ref, setElement] : setElement,
|
|
9796
9950
|
props: mergeProps(defaultProps, props),
|
|
9797
9951
|
state: { slot: "banner-action" }
|
|
9798
9952
|
});
|
|
9799
9953
|
}
|
|
9954
|
+
/**
|
|
9955
|
+
* The × of a banner that has no button: a frameless icon button at the end of
|
|
9956
|
+
* the first line, centered on it, its icon box ending on the banner's padding.
|
|
9957
|
+
* Never put it in `BannerAction`.
|
|
9958
|
+
*/
|
|
9959
|
+
function BannerClose({ className, children, "aria-label": ariaLabel = "Dismiss", ...props }) {
|
|
9960
|
+
const { close } = banner();
|
|
9961
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
9962
|
+
...props,
|
|
9963
|
+
variant: "ghost",
|
|
9964
|
+
size: "icon-sm",
|
|
9965
|
+
"aria-label": ariaLabel,
|
|
9966
|
+
"data-banner-close": "",
|
|
9967
|
+
className: close({ className }),
|
|
9968
|
+
children: children ?? /* @__PURE__ */ jsx(X, {})
|
|
9969
|
+
});
|
|
9970
|
+
}
|
|
9800
9971
|
//#endregion
|
|
9801
9972
|
//#region src/components/empty-state/empty-state.tsx
|
|
9802
9973
|
const emptyState = tv({ slots: {
|
|
@@ -9903,7 +10074,7 @@ const notificationCenter = tv({
|
|
|
9903
10074
|
"relative inline-flex size-10 items-center justify-center overflow-visible p-0",
|
|
9904
10075
|
"rounded-control border-[1.5px] border-transparent bg-transparent text-foreground-on-frame",
|
|
9905
10076
|
"select-none outline-none",
|
|
9906
|
-
"hover:bg-fill-frame-
|
|
10077
|
+
"hover:bg-fill-frame-medium active:bg-fill-frame-medium data-popup-open:bg-fill-frame-medium",
|
|
9907
10078
|
"focus-visible:shadow-focus",
|
|
9908
10079
|
"[&_svg]:size-5 [&_svg]:shrink-0"
|
|
9909
10080
|
],
|
|
@@ -10753,9 +10924,9 @@ const tabs = tv({
|
|
|
10753
10924
|
tab: [
|
|
10754
10925
|
"h-8 justify-center gap-1.5 rounded-control border-[1.5px] border-transparent px-3",
|
|
10755
10926
|
"after:inset-x-0 after:-inset-y-1.5",
|
|
10756
|
-
"hover:bg-fill-
|
|
10927
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
10757
10928
|
"data-active:border-sticker-ink data-active:bg-brand data-active:font-bold data-active:text-sticker-ink data-active:ring-[1.5px] data-active:ring-sticker-edge",
|
|
10758
|
-
"data-active:active:
|
|
10929
|
+
"data-active:active:overlay-sticker-medium",
|
|
10759
10930
|
"data-disabled:bg-transparent"
|
|
10760
10931
|
]
|
|
10761
10932
|
},
|
|
@@ -11159,7 +11330,7 @@ const panelActionBase = tv({ base: [
|
|
|
11159
11330
|
"px-2 md:pointer-fine:px-[5px]",
|
|
11160
11331
|
"after:absolute after:-inset-control-hit",
|
|
11161
11332
|
"text-foreground",
|
|
11162
|
-
"hover:bg-fill-
|
|
11333
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
11163
11334
|
"focus-visible:shadow-focus",
|
|
11164
11335
|
"[&>svg]:size-control-icon",
|
|
11165
11336
|
controlIconInset
|
|
@@ -11172,7 +11343,7 @@ const panelAction = tv({
|
|
|
11172
11343
|
"gap-1.5 text-control font-bold",
|
|
11173
11344
|
"disabled:bg-transparent disabled:text-foreground-disabled disabled:opacity-100",
|
|
11174
11345
|
"aria-pressed:border-sticker-ink aria-pressed:bg-brand aria-pressed:text-sticker-ink aria-pressed:ring-[1.5px] aria-pressed:ring-sticker-edge",
|
|
11175
|
-
"aria-pressed:active:
|
|
11346
|
+
"aria-pressed:active:overlay-sticker-medium"
|
|
11176
11347
|
]
|
|
11177
11348
|
});
|
|
11178
11349
|
const panelToggleAction = tv({
|
|
@@ -11182,7 +11353,7 @@ const panelToggleAction = tv({
|
|
|
11182
11353
|
"gap-1.5 text-control font-bold",
|
|
11183
11354
|
"data-disabled:bg-transparent data-disabled:text-foreground-disabled data-disabled:opacity-100",
|
|
11184
11355
|
"data-pressed:border-sticker-ink data-pressed:bg-brand data-pressed:text-sticker-ink data-pressed:ring-[1.5px] data-pressed:ring-sticker-edge",
|
|
11185
|
-
"data-pressed:active:
|
|
11356
|
+
"data-pressed:active:overlay-sticker-medium"
|
|
11186
11357
|
]
|
|
11187
11358
|
});
|
|
11188
11359
|
//#endregion
|
|
@@ -11229,6 +11400,7 @@ function AppShellRoot({ className, defaultSidebarOpen = true, onSidebarOpenChang
|
|
|
11229
11400
|
const { root } = appShell();
|
|
11230
11401
|
const [uncontrolledSidebarOpen, setUncontrolledSidebarOpen] = useState(defaultSidebarOpen);
|
|
11231
11402
|
const [sidebarWidth, setSidebarWidth] = useState(0);
|
|
11403
|
+
const [sidebarId, setSidebarId] = useState(void 0);
|
|
11232
11404
|
const sidebarOpen = sidebarOpenProp ?? uncontrolledSidebarOpen;
|
|
11233
11405
|
const setSidebarOpen = useCallback((open) => {
|
|
11234
11406
|
if (sidebarOpenProp === void 0) setUncontrolledSidebarOpen(open);
|
|
@@ -11245,6 +11417,8 @@ function AppShellRoot({ className, defaultSidebarOpen = true, onSidebarOpenChang
|
|
|
11245
11417
|
collapsible: sidebarCollapsible,
|
|
11246
11418
|
open: sidebarOpen,
|
|
11247
11419
|
setOpen: setSidebarOpen,
|
|
11420
|
+
sidebarId,
|
|
11421
|
+
setSidebarId,
|
|
11248
11422
|
sidebarWidth,
|
|
11249
11423
|
setSidebarWidth: setMeasuredSidebarWidth,
|
|
11250
11424
|
toggle: toggleSidebar
|
|
@@ -11252,6 +11426,7 @@ function AppShellRoot({ className, defaultSidebarOpen = true, onSidebarOpenChang
|
|
|
11252
11426
|
setMeasuredSidebarWidth,
|
|
11253
11427
|
setSidebarOpen,
|
|
11254
11428
|
sidebarCollapsible,
|
|
11429
|
+
sidebarId,
|
|
11255
11430
|
sidebarOpen,
|
|
11256
11431
|
sidebarWidth,
|
|
11257
11432
|
toggleSidebar
|
|
@@ -11288,12 +11463,16 @@ function AppShellRailSlot({ className, render, ...props }) {
|
|
|
11288
11463
|
props: mergeProps(defaultProps, props)
|
|
11289
11464
|
});
|
|
11290
11465
|
}
|
|
11291
|
-
function AppShellSidebarSlot({ className, render, ...props }) {
|
|
11466
|
+
function AppShellSidebarSlot({ className, id: idProp, render, ...props }) {
|
|
11292
11467
|
const { sidebarSlot } = appShell();
|
|
11293
11468
|
const sidebar = useOptionalAppShellSidebar();
|
|
11294
11469
|
const elementRef = useRef(null);
|
|
11295
11470
|
const isCollapsible = sidebar?.collapsible ?? false;
|
|
11471
|
+
const collapsed = isCollapsible && !sidebar?.open;
|
|
11296
11472
|
const setSidebarWidth = sidebar?.setSidebarWidth;
|
|
11473
|
+
const setSidebarId = sidebar?.setSidebarId;
|
|
11474
|
+
const generatedId = useId();
|
|
11475
|
+
const id = idProp ?? (isCollapsible ? generatedId : void 0);
|
|
11297
11476
|
const setElementRef = useCallback((element) => {
|
|
11298
11477
|
elementRef.current = element;
|
|
11299
11478
|
}, []);
|
|
@@ -11306,22 +11485,34 @@ function AppShellSidebarSlot({ className, render, ...props }) {
|
|
|
11306
11485
|
observer.observe(sidebarElement);
|
|
11307
11486
|
return () => observer.disconnect();
|
|
11308
11487
|
}, [isCollapsible, setSidebarWidth]);
|
|
11488
|
+
useLayoutEffect(() => {
|
|
11489
|
+
if (!isCollapsible || !setSidebarId) return;
|
|
11490
|
+
setSidebarId(id);
|
|
11491
|
+
return () => setSidebarId(void 0);
|
|
11492
|
+
}, [
|
|
11493
|
+
id,
|
|
11494
|
+
isCollapsible,
|
|
11495
|
+
setSidebarId
|
|
11496
|
+
]);
|
|
11309
11497
|
const defaultProps = {
|
|
11310
|
-
"aria-hidden":
|
|
11498
|
+
"aria-hidden": collapsed ? true : void 0,
|
|
11311
11499
|
"data-slot": "app-shell-sidebar-slot",
|
|
11500
|
+
id,
|
|
11501
|
+
inert: collapsed ? true : void 0,
|
|
11312
11502
|
className: sidebarSlot({ className: cn(className, sidebar?.collapsible && [
|
|
11313
11503
|
"will-change-[opacity]",
|
|
11314
11504
|
"transition-opacity duration-160 ease-slide",
|
|
11315
11505
|
"motion-reduce:transition-none",
|
|
11506
|
+
"group-data-[state=expanded]/app-shell:relative group-data-[state=expanded]/app-shell:z-1",
|
|
11316
11507
|
"group-data-[state=collapsed]/app-shell:pointer-events-none",
|
|
11317
11508
|
"group-data-[state=collapsed]/app-shell:opacity-0",
|
|
11318
11509
|
"group-data-[state=collapsed]/app-shell:duration-120"
|
|
11319
|
-
]) })
|
|
11320
|
-
ref: setElementRef
|
|
11510
|
+
]) })
|
|
11321
11511
|
};
|
|
11322
11512
|
return useRender({
|
|
11323
11513
|
defaultTagName: "aside",
|
|
11324
11514
|
render,
|
|
11515
|
+
ref: setElementRef,
|
|
11325
11516
|
props: mergeProps(defaultProps, props)
|
|
11326
11517
|
});
|
|
11327
11518
|
}
|
|
@@ -11352,10 +11543,14 @@ function AppShellOverlaySlot({ className, render, ...props }) {
|
|
|
11352
11543
|
function AppShellMainSlot({ className, overlay = false, render, ...props }) {
|
|
11353
11544
|
const { mainSlot } = appShell({ overlay });
|
|
11354
11545
|
const sidebar = useOptionalAppShellSidebar();
|
|
11546
|
+
const collapsible = sidebar?.collapsible ?? false;
|
|
11547
|
+
const sliding = useSidebarSlide(collapsible, sidebar?.open ?? true);
|
|
11355
11548
|
const defaultProps = {
|
|
11356
11549
|
"data-slot": "app-shell-main-slot",
|
|
11357
|
-
|
|
11358
|
-
|
|
11550
|
+
"data-sliding": sliding.active ? "" : void 0,
|
|
11551
|
+
className: mainSlot({ className: cn(className, collapsible && [
|
|
11552
|
+
"absolute inset-y-0 right-0 left-0",
|
|
11553
|
+
"data-sliding:z-2",
|
|
11359
11554
|
"transition-[left] duration-220 ease-slide",
|
|
11360
11555
|
"motion-reduce:transition-none",
|
|
11361
11556
|
"group-data-[state=collapsed]/app-shell:-left-(--app-shell-sidebar-width)"
|
|
@@ -11364,9 +11559,48 @@ function AppShellMainSlot({ className, overlay = false, render, ...props }) {
|
|
|
11364
11559
|
return useRender({
|
|
11365
11560
|
defaultTagName: "main",
|
|
11366
11561
|
render,
|
|
11562
|
+
ref: sliding.ref,
|
|
11367
11563
|
props: mergeProps(defaultProps, props)
|
|
11368
11564
|
});
|
|
11369
11565
|
}
|
|
11566
|
+
function useSidebarSlide(collapsible, open) {
|
|
11567
|
+
const elementRef = useRef(null);
|
|
11568
|
+
const [slide, setSlide] = useState({
|
|
11569
|
+
active: false,
|
|
11570
|
+
open
|
|
11571
|
+
});
|
|
11572
|
+
if (slide.open !== open) setSlide({
|
|
11573
|
+
active: collapsible,
|
|
11574
|
+
open
|
|
11575
|
+
});
|
|
11576
|
+
const active = slide.active;
|
|
11577
|
+
const ref = useCallback((element) => {
|
|
11578
|
+
elementRef.current = element;
|
|
11579
|
+
}, []);
|
|
11580
|
+
useEffect(() => {
|
|
11581
|
+
if (!active) return;
|
|
11582
|
+
const transitions = elementRef.current?.getAnimations?.().filter((animation) => "transitionProperty" in animation && animation.transitionProperty === "left" && animation.effect?.getComputedTiming().activeDuration !== 0) ?? [];
|
|
11583
|
+
let current = true;
|
|
11584
|
+
const settle = () => {
|
|
11585
|
+
if (current) setSlide((state) => state.open === open ? {
|
|
11586
|
+
active: false,
|
|
11587
|
+
open
|
|
11588
|
+
} : state);
|
|
11589
|
+
};
|
|
11590
|
+
if (transitions.length === 0) {
|
|
11591
|
+
settle();
|
|
11592
|
+
return;
|
|
11593
|
+
}
|
|
11594
|
+
Promise.allSettled(transitions.map((transition) => transition.finished)).then(settle);
|
|
11595
|
+
return () => {
|
|
11596
|
+
current = false;
|
|
11597
|
+
};
|
|
11598
|
+
}, [active, open]);
|
|
11599
|
+
return {
|
|
11600
|
+
active,
|
|
11601
|
+
ref
|
|
11602
|
+
};
|
|
11603
|
+
}
|
|
11370
11604
|
function AppShellSidebarTrigger(props) {
|
|
11371
11605
|
const sidebar = useOptionalAppShellSidebar();
|
|
11372
11606
|
if (!sidebar?.collapsible) return null;
|
|
@@ -11376,11 +11610,12 @@ function AppShellSidebarTrigger(props) {
|
|
|
11376
11610
|
});
|
|
11377
11611
|
}
|
|
11378
11612
|
function AppShellSidebarTriggerButton({ sidebar, className, children, onClick, render, ...props }) {
|
|
11379
|
-
const label = sidebar.open ? "Collapse
|
|
11613
|
+
const label = sidebar.open ? "Collapse Sidebar" : "Expand Sidebar";
|
|
11380
11614
|
const defaultProps = {
|
|
11381
11615
|
className: cn("group/app-shell-sidebar-trigger max-md:hidden", className),
|
|
11382
11616
|
"aria-label": label,
|
|
11383
|
-
"aria-
|
|
11617
|
+
"aria-controls": sidebar.sidebarId,
|
|
11618
|
+
"aria-expanded": sidebar.open,
|
|
11384
11619
|
"data-state": sidebar.open ? "expanded" : "collapsed",
|
|
11385
11620
|
title: label,
|
|
11386
11621
|
children,
|
|
@@ -11402,12 +11637,12 @@ const resizable = tv({ slots: {
|
|
|
11402
11637
|
panel: ["min-h-0 min-w-0"],
|
|
11403
11638
|
handle: [
|
|
11404
11639
|
"right-0 z-10 cursor-ew-resize touch-none select-none",
|
|
11405
|
-
"relative -ml-1.5 -mr-1.5 flex w-3 shrink-0 items-center justify-center",
|
|
11640
|
+
"relative -ml-1.5 -mr-1.5 flex w-3 shrink-0 items-center justify-center pointer-coarse:-ml-3 pointer-coarse:-mr-3 pointer-coarse:w-6",
|
|
11406
11641
|
"before:pointer-events-none before:absolute before:transition-colors before:content-['']",
|
|
11407
11642
|
"focus-visible:outline-none focus-visible:before:outline-2 focus-visible:before:outline-offset-2 focus-visible:before:outline-foreground",
|
|
11408
11643
|
"data-[orientation=horizontal]:-mt-1.5 data-[orientation=horizontal]:-mb-1.5 data-[orientation=horizontal]:ml-0 data-[orientation=horizontal]:mr-0 data-[orientation=horizontal]:h-3 data-[orientation=horizontal]:w-full data-[orientation=horizontal]:cursor-ns-resize",
|
|
11409
11644
|
"bg-transparent",
|
|
11410
|
-
"before:top-0 before:left-[5px] before:h-full before:w-px before:translate-none before:rounded-none",
|
|
11645
|
+
"before:top-0 before:left-[5px] pointer-coarse:before:left-[11px] before:h-full before:w-px before:translate-none before:rounded-none",
|
|
11411
11646
|
"before:bg-transparent",
|
|
11412
11647
|
"hover:before:bg-foreground-muted",
|
|
11413
11648
|
"data-[separator=active]:before:bg-foreground-muted",
|
|
@@ -12323,7 +12558,7 @@ const taskCardStatus = tv({ base: [
|
|
|
12323
12558
|
"[&:not(:has([data-slot=task-card-status-label]))]:hidden",
|
|
12324
12559
|
"**:data-[slot=task-card-status-label]:inline-flex **:data-[slot=task-card-status-label]:items-center [&_[data-slot=task-card-status-label]]:gap-1.5",
|
|
12325
12560
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-3 [&_svg:not([data-slot=task-status-icon])]:-mx-0.5 [&_svg[data-slot=task-status-icon]]:size-[9px]",
|
|
12326
|
-
"[button&]:cursor-pointer [button&]:enabled:hover:
|
|
12561
|
+
"[button&]:cursor-pointer [button&]:enabled:hover:overlay-medium [button&]:enabled:active:overlay-medium",
|
|
12327
12562
|
"disabled:cursor-default disabled:opacity-100",
|
|
12328
12563
|
"focus-visible:shadow-focus"
|
|
12329
12564
|
] });
|
|
@@ -12338,7 +12573,7 @@ const taskCard = tv({ slots: {
|
|
|
12338
12573
|
"group-data-[dragging=true]/task-draggable:transform-none",
|
|
12339
12574
|
"motion-reduce:transform-none motion-reduce:transition-none",
|
|
12340
12575
|
"rounded-container border border-line-hairline bg-layer-card p-3 text-foreground shadow-none",
|
|
12341
|
-
"data-[interactive=true]:hover:
|
|
12576
|
+
"data-[interactive=true]:hover:overlay-subtle data-[interactive=true]:active:overlay-medium",
|
|
12342
12577
|
"data-[disabled=true]:bg-fill-muted data-[disabled=true]:opacity-100",
|
|
12343
12578
|
"group-data-[dragging=true]/task-draggable:shadow-float"
|
|
12344
12579
|
],
|
|
@@ -15460,8 +15695,7 @@ const taskChip = tv({
|
|
|
15460
15695
|
"rounded-chip border-0",
|
|
15461
15696
|
"font-sans font-semibold text-foreground",
|
|
15462
15697
|
"[&>svg:not([data-slot=task-status-icon])]:-mx-0.5 [&>svg[data-slot=task-status-icon]]:size-[9px]",
|
|
15463
|
-
"hover:
|
|
15464
|
-
"[a,button]:cursor-pointer [a,button]:hover:press-overlay [a,button]:active:press-overlay",
|
|
15698
|
+
"[a,button]:cursor-pointer [a,button]:hover:overlay-medium [a,button]:active:overlay-medium",
|
|
15465
15699
|
"focus-visible:outline-none focus-visible:shadow-focus"
|
|
15466
15700
|
] },
|
|
15467
15701
|
variants: {
|
|
@@ -15493,7 +15727,7 @@ const taskChip = tv({
|
|
|
15493
15727
|
],
|
|
15494
15728
|
class: { root: [
|
|
15495
15729
|
"items-baseline gap-1.5 rounded-full border py-0 pr-2 pl-1 align-baseline",
|
|
15496
|
-
"[font-size:inherit] leading-[1.2em] font-[450]
|
|
15730
|
+
"[font-size:inherit] leading-[1.2em] font-[450]",
|
|
15497
15731
|
"[&>svg]:size-[0.857em] [&>svg]:self-center"
|
|
15498
15732
|
] }
|
|
15499
15733
|
},
|
|
@@ -15945,8 +16179,8 @@ const inboxItem = tv({
|
|
|
15945
16179
|
"[[data-slot=inbox-item]+&]:before:block has-data-[slot=inbox-item-selection]:before:left-11",
|
|
15946
16180
|
"has-data-[slot=inbox-item-leading]:before:left-16",
|
|
15947
16181
|
"has-data-[slot=inbox-item-selection]:has-data-[slot=inbox-item-leading]:before:left-23",
|
|
15948
|
-
"hover:bg-fill-
|
|
15949
|
-
"not-data-[active=true]:data-popup-open:bg-fill-
|
|
16182
|
+
"hover:bg-fill-subtle not-data-[active=true]:active:bg-fill-medium",
|
|
16183
|
+
"not-data-[active=true]:data-popup-open:bg-fill-subtle not-data-[active=true]:has-data-popup-open:bg-fill-subtle",
|
|
15950
16184
|
"data-[active=true]:bg-info-soft data-[active=true]:hover:bg-info-soft",
|
|
15951
16185
|
"data-disabled:pointer-events-none data-disabled:hover:bg-transparent",
|
|
15952
16186
|
"has-[[data-slot=inbox-item-open]:focus-visible]:keyboard:inset-ring-2 has-[[data-slot=inbox-item-open]:focus-visible]:keyboard:inset-ring-foreground",
|
|
@@ -16027,7 +16261,7 @@ const inboxItem = tv({
|
|
|
16027
16261
|
"[&>[data-slot=panel-toggle-action][data-pressed]]:border-transparent",
|
|
16028
16262
|
"[&>[data-slot=panel-toggle-action][data-pressed]]:bg-transparent",
|
|
16029
16263
|
"[&>[data-slot=panel-toggle-action][data-pressed]]:text-foreground",
|
|
16030
|
-
"[&>[data-slot=panel-toggle-action][data-pressed]]:hover:bg-fill-pressed",
|
|
16264
|
+
"[&>[data-slot=panel-toggle-action][data-pressed]]:hover:bg-fill-medium [&>[data-slot=panel-toggle-action][data-pressed]]:active:bg-fill-medium",
|
|
16031
16265
|
"pointer-coarse:gap-3",
|
|
16032
16266
|
"pointer-coarse:*:data-[slot=panel-action]:after:absolute pointer-coarse:*:data-[slot=panel-action]:after:-inset-1.5",
|
|
16033
16267
|
"pointer-coarse:*:data-[slot=panel-toggle-action]:after:absolute pointer-coarse:*:data-[slot=panel-toggle-action]:after:-inset-1.5"
|
|
@@ -16431,8 +16665,8 @@ const searchEntity = tv({ slots: {
|
|
|
16431
16665
|
"relative rounded-none border-0 bg-transparent px-4 py-3 text-foreground shadow-none",
|
|
16432
16666
|
"max-md:min-h-16",
|
|
16433
16667
|
"not-first:before:absolute not-first:before:top-0 not-first:before:right-0 not-first:before:left-[55px] not-first:before:border-t not-first:before:border-line-hairline",
|
|
16434
|
-
"hover:bg-fill-
|
|
16435
|
-
"not-data-[selected=true]:data-popup-open:bg-fill-
|
|
16668
|
+
"hover:bg-fill-subtle active:bg-fill-medium",
|
|
16669
|
+
"not-data-[selected=true]:data-popup-open:bg-fill-subtle",
|
|
16436
16670
|
"disabled:cursor-default disabled:hover:bg-transparent disabled:active:bg-transparent",
|
|
16437
16671
|
"data-[selected=true]:bg-brand-soft data-[selected=true]:hover:bg-brand-soft",
|
|
16438
16672
|
"outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"
|
|
@@ -16571,8 +16805,8 @@ const searchMessage = tv({ slots: {
|
|
|
16571
16805
|
"w-full text-left transition-colors",
|
|
16572
16806
|
"relative block rounded-none border-0 bg-transparent px-4 py-3 text-foreground shadow-none",
|
|
16573
16807
|
"not-first:before:absolute not-first:before:top-0 not-first:before:right-0 not-first:before:left-4 not-first:before:border-t not-first:before:border-line-hairline",
|
|
16574
|
-
"hover:bg-fill-
|
|
16575
|
-
"not-data-[selected=true]:data-popup-open:bg-fill-
|
|
16808
|
+
"hover:bg-fill-subtle active:bg-fill-medium",
|
|
16809
|
+
"not-data-[selected=true]:data-popup-open:bg-fill-subtle",
|
|
16576
16810
|
"disabled:cursor-default disabled:hover:bg-transparent disabled:active:bg-transparent",
|
|
16577
16811
|
"data-[selected=true]:bg-brand-soft data-[selected=true]:hover:bg-brand-soft",
|
|
16578
16812
|
"outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"
|
|
@@ -16804,7 +17038,7 @@ const searchTrigger = tv({ slots: {
|
|
|
16804
17038
|
"rounded-control border-[1.5px] border-line-field bg-layer-card",
|
|
16805
17039
|
"text-left font-sans text-body font-normal text-foreground-hint",
|
|
16806
17040
|
"select-none outline-none transition-colors duration-100",
|
|
16807
|
-
"
|
|
17041
|
+
"active:overlay-medium focus-visible:shadow-focus",
|
|
16808
17042
|
"disabled:cursor-not-allowed disabled:border-line-hairline disabled:bg-fill-muted disabled:bg-none disabled:text-foreground-disabled",
|
|
16809
17043
|
"aria-disabled:cursor-not-allowed aria-disabled:border-line-hairline aria-disabled:bg-fill-muted aria-disabled:bg-none aria-disabled:text-foreground-disabled",
|
|
16810
17044
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&>svg:not([class*='size-'])]:size-[18px]"
|
|
@@ -17090,4 +17324,4 @@ function ThemeProvider({ mode, defaultMode = "light", onModeChange, storageKey,
|
|
|
17090
17324
|
});
|
|
17091
17325
|
}
|
|
17092
17326
|
//#endregion
|
|
17093
|
-
export { ActivityInboxControls, ActivityInboxLoadingMore, ActivityInboxPanel, ActivityInboxSelectionCount, ActivityInboxSelectionToolbar, ActivityInboxSidebar, ActivityInboxViewport, AlertDialog, AlertDialogAction, AlertDialogBody, AlertDialogCancel, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AppRailFooter, AppRailHeader, AppRailItem, AppRailItemAttention, AppRailItemBadge, AppRailItemIcon, AppRailItemIndicator, AppRailItemLabel, AppRailNav, AppRailRoot, AppShellMainSlot, AppShellOverlaySlot, AppShellPanelSlot, AppShellRailSlot, AppShellRoot, AppShellSidebarSlot, AppShellSidebarTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Banner, BannerAction, BannerDescription, BannerTitle, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardLeading, CardTitle, CardTrailing, ChatIcon, Checkbox, CheckboxIndicator, CodeBlock, CodeBlockAction, CodeBlockActions, CodeBlockBody, CodeBlockHeader, CodeBlockTitle, Combobox, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxControl, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxHeader, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxRow, ComboboxSeparator, ComboboxTrigger, ComboboxTriggerCount, ComboboxTriggerIndicator, ComboboxValue, Composer, ComposerActions, ComposerAttachment, ComposerAttachmentBody, ComposerAttachmentFailedOverlay, ComposerAttachmentFile, ComposerAttachmentImage, ComposerAttachmentMeta, ComposerAttachmentRemove, ComposerAttachmentTitle, ComposerAttachmentUploadProgressBar, ComposerAttachmentUploadingOverlay, ComposerAttachments, ComposerAttachmentsScrollArea, ComposerDropOverlay, ComposerDropOverlayLabel, ComposerDropOverlayPrompt, ComposerIconButton, ComposerInput, ComposerMeta, ComposerRoot, ComposerSubmit, ComposerSuggestionAside, ComposerSuggestionContent, ComposerSuggestionGroup, ComposerSuggestionGroupLabel, ComposerSuggestionIcon, ComposerSuggestionList, ComposerSuggestionMeta, ComposerSuggestionOption, ComposerSuggestionTitle, ComposerToolbar, ComposerToolbarLabel, ContextMenu, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuContent, ContextMenuFooter, ContextMenuItem, ContextMenuItemLabel, ContextMenuLabel, ContextMenuPopup, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSubmenu, ContextMenuSubmenuTrigger, ContextMenuTrigger, ConversationPanelBody, ConversationPanelContent, ConversationPanelEmptyState, ConversationPanelEmptyStateBrand, ConversationPanelEmptyStateBrandMark, ConversationPanelFooter, ConversationPanelRoot, ConversationPanelTabs, CopyableCode, CopyableCodeAction, CopyableCodeRoot, DescriptionDetails, DescriptionItem, DescriptionList, DescriptionTerm, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogNav, DialogOverlay, DialogPortal, DialogSurface, DialogTitle, DialogTrigger, DirectMessageIcon, Drawer, DrawerActions, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemIndicator, DropdownMenuContent, DropdownMenuFooter, DropdownMenuItem, DropdownMenuItemCount, DropdownMenuItemLabel, DropdownMenuLabel, DropdownMenuPopup, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRadioItemIndicator, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSubmenu, DropdownMenuSubmenuTrigger, DropdownMenuTrigger, EmptyState, EmptyStateActions, EmptyStateContent, EmptyStateDescription, EmptyStateIcon, EmptyStateTitle, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileAction, FileActions, FileContent, FileImage, FileMeta, FileMetaItem, FileName, FilePreview, FilePreviewBadge, FilePreviewCode, FilePreviewDocument, FilePreviewFile, FilePreviewMedia, FileRow, FileRowOpen, FileThumbnail, FilesList, FilesPanel, FilesViewport, FloatButton, FloatButtonGroup, FormSection, IconTile, InboxItem, InboxItemActions, InboxItemBody, InboxItemContent, InboxItemContext, InboxItemHeading, InboxItemHoverTarget, InboxItemLeading, InboxItemMarks, InboxItemMessage, InboxItemMetadata, InboxItemSelection, InboxItemSender, InboxItemSubtitle, InboxItemTimestamp, InboxItemTitle, InboxItemTrailing, InboxItemTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupInput, Kbd, KbdGroup, Label, LabelAsterisk, LabelOptional, LabelSub, LegacyTaskPanelActions, LegacyTaskPanelBody, LegacyTaskPanelField, LegacyTaskPanelFieldLabel, LegacyTaskPanelFieldText, LegacyTaskPanelFieldTitle, LegacyTaskPanelHeader, LegacyTaskPanelIcon, LegacyTaskPanelMeta, LegacyTaskPanelMetaLabel, LegacyTaskPanelMetaRow, LegacyTaskPanelMetaValue, LegacyTaskPanelRoot, LegacyTaskPanelSection, LegacyTaskPanelStatus, LegacyTaskPanelTitle, LegacyTaskPanelTitleMeta, Lightbox, LightboxActions, LightboxClose, LightboxContent, LightboxHeader, LightboxHeaderLabel, LightboxHeaderMeta, LightboxInfoActions, LightboxInfoBar, LightboxInfoDock, LightboxInfoTitle, LightboxMedia, LightboxNavigationButton, LightboxPortal, LightboxStage, LightboxThumbnail, LightboxThumbnailStrip, LightboxTitle, LightboxToolbar, LightboxTrigger, ListRow, ListRowBody, ListRowBottom, ListRowChevron, ListRowDescription, ListRowGroup, ListRowIcon, ListRowMeta, ListRowTitle, ListRowTop, ListRowValue, LiveAgentActivityBar, LiveAgentActivityBarAvatar, LiveAgentActivityBarContent, LiveAgentActivityBarRow, LiveAgentActivityBarStatus, LiveAgentActivityBarText, MarkdownBlockquote, MarkdownCell, MarkdownCheckbox, MarkdownHeaderCell, MarkdownHeading, MarkdownImage, MarkdownInlineCode, MarkdownLink, MarkdownList, MarkdownListItem, MarkdownMark, MarkdownOrderedList, MarkdownParagraph, MarkdownRule, MarkdownTable, MarkdownTableRow, MarkdownTableScroll, MessageActionCard, MessageActionCardActions, MessageActionCardActionsNote, MessageActionCardCollapseTrigger, MessageActionCardCompletion, MessageActionCardContent, MessageActionCardHeader, MessageActionCardHeaderDescription, MessageActionCardHeaderIcon, MessageActionCardHeaderStatus, MessageActionCardHeaderTitle, MessageActionCardHint, MessageActionCardHintLabel, MessageActionCardNotice, MessageActionCardProperties, MessageActionCardProperty, MessageActionCardPropertyLabel, MessageActionCardPropertyValue, MessageActionCardScope, MessageActionCardScopeDescription, MessageActionCardScopeList, MessageActionCardScopeListLabel, MessageActionCardScopeListViewport, MessageActionCardScopeName, MessageActionCardStatus, MessageAttachmentAction, MessageAttachmentCard, MessageAttachmentCommentSummary, MessageAttachmentDiffAddition, MessageAttachmentDiffDeletion, MessageAttachmentDiffSummary, MessageAttachmentGroup, MessageAttachmentMeta, MessageAttachmentMetaEnd, MessageAttachmentMetaStart, MessageAttachmentSummary, MessageAttachmentTitle, MessageEmbed, MessageEmbedContent, MessageEmbedFooter, MessageEmbedHeader, MessageForwardedBundle, MessageForwardedBundleAttachment, MessageForwardedBundleAttachmentMeta, MessageForwardedBundleAttachmentName, MessageForwardedBundleAttachments, MessageForwardedBundleFooter, MessageForwardedBundleFooterAction, MessageForwardedBundleGallery, MessageForwardedBundleGalleryTile, MessageForwardedBundleHeader, MessageForwardedBundleHeaderContent, MessageForwardedBundleHeaderCount, MessageForwardedBundleHeaderLabel, MessageForwardedBundleItem, MessageForwardedBundleItemAuthor, MessageForwardedBundleItemContent, MessageForwardedBundleItemMeta, MessageForwardedBundleItems, MessageForwardedBundleSource, MessageForwardedBundleSourceLabel, MessageIcon, MessageImageGallery, MessageImageGalleryAction, MessageImageGalleryItem, MessageImageGalleryMedia, MessageImageGalleryOverlay, MessageImageGalleryPreview, MessageImageGalleryRow, MessageItem, MessageItemAttachments, MessageItemAvatarSlot, MessageItemBadge, MessageItemBadgeSeparator, MessageItemBody, MessageItemContent, MessageItemContinuationTime, MessageItemEdited, MessageItemEmbedded, MessageItemFooter, MessageItemGutter, MessageItemHeader, MessageItemInlineStatus, MessageItemMeta, MessageItemReadReceipt, MessageItemSavedIndicator, MessageItemSearchMatch, MessageItemSender, MessageItemSenderBadges, MessageItemSenderButton, MessageItemSenderGroup, MessageItemTime, MessageItemToolbar, MessageItemToolbarButton, MessageItemTranslationAction, MessageItemTranslationFailedStatus, MessageItemTranslationOriginal, MessageItemTranslationOriginalLabel, MessageItemTranslationProgressTrack, MessageItemTranslationRetryAction, MessageItemTranslationStatus, MessageList, MessageListDateDivider, MessageListHistoryLimited, MessageListNotice, MessageMultiSelect, MessageMultiSelectCheckbox, MessageMultiSelectToolbar, MessageQuotedPreview, MessageQuotedPreviewAttachment, MessageQuotedPreviewAttachments, MessageQuotedPreviewAuthor, MessageQuotedPreviewAuthorMeta, MessageQuotedPreviewAuthorName, MessageQuotedPreviewChannel, MessageQuotedPreviewContent, MessageQuotedPreviewHeader, MessageQuotedPreviewLoading, MessageQuotedPreviewText, MessageQuotedPreviewThread, MessageQuotedPreviewTimestamp, MessageQuotedPreviewUnavailable, MessageReactionAddButton, MessageReactionChip, MessageReactionCount, MessageReactionErrorIndicator, MessageReactionGlyph, MessageReactionPickerContent, MessageReactionPickerStatic, MessageReactionQuickButton, MessageReactionQuickRow, MessageReactionTooltipContent, MessageReactionTooltipMeta, MessageReactionTooltipName, MessageReactionTooltipNameText, MessageReactionTooltipNames, MessageReactionTooltipSeparator, MessageReferenceChip, MessageReferenceIndicator, MessageReferenceLabel, MessageReferencePending, MessageReferenceText, MessageReferenceUnavailable, MessageReplies, MessageRepliesItem, MessageRepliesItemContent, MessageRepliesItemSender, MessageRepliesItemTime, MessageRepliesSummary, MessageRepliesSummaryItem, MessageTextSelectionToolbar, MessageTextSelectionToolbarButton, MessageTextSelectionToolbarSeparator, MessageVideoPreview, MessageVideoPreviewAction, MessageVideoPreviewFailureAction, MessageVideoPreviewFailureContent, MessageVideoPreviewFailureIcon, MessageVideoPreviewFailureTitle, MessageVideoPreviewFallback, MessageVideoPreviewMedia, MobileNavItem, MobileNavLabel, MobileNavRoot, NotificationCenter, NotificationCenterActionButton, NotificationCenterCount, NotificationCenterEmptyState, NotificationCenterHeader, NotificationCenterItem, NotificationCenterItemActions, NotificationCenterItemBody, NotificationCenterItemContent, NotificationCenterItemIcon, NotificationCenterItemRow, NotificationCenterItemTitle, NotificationCenterList, NotificationCenterPopup, NotificationCenterScroller, NotificationCenterTitle, NotificationCenterTrigger, OtterIndicator, Panel, PanelAction, PanelActions, PanelActivity, PanelBody, PanelFooter, PanelHeader, PanelHeaderContent, PanelHeaderIcon, PanelHeaderRoot, PanelHeading, PanelMeta, PanelNotice, PanelNoticeActions, PanelNoticeContent, PanelScrollContent, PanelScrollViewport, PanelSection, PanelSectionHeader, PanelStatus, PanelTitle, PanelToggleAction, PickerTriggerButton, Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverPopup, PopoverPortal, PopoverSeparator, PopoverTitle, PopoverTrigger, PopoverViewport, PreviewCard, PreviewCardArrow, PreviewCardContent, PreviewCardDescription, PreviewCardHeader, PreviewCardPopup, PreviewCardPortal, PreviewCardSeparator, PreviewCardTitle, PreviewCardTrigger, ProfilePanel, ProfilePanelBody, ProfilePanelHeader, ProfilePanelHeaderContent, ProfilePanelSection, Progress, ProgressHeader, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupIndicator, RadioGroupItem, RaftLogo, RaftLogoLockup, RaftWordmark, ResizableGroup, ResizableHandle, ResizablePanel, SINGLE_IMAGE_MAX_HEIGHT, SINGLE_IMAGE_MAX_WIDTH, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport, SearchEntityResult, SearchEntityResultActivity, SearchEntityResultContent, SearchEntityResultDescription, SearchEntityResultHeader, SearchEntityResultIcon, SearchEntityResultLeading, SearchEntityResultTitle, SearchMessageResult, SearchMessageResultBody, SearchMessageResultHeader, SearchMessageResultMatch, SearchMessageResultMeta, SearchMessageResultSender, SearchMessageResultThreadMeta, SearchMessageResultTimestamp, SearchResultsList, SearchResultsSection, SearchResultsSectionHeading, SearchResultsSummary, SearchShellFilters, SearchShellRoot, SearchShellViewport, SearchThreadMessageResult, SearchThreadResult, SearchThreadResultHeader, SearchThreadResultMessages, SearchThreadResultMeta, SearchThreadResultTimestamp, SearchThreadResultTitle, SearchTrigger, SearchTriggerLabel, SearchTriggerShortcut, SegmentedControl, SegmentedControlCount, SegmentedControlItem, SegmentedControlLabel, Select, SelectArrow, SelectContent, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectItemDescription, SelectItemIndicator, SelectItemLeading, SelectItemText, SelectLabel, SelectList, SelectPopup, SelectPortal, SelectScrollDownArrow, SelectScrollUpArrow, SelectSeparator, SelectTrigger, SelectValue, Separator, SidebarBody, SidebarContent, SidebarControl, SidebarGroupLabel, SidebarHeader, SidebarHeaderTitle, SidebarItem, SidebarItemAside, SidebarItemChannelIcon, SidebarItemContent, SidebarItemCount, SidebarItemCountSeparator, SidebarItemIcon, SidebarItemIndicator, SidebarItemMeta, SidebarItemMetaIcon, SidebarItemStatus, SidebarItemSubtitle, SidebarItemThreadCount, SidebarItemTitle, SidebarList, SidebarLiveActivity, SidebarMenu, SidebarMenuAside, SidebarMenuCount, SidebarMenuIcon, SidebarMenuTitle, SidebarRoot, SidebarSection, SidebarSectionAttention, SidebarSectionChevron, SidebarSectionControl, SidebarSectionControls, SidebarSectionCount, SidebarSectionDisclosure, SidebarSectionEmpty, SidebarSectionHeader, SidebarSectionTitle, SidebarSectionTrailing, Skeleton, SortableComposerAttachment, SortableComposerAttachments, SortableComposerAttachmentsScroll, SortableTabsList, SortableTabsTab, Spinner, Status, Step, Steps, Switch, SwitchThumb, SystemMessage, SystemMessageContent, SystemMessageGroup, SystemMessageGroupChevron, SystemMessageGroupDisclosure, SystemMessageGroupHeader, SystemMessageGroupPanel, SystemMessageGroupSummary, SystemMessageTime, TASK_STATUS_IDS, Table, TableBody, TableCaption, TableCell, TableColgroup, TableColumn, TableHead, TableHeader, TableRow, Tabs, TabsLabel, TabsList, TabsPanel, TabsTab, TaskBoardColumn, TaskBoardColumnBadge, TaskBoardColumnChevron, TaskBoardColumnCount, TaskBoardColumnEmpty, TaskBoardColumnEmptyAllowed, TaskBoardColumnEmptyBlocked, TaskBoardColumnEmptyIdle, TaskBoardColumnHeading, TaskBoardColumnItems, TaskBoardColumnPanel, TaskBoardColumnTrigger, TaskBoardRoot, TaskCard, TaskCardBody, TaskCardChannel, TaskCardDescription, TaskCardLegacy, TaskCardMeta, TaskCardNumber, TaskCardRow, TaskCardStatus, TaskCardTitle, TaskChip, TaskClosedIcon, TaskDndProvider, TaskDoneIcon, TaskDragOverlay, TaskDraggable, TaskDropPlaceholder, TaskDropZone, TaskInProgressIcon, TaskInReviewIcon, TaskListRoot, TaskLoadingList, TaskLoadingRow, TaskSection, TaskSectionBadge, TaskSectionChevron, TaskSectionCount, TaskSectionEmpty, TaskSectionHeading, TaskSectionItems, TaskSectionPanel, TaskSectionTrigger, TaskStatusBadge, TaskStatusIcon, TaskTodoIcon, TasksPanelEmpty, TasksPanelRoot, TasksPanelToolbar, TasksPanelToolbarFilters, TasksPanelToolbarGroup, TasksPanelToolbarLabel, TasksPanelToolbarNewTask, TasksPanelToolbarView, TasksPanelViewport, Text, TextHeading, TextLink, TextMono, TextSans, Textarea, TextareaCounter, TextareaGroup, ThemeProvider, ThreadIcon, ThreadPanelActions, ThreadPanelBody, ThreadPanelContent, ThreadPanelFooter, ThreadPanelHeader, ThreadPanelOriginalMessage, ThreadPanelReplyCount, ThreadPanelReplySummary, ThreadPanelRoot, ThreadPanelSearch, ThreadPanelSearchCount, ThreadPanelSearchTrailing, ThreadPanelTitle, ThreadPanelTitleMeta, Timeline, TimelineContent, TimelineItem, TimelineTime, TimelineTitle, ToastAction, ToastActions, ToastArrow, ToastBody, ToastClose, ToastContent, ToastDescription, ToastIcon, ToastPortal, ToastPositioner, ToastProgress, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToggleGroup, ToggleGroupItem, ToggleGroupLabel, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, VirtualList, WorkspaceButton, WorkspaceButtonName, buildMessageImageGalleryRows, buttonVariants, classifyMessageImageAspect, cn, createMessageTextSelectionAnchor, createToastManager, getTextSelectionFocusRect, installInputModality, taskStatusSoft, taskStatusStrong, textLinkVariants, toast, useComposerSuggestions, useOrderedTabs, useTheme, useToastManager };
|
|
17327
|
+
export { ActivityInboxControls, ActivityInboxLoadingMore, ActivityInboxPanel, ActivityInboxSelectionCount, ActivityInboxSelectionToolbar, ActivityInboxSidebar, ActivityInboxViewport, AlertDialog, AlertDialogAction, AlertDialogBody, AlertDialogCancel, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AppRailFooter, AppRailHeader, AppRailItem, AppRailItemAttention, AppRailItemBadge, AppRailItemIcon, AppRailItemIndicator, AppRailItemLabel, AppRailNav, AppRailRoot, AppShellMainSlot, AppShellOverlaySlot, AppShellPanelSlot, AppShellRailSlot, AppShellRoot, AppShellSidebarSlot, AppShellSidebarTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Banner, BannerAction, BannerClose, BannerDescription, BannerTitle, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardLeading, CardTitle, CardTrailing, ChatIcon, Checkbox, CheckboxIndicator, CodeBlock, CodeBlockAction, CodeBlockActions, CodeBlockBody, CodeBlockHeader, CodeBlockPre, CodeBlockTitle, Combobox, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxControl, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxHeader, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxRow, ComboboxSeparator, ComboboxTrigger, ComboboxTriggerCount, ComboboxTriggerIndicator, ComboboxValue, Composer, ComposerActions, ComposerAttachment, ComposerAttachmentBody, ComposerAttachmentFailedOverlay, ComposerAttachmentFile, ComposerAttachmentImage, ComposerAttachmentMeta, ComposerAttachmentRemove, ComposerAttachmentTitle, ComposerAttachmentUploadProgressBar, ComposerAttachmentUploadingOverlay, ComposerAttachments, ComposerAttachmentsScrollArea, ComposerDropOverlay, ComposerDropOverlayLabel, ComposerDropOverlayPrompt, ComposerIconButton, ComposerInput, ComposerMeta, ComposerRoot, ComposerSubmit, ComposerSuggestionAside, ComposerSuggestionContent, ComposerSuggestionGroup, ComposerSuggestionGroupLabel, ComposerSuggestionIcon, ComposerSuggestionList, ComposerSuggestionMeta, ComposerSuggestionOption, ComposerSuggestionTitle, ComposerToolbar, ComposerToolbarLabel, ContextMenu, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuContent, ContextMenuFooter, ContextMenuItem, ContextMenuItemLabel, ContextMenuLabel, ContextMenuPopup, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSubmenu, ContextMenuSubmenuTrigger, ContextMenuTrigger, ConversationPanelBody, ConversationPanelContent, ConversationPanelEmptyState, ConversationPanelEmptyStateBrand, ConversationPanelEmptyStateBrandMark, ConversationPanelFooter, ConversationPanelRoot, ConversationPanelTabs, CopyableCode, CopyableCodeAction, CopyableCodeRoot, DescriptionDetails, DescriptionItem, DescriptionList, DescriptionTerm, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogNav, DialogOverlay, DialogPortal, DialogSurface, DialogTitle, DialogTrigger, DirectMessageIcon, Drawer, DrawerActions, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemIndicator, DropdownMenuContent, DropdownMenuFooter, DropdownMenuItem, DropdownMenuItemCount, DropdownMenuItemLabel, DropdownMenuLabel, DropdownMenuPopup, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRadioItemIndicator, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSubmenu, DropdownMenuSubmenuTrigger, DropdownMenuTrigger, EmptyState, EmptyStateActions, EmptyStateContent, EmptyStateDescription, EmptyStateIcon, EmptyStateTitle, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileAction, FileActions, FileContent, FileImage, FileMeta, FileMetaItem, FileName, FilePreview, FilePreviewBadge, FilePreviewCode, FilePreviewDocument, FilePreviewFile, FilePreviewMedia, FileRow, FileRowOpen, FileThumbnail, FilesList, FilesPanel, FilesViewport, FloatButton, FloatButtonGroup, FormSection, IconTile, InboxItem, InboxItemActions, InboxItemBody, InboxItemContent, InboxItemContext, InboxItemHeading, InboxItemHoverTarget, InboxItemLeading, InboxItemMarks, InboxItemMessage, InboxItemMetadata, InboxItemSelection, InboxItemSender, InboxItemSubtitle, InboxItemTimestamp, InboxItemTitle, InboxItemTrailing, InboxItemTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupInput, Kbd, KbdGroup, Label, LabelAsterisk, LabelOptional, LabelSub, LegacyTaskPanelActions, LegacyTaskPanelBody, LegacyTaskPanelField, LegacyTaskPanelFieldLabel, LegacyTaskPanelFieldText, LegacyTaskPanelFieldTitle, LegacyTaskPanelHeader, LegacyTaskPanelIcon, LegacyTaskPanelMeta, LegacyTaskPanelMetaLabel, LegacyTaskPanelMetaRow, LegacyTaskPanelMetaValue, LegacyTaskPanelRoot, LegacyTaskPanelSection, LegacyTaskPanelStatus, LegacyTaskPanelTitle, LegacyTaskPanelTitleMeta, Lightbox, LightboxActions, LightboxClose, LightboxContent, LightboxHeader, LightboxHeaderLabel, LightboxHeaderMeta, LightboxInfoActions, LightboxInfoBar, LightboxInfoDock, LightboxInfoTitle, LightboxMedia, LightboxNavigationButton, LightboxPortal, LightboxStage, LightboxThumbnail, LightboxThumbnailStrip, LightboxTitle, LightboxToolbar, LightboxTrigger, ListRow, ListRowBody, ListRowBottom, ListRowChevron, ListRowDescription, ListRowGroup, ListRowIcon, ListRowMeta, ListRowTitle, ListRowTop, ListRowValue, LiveAgentActivityBar, LiveAgentActivityBarAvatar, LiveAgentActivityBarContent, LiveAgentActivityBarRow, LiveAgentActivityBarStatus, LiveAgentActivityBarText, MarkdownBlockquote, MarkdownCell, MarkdownCheckbox, MarkdownHeaderCell, MarkdownHeading, MarkdownImage, MarkdownInlineCode, MarkdownLink, MarkdownList, MarkdownListItem, MarkdownMark, MarkdownOrderedList, MarkdownParagraph, MarkdownRule, MarkdownTable, MarkdownTableRow, MarkdownTableScroll, MessageActionCard, MessageActionCardActions, MessageActionCardActionsNote, MessageActionCardCollapseTrigger, MessageActionCardCompletion, MessageActionCardContent, MessageActionCardHeader, MessageActionCardHeaderDescription, MessageActionCardHeaderIcon, MessageActionCardHeaderStatus, MessageActionCardHeaderTitle, MessageActionCardHint, MessageActionCardHintLabel, MessageActionCardNotice, MessageActionCardProperties, MessageActionCardProperty, MessageActionCardPropertyLabel, MessageActionCardPropertyValue, MessageActionCardScope, MessageActionCardScopeDescription, MessageActionCardScopeList, MessageActionCardScopeListLabel, MessageActionCardScopeListViewport, MessageActionCardScopeName, MessageActionCardStatus, MessageAttachmentAction, MessageAttachmentCard, MessageAttachmentCommentSummary, MessageAttachmentDiffAddition, MessageAttachmentDiffDeletion, MessageAttachmentDiffSummary, MessageAttachmentGroup, MessageAttachmentMeta, MessageAttachmentMetaEnd, MessageAttachmentMetaStart, MessageAttachmentSummary, MessageAttachmentTitle, MessageEmbed, MessageEmbedContent, MessageEmbedFooter, MessageEmbedHeader, MessageForwardedBundle, MessageForwardedBundleAttachment, MessageForwardedBundleAttachmentMeta, MessageForwardedBundleAttachmentName, MessageForwardedBundleAttachments, MessageForwardedBundleFooter, MessageForwardedBundleFooterAction, MessageForwardedBundleGallery, MessageForwardedBundleGalleryTile, MessageForwardedBundleHeader, MessageForwardedBundleHeaderContent, MessageForwardedBundleHeaderCount, MessageForwardedBundleHeaderLabel, MessageForwardedBundleItem, MessageForwardedBundleItemAuthor, MessageForwardedBundleItemContent, MessageForwardedBundleItemMeta, MessageForwardedBundleItems, MessageForwardedBundleSource, MessageForwardedBundleSourceLabel, MessageIcon, MessageImageGallery, MessageImageGalleryAction, MessageImageGalleryItem, MessageImageGalleryMedia, MessageImageGalleryOverlay, MessageImageGalleryPreview, MessageImageGalleryRow, MessageItem, MessageItemAttachments, MessageItemAvatarSlot, MessageItemBadge, MessageItemBadgeSeparator, MessageItemBody, MessageItemContent, MessageItemContinuationTime, MessageItemEdited, MessageItemEmbedded, MessageItemFooter, MessageItemGutter, MessageItemHeader, MessageItemInlineStatus, MessageItemMeta, MessageItemReadReceipt, MessageItemSavedIndicator, MessageItemSearchMatch, MessageItemSender, MessageItemSenderBadges, MessageItemSenderButton, MessageItemSenderGroup, MessageItemTime, MessageItemToolbar, MessageItemToolbarButton, MessageItemTranslationAction, MessageItemTranslationFailedStatus, MessageItemTranslationOriginal, MessageItemTranslationOriginalLabel, MessageItemTranslationProgressTrack, MessageItemTranslationRetryAction, MessageItemTranslationStatus, MessageList, MessageListDateDivider, MessageListHistoryLimited, MessageListNotice, MessageMultiSelect, MessageMultiSelectCheckbox, MessageMultiSelectToolbar, MessageMultiSelectToolbarActions, MessageQuotedPreview, MessageQuotedPreviewAttachment, MessageQuotedPreviewAttachments, MessageQuotedPreviewAuthor, MessageQuotedPreviewAuthorMeta, MessageQuotedPreviewAuthorName, MessageQuotedPreviewChannel, MessageQuotedPreviewContent, MessageQuotedPreviewHeader, MessageQuotedPreviewLoading, MessageQuotedPreviewText, MessageQuotedPreviewThread, MessageQuotedPreviewTimestamp, MessageQuotedPreviewUnavailable, MessageReactionAddButton, MessageReactionChip, MessageReactionCount, MessageReactionErrorIndicator, MessageReactionGlyph, MessageReactionPickerContent, MessageReactionPickerStatic, MessageReactionQuickButton, MessageReactionQuickRow, MessageReactionTooltipContent, MessageReactionTooltipMeta, MessageReactionTooltipName, MessageReactionTooltipNameText, MessageReactionTooltipNames, MessageReactionTooltipSeparator, MessageReferenceChip, MessageReferenceIndicator, MessageReferenceLabel, MessageReferencePending, MessageReferenceText, MessageReferenceUnavailable, MessageReplies, MessageRepliesItem, MessageRepliesItemContent, MessageRepliesItemSender, MessageRepliesItemTime, MessageRepliesSummary, MessageRepliesSummaryItem, MessageTextSelectionToolbar, MessageTextSelectionToolbarButton, MessageTextSelectionToolbarSeparator, MessageVideoPreview, MessageVideoPreviewAction, MessageVideoPreviewFailureAction, MessageVideoPreviewFailureContent, MessageVideoPreviewFailureIcon, MessageVideoPreviewFailureTitle, MessageVideoPreviewFallback, MessageVideoPreviewMedia, MobileNavItem, MobileNavLabel, MobileNavRoot, NotificationCenter, NotificationCenterActionButton, NotificationCenterCount, NotificationCenterEmptyState, NotificationCenterHeader, NotificationCenterItem, NotificationCenterItemActions, NotificationCenterItemBody, NotificationCenterItemContent, NotificationCenterItemIcon, NotificationCenterItemRow, NotificationCenterItemTitle, NotificationCenterList, NotificationCenterPopup, NotificationCenterScroller, NotificationCenterTitle, NotificationCenterTrigger, OtterIndicator, Panel, PanelAction, PanelActions, PanelActivity, PanelBody, PanelFooter, PanelHeader, PanelHeaderContent, PanelHeaderIcon, PanelHeaderRoot, PanelHeading, PanelMeta, PanelNotice, PanelNoticeActions, PanelNoticeContent, PanelScrollContent, PanelScrollViewport, PanelSection, PanelSectionHeader, PanelStatus, PanelTitle, PanelToggleAction, PickerTriggerButton, Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverPopup, PopoverPortal, PopoverSeparator, PopoverTitle, PopoverTrigger, PopoverViewport, PreviewCard, PreviewCardArrow, PreviewCardContent, PreviewCardDescription, PreviewCardHeader, PreviewCardPopup, PreviewCardPortal, PreviewCardSeparator, PreviewCardTitle, PreviewCardTrigger, ProfilePanel, ProfilePanelBody, ProfilePanelHeader, ProfilePanelHeaderContent, ProfilePanelSection, Progress, ProgressHeader, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupIndicator, RadioGroupItem, RaftLogo, RaftLogoLockup, RaftWordmark, ResizableGroup, ResizableHandle, ResizablePanel, SINGLE_IMAGE_MAX_HEIGHT, SINGLE_IMAGE_MAX_WIDTH, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport, SearchEntityResult, SearchEntityResultActivity, SearchEntityResultContent, SearchEntityResultDescription, SearchEntityResultHeader, SearchEntityResultIcon, SearchEntityResultLeading, SearchEntityResultTitle, SearchMessageResult, SearchMessageResultBody, SearchMessageResultHeader, SearchMessageResultMatch, SearchMessageResultMeta, SearchMessageResultSender, SearchMessageResultThreadMeta, SearchMessageResultTimestamp, SearchResultsList, SearchResultsSection, SearchResultsSectionHeading, SearchResultsSummary, SearchShellFilters, SearchShellRoot, SearchShellViewport, SearchThreadMessageResult, SearchThreadResult, SearchThreadResultHeader, SearchThreadResultMessages, SearchThreadResultMeta, SearchThreadResultTimestamp, SearchThreadResultTitle, SearchTrigger, SearchTriggerLabel, SearchTriggerShortcut, SegmentedControl, SegmentedControlCount, SegmentedControlItem, SegmentedControlLabel, Select, SelectArrow, SelectContent, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectItemDescription, SelectItemIndicator, SelectItemLeading, SelectItemText, SelectLabel, SelectList, SelectPopup, SelectPortal, SelectScrollDownArrow, SelectScrollUpArrow, SelectSeparator, SelectTrigger, SelectValue, Separator, SidebarBody, SidebarContent, SidebarControl, SidebarGroupLabel, SidebarHeader, SidebarHeaderTitle, SidebarItem, SidebarItemAside, SidebarItemChannelIcon, SidebarItemContent, SidebarItemCount, SidebarItemCountSeparator, SidebarItemIcon, SidebarItemIndicator, SidebarItemMeta, SidebarItemMetaIcon, SidebarItemStatus, SidebarItemSubtitle, SidebarItemThreadCount, SidebarItemTitle, SidebarList, SidebarLiveActivity, SidebarMenu, SidebarMenuAside, SidebarMenuCount, SidebarMenuIcon, SidebarMenuTitle, SidebarRoot, SidebarSection, SidebarSectionAttention, SidebarSectionChevron, SidebarSectionControl, SidebarSectionControls, SidebarSectionCount, SidebarSectionDisclosure, SidebarSectionEmpty, SidebarSectionHeader, SidebarSectionTitle, SidebarSectionTrailing, Skeleton, SortableComposerAttachment, SortableComposerAttachments, SortableComposerAttachmentsScroll, SortableTabsList, SortableTabsTab, Spinner, Status, Step, Steps, Switch, SwitchThumb, SystemMessage, SystemMessageContent, SystemMessageGroup, SystemMessageGroupChevron, SystemMessageGroupDisclosure, SystemMessageGroupHeader, SystemMessageGroupPanel, SystemMessageGroupSummary, SystemMessageTime, TASK_STATUS_IDS, Table, TableBody, TableCaption, TableCell, TableColgroup, TableColumn, TableHead, TableHeader, TableRow, Tabs, TabsLabel, TabsList, TabsPanel, TabsTab, TaskBoardColumn, TaskBoardColumnBadge, TaskBoardColumnChevron, TaskBoardColumnCount, TaskBoardColumnEmpty, TaskBoardColumnEmptyAllowed, TaskBoardColumnEmptyBlocked, TaskBoardColumnEmptyIdle, TaskBoardColumnHeading, TaskBoardColumnItems, TaskBoardColumnPanel, TaskBoardColumnTrigger, TaskBoardRoot, TaskCard, TaskCardBody, TaskCardChannel, TaskCardDescription, TaskCardLegacy, TaskCardMeta, TaskCardNumber, TaskCardRow, TaskCardStatus, TaskCardTitle, TaskChip, TaskClosedIcon, TaskDndProvider, TaskDoneIcon, TaskDragOverlay, TaskDraggable, TaskDropPlaceholder, TaskDropZone, TaskInProgressIcon, TaskInReviewIcon, TaskListRoot, TaskLoadingList, TaskLoadingRow, TaskSection, TaskSectionBadge, TaskSectionChevron, TaskSectionCount, TaskSectionEmpty, TaskSectionHeading, TaskSectionItems, TaskSectionPanel, TaskSectionTrigger, TaskStatusBadge, TaskStatusIcon, TaskTodoIcon, TasksPanelEmpty, TasksPanelRoot, TasksPanelToolbar, TasksPanelToolbarFilters, TasksPanelToolbarGroup, TasksPanelToolbarLabel, TasksPanelToolbarNewTask, TasksPanelToolbarView, TasksPanelViewport, Text, TextHeading, TextLink, TextMono, TextSans, Textarea, TextareaCounter, TextareaGroup, ThemeProvider, ThreadIcon, ThreadPanelActions, ThreadPanelBody, ThreadPanelContent, ThreadPanelFooter, ThreadPanelHeader, ThreadPanelOriginalMessage, ThreadPanelReplyCount, ThreadPanelReplySummary, ThreadPanelRoot, ThreadPanelSearch, ThreadPanelSearchCount, ThreadPanelSearchTrailing, ThreadPanelTitle, ThreadPanelTitleMeta, Timeline, TimelineContent, TimelineItem, TimelineTime, TimelineTitle, ToastAction, ToastActions, ToastArrow, ToastBody, ToastClose, ToastContent, ToastDescription, ToastIcon, ToastPortal, ToastPositioner, ToastProgress, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToggleGroup, ToggleGroupItem, ToggleGroupLabel, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, VirtualList, WorkspaceButton, WorkspaceButtonName, buildMessageImageGalleryRows, buttonVariants, classifyMessageImageAspect, cn, createMessageTextSelectionAnchor, createToastManager, getTextSelectionFocusRect, installInputModality, taskStatusSoft, taskStatusStrong, textLinkVariants, toast, useComposerSuggestions, useOrderedTabs, useTheme, useToastManager };
|