@bearmenu/ui 0.8.52 → 0.8.53
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-GIJGVFGC.js +177 -0
- package/dist/chunk-RKNPPYRU.js +86 -0
- package/dist/components/alert.d.ts +2 -2
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/banner.d.ts +1 -1
- package/dist/components/button.d.ts +2 -2
- package/dist/components/card.d.ts +2 -2
- package/dist/components/command.d.ts +15 -15
- package/dist/components/empty-state.d.ts +2 -2
- package/dist/components/facet-group.d.ts +9 -2
- package/dist/components/facet-group.js +108 -10
- package/dist/components/filter-option-chip.d.ts +15 -0
- package/dist/components/filter-option-chip.js +3 -0
- package/dist/components/filter-option-group.d.ts +37 -0
- package/dist/components/filter-option-group.js +10 -0
- package/dist/components/filter-panel-footer.d.ts +15 -0
- package/dist/components/filter-panel-footer.js +63 -0
- package/dist/components/place-card.js +1 -1
- 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/dist/components/toggle.d.ts +1 -1
- package/package.json +28 -222
- package/src/components/facet-group.tsx +153 -54
- package/src/components/filter-option-chip.test.tsx +50 -0
- package/src/components/filter-option-chip.tsx +81 -0
- package/src/components/filter-option-group.stories.tsx +250 -0
- package/src/components/filter-option-group.test.tsx +100 -0
- package/src/components/filter-option-group.tsx +231 -0
- package/src/components/filter-panel-footer.tsx +63 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type FilterOptionChipProps = Omit<ComponentPropsWithoutRef<"input">, "type" | "children" | "size"> & {
|
|
5
|
+
label: string;
|
|
6
|
+
/** Radios in one group must share a name. */
|
|
7
|
+
type?: "checkbox" | "radio";
|
|
8
|
+
/** Omit while counts are unresolved. Zero is a valid, selectable count. */
|
|
9
|
+
count?: number | null;
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
};
|
|
12
|
+
/** A wrapping filter option with native selection and keyboard semantics. */
|
|
13
|
+
declare function FilterOptionChip({ label, type, count, icon, className, id, disabled, ...input }: FilterOptionChipProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { FilterOptionChip, type FilterOptionChipProps };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type FilterOptionValue = string | number;
|
|
5
|
+
type FilterOptionGroupProps = {
|
|
6
|
+
title: string;
|
|
7
|
+
options: {
|
|
8
|
+
value: FilterOptionValue;
|
|
9
|
+
label: string;
|
|
10
|
+
count?: number | null;
|
|
11
|
+
icon?: ReactNode;
|
|
12
|
+
section?: string;
|
|
13
|
+
}[];
|
|
14
|
+
value: FilterOptionValue[];
|
|
15
|
+
onValueChange: (value: FilterOptionValue[]) => void;
|
|
16
|
+
selection?: "multiple" | "single";
|
|
17
|
+
name?: string;
|
|
18
|
+
defaultOpen?: boolean;
|
|
19
|
+
collapsible?: boolean;
|
|
20
|
+
visibleLimit?: number;
|
|
21
|
+
showAllLabel?: string | ((count: number) => string);
|
|
22
|
+
showLessLabel?: string;
|
|
23
|
+
/** Extra controls or a selection explanation, before the options. */
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
footer?: ReactNode;
|
|
26
|
+
clearLabel?: string;
|
|
27
|
+
onClear?: () => void;
|
|
28
|
+
/** Omit neutral choices from the active summary without changing radio selection. */
|
|
29
|
+
summaryValues?: FilterOptionValue[];
|
|
30
|
+
className?: string;
|
|
31
|
+
divider?: boolean;
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
};
|
|
34
|
+
/** Presentation only: callers own filter rules, URL state, counts and translations. */
|
|
35
|
+
declare function FilterOptionGroup({ title, options, value, onValueChange, selection, name, defaultOpen, collapsible, visibleLimit, showAllLabel, showLessLabel, children, footer, clearLabel, onClear, summaryValues, className, divider, disabled, }: FilterOptionGroupProps): react_jsx_runtime.JSX.Element;
|
|
36
|
+
|
|
37
|
+
export { FilterOptionGroup, type FilterOptionGroupProps, type FilterOptionValue };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { FilterOptionGroup } from '../chunk-GIJGVFGC.js';
|
|
2
|
+
import '../chunk-RKNPPYRU.js';
|
|
3
|
+
import '../chunk-NWZGSLPU.js';
|
|
4
|
+
import '../chunk-GHKTVHQG.js';
|
|
5
|
+
import '../chunk-RIH2IS7X.js';
|
|
6
|
+
import '../chunk-5YNIQ2BL.js';
|
|
7
|
+
import '../chunk-ZLMRVBD7.js';
|
|
8
|
+
import '../chunk-RYPPN2GZ.js';
|
|
9
|
+
import '../chunk-FEK5XGZW.js';
|
|
10
|
+
import '../chunk-MMUBH76A.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
type FilterPanelFooterProps = {
|
|
4
|
+
resetLabel: string;
|
|
5
|
+
resultsLabel: string;
|
|
6
|
+
onReset: () => void;
|
|
7
|
+
onResults: () => void;
|
|
8
|
+
canReset: boolean;
|
|
9
|
+
pending?: boolean;
|
|
10
|
+
resetHint?: string;
|
|
11
|
+
};
|
|
12
|
+
/** Persistent actions belong outside the panel's scroll container. */
|
|
13
|
+
declare function FilterPanelFooter({ resetLabel, resultsLabel, onReset, onResults, canReset, pending, resetHint, }: FilterPanelFooterProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { FilterPanelFooter, type FilterPanelFooterProps };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Button } from '../chunk-GHKTVHQG.js';
|
|
2
|
+
import '../chunk-RIH2IS7X.js';
|
|
3
|
+
import '../chunk-5YNIQ2BL.js';
|
|
4
|
+
import { Text } from '../chunk-ZLMRVBD7.js';
|
|
5
|
+
import '../chunk-FEK5XGZW.js';
|
|
6
|
+
import '../chunk-MMUBH76A.js';
|
|
7
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
function FilterPanelFooter({
|
|
10
|
+
resetLabel,
|
|
11
|
+
resultsLabel,
|
|
12
|
+
onReset,
|
|
13
|
+
onResults,
|
|
14
|
+
canReset,
|
|
15
|
+
pending,
|
|
16
|
+
resetHint
|
|
17
|
+
}) {
|
|
18
|
+
return /* @__PURE__ */ jsxs(
|
|
19
|
+
"footer",
|
|
20
|
+
{
|
|
21
|
+
className: "shrink-0 border-t border-border bg-card px-4 pt-3 pb-[max(1rem,env(safe-area-inset-bottom))]",
|
|
22
|
+
"data-slot": "filter-panel-footer",
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-2", children: [
|
|
25
|
+
/* @__PURE__ */ jsx(
|
|
26
|
+
Button,
|
|
27
|
+
{
|
|
28
|
+
type: "button",
|
|
29
|
+
variant: "outline",
|
|
30
|
+
className: "min-h-11 h-auto flex-1 whitespace-normal py-2",
|
|
31
|
+
disabled: !canReset,
|
|
32
|
+
onClick: onReset,
|
|
33
|
+
children: resetLabel
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsx(
|
|
37
|
+
Button,
|
|
38
|
+
{
|
|
39
|
+
type: "button",
|
|
40
|
+
className: "min-h-11 h-auto flex-[2] whitespace-normal py-2",
|
|
41
|
+
disabled: pending,
|
|
42
|
+
"aria-busy": pending || void 0,
|
|
43
|
+
onClick: onResults,
|
|
44
|
+
children: resultsLabel
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
] }),
|
|
48
|
+
resetHint && /* @__PURE__ */ jsx(
|
|
49
|
+
Text,
|
|
50
|
+
{
|
|
51
|
+
as: "p",
|
|
52
|
+
variant: "caption",
|
|
53
|
+
color: "muted",
|
|
54
|
+
className: "mt-2 leading-relaxed",
|
|
55
|
+
children: resetHint
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { FilterPanelFooter };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { HOVER_IMAGE_MOTION, HOVER_IMAGE_WRAPPER, HOVER_MOTION, HOVER_LIFT_GRID_GROUP } from '../chunk-XCB3F6SF.js';
|
|
1
2
|
import { NEUTRAL_ICON_FILTER } from '../chunk-LQWGZIYA.js';
|
|
2
3
|
import { OVERLAY_PILL } from '../chunk-EZG2NELX.js';
|
|
3
|
-
import { HOVER_IMAGE_MOTION, HOVER_IMAGE_WRAPPER, HOVER_MOTION, HOVER_LIFT_GRID_GROUP } from '../chunk-XCB3F6SF.js';
|
|
4
4
|
import { GradeAtom } from '../chunk-YE4ZQUTI.js';
|
|
5
5
|
import { showsGradeAtom } from '../chunk-I5V446BX.js';
|
|
6
6
|
import { Separator } from '../chunk-NWZGSLPU.js';
|
|
@@ -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?: "inherit" | "default" | "destructive" | "primary" | 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?: "inherit" | "default" | "destructive" | "primary" | 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?: "default" | "destructive" | "outline" | "warning" | "primary" | "success" | "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?: "default" | "destructive" | "outline" | "warning" | "primary" | "success" | "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?: "h2" | "h3" | "label" | "body" | "caption" | "h1" | "h4" | "small" | "display" | "body-lg" | "body-sm" | "overline" | null | undefined;
|
|
26
|
+
color?: "inherit" | "default" | "destructive" | "primary" | "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;
|
|
@@ -11,7 +11,7 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
11
11
|
* `data-[state=on]:` utilities sort after `hover:` and still win while on.
|
|
12
12
|
*/
|
|
13
13
|
declare const toggleVariants: (props?: ({
|
|
14
|
-
variant?: "
|
|
14
|
+
variant?: "tab" | "default" | "outline" | "chip" | "segmented" | null | undefined;
|
|
15
15
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
16
16
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
17
17
|
/**
|
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.53",
|
|
5
4
|
"description": "BearMenu design system — shared UI tokens, primitives, and components",
|
|
6
5
|
"license": "UNLICENSED",
|
|
7
6
|
"repository": {
|
|
@@ -17,223 +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/pan-zoom-viewport": "./src/components/pan-zoom-viewport.tsx",
|
|
121
|
-
"./components/party-counter": "./src/components/party-counter.tsx",
|
|
122
|
-
"./components/phone-frame": "./src/components/phone-frame.tsx",
|
|
123
|
-
"./components/photo-ground": "./src/components/photo-ground.tsx",
|
|
124
|
-
"./components/place-about-tab": "./src/components/place-about-tab.tsx",
|
|
125
|
-
"./components/place-card": "./src/components/place-card.tsx",
|
|
126
|
-
"./components/place-details-mobile": "./src/components/place-details-mobile.tsx",
|
|
127
|
-
"./components/place-schedule-week": "./src/components/place-schedule-week.tsx",
|
|
128
|
-
"./components/place-types": "./src/components/place-types.ts",
|
|
129
|
-
"./components/popover": "./src/components/popover.tsx",
|
|
130
|
-
"./components/poster-stack": "./src/components/poster-stack.tsx",
|
|
131
|
-
"./components/poster-tape": "./src/components/poster-tape.tsx",
|
|
132
|
-
"./components/poster-wall": "./src/components/poster-wall.tsx",
|
|
133
|
-
"./components/progress": "./src/components/progress.tsx",
|
|
134
|
-
"./components/qa-block": "./src/components/qa-block.tsx",
|
|
135
|
-
"./components/qr-panel": "./src/components/qr-panel.tsx",
|
|
136
|
-
"./components/quiet-stretch": "./src/components/quiet-stretch.tsx",
|
|
137
|
-
"./components/radio-group": "./src/components/radio-group.tsx",
|
|
138
|
-
"./components/reconcile-bar": "./src/components/reconcile-bar.tsx",
|
|
139
|
-
"./components/responsive-overlay": "./src/components/responsive-overlay.tsx",
|
|
140
|
-
"./components/rating": "./src/components/rating.tsx",
|
|
141
|
-
"./components/scroll-area": "./src/components/scroll-area.tsx",
|
|
142
|
-
"./components/scroll-fade": "./src/components/scroll-fade.tsx",
|
|
143
|
-
"./components/search-bar": "./src/components/search-bar.tsx",
|
|
144
|
-
"./components/searchable-select": "./src/components/searchable-select.tsx",
|
|
145
|
-
"./components/section-header": "./src/components/section-header.tsx",
|
|
146
|
-
"./components/segmented-nav": "./src/components/segmented-nav.tsx",
|
|
147
|
-
"./components/select": "./src/components/select.tsx",
|
|
148
|
-
"./components/selection-bar": "./src/components/selection-bar.tsx",
|
|
149
|
-
"./components/separator": "./src/components/separator.tsx",
|
|
150
|
-
"./components/sheet": "./src/components/sheet.tsx",
|
|
151
|
-
"./components/signature-chip": "./src/components/signature-chip.tsx",
|
|
152
|
-
"./components/skeleton": "./src/components/skeleton.tsx",
|
|
153
|
-
"./components/skeleton-card": "./src/components/skeleton-card.tsx",
|
|
154
|
-
"./components/slider": "./src/components/slider.tsx",
|
|
155
|
-
"./components/sliding-panels": "./src/components/sliding-panels.tsx",
|
|
156
|
-
"./components/sonner": "./src/components/sonner.tsx",
|
|
157
|
-
"./components/sort-option-list": "./src/components/sort-option-list.tsx",
|
|
158
|
-
"./components/spinner": "./src/components/spinner.tsx",
|
|
159
|
-
"./components/split-share-row": "./src/components/split-share-row.tsx",
|
|
160
|
-
"./components/stat-banner": "./src/components/stat-banner.tsx",
|
|
161
|
-
"./components/stepper": "./src/components/stepper.tsx",
|
|
162
|
-
"./components/sticky-container": "./src/components/sticky-container.tsx",
|
|
163
|
-
"./components/story": "./src/components/story.tsx",
|
|
164
|
-
"./components/switch": "./src/components/switch.tsx",
|
|
165
|
-
"./components/table": "./src/components/table.tsx",
|
|
166
|
-
"./components/table-ledger-card": "./src/components/table-ledger-card.tsx",
|
|
167
|
-
"./components/table-trigger-band": "./src/components/table-trigger-band.tsx",
|
|
168
|
-
"./components/tabs": "./src/components/tabs.tsx",
|
|
169
|
-
"./components/tag": "./src/components/tag.tsx",
|
|
170
|
-
"./components/tag-group": "./src/components/tag-group.tsx",
|
|
171
|
-
"./components/text": "./src/components/text.tsx",
|
|
172
|
-
"./components/textarea": "./src/components/textarea.tsx",
|
|
173
|
-
"./components/time-slot": "./src/components/time-slot.tsx",
|
|
174
|
-
"./components/timeline-day": "./src/components/timeline-day.tsx",
|
|
175
|
-
"./components/timeline-hour": "./src/components/timeline-hour.tsx",
|
|
176
|
-
"./components/timeline-hour-puck": "./src/components/timeline-hour-puck.tsx",
|
|
177
|
-
"./components/toggle": "./src/components/toggle.tsx",
|
|
178
|
-
"./components/toggle-group": "./src/components/toggle-group.tsx",
|
|
179
|
-
"./components/tooltip": "./src/components/tooltip.tsx",
|
|
180
|
-
"./components/top-comparison": "./src/components/top-comparison.tsx",
|
|
181
|
-
"./components/top-cross-link": "./src/components/top-cross-link.tsx",
|
|
182
|
-
"./components/top-ranking-entry": "./src/components/top-ranking-entry.tsx",
|
|
183
|
-
"./components/top-ranking-hero": "./src/components/top-ranking-hero.tsx",
|
|
184
|
-
"./components/top-ranking-legend": "./src/components/top-ranking-legend.tsx",
|
|
185
|
-
"./components/top-types": "./src/components/top-types.ts",
|
|
186
|
-
"./components/use-mobile": "./src/components/use-mobile.tsx",
|
|
187
|
-
"./components/venue-events-block": "./src/components/venue-events-block.tsx",
|
|
188
|
-
"./components/venue-grade-dimensions": "./src/components/venue-grade-dimensions.tsx",
|
|
189
|
-
"./components/venue-quotes": "./src/components/venue-quotes.tsx",
|
|
190
|
-
"./components/venue-wall": "./src/components/venue-wall.tsx",
|
|
191
|
-
"./components/weekday-chip": "./src/components/weekday-chip.tsx",
|
|
192
|
-
"./components/weekday-theme-banner": "./src/components/weekday-theme-banner.tsx",
|
|
193
|
-
"./components/weekend-panel": "./src/components/weekend-panel.tsx",
|
|
194
19
|
"./globals.css": "./src/globals.css",
|
|
195
|
-
"./
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
"./hooks
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
"./lib
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
"./lib/overlay-pill": "./src/lib/overlay-pill.ts",
|
|
207
|
-
"./lib/utils": "./src/lib/utils.ts"
|
|
208
|
-
},
|
|
209
|
-
"publishConfig": {
|
|
210
|
-
"exports": {
|
|
211
|
-
"./globals.css": "./src/globals.css",
|
|
212
|
-
"./components/*": {
|
|
213
|
-
"types": "./dist/components/*.d.ts",
|
|
214
|
-
"import": "./dist/components/*.js"
|
|
215
|
-
},
|
|
216
|
-
"./hooks/*": {
|
|
217
|
-
"types": "./dist/hooks/*.d.ts",
|
|
218
|
-
"import": "./dist/hooks/*.js"
|
|
219
|
-
},
|
|
220
|
-
"./lib/*": {
|
|
221
|
-
"types": "./dist/lib/*.d.ts",
|
|
222
|
-
"import": "./dist/lib/*.js"
|
|
223
|
-
}
|
|
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"
|
|
224
31
|
}
|
|
225
32
|
},
|
|
226
|
-
"scripts": {
|
|
227
|
-
"storybook": "storybook dev -p 6006",
|
|
228
|
-
"build-storybook": "storybook build",
|
|
229
|
-
"build": "tsup",
|
|
230
|
-
"dev": "tsup --watch",
|
|
231
|
-
"typecheck": "tsc --noEmit",
|
|
232
|
-
"test": "vitest run",
|
|
233
|
-
"test:watch": "vitest",
|
|
234
|
-
"clean": "rm -rf dist",
|
|
235
|
-
"prepublishOnly": "pnpm run build"
|
|
236
|
-
},
|
|
237
33
|
"peerDependencies": {
|
|
238
34
|
"@hookform/resolvers": "^3.0.0 || ^5.0.0",
|
|
239
35
|
"@radix-ui/react-accordion": "*",
|
|
@@ -304,10 +100,10 @@
|
|
|
304
100
|
"@radix-ui/react-toggle": "^1.1.10",
|
|
305
101
|
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
306
102
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
307
|
-
"@storybook/addon-a11y": "^10.
|
|
308
|
-
"@storybook/addon-docs": "^10.
|
|
309
|
-
"@storybook/react": "^10.
|
|
310
|
-
"@storybook/react-vite": "^10.
|
|
103
|
+
"@storybook/addon-a11y": "^10.6.5",
|
|
104
|
+
"@storybook/addon-docs": "^10.6.5",
|
|
105
|
+
"@storybook/react": "^10.6.5",
|
|
106
|
+
"@storybook/react-vite": "^10.6.5",
|
|
311
107
|
"@tailwindcss/postcss": "^4.2.4",
|
|
312
108
|
"@tailwindcss/vite": "^4.2.4",
|
|
313
109
|
"@testing-library/jest-dom": "^6.9.1",
|
|
@@ -333,7 +129,7 @@
|
|
|
333
129
|
"react-markdown": "^10.1.0",
|
|
334
130
|
"remark-gfm": "^4.0.1",
|
|
335
131
|
"sonner": "^2.0.7",
|
|
336
|
-
"storybook": "^10.
|
|
132
|
+
"storybook": "^10.6.5",
|
|
337
133
|
"tailwind-merge": "^3.5.0",
|
|
338
134
|
"tailwindcss": "^4.2.4",
|
|
339
135
|
"tsup": "^8.5.0",
|
|
@@ -342,5 +138,15 @@
|
|
|
342
138
|
"vaul": "^1.1.2",
|
|
343
139
|
"vitest": "^4.1.5",
|
|
344
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"
|
|
345
151
|
}
|
|
346
|
-
}
|
|
152
|
+
}
|