@bearmenu/ui 0.7.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-4JOV7FXW.js → chunk-2DEIXTBN.js} +1 -1
- package/dist/{chunk-UUJVXN2O.js → chunk-66MAPLXS.js} +3 -1
- package/dist/{chunk-Y5D5LP4A.js → chunk-7BWTYWM3.js} +14 -3
- package/dist/{chunk-ZFNOCP6W.js → chunk-H3BV4VAG.js} +15 -1
- package/dist/{chunk-TL4YU2O5.js → chunk-UKBNQO6Q.js} +2 -2
- package/dist/{chunk-UX6SWAKH.js → chunk-UZ3PCIE5.js} +119 -28
- package/dist/{chunk-YLNYXPIH.js → chunk-VBA45GLP.js} +1 -1
- package/dist/{chunk-A5ONAJCE.js → chunk-VG3PND3D.js} +1 -1
- package/dist/{chunk-ZBBUKXM5.js → chunk-X3WMRKOW.js} +1 -1
- package/dist/{chunk-HCM6LKM5.js → chunk-XNA2INVQ.js} +2 -2
- package/dist/{chunk-AV777R4G.js → chunk-YYGB4G4Q.js} +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/avatar.d.ts +10 -1
- package/dist/components/avatar.js +41 -14
- package/dist/components/badge.d.ts +11 -2
- package/dist/components/badge.js +1 -1
- package/dist/components/breadcrumb.js +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +3 -3
- package/dist/components/card.js +1 -1
- package/dist/components/carousel.js +1 -1
- package/dist/components/circular-progress.js +1 -1
- package/dist/components/combobox.js +3 -3
- package/dist/components/command.js +1 -1
- package/dist/components/currency-input.js +2 -2
- package/dist/components/date-input.js +1 -1
- package/dist/components/description-list.js +1 -1
- package/dist/components/drawer.js +5 -1
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/empty-state.js +2 -2
- package/dist/components/field.js +2 -2
- package/dist/components/filter-category-row.js +2 -2
- package/dist/components/form.js +1 -1
- package/dist/components/haptic-button.js +1 -1
- package/dist/components/input-group.js +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/item.js +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/link-button.js +1 -1
- package/dist/components/multi-select-combobox.js +4 -4
- package/dist/components/pagination.js +1 -1
- package/dist/components/place-about-tab.d.ts +17 -1
- package/dist/components/place-about-tab.js +4 -4
- package/dist/components/place-card.js +2 -2
- package/dist/components/place-details-mobile.js +7 -7
- package/dist/components/place-schedule-week.js +2 -2
- package/dist/components/popover.js +1 -1
- package/dist/components/searchable-select.js +3 -3
- package/dist/components/select.js +2 -2
- package/dist/components/selection-bar.js +1 -1
- package/dist/components/sheet.d.ts +23 -0
- package/dist/components/sheet.js +51 -14
- package/dist/components/sliding-panels.js +5 -1
- package/dist/components/sonner.js +2 -2
- package/dist/components/stepper.js +4 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/tag-group.js +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/text.d.ts +18 -0
- package/dist/components/text.js +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle.js +1 -1
- package/dist/lib/card-hover.d.ts +75 -0
- package/dist/lib/card-hover.js +18 -0
- package/package.json +1 -1
- package/src/components/accordion.tsx +1 -1
- package/src/components/avatar.stories.tsx +59 -26
- package/src/components/avatar.test.tsx +129 -0
- package/src/components/avatar.tsx +93 -37
- package/src/components/badge.tsx +15 -3
- package/src/components/breadcrumb.tsx +1 -1
- package/src/components/button.tsx +16 -1
- package/src/components/calendar.tsx +2 -2
- package/src/components/circular-progress.tsx +1 -1
- package/src/components/command.tsx +2 -2
- package/src/components/currency-input.tsx +1 -1
- package/src/components/description-list.tsx +1 -1
- package/src/components/drawer.tsx +5 -1
- package/src/components/dropdown-menu.tsx +1 -1
- package/src/components/field.tsx +1 -1
- package/src/components/input-group.tsx +1 -1
- package/src/components/input.tsx +1 -1
- package/src/components/item.tsx +1 -1
- package/src/components/kbd.tsx +1 -1
- package/src/components/label.tsx +1 -1
- package/src/components/place-about-tab.tsx +131 -18
- package/src/components/place-card.tsx +1 -1
- package/src/components/place-details-mobile.tsx +2 -2
- package/src/components/popover.tsx +9 -1
- package/src/components/select.tsx +2 -2
- package/src/components/selection-bar.tsx +1 -1
- package/src/components/sheet.tsx +72 -12
- package/src/components/sliding-panels.stories.tsx +70 -0
- package/src/components/sliding-panels.test.tsx +116 -0
- package/src/components/sliding-panels.tsx +14 -0
- package/src/components/sonner.tsx +2 -2
- package/src/components/stepper.tsx +4 -1
- package/src/components/table.tsx +1 -1
- package/src/components/tabs.tsx +1 -1
- package/src/components/tag-group.tsx +1 -1
- package/src/components/tag.tsx +1 -1
- package/src/components/text.test.tsx +37 -3
- package/src/components/text.tsx +32 -3
- package/src/components/toggle.tsx +1 -1
- package/src/globals.css +53 -11
- package/src/lib/card-hover.ts +87 -0
- package/dist/chunk-EBAMCZDW.js +0 -112
- package/dist/chunk-VQNDZVI7.js +0 -106
- package/dist/components/toast.d.ts +0 -18
- package/dist/components/toast.js +0 -3
- package/dist/components/toaster.d.ts +0 -5
- package/dist/components/toaster.js +0 -25
- package/dist/components/use-toast.d.ts +0 -42
- package/dist/components/use-toast.js +0 -2
- package/src/components/toast.stories.tsx +0 -63
- package/src/components/toast.tsx +0 -130
- package/src/components/toaster.tsx +0 -31
- package/src/components/use-toast.ts +0 -180
package/dist/components/card.js
CHANGED
|
@@ -91,7 +91,7 @@ var CircularProgress = React.forwardRef(
|
|
|
91
91
|
]
|
|
92
92
|
}
|
|
93
93
|
),
|
|
94
|
-
showLabel && !indeterminate && /* @__PURE__ */ jsxs("span", { className: "absolute text-xs font-
|
|
94
|
+
showLabel && !indeterminate && /* @__PURE__ */ jsxs("span", { className: "absolute text-xs font-semibold tabular-nums text-foreground", children: [
|
|
95
95
|
Math.round(percent),
|
|
96
96
|
"%"
|
|
97
97
|
] })
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-
|
|
2
|
-
import { Command, CommandInput, CommandList, CommandLoading, CommandEmpty, CommandGroup, CommandItem } from '../chunk-
|
|
1
|
+
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-66MAPLXS.js';
|
|
2
|
+
import { Command, CommandInput, CommandList, CommandLoading, CommandEmpty, CommandGroup, CommandItem } from '../chunk-XNA2INVQ.js';
|
|
3
3
|
import '../chunk-FRPPIXMY.js';
|
|
4
|
-
import { Button } from '../chunk-
|
|
4
|
+
import { Button } from '../chunk-H3BV4VAG.js';
|
|
5
5
|
import '../chunk-R47NEOSI.js';
|
|
6
6
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
7
7
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandSeparator, CommandShortcut } from '../chunk-
|
|
1
|
+
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandSeparator, CommandShortcut } from '../chunk-XNA2INVQ.js';
|
|
2
2
|
import '../chunk-FRPPIXMY.js';
|
|
3
3
|
import '../chunk-FEK5XGZW.js';
|
|
4
4
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Input } from '../chunk-
|
|
1
|
+
import { Input } from '../chunk-YYGB4G4Q.js';
|
|
2
2
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
3
3
|
import { __objRest, __spreadValues } from '../chunk-3GWWZKX7.js';
|
|
4
4
|
import * as React from 'react';
|
|
@@ -109,7 +109,7 @@ var CurrencyInput = React.forwardRef(
|
|
|
109
109
|
"span",
|
|
110
110
|
{
|
|
111
111
|
"aria-hidden": true,
|
|
112
|
-
className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-sm font-
|
|
112
|
+
className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-sm font-semibold text-muted-foreground",
|
|
113
113
|
children: currency
|
|
114
114
|
}
|
|
115
115
|
),
|
|
@@ -43,7 +43,7 @@ var DescriptionTerm = React.forwardRef(
|
|
|
43
43
|
__spreadValues({
|
|
44
44
|
ref,
|
|
45
45
|
"data-slot": "description-term",
|
|
46
|
-
className: cn("text-xs font-
|
|
46
|
+
className: cn("text-xs font-semibold uppercase tracking-wide text-muted-foreground", className)
|
|
47
47
|
}, props)
|
|
48
48
|
);
|
|
49
49
|
}
|
|
@@ -53,7 +53,11 @@ var DrawerContent = React.forwardRef((_a, ref) => {
|
|
|
53
53
|
className: cn(
|
|
54
54
|
"fixed z-[1000] flex border-border bg-card shadow-2xl",
|
|
55
55
|
positionClasses,
|
|
56
|
-
|
|
56
|
+
// The single height cap for every vertical drawer. Consumers should
|
|
57
|
+
// NOT restate it: six app call sites carried an identical
|
|
58
|
+
// `!max-h-[90vh]`, so this default governed nothing and changing it
|
|
59
|
+
// here would have reached none of them.
|
|
60
|
+
isVertical ? "max-h-[85vh]" : "",
|
|
57
61
|
variant === "floating" && "m-3 rounded-2xl border",
|
|
58
62
|
className
|
|
59
63
|
)
|
|
@@ -147,7 +147,7 @@ function DropdownMenuLabel(_a) {
|
|
|
147
147
|
__spreadValues({
|
|
148
148
|
"data-slot": "dropdown-menu-label",
|
|
149
149
|
"data-inset": inset,
|
|
150
|
-
className: cn("px-2 py-1.5 text-sm font-
|
|
150
|
+
className: cn("px-2 py-1.5 text-sm font-semibold data-[inset]:pl-8", className)
|
|
151
151
|
}, props)
|
|
152
152
|
);
|
|
153
153
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Button } from '../chunk-
|
|
1
|
+
import { Button } from '../chunk-H3BV4VAG.js';
|
|
2
2
|
import '../chunk-R47NEOSI.js';
|
|
3
|
-
import { Text } from '../chunk-
|
|
3
|
+
import { Text } from '../chunk-7BWTYWM3.js';
|
|
4
4
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
5
5
|
import { __objRest, __spreadProps, __spreadValues } from '../chunk-3GWWZKX7.js';
|
|
6
6
|
import * as React from 'react';
|
package/dist/components/field.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Label } from '../chunk-
|
|
1
|
+
import { Label } from '../chunk-2DEIXTBN.js';
|
|
2
2
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
3
3
|
import { __objRest, __spreadProps, __spreadValues } from '../chunk-3GWWZKX7.js';
|
|
4
4
|
import * as React from 'react';
|
|
@@ -120,7 +120,7 @@ var FieldLegend = React.forwardRef(
|
|
|
120
120
|
__spreadValues({
|
|
121
121
|
ref,
|
|
122
122
|
"data-slot": "field-legend",
|
|
123
|
-
className: cn("px-1 text-sm font-
|
|
123
|
+
className: cn("px-1 text-sm font-semibold text-foreground", className)
|
|
124
124
|
}, props)
|
|
125
125
|
);
|
|
126
126
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Text } from '../chunk-
|
|
2
|
-
import { Badge } from '../chunk-
|
|
1
|
+
import { Text } from '../chunk-7BWTYWM3.js';
|
|
2
|
+
import { Badge } from '../chunk-UKBNQO6Q.js';
|
|
3
3
|
import '../chunk-FEK5XGZW.js';
|
|
4
4
|
import '../chunk-3GWWZKX7.js';
|
|
5
5
|
import { ChevronRight } from 'lucide-react';
|
package/dist/components/form.js
CHANGED
|
@@ -85,7 +85,7 @@ var InputGroupButton = React.forwardRef(
|
|
|
85
85
|
type,
|
|
86
86
|
"data-slot": "input-group-button",
|
|
87
87
|
className: cn(
|
|
88
|
-
"inline-flex h-7 min-w-7 cursor-pointer items-center justify-center gap-1 rounded-md px-2 text-xs font-
|
|
88
|
+
"inline-flex h-7 min-w-7 cursor-pointer items-center justify-center gap-1 rounded-md px-2 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&:has(svg:only-child)]:w-7 [&:has(svg:only-child)]:px-0 [&_svg]:size-4",
|
|
89
89
|
className
|
|
90
90
|
)
|
|
91
91
|
}, props)
|
package/dist/components/input.js
CHANGED
package/dist/components/item.js
CHANGED
|
@@ -82,7 +82,7 @@ var ItemTitle = React.forwardRef(
|
|
|
82
82
|
__spreadValues({
|
|
83
83
|
ref,
|
|
84
84
|
"data-slot": "item-title",
|
|
85
|
-
className: cn("truncate text-sm font-
|
|
85
|
+
className: cn("truncate text-sm font-semibold text-foreground", className)
|
|
86
86
|
}, props)
|
|
87
87
|
);
|
|
88
88
|
}
|
package/dist/components/kbd.js
CHANGED
|
@@ -5,7 +5,7 @@ import { cva } from 'class-variance-authority';
|
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
var kbdVariants = cva(
|
|
8
|
-
"inline-flex select-none items-center justify-center gap-1 rounded-md border border-border bg-muted font-mono font-
|
|
8
|
+
"inline-flex select-none items-center justify-center gap-1 rounded-md border border-border bg-muted font-mono font-semibold text-muted-foreground shadow-[0_1px_0_0_var(--border)]",
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
size: {
|
package/dist/components/label.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Checkbox } from '../chunk-D5QHEHXJ.js';
|
|
2
|
-
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-
|
|
3
|
-
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from '../chunk-
|
|
2
|
+
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-66MAPLXS.js';
|
|
3
|
+
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from '../chunk-XNA2INVQ.js';
|
|
4
4
|
import '../chunk-FRPPIXMY.js';
|
|
5
|
-
import { Button } from '../chunk-
|
|
5
|
+
import { Button } from '../chunk-H3BV4VAG.js';
|
|
6
6
|
import '../chunk-R47NEOSI.js';
|
|
7
|
-
import { Badge } from '../chunk-
|
|
7
|
+
import { Badge } from '../chunk-UKBNQO6Q.js';
|
|
8
8
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
9
9
|
import '../chunk-3GWWZKX7.js';
|
|
10
10
|
import * as React from 'react';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buttonVariants } from '../chunk-
|
|
1
|
+
import { buttonVariants } from '../chunk-H3BV4VAG.js';
|
|
2
2
|
import '../chunk-R47NEOSI.js';
|
|
3
3
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
4
4
|
import { __objRest, __spreadValues, __spreadProps } from '../chunk-3GWWZKX7.js';
|
|
@@ -8,10 +8,26 @@ interface PlaceAboutTabProps {
|
|
|
8
8
|
mapSlot?: React.ReactNode;
|
|
9
9
|
/** Slot for an embedded busyness chart. Rendered only when both this prop and `place.busyness` are present. */
|
|
10
10
|
busynessSlot?: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Slot for "how to order from here" — delivery platforms and the like.
|
|
13
|
+
* Sits directly after contact, because it answers the same question contact
|
|
14
|
+
* does (how do I transact with this venue) and is the most actionable thing
|
|
15
|
+
* the sheet carries.
|
|
16
|
+
*
|
|
17
|
+
* Named for its MEANING, not its position, so a later reordering doesn't turn
|
|
18
|
+
* the prop name into a lie.
|
|
19
|
+
*/
|
|
20
|
+
orderingSlot?: React.ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Slot for "what the rest of the web says / where else this venue lives" —
|
|
23
|
+
* third-party ratings and the venue's own profiles. Sits after the practical
|
|
24
|
+
* block: it is corroboration, wanted after the facts, not before them.
|
|
25
|
+
*/
|
|
26
|
+
reputationSlot?: React.ReactNode;
|
|
11
27
|
/** Fires when the user clicks a contact link (phone/website/social). */
|
|
12
28
|
onLinkClick?: (kind: PlaceLinkKind, url: string) => void;
|
|
13
29
|
className?: string;
|
|
14
30
|
}
|
|
15
|
-
declare function PlaceAboutTab({ place, labels, mapSlot, busynessSlot, onLinkClick, className, }: PlaceAboutTabProps): react_jsx_runtime.JSX.Element;
|
|
31
|
+
declare function PlaceAboutTab({ place, labels, mapSlot, busynessSlot, orderingSlot, reputationSlot, onLinkClick, className, }: PlaceAboutTabProps): react_jsx_runtime.JSX.Element;
|
|
16
32
|
|
|
17
33
|
export { PlaceAboutTab, type PlaceAboutTabProps };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { PlaceAboutTab } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { PlaceAboutTab } from '../chunk-UZ3PCIE5.js';
|
|
2
|
+
import '../chunk-VBA45GLP.js';
|
|
3
3
|
import '../chunk-WSRWFA6K.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-VG3PND3D.js';
|
|
5
|
+
import '../chunk-7BWTYWM3.js';
|
|
6
6
|
import '../chunk-FEK5XGZW.js';
|
|
7
7
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Text } from '../chunk-
|
|
1
|
+
import { Text } from '../chunk-7BWTYWM3.js';
|
|
2
2
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
3
3
|
import '../chunk-3GWWZKX7.js';
|
|
4
4
|
import { memo, useState } from 'react';
|
|
@@ -61,7 +61,7 @@ var PlaceCard = memo(function PlaceCard2({
|
|
|
61
61
|
/* @__PURE__ */ jsx(Text, { as: "h3", weight: "bold", leading: "tight", color: "default", className: "text-lg mb-2", children: place.name }),
|
|
62
62
|
ratingDisplay !== null && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
63
63
|
/* @__PURE__ */ jsx(Star, { className: "w-4 h-4 fill-primary text-primary", "aria-hidden": "true" }),
|
|
64
|
-
/* @__PURE__ */ jsx("span", { className: "font-
|
|
64
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold text-sm", children: ratingDisplay }),
|
|
65
65
|
reviewCount !== void 0 && reviewCount !== null && /* @__PURE__ */ jsxs("span", { className: "text-xs text-muted-foreground", children: [
|
|
66
66
|
"(",
|
|
67
67
|
reviewCount,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { PlaceAboutTab } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
import { PlaceAboutTab } from '../chunk-UZ3PCIE5.js';
|
|
2
|
+
import '../chunk-VBA45GLP.js';
|
|
3
3
|
import '../chunk-WSRWFA6K.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import { Text } from '../chunk-
|
|
6
|
-
import { Badge } from '../chunk-
|
|
4
|
+
import '../chunk-VG3PND3D.js';
|
|
5
|
+
import { Text } from '../chunk-7BWTYWM3.js';
|
|
6
|
+
import { Badge } from '../chunk-UKBNQO6Q.js';
|
|
7
7
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
8
8
|
import '../chunk-3GWWZKX7.js';
|
|
9
9
|
import { useState } from 'react';
|
|
@@ -55,7 +55,7 @@ function PlaceDetailsMobile({
|
|
|
55
55
|
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col bg-background", className), children: [
|
|
56
56
|
/* @__PURE__ */ jsxs("div", { className: "px-4 pt-4", children: [
|
|
57
57
|
/* @__PURE__ */ jsx("div", { className: "rounded-[22px] overflow-hidden relative", children: /* @__PURE__ */ jsxs("div", { className: "h-44 flex items-center justify-center relative overflow-hidden", children: [
|
|
58
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute bottom-2 right-2 z-20 flex items-center gap-1.5 bg-surface border border-border px-2.5 h-7 rounded-[12px] text-[11px] font-
|
|
58
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute bottom-2 right-2 z-20 flex items-center gap-1.5 bg-surface border border-border px-2.5 h-7 rounded-[12px] text-[11px] font-semibold text-foreground", children: [
|
|
59
59
|
/* @__PURE__ */ jsx(
|
|
60
60
|
"span",
|
|
61
61
|
{
|
|
@@ -174,7 +174,7 @@ function MobileTabPlaceholder({
|
|
|
174
174
|
"div",
|
|
175
175
|
{
|
|
176
176
|
className: cn(
|
|
177
|
-
"flex flex-1 min-w-0 items-center justify-center gap-1 px-1 py-2.5 text-[12px] font-
|
|
177
|
+
"flex flex-1 min-w-0 items-center justify-center gap-1 px-1 py-2.5 text-[12px] font-semibold border-b-2 -mb-px",
|
|
178
178
|
active ? "border-primary text-foreground" : "border-transparent text-muted-foreground"
|
|
179
179
|
),
|
|
180
180
|
"aria-hidden": true,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from '../chunk-
|
|
1
|
+
export { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from '../chunk-66MAPLXS.js';
|
|
2
2
|
import '../chunk-FEK5XGZW.js';
|
|
3
3
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-
|
|
2
|
-
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from '../chunk-
|
|
1
|
+
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-66MAPLXS.js';
|
|
2
|
+
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from '../chunk-XNA2INVQ.js';
|
|
3
3
|
import '../chunk-FRPPIXMY.js';
|
|
4
|
-
import { Button } from '../chunk-
|
|
4
|
+
import { Button } from '../chunk-H3BV4VAG.js';
|
|
5
5
|
import '../chunk-R47NEOSI.js';
|
|
6
6
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
7
7
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -10,7 +10,7 @@ var Select = SelectPrimitive.Root;
|
|
|
10
10
|
var SelectGroup = SelectPrimitive.Group;
|
|
11
11
|
var SelectValue = SelectPrimitive.Value;
|
|
12
12
|
var selectTriggerVariants = cva(
|
|
13
|
-
"flex w-full items-center justify-between rounded-xl bg-background border border-border text-sm font-
|
|
13
|
+
"flex w-full items-center justify-between rounded-xl bg-background border border-border text-sm font-semibold text-foreground transition-colors focus:outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground [&>span]:line-clamp-1 hover:border-foreground/30 aria-invalid:border-destructive aria-invalid:focus-visible:ring-destructive/40",
|
|
14
14
|
{
|
|
15
15
|
variants: {
|
|
16
16
|
size: {
|
|
@@ -118,7 +118,7 @@ var SelectItem = React.forwardRef((_a, ref) => {
|
|
|
118
118
|
ref,
|
|
119
119
|
"data-slot": "select-item",
|
|
120
120
|
className: cn(
|
|
121
|
-
"relative flex w-full cursor-default select-none items-center rounded-md py-2 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[state=checked]:font-
|
|
121
|
+
"relative flex w-full cursor-default select-none items-center rounded-md py-2 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[state=checked]:font-semibold",
|
|
122
122
|
className
|
|
123
123
|
)
|
|
124
124
|
}, props), {
|
|
@@ -36,7 +36,7 @@ var SelectionBar = React.forwardRef(
|
|
|
36
36
|
)
|
|
37
37
|
}, props), {
|
|
38
38
|
children: [
|
|
39
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm font-
|
|
39
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm font-semibold text-foreground", children: [
|
|
40
40
|
onClear && /* @__PURE__ */ jsx(
|
|
41
41
|
"button",
|
|
42
42
|
{
|
|
@@ -9,10 +9,33 @@ declare const SheetTrigger: React.ForwardRefExoticComponent<DialogPrimitive.Dial
|
|
|
9
9
|
declare const SheetClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
10
|
declare const SheetPortal: React.FC<DialogPrimitive.DialogPortalProps>;
|
|
11
11
|
declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
/**
|
|
13
|
+
* `attachment` controls whether the panel is welded to the viewport edge or
|
|
14
|
+
* floats clear of it.
|
|
15
|
+
*
|
|
16
|
+
* - `edge` (default) — the classic sheet: full bleed against its side, only the
|
|
17
|
+
* two corners facing inward rounded. Every existing consumer gets this, so
|
|
18
|
+
* adding `inset` changes nothing already shipped.
|
|
19
|
+
* - `inset` — a floating panel: held off all four edges, rounded on every
|
|
20
|
+
* corner, page visible around it. Reads as a surface laid ON the page rather
|
|
21
|
+
* than one grafted to it, which is what detail surfaces want — the content
|
|
22
|
+
* behind stays legible as context instead of being cropped away.
|
|
23
|
+
*
|
|
24
|
+
* `inset` deliberately drops the border. At an edge the border is the seam
|
|
25
|
+
* between panel and viewport and has work to do; floating, the shadow already
|
|
26
|
+
* separates the two and a border only draws a hard line around the radius.
|
|
27
|
+
*/
|
|
12
28
|
declare const sheetVariants: (props?: ({
|
|
13
29
|
side?: "left" | "right" | "bottom" | "top" | null | undefined;
|
|
30
|
+
attachment?: "inset" | "edge" | null | undefined;
|
|
14
31
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
15
32
|
interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
|
|
33
|
+
/**
|
|
34
|
+
* Suppress the built-in floating close button. Use when the panel renders its
|
|
35
|
+
* own header row with a close control, which would otherwise stack two close
|
|
36
|
+
* buttons in the same corner.
|
|
37
|
+
*/
|
|
38
|
+
hideClose?: boolean;
|
|
16
39
|
}
|
|
17
40
|
declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
18
41
|
declare const SheetHeader: {
|
package/dist/components/sheet.js
CHANGED
|
@@ -26,32 +26,69 @@ var SheetOverlay = React.forwardRef((_a, ref) => {
|
|
|
26
26
|
});
|
|
27
27
|
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
28
28
|
var sheetVariants = cva(
|
|
29
|
-
"fixed z-[1000] gap-4 bg-background border-border
|
|
29
|
+
"fixed z-[1000] gap-4 bg-background border-border shadow-2xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:duration-[var(--duration-deliberate)] data-[state=closed]:duration-[var(--duration-exit-standard)] data-[state=open]:ease-[var(--ease-enter)] data-[state=closed]:ease-[var(--ease-exit)]",
|
|
30
30
|
{
|
|
31
31
|
variants: {
|
|
32
32
|
side: {
|
|
33
|
-
top: "inset-x-0 top-0
|
|
34
|
-
bottom: "inset-x-0 bottom-0
|
|
35
|
-
left: "inset-y-0 left-0 h-full w-3/4
|
|
36
|
-
right: "inset-y-0 right-0 h-full w-3/4
|
|
33
|
+
top: "inset-x-0 top-0 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
34
|
+
bottom: "inset-x-0 bottom-0 data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
35
|
+
left: "inset-y-0 left-0 h-full w-3/4 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",
|
|
36
|
+
right: "inset-y-0 right-0 h-full w-3/4 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right"
|
|
37
|
+
},
|
|
38
|
+
attachment: {
|
|
39
|
+
edge: "p-6",
|
|
40
|
+
// Padding is the caller's business here: a detail surface runs a gallery
|
|
41
|
+
// and a sticky action bar to the panel edge, and a fixed p-6 would inset
|
|
42
|
+
// both. `edge` keeps its p-6 so nothing already shipped shifts.
|
|
43
|
+
inset: "rounded-2xl overflow-hidden"
|
|
37
44
|
}
|
|
38
45
|
},
|
|
46
|
+
compoundVariants: [
|
|
47
|
+
// `edge` restates exactly what each side carried before `attachment`
|
|
48
|
+
// existed — the seam border and the two inward-facing corners. Kept as
|
|
49
|
+
// compounds rather than left on `side` so `inset` is not fighting them
|
|
50
|
+
// through class-merge order.
|
|
51
|
+
// `sm:max-w-sm` lives here, not on `side`: an inset panel is sized by its
|
|
52
|
+
// caller, and a responsive cap left on `side` cannot be overridden from
|
|
53
|
+
// className — tailwind-merge scopes `sm:max-w-*` and `max-w-*` to
|
|
54
|
+
// different groups, so `max-w-none` loses to it at every width ≥ sm.
|
|
55
|
+
{ side: "top", attachment: "edge", class: "border-b" },
|
|
56
|
+
{ side: "bottom", attachment: "edge", class: "border-t rounded-t-2xl" },
|
|
57
|
+
{ side: "left", attachment: "edge", class: "border-r rounded-r-2xl sm:max-w-sm" },
|
|
58
|
+
{ side: "right", attachment: "edge", class: "border-l rounded-l-2xl sm:max-w-sm" },
|
|
59
|
+
// The inset offsets live here rather than on `attachment` because each
|
|
60
|
+
// side has to give up its own edge: a right-side panel clears top, right
|
|
61
|
+
// and bottom but is still anchored to the right.
|
|
62
|
+
{ side: "right", attachment: "inset", class: "inset-y-3 right-3 h-auto" },
|
|
63
|
+
{ side: "left", attachment: "inset", class: "inset-y-3 left-3 h-auto" },
|
|
64
|
+
{ side: "top", attachment: "inset", class: "inset-x-3 top-3" },
|
|
65
|
+
{ side: "bottom", attachment: "inset", class: "inset-x-3 bottom-3" }
|
|
66
|
+
],
|
|
39
67
|
defaultVariants: {
|
|
40
|
-
side: "right"
|
|
68
|
+
side: "right",
|
|
69
|
+
attachment: "edge"
|
|
41
70
|
}
|
|
42
71
|
}
|
|
43
72
|
);
|
|
44
73
|
var SheetContent = React.forwardRef((_a, ref) => {
|
|
45
|
-
var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
|
|
74
|
+
var _b = _a, { side = "right", attachment = "edge", className, children, hideClose } = _b, props = __objRest(_b, ["side", "attachment", "className", "children", "hideClose"]);
|
|
46
75
|
return /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
47
76
|
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
48
|
-
/* @__PURE__ */ jsxs(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
77
|
+
/* @__PURE__ */ jsxs(
|
|
78
|
+
SheetPrimitive.Content,
|
|
79
|
+
__spreadProps(__spreadValues({
|
|
80
|
+
ref,
|
|
81
|
+
className: cn(sheetVariants({ side, attachment }), className)
|
|
82
|
+
}, props), {
|
|
83
|
+
children: [
|
|
84
|
+
children,
|
|
85
|
+
!hideClose && /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-lg opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary glass-hover p-2", children: [
|
|
86
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
87
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
88
|
+
] })
|
|
89
|
+
]
|
|
90
|
+
})
|
|
91
|
+
)
|
|
55
92
|
] });
|
|
56
93
|
});
|
|
57
94
|
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button } from '../chunk-
|
|
1
|
+
import { Button } from '../chunk-H3BV4VAG.js';
|
|
2
2
|
import '../chunk-R47NEOSI.js';
|
|
3
3
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
4
4
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -53,6 +53,7 @@ var SlidingPanels = ({
|
|
|
53
53
|
return /* @__PURE__ */ jsx(
|
|
54
54
|
"div",
|
|
55
55
|
{
|
|
56
|
+
"data-slot": "sliding-panels",
|
|
56
57
|
className: cn(
|
|
57
58
|
"relative overflow-clip transition-[height] duration-500 ease-[cubic-bezier(0.32,0.72,0,1)]",
|
|
58
59
|
className
|
|
@@ -68,12 +69,15 @@ var SlidingPanels = ({
|
|
|
68
69
|
ref: (el) => {
|
|
69
70
|
panelRefs.current[index] = el;
|
|
70
71
|
},
|
|
72
|
+
"data-slot": "sliding-panel",
|
|
73
|
+
"data-state": isActive ? "active" : "inactive",
|
|
71
74
|
className: cn(
|
|
72
75
|
"absolute top-0 left-0 w-full transition-transform duration-500 ease-[cubic-bezier(0.32,0.72,0,1)]",
|
|
73
76
|
isActive && "translate-x-0",
|
|
74
77
|
isLeft && "-translate-x-[calc(100%+8px)]",
|
|
75
78
|
isRight && "translate-x-[calc(100%+8px)]"
|
|
76
79
|
),
|
|
80
|
+
inert: !isActive || void 0,
|
|
77
81
|
"aria-hidden": !isActive,
|
|
78
82
|
children: [
|
|
79
83
|
panel.showBackButton && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-4", children: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __objRest, __spreadValues } from '../chunk-3GWWZKX7.js';
|
|
2
|
-
import { Loader2Icon,
|
|
2
|
+
import { Loader2Icon, CircleAlertIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon } from 'lucide-react';
|
|
3
3
|
import { useTheme } from 'next-themes';
|
|
4
4
|
import { Toaster as Toaster$1 } from 'sonner';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -16,7 +16,7 @@ var Toaster = (_a) => {
|
|
|
16
16
|
success: /* @__PURE__ */ jsx(CircleCheckIcon, { className: "size-4" }),
|
|
17
17
|
info: /* @__PURE__ */ jsx(InfoIcon, { className: "size-4" }),
|
|
18
18
|
warning: /* @__PURE__ */ jsx(TriangleAlertIcon, { className: "size-4" }),
|
|
19
|
-
error: /* @__PURE__ */ jsx(
|
|
19
|
+
error: /* @__PURE__ */ jsx(CircleAlertIcon, { className: "size-4" }),
|
|
20
20
|
loading: /* @__PURE__ */ jsx(Loader2Icon, { className: "size-4 animate-spin" })
|
|
21
21
|
},
|
|
22
22
|
style: {
|
|
@@ -58,8 +58,11 @@ var Stepper = React.forwardRef(
|
|
|
58
58
|
{
|
|
59
59
|
className: cn(
|
|
60
60
|
"whitespace-nowrap transition-colors",
|
|
61
|
+
// current and complete share a weight; COLOUR carries the
|
|
62
|
+
// state (full → 80% → 40%). `complete` was 500, the one
|
|
63
|
+
// step that is not in the 400/600/700 system.
|
|
61
64
|
status === "current" && "font-semibold text-foreground",
|
|
62
|
-
status === "complete" && "font-
|
|
65
|
+
status === "complete" && "font-semibold text-foreground/80",
|
|
63
66
|
status === "upcoming" && "text-foreground/40"
|
|
64
67
|
),
|
|
65
68
|
children: step.title
|
package/dist/components/table.js
CHANGED
|
@@ -51,7 +51,7 @@ var TableFooter = React.forwardRef((_a, ref) => {
|
|
|
51
51
|
__spreadValues({
|
|
52
52
|
ref,
|
|
53
53
|
"data-slot": "table-footer",
|
|
54
|
-
className: cn("border-t border-border bg-muted/50 font-
|
|
54
|
+
className: cn("border-t border-border bg-muted/50 font-semibold [&>tr]:last:border-b-0", className)
|
|
55
55
|
}, props)
|
|
56
56
|
);
|
|
57
57
|
});
|
package/dist/components/tabs.js
CHANGED
|
@@ -77,7 +77,7 @@ var TabsTrigger = React.forwardRef((_a, ref) => {
|
|
|
77
77
|
ref: composedRef,
|
|
78
78
|
"data-slot": "tabs-trigger",
|
|
79
79
|
className: cn(
|
|
80
|
-
"relative inline-flex items-center justify-center whitespace-nowrap text-sm font-
|
|
80
|
+
"relative inline-flex items-center justify-center whitespace-nowrap text-sm font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
81
81
|
variant === "pill" && "rounded-xl px-4 py-1.5 text-muted-foreground hover:text-foreground data-[state=active]:text-foreground",
|
|
82
82
|
variant === "underline" && orientation === "horizontal" && "h-11 rounded-none px-4 text-muted-foreground hover:text-foreground data-[state=active]:text-foreground",
|
|
83
83
|
variant === "underline" && orientation === "vertical" && "rounded-none px-4 py-2 -mr-px text-muted-foreground hover:text-foreground data-[state=active]:text-foreground justify-start",
|
|
@@ -15,7 +15,7 @@ var TagGroup = React.forwardRef((_a, ref) => {
|
|
|
15
15
|
className: cn("flex flex-wrap items-center gap-1.5", className)
|
|
16
16
|
}, props), {
|
|
17
17
|
children: [
|
|
18
|
-
label && !srLabel && /* @__PURE__ */ jsx("span", { className: "mr-1 text-xs font-
|
|
18
|
+
label && !srLabel && /* @__PURE__ */ jsx("span", { className: "mr-1 text-xs font-semibold text-muted-foreground", children: label }),
|
|
19
19
|
children
|
|
20
20
|
]
|
|
21
21
|
})
|
package/dist/components/tag.js
CHANGED