@contractspec/lib.ui-kit-web 3.7.6 → 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 +72 -9
|
@@ -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
|
}
|
|
@@ -55,16 +55,31 @@ function Button({
|
|
|
55
55
|
...props
|
|
56
56
|
}, undefined, false, undefined, this);
|
|
57
57
|
}
|
|
58
|
+
// ui/label.tsx
|
|
59
|
+
import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
|
|
60
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
61
|
+
import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
|
|
62
|
+
"use client";
|
|
63
|
+
function Label({
|
|
64
|
+
className,
|
|
65
|
+
...props
|
|
66
|
+
}) {
|
|
67
|
+
return /* @__PURE__ */ jsxDEV2(LabelPrimitive.Root, {
|
|
68
|
+
"data-slot": "label",
|
|
69
|
+
className: cn2("flex select-none items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50", className),
|
|
70
|
+
...props
|
|
71
|
+
}, undefined, false, undefined, this);
|
|
72
|
+
}
|
|
58
73
|
// ui/select.tsx
|
|
74
|
+
import { cn as cn3 } from "@contractspec/lib.ui-kit-core/utils";
|
|
59
75
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
60
76
|
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
61
|
-
import {
|
|
62
|
-
import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
|
|
77
|
+
import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
|
|
63
78
|
"use client";
|
|
64
79
|
function Select({
|
|
65
80
|
...props
|
|
66
81
|
}) {
|
|
67
|
-
return /* @__PURE__ */
|
|
82
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Root, {
|
|
68
83
|
"data-slot": "select",
|
|
69
84
|
...props
|
|
70
85
|
}, undefined, false, undefined, this);
|
|
@@ -72,7 +87,7 @@ function Select({
|
|
|
72
87
|
function SelectGroup({
|
|
73
88
|
...props
|
|
74
89
|
}) {
|
|
75
|
-
return /* @__PURE__ */
|
|
90
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Group, {
|
|
76
91
|
"data-slot": "select-group",
|
|
77
92
|
...props
|
|
78
93
|
}, undefined, false, undefined, this);
|
|
@@ -80,7 +95,7 @@ function SelectGroup({
|
|
|
80
95
|
function SelectValue({
|
|
81
96
|
...props
|
|
82
97
|
}) {
|
|
83
|
-
return /* @__PURE__ */
|
|
98
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Value, {
|
|
84
99
|
"data-slot": "select-value",
|
|
85
100
|
...props
|
|
86
101
|
}, undefined, false, undefined, this);
|
|
@@ -91,16 +106,16 @@ function SelectTrigger({
|
|
|
91
106
|
children,
|
|
92
107
|
...props
|
|
93
108
|
}) {
|
|
94
|
-
return /* @__PURE__ */
|
|
109
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Trigger, {
|
|
95
110
|
"data-slot": "select-trigger",
|
|
96
111
|
"data-size": size,
|
|
97
|
-
className:
|
|
112
|
+
className: cn3("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),
|
|
98
113
|
...props,
|
|
99
114
|
children: [
|
|
100
115
|
children,
|
|
101
|
-
/* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ jsxDEV3(SelectPrimitive.Icon, {
|
|
102
117
|
asChild: true,
|
|
103
|
-
children: /* @__PURE__ */
|
|
118
|
+
children: /* @__PURE__ */ jsxDEV3(ChevronDownIcon, {
|
|
104
119
|
className: "size-4 opacity-50"
|
|
105
120
|
}, undefined, false, undefined, this)
|
|
106
121
|
}, undefined, false, undefined, this)
|
|
@@ -113,19 +128,19 @@ function SelectContent({
|
|
|
113
128
|
position = "popper",
|
|
114
129
|
...props
|
|
115
130
|
}) {
|
|
116
|
-
return /* @__PURE__ */
|
|
117
|
-
children: /* @__PURE__ */
|
|
131
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Portal, {
|
|
132
|
+
children: /* @__PURE__ */ jsxDEV3(SelectPrimitive.Content, {
|
|
118
133
|
"data-slot": "select-content",
|
|
119
|
-
className:
|
|
134
|
+
className: cn3("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),
|
|
120
135
|
position,
|
|
121
136
|
...props,
|
|
122
137
|
children: [
|
|
123
|
-
/* @__PURE__ */
|
|
124
|
-
/* @__PURE__ */
|
|
125
|
-
className:
|
|
138
|
+
/* @__PURE__ */ jsxDEV3(SelectScrollUpButton, {}, undefined, false, undefined, this),
|
|
139
|
+
/* @__PURE__ */ jsxDEV3(SelectPrimitive.Viewport, {
|
|
140
|
+
className: cn3("p-1", position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1"),
|
|
126
141
|
children
|
|
127
142
|
}, undefined, false, undefined, this),
|
|
128
|
-
/* @__PURE__ */
|
|
143
|
+
/* @__PURE__ */ jsxDEV3(SelectScrollDownButton, {}, undefined, false, undefined, this)
|
|
129
144
|
]
|
|
130
145
|
}, undefined, true, undefined, this)
|
|
131
146
|
}, undefined, false, undefined, this);
|
|
@@ -134,9 +149,9 @@ function SelectLabel({
|
|
|
134
149
|
className,
|
|
135
150
|
...props
|
|
136
151
|
}) {
|
|
137
|
-
return /* @__PURE__ */
|
|
152
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Label, {
|
|
138
153
|
"data-slot": "select-label",
|
|
139
|
-
className:
|
|
154
|
+
className: cn3("px-2 py-1.5 text-muted-foreground text-xs", className),
|
|
140
155
|
...props
|
|
141
156
|
}, undefined, false, undefined, this);
|
|
142
157
|
}
|
|
@@ -145,20 +160,20 @@ function SelectItem({
|
|
|
145
160
|
children,
|
|
146
161
|
...props
|
|
147
162
|
}) {
|
|
148
|
-
return /* @__PURE__ */
|
|
163
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Item, {
|
|
149
164
|
"data-slot": "select-item",
|
|
150
|
-
className:
|
|
165
|
+
className: cn3("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),
|
|
151
166
|
...props,
|
|
152
167
|
children: [
|
|
153
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ jsxDEV3("span", {
|
|
154
169
|
className: "absolute right-2 flex size-3.5 items-center justify-center",
|
|
155
|
-
children: /* @__PURE__ */
|
|
156
|
-
children: /* @__PURE__ */
|
|
170
|
+
children: /* @__PURE__ */ jsxDEV3(SelectPrimitive.ItemIndicator, {
|
|
171
|
+
children: /* @__PURE__ */ jsxDEV3(CheckIcon, {
|
|
157
172
|
className: "size-4"
|
|
158
173
|
}, undefined, false, undefined, this)
|
|
159
174
|
}, undefined, false, undefined, this)
|
|
160
175
|
}, undefined, false, undefined, this),
|
|
161
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ jsxDEV3(SelectPrimitive.ItemText, {
|
|
162
177
|
children
|
|
163
178
|
}, undefined, false, undefined, this)
|
|
164
179
|
]
|
|
@@ -168,9 +183,9 @@ function SelectSeparator({
|
|
|
168
183
|
className,
|
|
169
184
|
...props
|
|
170
185
|
}) {
|
|
171
|
-
return /* @__PURE__ */
|
|
186
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Separator, {
|
|
172
187
|
"data-slot": "select-separator",
|
|
173
|
-
className:
|
|
188
|
+
className: cn3("pointer-events-none -mx-1 my-1 h-px bg-border", className),
|
|
174
189
|
...props
|
|
175
190
|
}, undefined, false, undefined, this);
|
|
176
191
|
}
|
|
@@ -178,11 +193,11 @@ function SelectScrollUpButton({
|
|
|
178
193
|
className,
|
|
179
194
|
...props
|
|
180
195
|
}) {
|
|
181
|
-
return /* @__PURE__ */
|
|
196
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.ScrollUpButton, {
|
|
182
197
|
"data-slot": "select-scroll-up-button",
|
|
183
|
-
className:
|
|
198
|
+
className: cn3("flex cursor-default items-center justify-center py-1", className),
|
|
184
199
|
...props,
|
|
185
|
-
children: /* @__PURE__ */
|
|
200
|
+
children: /* @__PURE__ */ jsxDEV3(ChevronUpIcon, {
|
|
186
201
|
className: "size-4"
|
|
187
202
|
}, undefined, false, undefined, this)
|
|
188
203
|
}, undefined, false, undefined, this);
|
|
@@ -191,30 +206,15 @@ function SelectScrollDownButton({
|
|
|
191
206
|
className,
|
|
192
207
|
...props
|
|
193
208
|
}) {
|
|
194
|
-
return /* @__PURE__ */
|
|
209
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.ScrollDownButton, {
|
|
195
210
|
"data-slot": "select-scroll-down-button",
|
|
196
|
-
className:
|
|
211
|
+
className: cn3("flex cursor-default items-center justify-center py-1", className),
|
|
197
212
|
...props,
|
|
198
|
-
children: /* @__PURE__ */
|
|
213
|
+
children: /* @__PURE__ */ jsxDEV3(ChevronDownIcon, {
|
|
199
214
|
className: "size-4"
|
|
200
215
|
}, undefined, false, undefined, this)
|
|
201
216
|
}, undefined, false, undefined, this);
|
|
202
217
|
}
|
|
203
|
-
// ui/label.tsx
|
|
204
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
205
|
-
import { cn as cn3 } from "@contractspec/lib.ui-kit-core/utils";
|
|
206
|
-
import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
|
|
207
|
-
"use client";
|
|
208
|
-
function Label2({
|
|
209
|
-
className,
|
|
210
|
-
...props
|
|
211
|
-
}) {
|
|
212
|
-
return /* @__PURE__ */ jsxDEV3(LabelPrimitive.Root, {
|
|
213
|
-
"data-slot": "label",
|
|
214
|
-
className: cn3("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className),
|
|
215
|
-
...props
|
|
216
|
-
}, undefined, false, undefined, this);
|
|
217
|
-
}
|
|
218
218
|
// ui/atoms/FilterSelect/FilterSelect.tsx
|
|
219
219
|
import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
|
|
220
220
|
var FilterSelect = ({
|
|
@@ -230,8 +230,8 @@ var FilterSelect = ({
|
|
|
230
230
|
return /* @__PURE__ */ jsxDEV4("div", {
|
|
231
231
|
className: `space-y-2 ${className}`,
|
|
232
232
|
children: [
|
|
233
|
-
label && /* @__PURE__ */ jsxDEV4(
|
|
234
|
-
className: "
|
|
233
|
+
label && /* @__PURE__ */ jsxDEV4(Label, {
|
|
234
|
+
className: "font-medium text-base text-foreground",
|
|
235
235
|
children: label
|
|
236
236
|
}, undefined, false, undefined, this),
|
|
237
237
|
/* @__PURE__ */ jsxDEV4(Select, {
|
|
@@ -253,7 +253,7 @@ var FilterSelect = ({
|
|
|
253
253
|
children: [
|
|
254
254
|
"Tous",
|
|
255
255
|
showCounts && /* @__PURE__ */ jsxDEV4("span", {
|
|
256
|
-
className: "text-muted-foreground
|
|
256
|
+
className: "ml-2 text-muted-foreground text-sm",
|
|
257
257
|
children: [
|
|
258
258
|
"(",
|
|
259
259
|
options.reduce((sum, option) => sum + (option.count || 0), 0),
|
|
@@ -271,7 +271,7 @@ var FilterSelect = ({
|
|
|
271
271
|
children: option.label
|
|
272
272
|
}, undefined, false, undefined, this),
|
|
273
273
|
showCounts && option.count !== undefined && /* @__PURE__ */ jsxDEV4("span", {
|
|
274
|
-
className: "text-muted-foreground
|
|
274
|
+
className: "ml-2 text-muted-foreground text-sm",
|
|
275
275
|
children: [
|
|
276
276
|
"(",
|
|
277
277
|
option.count,
|
|
@@ -295,7 +295,7 @@ function Input({ className, type, ...props }) {
|
|
|
295
295
|
return /* @__PURE__ */ jsxDEV5("input", {
|
|
296
296
|
type,
|
|
297
297
|
"data-slot": "input",
|
|
298
|
-
className: cn4("
|
|
298
|
+
className: cn4("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),
|
|
299
299
|
...props
|
|
300
300
|
}, undefined, false, undefined, this);
|
|
301
301
|
}
|
|
@@ -321,7 +321,7 @@ var SearchInput = ({
|
|
|
321
321
|
/* @__PURE__ */ jsxDEV6("div", {
|
|
322
322
|
className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3",
|
|
323
323
|
children: /* @__PURE__ */ jsxDEV6(Search, {
|
|
324
|
-
className: "
|
|
324
|
+
className: "h-4 w-4 text-muted-foreground"
|
|
325
325
|
}, undefined, false, undefined, this)
|
|
326
326
|
}, undefined, false, undefined, this),
|
|
327
327
|
/* @__PURE__ */ jsxDEV6(Input, {
|
|
@@ -344,7 +344,7 @@ var SearchInput = ({
|
|
|
344
344
|
className: "h-6 w-6 p-0 hover:bg-transparent",
|
|
345
345
|
children: [
|
|
346
346
|
/* @__PURE__ */ jsxDEV6(X, {
|
|
347
|
-
className: "text-muted-foreground hover:text-foreground
|
|
347
|
+
className: "h-4 w-4 text-muted-foreground hover:text-foreground"
|
|
348
348
|
}, undefined, false, undefined, this),
|
|
349
349
|
/* @__PURE__ */ jsxDEV6("span", {
|
|
350
350
|
className: "sr-only",
|
|
@@ -385,8 +385,8 @@ function CollapsibleContent2({
|
|
|
385
385
|
}, undefined, false, undefined, this);
|
|
386
386
|
}
|
|
387
387
|
// ui/molecules/SearchAndFilter/SearchAndFilter.tsx
|
|
388
|
-
import { useState } from "react";
|
|
389
388
|
import { ChevronDown, ChevronUp, Filter } from "lucide-react";
|
|
389
|
+
import { useState } from "react";
|
|
390
390
|
import { jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
|
|
391
391
|
var SearchAndFilter = ({
|
|
392
392
|
searchValue,
|
|
@@ -449,7 +449,7 @@ var SearchAndFilter = ({
|
|
|
449
449
|
}, undefined, false, undefined, this),
|
|
450
450
|
"Filtres",
|
|
451
451
|
activeFiltersCount > 0 && /* @__PURE__ */ jsxDEV8("span", {
|
|
452
|
-
className: "
|
|
452
|
+
className: "ml-2 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-primary-foreground text-sm",
|
|
453
453
|
children: activeFiltersCount
|
|
454
454
|
}, undefined, false, undefined, this),
|
|
455
455
|
isCollapsed ? /* @__PURE__ */ jsxDEV8(ChevronDown, {
|
|
@@ -476,7 +476,7 @@ var SearchAndFilter = ({
|
|
|
476
476
|
className: "flex flex-wrap items-center gap-2",
|
|
477
477
|
children: [
|
|
478
478
|
/* @__PURE__ */ jsxDEV8("span", {
|
|
479
|
-
className: "text-muted-foreground
|
|
479
|
+
className: "text-base text-muted-foreground",
|
|
480
480
|
children: "Filtres actifs:"
|
|
481
481
|
}, undefined, false, undefined, this),
|
|
482
482
|
filters.filter((f) => f.value).map((filter) => {
|
|
@@ -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
|
}
|
|
@@ -55,16 +55,31 @@ function Button({
|
|
|
55
55
|
...props
|
|
56
56
|
}, undefined, false, undefined, this);
|
|
57
57
|
}
|
|
58
|
+
// ui/label.tsx
|
|
59
|
+
import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
|
|
60
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
61
|
+
import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
|
|
62
|
+
"use client";
|
|
63
|
+
function Label({
|
|
64
|
+
className,
|
|
65
|
+
...props
|
|
66
|
+
}) {
|
|
67
|
+
return /* @__PURE__ */ jsxDEV2(LabelPrimitive.Root, {
|
|
68
|
+
"data-slot": "label",
|
|
69
|
+
className: cn2("flex select-none items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50", className),
|
|
70
|
+
...props
|
|
71
|
+
}, undefined, false, undefined, this);
|
|
72
|
+
}
|
|
58
73
|
// ui/select.tsx
|
|
74
|
+
import { cn as cn3 } from "@contractspec/lib.ui-kit-core/utils";
|
|
59
75
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
60
76
|
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
61
|
-
import {
|
|
62
|
-
import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
|
|
77
|
+
import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
|
|
63
78
|
"use client";
|
|
64
79
|
function Select({
|
|
65
80
|
...props
|
|
66
81
|
}) {
|
|
67
|
-
return /* @__PURE__ */
|
|
82
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Root, {
|
|
68
83
|
"data-slot": "select",
|
|
69
84
|
...props
|
|
70
85
|
}, undefined, false, undefined, this);
|
|
@@ -72,7 +87,7 @@ function Select({
|
|
|
72
87
|
function SelectGroup({
|
|
73
88
|
...props
|
|
74
89
|
}) {
|
|
75
|
-
return /* @__PURE__ */
|
|
90
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Group, {
|
|
76
91
|
"data-slot": "select-group",
|
|
77
92
|
...props
|
|
78
93
|
}, undefined, false, undefined, this);
|
|
@@ -80,7 +95,7 @@ function SelectGroup({
|
|
|
80
95
|
function SelectValue({
|
|
81
96
|
...props
|
|
82
97
|
}) {
|
|
83
|
-
return /* @__PURE__ */
|
|
98
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Value, {
|
|
84
99
|
"data-slot": "select-value",
|
|
85
100
|
...props
|
|
86
101
|
}, undefined, false, undefined, this);
|
|
@@ -91,16 +106,16 @@ function SelectTrigger({
|
|
|
91
106
|
children,
|
|
92
107
|
...props
|
|
93
108
|
}) {
|
|
94
|
-
return /* @__PURE__ */
|
|
109
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Trigger, {
|
|
95
110
|
"data-slot": "select-trigger",
|
|
96
111
|
"data-size": size,
|
|
97
|
-
className:
|
|
112
|
+
className: cn3("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),
|
|
98
113
|
...props,
|
|
99
114
|
children: [
|
|
100
115
|
children,
|
|
101
|
-
/* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ jsxDEV3(SelectPrimitive.Icon, {
|
|
102
117
|
asChild: true,
|
|
103
|
-
children: /* @__PURE__ */
|
|
118
|
+
children: /* @__PURE__ */ jsxDEV3(ChevronDownIcon, {
|
|
104
119
|
className: "size-4 opacity-50"
|
|
105
120
|
}, undefined, false, undefined, this)
|
|
106
121
|
}, undefined, false, undefined, this)
|
|
@@ -113,19 +128,19 @@ function SelectContent({
|
|
|
113
128
|
position = "popper",
|
|
114
129
|
...props
|
|
115
130
|
}) {
|
|
116
|
-
return /* @__PURE__ */
|
|
117
|
-
children: /* @__PURE__ */
|
|
131
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Portal, {
|
|
132
|
+
children: /* @__PURE__ */ jsxDEV3(SelectPrimitive.Content, {
|
|
118
133
|
"data-slot": "select-content",
|
|
119
|
-
className:
|
|
134
|
+
className: cn3("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),
|
|
120
135
|
position,
|
|
121
136
|
...props,
|
|
122
137
|
children: [
|
|
123
|
-
/* @__PURE__ */
|
|
124
|
-
/* @__PURE__ */
|
|
125
|
-
className:
|
|
138
|
+
/* @__PURE__ */ jsxDEV3(SelectScrollUpButton, {}, undefined, false, undefined, this),
|
|
139
|
+
/* @__PURE__ */ jsxDEV3(SelectPrimitive.Viewport, {
|
|
140
|
+
className: cn3("p-1", position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1"),
|
|
126
141
|
children
|
|
127
142
|
}, undefined, false, undefined, this),
|
|
128
|
-
/* @__PURE__ */
|
|
143
|
+
/* @__PURE__ */ jsxDEV3(SelectScrollDownButton, {}, undefined, false, undefined, this)
|
|
129
144
|
]
|
|
130
145
|
}, undefined, true, undefined, this)
|
|
131
146
|
}, undefined, false, undefined, this);
|
|
@@ -134,9 +149,9 @@ function SelectLabel({
|
|
|
134
149
|
className,
|
|
135
150
|
...props
|
|
136
151
|
}) {
|
|
137
|
-
return /* @__PURE__ */
|
|
152
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Label, {
|
|
138
153
|
"data-slot": "select-label",
|
|
139
|
-
className:
|
|
154
|
+
className: cn3("px-2 py-1.5 text-muted-foreground text-xs", className),
|
|
140
155
|
...props
|
|
141
156
|
}, undefined, false, undefined, this);
|
|
142
157
|
}
|
|
@@ -145,20 +160,20 @@ function SelectItem({
|
|
|
145
160
|
children,
|
|
146
161
|
...props
|
|
147
162
|
}) {
|
|
148
|
-
return /* @__PURE__ */
|
|
163
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Item, {
|
|
149
164
|
"data-slot": "select-item",
|
|
150
|
-
className:
|
|
165
|
+
className: cn3("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),
|
|
151
166
|
...props,
|
|
152
167
|
children: [
|
|
153
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ jsxDEV3("span", {
|
|
154
169
|
className: "absolute right-2 flex size-3.5 items-center justify-center",
|
|
155
|
-
children: /* @__PURE__ */
|
|
156
|
-
children: /* @__PURE__ */
|
|
170
|
+
children: /* @__PURE__ */ jsxDEV3(SelectPrimitive.ItemIndicator, {
|
|
171
|
+
children: /* @__PURE__ */ jsxDEV3(CheckIcon, {
|
|
157
172
|
className: "size-4"
|
|
158
173
|
}, undefined, false, undefined, this)
|
|
159
174
|
}, undefined, false, undefined, this)
|
|
160
175
|
}, undefined, false, undefined, this),
|
|
161
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ jsxDEV3(SelectPrimitive.ItemText, {
|
|
162
177
|
children
|
|
163
178
|
}, undefined, false, undefined, this)
|
|
164
179
|
]
|
|
@@ -168,9 +183,9 @@ function SelectSeparator({
|
|
|
168
183
|
className,
|
|
169
184
|
...props
|
|
170
185
|
}) {
|
|
171
|
-
return /* @__PURE__ */
|
|
186
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.Separator, {
|
|
172
187
|
"data-slot": "select-separator",
|
|
173
|
-
className:
|
|
188
|
+
className: cn3("pointer-events-none -mx-1 my-1 h-px bg-border", className),
|
|
174
189
|
...props
|
|
175
190
|
}, undefined, false, undefined, this);
|
|
176
191
|
}
|
|
@@ -178,11 +193,11 @@ function SelectScrollUpButton({
|
|
|
178
193
|
className,
|
|
179
194
|
...props
|
|
180
195
|
}) {
|
|
181
|
-
return /* @__PURE__ */
|
|
196
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.ScrollUpButton, {
|
|
182
197
|
"data-slot": "select-scroll-up-button",
|
|
183
|
-
className:
|
|
198
|
+
className: cn3("flex cursor-default items-center justify-center py-1", className),
|
|
184
199
|
...props,
|
|
185
|
-
children: /* @__PURE__ */
|
|
200
|
+
children: /* @__PURE__ */ jsxDEV3(ChevronUpIcon, {
|
|
186
201
|
className: "size-4"
|
|
187
202
|
}, undefined, false, undefined, this)
|
|
188
203
|
}, undefined, false, undefined, this);
|
|
@@ -191,30 +206,15 @@ function SelectScrollDownButton({
|
|
|
191
206
|
className,
|
|
192
207
|
...props
|
|
193
208
|
}) {
|
|
194
|
-
return /* @__PURE__ */
|
|
209
|
+
return /* @__PURE__ */ jsxDEV3(SelectPrimitive.ScrollDownButton, {
|
|
195
210
|
"data-slot": "select-scroll-down-button",
|
|
196
|
-
className:
|
|
211
|
+
className: cn3("flex cursor-default items-center justify-center py-1", className),
|
|
197
212
|
...props,
|
|
198
|
-
children: /* @__PURE__ */
|
|
213
|
+
children: /* @__PURE__ */ jsxDEV3(ChevronDownIcon, {
|
|
199
214
|
className: "size-4"
|
|
200
215
|
}, undefined, false, undefined, this)
|
|
201
216
|
}, undefined, false, undefined, this);
|
|
202
217
|
}
|
|
203
|
-
// ui/label.tsx
|
|
204
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
205
|
-
import { cn as cn3 } from "@contractspec/lib.ui-kit-core/utils";
|
|
206
|
-
import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
|
|
207
|
-
"use client";
|
|
208
|
-
function Label2({
|
|
209
|
-
className,
|
|
210
|
-
...props
|
|
211
|
-
}) {
|
|
212
|
-
return /* @__PURE__ */ jsxDEV3(LabelPrimitive.Root, {
|
|
213
|
-
"data-slot": "label",
|
|
214
|
-
className: cn3("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className),
|
|
215
|
-
...props
|
|
216
|
-
}, undefined, false, undefined, this);
|
|
217
|
-
}
|
|
218
218
|
// ui/atoms/FilterSelect/FilterSelect.tsx
|
|
219
219
|
import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
|
|
220
220
|
var FilterSelect = ({
|
|
@@ -230,8 +230,8 @@ var FilterSelect = ({
|
|
|
230
230
|
return /* @__PURE__ */ jsxDEV4("div", {
|
|
231
231
|
className: `space-y-2 ${className}`,
|
|
232
232
|
children: [
|
|
233
|
-
label && /* @__PURE__ */ jsxDEV4(
|
|
234
|
-
className: "
|
|
233
|
+
label && /* @__PURE__ */ jsxDEV4(Label, {
|
|
234
|
+
className: "font-medium text-base text-foreground",
|
|
235
235
|
children: label
|
|
236
236
|
}, undefined, false, undefined, this),
|
|
237
237
|
/* @__PURE__ */ jsxDEV4(Select, {
|
|
@@ -253,7 +253,7 @@ var FilterSelect = ({
|
|
|
253
253
|
children: [
|
|
254
254
|
"Tous",
|
|
255
255
|
showCounts && /* @__PURE__ */ jsxDEV4("span", {
|
|
256
|
-
className: "text-muted-foreground
|
|
256
|
+
className: "ml-2 text-muted-foreground text-sm",
|
|
257
257
|
children: [
|
|
258
258
|
"(",
|
|
259
259
|
options.reduce((sum, option) => sum + (option.count || 0), 0),
|
|
@@ -271,7 +271,7 @@ var FilterSelect = ({
|
|
|
271
271
|
children: option.label
|
|
272
272
|
}, undefined, false, undefined, this),
|
|
273
273
|
showCounts && option.count !== undefined && /* @__PURE__ */ jsxDEV4("span", {
|
|
274
|
-
className: "text-muted-foreground
|
|
274
|
+
className: "ml-2 text-muted-foreground text-sm",
|
|
275
275
|
children: [
|
|
276
276
|
"(",
|
|
277
277
|
option.count,
|
|
@@ -295,7 +295,7 @@ function Input({ className, type, ...props }) {
|
|
|
295
295
|
return /* @__PURE__ */ jsxDEV5("input", {
|
|
296
296
|
type,
|
|
297
297
|
"data-slot": "input",
|
|
298
|
-
className: cn4("
|
|
298
|
+
className: cn4("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),
|
|
299
299
|
...props
|
|
300
300
|
}, undefined, false, undefined, this);
|
|
301
301
|
}
|
|
@@ -321,7 +321,7 @@ var SearchInput = ({
|
|
|
321
321
|
/* @__PURE__ */ jsxDEV6("div", {
|
|
322
322
|
className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3",
|
|
323
323
|
children: /* @__PURE__ */ jsxDEV6(Search, {
|
|
324
|
-
className: "
|
|
324
|
+
className: "h-4 w-4 text-muted-foreground"
|
|
325
325
|
}, undefined, false, undefined, this)
|
|
326
326
|
}, undefined, false, undefined, this),
|
|
327
327
|
/* @__PURE__ */ jsxDEV6(Input, {
|
|
@@ -344,7 +344,7 @@ var SearchInput = ({
|
|
|
344
344
|
className: "h-6 w-6 p-0 hover:bg-transparent",
|
|
345
345
|
children: [
|
|
346
346
|
/* @__PURE__ */ jsxDEV6(X, {
|
|
347
|
-
className: "text-muted-foreground hover:text-foreground
|
|
347
|
+
className: "h-4 w-4 text-muted-foreground hover:text-foreground"
|
|
348
348
|
}, undefined, false, undefined, this),
|
|
349
349
|
/* @__PURE__ */ jsxDEV6("span", {
|
|
350
350
|
className: "sr-only",
|
|
@@ -385,8 +385,8 @@ function CollapsibleContent2({
|
|
|
385
385
|
}, undefined, false, undefined, this);
|
|
386
386
|
}
|
|
387
387
|
// ui/molecules/SearchAndFilter/SearchAndFilter.tsx
|
|
388
|
-
import { useState } from "react";
|
|
389
388
|
import { ChevronDown, ChevronUp, Filter } from "lucide-react";
|
|
389
|
+
import { useState } from "react";
|
|
390
390
|
import { jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
|
|
391
391
|
var SearchAndFilter = ({
|
|
392
392
|
searchValue,
|
|
@@ -449,7 +449,7 @@ var SearchAndFilter = ({
|
|
|
449
449
|
}, undefined, false, undefined, this),
|
|
450
450
|
"Filtres",
|
|
451
451
|
activeFiltersCount > 0 && /* @__PURE__ */ jsxDEV8("span", {
|
|
452
|
-
className: "
|
|
452
|
+
className: "ml-2 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-primary-foreground text-sm",
|
|
453
453
|
children: activeFiltersCount
|
|
454
454
|
}, undefined, false, undefined, this),
|
|
455
455
|
isCollapsed ? /* @__PURE__ */ jsxDEV8(ChevronDown, {
|
|
@@ -476,7 +476,7 @@ var SearchAndFilter = ({
|
|
|
476
476
|
className: "flex flex-wrap items-center gap-2",
|
|
477
477
|
children: [
|
|
478
478
|
/* @__PURE__ */ jsxDEV8("span", {
|
|
479
|
-
className: "text-muted-foreground
|
|
479
|
+
className: "text-base text-muted-foreground",
|
|
480
480
|
children: "Filtres actifs:"
|
|
481
481
|
}, undefined, false, undefined, this),
|
|
482
482
|
filters.filter((f) => f.value).map((filter) => {
|