@bearmenu/ui 0.6.0 → 0.7.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/dist/chunk-A5ONAJCE.js +102 -0
- package/dist/chunk-AV777R4G.js +43 -0
- package/dist/{chunk-WKMLZDUT.js → chunk-FRPPIXMY.js} +1 -1
- package/dist/{chunk-PSR7N36A.js → chunk-HCM6LKM5.js} +1 -1
- package/dist/{chunk-YJ6OBKZJ.js → chunk-TL4YU2O5.js} +10 -3
- package/dist/chunk-UX6SWAKH.js +320 -0
- package/dist/{chunk-7PPCH42H.js → chunk-VQNDZVI7.js} +1 -1
- package/dist/chunk-WSRWFA6K.js +26 -0
- package/dist/chunk-YLNYXPIH.js +61 -0
- package/dist/components/accordion.js +1 -1
- package/dist/components/alert.d.ts +2 -2
- package/dist/components/badge.d.ts +3 -2
- package/dist/components/badge.js +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/card.d.ts +2 -2
- package/dist/components/card.js +127 -4
- package/dist/components/combobox.js +2 -2
- package/dist/components/command.d.ts +15 -15
- package/dist/components/command.js +2 -2
- package/dist/components/currency-input.js +1 -1
- package/dist/components/date-input.d.ts +1 -1
- package/dist/components/date-input.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/filter-category-row.d.ts +13 -0
- package/dist/components/filter-category-row.js +44 -0
- package/dist/components/input-group.d.ts +2 -0
- package/dist/components/input-group.js +10 -5
- package/dist/components/input.d.ts +1 -0
- package/dist/components/input.js +1 -1
- package/dist/components/item.d.ts +2 -2
- package/dist/components/multi-select-combobox.js +3 -3
- package/dist/components/phone-frame.js +1 -1
- package/dist/components/place-about-tab.d.ts +2 -2
- package/dist/components/place-about-tab.js +4 -3
- package/dist/components/place-details-mobile.js +5 -3
- package/dist/components/place-schedule-week.d.ts +19 -0
- package/dist/components/place-schedule-week.js +4 -0
- package/dist/components/place-types.d.ts +18 -9
- package/dist/components/scroll-fade.d.ts +15 -0
- package/dist/components/scroll-fade.js +121 -0
- package/dist/components/searchable-select.js +2 -2
- package/dist/components/separator.js +3 -26
- package/dist/components/sheet.js +1 -1
- package/dist/components/sliding-panels.d.ts +1 -0
- package/dist/components/sliding-panels.js +22 -6
- package/dist/components/sort-option-list.d.ts +16 -0
- package/dist/components/sort-option-list.js +46 -0
- package/dist/components/spinner.d.ts +2 -2
- package/dist/components/tabs.js +98 -17
- package/dist/components/tag.d.ts +2 -2
- package/dist/components/tag.js +3 -61
- package/dist/components/text.d.ts +3 -3
- package/dist/components/toast.js +1 -1
- package/dist/components/toaster.js +1 -1
- package/package.json +23 -112
- package/src/components/accordion.tsx +1 -1
- package/src/components/badge.tsx +9 -2
- package/src/components/card.tsx +22 -18
- package/src/components/dialog.tsx +1 -1
- package/src/components/filter-category-row.tsx +52 -0
- package/src/components/input-group.tsx +9 -4
- package/src/components/input.tsx +8 -3
- package/src/components/phone-frame.tsx +1 -1
- package/src/components/place-about-tab.stories.tsx +24 -13
- package/src/components/place-about-tab.test.tsx +92 -38
- package/src/components/place-about-tab.tsx +310 -344
- package/src/components/place-schedule-week.tsx +128 -0
- package/src/components/place-types.ts +27 -8
- package/src/components/scroll-fade.stories.tsx +98 -0
- package/src/components/scroll-fade.tsx +132 -0
- package/src/components/sheet.tsx +1 -1
- package/src/components/sliding-panels.tsx +33 -6
- package/src/components/sort-option-list.tsx +57 -0
- package/src/components/tabs.tsx +76 -11
- package/src/components/toast.tsx +1 -1
- package/src/globals.css +77 -19
- package/src/lib/motion.ts +137 -0
- package/dist/chunk-BAZFVSSG.js +0 -279
- package/dist/chunk-RIDXFY6M.js +0 -38
- package/dist/chunk-XK2ZDQVE.js +0 -122
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const buttonVariants: (props?: ({
|
|
6
|
-
variant?: "
|
|
6
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | "glass" | "brown" | "antagonist" | null | undefined;
|
|
7
7
|
size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
8
8
|
fullWidth?: boolean | null | undefined;
|
|
9
9
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -3,12 +3,12 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const cardVariants: (props?: ({
|
|
6
|
-
variant?: "
|
|
6
|
+
variant?: "outline" | "glass" | "muted" | "surface" | null | undefined;
|
|
7
7
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
8
8
|
interactive?: boolean | null | undefined;
|
|
9
9
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
10
|
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
11
|
-
variant?: "
|
|
11
|
+
variant?: "outline" | "glass" | "muted" | "surface" | null | undefined;
|
|
12
12
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
13
13
|
interactive?: boolean | null | undefined;
|
|
14
14
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
package/dist/components/card.js
CHANGED
|
@@ -1,4 +1,127 @@
|
|
|
1
|
-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '
|
|
1
|
+
import { textVariants } from '../chunk-Y5D5LP4A.js';
|
|
2
|
+
import { cn } from '../chunk-FEK5XGZW.js';
|
|
3
|
+
import { __objRest, __spreadValues } from '../chunk-3GWWZKX7.js';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var cardVariants = cva(
|
|
9
|
+
"rounded-3xl text-card-foreground transition-[background-color,border-color] duration-[var(--duration-quick)] ease-[var(--ease-standard)]",
|
|
10
|
+
{
|
|
11
|
+
variants: {
|
|
12
|
+
variant: {
|
|
13
|
+
surface: "bg-card border border-border",
|
|
14
|
+
glass: "glass",
|
|
15
|
+
outline: "bg-transparent border border-border",
|
|
16
|
+
muted: "bg-muted border border-transparent"
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
sm: "[&_[data-slot=card-header]]:p-4 [&_[data-slot=card-content]]:p-4 [&_[data-slot=card-content]]:pt-0 [&_[data-slot=card-footer]]:p-4 [&_[data-slot=card-footer]]:pt-0",
|
|
20
|
+
default: "[&_[data-slot=card-header]]:p-6 [&_[data-slot=card-content]]:p-6 [&_[data-slot=card-content]]:pt-0 [&_[data-slot=card-footer]]:p-6 [&_[data-slot=card-footer]]:pt-0",
|
|
21
|
+
lg: "[&_[data-slot=card-header]]:p-8 [&_[data-slot=card-content]]:p-8 [&_[data-slot=card-content]]:pt-0 [&_[data-slot=card-footer]]:p-8 [&_[data-slot=card-footer]]:pt-0"
|
|
22
|
+
},
|
|
23
|
+
// Interactive variant follows v1.0 `press-response` archetype:
|
|
24
|
+
// hover lift via shadow + translate (200ms), press scale-down (instant).
|
|
25
|
+
interactive: {
|
|
26
|
+
true: "cursor-pointer transition-[transform,border-color,box-shadow] duration-[var(--duration-quick)] ease-[var(--ease-standard)] hover:border-primary/40 hover:-translate-y-0.5 hover:shadow-md active:scale-[0.97] active:duration-[var(--duration-instant)] motion-reduce:hover:translate-y-0 motion-reduce:active:scale-100",
|
|
27
|
+
false: ""
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
variant: "surface",
|
|
32
|
+
size: "default",
|
|
33
|
+
interactive: false
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
var Card = React.forwardRef((_a, ref) => {
|
|
38
|
+
var _b = _a, { className, variant, size, interactive } = _b, props = __objRest(_b, ["className", "variant", "size", "interactive"]);
|
|
39
|
+
return /* @__PURE__ */ jsx(
|
|
40
|
+
"div",
|
|
41
|
+
__spreadValues({
|
|
42
|
+
ref,
|
|
43
|
+
"data-slot": "card",
|
|
44
|
+
className: cn(cardVariants({ variant, size, interactive }), className)
|
|
45
|
+
}, props)
|
|
46
|
+
);
|
|
47
|
+
});
|
|
48
|
+
Card.displayName = "Card";
|
|
49
|
+
var CardHeader = React.forwardRef(
|
|
50
|
+
(_a, ref) => {
|
|
51
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
52
|
+
return /* @__PURE__ */ jsx(
|
|
53
|
+
"div",
|
|
54
|
+
__spreadValues({
|
|
55
|
+
ref,
|
|
56
|
+
"data-slot": "card-header",
|
|
57
|
+
className: cn("flex flex-col space-y-1.5 p-6", className)
|
|
58
|
+
}, props)
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
CardHeader.displayName = "CardHeader";
|
|
63
|
+
var CardTitle = React.forwardRef(
|
|
64
|
+
(_a, ref) => {
|
|
65
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
66
|
+
return /* @__PURE__ */ jsx(
|
|
67
|
+
"div",
|
|
68
|
+
__spreadValues({
|
|
69
|
+
ref,
|
|
70
|
+
"data-slot": "card-title",
|
|
71
|
+
className: cn(textVariants({ variant: "h4", wrap: "balance" }), className)
|
|
72
|
+
}, props)
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
CardTitle.displayName = "CardTitle";
|
|
77
|
+
var CardDescription = React.forwardRef(
|
|
78
|
+
(_a, ref) => {
|
|
79
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
80
|
+
return /* @__PURE__ */ jsx(
|
|
81
|
+
"div",
|
|
82
|
+
__spreadValues({
|
|
83
|
+
ref,
|
|
84
|
+
"data-slot": "card-description",
|
|
85
|
+
className: cn("text-sm", textVariants({ color: "muted", wrap: "pretty" }), className)
|
|
86
|
+
}, props)
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
CardDescription.displayName = "CardDescription";
|
|
91
|
+
var CardContent = React.forwardRef(
|
|
92
|
+
(_a, ref) => {
|
|
93
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
94
|
+
return /* @__PURE__ */ jsx("div", __spreadValues({ ref, "data-slot": "card-content", className: cn("p-6 pt-0", className) }, props));
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
CardContent.displayName = "CardContent";
|
|
98
|
+
var CardAction = React.forwardRef(
|
|
99
|
+
(_a, ref) => {
|
|
100
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
101
|
+
return /* @__PURE__ */ jsx(
|
|
102
|
+
"div",
|
|
103
|
+
__spreadValues({
|
|
104
|
+
ref,
|
|
105
|
+
"data-slot": "card-action",
|
|
106
|
+
className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className)
|
|
107
|
+
}, props)
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
CardAction.displayName = "CardAction";
|
|
112
|
+
var CardFooter = React.forwardRef(
|
|
113
|
+
(_a, ref) => {
|
|
114
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
115
|
+
return /* @__PURE__ */ jsx(
|
|
116
|
+
"div",
|
|
117
|
+
__spreadValues({
|
|
118
|
+
ref,
|
|
119
|
+
"data-slot": "card-footer",
|
|
120
|
+
className: cn("flex items-center p-6 pt-0", className)
|
|
121
|
+
}, props)
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
CardFooter.displayName = "CardFooter";
|
|
126
|
+
|
|
127
|
+
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, cardVariants };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-UUJVXN2O.js';
|
|
2
|
-
import { Command, CommandInput, CommandList, CommandLoading, CommandEmpty, CommandGroup, CommandItem } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
2
|
+
import { Command, CommandInput, CommandList, CommandLoading, CommandEmpty, CommandGroup, CommandItem } from '../chunk-HCM6LKM5.js';
|
|
3
|
+
import '../chunk-FRPPIXMY.js';
|
|
4
4
|
import { Button } from '../chunk-ZFNOCP6W.js';
|
|
5
5
|
import '../chunk-R47NEOSI.js';
|
|
6
6
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
@@ -4,11 +4,11 @@ import { DialogProps } from '@radix-ui/react-dialog';
|
|
|
4
4
|
|
|
5
5
|
declare const Command: React.ForwardRefExoticComponent<Omit<{
|
|
6
6
|
children?: React.ReactNode;
|
|
7
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
7
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
8
8
|
ref?: React.Ref<HTMLDivElement>;
|
|
9
9
|
} & {
|
|
10
10
|
asChild?: boolean;
|
|
11
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild"
|
|
11
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
12
12
|
label?: string;
|
|
13
13
|
shouldFilter?: boolean;
|
|
14
14
|
filter?: (value: string, search: string, keywords?: string[]) => number;
|
|
@@ -28,61 +28,61 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
|
|
|
28
28
|
ref?: React.Ref<HTMLInputElement>;
|
|
29
29
|
} & {
|
|
30
30
|
asChild?: boolean;
|
|
31
|
-
}, "
|
|
31
|
+
}, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
|
|
32
32
|
value?: string;
|
|
33
33
|
onValueChange?: (search: string) => void;
|
|
34
34
|
} & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
35
35
|
declare const CommandList: React.ForwardRefExoticComponent<Omit<{
|
|
36
36
|
children?: React.ReactNode;
|
|
37
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
37
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
38
38
|
ref?: React.Ref<HTMLDivElement>;
|
|
39
39
|
} & {
|
|
40
40
|
asChild?: boolean;
|
|
41
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild"
|
|
41
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
42
42
|
label?: string;
|
|
43
43
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
44
44
|
declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
|
|
45
45
|
children?: React.ReactNode;
|
|
46
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
46
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
47
47
|
ref?: React.Ref<HTMLDivElement>;
|
|
48
48
|
} & {
|
|
49
49
|
asChild?: boolean;
|
|
50
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild"
|
|
50
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
51
51
|
declare const CommandLoading: React.ForwardRefExoticComponent<Omit<{
|
|
52
52
|
children?: React.ReactNode;
|
|
53
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
53
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
54
54
|
ref?: React.Ref<HTMLDivElement>;
|
|
55
55
|
} & {
|
|
56
56
|
asChild?: boolean;
|
|
57
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild"
|
|
57
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
58
58
|
progress?: number;
|
|
59
59
|
label?: string;
|
|
60
60
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
61
61
|
declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
62
62
|
children?: React.ReactNode;
|
|
63
|
-
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
63
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
64
64
|
ref?: React.Ref<HTMLDivElement>;
|
|
65
65
|
} & {
|
|
66
66
|
asChild?: boolean;
|
|
67
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild"
|
|
67
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
|
|
68
68
|
heading?: React.ReactNode;
|
|
69
69
|
value?: string;
|
|
70
70
|
forceMount?: boolean;
|
|
71
71
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
72
|
-
declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
72
|
+
declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
73
73
|
ref?: React.Ref<HTMLDivElement>;
|
|
74
74
|
} & {
|
|
75
75
|
asChild?: boolean;
|
|
76
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild"
|
|
76
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
77
77
|
alwaysRender?: boolean;
|
|
78
78
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
79
79
|
declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
80
80
|
children?: React.ReactNode;
|
|
81
|
-
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
81
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
82
82
|
ref?: React.Ref<HTMLDivElement>;
|
|
83
83
|
} & {
|
|
84
84
|
asChild?: boolean;
|
|
85
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild"
|
|
85
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
|
|
86
86
|
disabled?: boolean;
|
|
87
87
|
onSelect?: (value: string) => void;
|
|
88
88
|
value?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandSeparator, CommandShortcut } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandSeparator, CommandShortcut } from '../chunk-HCM6LKM5.js';
|
|
2
|
+
import '../chunk-FRPPIXMY.js';
|
|
3
3
|
import '../chunk-FEK5XGZW.js';
|
|
4
4
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
declare const DateInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "
|
|
3
|
+
declare const DateInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
|
|
4
4
|
/** Native input type. Defaults to "date". */
|
|
5
5
|
type?: "date" | "datetime-local" | "time" | "month" | "week";
|
|
6
6
|
size?: "sm" | "default" | "lg";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, dialogContentVariants } from '../chunk-
|
|
1
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, dialogContentVariants } from '../chunk-FRPPIXMY.js';
|
|
2
2
|
import '../chunk-FEK5XGZW.js';
|
|
3
3
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { LucideIcon } from 'lucide-react';
|
|
3
|
+
|
|
4
|
+
interface FilterCategoryRowProps {
|
|
5
|
+
icon: LucideIcon;
|
|
6
|
+
label: string;
|
|
7
|
+
description: string;
|
|
8
|
+
count?: number;
|
|
9
|
+
onClick: () => void;
|
|
10
|
+
}
|
|
11
|
+
declare function FilterCategoryRow({ icon: Icon, label, description, count, onClick, }: FilterCategoryRowProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { FilterCategoryRow };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Text } from '../chunk-Y5D5LP4A.js';
|
|
2
|
+
import { Badge } from '../chunk-TL4YU2O5.js';
|
|
3
|
+
import '../chunk-FEK5XGZW.js';
|
|
4
|
+
import '../chunk-3GWWZKX7.js';
|
|
5
|
+
import { ChevronRight } from 'lucide-react';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
function FilterCategoryRow({
|
|
9
|
+
icon: Icon,
|
|
10
|
+
label,
|
|
11
|
+
description,
|
|
12
|
+
count = 0,
|
|
13
|
+
onClick
|
|
14
|
+
}) {
|
|
15
|
+
return /* @__PURE__ */ jsxs(
|
|
16
|
+
"button",
|
|
17
|
+
{
|
|
18
|
+
type: "button",
|
|
19
|
+
onClick,
|
|
20
|
+
className: "flex items-center justify-between w-full py-3 transition-colors hover:bg-muted/50 rounded-lg px-2 -mx-2",
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
23
|
+
/* @__PURE__ */ jsx(
|
|
24
|
+
Icon,
|
|
25
|
+
{
|
|
26
|
+
"aria-hidden": "true",
|
|
27
|
+
className: "w-5 h-5 text-muted-foreground flex-shrink-0"
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ jsxs("div", { className: "text-left", children: [
|
|
31
|
+
/* @__PURE__ */ jsx(Text, { as: "p", weight: "medium", children: label }),
|
|
32
|
+
/* @__PURE__ */ jsx(Text, { as: "p", variant: "body-sm", color: "muted", children: description })
|
|
33
|
+
] })
|
|
34
|
+
] }),
|
|
35
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
36
|
+
count > 0 && /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "text-xs", children: count }),
|
|
37
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "w-5 h-5 text-muted-foreground" })
|
|
38
|
+
] })
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { FilterCategoryRow };
|
|
@@ -4,9 +4,11 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
|
|
5
5
|
declare const inputGroupVariants: (props?: ({
|
|
6
6
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
7
|
+
shape?: "rounded" | "pill" | null | undefined;
|
|
7
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
9
|
declare const InputGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
9
10
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
11
|
+
shape?: "rounded" | "pill" | null | undefined;
|
|
10
12
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
11
13
|
declare const InputGroupInput: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & React.RefAttributes<HTMLInputElement>>;
|
|
12
14
|
declare const InputGroupAddon: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
@@ -6,29 +6,34 @@ import { cva } from 'class-variance-authority';
|
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
8
8
|
var inputGroupVariants = cva(
|
|
9
|
-
"flex items-center w-full
|
|
9
|
+
"flex items-center w-full border border-border bg-background text-base md:text-sm text-foreground transition-colors focus-within:outline-none focus-within:ring-2 focus-within:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 has-[input:disabled]:cursor-not-allowed has-[input:disabled]:opacity-50 aria-invalid:border-destructive aria-invalid:focus-within:ring-destructive/40",
|
|
10
10
|
{
|
|
11
11
|
variants: {
|
|
12
12
|
size: {
|
|
13
13
|
sm: "h-9",
|
|
14
14
|
default: "h-11",
|
|
15
15
|
lg: "h-12"
|
|
16
|
+
},
|
|
17
|
+
shape: {
|
|
18
|
+
rounded: "rounded-xl focus-within:ring-ring",
|
|
19
|
+
pill: "rounded-full shadow-[var(--shadow-card)] focus-within:ring-accent/30"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
defaultVariants: {
|
|
19
|
-
size: "default"
|
|
23
|
+
size: "default",
|
|
24
|
+
shape: "rounded"
|
|
20
25
|
}
|
|
21
26
|
}
|
|
22
27
|
);
|
|
23
28
|
var InputGroupContext = React.createContext({});
|
|
24
29
|
var InputGroup = React.forwardRef((_a, ref) => {
|
|
25
|
-
var _b = _a, { className, size, children } = _b, props = __objRest(_b, ["className", "size", "children"]);
|
|
26
|
-
return /* @__PURE__ */ jsx(InputGroupContext.Provider, { value: { size }, children: /* @__PURE__ */ jsx(
|
|
30
|
+
var _b = _a, { className, size, shape, children } = _b, props = __objRest(_b, ["className", "size", "shape", "children"]);
|
|
31
|
+
return /* @__PURE__ */ jsx(InputGroupContext.Provider, { value: { size, shape }, children: /* @__PURE__ */ jsx(
|
|
27
32
|
"div",
|
|
28
33
|
__spreadProps(__spreadValues({
|
|
29
34
|
ref,
|
|
30
35
|
"data-slot": "input-group",
|
|
31
|
-
className: cn(inputGroupVariants({ size }), className)
|
|
36
|
+
className: cn(inputGroupVariants({ size, shape }), className)
|
|
32
37
|
}, props), {
|
|
33
38
|
children
|
|
34
39
|
})
|
|
@@ -4,6 +4,7 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
|
|
5
5
|
declare const inputVariants: (props?: ({
|
|
6
6
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
7
|
+
shape?: "rounded" | "pill" | null | undefined;
|
|
7
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
9
|
interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof inputVariants> {
|
|
9
10
|
}
|
package/dist/components/input.js
CHANGED
|
@@ -3,12 +3,12 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const itemVariants: (props?: ({
|
|
6
|
-
variant?: "default" | "
|
|
6
|
+
variant?: "default" | "outline" | "muted" | null | undefined;
|
|
7
7
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
8
8
|
interactive?: boolean | null | undefined;
|
|
9
9
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
10
|
declare const Item: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
11
|
-
variant?: "default" | "
|
|
11
|
+
variant?: "default" | "outline" | "muted" | null | undefined;
|
|
12
12
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
13
13
|
interactive?: boolean | null | undefined;
|
|
14
14
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Checkbox } from '../chunk-D5QHEHXJ.js';
|
|
2
2
|
import { Popover, PopoverTrigger, PopoverContent } from '../chunk-UUJVXN2O.js';
|
|
3
|
-
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from '../chunk-
|
|
4
|
-
import '../chunk-
|
|
3
|
+
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from '../chunk-HCM6LKM5.js';
|
|
4
|
+
import '../chunk-FRPPIXMY.js';
|
|
5
5
|
import { Button } from '../chunk-ZFNOCP6W.js';
|
|
6
6
|
import '../chunk-R47NEOSI.js';
|
|
7
|
-
import { Badge } from '../chunk-
|
|
7
|
+
import { Badge } from '../chunk-TL4YU2O5.js';
|
|
8
8
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
9
9
|
import '../chunk-3GWWZKX7.js';
|
|
10
10
|
import * as React from 'react';
|
|
@@ -14,7 +14,7 @@ function PhoneFrame({
|
|
|
14
14
|
const innerWidth = width - FRAME_PADDING * 2;
|
|
15
15
|
const scale = mobileViewportWidth ? innerWidth / mobileViewportWidth : 1;
|
|
16
16
|
const viewportHeight = mobileViewportWidth ? screenHeight / scale : screenHeight;
|
|
17
|
-
return /* @__PURE__ */ jsx("div", { className: cn("relative mx-auto shrink-0", className), style: { width }, children: /* @__PURE__ */ jsxs("div", { className: "rounded-[2.5rem] border-[1.5px] border-white/15 bg-black
|
|
17
|
+
return /* @__PURE__ */ jsx("div", { className: cn("relative mx-auto shrink-0", className), style: { width }, children: /* @__PURE__ */ jsxs("div", { className: "rounded-[2.5rem] border-[1.5px] border-white/15 bg-black p-1.5 shadow-2xl shadow-black/40", children: [
|
|
18
18
|
/* @__PURE__ */ jsx("div", { className: "absolute top-[10px] left-1/2 -translate-x-1/2 w-[68px] h-[20px] bg-black rounded-full z-10" }),
|
|
19
19
|
/* @__PURE__ */ jsx(
|
|
20
20
|
"div",
|
|
@@ -4,11 +4,11 @@ import { PlacePreview, PlaceAboutTabLabels, PlaceLinkKind } from './place-types.
|
|
|
4
4
|
interface PlaceAboutTabProps {
|
|
5
5
|
place: PlacePreview;
|
|
6
6
|
labels: PlaceAboutTabLabels;
|
|
7
|
-
/** Slot for an embedded map
|
|
7
|
+
/** Slot for an embedded map. Rendered first, full-bleed — the caller controls the breakout / gradient treatment. */
|
|
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
|
-
/** Fires when the user clicks a contact link (phone/website/social).
|
|
11
|
+
/** Fires when the user clicks a contact link (phone/website/social). */
|
|
12
12
|
onLinkClick?: (kind: PlaceLinkKind, url: string) => void;
|
|
13
13
|
className?: string;
|
|
14
14
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { PlaceAboutTab } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { PlaceAboutTab } from '../chunk-UX6SWAKH.js';
|
|
2
|
+
import '../chunk-YLNYXPIH.js';
|
|
3
|
+
import '../chunk-WSRWFA6K.js';
|
|
4
|
+
import '../chunk-A5ONAJCE.js';
|
|
3
5
|
import '../chunk-Y5D5LP4A.js';
|
|
4
|
-
import '../chunk-YJ6OBKZJ.js';
|
|
5
6
|
import '../chunk-FEK5XGZW.js';
|
|
6
7
|
import '../chunk-3GWWZKX7.js';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { PlaceAboutTab } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
import { PlaceAboutTab } from '../chunk-UX6SWAKH.js';
|
|
2
|
+
import '../chunk-YLNYXPIH.js';
|
|
3
|
+
import '../chunk-WSRWFA6K.js';
|
|
4
|
+
import '../chunk-A5ONAJCE.js';
|
|
3
5
|
import { Text } from '../chunk-Y5D5LP4A.js';
|
|
4
|
-
import { Badge } from '../chunk-
|
|
6
|
+
import { Badge } from '../chunk-TL4YU2O5.js';
|
|
5
7
|
import { cn } from '../chunk-FEK5XGZW.js';
|
|
6
8
|
import '../chunk-3GWWZKX7.js';
|
|
7
9
|
import { useState } from 'react';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { PlaceSchedule, PlaceScheduleWeekLabels } from './place-types.js';
|
|
3
|
+
|
|
4
|
+
interface PlaceScheduleWeekProps {
|
|
5
|
+
schedule?: PlaceSchedule;
|
|
6
|
+
labels: PlaceScheduleWeekLabels;
|
|
7
|
+
/**
|
|
8
|
+
* When true, scrolls the today row into view on mount. Use inside a drawer/dialog
|
|
9
|
+
* where the schedule is the only content — auto-scrolling avoids weekend rows
|
|
10
|
+
* being clipped at the bottom of small viewports. Default false: do not auto-scroll
|
|
11
|
+
* when the schedule sits inline on a longer page, where the behaviour disorients
|
|
12
|
+
* the reader.
|
|
13
|
+
*/
|
|
14
|
+
autoScrollToToday?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function PlaceScheduleWeek({ schedule, labels, autoScrollToToday, className, }: PlaceScheduleWeekProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
export { PlaceScheduleWeek, type PlaceScheduleWeekProps };
|
|
@@ -18,6 +18,7 @@ type PlacePreview = {
|
|
|
18
18
|
review_count?: number;
|
|
19
19
|
hours?: PlaceHourBlock[];
|
|
20
20
|
today_schedule?: PlaceHourBlock[];
|
|
21
|
+
schedule?: PlaceSchedule;
|
|
21
22
|
location?: {
|
|
22
23
|
address?: string;
|
|
23
24
|
geolocation?: {
|
|
@@ -65,6 +66,8 @@ type PlaceHourBlock = {
|
|
|
65
66
|
opens_at: number;
|
|
66
67
|
closes_at: number;
|
|
67
68
|
};
|
|
69
|
+
type WeekdayKey = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
|
|
70
|
+
type PlaceSchedule = Record<WeekdayKey, PlaceHourBlock[]>;
|
|
68
71
|
type PlacePriceRange = {
|
|
69
72
|
price_range_low?: number;
|
|
70
73
|
price_range_high?: number;
|
|
@@ -85,15 +88,14 @@ type PlaceCardLabels = {
|
|
|
85
88
|
* to the raw enum value (with underscores → spaces).
|
|
86
89
|
*/
|
|
87
90
|
type PlaceAboutTabLabels = {
|
|
88
|
-
|
|
91
|
+
/** Section heading for the editorial prose block (generative summary + review summary + description). */
|
|
89
92
|
description: string;
|
|
90
|
-
whatPeopleSay: string;
|
|
91
93
|
contactAndLocation: string;
|
|
92
|
-
address: string;
|
|
93
94
|
instagram: string;
|
|
94
95
|
facebook: string;
|
|
96
|
+
/** Section heading for the inline weekly schedule. */
|
|
95
97
|
todayHours: string;
|
|
96
|
-
|
|
98
|
+
/** Used by the inline schedule's closed-day line-through. */
|
|
97
99
|
statusClosed: string;
|
|
98
100
|
typicalBusyness: string;
|
|
99
101
|
cuisines: string;
|
|
@@ -102,10 +104,10 @@ type PlaceAboutTabLabels = {
|
|
|
102
104
|
accessibility: string;
|
|
103
105
|
parking: string;
|
|
104
106
|
nearbyLandmarks: string;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
/** Weekday key → translated day name, consumed by the inline `<PlaceScheduleWeek>`. */
|
|
108
|
+
scheduleDays: Record<WeekdayKey, string>;
|
|
109
|
+
/** Fallback shown by `<PlaceScheduleWeek>` when no schedule data is present. */
|
|
110
|
+
noHoursAvailable: string;
|
|
109
111
|
amenityLabels: Record<string, string>;
|
|
110
112
|
paymentLabels: Record<string, string>;
|
|
111
113
|
accessibilityLabels: Record<string, string>;
|
|
@@ -115,6 +117,13 @@ type PlaceAboutTabLabels = {
|
|
|
115
117
|
};
|
|
116
118
|
/** Discriminator for `<PlaceAboutTab>`'s `onLinkClick` callback. */
|
|
117
119
|
type PlaceLinkKind = 'phone' | 'website' | 'instagram' | 'facebook' | 'address';
|
|
120
|
+
/** Labels passed to `<PlaceScheduleWeek>`. */
|
|
121
|
+
type PlaceScheduleWeekLabels = {
|
|
122
|
+
days: Record<WeekdayKey, string>;
|
|
123
|
+
closed: string;
|
|
124
|
+
/** Shown when the `schedule` prop is missing or empty. */
|
|
125
|
+
noHoursAvailable: string;
|
|
126
|
+
};
|
|
118
127
|
/**
|
|
119
128
|
* Labels passed to `<PlaceDetailsMobile>`. Extends `PlaceAboutTabLabels` with
|
|
120
129
|
* the header/tab-strip strings unique to the mobile place-details surface.
|
|
@@ -142,4 +151,4 @@ type PlaceDetailsMobileLabels = PlaceAboutTabLabels & {
|
|
|
142
151
|
noImageAvailable: string;
|
|
143
152
|
};
|
|
144
153
|
|
|
145
|
-
export type { PlaceAboutTabLabels, PlaceCardLabels, PlaceDetailsMobileLabels, PlaceHourBlock, PlaceLinkKind, PlacePreview, PlacePriceRange };
|
|
154
|
+
export type { PlaceAboutTabLabels, PlaceCardLabels, PlaceDetailsMobileLabels, PlaceHourBlock, PlaceLinkKind, PlacePreview, PlacePriceRange, PlaceSchedule, PlaceScheduleWeekLabels, WeekdayKey };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type Orientation = "vertical" | "horizontal";
|
|
4
|
+
type FadeColor = "background" | "card" | "muted";
|
|
5
|
+
type Size = "sm" | "md" | "lg";
|
|
6
|
+
interface ScrollFadeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
7
|
+
orientation?: Orientation;
|
|
8
|
+
fadeColor?: FadeColor;
|
|
9
|
+
size?: Size;
|
|
10
|
+
/** Class names applied to the inner scrollable element (where overflow lives). */
|
|
11
|
+
scrollClassName?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const ScrollFade: React.ForwardRefExoticComponent<ScrollFadeProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
|
|
15
|
+
export { ScrollFade, type ScrollFadeProps };
|