@prototyperco/ui 0.5.0-alpha.0 → 0.5.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/components/accordion.cjs +154 -0
- package/dist/components/accordion.cjs.map +1 -0
- package/dist/components/accordion.d.cts +14 -0
- package/dist/components/accordion.d.ts +14 -0
- package/dist/components/accordion.js +127 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.cjs +324 -0
- package/dist/components/alert-dialog.cjs.map +1 -0
- package/dist/components/alert-dialog.d.cts +30 -0
- package/dist/components/alert-dialog.d.ts +30 -0
- package/dist/components/alert-dialog.js +289 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.cjs +105 -0
- package/dist/components/alert.cjs.map +1 -0
- package/dist/components/alert.d.cts +17 -0
- package/dist/components/alert.d.ts +17 -0
- package/dist/components/alert.js +78 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/autocomplete.cjs +512 -0
- package/dist/components/autocomplete.cjs.map +1 -0
- package/dist/components/autocomplete.d.cts +31 -0
- package/dist/components/autocomplete.d.ts +31 -0
- package/dist/components/autocomplete.js +472 -0
- package/dist/components/autocomplete.js.map +1 -0
- package/dist/components/avatar.cjs +144 -0
- package/dist/components/avatar.cjs.map +1 -0
- package/dist/components/avatar.d.cts +18 -0
- package/dist/components/avatar.d.ts +18 -0
- package/dist/components/avatar.js +115 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.cjs +81 -0
- package/dist/components/badge.cjs.map +1 -0
- package/dist/components/badge.d.cts +13 -0
- package/dist/components/badge.d.ts +13 -0
- package/dist/components/badge.js +56 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/breadcrumb.cjs +142 -0
- package/dist/components/breadcrumb.cjs.map +1 -0
- package/dist/components/breadcrumb.d.cts +20 -0
- package/dist/components/breadcrumb.d.ts +20 -0
- package/dist/components/breadcrumb.js +112 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button.cjs +145 -0
- package/dist/components/button.cjs.map +1 -0
- package/dist/components/button.d.cts +16 -0
- package/dist/components/button.d.ts +16 -0
- package/dist/components/button.js +120 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/card.cjs +141 -0
- package/dist/components/card.cjs.map +1 -0
- package/dist/components/card.d.cts +23 -0
- package/dist/components/card.d.ts +23 -0
- package/dist/components/card.js +111 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/checkbox-group.cjs +56 -0
- package/dist/components/checkbox-group.cjs.map +1 -0
- package/dist/components/checkbox-group.d.cts +8 -0
- package/dist/components/checkbox-group.d.ts +8 -0
- package/dist/components/checkbox-group.js +32 -0
- package/dist/components/checkbox-group.js.map +1 -0
- package/dist/components/checkbox.cjs +152 -0
- package/dist/components/checkbox.cjs.map +1 -0
- package/dist/components/checkbox.d.cts +12 -0
- package/dist/components/checkbox.d.ts +12 -0
- package/dist/components/checkbox.js +126 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.cjs +89 -0
- package/dist/components/collapsible.cjs.map +1 -0
- package/dist/components/collapsible.d.cts +12 -0
- package/dist/components/collapsible.d.ts +12 -0
- package/dist/components/collapsible.js +63 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/color-picker.cjs +983 -0
- package/dist/components/color-picker.cjs.map +1 -0
- package/dist/components/color-picker.d.cts +41 -0
- package/dist/components/color-picker.d.ts +41 -0
- package/dist/components/color-picker.js +939 -0
- package/dist/components/color-picker.js.map +1 -0
- package/dist/components/columns.cjs +163 -0
- package/dist/components/columns.cjs.map +1 -0
- package/dist/components/columns.d.cts +16 -0
- package/dist/components/columns.d.ts +16 -0
- package/dist/components/columns.js +136 -0
- package/dist/components/columns.js.map +1 -0
- package/dist/components/combobox.cjs +633 -0
- package/dist/components/combobox.cjs.map +1 -0
- package/dist/components/combobox.d.cts +40 -0
- package/dist/components/combobox.d.ts +40 -0
- package/dist/components/combobox.js +576 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command-palette.cjs +370 -0
- package/dist/components/command-palette.cjs.map +1 -0
- package/dist/components/command-palette.d.cts +42 -0
- package/dist/components/command-palette.d.ts +42 -0
- package/dist/components/command-palette.js +329 -0
- package/dist/components/command-palette.js.map +1 -0
- package/dist/components/container.cjs +80 -0
- package/dist/components/container.cjs.map +1 -0
- package/dist/components/container.d.cts +27 -0
- package/dist/components/container.d.ts +27 -0
- package/dist/components/container.js +54 -0
- package/dist/components/container.js.map +1 -0
- package/dist/components/context-menu.cjs +309 -0
- package/dist/components/context-menu.cjs.map +1 -0
- package/dist/components/context-menu.d.cts +37 -0
- package/dist/components/context-menu.d.ts +37 -0
- package/dist/components/context-menu.js +271 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/dialog.cjs +319 -0
- package/dist/components/dialog.cjs.map +1 -0
- package/dist/components/dialog.d.cts +32 -0
- package/dist/components/dialog.d.ts +32 -0
- package/dist/components/dialog.js +285 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.cjs +185 -0
- package/dist/components/drawer.cjs.map +1 -0
- package/dist/components/drawer.d.cts +32 -0
- package/dist/components/drawer.d.ts +32 -0
- package/dist/components/drawer.js +151 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/field.cjs +334 -0
- package/dist/components/field.cjs.map +1 -0
- package/dist/components/field.d.cts +39 -0
- package/dist/components/field.d.ts +39 -0
- package/dist/components/field.js +299 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/fieldset.cjs +75 -0
- package/dist/components/fieldset.cjs.map +1 -0
- package/dist/components/fieldset.d.cts +12 -0
- package/dist/components/fieldset.d.ts +12 -0
- package/dist/components/fieldset.js +50 -0
- package/dist/components/fieldset.js.map +1 -0
- package/dist/components/form.cjs +52 -0
- package/dist/components/form.cjs.map +1 -0
- package/dist/components/form.d.cts +8 -0
- package/dist/components/form.d.ts +8 -0
- package/dist/components/form.js +28 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/input-group.cjs +338 -0
- package/dist/components/input-group.cjs.map +1 -0
- package/dist/components/input-group.d.cts +27 -0
- package/dist/components/input-group.d.ts +27 -0
- package/dist/components/input-group.js +307 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input.cjs +63 -0
- package/dist/components/input.cjs.map +1 -0
- package/dist/components/input.d.cts +8 -0
- package/dist/components/input.d.ts +8 -0
- package/dist/components/input.js +39 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/label.cjs +54 -0
- package/dist/components/label.cjs.map +1 -0
- package/dist/components/label.d.cts +8 -0
- package/dist/components/label.d.ts +8 -0
- package/dist/components/label.js +28 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/menu.cjs +305 -0
- package/dist/components/menu.cjs.map +1 -0
- package/dist/components/menu.d.cts +37 -0
- package/dist/components/menu.d.ts +37 -0
- package/dist/components/menu.js +267 -0
- package/dist/components/menu.js.map +1 -0
- package/dist/components/menubar.cjs +503 -0
- package/dist/components/menubar.cjs.map +1 -0
- package/dist/components/menubar.d.cts +37 -0
- package/dist/components/menubar.d.ts +37 -0
- package/dist/components/menubar.js +464 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/meter.cjs +152 -0
- package/dist/components/meter.cjs.map +1 -0
- package/dist/components/meter.d.cts +23 -0
- package/dist/components/meter.d.ts +23 -0
- package/dist/components/meter.js +122 -0
- package/dist/components/meter.js.map +1 -0
- package/dist/components/navigation-menu.cjs +315 -0
- package/dist/components/navigation-menu.cjs.map +1 -0
- package/dist/components/navigation-menu.d.cts +22 -0
- package/dist/components/navigation-menu.d.ts +22 -0
- package/dist/components/navigation-menu.js +283 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/number-field.cjs +217 -0
- package/dist/components/number-field.cjs.map +1 -0
- package/dist/components/number-field.d.cts +23 -0
- package/dist/components/number-field.d.ts +23 -0
- package/dist/components/number-field.js +185 -0
- package/dist/components/number-field.js.map +1 -0
- package/dist/components/popover.cjs +125 -0
- package/dist/components/popover.cjs.map +1 -0
- package/dist/components/popover.d.cts +16 -0
- package/dist/components/popover.d.ts +16 -0
- package/dist/components/popover.js +96 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/preview-card.cjs +86 -0
- package/dist/components/preview-card.cjs.map +1 -0
- package/dist/components/preview-card.d.cts +12 -0
- package/dist/components/preview-card.d.ts +12 -0
- package/dist/components/preview-card.js +60 -0
- package/dist/components/preview-card.js.map +1 -0
- package/dist/components/progress.cjs +167 -0
- package/dist/components/progress.cjs.map +1 -0
- package/dist/components/progress.d.cts +23 -0
- package/dist/components/progress.d.ts +23 -0
- package/dist/components/progress.js +137 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.cjs +98 -0
- package/dist/components/radio-group.cjs.map +1 -0
- package/dist/components/radio-group.d.cts +11 -0
- package/dist/components/radio-group.d.ts +11 -0
- package/dist/components/radio-group.js +73 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/resizable-panel.cjs +91 -0
- package/dist/components/resizable-panel.cjs.map +1 -0
- package/dist/components/resizable-panel.d.cts +14 -0
- package/dist/components/resizable-panel.d.ts +14 -0
- package/dist/components/resizable-panel.js +69 -0
- package/dist/components/resizable-panel.js.map +1 -0
- package/dist/components/row.cjs +94 -0
- package/dist/components/row.cjs.map +1 -0
- package/dist/components/row.d.cts +27 -0
- package/dist/components/row.d.ts +27 -0
- package/dist/components/row.js +68 -0
- package/dist/components/row.js.map +1 -0
- package/dist/components/scroll-area.cjs +96 -0
- package/dist/components/scroll-area.cjs.map +1 -0
- package/dist/components/scroll-area.d.cts +10 -0
- package/dist/components/scroll-area.d.ts +10 -0
- package/dist/components/scroll-area.js +71 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/section.cjs +104 -0
- package/dist/components/section.cjs.map +1 -0
- package/dist/components/section.d.cts +26 -0
- package/dist/components/section.d.ts +26 -0
- package/dist/components/section.js +79 -0
- package/dist/components/section.js.map +1 -0
- package/dist/components/segmented-control.cjs +117 -0
- package/dist/components/segmented-control.cjs.map +1 -0
- package/dist/components/segmented-control.d.cts +16 -0
- package/dist/components/segmented-control.d.ts +16 -0
- package/dist/components/segmented-control.js +91 -0
- package/dist/components/segmented-control.js.map +1 -0
- package/dist/components/select.cjs +273 -0
- package/dist/components/select.cjs.map +1 -0
- package/dist/components/select.d.cts +26 -0
- package/dist/components/select.d.ts +26 -0
- package/dist/components/select.js +239 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.cjs +60 -0
- package/dist/components/separator.cjs.map +1 -0
- package/dist/components/separator.d.cts +8 -0
- package/dist/components/separator.d.ts +8 -0
- package/dist/components/separator.js +36 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/skeleton.cjs +54 -0
- package/dist/components/skeleton.cjs.map +1 -0
- package/dist/components/skeleton.d.cts +8 -0
- package/dist/components/skeleton.d.ts +8 -0
- package/dist/components/skeleton.js +28 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.cjs +221 -0
- package/dist/components/slider.cjs.map +1 -0
- package/dist/components/slider.d.cts +16 -0
- package/dist/components/slider.d.ts +16 -0
- package/dist/components/slider.js +182 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/spinner.cjs +97 -0
- package/dist/components/spinner.cjs.map +1 -0
- package/dist/components/spinner.d.cts +13 -0
- package/dist/components/spinner.d.ts +13 -0
- package/dist/components/spinner.js +72 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/switch.cjs +177 -0
- package/dist/components/switch.cjs.map +1 -0
- package/dist/components/switch.d.cts +22 -0
- package/dist/components/switch.d.ts +22 -0
- package/dist/components/switch.js +139 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/tabs.cjs +123 -0
- package/dist/components/tabs.cjs.map +1 -0
- package/dist/components/tabs.d.cts +19 -0
- package/dist/components/tabs.d.ts +19 -0
- package/dist/components/tabs.js +95 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/text-field.cjs +290 -0
- package/dist/components/text-field.cjs.map +1 -0
- package/dist/components/text-field.d.cts +27 -0
- package/dist/components/text-field.d.ts +27 -0
- package/dist/components/text-field.js +262 -0
- package/dist/components/text-field.js.map +1 -0
- package/dist/components/textarea.cjs +60 -0
- package/dist/components/textarea.cjs.map +1 -0
- package/dist/components/textarea.d.cts +8 -0
- package/dist/components/textarea.d.ts +8 -0
- package/dist/components/textarea.js +34 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toast.cjs +167 -0
- package/dist/components/toast.cjs.map +1 -0
- package/dist/components/toast.d.cts +28 -0
- package/dist/components/toast.d.ts +28 -0
- package/dist/components/toast.js +147 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/toggle-group.cjs +171 -0
- package/dist/components/toggle-group.cjs.map +1 -0
- package/dist/components/toggle-group.d.cts +18 -0
- package/dist/components/toggle-group.d.ts +18 -0
- package/dist/components/toggle-group.js +136 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.cjs +92 -0
- package/dist/components/toggle.cjs.map +1 -0
- package/dist/components/toggle.d.cts +14 -0
- package/dist/components/toggle.d.ts +14 -0
- package/dist/components/toggle.js +67 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/toolbar.cjs +160 -0
- package/dist/components/toolbar.cjs.map +1 -0
- package/dist/components/toolbar.d.cts +14 -0
- package/dist/components/toolbar.d.ts +14 -0
- package/dist/components/toolbar.js +131 -0
- package/dist/components/toolbar.js.map +1 -0
- package/dist/components/tooltip.cjs +116 -0
- package/dist/components/tooltip.cjs.map +1 -0
- package/dist/components/tooltip.d.cts +13 -0
- package/dist/components/tooltip.d.ts +13 -0
- package/dist/components/tooltip.js +89 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/tree-view.cjs +472 -0
- package/dist/components/tree-view.cjs.map +1 -0
- package/dist/components/tree-view.d.cts +33 -0
- package/dist/components/tree-view.d.ts +33 -0
- package/dist/components/tree-view.js +435 -0
- package/dist/components/tree-view.js.map +1 -0
- package/dist/index.cjs +11 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +101 -903
- package/dist/index.d.ts +101 -903
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/color-utils.cjs +315 -0
- package/dist/lib/color-utils.cjs.map +1 -0
- package/dist/lib/color-utils.d.cts +24 -0
- package/dist/lib/color-utils.d.ts +24 -0
- package/dist/lib/color-utils.js +280 -0
- package/dist/lib/color-utils.js.map +1 -0
- package/dist/lib/utils.cjs +35 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.d.cts +5 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +10 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +24 -5
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { NumberField as NumberField$1 } from '@base-ui/react/number-field';
|
|
5
|
+
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
declare function NumberField({ className, ...props }: NumberField$1.Root.Props): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare const numberFieldGroupVariants: (props?: ({
|
|
9
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
10
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
11
|
+
declare function NumberFieldGroup({ className, size, ...props }: NumberField$1.Group.Props & VariantProps<typeof numberFieldGroupVariants>): react_jsx_runtime.JSX.Element;
|
|
12
|
+
declare function NumberFieldInput({ className, ...props }: NumberField$1.Input.Props): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function NumberFieldIncrement({ className, children, ...props }: NumberField$1.Increment.Props): react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare function NumberFieldDecrement({ className, children, ...props }: NumberField$1.Decrement.Props): react_jsx_runtime.JSX.Element;
|
|
15
|
+
declare function NumberFieldSteppers({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare function NumberFieldScrubArea({ className, ...props }: NumberField$1.ScrubArea.Props): react_jsx_runtime.JSX.Element;
|
|
17
|
+
declare function NumberFieldScrubAreaCursor({ className, ...props }: NumberField$1.ScrubAreaCursor.Props): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
type NumberFieldProps = React.ComponentProps<typeof NumberField>;
|
|
20
|
+
type NumberFieldGroupProps = React.ComponentProps<typeof NumberFieldGroup>;
|
|
21
|
+
type NumberFieldInputProps = React.ComponentProps<typeof NumberFieldInput>;
|
|
22
|
+
|
|
23
|
+
export { NumberField, NumberFieldDecrement, NumberFieldGroup, type NumberFieldGroupProps, NumberFieldIncrement, NumberFieldInput, type NumberFieldInputProps, type NumberFieldProps, NumberFieldScrubArea, NumberFieldScrubAreaCursor, NumberFieldSteppers, numberFieldGroupVariants };
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/components/number-field.tsx
|
|
4
|
+
import { NumberField as NumberFieldPrimitive } from "@base-ui/react/number-field";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
7
|
+
|
|
8
|
+
// src/lib/utils.ts
|
|
9
|
+
import { clsx } from "clsx";
|
|
10
|
+
import { twMerge } from "tailwind-merge";
|
|
11
|
+
function cn(...inputs) {
|
|
12
|
+
return twMerge(clsx(inputs));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// src/components/number-field.tsx
|
|
16
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
+
function NumberField({ className, ...props }) {
|
|
18
|
+
return /* @__PURE__ */ jsx(
|
|
19
|
+
NumberFieldPrimitive.Root,
|
|
20
|
+
{
|
|
21
|
+
"data-slot": "number-field",
|
|
22
|
+
className: cn("group flex flex-col gap-2", className),
|
|
23
|
+
...props
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
var numberFieldGroupVariants = cva(
|
|
28
|
+
[
|
|
29
|
+
"border-field-border bg-field-background rounded-md border shadow-field focus-within:focus-field-ring relative flex w-full items-center overflow-hidden",
|
|
30
|
+
"hover-only:hover:border-field-border-hover focus-within:border-field-border-hover",
|
|
31
|
+
"data-invalid:border-field-border-invalid data-invalid:focus-within:invalid-field-ring",
|
|
32
|
+
"transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth",
|
|
33
|
+
"motion-reduce:transition-none",
|
|
34
|
+
"data-disabled:status-disabled"
|
|
35
|
+
],
|
|
36
|
+
{
|
|
37
|
+
variants: {
|
|
38
|
+
size: {
|
|
39
|
+
sm: "h-8",
|
|
40
|
+
default: "h-9",
|
|
41
|
+
lg: "h-10"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
defaultVariants: {
|
|
45
|
+
size: "default"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
function NumberFieldGroup({
|
|
50
|
+
className,
|
|
51
|
+
size,
|
|
52
|
+
...props
|
|
53
|
+
}) {
|
|
54
|
+
return /* @__PURE__ */ jsx(
|
|
55
|
+
NumberFieldPrimitive.Group,
|
|
56
|
+
{
|
|
57
|
+
"data-slot": "number-field-group",
|
|
58
|
+
className: cn(numberFieldGroupVariants({ size }), className),
|
|
59
|
+
...props
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
function NumberFieldInput({
|
|
64
|
+
className,
|
|
65
|
+
...props
|
|
66
|
+
}) {
|
|
67
|
+
return /* @__PURE__ */ jsx(
|
|
68
|
+
NumberFieldPrimitive.Input,
|
|
69
|
+
{
|
|
70
|
+
"data-slot": "number-field-input",
|
|
71
|
+
className: cn(
|
|
72
|
+
"tabular-nums w-fit min-w-0 flex-1 bg-transparent pr-10 pl-2.5 py-1 text-base outline-none md:text-sm placeholder:text-muted-foreground [&::-webkit-search-cancel-button]:hidden",
|
|
73
|
+
className
|
|
74
|
+
),
|
|
75
|
+
...props
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
function NumberFieldIncrement({
|
|
80
|
+
className,
|
|
81
|
+
children,
|
|
82
|
+
...props
|
|
83
|
+
}) {
|
|
84
|
+
return /* @__PURE__ */ jsx(
|
|
85
|
+
NumberFieldPrimitive.Increment,
|
|
86
|
+
{
|
|
87
|
+
"data-slot": "number-field-increment",
|
|
88
|
+
className: cn(
|
|
89
|
+
"no-highlight flex h-1/2 min-w-8 items-center justify-center rounded-none text-muted-foreground",
|
|
90
|
+
"transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth",
|
|
91
|
+
"hover-only:hover:bg-surface-secondary hover-only:hover:text-accent-foreground",
|
|
92
|
+
"focus-visible:focus-field-ring",
|
|
93
|
+
"data-disabled:status-disabled",
|
|
94
|
+
"motion-reduce:transition-none",
|
|
95
|
+
"motion-safe:active:scale-[0.95] active:bg-foreground/10",
|
|
96
|
+
className
|
|
97
|
+
),
|
|
98
|
+
...props,
|
|
99
|
+
children: children ?? /* @__PURE__ */ jsx(ChevronUpIcon, { "aria-hidden": true, className: "size-4" })
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
function NumberFieldDecrement({
|
|
104
|
+
className,
|
|
105
|
+
children,
|
|
106
|
+
...props
|
|
107
|
+
}) {
|
|
108
|
+
return /* @__PURE__ */ jsx(
|
|
109
|
+
NumberFieldPrimitive.Decrement,
|
|
110
|
+
{
|
|
111
|
+
"data-slot": "number-field-decrement",
|
|
112
|
+
className: cn(
|
|
113
|
+
"no-highlight flex h-1/2 min-w-8 items-center justify-center rounded-none text-muted-foreground",
|
|
114
|
+
"transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth",
|
|
115
|
+
"hover-only:hover:bg-surface-secondary hover-only:hover:text-accent-foreground",
|
|
116
|
+
"focus-visible:focus-field-ring",
|
|
117
|
+
"data-disabled:status-disabled",
|
|
118
|
+
"motion-reduce:transition-none",
|
|
119
|
+
"motion-safe:active:scale-[0.95] active:bg-foreground/10",
|
|
120
|
+
className
|
|
121
|
+
),
|
|
122
|
+
...props,
|
|
123
|
+
children: children ?? /* @__PURE__ */ jsx(ChevronDownIcon, { "aria-hidden": true, className: "size-4" })
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
function NumberFieldSteppers({
|
|
128
|
+
className,
|
|
129
|
+
...props
|
|
130
|
+
}) {
|
|
131
|
+
return /* @__PURE__ */ jsxs(
|
|
132
|
+
"div",
|
|
133
|
+
{
|
|
134
|
+
"data-slot": "number-field-steppers",
|
|
135
|
+
className: cn(
|
|
136
|
+
"absolute right-0 flex h-full flex-col border-l border-field-border",
|
|
137
|
+
className
|
|
138
|
+
),
|
|
139
|
+
...props,
|
|
140
|
+
children: [
|
|
141
|
+
/* @__PURE__ */ jsx(NumberFieldIncrement, {}),
|
|
142
|
+
/* @__PURE__ */ jsx("div", { className: "border-b border-field-border/50" }),
|
|
143
|
+
/* @__PURE__ */ jsx(NumberFieldDecrement, {})
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
function NumberFieldScrubArea({
|
|
149
|
+
className,
|
|
150
|
+
...props
|
|
151
|
+
}) {
|
|
152
|
+
return /* @__PURE__ */ jsx(
|
|
153
|
+
NumberFieldPrimitive.ScrubArea,
|
|
154
|
+
{
|
|
155
|
+
"data-slot": "number-field-scrub-area",
|
|
156
|
+
className: cn("cursor-ew-resize touch-none", className),
|
|
157
|
+
...props
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
function NumberFieldScrubAreaCursor({
|
|
162
|
+
className,
|
|
163
|
+
...props
|
|
164
|
+
}) {
|
|
165
|
+
return /* @__PURE__ */ jsx(
|
|
166
|
+
NumberFieldPrimitive.ScrubAreaCursor,
|
|
167
|
+
{
|
|
168
|
+
"data-slot": "number-field-scrub-area-cursor",
|
|
169
|
+
className: cn("pointer-events-none", className),
|
|
170
|
+
...props
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
export {
|
|
175
|
+
NumberField,
|
|
176
|
+
NumberFieldDecrement,
|
|
177
|
+
NumberFieldGroup,
|
|
178
|
+
NumberFieldIncrement,
|
|
179
|
+
NumberFieldInput,
|
|
180
|
+
NumberFieldScrubArea,
|
|
181
|
+
NumberFieldScrubAreaCursor,
|
|
182
|
+
NumberFieldSteppers,
|
|
183
|
+
numberFieldGroupVariants
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=number-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/number-field.tsx","../../src/lib/utils.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { NumberField as NumberFieldPrimitive } from \"@base-ui/react/number-field\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction NumberField({ className, ...props }: NumberFieldPrimitive.Root.Props) {\n return (\n <NumberFieldPrimitive.Root\n data-slot=\"number-field\"\n className={cn(\"group flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nconst numberFieldGroupVariants = cva(\n [\n \"border-field-border bg-field-background rounded-md border shadow-field focus-within:focus-field-ring relative flex w-full items-center overflow-hidden\",\n \"hover-only:hover:border-field-border-hover focus-within:border-field-border-hover\",\n \"data-invalid:border-field-border-invalid data-invalid:focus-within:invalid-field-ring\",\n \"transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth\",\n \"motion-reduce:transition-none\",\n \"data-disabled:status-disabled\",\n ],\n {\n variants: {\n size: {\n sm: \"h-8\",\n default: \"h-9\",\n lg: \"h-10\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\nfunction NumberFieldGroup({\n className,\n size,\n ...props\n}: NumberFieldPrimitive.Group.Props &\n VariantProps<typeof numberFieldGroupVariants>) {\n return (\n <NumberFieldPrimitive.Group\n data-slot=\"number-field-group\"\n className={cn(numberFieldGroupVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction NumberFieldInput({\n className,\n ...props\n}: NumberFieldPrimitive.Input.Props) {\n return (\n <NumberFieldPrimitive.Input\n data-slot=\"number-field-input\"\n className={cn(\n \"tabular-nums w-fit min-w-0 flex-1 bg-transparent pr-10 pl-2.5 py-1 text-base outline-none md:text-sm placeholder:text-muted-foreground [&::-webkit-search-cancel-button]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NumberFieldIncrement({\n className,\n children,\n ...props\n}: NumberFieldPrimitive.Increment.Props) {\n return (\n <NumberFieldPrimitive.Increment\n data-slot=\"number-field-increment\"\n className={cn(\n \"no-highlight flex h-1/2 min-w-8 items-center justify-center rounded-none text-muted-foreground\",\n \"transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth\",\n \"hover-only:hover:bg-surface-secondary hover-only:hover:text-accent-foreground\",\n \"focus-visible:focus-field-ring\",\n \"data-disabled:status-disabled\",\n \"motion-reduce:transition-none\",\n \"motion-safe:active:scale-[0.95] active:bg-foreground/10\",\n className,\n )}\n {...props}\n >\n {children ?? <ChevronUpIcon aria-hidden className=\"size-4\" />}\n </NumberFieldPrimitive.Increment>\n );\n}\n\nfunction NumberFieldDecrement({\n className,\n children,\n ...props\n}: NumberFieldPrimitive.Decrement.Props) {\n return (\n <NumberFieldPrimitive.Decrement\n data-slot=\"number-field-decrement\"\n className={cn(\n \"no-highlight flex h-1/2 min-w-8 items-center justify-center rounded-none text-muted-foreground\",\n \"transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth\",\n \"hover-only:hover:bg-surface-secondary hover-only:hover:text-accent-foreground\",\n \"focus-visible:focus-field-ring\",\n \"data-disabled:status-disabled\",\n \"motion-reduce:transition-none\",\n \"motion-safe:active:scale-[0.95] active:bg-foreground/10\",\n className,\n )}\n {...props}\n >\n {children ?? <ChevronDownIcon aria-hidden className=\"size-4\" />}\n </NumberFieldPrimitive.Decrement>\n );\n}\n\nfunction NumberFieldSteppers({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"number-field-steppers\"\n className={cn(\n \"absolute right-0 flex h-full flex-col border-l border-field-border\",\n className,\n )}\n {...props}\n >\n <NumberFieldIncrement />\n <div className=\"border-b border-field-border/50\" />\n <NumberFieldDecrement />\n </div>\n );\n}\n\nfunction NumberFieldScrubArea({\n className,\n ...props\n}: NumberFieldPrimitive.ScrubArea.Props) {\n return (\n <NumberFieldPrimitive.ScrubArea\n data-slot=\"number-field-scrub-area\"\n className={cn(\"cursor-ew-resize touch-none\", className)}\n {...props}\n />\n );\n}\n\nfunction NumberFieldScrubAreaCursor({\n className,\n ...props\n}: NumberFieldPrimitive.ScrubAreaCursor.Props) {\n return (\n <NumberFieldPrimitive.ScrubAreaCursor\n data-slot=\"number-field-scrub-area-cursor\"\n className={cn(\"pointer-events-none\", className)}\n {...props}\n />\n );\n}\n\nexport {\n NumberField,\n NumberFieldGroup,\n numberFieldGroupVariants,\n NumberFieldInput,\n NumberFieldIncrement,\n NumberFieldDecrement,\n NumberFieldSteppers,\n NumberFieldScrubArea,\n NumberFieldScrubAreaCursor,\n};\n\nexport type NumberFieldProps = React.ComponentProps<typeof NumberField>;\nexport type NumberFieldGroupProps = React.ComponentProps<\n typeof NumberFieldGroup\n>;\nexport type NumberFieldInputProps = React.ComponentProps<\n typeof NumberFieldInput\n>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;AAGA,SAAS,eAAe,4BAA4B;AACpD,SAAS,WAA8B;AACvC,SAAS,iBAAiB,qBAAqB;;;ACL/C,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADMI,cAqHA,YArHA;AAFJ,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAoC;AAC7E,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,6BAA6B,SAAS;AAAA,MACnD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,2BAA2B;AAAA,EAC/B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GACiD;AAC/C,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,yBAAyB,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,MAC1D,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyC;AACvC,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,sBAAY,oBAAC,iBAAc,eAAW,MAAC,WAAU,UAAS;AAAA;AAAA,EAC7D;AAEJ;AAEA,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyC;AACvC,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,sBAAY,oBAAC,mBAAgB,eAAW,MAAC,WAAU,UAAS;AAAA;AAAA,EAC/D;AAEJ;AAEA,SAAS,oBAAoB;AAAA,EAC3B;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,4BAAC,wBAAqB;AAAA,QACtB,oBAAC,SAAI,WAAU,mCAAkC;AAAA,QACjD,oBAAC,wBAAqB;AAAA;AAAA;AAAA,EACxB;AAEJ;AAEA,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAAyC;AACvC,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,+BAA+B,SAAS;AAAA,MACrD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,2BAA2B;AAAA,EAClC;AAAA,EACA,GAAG;AACL,GAA+C;AAC7C,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,uBAAuB,SAAS;AAAA,MAC7C,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// src/components/popover.tsx
|
|
22
|
+
var popover_exports = {};
|
|
23
|
+
__export(popover_exports, {
|
|
24
|
+
Popover: () => Popover,
|
|
25
|
+
PopoverContent: () => PopoverContent,
|
|
26
|
+
PopoverDescription: () => PopoverDescription,
|
|
27
|
+
PopoverHeader: () => PopoverHeader,
|
|
28
|
+
PopoverTitle: () => PopoverTitle,
|
|
29
|
+
PopoverTrigger: () => PopoverTrigger
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(popover_exports);
|
|
32
|
+
var import_popover = require("@base-ui/react/popover");
|
|
33
|
+
|
|
34
|
+
// src/lib/utils.ts
|
|
35
|
+
var import_clsx = require("clsx");
|
|
36
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
37
|
+
function cn(...inputs) {
|
|
38
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// src/components/popover.tsx
|
|
42
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
43
|
+
function Popover({ ...props }) {
|
|
44
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
|
|
45
|
+
}
|
|
46
|
+
function PopoverTrigger({ ...props }) {
|
|
47
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
48
|
+
}
|
|
49
|
+
function PopoverContent({
|
|
50
|
+
className,
|
|
51
|
+
align = "center",
|
|
52
|
+
alignOffset = 0,
|
|
53
|
+
side = "bottom",
|
|
54
|
+
sideOffset = 4,
|
|
55
|
+
...props
|
|
56
|
+
}) {
|
|
57
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
58
|
+
import_popover.Popover.Positioner,
|
|
59
|
+
{
|
|
60
|
+
align,
|
|
61
|
+
alignOffset,
|
|
62
|
+
side,
|
|
63
|
+
sideOffset,
|
|
64
|
+
className: "isolate z-50",
|
|
65
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
66
|
+
import_popover.Popover.Popup,
|
|
67
|
+
{
|
|
68
|
+
"data-slot": "popover-content",
|
|
69
|
+
className: cn(
|
|
70
|
+
"min-w-[8rem] origin-(--transform-origin) rounded-xl bg-overlay text-sm text-overlay-foreground shadow-overlay outline-none",
|
|
71
|
+
"data-open:animate-in data-open:duration-150 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95",
|
|
72
|
+
"data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1",
|
|
73
|
+
"data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]",
|
|
74
|
+
"motion-reduce:animate-none motion-reduce:transition-none",
|
|
75
|
+
className
|
|
76
|
+
),
|
|
77
|
+
...props
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
) });
|
|
82
|
+
}
|
|
83
|
+
function PopoverHeader({ className, ...props }) {
|
|
84
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
85
|
+
"div",
|
|
86
|
+
{
|
|
87
|
+
"data-slot": "popover-header",
|
|
88
|
+
className: cn("flex flex-col gap-1 text-sm", className),
|
|
89
|
+
...props
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
function PopoverTitle({ className, ...props }) {
|
|
94
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
95
|
+
import_popover.Popover.Title,
|
|
96
|
+
{
|
|
97
|
+
"data-slot": "popover-title",
|
|
98
|
+
className: cn("font-semibold", className),
|
|
99
|
+
...props
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
function PopoverDescription({
|
|
104
|
+
className,
|
|
105
|
+
...props
|
|
106
|
+
}) {
|
|
107
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
108
|
+
import_popover.Popover.Description,
|
|
109
|
+
{
|
|
110
|
+
"data-slot": "popover-description",
|
|
111
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
112
|
+
...props
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
117
|
+
0 && (module.exports = {
|
|
118
|
+
Popover,
|
|
119
|
+
PopoverContent,
|
|
120
|
+
PopoverDescription,
|
|
121
|
+
PopoverHeader,
|
|
122
|
+
PopoverTitle,
|
|
123
|
+
PopoverTrigger
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=popover.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/popover.tsx","../../src/lib/utils.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n \"min-w-[8rem] origin-(--transform-origin) rounded-xl bg-overlay text-sm text-overlay-foreground shadow-overlay outline-none\",\n \"data-open:animate-in data-open:duration-150 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1\",\n \"data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]\",\n \"motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Positioner>\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-1 text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Popover,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n};\n\nexport type PopoverProps = React.ComponentProps<typeof Popover>;\nexport type PopoverContentProps = React.ComponentProps<typeof PopoverContent>;\nexport type PopoverTriggerProps = React.ComponentProps<typeof PopoverTrigger>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA4C;;;ACH5C,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADGS;AADT,SAAS,QAAQ,EAAE,GAAG,MAAM,GAAgC;AAC1D,SAAO,4CAAC,eAAAA,QAAiB,MAAjB,EAAsB,aAAU,WAAW,GAAG,OAAO;AAC/D;AAEA,SAAS,eAAe,EAAE,GAAG,MAAM,GAAmC;AACpE,SAAO,4CAAC,eAAAA,QAAiB,SAAjB,EAAyB,aAAU,mBAAmB,GAAG,OAAO;AAC1E;AAEA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,OAAO;AAAA,EACP,aAAa;AAAA,EACb,GAAG;AACL,GAIK;AACH,SACE,4CAAC,eAAAA,QAAiB,QAAjB,EACC;AAAA,IAAC,eAAAA,QAAiB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MAEV;AAAA,QAAC,eAAAA,QAAiB;AAAA,QAAjB;AAAA,UACC,aAAU;AAAA,UACV,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACC,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,+BAA+B,SAAS;AAAA,MACrD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAiC;AAC3E,SACE;AAAA,IAAC,eAAAA,QAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iBAAiB,SAAS;AAAA,MACvC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAAuC;AACrC,SACE;AAAA,IAAC,eAAAA,QAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;","names":["PopoverPrimitive"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Popover as Popover$1 } from '@base-ui/react/popover';
|
|
4
|
+
|
|
5
|
+
declare function Popover({ ...props }: Popover$1.Root.Props): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function PopoverTrigger({ ...props }: Popover$1.Trigger.Props): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function PopoverContent({ className, align, alignOffset, side, sideOffset, ...props }: Popover$1.Popup.Props & Pick<Popover$1.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function PopoverHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function PopoverTitle({ className, ...props }: Popover$1.Title.Props): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function PopoverDescription({ className, ...props }: Popover$1.Description.Props): react_jsx_runtime.JSX.Element;
|
|
11
|
+
|
|
12
|
+
type PopoverProps = React.ComponentProps<typeof Popover>;
|
|
13
|
+
type PopoverContentProps = React.ComponentProps<typeof PopoverContent>;
|
|
14
|
+
type PopoverTriggerProps = React.ComponentProps<typeof PopoverTrigger>;
|
|
15
|
+
|
|
16
|
+
export { Popover, PopoverContent, type PopoverContentProps, PopoverDescription, PopoverHeader, type PopoverProps, PopoverTitle, PopoverTrigger, type PopoverTriggerProps };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Popover as Popover$1 } from '@base-ui/react/popover';
|
|
4
|
+
|
|
5
|
+
declare function Popover({ ...props }: Popover$1.Root.Props): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function PopoverTrigger({ ...props }: Popover$1.Trigger.Props): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function PopoverContent({ className, align, alignOffset, side, sideOffset, ...props }: Popover$1.Popup.Props & Pick<Popover$1.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function PopoverHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function PopoverTitle({ className, ...props }: Popover$1.Title.Props): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function PopoverDescription({ className, ...props }: Popover$1.Description.Props): react_jsx_runtime.JSX.Element;
|
|
11
|
+
|
|
12
|
+
type PopoverProps = React.ComponentProps<typeof Popover>;
|
|
13
|
+
type PopoverContentProps = React.ComponentProps<typeof PopoverContent>;
|
|
14
|
+
type PopoverTriggerProps = React.ComponentProps<typeof PopoverTrigger>;
|
|
15
|
+
|
|
16
|
+
export { Popover, PopoverContent, type PopoverContentProps, PopoverDescription, PopoverHeader, type PopoverProps, PopoverTitle, PopoverTrigger, type PopoverTriggerProps };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/components/popover.tsx
|
|
4
|
+
import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
|
|
5
|
+
|
|
6
|
+
// src/lib/utils.ts
|
|
7
|
+
import { clsx } from "clsx";
|
|
8
|
+
import { twMerge } from "tailwind-merge";
|
|
9
|
+
function cn(...inputs) {
|
|
10
|
+
return twMerge(clsx(inputs));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// src/components/popover.tsx
|
|
14
|
+
import { jsx } from "react/jsx-runtime";
|
|
15
|
+
function Popover({ ...props }) {
|
|
16
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
17
|
+
}
|
|
18
|
+
function PopoverTrigger({ ...props }) {
|
|
19
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
20
|
+
}
|
|
21
|
+
function PopoverContent({
|
|
22
|
+
className,
|
|
23
|
+
align = "center",
|
|
24
|
+
alignOffset = 0,
|
|
25
|
+
side = "bottom",
|
|
26
|
+
sideOffset = 4,
|
|
27
|
+
...props
|
|
28
|
+
}) {
|
|
29
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
30
|
+
PopoverPrimitive.Positioner,
|
|
31
|
+
{
|
|
32
|
+
align,
|
|
33
|
+
alignOffset,
|
|
34
|
+
side,
|
|
35
|
+
sideOffset,
|
|
36
|
+
className: "isolate z-50",
|
|
37
|
+
children: /* @__PURE__ */ jsx(
|
|
38
|
+
PopoverPrimitive.Popup,
|
|
39
|
+
{
|
|
40
|
+
"data-slot": "popover-content",
|
|
41
|
+
className: cn(
|
|
42
|
+
"min-w-[8rem] origin-(--transform-origin) rounded-xl bg-overlay text-sm text-overlay-foreground shadow-overlay outline-none",
|
|
43
|
+
"data-open:animate-in data-open:duration-150 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95",
|
|
44
|
+
"data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1",
|
|
45
|
+
"data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]",
|
|
46
|
+
"motion-reduce:animate-none motion-reduce:transition-none",
|
|
47
|
+
className
|
|
48
|
+
),
|
|
49
|
+
...props
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
) });
|
|
54
|
+
}
|
|
55
|
+
function PopoverHeader({ className, ...props }) {
|
|
56
|
+
return /* @__PURE__ */ jsx(
|
|
57
|
+
"div",
|
|
58
|
+
{
|
|
59
|
+
"data-slot": "popover-header",
|
|
60
|
+
className: cn("flex flex-col gap-1 text-sm", className),
|
|
61
|
+
...props
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
function PopoverTitle({ className, ...props }) {
|
|
66
|
+
return /* @__PURE__ */ jsx(
|
|
67
|
+
PopoverPrimitive.Title,
|
|
68
|
+
{
|
|
69
|
+
"data-slot": "popover-title",
|
|
70
|
+
className: cn("font-semibold", className),
|
|
71
|
+
...props
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
function PopoverDescription({
|
|
76
|
+
className,
|
|
77
|
+
...props
|
|
78
|
+
}) {
|
|
79
|
+
return /* @__PURE__ */ jsx(
|
|
80
|
+
PopoverPrimitive.Description,
|
|
81
|
+
{
|
|
82
|
+
"data-slot": "popover-description",
|
|
83
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
84
|
+
...props
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
Popover,
|
|
90
|
+
PopoverContent,
|
|
91
|
+
PopoverDescription,
|
|
92
|
+
PopoverHeader,
|
|
93
|
+
PopoverTitle,
|
|
94
|
+
PopoverTrigger
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/popover.tsx","../../src/lib/utils.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n \"min-w-[8rem] origin-(--transform-origin) rounded-xl bg-overlay text-sm text-overlay-foreground shadow-overlay outline-none\",\n \"data-open:animate-in data-open:duration-150 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1\",\n \"data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]\",\n \"motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Positioner>\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-1 text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Popover,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n};\n\nexport type PopoverProps = React.ComponentProps<typeof Popover>;\nexport type PopoverContentProps = React.ComponentProps<typeof PopoverContent>;\nexport type PopoverTriggerProps = React.ComponentProps<typeof PopoverTrigger>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;AAGA,SAAS,WAAW,wBAAwB;;;ACH5C,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADGS;AADT,SAAS,QAAQ,EAAE,GAAG,MAAM,GAAgC;AAC1D,SAAO,oBAAC,iBAAiB,MAAjB,EAAsB,aAAU,WAAW,GAAG,OAAO;AAC/D;AAEA,SAAS,eAAe,EAAE,GAAG,MAAM,GAAmC;AACpE,SAAO,oBAAC,iBAAiB,SAAjB,EAAyB,aAAU,mBAAmB,GAAG,OAAO;AAC1E;AAEA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,OAAO;AAAA,EACP,aAAa;AAAA,EACb,GAAG;AACL,GAIK;AACH,SACE,oBAAC,iBAAiB,QAAjB,EACC;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MAEV;AAAA,QAAC,iBAAiB;AAAA,QAAjB;AAAA,UACC,aAAU;AAAA,UACV,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACC,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,+BAA+B,SAAS;AAAA,MACrD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAiC;AAC3E,SACE;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iBAAiB,SAAS;AAAA,MACvC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAAuC;AACrC,SACE;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// src/components/preview-card.tsx
|
|
22
|
+
var preview_card_exports = {};
|
|
23
|
+
__export(preview_card_exports, {
|
|
24
|
+
HoverCard: () => HoverCard,
|
|
25
|
+
HoverCardContent: () => HoverCardContent,
|
|
26
|
+
HoverCardTrigger: () => HoverCardTrigger
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(preview_card_exports);
|
|
29
|
+
var import_preview_card = require("@base-ui/react/preview-card");
|
|
30
|
+
|
|
31
|
+
// src/lib/utils.ts
|
|
32
|
+
var import_clsx = require("clsx");
|
|
33
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
34
|
+
function cn(...inputs) {
|
|
35
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// src/components/preview-card.tsx
|
|
39
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
40
|
+
function HoverCard({ ...props }) {
|
|
41
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_preview_card.PreviewCard.Root, { "data-slot": "hover-card", ...props });
|
|
42
|
+
}
|
|
43
|
+
function HoverCardTrigger({ ...props }) {
|
|
44
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_preview_card.PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
45
|
+
}
|
|
46
|
+
function HoverCardContent({
|
|
47
|
+
className,
|
|
48
|
+
side = "bottom",
|
|
49
|
+
sideOffset = 4,
|
|
50
|
+
align = "center",
|
|
51
|
+
alignOffset = 4,
|
|
52
|
+
...props
|
|
53
|
+
}) {
|
|
54
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_preview_card.PreviewCard.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
55
|
+
import_preview_card.PreviewCard.Positioner,
|
|
56
|
+
{
|
|
57
|
+
align,
|
|
58
|
+
alignOffset,
|
|
59
|
+
side,
|
|
60
|
+
sideOffset,
|
|
61
|
+
className: "isolate z-50",
|
|
62
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
63
|
+
import_preview_card.PreviewCard.Popup,
|
|
64
|
+
{
|
|
65
|
+
"data-slot": "hover-card-content",
|
|
66
|
+
className: cn(
|
|
67
|
+
"w-64 origin-(--transform-origin) rounded-lg bg-overlay p-4 text-sm text-overlay-foreground shadow-overlay outline-hidden",
|
|
68
|
+
"data-open:animate-in data-open:duration-100 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95",
|
|
69
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2",
|
|
70
|
+
"data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]",
|
|
71
|
+
"motion-reduce:animate-none motion-reduce:transition-none",
|
|
72
|
+
className
|
|
73
|
+
),
|
|
74
|
+
...props
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
) });
|
|
79
|
+
}
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
HoverCard,
|
|
83
|
+
HoverCardContent,
|
|
84
|
+
HoverCardTrigger
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=preview-card.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/preview-card.tsx","../../src/lib/utils.ts"],"sourcesContent":["\"use client\";\n\nimport { PreviewCard as PreviewCardPrimitive } from \"@base-ui/react/preview-card\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction HoverCard({ ...props }: PreviewCardPrimitive.Root.Props) {\n return <PreviewCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({ ...props }: PreviewCardPrimitive.Trigger.Props) {\n return (\n <PreviewCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n );\n}\n\nfunction HoverCardContent({\n className,\n side = \"bottom\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 4,\n ...props\n}: PreviewCardPrimitive.Popup.Props &\n Pick<\n PreviewCardPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <PreviewCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <PreviewCardPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <PreviewCardPrimitive.Popup\n data-slot=\"hover-card-content\"\n className={cn(\n \"w-64 origin-(--transform-origin) rounded-lg bg-overlay p-4 text-sm text-overlay-foreground shadow-overlay outline-hidden\",\n \"data-open:animate-in data-open:duration-100 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2\",\n \"data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]\",\n \"motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n </PreviewCardPrimitive.Positioner>\n </PreviewCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n\nexport type HoverCardProps = React.ComponentProps<typeof HoverCard>;\nexport type HoverCardContentProps = React.ComponentProps<\n typeof HoverCardContent\n>;\nexport type HoverCardTriggerProps = React.ComponentProps<\n typeof HoverCardTrigger\n>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,0BAAoD;;;ACFpD,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADES;AADT,SAAS,UAAU,EAAE,GAAG,MAAM,GAAoC;AAChE,SAAO,4CAAC,oBAAAA,YAAqB,MAArB,EAA0B,aAAU,cAAc,GAAG,OAAO;AACtE;AAEA,SAAS,iBAAiB,EAAE,GAAG,MAAM,GAAuC;AAC1E,SACE,4CAAC,oBAAAA,YAAqB,SAArB,EAA6B,aAAU,sBAAsB,GAAG,OAAO;AAE5E;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,OAAO;AAAA,EACP,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,GAAG;AACL,GAIK;AACH,SACE,4CAAC,oBAAAA,YAAqB,QAArB,EAA4B,aAAU,qBACrC;AAAA,IAAC,oBAAAA,YAAqB;AAAA,IAArB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MAEV;AAAA,QAAC,oBAAAA,YAAqB;AAAA,QAArB;AAAA,UACC,aAAU;AAAA,UACV,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACC,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF,GACF;AAEJ;","names":["PreviewCardPrimitive"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { PreviewCard } from '@base-ui/react/preview-card';
|
|
3
|
+
|
|
4
|
+
declare function HoverCard({ ...props }: PreviewCard.Root.Props): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare function HoverCardTrigger({ ...props }: PreviewCard.Trigger.Props): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function HoverCardContent({ className, side, sideOffset, align, alignOffset, ...props }: PreviewCard.Popup.Props & Pick<PreviewCard.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): react_jsx_runtime.JSX.Element;
|
|
7
|
+
|
|
8
|
+
type HoverCardProps = React.ComponentProps<typeof HoverCard>;
|
|
9
|
+
type HoverCardContentProps = React.ComponentProps<typeof HoverCardContent>;
|
|
10
|
+
type HoverCardTriggerProps = React.ComponentProps<typeof HoverCardTrigger>;
|
|
11
|
+
|
|
12
|
+
export { HoverCard, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { PreviewCard } from '@base-ui/react/preview-card';
|
|
3
|
+
|
|
4
|
+
declare function HoverCard({ ...props }: PreviewCard.Root.Props): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare function HoverCardTrigger({ ...props }: PreviewCard.Trigger.Props): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function HoverCardContent({ className, side, sideOffset, align, alignOffset, ...props }: PreviewCard.Popup.Props & Pick<PreviewCard.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): react_jsx_runtime.JSX.Element;
|
|
7
|
+
|
|
8
|
+
type HoverCardProps = React.ComponentProps<typeof HoverCard>;
|
|
9
|
+
type HoverCardContentProps = React.ComponentProps<typeof HoverCardContent>;
|
|
10
|
+
type HoverCardTriggerProps = React.ComponentProps<typeof HoverCardTrigger>;
|
|
11
|
+
|
|
12
|
+
export { HoverCard, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps };
|