@mesob/ui 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.d.ts +1112 -0
- package/dist/components.js +9460 -0
- package/dist/components.js.map +1 -0
- package/dist/hooks.d.ts +6 -0
- package/dist/hooks.js +85 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/locale.d.ts +37 -0
- package/dist/lib/locale.js +55 -0
- package/dist/lib/locale.js.map +1 -0
- package/dist/providers.d.ts +20 -0
- package/dist/providers.js +61 -0
- package/dist/providers.js.map +1 -0
- package/dist/use-entity-params-nqD69tdX.d.ts +82 -0
- package/package.json +34 -27
- package/dist/components/accordion.d.ts +0 -10
- package/dist/components/accordion.js +0 -74
- package/dist/components/accordion.js.map +0 -1
- package/dist/components/alert-dialog.d.ts +0 -17
- package/dist/components/alert-dialog.js +0 -187
- package/dist/components/alert-dialog.js.map +0 -1
- package/dist/components/alert.d.ts +0 -13
- package/dist/components/alert.js +0 -74
- package/dist/components/alert.js.map +0 -1
- package/dist/components/animated-tabs.d.ts +0 -26
- package/dist/components/animated-tabs.js +0 -290
- package/dist/components/animated-tabs.js.map +0 -1
- package/dist/components/app-breadcrumbs-context.d.ts +0 -19
- package/dist/components/app-breadcrumbs-context.js +0 -19
- package/dist/components/app-breadcrumbs-context.js.map +0 -1
- package/dist/components/app-breadcrumbs.d.ts +0 -25
- package/dist/components/app-breadcrumbs.js +0 -175
- package/dist/components/app-breadcrumbs.js.map +0 -1
- package/dist/components/app-header-actions.d.ts +0 -39
- package/dist/components/app-header-actions.js +0 -644
- package/dist/components/app-header-actions.js.map +0 -1
- package/dist/components/app-sidebar.d.ts +0 -24
- package/dist/components/app-sidebar.js +0 -667
- package/dist/components/app-sidebar.js.map +0 -1
- package/dist/components/aspect-ratio.d.ts +0 -6
- package/dist/components/aspect-ratio.js +0 -14
- package/dist/components/aspect-ratio.js.map +0 -1
- package/dist/components/avatar.d.ts +0 -9
- package/dist/components/avatar.js +0 -63
- package/dist/components/avatar.js.map +0 -1
- package/dist/components/badge.d.ts +0 -13
- package/dist/components/badge.js +0 -48
- package/dist/components/badge.js.map +0 -1
- package/dist/components/breadcrumb.d.ts +0 -14
- package/dist/components/breadcrumb.js +0 -110
- package/dist/components/breadcrumb.js.map +0 -1
- package/dist/components/button-group.d.ts +0 -17
- package/dist/components/button-group.js +0 -106
- package/dist/components/button-group.js.map +0 -1
- package/dist/components/button.d.ts +0 -17
- package/dist/components/button.js +0 -68
- package/dist/components/button.js.map +0 -1
- package/dist/components/calendar.d.ts +0 -13
- package/dist/components/calendar.js +0 -262
- package/dist/components/calendar.js.map +0 -1
- package/dist/components/card.d.ts +0 -12
- package/dist/components/card.js +0 -98
- package/dist/components/card.js.map +0 -1
- package/dist/components/carousel.d.ts +0 -24
- package/dist/components/carousel.js +0 -268
- package/dist/components/carousel.js.map +0 -1
- package/dist/components/chart.d.ts +0 -43
- package/dist/components/chart.js +0 -271
- package/dist/components/chart.js.map +0 -1
- package/dist/components/checkbox.d.ts +0 -7
- package/dist/components/checkbox.js +0 -41
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/collapsible.d.ts +0 -8
- package/dist/components/collapsible.js +0 -38
- package/dist/components/collapsible.js.map +0 -1
- package/dist/components/command.d.ts +0 -22
- package/dist/components/command.js +0 -281
- package/dist/components/command.js.map +0 -1
- package/dist/components/context-menu.d.ts +0 -28
- package/dist/components/context-menu.js +0 -233
- package/dist/components/context-menu.js.map +0 -1
- package/dist/components/data-table/index.d.ts +0 -53
- package/dist/components/data-table/index.js +0 -823
- package/dist/components/data-table/index.js.map +0 -1
- package/dist/components/dialog.d.ts +0 -18
- package/dist/components/dialog.js +0 -146
- package/dist/components/dialog.js.map +0 -1
- package/dist/components/drawer.d.ts +0 -16
- package/dist/components/drawer.js +0 -138
- package/dist/components/drawer.js.map +0 -1
- package/dist/components/dropdown-menu.d.ts +0 -28
- package/dist/components/dropdown-menu.js +0 -241
- package/dist/components/dropdown-menu.js.map +0 -1
- package/dist/components/empty.d.ts +0 -15
- package/dist/components/empty.js +0 -110
- package/dist/components/empty.js.map +0 -1
- package/dist/components/entity/index.d.ts +0 -236
- package/dist/components/entity/index.js +0 -1796
- package/dist/components/entity/index.js.map +0 -1
- package/dist/components/field.d.ts +0 -30
- package/dist/components/field.js +0 -279
- package/dist/components/field.js.map +0 -1
- package/dist/components/form.d.ts +0 -28
- package/dist/components/form.js +0 -150
- package/dist/components/form.js.map +0 -1
- package/dist/components/hover-card.d.ts +0 -9
- package/dist/components/hover-card.js +0 -48
- package/dist/components/hover-card.js.map +0 -1
- package/dist/components/input-group.d.ts +0 -20
- package/dist/components/input-group.js +0 -265
- package/dist/components/input-group.js.map +0 -1
- package/dist/components/input-otp.d.ts +0 -14
- package/dist/components/input-otp.js +0 -76
- package/dist/components/input-otp.js.map +0 -1
- package/dist/components/input.d.ts +0 -6
- package/dist/components/input.js +0 -29
- package/dist/components/input.js.map +0 -1
- package/dist/components/item.d.ts +0 -28
- package/dist/components/item.js +0 -220
- package/dist/components/item.js.map +0 -1
- package/dist/components/kbd.d.ts +0 -6
- package/dist/components/kbd.js +0 -39
- package/dist/components/kbd.js.map +0 -1
- package/dist/components/label.d.ts +0 -7
- package/dist/components/label.js +0 -32
- package/dist/components/label.js.map +0 -1
- package/dist/components/link.d.ts +0 -12
- package/dist/components/link.js +0 -51
- package/dist/components/link.js.map +0 -1
- package/dist/components/menubar.d.ts +0 -29
- package/dist/components/menubar.js +0 -261
- package/dist/components/menubar.js.map +0 -1
- package/dist/components/mesob-context.d.ts +0 -34
- package/dist/components/mesob-context.js +0 -53
- package/dist/components/mesob-context.js.map +0 -1
- package/dist/components/mesob-logo.d.ts +0 -13
- package/dist/components/mesob-logo.js +0 -80
- package/dist/components/mesob-logo.js.map +0 -1
- package/dist/components/navigation-menu.d.ts +0 -18
- package/dist/components/navigation-menu.js +0 -178
- package/dist/components/navigation-menu.js.map +0 -1
- package/dist/components/page/index.d.ts +0 -46
- package/dist/components/page/index.js +0 -205
- package/dist/components/page/index.js.map +0 -1
- package/dist/components/pagination.d.ts +0 -18
- package/dist/components/pagination.js +0 -160
- package/dist/components/pagination.js.map +0 -1
- package/dist/components/popover.d.ts +0 -10
- package/dist/components/popover.js +0 -54
- package/dist/components/popover.js.map +0 -1
- package/dist/components/powered-by.d.ts +0 -8
- package/dist/components/powered-by.js +0 -114
- package/dist/components/powered-by.js.map +0 -1
- package/dist/components/progress.d.ts +0 -7
- package/dist/components/progress.js +0 -41
- package/dist/components/progress.js.map +0 -1
- package/dist/components/radio-group.d.ts +0 -8
- package/dist/components/radio-group.js +0 -55
- package/dist/components/radio-group.js.map +0 -1
- package/dist/components/resizable.d.ts +0 -11
- package/dist/components/resizable.js +0 -58
- package/dist/components/resizable.js.map +0 -1
- package/dist/components/scroll-area.d.ts +0 -8
- package/dist/components/scroll-area.js +0 -70
- package/dist/components/scroll-area.js.map +0 -1
- package/dist/components/section/index.d.ts +0 -14
- package/dist/components/section/index.js +0 -147
- package/dist/components/section/index.js.map +0 -1
- package/dist/components/select.d.ts +0 -18
- package/dist/components/select.js +0 -181
- package/dist/components/select.js.map +0 -1
- package/dist/components/separator.d.ts +0 -7
- package/dist/components/separator.js +0 -36
- package/dist/components/separator.js.map +0 -1
- package/dist/components/sheet.d.ts +0 -16
- package/dist/components/sheet.js +0 -136
- package/dist/components/sheet.js.map +0 -1
- package/dist/components/shell.d.ts +0 -13
- package/dist/components/shell.js +0 -548
- package/dist/components/shell.js.map +0 -1
- package/dist/components/sidebar-context.d.ts +0 -19
- package/dist/components/sidebar-context.js +0 -17
- package/dist/components/sidebar-context.js.map +0 -1
- package/dist/components/sidebar.d.ts +0 -66
- package/dist/components/sidebar.js +0 -943
- package/dist/components/sidebar.js.map +0 -1
- package/dist/components/skeleton.d.ts +0 -5
- package/dist/components/skeleton.js +0 -23
- package/dist/components/skeleton.js.map +0 -1
- package/dist/components/slider.d.ts +0 -7
- package/dist/components/slider.js +0 -76
- package/dist/components/slider.js.map +0 -1
- package/dist/components/sonner.d.ts +0 -7
- package/dist/components/sonner.js +0 -43
- package/dist/components/sonner.js.map +0 -1
- package/dist/components/spinner.d.ts +0 -6
- package/dist/components/spinner.js +0 -28
- package/dist/components/spinner.js.map +0 -1
- package/dist/components/spotlight-search.d.ts +0 -25
- package/dist/components/spotlight-search.js +0 -395
- package/dist/components/spotlight-search.js.map +0 -1
- package/dist/components/switch.d.ts +0 -7
- package/dist/components/switch.js +0 -41
- package/dist/components/switch.js.map +0 -1
- package/dist/components/table.d.ts +0 -13
- package/dist/components/table.js +0 -124
- package/dist/components/table.js.map +0 -1
- package/dist/components/tabs.d.ts +0 -10
- package/dist/components/tabs.js +0 -77
- package/dist/components/tabs.js.map +0 -1
- package/dist/components/textarea.d.ts +0 -6
- package/dist/components/textarea.js +0 -26
- package/dist/components/textarea.js.map +0 -1
- package/dist/components/theme-toggle.d.ts +0 -8
- package/dist/components/theme-toggle.js +0 -94
- package/dist/components/theme-toggle.js.map +0 -1
- package/dist/components/toggle-group.d.ts +0 -14
- package/dist/components/toggle-group.js +0 -102
- package/dist/components/toggle-group.js.map +0 -1
- package/dist/components/toggle.d.ts +0 -13
- package/dist/components/toggle.js +0 -53
- package/dist/components/toggle.js.map +0 -1
- package/dist/components/tooltip.d.ts +0 -10
- package/dist/components/tooltip.js +0 -66
- package/dist/components/tooltip.js.map +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -3
- package/dist/hooks/use-mobile.js +0 -22
- package/dist/hooks/use-mobile.js.map +0 -1
- package/dist/hooks/use-router.d.ts +0 -7
- package/dist/hooks/use-router.js +0 -36
- package/dist/hooks/use-router.js.map +0 -1
- package/dist/hooks/use-translation.d.ts +0 -5
- package/dist/hooks/use-translation.js +0 -42
- package/dist/hooks/use-translation.js.map +0 -1
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
// src/lib/utils.ts
|
|
2
|
-
import { clsx } from "clsx";
|
|
3
|
-
import { twMerge } from "tailwind-merge";
|
|
4
|
-
function cn(...inputs) {
|
|
5
|
-
return twMerge(clsx(inputs));
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
// src/components/navigation-menu.tsx
|
|
9
|
-
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
10
|
-
import { IconChevronDown } from "@tabler/icons-react";
|
|
11
|
-
import { cva } from "class-variance-authority";
|
|
12
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
-
function NavigationMenu({
|
|
14
|
-
className,
|
|
15
|
-
children,
|
|
16
|
-
viewport = true,
|
|
17
|
-
...props
|
|
18
|
-
}) {
|
|
19
|
-
return /* @__PURE__ */ jsxs(
|
|
20
|
-
NavigationMenuPrimitive.Root,
|
|
21
|
-
{
|
|
22
|
-
"data-slot": "navigation-menu",
|
|
23
|
-
"data-viewport": viewport,
|
|
24
|
-
className: cn(
|
|
25
|
-
"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
|
|
26
|
-
className
|
|
27
|
-
),
|
|
28
|
-
...props,
|
|
29
|
-
children: [
|
|
30
|
-
children,
|
|
31
|
-
viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
function NavigationMenuList({
|
|
37
|
-
className,
|
|
38
|
-
...props
|
|
39
|
-
}) {
|
|
40
|
-
return /* @__PURE__ */ jsx(
|
|
41
|
-
NavigationMenuPrimitive.List,
|
|
42
|
-
{
|
|
43
|
-
"data-slot": "navigation-menu-list",
|
|
44
|
-
className: cn(
|
|
45
|
-
"group flex flex-1 list-none items-center justify-center gap-1",
|
|
46
|
-
className
|
|
47
|
-
),
|
|
48
|
-
...props
|
|
49
|
-
}
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
function NavigationMenuItem({
|
|
53
|
-
className,
|
|
54
|
-
...props
|
|
55
|
-
}) {
|
|
56
|
-
return /* @__PURE__ */ jsx(
|
|
57
|
-
NavigationMenuPrimitive.Item,
|
|
58
|
-
{
|
|
59
|
-
"data-slot": "navigation-menu-item",
|
|
60
|
-
className: cn("relative", className),
|
|
61
|
-
...props
|
|
62
|
-
}
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
var navigationMenuTriggerStyle = cva(
|
|
66
|
-
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
|
|
67
|
-
);
|
|
68
|
-
function NavigationMenuTrigger({
|
|
69
|
-
className,
|
|
70
|
-
children,
|
|
71
|
-
...props
|
|
72
|
-
}) {
|
|
73
|
-
return /* @__PURE__ */ jsxs(
|
|
74
|
-
NavigationMenuPrimitive.Trigger,
|
|
75
|
-
{
|
|
76
|
-
"data-slot": "navigation-menu-trigger",
|
|
77
|
-
className: cn(navigationMenuTriggerStyle(), "group", className),
|
|
78
|
-
...props,
|
|
79
|
-
children: [
|
|
80
|
-
children,
|
|
81
|
-
" ",
|
|
82
|
-
/* @__PURE__ */ jsx(
|
|
83
|
-
IconChevronDown,
|
|
84
|
-
{
|
|
85
|
-
className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
|
|
86
|
-
"aria-hidden": "true"
|
|
87
|
-
}
|
|
88
|
-
)
|
|
89
|
-
]
|
|
90
|
-
}
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
function NavigationMenuContent({
|
|
94
|
-
className,
|
|
95
|
-
...props
|
|
96
|
-
}) {
|
|
97
|
-
return /* @__PURE__ */ jsx(
|
|
98
|
-
NavigationMenuPrimitive.Content,
|
|
99
|
-
{
|
|
100
|
-
"data-slot": "navigation-menu-content",
|
|
101
|
-
className: cn(
|
|
102
|
-
"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
|
|
103
|
-
"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
|
|
104
|
-
className
|
|
105
|
-
),
|
|
106
|
-
...props
|
|
107
|
-
}
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
function NavigationMenuViewport({
|
|
111
|
-
className,
|
|
112
|
-
...props
|
|
113
|
-
}) {
|
|
114
|
-
return /* @__PURE__ */ jsx(
|
|
115
|
-
"div",
|
|
116
|
-
{
|
|
117
|
-
className: cn(
|
|
118
|
-
"absolute top-full left-0 isolate z-50 flex justify-center"
|
|
119
|
-
),
|
|
120
|
-
children: /* @__PURE__ */ jsx(
|
|
121
|
-
NavigationMenuPrimitive.Viewport,
|
|
122
|
-
{
|
|
123
|
-
"data-slot": "navigation-menu-viewport",
|
|
124
|
-
className: cn(
|
|
125
|
-
"origin-top-center bg-popover text-popover-foreground border-border data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
|
|
126
|
-
className
|
|
127
|
-
),
|
|
128
|
-
...props
|
|
129
|
-
}
|
|
130
|
-
)
|
|
131
|
-
}
|
|
132
|
-
);
|
|
133
|
-
}
|
|
134
|
-
function NavigationMenuLink({
|
|
135
|
-
className,
|
|
136
|
-
...props
|
|
137
|
-
}) {
|
|
138
|
-
return /* @__PURE__ */ jsx(
|
|
139
|
-
NavigationMenuPrimitive.Link,
|
|
140
|
-
{
|
|
141
|
-
"data-slot": "navigation-menu-link",
|
|
142
|
-
className: cn(
|
|
143
|
-
"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
|
|
144
|
-
className
|
|
145
|
-
),
|
|
146
|
-
...props
|
|
147
|
-
}
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
function NavigationMenuIndicator({
|
|
151
|
-
className,
|
|
152
|
-
...props
|
|
153
|
-
}) {
|
|
154
|
-
return /* @__PURE__ */ jsx(
|
|
155
|
-
NavigationMenuPrimitive.Indicator,
|
|
156
|
-
{
|
|
157
|
-
"data-slot": "navigation-menu-indicator",
|
|
158
|
-
className: cn(
|
|
159
|
-
"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden",
|
|
160
|
-
className
|
|
161
|
-
),
|
|
162
|
-
...props,
|
|
163
|
-
children: /* @__PURE__ */ jsx("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
|
|
164
|
-
}
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
export {
|
|
168
|
-
NavigationMenu,
|
|
169
|
-
NavigationMenuContent,
|
|
170
|
-
NavigationMenuIndicator,
|
|
171
|
-
NavigationMenuItem,
|
|
172
|
-
NavigationMenuLink,
|
|
173
|
-
NavigationMenuList,
|
|
174
|
-
NavigationMenuTrigger,
|
|
175
|
-
NavigationMenuViewport,
|
|
176
|
-
navigationMenuTriggerStyle
|
|
177
|
-
};
|
|
178
|
-
//# sourceMappingURL=navigation-menu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/utils.ts","../../src/components/navigation-menu.tsx"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from '@mesob/ui/lib/utils';\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { IconChevronDown } from '@tabler/icons-react';\nimport { cva } from 'class-variance-authority';\nimport type * as React from 'react';\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n 'group flex flex-1 list-none items-center justify-center gap-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn('relative', className)}\n {...props}\n />\n );\n}\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1',\n);\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), 'group', className)}\n {...props}\n >\n {children}{' '}\n <IconChevronDown\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto',\n 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n 'absolute top-full left-0 isolate z-50 flex justify-center',\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n 'origin-top-center bg-popover text-popover-foreground border-border data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]',\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',\n className,\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"],"mappings":";AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACJA,YAAY,6BAA6B;AACzC,SAAS,uBAAuB;AAChC,SAAS,WAAW;AAYhB,SAUe,KAVf;AATJ,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,GAAG;AACL,GAEG;AACD,SACE;AAAA,IAAyB;AAAA,IAAxB;AAAA,MACC,aAAU;AAAA,MACV,iBAAe;AAAA,MACf,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,YAAY,oBAAC,0BAAuB;AAAA;AAAA;AAAA,EACvC;AAEJ;AAEA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAA8D;AAC5D,SACE;AAAA,IAAyB;AAAA,IAAxB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAA8D;AAC5D,SACE;AAAA,IAAyB;AAAA,IAAxB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,YAAY,SAAS;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,6BAA6B;AAAA,EACjC;AACF;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiE;AAC/D,SACE;AAAA,IAAyB;AAAA,IAAxB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,2BAA2B,GAAG,SAAS,SAAS;AAAA,MAC7D,GAAG;AAAA,MAEH;AAAA;AAAA,QAAU;AAAA,QACX;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA;AAAA,QACd;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA,GAAG;AACL,GAAiE;AAC/D,SACE;AAAA,IAAyB;AAAA,IAAxB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,GAAkE;AAChE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,MACF;AAAA,MAEA;AAAA,QAAyB;AAAA,QAAxB;AAAA,UACC,aAAU;AAAA,UACV,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UACC,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAA8D;AAC5D,SACE;AAAA,IAAyB;AAAA,IAAxB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,wBAAwB;AAAA,EAC/B;AAAA,EACA,GAAG;AACL,GAAmE;AACjE,SACE;AAAA,IAAyB;AAAA,IAAxB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,8BAAC,SAAI,WAAU,0EAAyE;AAAA;AAAA,EAC1F;AAEJ;","names":[]}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
|
-
|
|
4
|
-
type PageBodyProps = {
|
|
5
|
-
className?: string;
|
|
6
|
-
children: ReactNode;
|
|
7
|
-
};
|
|
8
|
-
declare function PageBody({ className, children }: PageBodyProps): react_jsx_runtime.JSX.Element;
|
|
9
|
-
|
|
10
|
-
type PageContainerProps = {
|
|
11
|
-
className?: string;
|
|
12
|
-
children: ReactNode;
|
|
13
|
-
};
|
|
14
|
-
declare function PageContainer({ className, children }: PageContainerProps): react_jsx_runtime.JSX.Element;
|
|
15
|
-
|
|
16
|
-
type PageGoBackProps = {
|
|
17
|
-
onBack: () => void;
|
|
18
|
-
label?: string;
|
|
19
|
-
className?: string;
|
|
20
|
-
children?: ReactNode;
|
|
21
|
-
};
|
|
22
|
-
declare function PageGoBack({ onBack, label, className, children, }: PageGoBackProps): react_jsx_runtime.JSX.Element;
|
|
23
|
-
|
|
24
|
-
type PageSectionProps = {
|
|
25
|
-
title?: ReactNode;
|
|
26
|
-
className?: string;
|
|
27
|
-
children: ReactNode;
|
|
28
|
-
};
|
|
29
|
-
declare function PageSection({ title, className, children }: PageSectionProps): react_jsx_runtime.JSX.Element;
|
|
30
|
-
|
|
31
|
-
type PageSubTitleProps = {
|
|
32
|
-
className?: string;
|
|
33
|
-
children: ReactNode;
|
|
34
|
-
};
|
|
35
|
-
declare function PageSubTitle({ className, children }: PageSubTitleProps): react_jsx_runtime.JSX.Element;
|
|
36
|
-
|
|
37
|
-
type PageTitleProps = {
|
|
38
|
-
icon?: ReactNode;
|
|
39
|
-
back?: ReactNode;
|
|
40
|
-
action?: ReactNode;
|
|
41
|
-
children: ReactNode;
|
|
42
|
-
className?: string;
|
|
43
|
-
};
|
|
44
|
-
declare function PageTitle({ icon, back, action, children, className, }: PageTitleProps): react_jsx_runtime.JSX.Element;
|
|
45
|
-
|
|
46
|
-
export { PageBody, PageContainer, PageGoBack, PageSection, PageSubTitle, PageTitle };
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
// src/lib/utils.ts
|
|
2
|
-
import { clsx } from "clsx";
|
|
3
|
-
import { twMerge } from "tailwind-merge";
|
|
4
|
-
function cn(...inputs) {
|
|
5
|
-
return twMerge(clsx(inputs));
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
// src/components/page/page-body.tsx
|
|
9
|
-
import { jsx } from "react/jsx-runtime";
|
|
10
|
-
function PageBody({ className, children }) {
|
|
11
|
-
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-4 px-4", className), children });
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
// src/components/page/page-container.tsx
|
|
15
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
16
|
-
function PageContainer({ className, children }) {
|
|
17
|
-
return /* @__PURE__ */ jsx2("div", { className: cn("pb-4", className), children });
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// src/components/page/page-go-back.tsx
|
|
21
|
-
import { IconArrowLeft } from "@tabler/icons-react";
|
|
22
|
-
|
|
23
|
-
// src/components/button.tsx
|
|
24
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
25
|
-
import { cva } from "class-variance-authority";
|
|
26
|
-
import { Fragment, jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
27
|
-
var buttonVariants = cva(
|
|
28
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
29
|
-
{
|
|
30
|
-
variants: {
|
|
31
|
-
variant: {
|
|
32
|
-
default: "bg-primary text-primary-foreground hover:bg-primary-600 dark:hover:bg-primary-400",
|
|
33
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
|
|
34
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
35
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary-600 dark:hover:bg-secondary-400",
|
|
36
|
-
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
37
|
-
link: "text-primary underline-offset-4 hover:text-primary-600 dark:hover:text-primary-400 hover:underline"
|
|
38
|
-
},
|
|
39
|
-
size: {
|
|
40
|
-
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
41
|
-
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
42
|
-
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
43
|
-
icon: "size-9",
|
|
44
|
-
"icon-sm": "size-8",
|
|
45
|
-
"icon-lg": "size-10"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
defaultVariants: {
|
|
49
|
-
variant: "default",
|
|
50
|
-
size: "default"
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
);
|
|
54
|
-
function Button({
|
|
55
|
-
className,
|
|
56
|
-
variant,
|
|
57
|
-
size,
|
|
58
|
-
asChild = false,
|
|
59
|
-
leftIcon,
|
|
60
|
-
rightIcon,
|
|
61
|
-
children,
|
|
62
|
-
...props
|
|
63
|
-
}) {
|
|
64
|
-
const Comp = asChild ? Slot : "button";
|
|
65
|
-
return /* @__PURE__ */ jsx3(
|
|
66
|
-
Comp,
|
|
67
|
-
{
|
|
68
|
-
"data-slot": "button",
|
|
69
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
70
|
-
...props,
|
|
71
|
-
children: asChild ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
72
|
-
leftIcon,
|
|
73
|
-
children,
|
|
74
|
-
rightIcon
|
|
75
|
-
] })
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// src/components/tooltip.tsx
|
|
81
|
-
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
82
|
-
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
83
|
-
function TooltipProvider({
|
|
84
|
-
delayDuration = 0,
|
|
85
|
-
...props
|
|
86
|
-
}) {
|
|
87
|
-
return /* @__PURE__ */ jsx4(
|
|
88
|
-
TooltipPrimitive.Provider,
|
|
89
|
-
{
|
|
90
|
-
"data-slot": "tooltip-provider",
|
|
91
|
-
delayDuration,
|
|
92
|
-
...props
|
|
93
|
-
}
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
|
-
function Tooltip({
|
|
97
|
-
children,
|
|
98
|
-
...props
|
|
99
|
-
}) {
|
|
100
|
-
return /* @__PURE__ */ jsx4(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props, children });
|
|
101
|
-
}
|
|
102
|
-
function TooltipTrigger({
|
|
103
|
-
...props
|
|
104
|
-
}) {
|
|
105
|
-
return /* @__PURE__ */ jsx4(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
106
|
-
}
|
|
107
|
-
function TooltipContent({
|
|
108
|
-
className,
|
|
109
|
-
sideOffset = 0,
|
|
110
|
-
children,
|
|
111
|
-
...props
|
|
112
|
-
}) {
|
|
113
|
-
return /* @__PURE__ */ jsx4(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
|
|
114
|
-
TooltipPrimitive.Content,
|
|
115
|
-
{
|
|
116
|
-
"data-slot": "tooltip-content",
|
|
117
|
-
sideOffset,
|
|
118
|
-
className: cn(
|
|
119
|
-
"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out 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) rounded-md px-3 py-1.5 text-xs text-balance",
|
|
120
|
-
className
|
|
121
|
-
),
|
|
122
|
-
...props,
|
|
123
|
-
children: [
|
|
124
|
-
children,
|
|
125
|
-
/* @__PURE__ */ jsx4(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
|
|
126
|
-
]
|
|
127
|
-
}
|
|
128
|
-
) });
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// src/components/page/page-go-back.tsx
|
|
132
|
-
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
133
|
-
function PageGoBack({
|
|
134
|
-
onBack,
|
|
135
|
-
label = "Go back",
|
|
136
|
-
className,
|
|
137
|
-
children
|
|
138
|
-
}) {
|
|
139
|
-
return /* @__PURE__ */ jsx5(TooltipProvider, { children: /* @__PURE__ */ jsxs3(Tooltip, { children: [
|
|
140
|
-
/* @__PURE__ */ jsx5(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx5(
|
|
141
|
-
Button,
|
|
142
|
-
{
|
|
143
|
-
variant: "ghost",
|
|
144
|
-
size: "icon-sm",
|
|
145
|
-
onClick: onBack,
|
|
146
|
-
className: cn(className),
|
|
147
|
-
"aria-label": label,
|
|
148
|
-
children: children ?? /* @__PURE__ */ jsx5(IconArrowLeft, { className: "size-4", stroke: 1.5 })
|
|
149
|
-
}
|
|
150
|
-
) }),
|
|
151
|
-
/* @__PURE__ */ jsx5(TooltipContent, { side: "bottom", children: label })
|
|
152
|
-
] }) });
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// src/components/page/page-section.tsx
|
|
156
|
-
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
157
|
-
function PageSection({ title, className, children }) {
|
|
158
|
-
return /* @__PURE__ */ jsxs4("div", { className: cn("flex flex-col gap-4", className), children: [
|
|
159
|
-
title ? /* @__PURE__ */ jsx6("h4", { className: "font-medium text-foreground", children: title }) : null,
|
|
160
|
-
children
|
|
161
|
-
] });
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// src/components/page/page-subtitle.tsx
|
|
165
|
-
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
166
|
-
function PageSubTitle({ className, children }) {
|
|
167
|
-
return /* @__PURE__ */ jsx7("span", { className: cn("text-sm text-muted-foreground", className), children });
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
// src/components/page/page-title.tsx
|
|
171
|
-
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
172
|
-
function PageTitle({
|
|
173
|
-
icon,
|
|
174
|
-
back,
|
|
175
|
-
action,
|
|
176
|
-
children,
|
|
177
|
-
className
|
|
178
|
-
}) {
|
|
179
|
-
return /* @__PURE__ */ jsxs5(
|
|
180
|
-
"div",
|
|
181
|
-
{
|
|
182
|
-
className: cn(
|
|
183
|
-
"flex min-h-12 items-center gap-2 border-b text-foreground",
|
|
184
|
-
className
|
|
185
|
-
),
|
|
186
|
-
children: [
|
|
187
|
-
back ?? null,
|
|
188
|
-
icon ?? null,
|
|
189
|
-
/* @__PURE__ */ jsxs5("div", { className: "flex grow items-center justify-between", children: [
|
|
190
|
-
/* @__PURE__ */ jsx8("h3", { className: "font-medium", children }),
|
|
191
|
-
action ?? null
|
|
192
|
-
] })
|
|
193
|
-
]
|
|
194
|
-
}
|
|
195
|
-
);
|
|
196
|
-
}
|
|
197
|
-
export {
|
|
198
|
-
PageBody,
|
|
199
|
-
PageContainer,
|
|
200
|
-
PageGoBack,
|
|
201
|
-
PageSection,
|
|
202
|
-
PageSubTitle,
|
|
203
|
-
PageTitle
|
|
204
|
-
};
|
|
205
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/utils.ts","../../../src/components/page/page-body.tsx","../../../src/components/page/page-container.tsx","../../../src/components/page/page-go-back.tsx","../../../src/components/button.tsx","../../../src/components/tooltip.tsx","../../../src/components/page/page-section.tsx","../../../src/components/page/page-subtitle.tsx","../../../src/components/page/page-title.tsx"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from '@mesob/ui/lib/utils';\nimport type { ReactNode } from 'react';\n\ntype PageBodyProps = {\n className?: string;\n children: ReactNode;\n};\n\nexport function PageBody({ className, children }: PageBodyProps) {\n return (\n <div className={cn('flex flex-col gap-4 px-4', className)}>{children}</div>\n );\n}\n","import { cn } from '@mesob/ui/lib/utils';\nimport type { ReactNode } from 'react';\n\ntype PageContainerProps = {\n className?: string;\n children: ReactNode;\n};\n\nexport function PageContainer({ className, children }: PageContainerProps) {\n return <div className={cn('pb-4', className)}>{children}</div>;\n}\n","'use client';\n\nimport { cn } from '@mesob/ui/lib/utils';\nimport { IconArrowLeft } from '@tabler/icons-react';\nimport type { ReactNode } from 'react';\nimport { Button } from '../button';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '../tooltip';\n\ntype PageGoBackProps = {\n onBack: () => void;\n label?: string;\n className?: string;\n children?: ReactNode;\n};\n\nexport function PageGoBack({\n onBack,\n label = 'Go back',\n className,\n children,\n}: PageGoBackProps) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onBack}\n className={cn(className)}\n aria-label={label}\n >\n {children ?? <IconArrowLeft className=\"size-4\" stroke={1.5} />}\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">{label}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n}\n","import { cn } from '@mesob/ui/lib/utils';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type * as React from 'react';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n 'bg-primary text-primary-foreground hover:bg-primary-600 dark:hover:bg-primary-400',\n destructive:\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',\n outline:\n 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary-600 dark:hover:bg-secondary-400',\n ghost:\n 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:text-primary-600 dark:hover:text-primary-400 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n 'icon-sm': 'size-8',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\ntype ButtonProps = React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n };\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n leftIcon,\n rightIcon,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {leftIcon}\n {children}\n {rightIcon}\n </>\n )}\n </Comp>\n );\n}\n\nexport { Button, buttonVariants };\n","'use client';\n\nimport { cn } from '@mesob/ui/lib/utils';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport type * as React from 'react';\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props}>\n {children}\n </TooltipPrimitive.Root>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out 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) rounded-md px-3 py-1.5 text-xs text-balance',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n","import { cn } from '@mesob/ui/lib/utils';\nimport type { ReactNode } from 'react';\n\ntype PageSectionProps = {\n title?: ReactNode;\n className?: string;\n children: ReactNode;\n};\n\nexport function PageSection({ title, className, children }: PageSectionProps) {\n return (\n <div className={cn('flex flex-col gap-4', className)}>\n {title ? <h4 className=\"font-medium text-foreground\">{title}</h4> : null}\n {children}\n </div>\n );\n}\n","import { cn } from '@mesob/ui/lib/utils';\nimport type { ReactNode } from 'react';\n\ntype PageSubTitleProps = {\n className?: string;\n children: ReactNode;\n};\n\nexport function PageSubTitle({ className, children }: PageSubTitleProps) {\n return (\n <span className={cn('text-sm text-muted-foreground', className)}>\n {children}\n </span>\n );\n}\n","import { cn } from '@mesob/ui/lib/utils';\nimport type { ReactNode } from 'react';\n\ntype PageTitleProps = {\n icon?: ReactNode;\n back?: ReactNode;\n action?: ReactNode;\n children: ReactNode;\n className?: string;\n};\n\nexport function PageTitle({\n icon,\n back,\n action,\n children,\n className,\n}: PageTitleProps) {\n return (\n <div\n className={cn(\n 'flex min-h-12 items-center gap-2 border-b text-foreground',\n className,\n )}\n >\n {back ?? null}\n {icon ?? null}\n <div className=\"flex grow items-center justify-between\">\n <h3 className=\"font-medium\">{children}</h3>\n {action ?? null}\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["jsx","jsx","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsx","jsxs"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { Button } from './button.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import 'class-variance-authority/types';
|
|
5
|
-
import 'class-variance-authority';
|
|
6
|
-
|
|
7
|
-
declare function Pagination({ className, ...props }: React.ComponentProps<'nav'>): react_jsx_runtime.JSX.Element;
|
|
8
|
-
declare function PaginationContent({ className, ...props }: React.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
|
|
9
|
-
declare function PaginationItem({ ...props }: React.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
|
|
10
|
-
type PaginationLinkProps = {
|
|
11
|
-
isActive?: boolean;
|
|
12
|
-
} & Pick<React.ComponentProps<typeof Button>, 'size'> & React.ComponentProps<'a'>;
|
|
13
|
-
declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
|
|
14
|
-
declare function PaginationPrevious({ className, ...props }: React.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
|
|
15
|
-
declare function PaginationNext({ className, ...props }: React.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
|
|
16
|
-
declare function PaginationEllipsis({ className, ...props }: React.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
|
|
17
|
-
|
|
18
|
-
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
// src/lib/utils.ts
|
|
2
|
-
import { clsx } from "clsx";
|
|
3
|
-
import { twMerge } from "tailwind-merge";
|
|
4
|
-
function cn(...inputs) {
|
|
5
|
-
return twMerge(clsx(inputs));
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
// src/components/button.tsx
|
|
9
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
10
|
-
import { cva } from "class-variance-authority";
|
|
11
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
-
var buttonVariants = cva(
|
|
13
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
14
|
-
{
|
|
15
|
-
variants: {
|
|
16
|
-
variant: {
|
|
17
|
-
default: "bg-primary text-primary-foreground hover:bg-primary-600 dark:hover:bg-primary-400",
|
|
18
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
|
|
19
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
20
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary-600 dark:hover:bg-secondary-400",
|
|
21
|
-
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
22
|
-
link: "text-primary underline-offset-4 hover:text-primary-600 dark:hover:text-primary-400 hover:underline"
|
|
23
|
-
},
|
|
24
|
-
size: {
|
|
25
|
-
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
26
|
-
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
27
|
-
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
28
|
-
icon: "size-9",
|
|
29
|
-
"icon-sm": "size-8",
|
|
30
|
-
"icon-lg": "size-10"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
defaultVariants: {
|
|
34
|
-
variant: "default",
|
|
35
|
-
size: "default"
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
// src/components/pagination.tsx
|
|
41
|
-
import {
|
|
42
|
-
IconChevronLeft,
|
|
43
|
-
IconChevronRight,
|
|
44
|
-
IconDots
|
|
45
|
-
} from "@tabler/icons-react";
|
|
46
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
47
|
-
function Pagination({ className, ...props }) {
|
|
48
|
-
return /* @__PURE__ */ jsx2(
|
|
49
|
-
"nav",
|
|
50
|
-
{
|
|
51
|
-
"aria-label": "pagination",
|
|
52
|
-
"data-slot": "pagination",
|
|
53
|
-
className: cn("mx-auto flex w-full justify-center", className),
|
|
54
|
-
...props
|
|
55
|
-
}
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
function PaginationContent({
|
|
59
|
-
className,
|
|
60
|
-
...props
|
|
61
|
-
}) {
|
|
62
|
-
return /* @__PURE__ */ jsx2(
|
|
63
|
-
"ul",
|
|
64
|
-
{
|
|
65
|
-
"data-slot": "pagination-content",
|
|
66
|
-
className: cn("flex flex-row items-center gap-1", className),
|
|
67
|
-
...props
|
|
68
|
-
}
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
function PaginationItem({ ...props }) {
|
|
72
|
-
return /* @__PURE__ */ jsx2("li", { "data-slot": "pagination-item", ...props });
|
|
73
|
-
}
|
|
74
|
-
function PaginationLink({
|
|
75
|
-
className,
|
|
76
|
-
isActive,
|
|
77
|
-
size = "icon",
|
|
78
|
-
...props
|
|
79
|
-
}) {
|
|
80
|
-
return /* @__PURE__ */ jsx2(
|
|
81
|
-
"a",
|
|
82
|
-
{
|
|
83
|
-
"aria-current": isActive ? "page" : void 0,
|
|
84
|
-
"data-slot": "pagination-link",
|
|
85
|
-
"data-active": isActive,
|
|
86
|
-
className: cn(
|
|
87
|
-
buttonVariants({
|
|
88
|
-
variant: isActive ? "outline" : "ghost",
|
|
89
|
-
size
|
|
90
|
-
}),
|
|
91
|
-
className
|
|
92
|
-
),
|
|
93
|
-
...props
|
|
94
|
-
}
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
function PaginationPrevious({
|
|
98
|
-
className,
|
|
99
|
-
...props
|
|
100
|
-
}) {
|
|
101
|
-
return /* @__PURE__ */ jsxs2(
|
|
102
|
-
PaginationLink,
|
|
103
|
-
{
|
|
104
|
-
"aria-label": "Go to previous page",
|
|
105
|
-
size: "default",
|
|
106
|
-
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
107
|
-
...props,
|
|
108
|
-
children: [
|
|
109
|
-
/* @__PURE__ */ jsx2(IconChevronLeft, {}),
|
|
110
|
-
/* @__PURE__ */ jsx2("span", { className: "hidden sm:block", children: "Previous" })
|
|
111
|
-
]
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
function PaginationNext({
|
|
116
|
-
className,
|
|
117
|
-
...props
|
|
118
|
-
}) {
|
|
119
|
-
return /* @__PURE__ */ jsxs2(
|
|
120
|
-
PaginationLink,
|
|
121
|
-
{
|
|
122
|
-
"aria-label": "Go to next page",
|
|
123
|
-
size: "default",
|
|
124
|
-
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
125
|
-
...props,
|
|
126
|
-
children: [
|
|
127
|
-
/* @__PURE__ */ jsx2("span", { className: "hidden sm:block", children: "Next" }),
|
|
128
|
-
/* @__PURE__ */ jsx2(IconChevronRight, {})
|
|
129
|
-
]
|
|
130
|
-
}
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
function PaginationEllipsis({
|
|
134
|
-
className,
|
|
135
|
-
...props
|
|
136
|
-
}) {
|
|
137
|
-
return /* @__PURE__ */ jsxs2(
|
|
138
|
-
"span",
|
|
139
|
-
{
|
|
140
|
-
"aria-hidden": true,
|
|
141
|
-
"data-slot": "pagination-ellipsis",
|
|
142
|
-
className: cn("flex size-9 items-center justify-center", className),
|
|
143
|
-
...props,
|
|
144
|
-
children: [
|
|
145
|
-
/* @__PURE__ */ jsx2(IconDots, { className: "size-4" }),
|
|
146
|
-
/* @__PURE__ */ jsx2("span", { className: "sr-only", children: "More pages" })
|
|
147
|
-
]
|
|
148
|
-
}
|
|
149
|
-
);
|
|
150
|
-
}
|
|
151
|
-
export {
|
|
152
|
-
Pagination,
|
|
153
|
-
PaginationContent,
|
|
154
|
-
PaginationEllipsis,
|
|
155
|
-
PaginationItem,
|
|
156
|
-
PaginationLink,
|
|
157
|
-
PaginationNext,
|
|
158
|
-
PaginationPrevious
|
|
159
|
-
};
|
|
160
|
-
//# sourceMappingURL=pagination.js.map
|