@botiverse/raft-ui 0.21.1 → 0.22.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 +60 -0
- package/dist/{inbox-item.recipe-DelZxRmY.mjs → inbox-item.recipe-3j4DHKZ2.mjs} +1572 -389
- package/dist/{index-jTmbN7ov.d.mts → index-DT1Hg5N-.d.mts} +246 -54
- package/dist/index.d.mts +35 -77
- package/dist/index.mjs +171 -466
- package/dist/styles.css +7 -6
- package/dist/wip.d.mts +153 -3
- package/dist/wip.mjs +126 -2
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { cn } from "./cn.mjs";
|
|
2
|
-
import { $ as MessageReactionPickerStatic, $n as
|
|
2
|
+
import { $ as MessageReactionPickerStatic, $n as DropdownMenuRadioGroup, $r as DialogSheetReset, $t as PreviewCardContent, A as messageEmbed, An as PopoverPopup, Ar as Badge, At as MessageItemEmbedded, B as MessageReferenceIndicator, Bn as MobileNavRoot, Bt as AvatarFallback, C as MessageQuotedPreviewThread, Cn as PopoverArrow, Cr as CheckboxIndicator, Ct as MessageItemSenderButton, D as MessageEmbedContent, Dn as PopoverContent, Dr as TooltipPortal, Dt as MessageItemBody, E as MessageEmbed, En as PopoverClose, Er as TooltipContent, Et as MessageItemAttachments, F as MessageMultiSelectCheckbox, Fn as PopoverViewport, Fr as DialogBody, Ft as MessageItemGutter, G as MessageReferenceUnavailable, Gn as DropdownMenuFooter, H as MessageReferencePending, Hn as DropdownMenuCheckboxItem, Hr as DialogNav, Ht as AvatarGroupCount, I as MessageMultiSelectToolbar, In as useHoldThenMoveTouchSensor, Ir as DialogClose, It as MessageItem, J as MessageReactionChip, Jn as DropdownMenuItemLabel, Jr as DialogTrigger, K as inlineChip, Kn as DropdownMenuItem, Kr as DialogSurface, L as MessageMultiSelectToolbarActions, Ln as useMouseOnlyPointerSensor, Lr as DialogContent, Lt as searchHit, M as MessageTextSelectionToolbarButton, Mn as PopoverSeparator, Mt as MessageItemSearchMatch, N as MessageTextSelectionToolbarSeparator, Nn as PopoverTitle, Nr as useMobileViewport, Nt as MessageItemAvatarSlot, O as MessageEmbedFooter, On as PopoverDescription, Or as TooltipProvider, Ot as MessageItemContent, P as MessageMultiSelect, Pn as PopoverTrigger, Pr as Dialog, Pt as MessageItemContinuationTime, Q as MessageReactionPickerContent, Qn as DropdownMenuPortal, Qr as textLinkVariants, R as MessageReferenceChip, Rn as MobileNavItem, Rr as DialogDescription, Rt as Avatar, S as MessageQuotedPreviewText, Sr as Checkbox, St as MessageItemSenderBadges, T as MessageQuotedPreviewUnavailable, Tr as Tooltip, Tt as MessageItemTime, U as MessageReferenceSuffix, Un as DropdownMenuCheckboxItemIndicator, Ur as DialogOverlay, Ut as AvatarImage, V as MessageReferenceLabel, Vn as DropdownMenu, Vr as DialogHeader, Vt as AvatarGroup, W as MessageReferenceText, Wn as DropdownMenuContent, Wr as DialogPortal, Wt as useOverflowTitle, X as MessageReactionErrorIndicator, Xr as panelToggleAction, Y as MessageReactionCount, Yn as DropdownMenuLabel, Yr as PanelAction, Yt as PreviewCard, Z as MessageReactionGlyph, Zn as DropdownMenuPopup, Zr as TextLink, Zt as PreviewCardArrow, _ as MessageQuotedPreviewAuthorName, _r as ScrollAreaContent, ai as useParentOverlayKind, an as PreviewCardPopup, ar as DropdownMenuSubmenuTrigger, at as MessageReactionTooltipNameText, b as MessageQuotedPreviewHeader, br as ScrollAreaThumb, bt as MessageItemMeta, c as MessageListHistoryLimited, ci as useTheme, cn as PreviewCardTitle, cr as KbdGroup, ct as MessageItemBadge, d as MessageQuotedPreview, di as stackedActions, dr as PanelFooter, dt as MessageItemSavedIndicator, ei as Button, en as PreviewCardDescription, er as DropdownMenuRadioItem, et as MessageReactionQuickButton, f as MessageQuotedPreviewAttachment, fi as useStackedActions, fr as PanelHeaderRoot, ft as MessageItemToolbar, g as MessageQuotedPreviewAuthorMeta, gi as decisionWidth, gr as ScrollArea, hi as headEdges, hr as PanelSection, ir as DropdownMenuSubmenu, it as MessageReactionTooltipName, j as MessageTextSelectionToolbar, jn as PopoverPortal, jt as MessageItemFooter, k as MessageEmbedHeader, kn as PopoverHeader, kr as TooltipTrigger, kt as MessageItemEdited, l as MessageListNotice, li as ThemeStateContext, ln as PreviewCardTrigger, lr as Panel, lt as MessageItemBadgeSeparator, m as MessageQuotedPreviewAuthor, mi as headEdgePull, mr as PanelScrollViewport, ni as Spinner, nr as DropdownMenuSeparator, nt as MessageReactionTooltipContent, o as MessageListDateDivider, oi as withOverlayLayer, on as PreviewCardPortal, or as DropdownMenuTrigger, ot as MessageReactionTooltipNames, p as MessageQuotedPreviewAttachments, pi as controlIconInset, pr as PanelScrollContent, pt as MessageItemToolbarButton, q as MessageReactionAddButton, qn as DropdownMenuItemCount, qr as DialogTitle, ri as defaultNativeButton, rn as PreviewCardHeader, rr as DropdownMenuShortcut, rt as MessageReactionTooltipMeta, s as MessageListEndFade, si as useThemeScopeProps, sn as PreviewCardSeparator, sr as Kbd, st as MessageReactionTooltipSeparator, t as inboxItem, ti as buttonVariants, tr as DropdownMenuRadioItemIndicator, tt as MessageReactionQuickRow, u as MessageList, ui as tv, ur as PanelBody, ut as MessageItemReadReceipt, v as MessageQuotedPreviewChannel, vr as ScrollAreaCorner, vt as MessageItemHeader, w as MessageQuotedPreviewTimestamp, wn as PopoverBackdrop, wr as PRESENCE_COLOR, wt as MessageItemSenderGroup, x as MessageQuotedPreviewLoading, xn as Popover, xr as ScrollAreaViewport, xt as MessageItemSender, y as MessageQuotedPreviewContent, yr as ScrollAreaScrollbar, yt as MessageItemInlineStatus, zn as MobileNavLabel, zr as DialogFooter, zt as AvatarBadge } from "./inbox-item.recipe-3j4DHKZ2.mjs";
|
|
3
3
|
import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
|
|
4
|
-
import { AlertTriangle, Bell, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Copy, FileText, Image, Info, Upload, X, Zap } from "lucide-react";
|
|
4
|
+
import { AlertTriangle, Bell, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, CircleCheck, Copy, FileText, Image, Info, TriangleAlert, 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";
|
|
6
6
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { Button as Button$1 } from "@base-ui/react/button";
|
|
8
8
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
9
9
|
import { useRender } from "@base-ui/react/use-render";
|
|
10
|
+
import { flushSync } from "react-dom";
|
|
10
11
|
import { Drawer as Drawer$1 } from "@base-ui/react/drawer";
|
|
11
12
|
import { Collapsible } from "@base-ui/react/collapsible";
|
|
12
13
|
import { ContextMenu as ContextMenu$1 } from "@base-ui/react";
|
|
13
14
|
import { useHotkey } from "@tanstack/react-hotkeys";
|
|
14
15
|
import { Popover as Popover$1 } from "@base-ui/react/popover";
|
|
15
|
-
import {
|
|
16
|
+
import { DndContext, DragOverlay, KeyboardCode, KeyboardSensor, closestCenter, closestCorners, getFirstCollision, pointerWithin, useDraggable, useDroppable, useSensor, useSensors } from "@dnd-kit/core";
|
|
16
17
|
import { Input as Input$1 } from "@base-ui/react/input";
|
|
17
18
|
import { Field as Field$1 } from "@base-ui/react/field";
|
|
18
|
-
import { flushSync } from "react-dom";
|
|
19
19
|
import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
|
|
20
20
|
import { Select as Select$1 } from "@base-ui/react/select";
|
|
21
21
|
import { Radio } from "@base-ui/react/radio";
|
|
@@ -24,7 +24,6 @@ import { Switch as Switch$1 } from "@base-ui/react/switch";
|
|
|
24
24
|
import { Toggle } from "@base-ui/react/toggle";
|
|
25
25
|
import { ToggleGroup as ToggleGroup$1 } from "@base-ui/react/toggle-group";
|
|
26
26
|
import { Progress as Progress$1 } from "@base-ui/react/progress";
|
|
27
|
-
import { DndContext, DragOverlay, KeyboardCode, KeyboardSensor, closestCenter, closestCorners, getFirstCollision, pointerWithin, useDraggable, useDroppable, useSensor, useSensors } from "@dnd-kit/core";
|
|
28
27
|
import { SortableContext, arrayMove, defaultAnimateLayoutChanges, horizontalListSortingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy } from "@dnd-kit/sortable";
|
|
29
28
|
import { CSS } from "@dnd-kit/utilities";
|
|
30
29
|
import { Toast } from "@base-ui/react/toast";
|
|
@@ -51,7 +50,11 @@ const alertDialog = tv({
|
|
|
51
50
|
"px-5 pt-1.5 pb-5 first:pt-5",
|
|
52
51
|
"font-sans text-subhead text-foreground-muted"
|
|
53
52
|
],
|
|
54
|
-
footer: [
|
|
53
|
+
footer: [
|
|
54
|
+
"flex min-w-0 items-center justify-end",
|
|
55
|
+
...stackedActions,
|
|
56
|
+
"gap-2 px-5 pb-5 first:pt-5 [[data-slot=alert-dialog-header]+&]:pt-5"
|
|
57
|
+
],
|
|
55
58
|
title: ["m-0 min-w-0 text-foreground", "font-sans text-headline font-bold"],
|
|
56
59
|
description: ["m-0", "font-sans text-subhead text-foreground-muted"]
|
|
57
60
|
},
|
|
@@ -112,7 +115,7 @@ function AlertDialogContent({ className, children, portalProps, overlay, ...prop
|
|
|
112
115
|
className: content({ className }),
|
|
113
116
|
...props,
|
|
114
117
|
role: "alertdialog",
|
|
115
|
-
children
|
|
118
|
+
children: /* @__PURE__ */ jsx(DialogSheetReset, { children })
|
|
116
119
|
})]
|
|
117
120
|
});
|
|
118
121
|
}
|
|
@@ -132,11 +135,14 @@ function AlertDialogBody({ className, ...props }) {
|
|
|
132
135
|
...props
|
|
133
136
|
});
|
|
134
137
|
}
|
|
135
|
-
function AlertDialogFooter({ className, ...props }) {
|
|
138
|
+
function AlertDialogFooter({ className, ref, ...props }) {
|
|
136
139
|
const { footer } = alertDialog();
|
|
140
|
+
const [stacked, rowRef] = useStackedActions(ref);
|
|
137
141
|
return /* @__PURE__ */ jsx("div", {
|
|
138
142
|
"data-slot": "alert-dialog-footer",
|
|
143
|
+
ref: rowRef,
|
|
139
144
|
className: footer({ className }),
|
|
145
|
+
...stacked ? { "data-stacked": "" } : {},
|
|
140
146
|
...props
|
|
141
147
|
});
|
|
142
148
|
}
|
|
@@ -511,7 +517,7 @@ function DrawerContent({ className, children, portalProps, ...props }) {
|
|
|
511
517
|
children: [hasSnapPoints ? /* @__PURE__ */ jsx(DrawerSwipeHandle, {}) : null, /* @__PURE__ */ jsx(Drawer$1.Content, {
|
|
512
518
|
"data-slot": "drawer-content",
|
|
513
519
|
className: content(),
|
|
514
|
-
children
|
|
520
|
+
children: /* @__PURE__ */ jsx(DialogSheetReset, { children })
|
|
515
521
|
})]
|
|
516
522
|
})
|
|
517
523
|
})]
|
|
@@ -1211,13 +1217,13 @@ const status = tv({
|
|
|
1211
1217
|
variants: {
|
|
1212
1218
|
variant: {
|
|
1213
1219
|
default: { root: "[--status-color:var(--presence-offline)]" },
|
|
1214
|
-
primary: { root: "[--status-color:var(--
|
|
1215
|
-
information: { root: "[--status-color:var(--
|
|
1216
|
-
muted: { root: "[--status-color:var(--
|
|
1217
|
-
accent: { root: "[--status-color:var(--
|
|
1218
|
-
success: { root: "[--status-color:var(--
|
|
1219
|
-
warning: { root: "[--status-color:var(--
|
|
1220
|
-
danger: { root: "[--status-color:var(--
|
|
1220
|
+
primary: { root: "[--status-color:var(--brand-400)]" },
|
|
1221
|
+
information: { root: "[--status-color:var(--info)]" },
|
|
1222
|
+
muted: { root: "[--status-color:var(--secondary-400)]" },
|
|
1223
|
+
accent: { root: "[--status-color:var(--attention-400)]" },
|
|
1224
|
+
success: { root: "[--status-color:var(--success)]" },
|
|
1225
|
+
warning: { root: "[--status-color:var(--warning)]" },
|
|
1226
|
+
danger: { root: "[--status-color:var(--danger)]" }
|
|
1221
1227
|
},
|
|
1222
1228
|
size: {
|
|
1223
1229
|
xs: { root: "size-1.5 rounded-[1px] border" },
|
|
@@ -3231,70 +3237,6 @@ function RaftWordmarkArtwork() {
|
|
|
3231
3237
|
] });
|
|
3232
3238
|
}
|
|
3233
3239
|
//#endregion
|
|
3234
|
-
//#region src/components/mobile-nav/mobile-nav.tsx
|
|
3235
|
-
const mobileNav = tv({ slots: {
|
|
3236
|
-
root: [
|
|
3237
|
-
"grid w-full flex-none grid-flow-col auto-cols-fr items-start gap-0",
|
|
3238
|
-
"border-t border-line-seam bg-layer-card px-2 pt-1.5 text-foreground-hint",
|
|
3239
|
-
"pb-[max(8px,min(env(safe-area-inset-bottom,0px),34px))]"
|
|
3240
|
-
],
|
|
3241
|
-
item: [
|
|
3242
|
-
"relative inline-flex shrink-0 items-center outline-none",
|
|
3243
|
-
"disabled:pointer-events-none disabled:opacity-45",
|
|
3244
|
-
"[&_svg]:shrink-0",
|
|
3245
|
-
"isolate min-w-0 flex-col justify-start gap-[7px] border-0 px-0 pt-1 pb-0",
|
|
3246
|
-
"font-sans text-[10px]/3 font-semibold text-foreground-hint",
|
|
3247
|
-
"*:relative *:z-10 [&_svg]:size-[22px] [&_svg]:stroke-2",
|
|
3248
|
-
"before:pointer-events-none before:absolute before:top-0 before:left-1/2 before:z-0 before:-translate-x-1/2",
|
|
3249
|
-
"before:h-[30px] before:w-14 before:rounded-control before:border-[1.5px] before:border-transparent before:content-['']",
|
|
3250
|
-
"active:before:bg-fill-medium",
|
|
3251
|
-
"data-[selected=true]:font-bold data-[selected=true]:text-foreground",
|
|
3252
|
-
"data-[selected=true]:[&_svg]:text-sticker-ink",
|
|
3253
|
-
"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",
|
|
3254
|
-
"data-[selected=true]:active:before:overlay-sticker-medium",
|
|
3255
|
-
"rounded-control focus-visible:shadow-focus"
|
|
3256
|
-
],
|
|
3257
|
-
itemLabel: ["min-w-0 truncate", "max-w-full"]
|
|
3258
|
-
} });
|
|
3259
|
-
function MobileNavRoot({ className, render, ...props }) {
|
|
3260
|
-
const { root } = mobileNav();
|
|
3261
|
-
const defaultProps = {
|
|
3262
|
-
"data-slot": "mobile-nav-root",
|
|
3263
|
-
className: root({ className })
|
|
3264
|
-
};
|
|
3265
|
-
return useRender({
|
|
3266
|
-
defaultTagName: "nav",
|
|
3267
|
-
render,
|
|
3268
|
-
props: mergeProps(defaultProps, props)
|
|
3269
|
-
});
|
|
3270
|
-
}
|
|
3271
|
-
function MobileNavItem({ nativeButton = true, selected, className, render, ...props }) {
|
|
3272
|
-
const { item } = mobileNav();
|
|
3273
|
-
const defaultProps = {
|
|
3274
|
-
type: nativeButton ? "button" : void 0,
|
|
3275
|
-
"aria-pressed": nativeButton ? selected : void 0,
|
|
3276
|
-
"data-slot": "mobile-nav-item",
|
|
3277
|
-
"data-selected": selected ? "true" : void 0,
|
|
3278
|
-
className: item({ className })
|
|
3279
|
-
};
|
|
3280
|
-
return useRender({
|
|
3281
|
-
render: render ?? /* @__PURE__ */ jsx(Button$1, {}),
|
|
3282
|
-
props: mergeProps(defaultProps, props)
|
|
3283
|
-
});
|
|
3284
|
-
}
|
|
3285
|
-
function MobileNavLabel({ className, render, ...props }) {
|
|
3286
|
-
const { itemLabel } = mobileNav();
|
|
3287
|
-
const defaultProps = {
|
|
3288
|
-
"data-slot": "mobile-nav-item-label",
|
|
3289
|
-
className: itemLabel({ className })
|
|
3290
|
-
};
|
|
3291
|
-
return useRender({
|
|
3292
|
-
defaultTagName: "span",
|
|
3293
|
-
render,
|
|
3294
|
-
props: mergeProps(defaultProps, props)
|
|
3295
|
-
});
|
|
3296
|
-
}
|
|
3297
|
-
//#endregion
|
|
3298
3240
|
//#region src/components/workspace-button/workspace-button.tsx
|
|
3299
3241
|
function WorkspaceButton({ className, children, ...props }) {
|
|
3300
3242
|
return /* @__PURE__ */ jsxs(Button, {
|
|
@@ -3318,280 +3260,6 @@ function WorkspaceButtonName({ className, ...props }) {
|
|
|
3318
3260
|
});
|
|
3319
3261
|
}
|
|
3320
3262
|
//#endregion
|
|
3321
|
-
//#region src/components/popover/popover.tsx
|
|
3322
|
-
const popover = tv({ slots: {
|
|
3323
|
-
trigger: ["select-none"],
|
|
3324
|
-
positioner: ["isolate z-50 outline-none"],
|
|
3325
|
-
content: [
|
|
3326
|
-
"max-h-(--available-height) min-w-[220px] overflow-hidden",
|
|
3327
|
-
"outline-none",
|
|
3328
|
-
"rounded-container bg-layer-popover text-foreground",
|
|
3329
|
-
"shadow-float ring-1 ring-line-seam"
|
|
3330
|
-
],
|
|
3331
|
-
header: ["flex items-center justify-between px-3", "min-h-11 gap-2 py-1.5 pr-1.5 pl-4"],
|
|
3332
|
-
separator: ["border-t", "border-line-hairline"],
|
|
3333
|
-
title: ["m-0", "font-sans text-headline font-bold text-foreground"],
|
|
3334
|
-
description: ["m-0", "font-sans text-footnote text-foreground-muted"],
|
|
3335
|
-
close: [
|
|
3336
|
-
"inline-flex items-center justify-center",
|
|
3337
|
-
"outline-none transition-colors",
|
|
3338
|
-
"h-8 min-w-8 rounded-chip px-1.5",
|
|
3339
|
-
"font-sans text-footnote font-bold text-foreground",
|
|
3340
|
-
"hover:bg-fill-medium active:bg-fill-medium",
|
|
3341
|
-
"focus-visible:shadow-focus",
|
|
3342
|
-
"[&_svg]:size-4.5"
|
|
3343
|
-
],
|
|
3344
|
-
arrow: ["size-2 rotate-45", "border-l border-t border-line-seam bg-layer-popover"],
|
|
3345
|
-
backdrop: ["fixed inset-0", "bg-transparent"],
|
|
3346
|
-
viewport: ["block"]
|
|
3347
|
-
} });
|
|
3348
|
-
function Popover(props) {
|
|
3349
|
-
return /* @__PURE__ */ jsx(Popover$1.Root, {
|
|
3350
|
-
"data-slot": "popover",
|
|
3351
|
-
...props
|
|
3352
|
-
});
|
|
3353
|
-
}
|
|
3354
|
-
function PopoverTrigger({ className, ...props }) {
|
|
3355
|
-
const { trigger } = popover();
|
|
3356
|
-
return /* @__PURE__ */ jsx(Popover$1.Trigger, {
|
|
3357
|
-
"data-slot": "popover-trigger",
|
|
3358
|
-
className: trigger({ className }),
|
|
3359
|
-
...props
|
|
3360
|
-
});
|
|
3361
|
-
}
|
|
3362
|
-
function PopoverPortal(props) {
|
|
3363
|
-
return /* @__PURE__ */ jsx(Popover$1.Portal, {
|
|
3364
|
-
"data-slot": "popover-portal",
|
|
3365
|
-
...useThemeScopeProps(props)
|
|
3366
|
-
});
|
|
3367
|
-
}
|
|
3368
|
-
function PopoverPopup({ className, ...props }) {
|
|
3369
|
-
const { content } = popover();
|
|
3370
|
-
return /* @__PURE__ */ jsx("div", {
|
|
3371
|
-
"data-slot": "popover-content",
|
|
3372
|
-
className: content({ className }),
|
|
3373
|
-
...props
|
|
3374
|
-
});
|
|
3375
|
-
}
|
|
3376
|
-
function PopoverContent({ align = "start", alignOffset = 0, anchor, arrowPadding, collisionAvoidance, collisionBoundary, collisionPadding, disableAnchorTracking, positionMethod = "fixed", side = "bottom", sideOffset = 4, sticky, container, portalProps, className, ...props }) {
|
|
3377
|
-
const { positioner, content } = popover();
|
|
3378
|
-
const portalContainer = container !== void 0 ? container : portalProps?.container;
|
|
3379
|
-
return /* @__PURE__ */ jsx(PopoverPortal, {
|
|
3380
|
-
...portalProps,
|
|
3381
|
-
container: portalContainer,
|
|
3382
|
-
children: /* @__PURE__ */ jsx(Popover$1.Positioner, {
|
|
3383
|
-
align,
|
|
3384
|
-
alignOffset,
|
|
3385
|
-
anchor,
|
|
3386
|
-
arrowPadding,
|
|
3387
|
-
collisionAvoidance,
|
|
3388
|
-
collisionBoundary,
|
|
3389
|
-
collisionPadding,
|
|
3390
|
-
disableAnchorTracking,
|
|
3391
|
-
positionMethod,
|
|
3392
|
-
side,
|
|
3393
|
-
sideOffset,
|
|
3394
|
-
sticky,
|
|
3395
|
-
className: positioner(),
|
|
3396
|
-
children: /* @__PURE__ */ jsx(Popover$1.Popup, {
|
|
3397
|
-
"data-slot": "popover-content",
|
|
3398
|
-
className: content({ className }),
|
|
3399
|
-
...props
|
|
3400
|
-
})
|
|
3401
|
-
})
|
|
3402
|
-
});
|
|
3403
|
-
}
|
|
3404
|
-
function PopoverViewport({ className, ...props }) {
|
|
3405
|
-
const { viewport } = popover();
|
|
3406
|
-
return /* @__PURE__ */ jsx(Popover$1.Viewport, {
|
|
3407
|
-
"data-slot": "popover-viewport",
|
|
3408
|
-
className: viewport({ className }),
|
|
3409
|
-
...props
|
|
3410
|
-
});
|
|
3411
|
-
}
|
|
3412
|
-
function PopoverHeader({ className, ...props }) {
|
|
3413
|
-
const { header } = popover();
|
|
3414
|
-
return /* @__PURE__ */ jsx("div", {
|
|
3415
|
-
"data-slot": "popover-header",
|
|
3416
|
-
className: header({ className }),
|
|
3417
|
-
...props
|
|
3418
|
-
});
|
|
3419
|
-
}
|
|
3420
|
-
function PopoverSeparator({ className, ...props }) {
|
|
3421
|
-
const { separator } = popover();
|
|
3422
|
-
return /* @__PURE__ */ jsx("div", {
|
|
3423
|
-
role: "separator",
|
|
3424
|
-
"aria-orientation": "horizontal",
|
|
3425
|
-
"data-slot": "popover-separator",
|
|
3426
|
-
className: separator({ className }),
|
|
3427
|
-
...props
|
|
3428
|
-
});
|
|
3429
|
-
}
|
|
3430
|
-
function PopoverTitle({ className, ...props }) {
|
|
3431
|
-
const { title } = popover();
|
|
3432
|
-
return /* @__PURE__ */ jsx(Popover$1.Title, {
|
|
3433
|
-
"data-slot": "popover-title",
|
|
3434
|
-
className: title({ className }),
|
|
3435
|
-
...props
|
|
3436
|
-
});
|
|
3437
|
-
}
|
|
3438
|
-
function PopoverDescription({ className, ...props }) {
|
|
3439
|
-
const { description } = popover();
|
|
3440
|
-
return /* @__PURE__ */ jsx(Popover$1.Description, {
|
|
3441
|
-
"data-slot": "popover-description",
|
|
3442
|
-
className: description({ className }),
|
|
3443
|
-
...props
|
|
3444
|
-
});
|
|
3445
|
-
}
|
|
3446
|
-
function PopoverClose({ className, ...props }) {
|
|
3447
|
-
const { close } = popover();
|
|
3448
|
-
return /* @__PURE__ */ jsx(Popover$1.Close, {
|
|
3449
|
-
"data-slot": "popover-close",
|
|
3450
|
-
className: close({ className }),
|
|
3451
|
-
...props
|
|
3452
|
-
});
|
|
3453
|
-
}
|
|
3454
|
-
function PopoverArrow({ className, ...props }) {
|
|
3455
|
-
const { arrow } = popover();
|
|
3456
|
-
return /* @__PURE__ */ jsx(Popover$1.Arrow, {
|
|
3457
|
-
"data-slot": "popover-arrow",
|
|
3458
|
-
className: arrow({ className }),
|
|
3459
|
-
...props
|
|
3460
|
-
});
|
|
3461
|
-
}
|
|
3462
|
-
function PopoverBackdrop({ className, ...props }) {
|
|
3463
|
-
const { backdrop } = popover();
|
|
3464
|
-
return /* @__PURE__ */ jsx(Popover$1.Backdrop, {
|
|
3465
|
-
"data-slot": "popover-backdrop",
|
|
3466
|
-
className: backdrop({ className }),
|
|
3467
|
-
...props
|
|
3468
|
-
});
|
|
3469
|
-
}
|
|
3470
|
-
//#endregion
|
|
3471
|
-
//#region src/components/preview-card/preview-card.tsx
|
|
3472
|
-
const previewCard = tv({ slots: {
|
|
3473
|
-
trigger: [],
|
|
3474
|
-
positioner: ["isolate z-50 outline-none"],
|
|
3475
|
-
popup: [
|
|
3476
|
-
"max-h-(--available-height) min-w-[220px] overflow-hidden",
|
|
3477
|
-
"outline-none",
|
|
3478
|
-
"origin-(--transform-origin) transform-gpu opacity-100 will-change-[transform,opacity]",
|
|
3479
|
-
"transition-[opacity,transform] duration-250 ease-[cubic-bezier(0.22,1,0.36,1)]",
|
|
3480
|
-
"data-starting-style:scale-[0.97] data-starting-style:opacity-0",
|
|
3481
|
-
"data-ending-style:scale-[0.99] data-ending-style:opacity-0 data-ending-style:duration-150",
|
|
3482
|
-
"data-instant:transition-none motion-reduce:transition-none",
|
|
3483
|
-
"w-[300px] rounded-container bg-layer-popover text-foreground",
|
|
3484
|
-
"shadow-float ring-1 ring-line-seam"
|
|
3485
|
-
],
|
|
3486
|
-
header: ["flex items-start gap-3", "px-4 pt-4 pb-3 last:pb-4"],
|
|
3487
|
-
separator: ["border-t", "border-line-hairline"],
|
|
3488
|
-
title: ["m-0 truncate", "font-sans text-headline font-bold text-foreground"],
|
|
3489
|
-
description: ["m-0 truncate", "px-4 py-3 last:pb-4 font-sans text-callout text-foreground-muted"],
|
|
3490
|
-
arrow: ["size-2 rotate-45", "border-l border-t border-line-seam bg-layer-popover"]
|
|
3491
|
-
} });
|
|
3492
|
-
function PreviewCard(props) {
|
|
3493
|
-
return /* @__PURE__ */ jsx(PreviewCard$1.Root, {
|
|
3494
|
-
"data-slot": "preview-card",
|
|
3495
|
-
...props
|
|
3496
|
-
});
|
|
3497
|
-
}
|
|
3498
|
-
function PreviewCardTrigger({ delay = 80, closeDelay = 40, className, ...props }) {
|
|
3499
|
-
const { trigger } = previewCard();
|
|
3500
|
-
return /* @__PURE__ */ jsx(PreviewCard$1.Trigger, {
|
|
3501
|
-
"data-slot": "preview-card-trigger",
|
|
3502
|
-
delay,
|
|
3503
|
-
closeDelay,
|
|
3504
|
-
className: trigger({ className }),
|
|
3505
|
-
...props
|
|
3506
|
-
});
|
|
3507
|
-
}
|
|
3508
|
-
function PreviewCardPortal(props) {
|
|
3509
|
-
return /* @__PURE__ */ jsx(PreviewCard$1.Portal, {
|
|
3510
|
-
"data-slot": "preview-card-portal",
|
|
3511
|
-
...useThemeScopeProps(props)
|
|
3512
|
-
});
|
|
3513
|
-
}
|
|
3514
|
-
function PreviewCardPopup({ className, ...props }) {
|
|
3515
|
-
const themeState = useTheme();
|
|
3516
|
-
const { popup } = previewCard();
|
|
3517
|
-
const scopeProps = resolveThemeScopeProps({
|
|
3518
|
-
...props,
|
|
3519
|
-
className: popup({ className })
|
|
3520
|
-
}, themeState);
|
|
3521
|
-
return /* @__PURE__ */ jsx("div", {
|
|
3522
|
-
"data-slot": "preview-card-content",
|
|
3523
|
-
...scopeProps
|
|
3524
|
-
});
|
|
3525
|
-
}
|
|
3526
|
-
function PreviewCardContent({ align = "start", alignOffset = 0, anchor, arrowPadding, collisionAvoidance, collisionBoundary, collisionPadding, disableAnchorTracking, positionMethod = "fixed", side = "bottom", sideOffset = 6, sticky, portalProps, className, ...props }) {
|
|
3527
|
-
const { positioner, popup } = previewCard();
|
|
3528
|
-
return /* @__PURE__ */ jsx(PreviewCardPortal, {
|
|
3529
|
-
...portalProps,
|
|
3530
|
-
children: /* @__PURE__ */ jsx(PreviewCard$1.Positioner, {
|
|
3531
|
-
align,
|
|
3532
|
-
alignOffset,
|
|
3533
|
-
anchor,
|
|
3534
|
-
arrowPadding,
|
|
3535
|
-
collisionAvoidance,
|
|
3536
|
-
collisionBoundary,
|
|
3537
|
-
collisionPadding,
|
|
3538
|
-
disableAnchorTracking,
|
|
3539
|
-
positionMethod,
|
|
3540
|
-
side,
|
|
3541
|
-
sideOffset,
|
|
3542
|
-
sticky,
|
|
3543
|
-
className: positioner(),
|
|
3544
|
-
children: /* @__PURE__ */ jsx(PreviewCard$1.Popup, {
|
|
3545
|
-
"data-slot": "preview-card-content",
|
|
3546
|
-
className: popup({ className }),
|
|
3547
|
-
...props
|
|
3548
|
-
})
|
|
3549
|
-
})
|
|
3550
|
-
});
|
|
3551
|
-
}
|
|
3552
|
-
function PreviewCardHeader({ className, ...props }) {
|
|
3553
|
-
const { header } = previewCard();
|
|
3554
|
-
return /* @__PURE__ */ jsx("div", {
|
|
3555
|
-
"data-slot": "preview-card-header",
|
|
3556
|
-
className: header({ className }),
|
|
3557
|
-
...props
|
|
3558
|
-
});
|
|
3559
|
-
}
|
|
3560
|
-
function PreviewCardSeparator({ className, ...props }) {
|
|
3561
|
-
const { separator } = previewCard();
|
|
3562
|
-
return /* @__PURE__ */ jsx("div", {
|
|
3563
|
-
role: "separator",
|
|
3564
|
-
"aria-orientation": "horizontal",
|
|
3565
|
-
"data-slot": "preview-card-separator",
|
|
3566
|
-
className: separator({ className }),
|
|
3567
|
-
...props
|
|
3568
|
-
});
|
|
3569
|
-
}
|
|
3570
|
-
function PreviewCardTitle({ className, ...props }) {
|
|
3571
|
-
const { title } = previewCard();
|
|
3572
|
-
return /* @__PURE__ */ jsx("p", {
|
|
3573
|
-
"data-slot": "preview-card-title",
|
|
3574
|
-
className: title({ className }),
|
|
3575
|
-
...props
|
|
3576
|
-
});
|
|
3577
|
-
}
|
|
3578
|
-
function PreviewCardDescription({ className, ...props }) {
|
|
3579
|
-
const { description } = previewCard();
|
|
3580
|
-
return /* @__PURE__ */ jsx("p", {
|
|
3581
|
-
"data-slot": "preview-card-description",
|
|
3582
|
-
className: description({ className }),
|
|
3583
|
-
...props
|
|
3584
|
-
});
|
|
3585
|
-
}
|
|
3586
|
-
function PreviewCardArrow({ className, ...props }) {
|
|
3587
|
-
const { arrow } = previewCard();
|
|
3588
|
-
return /* @__PURE__ */ jsx(PreviewCard$1.Arrow, {
|
|
3589
|
-
"data-slot": "preview-card-arrow",
|
|
3590
|
-
className: arrow({ className }),
|
|
3591
|
-
...props
|
|
3592
|
-
});
|
|
3593
|
-
}
|
|
3594
|
-
//#endregion
|
|
3595
3263
|
//#region src/components/label/label.tsx
|
|
3596
3264
|
const label = tv({
|
|
3597
3265
|
slots: {
|
|
@@ -4873,6 +4541,112 @@ function SwitchThumb({ className, ...props }) {
|
|
|
4873
4541
|
});
|
|
4874
4542
|
}
|
|
4875
4543
|
//#endregion
|
|
4544
|
+
//#region src/components/segmented-control/segmented-control.tsx
|
|
4545
|
+
const segmentedControl = tv({
|
|
4546
|
+
slots: {
|
|
4547
|
+
root: ["inline-flex shrink-0 items-center", "w-fit flex-nowrap gap-[3px] rounded-[11px] bg-fill-muted p-[3px]"],
|
|
4548
|
+
item: [
|
|
4549
|
+
"inline-flex min-w-0 shrink-0 items-center gap-1.5",
|
|
4550
|
+
"outline-none disabled:pointer-events-none",
|
|
4551
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
4552
|
+
"h-8 justify-center rounded-control border-[1.5px] border-transparent bg-transparent px-3",
|
|
4553
|
+
"font-sans text-callout font-semibold text-foreground-muted",
|
|
4554
|
+
"[&_svg:not([class*='size-'])]:size-4",
|
|
4555
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
4556
|
+
"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",
|
|
4557
|
+
"data-checked:hover:bg-brand data-checked:active:bg-brand data-checked:active:overlay-sticker-medium",
|
|
4558
|
+
"focus-visible:shadow-focus",
|
|
4559
|
+
"data-disabled:cursor-not-allowed data-disabled:text-foreground-disabled data-disabled:hover:bg-transparent"
|
|
4560
|
+
],
|
|
4561
|
+
label: ["truncate"],
|
|
4562
|
+
count: ["font-mono", "text-mono-meta font-normal"]
|
|
4563
|
+
},
|
|
4564
|
+
variants: {
|
|
4565
|
+
variant: {
|
|
4566
|
+
default: {},
|
|
4567
|
+
"on-frame": { root: [
|
|
4568
|
+
"bg-fill-frame-medium",
|
|
4569
|
+
"**:data-[slot=segmented-control-item]:text-foreground-on-frame-muted **:data-[slot=segmented-control-item]:hover:text-foreground-on-frame",
|
|
4570
|
+
"**:data-[slot=segmented-control-item]:hover:bg-transparent **:data-[slot=segmented-control-item]:hover:overlay-frame-medium **:data-[slot=segmented-control-item]:active:bg-transparent **:data-[slot=segmented-control-item]:active:overlay-frame-medium",
|
|
4571
|
+
"**:data-[slot=segmented-control-item]:data-checked:border-line-frame-active **:data-[slot=segmented-control-item]:data-checked:bg-layer-frame-active **:data-[slot=segmented-control-item]:data-checked:text-foreground-on-frame-active",
|
|
4572
|
+
"**:data-[slot=segmented-control-item]:data-checked:hover:bg-layer-frame-active **:data-[slot=segmented-control-item]:data-checked:hover:bg-none **:data-[slot=segmented-control-item]:data-checked:active:bg-layer-frame-active"
|
|
4573
|
+
] }
|
|
4574
|
+
},
|
|
4575
|
+
iconsOnlyBelow: {
|
|
4576
|
+
xs: { root: ["@max-xs:**:data-[slot=segmented-control-item]:relative @max-xs:**:data-[slot=segmented-control-item]:w-8 @max-xs:**:data-[slot=segmented-control-item]:px-0", "@max-xs:**:data-[slot=segmented-control-label]:sr-only @max-xs:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
4577
|
+
sm: { root: ["@max-sm:**:data-[slot=segmented-control-item]:relative @max-sm:**:data-[slot=segmented-control-item]:w-8 @max-sm:**:data-[slot=segmented-control-item]:px-0", "@max-sm:**:data-[slot=segmented-control-label]:sr-only @max-sm:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
4578
|
+
md: { root: ["@max-md:**:data-[slot=segmented-control-item]:relative @max-md:**:data-[slot=segmented-control-item]:w-8 @max-md:**:data-[slot=segmented-control-item]:px-0", "@max-md:**:data-[slot=segmented-control-label]:sr-only @max-md:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
4579
|
+
lg: { root: ["@max-lg:**:data-[slot=segmented-control-item]:relative @max-lg:**:data-[slot=segmented-control-item]:w-8 @max-lg:**:data-[slot=segmented-control-item]:px-0", "@max-lg:**:data-[slot=segmented-control-label]:sr-only @max-lg:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
4580
|
+
xl: { root: ["@max-xl:**:data-[slot=segmented-control-item]:relative @max-xl:**:data-[slot=segmented-control-item]:w-8 @max-xl:**:data-[slot=segmented-control-item]:px-0", "@max-xl:**:data-[slot=segmented-control-label]:sr-only @max-xl:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
4581
|
+
"2xl": { root: ["@max-2xl:**:data-[slot=segmented-control-item]:relative @max-2xl:**:data-[slot=segmented-control-item]:w-8 @max-2xl:**:data-[slot=segmented-control-item]:px-0", "@max-2xl:**:data-[slot=segmented-control-label]:sr-only @max-2xl:**:data-[slot=segmented-control-count]:sr-only"] }
|
|
4582
|
+
}
|
|
4583
|
+
}
|
|
4584
|
+
});
|
|
4585
|
+
const SegmentedControlIconsOnlyContext = createContext(false);
|
|
4586
|
+
function SegmentedControl({ disabled = false, iconsOnlyBelow, variant = "default", className, ...props }) {
|
|
4587
|
+
const { root } = segmentedControl({
|
|
4588
|
+
iconsOnlyBelow,
|
|
4589
|
+
variant
|
|
4590
|
+
});
|
|
4591
|
+
return /* @__PURE__ */ jsx(SegmentedControlIconsOnlyContext, {
|
|
4592
|
+
value: iconsOnlyBelow !== void 0,
|
|
4593
|
+
children: /* @__PURE__ */ jsx(RadioGroup$1, {
|
|
4594
|
+
disabled,
|
|
4595
|
+
"data-slot": "segmented-control",
|
|
4596
|
+
className: root({ className }),
|
|
4597
|
+
...props
|
|
4598
|
+
})
|
|
4599
|
+
});
|
|
4600
|
+
}
|
|
4601
|
+
function SegmentedControlItem({ className, ...props }) {
|
|
4602
|
+
const { item } = segmentedControl();
|
|
4603
|
+
const iconsOnly = use(SegmentedControlIconsOnlyContext);
|
|
4604
|
+
const radio = /* @__PURE__ */ jsx(Radio.Root, {
|
|
4605
|
+
render: /* @__PURE__ */ jsx("button", { type: "button" }),
|
|
4606
|
+
nativeButton: true,
|
|
4607
|
+
"data-slot": "segmented-control-item",
|
|
4608
|
+
className: item({ className: `group/segmented-control-item ${className ?? ""}`.trim() }),
|
|
4609
|
+
...props
|
|
4610
|
+
});
|
|
4611
|
+
return iconsOnly ? /* @__PURE__ */ jsx(SegmentedControlItemTooltip, { children: radio }) : radio;
|
|
4612
|
+
}
|
|
4613
|
+
function SegmentedControlItemTooltip({ children }) {
|
|
4614
|
+
const [text, setText] = useState("");
|
|
4615
|
+
const triggerRef = useRef(null);
|
|
4616
|
+
const handleOpenChange = useCallback((open, details) => {
|
|
4617
|
+
if (!open) return;
|
|
4618
|
+
const label = triggerRef.current?.querySelector("[data-slot=segmented-control-label]");
|
|
4619
|
+
if (!label || label.getBoundingClientRect().width > 1) {
|
|
4620
|
+
details.cancel();
|
|
4621
|
+
return;
|
|
4622
|
+
}
|
|
4623
|
+
setText(label.textContent ?? "");
|
|
4624
|
+
}, []);
|
|
4625
|
+
return /* @__PURE__ */ jsxs(Tooltip, {
|
|
4626
|
+
onOpenChange: handleOpenChange,
|
|
4627
|
+
children: [/* @__PURE__ */ jsx(TooltipTrigger, {
|
|
4628
|
+
ref: triggerRef,
|
|
4629
|
+
render: children
|
|
4630
|
+
}), /* @__PURE__ */ jsx(TooltipContent, { children: text })]
|
|
4631
|
+
});
|
|
4632
|
+
}
|
|
4633
|
+
function SegmentedControlLabel({ className, ...props }) {
|
|
4634
|
+
const { label } = segmentedControl();
|
|
4635
|
+
return /* @__PURE__ */ jsx("span", {
|
|
4636
|
+
"data-slot": "segmented-control-label",
|
|
4637
|
+
className: label({ className }),
|
|
4638
|
+
...props
|
|
4639
|
+
});
|
|
4640
|
+
}
|
|
4641
|
+
function SegmentedControlCount({ className, ...props }) {
|
|
4642
|
+
const { count } = segmentedControl();
|
|
4643
|
+
return /* @__PURE__ */ jsx("span", {
|
|
4644
|
+
"data-slot": "segmented-control-count",
|
|
4645
|
+
className: count({ className }),
|
|
4646
|
+
...props
|
|
4647
|
+
});
|
|
4648
|
+
}
|
|
4649
|
+
//#endregion
|
|
4876
4650
|
//#region src/components/toggle-group/toggle-group.tsx
|
|
4877
4651
|
const toggleGroup = tv({ slots: {
|
|
4878
4652
|
root: [
|
|
@@ -5024,8 +4798,10 @@ const descriptionList = tv({
|
|
|
5024
4798
|
"[&>[data-slot=description-item]>[data-slot=description-details]]:min-w-0",
|
|
5025
4799
|
"[&>[data-slot=description-item]+[data-slot=description-item]]:pt-0",
|
|
5026
4800
|
"[&>[data-slot=description-item]>[data-slot=description-term]]:shrink-0",
|
|
5027
|
-
"[&>[data-slot=description-item]>[data-slot=description-details]
|
|
5028
|
-
"[&>[data-slot=description-item]>[data-slot=description-details]
|
|
4801
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=badge]:first-child]:-ml-1.5",
|
|
4802
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=badge]:first-child]:max-w-[calc(100%+6px)]",
|
|
4803
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>:is([data-slot=task-chip],[data-slot=task-status-badge]):first-child]:ml-[-7px]",
|
|
4804
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>:is([data-slot=task-chip],[data-slot=task-status-badge]):first-child]:max-w-[calc(100%+7px)]",
|
|
5029
4805
|
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=button]:first-child]:ml-[-7.5px]",
|
|
5030
4806
|
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=button]:first-child]:px-1.5"
|
|
5031
4807
|
] }
|
|
@@ -7133,11 +6909,10 @@ const progress = tv({
|
|
|
7133
6909
|
root: [
|
|
7134
6910
|
"group/progress grid w-full min-w-0 gap-1.5",
|
|
7135
6911
|
"[--progress-color:var(--foreground)]",
|
|
7136
|
-
"[--progress-light:var(--fill-muted)]",
|
|
7137
6912
|
"[--progress-indicator:var(--progress-color)]",
|
|
7138
6913
|
"[--progress-track:var(--fill-muted)]",
|
|
7139
6914
|
"font-sans",
|
|
7140
|
-
"data-complete:[--progress-indicator:var(--
|
|
6915
|
+
"data-complete:[--progress-indicator:var(--success)]"
|
|
7141
6916
|
],
|
|
7142
6917
|
header: ["flex min-w-0 items-center justify-between gap-3"],
|
|
7143
6918
|
label: ["min-w-0 truncate", "text-footnote font-semibold text-foreground"],
|
|
@@ -7157,12 +6932,12 @@ const progress = tv({
|
|
|
7157
6932
|
},
|
|
7158
6933
|
variants: {
|
|
7159
6934
|
variant: {
|
|
7160
|
-
primary: { root: ["[--progress-color:var(--
|
|
7161
|
-
information: { root: ["[--progress-color:var(--
|
|
7162
|
-
accent: { root: ["[--progress-color:var(--
|
|
7163
|
-
success: { root: ["[--progress-color:var(--
|
|
7164
|
-
warning: { root: ["[--progress-color:var(--
|
|
7165
|
-
danger: { root: ["[--progress-color:var(--
|
|
6935
|
+
primary: { root: ["[--progress-color:var(--info)]"] },
|
|
6936
|
+
information: { root: ["[--progress-color:var(--info)]"] },
|
|
6937
|
+
accent: { root: ["[--progress-color:var(--info)]"] },
|
|
6938
|
+
success: { root: ["[--progress-color:var(--success)]"] },
|
|
6939
|
+
warning: { root: ["[--progress-color:var(--warning)]"] },
|
|
6940
|
+
danger: { root: ["[--progress-color:var(--danger)]"] }
|
|
7166
6941
|
},
|
|
7167
6942
|
size: {
|
|
7168
6943
|
sm: {},
|
|
@@ -9641,16 +9416,16 @@ const banner = tv({
|
|
|
9641
9416
|
root: [
|
|
9642
9417
|
"group/banner @container grid gap-y-0",
|
|
9643
9418
|
"[&>svg]:col-start-1 [&>svg]:shrink-0",
|
|
9644
|
-
"*:data-[slot=
|
|
9419
|
+
"*:data-[slot=spinner]:col-start-1 *:data-[slot=spinner]:row-start-1",
|
|
9645
9420
|
"w-full grid-cols-[minmax(0,1fr)] items-start gap-x-2.5 rounded-container border-0",
|
|
9646
9421
|
"font-sans text-callout text-foreground ring-1 ring-line-hairline ring-inset",
|
|
9647
9422
|
"has-[>svg]:grid-cols-[20px_minmax(0,1fr)]",
|
|
9648
|
-
"has-[>[data-slot=
|
|
9423
|
+
"has-[>[data-slot=spinner]]:grid-cols-[20px_minmax(0,1fr)]",
|
|
9649
9424
|
"[&>svg]:row-start-1 [&>svg]:size-5 [&>svg]:text-foreground",
|
|
9650
9425
|
"[&>svg]:mt-[calc((1lh-20px)/2)]",
|
|
9651
|
-
"*:data-[slot=
|
|
9426
|
+
"*:data-[slot=spinner]:h-lh *:data-[slot=spinner]:leading-[inherit] *:data-[slot=spinner]:self-start *:data-[slot=spinner]:justify-self-center",
|
|
9652
9427
|
"has-[>svg]:[--banner-text-col:2]",
|
|
9653
|
-
"has-[>[data-slot=
|
|
9428
|
+
"has-[>[data-slot=spinner]]:[--banner-text-col:2]",
|
|
9654
9429
|
"has-[>[data-slot=banner-title]]:[--banner-desc-row:2]",
|
|
9655
9430
|
"has-[>[data-slot=banner-description]]:[--banner-last-row:var(--banner-desc-row,1)]",
|
|
9656
9431
|
"has-[>[data-banner-close]]:[--banner-action-end:span_2]"
|
|
@@ -9686,8 +9461,8 @@ const banner = tv({
|
|
|
9686
9461
|
},
|
|
9687
9462
|
size: {
|
|
9688
9463
|
sm: { root: [
|
|
9689
|
-
"gap-x-2 px-3 py-2
|
|
9690
|
-
"has-[>svg]:grid-cols-[16px_minmax(0,1fr)] has-[>[data-slot=
|
|
9464
|
+
"gap-x-2 px-3 py-2",
|
|
9465
|
+
"has-[>svg]:grid-cols-[16px_minmax(0,1fr)] has-[>[data-slot=spinner]]:grid-cols-[16px_minmax(0,1fr)]",
|
|
9691
9466
|
"[&>svg]:mt-[calc((1lh-16px)/2)] [&>svg]:size-4"
|
|
9692
9467
|
] },
|
|
9693
9468
|
md: { root: ["px-3.5 py-3"] },
|
|
@@ -10306,7 +10081,7 @@ const toastStyles = tv({
|
|
|
10306
10081
|
icon: [
|
|
10307
10082
|
"flex h-lh w-5 shrink-0 items-center justify-center",
|
|
10308
10083
|
"[&_svg]:shrink-0",
|
|
10309
|
-
"[&_svg]:size-4
|
|
10084
|
+
"[&_svg]:size-4"
|
|
10310
10085
|
],
|
|
10311
10086
|
body: ["min-w-0"],
|
|
10312
10087
|
title: ["m-0 truncate text-callout", "font-normal text-foreground-on-hud"],
|
|
@@ -10740,11 +10515,11 @@ function DefaultToastItem({ placement, toast: toastObject }) {
|
|
|
10740
10515
|
})
|
|
10741
10516
|
});
|
|
10742
10517
|
}
|
|
10743
|
-
const
|
|
10744
|
-
info:
|
|
10745
|
-
success:
|
|
10746
|
-
warning:
|
|
10747
|
-
error:
|
|
10518
|
+
const TOAST_ICON = {
|
|
10519
|
+
info: Info,
|
|
10520
|
+
success: CircleCheck,
|
|
10521
|
+
warning: TriangleAlert,
|
|
10522
|
+
error: TriangleAlert
|
|
10748
10523
|
};
|
|
10749
10524
|
function hasLeading(toastObject) {
|
|
10750
10525
|
const leading = toastObject.data?.leading;
|
|
@@ -10756,10 +10531,8 @@ function DefaultToastIcon({ toast: toastObject }) {
|
|
|
10756
10531
|
children: toastObject.data?.leading
|
|
10757
10532
|
});
|
|
10758
10533
|
const intent = toastObject.data?.intent ?? getToastTone(toastObject.type);
|
|
10759
|
-
|
|
10760
|
-
|
|
10761
|
-
variant: TOAST_PIXEL[intent]
|
|
10762
|
-
}) });
|
|
10534
|
+
const Icon = TOAST_ICON[intent];
|
|
10535
|
+
return /* @__PURE__ */ jsx(ToastIcon, { children: /* @__PURE__ */ jsx(Icon, { "aria-hidden": true }) });
|
|
10763
10536
|
}
|
|
10764
10537
|
function ToastArrowSvg(props) {
|
|
10765
10538
|
return /* @__PURE__ */ jsx("svg", {
|
|
@@ -11206,56 +10979,6 @@ function Separator({ children, className, orientation = "horizontal", ...props }
|
|
|
11206
10979
|
});
|
|
11207
10980
|
}
|
|
11208
10981
|
//#endregion
|
|
11209
|
-
//#region src/components/panel/panel-action.recipe.ts
|
|
11210
|
-
const panelActionBase = tv({ base: [
|
|
11211
|
-
"relative inline-flex w-auto shrink-0 items-center justify-center",
|
|
11212
|
-
"overflow-visible font-sans leading-none tabular-nums select-none outline-none",
|
|
11213
|
-
"transition-all duration-100",
|
|
11214
|
-
"[&>svg]:pointer-events-none [&>svg]:shrink-0",
|
|
11215
|
-
"h-control min-w-control rounded-control border-[1.5px] border-transparent bg-transparent py-0",
|
|
11216
|
-
"px-2 md:pointer-fine:px-[5px]",
|
|
11217
|
-
"after:absolute after:-inset-control-hit",
|
|
11218
|
-
"text-foreground",
|
|
11219
|
-
"hover:bg-fill-medium active:bg-fill-medium",
|
|
11220
|
-
"focus-visible:shadow-focus",
|
|
11221
|
-
"[&>svg]:size-control-icon",
|
|
11222
|
-
controlIconInset
|
|
11223
|
-
] });
|
|
11224
|
-
const panelAction = tv({
|
|
11225
|
-
extend: panelActionBase,
|
|
11226
|
-
base: [
|
|
11227
|
-
"whitespace-nowrap",
|
|
11228
|
-
"disabled:pointer-events-none disabled:transform-none",
|
|
11229
|
-
"gap-1.5 text-control font-bold",
|
|
11230
|
-
"disabled:bg-transparent disabled:text-foreground-disabled disabled:opacity-100",
|
|
11231
|
-
"aria-pressed:border-sticker-ink aria-pressed:bg-brand aria-pressed:text-sticker-ink aria-pressed:ring-[1.5px] aria-pressed:ring-sticker-edge",
|
|
11232
|
-
"aria-pressed:active:overlay-sticker-medium"
|
|
11233
|
-
]
|
|
11234
|
-
});
|
|
11235
|
-
const panelToggleAction = tv({
|
|
11236
|
-
extend: panelActionBase,
|
|
11237
|
-
base: [
|
|
11238
|
-
"data-disabled:pointer-events-none data-disabled:transform-none",
|
|
11239
|
-
"gap-1.5 text-control font-bold",
|
|
11240
|
-
"data-disabled:bg-transparent data-disabled:text-foreground-disabled data-disabled:opacity-100",
|
|
11241
|
-
"data-pressed:border-sticker-ink data-pressed:bg-brand data-pressed:text-sticker-ink data-pressed:ring-[1.5px] data-pressed:ring-sticker-edge",
|
|
11242
|
-
"data-pressed:active:overlay-sticker-medium"
|
|
11243
|
-
]
|
|
11244
|
-
});
|
|
11245
|
-
//#endregion
|
|
11246
|
-
//#region src/components/panel/panel-action.tsx
|
|
11247
|
-
function PanelAction({ className, render, nativeButton, ...props }) {
|
|
11248
|
-
return /* @__PURE__ */ jsx(Button$1, {
|
|
11249
|
-
...props,
|
|
11250
|
-
render,
|
|
11251
|
-
nativeButton: nativeButton ?? defaultNativeButton(render),
|
|
11252
|
-
type: "button",
|
|
11253
|
-
"data-slot": "panel-action",
|
|
11254
|
-
"data-icon-inset": "",
|
|
11255
|
-
className: panelAction({ className })
|
|
11256
|
-
});
|
|
11257
|
-
}
|
|
11258
|
-
//#endregion
|
|
11259
10982
|
//#region src/components/app-shell/app-shell.tsx
|
|
11260
10983
|
const appShell = tv({
|
|
11261
10984
|
slots: {
|
|
@@ -11731,7 +11454,7 @@ const panelNotice = tv({
|
|
|
11731
11454
|
"flex shrink-0 items-start",
|
|
11732
11455
|
"min-h-10 gap-2.5 border-b border-line-seam px-5 py-2.5 max-md:px-4",
|
|
11733
11456
|
"font-sans text-callout font-semibold text-foreground",
|
|
11734
|
-
"[&>svg]:lead-icon
|
|
11457
|
+
"[&>svg]:lead-icon"
|
|
11735
11458
|
],
|
|
11736
11459
|
content: ["min-w-0 flex-1"],
|
|
11737
11460
|
actions: ["flex shrink-0 items-center", "-my-1.5 gap-3"]
|
|
@@ -15579,7 +15302,7 @@ const taskChip = tv({
|
|
|
15579
15302
|
"no-underline select-text",
|
|
15580
15303
|
"transition-[filter,opacity] duration-100",
|
|
15581
15304
|
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-2 focus-visible:keyboard:outline-line-strong",
|
|
15582
|
-
"
|
|
15305
|
+
"border-0",
|
|
15583
15306
|
"font-sans font-semibold text-foreground",
|
|
15584
15307
|
"[&>svg:not([data-slot=task-status-icon])]:-mx-0.5 [&>svg[data-slot=task-status-icon]]:size-[9px]",
|
|
15585
15308
|
"[a,button]:cursor-pointer [a,button]:hover:overlay-medium [a,button]:active:overlay-medium",
|
|
@@ -15594,7 +15317,7 @@ const taskChip = tv({
|
|
|
15594
15317
|
closed: { root: ["bg-task-status-closed-soft"] }
|
|
15595
15318
|
},
|
|
15596
15319
|
variant: {
|
|
15597
|
-
default: { root: ["h-[22px] gap-1.5 px-[7px] py-0", "text-[12px] leading-4"] },
|
|
15320
|
+
default: { root: ["h-[22px] gap-1.5 rounded-chip px-[7px] py-0", "text-[12px] leading-4"] },
|
|
15598
15321
|
inline: {}
|
|
15599
15322
|
},
|
|
15600
15323
|
size: {
|
|
@@ -15602,39 +15325,21 @@ const taskChip = tv({
|
|
|
15602
15325
|
sm: {}
|
|
15603
15326
|
}
|
|
15604
15327
|
},
|
|
15605
|
-
compoundVariants: [
|
|
15606
|
-
|
|
15607
|
-
|
|
15608
|
-
|
|
15609
|
-
|
|
15610
|
-
|
|
15611
|
-
|
|
15612
|
-
|
|
15613
|
-
|
|
15614
|
-
|
|
15615
|
-
|
|
15616
|
-
|
|
15617
|
-
|
|
15618
|
-
|
|
15619
|
-
|
|
15620
|
-
},
|
|
15621
|
-
{
|
|
15622
|
-
variant: "default",
|
|
15623
|
-
size: "sm",
|
|
15624
|
-
class: { root: ["h-5 gap-1 px-[5px]"] }
|
|
15625
|
-
},
|
|
15626
|
-
{
|
|
15627
|
-
variant: "inline",
|
|
15628
|
-
status: [
|
|
15629
|
-
"todo",
|
|
15630
|
-
"in-progress",
|
|
15631
|
-
"in-review",
|
|
15632
|
-
"done",
|
|
15633
|
-
"closed"
|
|
15634
|
-
],
|
|
15635
|
-
class: { root: ["rounded-sticker border-0 px-[4.5px]", "font-semibold"] }
|
|
15636
|
-
}
|
|
15637
|
-
],
|
|
15328
|
+
compoundVariants: [{
|
|
15329
|
+
variant: "inline",
|
|
15330
|
+
status: [
|
|
15331
|
+
"todo",
|
|
15332
|
+
"in-progress",
|
|
15333
|
+
"in-review",
|
|
15334
|
+
"done",
|
|
15335
|
+
"closed"
|
|
15336
|
+
],
|
|
15337
|
+
class: { root: [...inlineChip, "[&>svg]:size-3.5 [&>svg]:self-center [&>svg:not([data-slot=task-status-icon])]:mx-0"] }
|
|
15338
|
+
}, {
|
|
15339
|
+
variant: "default",
|
|
15340
|
+
size: "sm",
|
|
15341
|
+
class: { root: ["h-5 gap-1 px-[5px]"] }
|
|
15342
|
+
}],
|
|
15638
15343
|
defaultVariants: {
|
|
15639
15344
|
variant: "default",
|
|
15640
15345
|
size: "default"
|