@bearmenu/ui 0.8.34 → 0.8.35
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/components/badge.d.ts +1 -1
- package/dist/components/booking-row.d.ts +11 -1
- package/dist/components/booking-row.js +3 -0
- package/dist/components/button.d.ts +2 -2
- package/dist/components/command.d.ts +3 -3
- package/dist/components/spinner.d.ts +2 -2
- package/dist/components/tag.d.ts +2 -2
- package/dist/components/text.d.ts +2 -2
- package/package.json +23 -216
- package/src/components/booking-row.tsx +13 -0
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { VariantProps } from 'class-variance-authority';
|
|
5
5
|
|
|
6
6
|
declare const badgeVariants: (props?: ({
|
|
7
|
-
variant?: "
|
|
7
|
+
variant?: "secondary" | "default" | "success" | "warning" | "destructive" | "outline" | "glass" | "overlay" | "brown" | "code" | "onPrimary" | "confirmed" | "pending" | "completed" | "assignee" | null | undefined;
|
|
8
8
|
size?: "status" | "chip" | null | undefined;
|
|
9
9
|
live?: boolean | null | undefined;
|
|
10
10
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -43,12 +43,22 @@ type BookingRowProps = {
|
|
|
43
43
|
href: string;
|
|
44
44
|
/** The venue photo, rendered by the app; a quiet placeholder when absent. */
|
|
45
45
|
thumbnail?: React.ReactNode;
|
|
46
|
+
/**
|
|
47
|
+
* One more chip about this booking, beside the status — "on this phone" for
|
|
48
|
+
* a booking the signed-in guest has not put in their account yet.
|
|
49
|
+
*
|
|
50
|
+
* A node rather than a string because the app owns what it says and how it
|
|
51
|
+
* is marked; the row only owns where it sits. It rides with the status on
|
|
52
|
+
* both layouts, so the two read as one cluster of facts about the booking
|
|
53
|
+
* rather than a second row of chrome.
|
|
54
|
+
*/
|
|
55
|
+
note?: React.ReactNode;
|
|
46
56
|
/** The next booking up — tinted on desktop. */
|
|
47
57
|
highlighted?: boolean;
|
|
48
58
|
linkComponent?: React.ComponentType<BookingRowLinkProps>;
|
|
49
59
|
className?: string;
|
|
50
60
|
};
|
|
51
|
-
declare function BookingRow({ venueName, venueType, when, party, status, statusLabel, code, href, thumbnail, highlighted, linkComponent: LinkComponent, className, }: BookingRowProps): react_jsx_runtime.JSX.Element;
|
|
61
|
+
declare function BookingRow({ venueName, venueType, when, party, status, statusLabel, code, href, thumbnail, note, highlighted, linkComponent: LinkComponent, className, }: BookingRowProps): react_jsx_runtime.JSX.Element;
|
|
52
62
|
type BookingRowListProps = {
|
|
53
63
|
children: React.ReactNode;
|
|
54
64
|
/** "Upcoming bookings" — names the list for assistive tech. */
|
|
@@ -34,6 +34,7 @@ function BookingRow({
|
|
|
34
34
|
code,
|
|
35
35
|
href,
|
|
36
36
|
thumbnail,
|
|
37
|
+
note,
|
|
37
38
|
highlighted,
|
|
38
39
|
linkComponent: LinkComponent = DefaultLink,
|
|
39
40
|
className
|
|
@@ -65,6 +66,7 @@ function BookingRow({
|
|
|
65
66
|
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-[7px]", children: [
|
|
66
67
|
/* @__PURE__ */ jsx("span", { className: "text-[12.5px] font-medium", children: when }),
|
|
67
68
|
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: party }),
|
|
69
|
+
note,
|
|
68
70
|
statusPill
|
|
69
71
|
] })
|
|
70
72
|
] }),
|
|
@@ -80,6 +82,7 @@ function BookingRow({
|
|
|
80
82
|
] })
|
|
81
83
|
] }),
|
|
82
84
|
/* @__PURE__ */ jsxs("span", { className: "hidden md:contents", children: [
|
|
85
|
+
note,
|
|
83
86
|
statusPill,
|
|
84
87
|
codeChip,
|
|
85
88
|
/* @__PURE__ */ jsx(ChevronRight, { "aria-hidden": true, className: "size-[15px] shrink-0 text-muted-foreground" })
|
|
@@ -3,8 +3,8 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const buttonVariants: (props?: ({
|
|
6
|
-
variant?: "
|
|
7
|
-
size?: "
|
|
6
|
+
variant?: "secondary" | "default" | "link" | "warning" | "destructive" | "outline" | "ghost" | "glass" | "overlay" | "ink" | "brown" | "cta" | null | undefined;
|
|
7
|
+
size?: "default" | "icon" | "cta" | "xs" | "sm" | "lg" | "pill" | "cta-sm" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
8
8
|
fullWidth?: boolean | null | undefined;
|
|
9
9
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
10
|
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
@@ -28,7 +28,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
|
|
|
28
28
|
ref?: React.Ref<HTMLInputElement>;
|
|
29
29
|
} & {
|
|
30
30
|
asChild?: boolean;
|
|
31
|
-
}, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "
|
|
31
|
+
}, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "value" | "type"> & {
|
|
32
32
|
value?: string;
|
|
33
33
|
onValueChange?: (search: string) => void;
|
|
34
34
|
} & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -64,7 +64,7 @@ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
|
64
64
|
ref?: React.Ref<HTMLDivElement>;
|
|
65
65
|
} & {
|
|
66
66
|
asChild?: boolean;
|
|
67
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key">, "
|
|
67
|
+
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key">, "heading" | "value"> & {
|
|
68
68
|
heading?: React.ReactNode;
|
|
69
69
|
value?: string;
|
|
70
70
|
forceMount?: boolean;
|
|
@@ -82,7 +82,7 @@ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
|
82
82
|
ref?: React.Ref<HTMLDivElement>;
|
|
83
83
|
} & {
|
|
84
84
|
asChild?: boolean;
|
|
85
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key">, "
|
|
85
|
+
}, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key">, "onSelect" | "value" | "disabled"> & {
|
|
86
86
|
disabled?: boolean;
|
|
87
87
|
onSelect?: (value: string) => void;
|
|
88
88
|
value?: string;
|
|
@@ -4,11 +4,11 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
|
|
5
5
|
declare const spinnerVariants: (props?: ({
|
|
6
6
|
size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
|
|
7
|
-
tone?: "
|
|
7
|
+
tone?: "primary" | "default" | "inherit" | "destructive" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
declare const Spinner: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
|
|
10
10
|
size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
|
|
11
|
-
tone?: "
|
|
11
|
+
tone?: "primary" | "default" | "inherit" | "destructive" | null | undefined;
|
|
12
12
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & {
|
|
13
13
|
/** Visually-hidden label for screen readers. Defaults to "Loading". */
|
|
14
14
|
label?: string;
|
package/dist/components/tag.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const tagVariants: (props?: ({
|
|
6
|
-
variant?: "
|
|
6
|
+
variant?: "primary" | "default" | "success" | "warning" | "destructive" | "outline" | "quiet" | null | undefined;
|
|
7
7
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
declare const Tag: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
|
|
10
|
-
variant?: "
|
|
10
|
+
variant?: "primary" | "default" | "success" | "warning" | "destructive" | "outline" | "quiet" | null | undefined;
|
|
11
11
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
12
12
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & {
|
|
13
13
|
onRemove?: () => void;
|
|
@@ -22,8 +22,8 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
22
22
|
* Weights are 400 / 600 / 700. 500 is not in the system.
|
|
23
23
|
*/
|
|
24
24
|
declare const textVariants: (props?: ({
|
|
25
|
-
variant?: "
|
|
26
|
-
color?: "
|
|
25
|
+
variant?: "small" | "body" | "display" | "h2" | "h3" | "label" | "caption" | "h1" | "h4" | "body-lg" | "body-sm" | "overline" | null | undefined;
|
|
26
|
+
color?: "primary" | "default" | "inherit" | "destructive" | "muted" | "primary-foreground" | null | undefined;
|
|
27
27
|
weight?: "bold" | "medium" | "normal" | "semibold" | null | undefined;
|
|
28
28
|
leading?: "none" | "normal" | "tight" | "snug" | "relaxed" | "loose" | null | undefined;
|
|
29
29
|
tracking?: "normal" | "tight" | "wide" | "wider" | null | undefined;
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bearmenu/ui",
|
|
3
|
-
"version": "0.8.
|
|
4
|
-
"packageManager": "pnpm@10.28.1",
|
|
3
|
+
"version": "0.8.35",
|
|
5
4
|
"description": "BearMenu design system — shared UI tokens, primitives, and components",
|
|
6
5
|
"license": "UNLICENSED",
|
|
7
6
|
"repository": {
|
|
@@ -17,222 +16,20 @@
|
|
|
17
16
|
"src"
|
|
18
17
|
],
|
|
19
18
|
"exports": {
|
|
20
|
-
"./components/accordion": "./src/components/accordion.tsx",
|
|
21
|
-
"./components/action-bar": "./src/components/action-bar.tsx",
|
|
22
|
-
"./components/activity-row": "./src/components/activity-row.tsx",
|
|
23
|
-
"./components/alert": "./src/components/alert.tsx",
|
|
24
|
-
"./components/alert-dialog": "./src/components/alert-dialog.tsx",
|
|
25
|
-
"./components/aspect-ratio": "./src/components/aspect-ratio.tsx",
|
|
26
|
-
"./components/avatar": "./src/components/avatar.tsx",
|
|
27
|
-
"./components/badge": "./src/components/badge.tsx",
|
|
28
|
-
"./components/banner": "./src/components/banner.tsx",
|
|
29
|
-
"./components/booking-row": "./src/components/booking-row.tsx",
|
|
30
|
-
"./components/booking-summary-card": "./src/components/booking-summary-card.tsx",
|
|
31
|
-
"./components/breadcrumb": "./src/components/breadcrumb.tsx",
|
|
32
|
-
"./components/button": "./src/components/button.tsx",
|
|
33
|
-
"./components/button-group": "./src/components/button-group.tsx",
|
|
34
|
-
"./components/calendar": "./src/components/calendar.tsx",
|
|
35
|
-
"./components/card": "./src/components/card.tsx",
|
|
36
|
-
"./components/carousel": "./src/components/carousel.tsx",
|
|
37
|
-
"./components/category-deck": "./src/components/category-deck.tsx",
|
|
38
|
-
"./components/checkbox": "./src/components/checkbox.tsx",
|
|
39
|
-
"./components/circular-progress": "./src/components/circular-progress.tsx",
|
|
40
|
-
"./components/coach-marks": "./src/components/coach-marks.tsx",
|
|
41
|
-
"./components/collapsible": "./src/components/collapsible.tsx",
|
|
42
|
-
"./components/combobox": "./src/components/combobox.tsx",
|
|
43
|
-
"./components/command": "./src/components/command.tsx",
|
|
44
|
-
"./components/concept-card": "./src/components/concept-card.tsx",
|
|
45
|
-
"./components/concept-compare": "./src/components/concept-compare.tsx",
|
|
46
|
-
"./components/concept-compare-rail": "./src/components/concept-compare-rail.tsx",
|
|
47
|
-
"./components/concept-convergence": "./src/components/concept-convergence.tsx",
|
|
48
|
-
"./components/convergence": "./src/components/convergence.tsx",
|
|
49
|
-
"./components/coverflow": "./src/components/coverflow.tsx",
|
|
50
|
-
"./components/currency-input": "./src/components/currency-input.tsx",
|
|
51
|
-
"./components/date-input": "./src/components/date-input.tsx",
|
|
52
|
-
"./components/day-rail-chip": "./src/components/day-rail-chip.tsx",
|
|
53
|
-
"./components/description-list": "./src/components/description-list.tsx",
|
|
54
|
-
"./components/dialog": "./src/components/dialog.tsx",
|
|
55
|
-
"./components/doorway-tiles": "./src/components/doorway-tiles.tsx",
|
|
56
|
-
"./components/drawer": "./src/components/drawer.tsx",
|
|
57
|
-
"./components/drift-rail": "./src/components/drift-rail.tsx",
|
|
58
|
-
"./components/dropdown-menu": "./src/components/dropdown-menu.tsx",
|
|
59
|
-
"./components/empty-state": "./src/components/empty-state.tsx",
|
|
60
|
-
"./components/event-card": "./src/components/event-card.tsx",
|
|
61
|
-
"./components/event-compact-row": "./src/components/event-compact-row.tsx",
|
|
62
|
-
"./components/event-day-header": "./src/components/event-day-header.tsx",
|
|
63
|
-
"./components/event-day-separator": "./src/components/event-day-separator.tsx",
|
|
64
|
-
"./components/event-detail-panel": "./src/components/event-detail-panel.tsx",
|
|
65
|
-
"./components/event-hub-hero": "./src/components/event-hub-hero.tsx",
|
|
66
|
-
"./components/event-index-row": "./src/components/event-index-row.tsx",
|
|
67
|
-
"./components/event-list-row": "./src/components/event-list-row.tsx",
|
|
68
|
-
"./components/event-list-row-wide": "./src/components/event-list-row-wide.tsx",
|
|
69
|
-
"./components/event-poster-fallback": "./src/components/event-poster-fallback.tsx",
|
|
70
|
-
"./components/event-tonight-strip": "./src/components/event-tonight-strip.tsx",
|
|
71
|
-
"./components/event-types": "./src/components/event-types.ts",
|
|
72
|
-
"./components/events-empty-state": "./src/components/events-empty-state.tsx",
|
|
73
|
-
"./components/explainer-steps": "./src/components/explainer-steps.tsx",
|
|
74
|
-
"./components/facet-group": "./src/components/facet-group.tsx",
|
|
75
|
-
"./components/featured-rail-item": "./src/components/featured-rail-item.tsx",
|
|
76
|
-
"./components/field": "./src/components/field.tsx",
|
|
77
|
-
"./components/filter-category-row": "./src/components/filter-category-row.tsx",
|
|
78
|
-
"./components/form": "./src/components/form.tsx",
|
|
79
|
-
"./components/glass-ground": "./src/components/glass-ground.tsx",
|
|
80
|
-
"./components/grade-atom": "./src/components/grade-atom.tsx",
|
|
81
|
-
"./components/haptic-switch": "./src/components/haptic-switch.tsx",
|
|
82
|
-
"./components/hold-countdown": "./src/components/hold-countdown.tsx",
|
|
83
|
-
"./components/hub-surface": "./src/components/hub-surface.tsx",
|
|
84
|
-
"./components/hue-chip": "./src/components/hue-chip.tsx",
|
|
85
|
-
"./components/icon": "./src/components/icon.tsx",
|
|
86
|
-
"./components/input": "./src/components/input.tsx",
|
|
87
|
-
"./components/input-group": "./src/components/input-group.tsx",
|
|
88
|
-
"./components/input-otp": "./src/components/input-otp.tsx",
|
|
89
|
-
"./components/item": "./src/components/item.tsx",
|
|
90
|
-
"./components/kbd": "./src/components/kbd.tsx",
|
|
91
|
-
"./components/label": "./src/components/label.tsx",
|
|
92
|
-
"./components/kitchen-dossier": "./src/components/kitchen-dossier.tsx",
|
|
93
|
-
"./components/lazy-markdown": "./src/components/lazy-markdown.tsx",
|
|
94
|
-
"./components/link-button": "./src/components/link-button.tsx",
|
|
95
|
-
"./components/markdown-renderer": "./src/components/markdown-renderer.tsx",
|
|
96
|
-
"./components/menu-dead-end": "./src/components/menu-dead-end.tsx",
|
|
97
|
-
"./components/menu-family-block": "./src/components/menu-family-block.tsx",
|
|
98
|
-
"./components/menu-family-card": "./src/components/menu-family-card.tsx",
|
|
99
|
-
"./components/menu-field": "./src/components/menu-field.tsx",
|
|
100
|
-
"./components/menu-filter-chips": "./src/components/menu-filter-chips.tsx",
|
|
101
|
-
"./components/menu-group-rows": "./src/components/menu-group-rows.tsx",
|
|
102
|
-
"./components/menu-hub-hero": "./src/components/menu-hub-hero.tsx",
|
|
103
|
-
"./components/menu-index-header": "./src/components/menu-index-header.tsx",
|
|
104
|
-
"./components/menu-index-list": "./src/components/menu-index-list.tsx",
|
|
105
|
-
"./components/menu-intent-hero": "./src/components/menu-intent-hero.tsx",
|
|
106
|
-
"./components/menu-item": "./src/components/menu-item.tsx",
|
|
107
|
-
"./components/menu-pick-row": "./src/components/menu-pick-row.tsx",
|
|
108
|
-
"./components/menu-kitchen-list": "./src/components/menu-kitchen-list.tsx",
|
|
109
|
-
"./components/menu-mocks": "./src/components/menu-mocks.ts",
|
|
110
|
-
"./components/menu-types": "./src/components/menu-types.ts",
|
|
111
|
-
"./components/motion-icon": "./src/components/motion-icon.tsx",
|
|
112
|
-
"./components/motion-icon-actions": "./src/components/motion-icon-actions.tsx",
|
|
113
|
-
"./components/motion-icon-controls": "./src/components/motion-icon-controls.tsx",
|
|
114
|
-
"./components/motion-icon-set": "./src/components/motion-icon-set.tsx",
|
|
115
|
-
"./components/multi-select-combobox": "./src/components/multi-select-combobox.tsx",
|
|
116
|
-
"./components/multi-select-menu": "./src/components/multi-select-menu.tsx",
|
|
117
|
-
"./components/native-select": "./src/components/native-select.tsx",
|
|
118
|
-
"./components/open-now-list": "./src/components/open-now-list.tsx",
|
|
119
|
-
"./components/pagination": "./src/components/pagination.tsx",
|
|
120
|
-
"./components/party-counter": "./src/components/party-counter.tsx",
|
|
121
|
-
"./components/phone-frame": "./src/components/phone-frame.tsx",
|
|
122
|
-
"./components/photo-ground": "./src/components/photo-ground.tsx",
|
|
123
|
-
"./components/place-about-tab": "./src/components/place-about-tab.tsx",
|
|
124
|
-
"./components/place-card": "./src/components/place-card.tsx",
|
|
125
|
-
"./components/place-details-mobile": "./src/components/place-details-mobile.tsx",
|
|
126
|
-
"./components/place-schedule-week": "./src/components/place-schedule-week.tsx",
|
|
127
|
-
"./components/place-types": "./src/components/place-types.ts",
|
|
128
|
-
"./components/popover": "./src/components/popover.tsx",
|
|
129
|
-
"./components/poster-stack": "./src/components/poster-stack.tsx",
|
|
130
|
-
"./components/poster-tape": "./src/components/poster-tape.tsx",
|
|
131
|
-
"./components/poster-wall": "./src/components/poster-wall.tsx",
|
|
132
|
-
"./components/progress": "./src/components/progress.tsx",
|
|
133
|
-
"./components/qa-block": "./src/components/qa-block.tsx",
|
|
134
|
-
"./components/qr-panel": "./src/components/qr-panel.tsx",
|
|
135
|
-
"./components/quiet-stretch": "./src/components/quiet-stretch.tsx",
|
|
136
|
-
"./components/radio-group": "./src/components/radio-group.tsx",
|
|
137
|
-
"./components/reconcile-bar": "./src/components/reconcile-bar.tsx",
|
|
138
|
-
"./components/responsive-overlay": "./src/components/responsive-overlay.tsx",
|
|
139
|
-
"./components/rating": "./src/components/rating.tsx",
|
|
140
|
-
"./components/scroll-area": "./src/components/scroll-area.tsx",
|
|
141
|
-
"./components/scroll-fade": "./src/components/scroll-fade.tsx",
|
|
142
|
-
"./components/search-bar": "./src/components/search-bar.tsx",
|
|
143
|
-
"./components/searchable-select": "./src/components/searchable-select.tsx",
|
|
144
|
-
"./components/section-header": "./src/components/section-header.tsx",
|
|
145
|
-
"./components/segmented-nav": "./src/components/segmented-nav.tsx",
|
|
146
|
-
"./components/select": "./src/components/select.tsx",
|
|
147
|
-
"./components/selection-bar": "./src/components/selection-bar.tsx",
|
|
148
|
-
"./components/separator": "./src/components/separator.tsx",
|
|
149
|
-
"./components/sheet": "./src/components/sheet.tsx",
|
|
150
|
-
"./components/signature-chip": "./src/components/signature-chip.tsx",
|
|
151
|
-
"./components/skeleton": "./src/components/skeleton.tsx",
|
|
152
|
-
"./components/skeleton-card": "./src/components/skeleton-card.tsx",
|
|
153
|
-
"./components/slider": "./src/components/slider.tsx",
|
|
154
|
-
"./components/sliding-panels": "./src/components/sliding-panels.tsx",
|
|
155
|
-
"./components/sonner": "./src/components/sonner.tsx",
|
|
156
|
-
"./components/sort-option-list": "./src/components/sort-option-list.tsx",
|
|
157
|
-
"./components/spinner": "./src/components/spinner.tsx",
|
|
158
|
-
"./components/split-share-row": "./src/components/split-share-row.tsx",
|
|
159
|
-
"./components/stat-banner": "./src/components/stat-banner.tsx",
|
|
160
|
-
"./components/stepper": "./src/components/stepper.tsx",
|
|
161
|
-
"./components/sticky-container": "./src/components/sticky-container.tsx",
|
|
162
|
-
"./components/story": "./src/components/story.tsx",
|
|
163
|
-
"./components/switch": "./src/components/switch.tsx",
|
|
164
|
-
"./components/table": "./src/components/table.tsx",
|
|
165
|
-
"./components/table-ledger-card": "./src/components/table-ledger-card.tsx",
|
|
166
|
-
"./components/table-trigger-band": "./src/components/table-trigger-band.tsx",
|
|
167
|
-
"./components/tabs": "./src/components/tabs.tsx",
|
|
168
|
-
"./components/tag": "./src/components/tag.tsx",
|
|
169
|
-
"./components/tag-group": "./src/components/tag-group.tsx",
|
|
170
|
-
"./components/text": "./src/components/text.tsx",
|
|
171
|
-
"./components/textarea": "./src/components/textarea.tsx",
|
|
172
|
-
"./components/time-slot": "./src/components/time-slot.tsx",
|
|
173
|
-
"./components/timeline-day": "./src/components/timeline-day.tsx",
|
|
174
|
-
"./components/timeline-hour": "./src/components/timeline-hour.tsx",
|
|
175
|
-
"./components/timeline-hour-puck": "./src/components/timeline-hour-puck.tsx",
|
|
176
|
-
"./components/toggle": "./src/components/toggle.tsx",
|
|
177
|
-
"./components/toggle-group": "./src/components/toggle-group.tsx",
|
|
178
|
-
"./components/tooltip": "./src/components/tooltip.tsx",
|
|
179
|
-
"./components/top-comparison": "./src/components/top-comparison.tsx",
|
|
180
|
-
"./components/top-cross-link": "./src/components/top-cross-link.tsx",
|
|
181
|
-
"./components/top-ranking-entry": "./src/components/top-ranking-entry.tsx",
|
|
182
|
-
"./components/top-ranking-hero": "./src/components/top-ranking-hero.tsx",
|
|
183
|
-
"./components/top-ranking-legend": "./src/components/top-ranking-legend.tsx",
|
|
184
|
-
"./components/top-types": "./src/components/top-types.ts",
|
|
185
|
-
"./components/use-mobile": "./src/components/use-mobile.tsx",
|
|
186
|
-
"./components/venue-events-block": "./src/components/venue-events-block.tsx",
|
|
187
|
-
"./components/venue-grade-dimensions": "./src/components/venue-grade-dimensions.tsx",
|
|
188
|
-
"./components/venue-quotes": "./src/components/venue-quotes.tsx",
|
|
189
|
-
"./components/venue-wall": "./src/components/venue-wall.tsx",
|
|
190
|
-
"./components/weekday-chip": "./src/components/weekday-chip.tsx",
|
|
191
|
-
"./components/weekday-theme-banner": "./src/components/weekday-theme-banner.tsx",
|
|
192
|
-
"./components/weekend-panel": "./src/components/weekend-panel.tsx",
|
|
193
19
|
"./globals.css": "./src/globals.css",
|
|
194
|
-
"./
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
"./hooks
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
"./lib
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
"./lib/overlay-pill": "./src/lib/overlay-pill.ts",
|
|
206
|
-
"./lib/utils": "./src/lib/utils.ts"
|
|
207
|
-
},
|
|
208
|
-
"publishConfig": {
|
|
209
|
-
"exports": {
|
|
210
|
-
"./globals.css": "./src/globals.css",
|
|
211
|
-
"./components/*": {
|
|
212
|
-
"types": "./dist/components/*.d.ts",
|
|
213
|
-
"import": "./dist/components/*.js"
|
|
214
|
-
},
|
|
215
|
-
"./hooks/*": {
|
|
216
|
-
"types": "./dist/hooks/*.d.ts",
|
|
217
|
-
"import": "./dist/hooks/*.js"
|
|
218
|
-
},
|
|
219
|
-
"./lib/*": {
|
|
220
|
-
"types": "./dist/lib/*.d.ts",
|
|
221
|
-
"import": "./dist/lib/*.js"
|
|
222
|
-
}
|
|
20
|
+
"./components/*": {
|
|
21
|
+
"types": "./dist/components/*.d.ts",
|
|
22
|
+
"import": "./dist/components/*.js"
|
|
23
|
+
},
|
|
24
|
+
"./hooks/*": {
|
|
25
|
+
"types": "./dist/hooks/*.d.ts",
|
|
26
|
+
"import": "./dist/hooks/*.js"
|
|
27
|
+
},
|
|
28
|
+
"./lib/*": {
|
|
29
|
+
"types": "./dist/lib/*.d.ts",
|
|
30
|
+
"import": "./dist/lib/*.js"
|
|
223
31
|
}
|
|
224
32
|
},
|
|
225
|
-
"scripts": {
|
|
226
|
-
"storybook": "storybook dev -p 6006",
|
|
227
|
-
"build-storybook": "storybook build",
|
|
228
|
-
"build": "tsup",
|
|
229
|
-
"dev": "tsup --watch",
|
|
230
|
-
"typecheck": "tsc --noEmit",
|
|
231
|
-
"test": "vitest run",
|
|
232
|
-
"test:watch": "vitest",
|
|
233
|
-
"clean": "rm -rf dist",
|
|
234
|
-
"prepublishOnly": "pnpm run build"
|
|
235
|
-
},
|
|
236
33
|
"peerDependencies": {
|
|
237
34
|
"@hookform/resolvers": "^3.0.0 || ^5.0.0",
|
|
238
35
|
"@radix-ui/react-accordion": "*",
|
|
@@ -341,5 +138,15 @@
|
|
|
341
138
|
"vaul": "^1.1.2",
|
|
342
139
|
"vitest": "^4.1.5",
|
|
343
140
|
"zod": "^3.25.67"
|
|
141
|
+
},
|
|
142
|
+
"scripts": {
|
|
143
|
+
"storybook": "storybook dev -p 6006",
|
|
144
|
+
"build-storybook": "storybook build",
|
|
145
|
+
"build": "tsup",
|
|
146
|
+
"dev": "tsup --watch",
|
|
147
|
+
"typecheck": "tsc --noEmit",
|
|
148
|
+
"test": "vitest run",
|
|
149
|
+
"test:watch": "vitest",
|
|
150
|
+
"clean": "rm -rf dist"
|
|
344
151
|
}
|
|
345
|
-
}
|
|
152
|
+
}
|
|
@@ -52,6 +52,16 @@ export type BookingRowProps = {
|
|
|
52
52
|
href: string;
|
|
53
53
|
/** The venue photo, rendered by the app; a quiet placeholder when absent. */
|
|
54
54
|
thumbnail?: React.ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* One more chip about this booking, beside the status — "on this phone" for
|
|
57
|
+
* a booking the signed-in guest has not put in their account yet.
|
|
58
|
+
*
|
|
59
|
+
* A node rather than a string because the app owns what it says and how it
|
|
60
|
+
* is marked; the row only owns where it sits. It rides with the status on
|
|
61
|
+
* both layouts, so the two read as one cluster of facts about the booking
|
|
62
|
+
* rather than a second row of chrome.
|
|
63
|
+
*/
|
|
64
|
+
note?: React.ReactNode;
|
|
55
65
|
/** The next booking up — tinted on desktop. */
|
|
56
66
|
highlighted?: boolean;
|
|
57
67
|
linkComponent?: React.ComponentType<BookingRowLinkProps>;
|
|
@@ -84,6 +94,7 @@ export function BookingRow({
|
|
|
84
94
|
code,
|
|
85
95
|
href,
|
|
86
96
|
thumbnail,
|
|
97
|
+
note,
|
|
87
98
|
highlighted,
|
|
88
99
|
linkComponent: LinkComponent = DefaultLink,
|
|
89
100
|
className,
|
|
@@ -127,6 +138,7 @@ export function BookingRow({
|
|
|
127
138
|
<div className="mt-2 flex flex-wrap items-center gap-[7px]">
|
|
128
139
|
<span className="text-[12.5px] font-medium">{when}</span>
|
|
129
140
|
<span className="text-xs text-muted-foreground">{party}</span>
|
|
141
|
+
{note}
|
|
130
142
|
{statusPill}
|
|
131
143
|
</div>
|
|
132
144
|
</div>
|
|
@@ -142,6 +154,7 @@ export function BookingRow({
|
|
|
142
154
|
</div>
|
|
143
155
|
</div>
|
|
144
156
|
<span className="hidden md:contents">
|
|
157
|
+
{note}
|
|
145
158
|
{statusPill}
|
|
146
159
|
{codeChip}
|
|
147
160
|
<ChevronRight aria-hidden className="size-[15px] shrink-0 text-muted-foreground" />
|