@contractspec/lib.ui-kit-web 3.7.5 → 3.8.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/README.md +33 -88
- package/dist/browser/ui/accordion.js +4 -4
- package/dist/browser/ui/alert-dialog.js +9 -9
- package/dist/browser/ui/alert.js +4 -4
- package/dist/browser/ui/atoms/FilterSelect/FilterSelect.js +51 -51
- package/dist/browser/ui/atoms/FilterSelect/index.js +51 -51
- package/dist/browser/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -1
- package/dist/browser/ui/atoms/Pagination/Pagination.js +13 -13
- package/dist/browser/ui/atoms/Pagination/index.js +13 -13
- package/dist/browser/ui/atoms/SearchInput/SearchInput.js +8 -8
- package/dist/browser/ui/atoms/SearchInput/index.js +8 -8
- package/dist/browser/ui/avatar.js +1 -1
- package/dist/browser/ui/badge.js +3 -3
- package/dist/browser/ui/breadcrumb.js +4 -4
- package/dist/browser/ui/button.js +5 -5
- package/dist/browser/ui/calendar.js +21 -21
- package/dist/browser/ui/card.js +2 -2
- package/dist/browser/ui/carousel.js +6 -6
- package/dist/browser/ui/checkbox.js +2 -2
- package/dist/browser/ui/command.js +14 -14
- package/dist/browser/ui/confirm-dialog.js +9 -9
- package/dist/browser/ui/context-menu.js +10 -10
- package/dist/browser/ui/cta.js +5 -5
- package/dist/browser/ui/data-table.js +1005 -0
- package/dist/browser/ui/data-table.parts.js +463 -0
- package/dist/browser/ui/date-picker.js +26 -26
- package/dist/browser/ui/date-range-picker.js +24 -24
- package/dist/browser/ui/datetime-picker.js +29 -29
- package/dist/browser/ui/dialog.js +5 -5
- package/dist/browser/ui/drawer.js +5 -5
- package/dist/browser/ui/dropdown-menu.js +10 -10
- package/dist/browser/ui/empty-state.js +5 -5
- package/dist/browser/ui/empty.js +7 -7
- package/dist/browser/ui/field.js +12 -12
- package/dist/browser/ui/form.js +4 -4
- package/dist/browser/ui/hover-card.js +2 -2
- package/dist/browser/ui/input-group.js +16 -16
- package/dist/browser/ui/input-otp.js +4 -4
- package/dist/browser/ui/input.js +1 -1
- package/dist/browser/ui/label.js +2 -2
- package/dist/browser/ui/loading-button.js +8 -8
- package/dist/browser/ui/marketing/FeatureGrid.js +3 -3
- package/dist/browser/ui/marketing/Hero.js +7 -7
- package/dist/browser/ui/marketing/PricingTable.js +10 -10
- package/dist/browser/ui/menubar.js +12 -12
- package/dist/browser/ui/molecules/Autocomplete/index.js +26 -26
- package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +62 -62
- package/dist/browser/ui/molecules/SearchAndFilter/index.js +62 -62
- package/dist/browser/ui/molecules/SkeletonList.js +1 -1
- package/dist/browser/ui/nav-layout.js +22 -22
- package/dist/browser/ui/navigation-menu.js +7 -7
- package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +11 -11
- package/dist/browser/ui/organisms/ListPage/ListPage.js +84 -84
- package/dist/browser/ui/page-header.js +4 -4
- package/dist/browser/ui/pagination.js +6 -6
- package/dist/browser/ui/popover.js +2 -2
- package/dist/browser/ui/progress.js +3 -3
- package/dist/browser/ui/radio-group.js +3 -3
- package/dist/browser/ui/resizable.js +3 -3
- package/dist/browser/ui/scroll-area.js +4 -4
- package/dist/browser/ui/section.js +1 -1
- package/dist/browser/ui/select.js +6 -6
- package/dist/browser/ui/separator.js +2 -2
- package/dist/browser/ui/sheet.js +5 -5
- package/dist/browser/ui/sidebar.js +64 -64
- package/dist/browser/ui/skeleton.js +1 -1
- package/dist/browser/ui/slider.js +6 -6
- package/dist/browser/ui/stack.js +1 -1
- package/dist/browser/ui/stat-card-group.js +5 -5
- package/dist/browser/ui/stepper.js +2 -2
- package/dist/browser/ui/switch.js +3 -3
- package/dist/browser/ui/table.js +5 -5
- package/dist/browser/ui/tabs.js +3 -3
- package/dist/browser/ui/text.js +2 -2
- package/dist/browser/ui/textarea.js +1 -1
- package/dist/browser/ui/time-picker.js +10 -10
- package/dist/browser/ui/toast.js +5 -5
- package/dist/browser/ui/toaster.js +5 -5
- package/dist/browser/ui/toggle-group.js +7 -7
- package/dist/browser/ui/toggle.js +5 -5
- package/dist/browser/ui/tooltip.js +3 -3
- package/dist/browser/ui/typography.js +14 -14
- package/dist/browser/ui/usecases/UseCaseCard.js +8 -8
- package/dist/browser/ui/usecases/UserStoryCard.js +3 -3
- package/dist/browser/ui/visualization/Visualization.js +439 -0
- package/dist/browser/ui/visualization/Visualization.support.js +128 -0
- package/dist/browser/ui/visualization/index.js +10 -0
- package/dist/ui/accordion.d.ts +2 -2
- package/dist/ui/accordion.js +4 -4
- package/dist/ui/alert-dialog.d.ts +2 -2
- package/dist/ui/alert-dialog.js +9 -9
- package/dist/ui/alert.d.ts +2 -2
- package/dist/ui/alert.js +4 -4
- package/dist/ui/atoms/FilterSelect/FilterSelect.js +51 -51
- package/dist/ui/atoms/FilterSelect/index.d.ts +1 -1
- package/dist/ui/atoms/FilterSelect/index.js +51 -51
- package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -1
- package/dist/ui/atoms/LoadingSpinner/index.d.ts +1 -1
- package/dist/ui/atoms/Pagination/Pagination.js +13 -13
- package/dist/ui/atoms/Pagination/index.js +13 -13
- package/dist/ui/atoms/SearchInput/SearchInput.js +8 -8
- package/dist/ui/atoms/SearchInput/index.js +8 -8
- package/dist/ui/avatar.d.ts +2 -2
- package/dist/ui/avatar.js +1 -1
- package/dist/ui/badge.d.ts +1 -1
- package/dist/ui/badge.js +3 -3
- package/dist/ui/breadcrumb.d.ts +1 -1
- package/dist/ui/breadcrumb.js +4 -4
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/button.js +5 -5
- package/dist/ui/calendar.js +21 -21
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/card.js +2 -2
- package/dist/ui/carousel.d.ts +2 -2
- package/dist/ui/carousel.js +6 -6
- package/dist/ui/checkbox.d.ts +1 -1
- package/dist/ui/checkbox.js +2 -2
- package/dist/ui/collapsible.d.ts +1 -1
- package/dist/ui/command.d.ts +2 -2
- package/dist/ui/command.js +14 -14
- package/dist/ui/confirm-dialog.js +9 -9
- package/dist/ui/context-menu.d.ts +2 -2
- package/dist/ui/context-menu.js +10 -10
- package/dist/ui/cta.js +5 -5
- package/dist/ui/data-table.d.ts +12 -0
- package/dist/ui/data-table.js +1000 -0
- package/dist/ui/data-table.parts.d.ts +14 -0
- package/dist/ui/data-table.parts.js +458 -0
- package/dist/ui/date-picker.js +26 -26
- package/dist/ui/date-range-picker.js +24 -24
- package/dist/ui/datetime-picker.js +29 -29
- package/dist/ui/dialog.d.ts +1 -1
- package/dist/ui/dialog.js +5 -5
- package/dist/ui/drawer.d.ts +1 -1
- package/dist/ui/drawer.js +5 -5
- package/dist/ui/dropdown-menu.d.ts +2 -2
- package/dist/ui/dropdown-menu.js +10 -10
- package/dist/ui/empty-state.d.ts +1 -1
- package/dist/ui/empty-state.js +5 -5
- package/dist/ui/empty.d.ts +2 -2
- package/dist/ui/empty.js +7 -7
- package/dist/ui/field.d.ts +2 -2
- package/dist/ui/field.js +12 -12
- package/dist/ui/form.d.ts +3 -3
- package/dist/ui/form.js +4 -4
- package/dist/ui/hover-card.d.ts +2 -2
- package/dist/ui/hover-card.js +2 -2
- package/dist/ui/input-group.d.ts +2 -2
- package/dist/ui/input-group.js +16 -16
- package/dist/ui/input-otp.d.ts +2 -2
- package/dist/ui/input-otp.js +4 -4
- package/dist/ui/input.js +1 -1
- package/dist/ui/label.d.ts +1 -1
- package/dist/ui/label.js +2 -2
- package/dist/ui/loading-button.js +8 -8
- package/dist/ui/map/index.d.ts +1 -1
- package/dist/ui/marketing/FeatureGrid.js +3 -3
- package/dist/ui/marketing/Hero.js +7 -7
- package/dist/ui/marketing/PricingTable.js +10 -10
- package/dist/ui/marketing/index.d.ts +1 -1
- package/dist/ui/menubar.d.ts +2 -2
- package/dist/ui/menubar.js +12 -12
- package/dist/ui/molecules/Autocomplete/index.js +26 -26
- package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +62 -62
- package/dist/ui/molecules/SearchAndFilter/index.js +62 -62
- package/dist/ui/molecules/SkeletonList.js +1 -1
- package/dist/ui/nav-layout.d.ts +1 -1
- package/dist/ui/nav-layout.js +22 -22
- package/dist/ui/navigation-menu.d.ts +2 -2
- package/dist/ui/navigation-menu.js +7 -7
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +11 -11
- package/dist/ui/organisms/ErrorBoundary/index.d.ts +1 -1
- package/dist/ui/organisms/ListPage/ListPage.js +84 -84
- package/dist/ui/organisms/ListPage/index.d.ts +1 -1
- package/dist/ui/organisms/ListPage/types.d.ts +1 -1
- package/dist/ui/page-header.d.ts +1 -1
- package/dist/ui/page-header.js +4 -4
- package/dist/ui/pagination.js +6 -6
- package/dist/ui/popover.d.ts +2 -2
- package/dist/ui/popover.js +2 -2
- package/dist/ui/progress.d.ts +1 -1
- package/dist/ui/progress.js +3 -3
- package/dist/ui/radio-group.d.ts +1 -1
- package/dist/ui/radio-group.js +3 -3
- package/dist/ui/resizable.d.ts +2 -2
- package/dist/ui/resizable.js +3 -3
- package/dist/ui/scroll-area.d.ts +1 -1
- package/dist/ui/scroll-area.js +4 -4
- package/dist/ui/section.d.ts +1 -1
- package/dist/ui/section.js +1 -1
- package/dist/ui/select.d.ts +1 -1
- package/dist/ui/select.js +6 -6
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/separator.js +2 -2
- package/dist/ui/sheet.d.ts +2 -2
- package/dist/ui/sheet.js +5 -5
- package/dist/ui/sidebar.d.ts +1 -1
- package/dist/ui/sidebar.js +64 -64
- package/dist/ui/skeleton.js +1 -1
- package/dist/ui/slider.d.ts +1 -1
- package/dist/ui/slider.js +6 -6
- package/dist/ui/stack.d.ts +4 -4
- package/dist/ui/stack.js +1 -1
- package/dist/ui/stat-card-group.js +5 -5
- package/dist/ui/stepper.js +2 -2
- package/dist/ui/switch.d.ts +1 -1
- package/dist/ui/switch.js +3 -3
- package/dist/ui/table.d.ts +1 -1
- package/dist/ui/table.js +5 -5
- package/dist/ui/tabs.d.ts +2 -2
- package/dist/ui/tabs.js +3 -3
- package/dist/ui/text.js +2 -2
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/time-picker.js +10 -10
- package/dist/ui/toast.d.ts +2 -2
- package/dist/ui/toast.js +5 -5
- package/dist/ui/toaster.js +5 -5
- package/dist/ui/toggle-group.d.ts +1 -1
- package/dist/ui/toggle-group.js +7 -7
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toggle.js +5 -5
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.js +3 -3
- package/dist/ui/typography.js +14 -14
- package/dist/ui/use-toast.d.ts +1 -1
- package/dist/ui/usecases/UseCaseCard.js +8 -8
- package/dist/ui/usecases/UserStoryCard.js +3 -3
- package/dist/ui/visualization/Visualization.d.ts +9 -0
- package/dist/ui/visualization/Visualization.js +434 -0
- package/dist/ui/visualization/Visualization.support.d.ts +15 -0
- package/dist/ui/visualization/Visualization.support.js +123 -0
- package/dist/ui/visualization/index.d.ts +1 -0
- package/dist/ui/visualization/index.js +5 -0
- package/package.json +75 -12
|
@@ -7,9 +7,9 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/resizable.tsx
|
|
10
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
10
11
|
import { GripVertical } from "lucide-react";
|
|
11
12
|
import { Group, Panel, Separator } from "react-resizable-panels";
|
|
12
|
-
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
13
13
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
14
14
|
"use client";
|
|
15
15
|
var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsxDEV(Group, {
|
|
@@ -22,10 +22,10 @@ var ResizableHandle = ({
|
|
|
22
22
|
className,
|
|
23
23
|
...props
|
|
24
24
|
}) => /* @__PURE__ */ jsxDEV(Separator, {
|
|
25
|
-
className: cn("
|
|
25
|
+
className: cn("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 aria-[orientation=vertical]:h-px aria-[orientation=vertical]:w-full aria-[orientation=vertical]:after:left-0 aria-[orientation=vertical]:after:h-1 aria-[orientation=vertical]:after:w-full aria-[orientation=vertical]:after:translate-x-0 aria-[orientation=vertical]:after:-translate-y-1/2 [&[aria-orientation=vertical]>div]:rotate-90", className),
|
|
26
26
|
...props,
|
|
27
27
|
children: withHandle && /* @__PURE__ */ jsxDEV("div", {
|
|
28
|
-
className: "
|
|
28
|
+
className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-border",
|
|
29
29
|
children: /* @__PURE__ */ jsxDEV(GripVertical, {
|
|
30
30
|
className: "h-2.5 w-2.5"
|
|
31
31
|
}, undefined, false, undefined, this)
|
|
@@ -7,8 +7,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/scroll-area.tsx
|
|
10
|
-
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
11
10
|
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
11
|
+
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
12
12
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
13
13
|
"use client";
|
|
14
14
|
function ScrollArea({
|
|
@@ -23,7 +23,7 @@ function ScrollArea({
|
|
|
23
23
|
children: [
|
|
24
24
|
/* @__PURE__ */ jsxDEV(ScrollAreaPrimitive.Viewport, {
|
|
25
25
|
"data-slot": "scroll-area-viewport",
|
|
26
|
-
className: "
|
|
26
|
+
className: "size-full rounded-[inherit] outline-hidden transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50",
|
|
27
27
|
children
|
|
28
28
|
}, undefined, false, undefined, this),
|
|
29
29
|
/* @__PURE__ */ jsxDEV(ScrollBar, {}, undefined, false, undefined, this),
|
|
@@ -39,11 +39,11 @@ function ScrollBar({
|
|
|
39
39
|
return /* @__PURE__ */ jsxDEV(ScrollAreaPrimitive.ScrollAreaScrollbar, {
|
|
40
40
|
"data-slot": "scroll-area-scrollbar",
|
|
41
41
|
orientation,
|
|
42
|
-
className: cn("flex touch-none p-px transition-colors
|
|
42
|
+
className: cn("flex touch-none select-none p-px transition-colors", orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent", orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent", className),
|
|
43
43
|
...props,
|
|
44
44
|
children: /* @__PURE__ */ jsxDEV(ScrollAreaPrimitive.ScrollAreaThumb, {
|
|
45
45
|
"data-slot": "scroll-area-thumb",
|
|
46
|
-
className: "
|
|
46
|
+
className: "relative flex-1 rounded-full bg-border"
|
|
47
47
|
}, undefined, false, undefined, this)
|
|
48
48
|
}, undefined, false, undefined, this);
|
|
49
49
|
}
|
|
@@ -7,8 +7,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/section.tsx
|
|
10
|
-
import { cva } from "class-variance-authority";
|
|
11
10
|
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
11
|
+
import { cva } from "class-variance-authority";
|
|
12
12
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
13
13
|
var sectionVariants = cva("", {
|
|
14
14
|
variants: {
|
|
@@ -7,9 +7,9 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/select.tsx
|
|
10
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
10
11
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
11
12
|
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
12
|
-
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
13
13
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
14
14
|
"use client";
|
|
15
15
|
function Select({
|
|
@@ -45,7 +45,7 @@ function SelectTrigger({
|
|
|
45
45
|
return /* @__PURE__ */ jsxDEV(SelectPrimitive.Trigger, {
|
|
46
46
|
"data-slot": "select-trigger",
|
|
47
47
|
"data-size": size,
|
|
48
|
-
className: cn("
|
|
48
|
+
className: cn("flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-2xs outline-hidden transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[size=default]:h-9 data-[size=sm]:h-8 data-placeholder:text-muted-foreground *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:hover:bg-input/50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
|
|
49
49
|
...props,
|
|
50
50
|
children: [
|
|
51
51
|
children,
|
|
@@ -67,7 +67,7 @@ function SelectContent({
|
|
|
67
67
|
return /* @__PURE__ */ jsxDEV(SelectPrimitive.Portal, {
|
|
68
68
|
children: /* @__PURE__ */ jsxDEV(SelectPrimitive.Content, {
|
|
69
69
|
"data-slot": "select-content",
|
|
70
|
-
className: cn("
|
|
70
|
+
className: cn("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in", position === "popper" && "data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1", className),
|
|
71
71
|
position,
|
|
72
72
|
...props,
|
|
73
73
|
children: [
|
|
@@ -87,7 +87,7 @@ function SelectLabel({
|
|
|
87
87
|
}) {
|
|
88
88
|
return /* @__PURE__ */ jsxDEV(SelectPrimitive.Label, {
|
|
89
89
|
"data-slot": "select-label",
|
|
90
|
-
className: cn("
|
|
90
|
+
className: cn("px-2 py-1.5 text-muted-foreground text-xs", className),
|
|
91
91
|
...props
|
|
92
92
|
}, undefined, false, undefined, this);
|
|
93
93
|
}
|
|
@@ -98,7 +98,7 @@ function SelectItem({
|
|
|
98
98
|
}) {
|
|
99
99
|
return /* @__PURE__ */ jsxDEV(SelectPrimitive.Item, {
|
|
100
100
|
"data-slot": "select-item",
|
|
101
|
-
className: cn("
|
|
101
|
+
className: cn("relative flex w-full cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
|
|
102
102
|
...props,
|
|
103
103
|
children: [
|
|
104
104
|
/* @__PURE__ */ jsxDEV("span", {
|
|
@@ -121,7 +121,7 @@ function SelectSeparator({
|
|
|
121
121
|
}) {
|
|
122
122
|
return /* @__PURE__ */ jsxDEV(SelectPrimitive.Separator, {
|
|
123
123
|
"data-slot": "select-separator",
|
|
124
|
-
className: cn("
|
|
124
|
+
className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
|
|
125
125
|
...props
|
|
126
126
|
}, undefined, false, undefined, this);
|
|
127
127
|
}
|
|
@@ -7,8 +7,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/separator.tsx
|
|
10
|
-
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
11
10
|
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
11
|
+
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
12
12
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
13
13
|
"use client";
|
|
14
14
|
function Separator({
|
|
@@ -21,7 +21,7 @@ function Separator({
|
|
|
21
21
|
"data-slot": "separator",
|
|
22
22
|
decorative,
|
|
23
23
|
orientation,
|
|
24
|
-
className: cn("bg-border
|
|
24
|
+
className: cn("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px", className),
|
|
25
25
|
...props
|
|
26
26
|
}, undefined, false, undefined, this);
|
|
27
27
|
}
|
package/dist/browser/ui/sheet.js
CHANGED
|
@@ -7,9 +7,9 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/sheet.tsx
|
|
10
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
10
11
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
11
12
|
import { XIcon } from "lucide-react";
|
|
12
|
-
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
13
13
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
14
14
|
"use client";
|
|
15
15
|
function Sheet({ ...props }) {
|
|
@@ -48,7 +48,7 @@ function SheetOverlay({
|
|
|
48
48
|
}) {
|
|
49
49
|
return /* @__PURE__ */ jsxDEV(SheetPrimitive.Overlay, {
|
|
50
50
|
"data-slot": "sheet-overlay",
|
|
51
|
-
className: cn("data-[state=
|
|
51
|
+
className: cn("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in", className),
|
|
52
52
|
...props
|
|
53
53
|
}, undefined, false, undefined, this);
|
|
54
54
|
}
|
|
@@ -63,12 +63,12 @@ function SheetContent({
|
|
|
63
63
|
/* @__PURE__ */ jsxDEV(SheetOverlay, {}, undefined, false, undefined, this),
|
|
64
64
|
/* @__PURE__ */ jsxDEV(SheetPrimitive.Content, {
|
|
65
65
|
"data-slot": "sheet-content",
|
|
66
|
-
className: cn("
|
|
66
|
+
className: cn("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=open]:animate-in data-[state=closed]:duration-300 data-[state=open]:duration-500", side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", className),
|
|
67
67
|
...props,
|
|
68
68
|
children: [
|
|
69
69
|
children,
|
|
70
70
|
/* @__PURE__ */ jsxDEV(SheetPrimitive.Close, {
|
|
71
|
-
className: "
|
|
71
|
+
className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",
|
|
72
72
|
children: [
|
|
73
73
|
/* @__PURE__ */ jsxDEV(XIcon, {
|
|
74
74
|
className: "size-4"
|
|
@@ -110,7 +110,7 @@ function SheetTitle({
|
|
|
110
110
|
}) {
|
|
111
111
|
return /* @__PURE__ */ jsxDEV(SheetPrimitive.Title, {
|
|
112
112
|
"data-slot": "sheet-title",
|
|
113
|
-
className: cn("text-foreground
|
|
113
|
+
className: cn("font-semibold text-foreground", className),
|
|
114
114
|
...props
|
|
115
115
|
}, undefined, false, undefined, this);
|
|
116
116
|
}
|
|
@@ -7,23 +7,23 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/button.tsx
|
|
10
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
10
11
|
import { Slot } from "@radix-ui/react-slot";
|
|
11
12
|
import { cva } from "class-variance-authority";
|
|
12
|
-
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
13
13
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
14
|
-
var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm
|
|
14
|
+
var buttonVariants = cva("inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
|
|
15
15
|
variants: {
|
|
16
16
|
variant: {
|
|
17
17
|
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
18
|
-
destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40
|
|
19
|
-
outline: "border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:
|
|
18
|
+
destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
19
|
+
outline: "border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
|
|
20
20
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
21
21
|
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
22
22
|
link: "text-primary underline-offset-4 hover:underline"
|
|
23
23
|
},
|
|
24
24
|
size: {
|
|
25
25
|
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
26
|
-
sm: "h-8
|
|
26
|
+
sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
|
|
27
27
|
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
28
28
|
icon: "size-9"
|
|
29
29
|
}
|
|
@@ -69,14 +69,26 @@ function Input({ className, type, ...props }) {
|
|
|
69
69
|
return /* @__PURE__ */ jsxDEV2("input", {
|
|
70
70
|
type,
|
|
71
71
|
"data-slot": "input",
|
|
72
|
-
className: cn3("
|
|
72
|
+
className: cn3("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30", "focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", className),
|
|
73
|
+
...props
|
|
74
|
+
}, undefined, false, undefined, this);
|
|
75
|
+
}
|
|
76
|
+
// ui/skeleton.tsx
|
|
77
|
+
import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
|
|
78
|
+
function Skeleton({
|
|
79
|
+
className,
|
|
80
|
+
...props
|
|
81
|
+
}) {
|
|
82
|
+
return /* @__PURE__ */ jsxDEV3("div", {
|
|
83
|
+
"data-slot": "skeleton",
|
|
84
|
+
className: cn2("animate-pulse rounded-md bg-accent", className),
|
|
73
85
|
...props
|
|
74
86
|
}, undefined, false, undefined, this);
|
|
75
87
|
}
|
|
76
88
|
// ui/separator.tsx
|
|
77
|
-
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
78
89
|
import { cn as cn4 } from "@contractspec/lib.ui-kit-core/utils";
|
|
79
|
-
import
|
|
90
|
+
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
91
|
+
import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
|
|
80
92
|
"use client";
|
|
81
93
|
function Separator({
|
|
82
94
|
className,
|
|
@@ -84,30 +96,18 @@ function Separator({
|
|
|
84
96
|
decorative = true,
|
|
85
97
|
...props
|
|
86
98
|
}) {
|
|
87
|
-
return /* @__PURE__ */
|
|
99
|
+
return /* @__PURE__ */ jsxDEV4(SeparatorPrimitive.Root, {
|
|
88
100
|
"data-slot": "separator",
|
|
89
101
|
decorative,
|
|
90
102
|
orientation,
|
|
91
|
-
className: cn4("bg-border
|
|
92
|
-
...props
|
|
93
|
-
}, undefined, false, undefined, this);
|
|
94
|
-
}
|
|
95
|
-
// ui/skeleton.tsx
|
|
96
|
-
import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
|
|
97
|
-
function Skeleton({
|
|
98
|
-
className,
|
|
99
|
-
...props
|
|
100
|
-
}) {
|
|
101
|
-
return /* @__PURE__ */ jsxDEV4("div", {
|
|
102
|
-
"data-slot": "skeleton",
|
|
103
|
-
className: cn2("bg-accent animate-pulse rounded-md", className),
|
|
103
|
+
className: cn4("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px", className),
|
|
104
104
|
...props
|
|
105
105
|
}, undefined, false, undefined, this);
|
|
106
106
|
}
|
|
107
107
|
// ui/sheet.tsx
|
|
108
|
+
import { cn as cn5 } from "@contractspec/lib.ui-kit-core/utils";
|
|
108
109
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
109
110
|
import { XIcon } from "lucide-react";
|
|
110
|
-
import { cn as cn5 } from "@contractspec/lib.ui-kit-core/utils";
|
|
111
111
|
import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
|
|
112
112
|
"use client";
|
|
113
113
|
function Sheet({ ...props }) {
|
|
@@ -146,7 +146,7 @@ function SheetOverlay({
|
|
|
146
146
|
}) {
|
|
147
147
|
return /* @__PURE__ */ jsxDEV5(SheetPrimitive.Overlay, {
|
|
148
148
|
"data-slot": "sheet-overlay",
|
|
149
|
-
className: cn5("data-[state=
|
|
149
|
+
className: cn5("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in", className),
|
|
150
150
|
...props
|
|
151
151
|
}, undefined, false, undefined, this);
|
|
152
152
|
}
|
|
@@ -161,12 +161,12 @@ function SheetContent({
|
|
|
161
161
|
/* @__PURE__ */ jsxDEV5(SheetOverlay, {}, undefined, false, undefined, this),
|
|
162
162
|
/* @__PURE__ */ jsxDEV5(SheetPrimitive.Content, {
|
|
163
163
|
"data-slot": "sheet-content",
|
|
164
|
-
className: cn5("
|
|
164
|
+
className: cn5("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=open]:animate-in data-[state=closed]:duration-300 data-[state=open]:duration-500", side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", className),
|
|
165
165
|
...props,
|
|
166
166
|
children: [
|
|
167
167
|
children,
|
|
168
168
|
/* @__PURE__ */ jsxDEV5(SheetPrimitive.Close, {
|
|
169
|
-
className: "
|
|
169
|
+
className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",
|
|
170
170
|
children: [
|
|
171
171
|
/* @__PURE__ */ jsxDEV5(XIcon, {
|
|
172
172
|
className: "size-4"
|
|
@@ -208,7 +208,7 @@ function SheetTitle({
|
|
|
208
208
|
}) {
|
|
209
209
|
return /* @__PURE__ */ jsxDEV5(SheetPrimitive.Title, {
|
|
210
210
|
"data-slot": "sheet-title",
|
|
211
|
-
className: cn5("text-foreground
|
|
211
|
+
className: cn5("font-semibold text-foreground", className),
|
|
212
212
|
...props
|
|
213
213
|
}, undefined, false, undefined, this);
|
|
214
214
|
}
|
|
@@ -222,26 +222,9 @@ function SheetDescription({
|
|
|
222
222
|
...props
|
|
223
223
|
}, undefined, false, undefined, this);
|
|
224
224
|
}
|
|
225
|
-
// ui/use-mobile.tsx
|
|
226
|
-
import * as React from "react";
|
|
227
|
-
var MOBILE_BREAKPOINT = 640;
|
|
228
|
-
function useIsMobile() {
|
|
229
|
-
const [isMobile, setIsMobile] = React.useState(undefined);
|
|
230
|
-
React.useEffect(() => {
|
|
231
|
-
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
232
|
-
const onChange = () => {
|
|
233
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
234
|
-
};
|
|
235
|
-
mql.addEventListener("change", onChange);
|
|
236
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
237
|
-
return () => mql.removeEventListener("change", onChange);
|
|
238
|
-
}, []);
|
|
239
|
-
return !!isMobile;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
225
|
// ui/tooltip.tsx
|
|
243
|
-
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
244
226
|
import { cn as cn6 } from "@contractspec/lib.ui-kit-core/utils";
|
|
227
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
245
228
|
import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
|
|
246
229
|
"use client";
|
|
247
230
|
function TooltipProvider({
|
|
@@ -282,23 +265,40 @@ function TooltipContent({
|
|
|
282
265
|
children: /* @__PURE__ */ jsxDEV6(TooltipPrimitive.Content, {
|
|
283
266
|
"data-slot": "tooltip-content",
|
|
284
267
|
sideOffset,
|
|
285
|
-
className: cn6("
|
|
268
|
+
className: cn6("fade-in-0 zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in text-balance rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[state=closed]:animate-out", className),
|
|
286
269
|
...props,
|
|
287
270
|
children: [
|
|
288
271
|
children,
|
|
289
272
|
/* @__PURE__ */ jsxDEV6(TooltipPrimitive.Arrow, {
|
|
290
|
-
className: "
|
|
273
|
+
className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"
|
|
291
274
|
}, undefined, false, undefined, this)
|
|
292
275
|
]
|
|
293
276
|
}, undefined, true, undefined, this)
|
|
294
277
|
}, undefined, false, undefined, this);
|
|
295
278
|
}
|
|
279
|
+
// ui/use-mobile.tsx
|
|
280
|
+
import * as React from "react";
|
|
281
|
+
var MOBILE_BREAKPOINT = 640;
|
|
282
|
+
function useIsMobile() {
|
|
283
|
+
const [isMobile, setIsMobile] = React.useState(undefined);
|
|
284
|
+
React.useEffect(() => {
|
|
285
|
+
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
286
|
+
const onChange = () => {
|
|
287
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
288
|
+
};
|
|
289
|
+
mql.addEventListener("change", onChange);
|
|
290
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
291
|
+
return () => mql.removeEventListener("change", onChange);
|
|
292
|
+
}, []);
|
|
293
|
+
return !!isMobile;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
296
|
// ui/sidebar.tsx
|
|
297
|
-
import
|
|
297
|
+
import { cn as cn7 } from "@contractspec/lib.ui-kit-core/utils";
|
|
298
298
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
299
299
|
import { cva as cva2 } from "class-variance-authority";
|
|
300
300
|
import { PanelLeftIcon } from "lucide-react";
|
|
301
|
-
import
|
|
301
|
+
import * as React2 from "react";
|
|
302
302
|
import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
|
|
303
303
|
"use client";
|
|
304
304
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
@@ -371,7 +371,7 @@ function SidebarProvider({
|
|
|
371
371
|
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
372
372
|
...style
|
|
373
373
|
},
|
|
374
|
-
className: cn7("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar
|
|
374
|
+
className: cn7("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar", className),
|
|
375
375
|
...props,
|
|
376
376
|
children
|
|
377
377
|
}, undefined, false, undefined, this)
|
|
@@ -390,7 +390,7 @@ function Sidebar({
|
|
|
390
390
|
if (collapsible === "none") {
|
|
391
391
|
return /* @__PURE__ */ jsxDEV7("div", {
|
|
392
392
|
"data-slot": "sidebar",
|
|
393
|
-
className: cn7("
|
|
393
|
+
className: cn7("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground", className),
|
|
394
394
|
...props,
|
|
395
395
|
children
|
|
396
396
|
}, undefined, false, undefined, this);
|
|
@@ -404,7 +404,7 @@ function Sidebar({
|
|
|
404
404
|
"data-sidebar": "sidebar",
|
|
405
405
|
"data-slot": "sidebar",
|
|
406
406
|
"data-mobile": "true",
|
|
407
|
-
className: "
|
|
407
|
+
className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
|
|
408
408
|
style: {
|
|
409
409
|
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
410
410
|
},
|
|
@@ -430,7 +430,7 @@ function Sidebar({
|
|
|
430
430
|
}, undefined, false, undefined, this);
|
|
431
431
|
}
|
|
432
432
|
return /* @__PURE__ */ jsxDEV7("div", {
|
|
433
|
-
className: "group peer text-sidebar-foreground
|
|
433
|
+
className: "group peer hidden text-sidebar-foreground md:block",
|
|
434
434
|
"data-state": state,
|
|
435
435
|
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
436
436
|
"data-variant": variant,
|
|
@@ -448,7 +448,7 @@ function Sidebar({
|
|
|
448
448
|
children: /* @__PURE__ */ jsxDEV7("div", {
|
|
449
449
|
"data-sidebar": "sidebar",
|
|
450
450
|
"data-slot": "sidebar-inner",
|
|
451
|
-
className: "
|
|
451
|
+
className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",
|
|
452
452
|
children
|
|
453
453
|
}, undefined, false, undefined, this)
|
|
454
454
|
}, undefined, false, undefined, this)
|
|
@@ -493,7 +493,7 @@ function SidebarRail({
|
|
|
493
493
|
tabIndex: -1,
|
|
494
494
|
onClick: toggleSidebar,
|
|
495
495
|
title: "Toggle Sidebar",
|
|
496
|
-
className: cn7("
|
|
496
|
+
className: cn7("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className),
|
|
497
497
|
...props
|
|
498
498
|
}, undefined, false, undefined, this);
|
|
499
499
|
}
|
|
@@ -503,7 +503,7 @@ function SidebarInset({
|
|
|
503
503
|
}) {
|
|
504
504
|
return /* @__PURE__ */ jsxDEV7("main", {
|
|
505
505
|
"data-slot": "sidebar-inset",
|
|
506
|
-
className: cn7("
|
|
506
|
+
className: cn7("relative flex w-full flex-1 flex-col bg-background", "md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm", className),
|
|
507
507
|
...props
|
|
508
508
|
}, undefined, false, undefined, this);
|
|
509
509
|
}
|
|
@@ -514,7 +514,7 @@ function SidebarInput({
|
|
|
514
514
|
return /* @__PURE__ */ jsxDEV7(Input, {
|
|
515
515
|
"data-slot": "sidebar-input",
|
|
516
516
|
"data-sidebar": "input",
|
|
517
|
-
className: cn7("
|
|
517
|
+
className: cn7("h-8 w-full bg-background shadow-none", className),
|
|
518
518
|
...props
|
|
519
519
|
}, undefined, false, undefined, this);
|
|
520
520
|
}
|
|
@@ -547,7 +547,7 @@ function SidebarSeparator({
|
|
|
547
547
|
return /* @__PURE__ */ jsxDEV7(Separator, {
|
|
548
548
|
"data-slot": "sidebar-separator",
|
|
549
549
|
"data-sidebar": "separator",
|
|
550
|
-
className: cn7("
|
|
550
|
+
className: cn7("mx-2 w-auto bg-sidebar-border", className),
|
|
551
551
|
...props
|
|
552
552
|
}, undefined, false, undefined, this);
|
|
553
553
|
}
|
|
@@ -582,7 +582,7 @@ function SidebarGroupLabel({
|
|
|
582
582
|
return /* @__PURE__ */ jsxDEV7(Comp, {
|
|
583
583
|
"data-slot": "sidebar-group-label",
|
|
584
584
|
"data-sidebar": "group-label",
|
|
585
|
-
className: cn7("
|
|
585
|
+
className: cn7("flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", className),
|
|
586
586
|
...props
|
|
587
587
|
}, undefined, false, undefined, this);
|
|
588
588
|
}
|
|
@@ -595,7 +595,7 @@ function SidebarGroupAction({
|
|
|
595
595
|
return /* @__PURE__ */ jsxDEV7(Comp, {
|
|
596
596
|
"data-slot": "sidebar-group-action",
|
|
597
597
|
"data-sidebar": "group-action",
|
|
598
|
-
className: cn7("
|
|
598
|
+
className: cn7("absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", className),
|
|
599
599
|
...props
|
|
600
600
|
}, undefined, false, undefined, this);
|
|
601
601
|
}
|
|
@@ -701,7 +701,7 @@ function SidebarMenuAction({
|
|
|
701
701
|
return /* @__PURE__ */ jsxDEV7(Comp, {
|
|
702
702
|
"data-slot": "sidebar-menu-action",
|
|
703
703
|
"data-sidebar": "menu-action",
|
|
704
|
-
className: cn7("
|
|
704
|
+
className: cn7("absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0", className),
|
|
705
705
|
...props
|
|
706
706
|
}, undefined, false, undefined, this);
|
|
707
707
|
}
|
|
@@ -712,7 +712,7 @@ function SidebarMenuBadge({
|
|
|
712
712
|
return /* @__PURE__ */ jsxDEV7("div", {
|
|
713
713
|
"data-slot": "sidebar-menu-badge",
|
|
714
714
|
"data-sidebar": "menu-badge",
|
|
715
|
-
className: cn7("
|
|
715
|
+
className: cn7("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground text-xs tabular-nums", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className),
|
|
716
716
|
...props
|
|
717
717
|
}, undefined, false, undefined, this);
|
|
718
718
|
}
|
|
@@ -751,7 +751,7 @@ function SidebarMenuSub({
|
|
|
751
751
|
return /* @__PURE__ */ jsxDEV7("ul", {
|
|
752
752
|
"data-slot": "sidebar-menu-sub",
|
|
753
753
|
"data-sidebar": "menu-sub",
|
|
754
|
-
className: cn7("
|
|
754
|
+
className: cn7("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", className),
|
|
755
755
|
...props
|
|
756
756
|
}, undefined, false, undefined, this);
|
|
757
757
|
}
|
|
@@ -779,7 +779,7 @@ function SidebarMenuSubButton({
|
|
|
779
779
|
"data-sidebar": "menu-sub-button",
|
|
780
780
|
"data-size": size,
|
|
781
781
|
"data-active": isActive,
|
|
782
|
-
className: cn7("
|
|
782
|
+
className: cn7("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", size === "sm" && "text-xs", size === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", className),
|
|
783
783
|
...props
|
|
784
784
|
}, undefined, false, undefined, this);
|
|
785
785
|
}
|
|
@@ -21,7 +21,7 @@ function Skeleton({
|
|
|
21
21
|
}) {
|
|
22
22
|
return /* @__PURE__ */ jsxDEV("div", {
|
|
23
23
|
"data-slot": "skeleton",
|
|
24
|
-
className: cn("
|
|
24
|
+
className: cn("animate-pulse rounded-md bg-accent", className),
|
|
25
25
|
...props
|
|
26
26
|
}, undefined, false, undefined, this);
|
|
27
27
|
}
|
|
@@ -7,9 +7,9 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/slider.tsx
|
|
10
|
-
import * as React from "react";
|
|
11
|
-
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
12
10
|
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
11
|
+
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
12
|
+
import * as React from "react";
|
|
13
13
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
14
14
|
"use client";
|
|
15
15
|
function Slider({
|
|
@@ -27,20 +27,20 @@ function Slider({
|
|
|
27
27
|
value,
|
|
28
28
|
min,
|
|
29
29
|
max,
|
|
30
|
-
className: cn("relative flex w-full touch-none
|
|
30
|
+
className: cn("relative flex w-full touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col data-disabled:opacity-50", className),
|
|
31
31
|
...props,
|
|
32
32
|
children: [
|
|
33
33
|
/* @__PURE__ */ jsxDEV(SliderPrimitive.Track, {
|
|
34
34
|
"data-slot": "slider-track",
|
|
35
|
-
className: cn("
|
|
35
|
+
className: cn("relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1.5"),
|
|
36
36
|
children: /* @__PURE__ */ jsxDEV(SliderPrimitive.Range, {
|
|
37
37
|
"data-slot": "slider-range",
|
|
38
|
-
className: cn("bg-primary
|
|
38
|
+
className: cn("absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")
|
|
39
39
|
}, undefined, false, undefined, this)
|
|
40
40
|
}, undefined, false, undefined, this),
|
|
41
41
|
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsxDEV(SliderPrimitive.Thumb, {
|
|
42
42
|
"data-slot": "slider-thumb",
|
|
43
|
-
className: "
|
|
43
|
+
className: "block size-4 shrink-0 rounded-full border border-primary bg-background shadow-2xs ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:outline-hidden focus-visible:ring-4 disabled:pointer-events-none disabled:opacity-50"
|
|
44
44
|
}, index, false, undefined, this))
|
|
45
45
|
]
|
|
46
46
|
}, undefined, true, undefined, this);
|
package/dist/browser/ui/stack.js
CHANGED
|
@@ -7,8 +7,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// ui/stack.tsx
|
|
10
|
-
import { cva } from "class-variance-authority";
|
|
11
10
|
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
11
|
+
import { cva } from "class-variance-authority";
|
|
12
12
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
13
13
|
var vStackVariants = cva("flex flex-col", {
|
|
14
14
|
variants: {
|