@mesob/ui 0.0.2

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.
Files changed (194) hide show
  1. package/dist/components/accordion.d.ts +10 -0
  2. package/dist/components/accordion.js +74 -0
  3. package/dist/components/accordion.js.map +1 -0
  4. package/dist/components/alert-dialog.d.ts +17 -0
  5. package/dist/components/alert-dialog.js +187 -0
  6. package/dist/components/alert-dialog.js.map +1 -0
  7. package/dist/components/alert.d.ts +13 -0
  8. package/dist/components/alert.js +74 -0
  9. package/dist/components/alert.js.map +1 -0
  10. package/dist/components/animated-tabs.d.ts +26 -0
  11. package/dist/components/animated-tabs.js +290 -0
  12. package/dist/components/animated-tabs.js.map +1 -0
  13. package/dist/components/aspect-ratio.d.ts +6 -0
  14. package/dist/components/aspect-ratio.js +14 -0
  15. package/dist/components/aspect-ratio.js.map +1 -0
  16. package/dist/components/avatar.d.ts +9 -0
  17. package/dist/components/avatar.js +63 -0
  18. package/dist/components/avatar.js.map +1 -0
  19. package/dist/components/badge.d.ts +13 -0
  20. package/dist/components/badge.js +48 -0
  21. package/dist/components/badge.js.map +1 -0
  22. package/dist/components/breadcrumb.d.ts +14 -0
  23. package/dist/components/breadcrumb.js +110 -0
  24. package/dist/components/breadcrumb.js.map +1 -0
  25. package/dist/components/button-group.d.ts +17 -0
  26. package/dist/components/button-group.js +106 -0
  27. package/dist/components/button-group.js.map +1 -0
  28. package/dist/components/button.d.ts +14 -0
  29. package/dist/components/button.js +60 -0
  30. package/dist/components/button.js.map +1 -0
  31. package/dist/components/calendar.d.ts +13 -0
  32. package/dist/components/calendar.js +254 -0
  33. package/dist/components/calendar.js.map +1 -0
  34. package/dist/components/card.d.ts +12 -0
  35. package/dist/components/card.js +98 -0
  36. package/dist/components/card.js.map +1 -0
  37. package/dist/components/carousel.d.ts +24 -0
  38. package/dist/components/carousel.js +260 -0
  39. package/dist/components/carousel.js.map +1 -0
  40. package/dist/components/chart.d.ts +43 -0
  41. package/dist/components/chart.js +261 -0
  42. package/dist/components/chart.js.map +1 -0
  43. package/dist/components/checkbox.d.ts +7 -0
  44. package/dist/components/checkbox.js +41 -0
  45. package/dist/components/checkbox.js.map +1 -0
  46. package/dist/components/collapsible.d.ts +8 -0
  47. package/dist/components/collapsible.js +38 -0
  48. package/dist/components/collapsible.js.map +1 -0
  49. package/dist/components/command.d.ts +22 -0
  50. package/dist/components/command.js +281 -0
  51. package/dist/components/command.js.map +1 -0
  52. package/dist/components/context-menu.d.ts +28 -0
  53. package/dist/components/context-menu.js +233 -0
  54. package/dist/components/context-menu.js.map +1 -0
  55. package/dist/components/data-table/index.d.ts +46 -0
  56. package/dist/components/data-table/index.js +639 -0
  57. package/dist/components/data-table/index.js.map +1 -0
  58. package/dist/components/dialog.d.ts +18 -0
  59. package/dist/components/dialog.js +146 -0
  60. package/dist/components/dialog.js.map +1 -0
  61. package/dist/components/drawer.d.ts +16 -0
  62. package/dist/components/drawer.js +138 -0
  63. package/dist/components/drawer.js.map +1 -0
  64. package/dist/components/dropdown-menu.d.ts +28 -0
  65. package/dist/components/dropdown-menu.js +241 -0
  66. package/dist/components/dropdown-menu.js.map +1 -0
  67. package/dist/components/empty.d.ts +15 -0
  68. package/dist/components/empty.js +110 -0
  69. package/dist/components/empty.js.map +1 -0
  70. package/dist/components/entity/index.d.ts +160 -0
  71. package/dist/components/entity/index.js +1671 -0
  72. package/dist/components/entity/index.js.map +1 -0
  73. package/dist/components/field.d.ts +30 -0
  74. package/dist/components/field.js +279 -0
  75. package/dist/components/field.js.map +1 -0
  76. package/dist/components/form.d.ts +28 -0
  77. package/dist/components/form.js +150 -0
  78. package/dist/components/form.js.map +1 -0
  79. package/dist/components/hover-card.d.ts +9 -0
  80. package/dist/components/hover-card.js +48 -0
  81. package/dist/components/hover-card.js.map +1 -0
  82. package/dist/components/input-group.d.ts +20 -0
  83. package/dist/components/input-group.js +257 -0
  84. package/dist/components/input-group.js.map +1 -0
  85. package/dist/components/input-otp.d.ts +14 -0
  86. package/dist/components/input-otp.js +76 -0
  87. package/dist/components/input-otp.js.map +1 -0
  88. package/dist/components/input.d.ts +6 -0
  89. package/dist/components/input.js +29 -0
  90. package/dist/components/input.js.map +1 -0
  91. package/dist/components/item.d.ts +28 -0
  92. package/dist/components/item.js +220 -0
  93. package/dist/components/item.js.map +1 -0
  94. package/dist/components/jiret-logo.d.ts +13 -0
  95. package/dist/components/jiret-logo.js +80 -0
  96. package/dist/components/jiret-logo.js.map +1 -0
  97. package/dist/components/kbd.d.ts +6 -0
  98. package/dist/components/kbd.js +39 -0
  99. package/dist/components/kbd.js.map +1 -0
  100. package/dist/components/label.d.ts +7 -0
  101. package/dist/components/label.js +32 -0
  102. package/dist/components/label.js.map +1 -0
  103. package/dist/components/menubar.d.ts +29 -0
  104. package/dist/components/menubar.js +261 -0
  105. package/dist/components/menubar.js.map +1 -0
  106. package/dist/components/navigation-menu.d.ts +18 -0
  107. package/dist/components/navigation-menu.js +178 -0
  108. package/dist/components/navigation-menu.js.map +1 -0
  109. package/dist/components/pagination.d.ts +18 -0
  110. package/dist/components/pagination.js +160 -0
  111. package/dist/components/pagination.js.map +1 -0
  112. package/dist/components/popover.d.ts +10 -0
  113. package/dist/components/popover.js +54 -0
  114. package/dist/components/popover.js.map +1 -0
  115. package/dist/components/powered-by.d.ts +5 -0
  116. package/dist/components/powered-by.js +98 -0
  117. package/dist/components/powered-by.js.map +1 -0
  118. package/dist/components/progress.d.ts +7 -0
  119. package/dist/components/progress.js +41 -0
  120. package/dist/components/progress.js.map +1 -0
  121. package/dist/components/radio-group.d.ts +8 -0
  122. package/dist/components/radio-group.js +55 -0
  123. package/dist/components/radio-group.js.map +1 -0
  124. package/dist/components/resizable.d.ts +11 -0
  125. package/dist/components/resizable.js +58 -0
  126. package/dist/components/resizable.js.map +1 -0
  127. package/dist/components/scroll-area.d.ts +8 -0
  128. package/dist/components/scroll-area.js +70 -0
  129. package/dist/components/scroll-area.js.map +1 -0
  130. package/dist/components/section/index.d.ts +14 -0
  131. package/dist/components/section/index.js +139 -0
  132. package/dist/components/section/index.js.map +1 -0
  133. package/dist/components/select.d.ts +18 -0
  134. package/dist/components/select.js +181 -0
  135. package/dist/components/select.js.map +1 -0
  136. package/dist/components/separator.d.ts +7 -0
  137. package/dist/components/separator.js +36 -0
  138. package/dist/components/separator.js.map +1 -0
  139. package/dist/components/sheet.d.ts +16 -0
  140. package/dist/components/sheet.js +136 -0
  141. package/dist/components/sheet.js.map +1 -0
  142. package/dist/components/sidebar.d.ts +75 -0
  143. package/dist/components/sidebar.js +909 -0
  144. package/dist/components/sidebar.js.map +1 -0
  145. package/dist/components/skeleton.d.ts +5 -0
  146. package/dist/components/skeleton.js +23 -0
  147. package/dist/components/skeleton.js.map +1 -0
  148. package/dist/components/slider.d.ts +7 -0
  149. package/dist/components/slider.js +76 -0
  150. package/dist/components/slider.js.map +1 -0
  151. package/dist/components/sonner.d.ts +6 -0
  152. package/dist/components/sonner.js +41 -0
  153. package/dist/components/sonner.js.map +1 -0
  154. package/dist/components/spinner.d.ts +6 -0
  155. package/dist/components/spinner.js +28 -0
  156. package/dist/components/spinner.js.map +1 -0
  157. package/dist/components/spotlight-search.d.ts +25 -0
  158. package/dist/components/spotlight-search.js +387 -0
  159. package/dist/components/spotlight-search.js.map +1 -0
  160. package/dist/components/switch.d.ts +7 -0
  161. package/dist/components/switch.js +41 -0
  162. package/dist/components/switch.js.map +1 -0
  163. package/dist/components/table.d.ts +13 -0
  164. package/dist/components/table.js +124 -0
  165. package/dist/components/table.js.map +1 -0
  166. package/dist/components/tabs.d.ts +10 -0
  167. package/dist/components/tabs.js +77 -0
  168. package/dist/components/tabs.js.map +1 -0
  169. package/dist/components/textarea.d.ts +6 -0
  170. package/dist/components/textarea.js +26 -0
  171. package/dist/components/textarea.js.map +1 -0
  172. package/dist/components/theme-toggle.d.ts +8 -0
  173. package/dist/components/theme-toggle.js +86 -0
  174. package/dist/components/theme-toggle.js.map +1 -0
  175. package/dist/components/toggle-group.d.ts +14 -0
  176. package/dist/components/toggle-group.js +102 -0
  177. package/dist/components/toggle-group.js.map +1 -0
  178. package/dist/components/toggle.d.ts +13 -0
  179. package/dist/components/toggle.js +53 -0
  180. package/dist/components/toggle.js.map +1 -0
  181. package/dist/components/tooltip.d.ts +10 -0
  182. package/dist/components/tooltip.js +65 -0
  183. package/dist/components/tooltip.js.map +1 -0
  184. package/dist/hooks/use-mobile.d.ts +3 -0
  185. package/dist/hooks/use-mobile.js +22 -0
  186. package/dist/hooks/use-mobile.js.map +1 -0
  187. package/dist/index.d.ts +2 -0
  188. package/dist/index.js +10 -0
  189. package/dist/index.js.map +1 -0
  190. package/dist/lib/utils.d.ts +5 -0
  191. package/dist/lib/utils.js +10 -0
  192. package/dist/lib/utils.js.map +1 -0
  193. package/package.json +123 -0
  194. package/src/styles/globals.css +125 -0
@@ -0,0 +1,29 @@
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/input.tsx
9
+ import { jsx } from "react/jsx-runtime";
10
+ function Input({ className, type, ...props }) {
11
+ return /* @__PURE__ */ jsx(
12
+ "input",
13
+ {
14
+ type,
15
+ "data-slot": "input",
16
+ className: cn(
17
+ "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
18
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
19
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
20
+ className
21
+ ),
22
+ ...props
23
+ }
24
+ );
25
+ }
26
+ export {
27
+ Input
28
+ };
29
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/components/input.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 * as React from 'react';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":";AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACAI;AAFJ,SAAS,MAAM,EAAE,WAAW,MAAM,GAAG,MAAM,GAAkC;AAC3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,28 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import { Separator } from './separator.js';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import * as React from 'react';
6
+ import '@radix-ui/react-separator';
7
+
8
+ declare function ItemGroup({ className, ...props }: React.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
9
+ declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
10
+ declare const itemVariants: (props?: ({
11
+ variant?: "default" | "outline" | "muted" | null | undefined;
12
+ size?: "default" | "sm" | null | undefined;
13
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
14
+ declare function Item({ className, variant, size, asChild, ...props }: React.ComponentProps<'div'> & VariantProps<typeof itemVariants> & {
15
+ asChild?: boolean;
16
+ }): react_jsx_runtime.JSX.Element;
17
+ declare const itemMediaVariants: (props?: ({
18
+ variant?: "image" | "default" | "icon" | null | undefined;
19
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
20
+ declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>): react_jsx_runtime.JSX.Element;
21
+ declare function ItemContent({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
22
+ declare function ItemTitle({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
23
+ declare function ItemDescription({ className, ...props }: React.ComponentProps<'p'>): react_jsx_runtime.JSX.Element;
24
+ declare function ItemActions({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
25
+ declare function ItemHeader({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
26
+ declare function ItemFooter({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
27
+
28
+ export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle };
@@ -0,0 +1,220 @@
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/separator.tsx
9
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
10
+ import { jsx } from "react/jsx-runtime";
11
+ function Separator({
12
+ className,
13
+ orientation = "horizontal",
14
+ decorative = true,
15
+ ...props
16
+ }) {
17
+ return /* @__PURE__ */ jsx(
18
+ SeparatorPrimitive.Root,
19
+ {
20
+ "data-slot": "separator",
21
+ decorative,
22
+ orientation,
23
+ className: cn(
24
+ "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
25
+ className
26
+ ),
27
+ ...props
28
+ }
29
+ );
30
+ }
31
+
32
+ // src/components/item.tsx
33
+ import { Slot } from "@radix-ui/react-slot";
34
+ import { cva } from "class-variance-authority";
35
+ import { jsx as jsx2 } from "react/jsx-runtime";
36
+ function ItemGroup({ className, ...props }) {
37
+ return /* @__PURE__ */ jsx2(
38
+ "ul",
39
+ {
40
+ "data-slot": "item-group",
41
+ className: cn(
42
+ "group/item-group flex flex-col list-none p-0 m-0",
43
+ className
44
+ ),
45
+ ...props
46
+ }
47
+ );
48
+ }
49
+ function ItemSeparator({
50
+ className,
51
+ ...props
52
+ }) {
53
+ return /* @__PURE__ */ jsx2(
54
+ Separator,
55
+ {
56
+ "data-slot": "item-separator",
57
+ orientation: "horizontal",
58
+ className: cn("my-0", className),
59
+ ...props
60
+ }
61
+ );
62
+ }
63
+ var itemVariants = cva(
64
+ "group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
65
+ {
66
+ variants: {
67
+ variant: {
68
+ default: "bg-transparent",
69
+ outline: "border-border",
70
+ muted: "bg-muted/50"
71
+ },
72
+ size: {
73
+ default: "p-4 gap-4 ",
74
+ sm: "py-3 px-4 gap-2.5"
75
+ }
76
+ },
77
+ defaultVariants: {
78
+ variant: "default",
79
+ size: "default"
80
+ }
81
+ }
82
+ );
83
+ function Item({
84
+ className,
85
+ variant = "default",
86
+ size = "default",
87
+ asChild = false,
88
+ ...props
89
+ }) {
90
+ const Comp = asChild ? Slot : "div";
91
+ return /* @__PURE__ */ jsx2(
92
+ Comp,
93
+ {
94
+ "data-slot": "item",
95
+ "data-variant": variant,
96
+ "data-size": size,
97
+ className: cn(itemVariants({ variant, size, className })),
98
+ ...props
99
+ }
100
+ );
101
+ }
102
+ var itemMediaVariants = cva(
103
+ "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5",
104
+ {
105
+ variants: {
106
+ variant: {
107
+ default: "bg-transparent",
108
+ icon: "size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4",
109
+ image: "size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover"
110
+ }
111
+ },
112
+ defaultVariants: {
113
+ variant: "default"
114
+ }
115
+ }
116
+ );
117
+ function ItemMedia({
118
+ className,
119
+ variant = "default",
120
+ ...props
121
+ }) {
122
+ return /* @__PURE__ */ jsx2(
123
+ "div",
124
+ {
125
+ "data-slot": "item-media",
126
+ "data-variant": variant,
127
+ className: cn(itemMediaVariants({ variant, className })),
128
+ ...props
129
+ }
130
+ );
131
+ }
132
+ function ItemContent({ className, ...props }) {
133
+ return /* @__PURE__ */ jsx2(
134
+ "div",
135
+ {
136
+ "data-slot": "item-content",
137
+ className: cn(
138
+ "flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none",
139
+ className
140
+ ),
141
+ ...props
142
+ }
143
+ );
144
+ }
145
+ function ItemTitle({ className, ...props }) {
146
+ return /* @__PURE__ */ jsx2(
147
+ "div",
148
+ {
149
+ "data-slot": "item-title",
150
+ className: cn(
151
+ "flex w-fit items-center gap-2 text-sm leading-snug font-medium",
152
+ className
153
+ ),
154
+ ...props
155
+ }
156
+ );
157
+ }
158
+ function ItemDescription({ className, ...props }) {
159
+ return /* @__PURE__ */ jsx2(
160
+ "p",
161
+ {
162
+ "data-slot": "item-description",
163
+ className: cn(
164
+ "text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance",
165
+ "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
166
+ className
167
+ ),
168
+ ...props
169
+ }
170
+ );
171
+ }
172
+ function ItemActions({ className, ...props }) {
173
+ return /* @__PURE__ */ jsx2(
174
+ "div",
175
+ {
176
+ "data-slot": "item-actions",
177
+ className: cn("flex items-center gap-2", className),
178
+ ...props
179
+ }
180
+ );
181
+ }
182
+ function ItemHeader({ className, ...props }) {
183
+ return /* @__PURE__ */ jsx2(
184
+ "div",
185
+ {
186
+ "data-slot": "item-header",
187
+ className: cn(
188
+ "flex basis-full items-center justify-between gap-2",
189
+ className
190
+ ),
191
+ ...props
192
+ }
193
+ );
194
+ }
195
+ function ItemFooter({ className, ...props }) {
196
+ return /* @__PURE__ */ jsx2(
197
+ "div",
198
+ {
199
+ "data-slot": "item-footer",
200
+ className: cn(
201
+ "flex basis-full items-center justify-between gap-2",
202
+ className
203
+ ),
204
+ ...props
205
+ }
206
+ );
207
+ }
208
+ export {
209
+ Item,
210
+ ItemActions,
211
+ ItemContent,
212
+ ItemDescription,
213
+ ItemFooter,
214
+ ItemGroup,
215
+ ItemHeader,
216
+ ItemMedia,
217
+ ItemSeparator,
218
+ ItemTitle
219
+ };
220
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/components/separator.tsx","../../src/components/item.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","'use client';\n\nimport { cn } from '@mesob/ui/lib/utils';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport type * as React from 'react';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","import { Separator } from '@mesob/ui/components/separator';\nimport { 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\nfunction ItemGroup({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"item-group\"\n className={cn(\n 'group/item-group flex flex-col list-none p-0 m-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn('my-0', className)}\n {...props}\n />\n );\n}\n\nconst itemVariants = cva(\n 'group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border-border',\n muted: 'bg-muted/50',\n },\n size: {\n default: 'p-4 gap-4 ',\n sm: 'py-3 px-4 gap-2.5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Item({\n className,\n variant = 'default',\n size = 'default',\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> &\n VariantProps<typeof itemVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div';\n return (\n <Comp\n data-slot=\"item\"\n data-variant={variant}\n data-size={size}\n className={cn(itemVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nconst itemMediaVariants = cva(\n 'flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4\",\n image:\n 'size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction ItemMedia({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot=\"item-media\"\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"item-content\"\n className={cn(\n 'flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"item-title\"\n className={cn(\n 'flex w-fit items-center gap-2 text-sm leading-snug font-medium',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <p\n data-slot=\"item-description\"\n className={cn(\n 'text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"item-actions\"\n className={cn('flex items-center gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"item-header\"\n className={cn(\n 'flex basis-full items-center justify-between gap-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"item-footer\"\n className={cn(\n 'flex basis-full items-center justify-between gap-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n};\n"],"mappings":"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","names":["jsx"]}
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ type JiretLogoProps = {
4
+ width?: number;
5
+ height?: number;
6
+ textColor?: string;
7
+ iconBackgroundColor?: string;
8
+ iconColor?: string;
9
+ className?: string;
10
+ };
11
+ declare function JiretLogo({ width, height, textColor, iconBackgroundColor, iconColor, className, }: JiretLogoProps): react_jsx_runtime.JSX.Element;
12
+
13
+ export { JiretLogo };
@@ -0,0 +1,80 @@
1
+ // src/components/jiret-logo.tsx
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ function JiretLogo({
4
+ width,
5
+ height,
6
+ textColor = "#09f",
7
+ iconBackgroundColor = "#19e",
8
+ iconColor = "#fff",
9
+ className
10
+ }) {
11
+ return /* @__PURE__ */ jsxs(
12
+ "svg",
13
+ {
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ viewBox: "0 0 315.9 98.15",
16
+ width,
17
+ height,
18
+ "aria-label": "Jiret Logo",
19
+ role: "presentation",
20
+ className,
21
+ children: [
22
+ /* @__PURE__ */ jsx(
23
+ "path",
24
+ {
25
+ d: "M158.89,21.29v44q0,9.15-5.3,14.23t-14.18,5.07q-9,0-14.5-5.21t-5.52-14.54H132a10,10,0,0,0,1.93,6.28,6.49,6.49,0,0,0,5.34,2.25,6.4,6.4,0,0,0,5.21-2.16,9,9,0,0,0,1.79-5.92v-44Z",
26
+ fill: textColor
27
+ }
28
+ ),
29
+ /* @__PURE__ */ jsx(
30
+ "path",
31
+ {
32
+ d: "M174.38,26.18a7,7,0,0,1-2.2-5.25,7,7,0,0,1,2.2-5.25,8.28,8.28,0,0,1,11,0,7,7,0,0,1,2.2,5.25,7,7,0,0,1-2.2,5.25,8.28,8.28,0,0,1-11,0Zm11.71,8V84H173.52V34.22Z",
33
+ fill: textColor
34
+ }
35
+ ),
36
+ /* @__PURE__ */ jsx(
37
+ "path",
38
+ {
39
+ d: "M217.38,35.74a17.65,17.65,0,0,1,8.93-2.24V46.69H223q-5.93,0-8.94,2.79t-3,9.69V84H198.48V34.22h12.57v7.72A17.57,17.57,0,0,1,217.38,35.74Z",
40
+ fill: textColor
41
+ }
42
+ ),
43
+ /* @__PURE__ */ jsx(
44
+ "path",
45
+ {
46
+ d: "M280.62,62.85H244.26A12.38,12.38,0,0,0,248,71.29a11.62,11.62,0,0,0,8.17,3q7,0,10-6h13.55a22.59,22.59,0,0,1-8.26,11.8,24.05,24.05,0,0,1-15,4.63,25.87,25.87,0,0,1-12.88-3.19,22.44,22.44,0,0,1-8.89-9,27.7,27.7,0,0,1-3.18-13.47,28.09,28.09,0,0,1,3.14-13.55,21.92,21.92,0,0,1,8.79-9,28.27,28.27,0,0,1,25.72-.09,21.49,21.49,0,0,1,8.71,8.66A26.18,26.18,0,0,1,281,58,29.48,29.48,0,0,1,280.62,62.85ZM268,54.41a9.93,9.93,0,0,0-3.5-7.76,12.43,12.43,0,0,0-8.35-2.92,11.37,11.37,0,0,0-7.85,2.83,12.4,12.4,0,0,0-3.91,7.85Z",
47
+ fill: textColor
48
+ }
49
+ ),
50
+ /* @__PURE__ */ jsx(
51
+ "path",
52
+ {
53
+ d: "M304.77,44.54V68.6A4.73,4.73,0,0,0,306,72.23a6,6,0,0,0,4.09,1.13h5.83V84H308q-15.88,0-15.89-15.44v-24h-5.92V34.22h5.92V21.92h12.66v12.3H315.9V44.54Z",
54
+ fill: textColor
55
+ }
56
+ ),
57
+ /* @__PURE__ */ jsx(
58
+ "rect",
59
+ {
60
+ width: "98.15",
61
+ height: "98.15",
62
+ rx: "20.49",
63
+ fill: iconBackgroundColor
64
+ }
65
+ ),
66
+ /* @__PURE__ */ jsx(
67
+ "path",
68
+ {
69
+ d: "M59.84,54.58a15.77,15.77,0,0,0,6.7,3.6,30.16,30.16,0,0,0,8.56.48l-.36,13.89a46.14,46.14,0,0,1-6,.43,33.3,33.3,0,0,1-6.42-.56,27.77,27.77,0,0,1-6.23-1.93,23.13,23.13,0,0,1-5.67-3.64,17.61,17.61,0,0,1-4.87-6.67c-1-2.53-1.89-4.88-2.57-7a51.59,51.59,0,0,0-1.79-4.94,10.55,10.55,0,0,0-2.82-4,17.36,17.36,0,0,0-6.66-3.74A28.24,28.24,0,0,0,23,39.8l1-14.38a44.34,44.34,0,0,1,5.87-.25,34.47,34.47,0,0,1,6.2.72A30.31,30.31,0,0,1,42.28,28a24.51,24.51,0,0,1,5.85,3.8,18.32,18.32,0,0,1,4.92,6.54,70.94,70.94,0,0,1,2.59,6.9c.53,1.7,1.06,3.42,1.59,5.18A8.77,8.77,0,0,0,59.84,54.58Z",
70
+ fill: iconColor
71
+ }
72
+ )
73
+ ]
74
+ }
75
+ );
76
+ }
77
+ export {
78
+ JiretLogo
79
+ };
80
+ //# sourceMappingURL=jiret-logo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/jiret-logo.tsx"],"sourcesContent":["type JiretLogoProps = {\n width?: number;\n height?: number;\n textColor?: string;\n iconBackgroundColor?: string;\n iconColor?: string;\n className?: string;\n};\n\nexport function JiretLogo({\n width,\n height,\n textColor = '#09f',\n iconBackgroundColor = '#19e',\n iconColor = '#fff',\n className,\n}: JiretLogoProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 315.9 98.15\"\n width={width}\n height={height}\n aria-label=\"Jiret Logo\"\n role=\"presentation\"\n className={className}\n >\n <path\n d=\"M158.89,21.29v44q0,9.15-5.3,14.23t-14.18,5.07q-9,0-14.5-5.21t-5.52-14.54H132a10,10,0,0,0,1.93,6.28,6.49,6.49,0,0,0,5.34,2.25,6.4,6.4,0,0,0,5.21-2.16,9,9,0,0,0,1.79-5.92v-44Z\"\n fill={textColor}\n />\n <path\n d=\"M174.38,26.18a7,7,0,0,1-2.2-5.25,7,7,0,0,1,2.2-5.25,8.28,8.28,0,0,1,11,0,7,7,0,0,1,2.2,5.25,7,7,0,0,1-2.2,5.25,8.28,8.28,0,0,1-11,0Zm11.71,8V84H173.52V34.22Z\"\n fill={textColor}\n />\n <path\n d=\"M217.38,35.74a17.65,17.65,0,0,1,8.93-2.24V46.69H223q-5.93,0-8.94,2.79t-3,9.69V84H198.48V34.22h12.57v7.72A17.57,17.57,0,0,1,217.38,35.74Z\"\n fill={textColor}\n />\n <path\n d=\"M280.62,62.85H244.26A12.38,12.38,0,0,0,248,71.29a11.62,11.62,0,0,0,8.17,3q7,0,10-6h13.55a22.59,22.59,0,0,1-8.26,11.8,24.05,24.05,0,0,1-15,4.63,25.87,25.87,0,0,1-12.88-3.19,22.44,22.44,0,0,1-8.89-9,27.7,27.7,0,0,1-3.18-13.47,28.09,28.09,0,0,1,3.14-13.55,21.92,21.92,0,0,1,8.79-9,28.27,28.27,0,0,1,25.72-.09,21.49,21.49,0,0,1,8.71,8.66A26.18,26.18,0,0,1,281,58,29.48,29.48,0,0,1,280.62,62.85ZM268,54.41a9.93,9.93,0,0,0-3.5-7.76,12.43,12.43,0,0,0-8.35-2.92,11.37,11.37,0,0,0-7.85,2.83,12.4,12.4,0,0,0-3.91,7.85Z\"\n fill={textColor}\n />\n <path\n d=\"M304.77,44.54V68.6A4.73,4.73,0,0,0,306,72.23a6,6,0,0,0,4.09,1.13h5.83V84H308q-15.88,0-15.89-15.44v-24h-5.92V34.22h5.92V21.92h12.66v12.3H315.9V44.54Z\"\n fill={textColor}\n />\n <rect\n width=\"98.15\"\n height=\"98.15\"\n rx=\"20.49\"\n fill={iconBackgroundColor}\n />\n <path\n d=\"M59.84,54.58a15.77,15.77,0,0,0,6.7,3.6,30.16,30.16,0,0,0,8.56.48l-.36,13.89a46.14,46.14,0,0,1-6,.43,33.3,33.3,0,0,1-6.42-.56,27.77,27.77,0,0,1-6.23-1.93,23.13,23.13,0,0,1-5.67-3.64,17.61,17.61,0,0,1-4.87-6.67c-1-2.53-1.89-4.88-2.57-7a51.59,51.59,0,0,0-1.79-4.94,10.55,10.55,0,0,0-2.82-4,17.36,17.36,0,0,0-6.66-3.74A28.24,28.24,0,0,0,23,39.8l1-14.38a44.34,44.34,0,0,1,5.87-.25,34.47,34.47,0,0,1,6.2.72A30.31,30.31,0,0,1,42.28,28a24.51,24.51,0,0,1,5.85,3.8,18.32,18.32,0,0,1,4.92,6.54,70.94,70.94,0,0,1,2.59,6.9c.53,1.7,1.06,3.42,1.59,5.18A8.77,8.77,0,0,0,59.84,54.58Z\"\n fill={iconColor}\n />\n </svg>\n );\n}\n"],"mappings":";AAkBI,SASE,KATF;AATG,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,YAAY;AAAA,EACZ;AACF,GAAmB;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA,cAAW;AAAA,MACX,MAAK;AAAA,MACL;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,IAAG;AAAA,YACH,MAAM;AAAA;AAAA,QACR;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function Kbd({ className, ...props }: React.ComponentProps<'kbd'>): react_jsx_runtime.JSX.Element;
4
+ declare function KbdGroup({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
5
+
6
+ export { Kbd, KbdGroup };
@@ -0,0 +1,39 @@
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/kbd.tsx
9
+ import { jsx } from "react/jsx-runtime";
10
+ function Kbd({ className, ...props }) {
11
+ return /* @__PURE__ */ jsx(
12
+ "kbd",
13
+ {
14
+ "data-slot": "kbd",
15
+ className: cn(
16
+ "bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none",
17
+ "[&_svg:not([class*='size-'])]:size-3",
18
+ "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
19
+ className
20
+ ),
21
+ ...props
22
+ }
23
+ );
24
+ }
25
+ function KbdGroup({ className, ...props }) {
26
+ return /* @__PURE__ */ jsx(
27
+ "kbd",
28
+ {
29
+ "data-slot": "kbd-group",
30
+ className: cn("inline-flex items-center gap-1", className),
31
+ ...props
32
+ }
33
+ );
34
+ }
35
+ export {
36
+ Kbd,
37
+ KbdGroup
38
+ };
39
+ //# sourceMappingURL=kbd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/components/kbd.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';\n\nfunction Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n 'bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none',\n \"[&_svg:not([class*='size-'])]:size-3\",\n '[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction KbdGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <kbd\n data-slot=\"kbd-group\"\n className={cn('inline-flex items-center gap-1', className)}\n {...props}\n />\n );\n}\n\nexport { Kbd, KbdGroup };\n"],"mappings":";AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACDI;AAFJ,SAAS,IAAI,EAAE,WAAW,GAAG,MAAM,GAAgC;AACjE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,SAAS,EAAE,WAAW,GAAG,MAAM,GAAgC;AACtE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,kCAAkC,SAAS;AAAA,MACxD,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as LabelPrimitive from '@radix-ui/react-label';
3
+ import * as React from 'react';
4
+
5
+ declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime.JSX.Element;
6
+
7
+ export { Label };
@@ -0,0 +1,32 @@
1
+ "use client";
2
+
3
+ // src/lib/utils.ts
4
+ import { clsx } from "clsx";
5
+ import { twMerge } from "tailwind-merge";
6
+ function cn(...inputs) {
7
+ return twMerge(clsx(inputs));
8
+ }
9
+
10
+ // src/components/label.tsx
11
+ import * as LabelPrimitive from "@radix-ui/react-label";
12
+ import { jsx } from "react/jsx-runtime";
13
+ function Label({
14
+ className,
15
+ ...props
16
+ }) {
17
+ return /* @__PURE__ */ jsx(
18
+ LabelPrimitive.Root,
19
+ {
20
+ "data-slot": "label",
21
+ className: cn(
22
+ "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",
23
+ className
24
+ ),
25
+ ...props
26
+ }
27
+ );
28
+ }
29
+ export {
30
+ Label
31
+ };
32
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/components/label.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","'use client';\n\nimport { cn } from '@mesob/ui/lib/utils';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport type * as React from 'react';\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n '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',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":";;;AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACFA,YAAY,oBAAoB;AAQ5B;AALJ,SAAS,MAAM;AAAA,EACb;AAAA,EACA,GAAG;AACL,GAAqD;AACnD,SACE;AAAA,IAAgB;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,29 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as MenubarPrimitive from '@radix-ui/react-menubar';
3
+ import * as React from 'react';
4
+
5
+ declare function Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime.JSX.Element;
6
+ declare function MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>): react_jsx_runtime.JSX.Element;
7
+ declare function MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>): react_jsx_runtime.JSX.Element;
8
+ declare function MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>): react_jsx_runtime.JSX.Element;
9
+ declare function MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
10
+ declare function MenubarTrigger({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
11
+ declare function MenubarContent({ className, align, alignOffset, sideOffset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Content>): react_jsx_runtime.JSX.Element;
12
+ declare function MenubarItem({ className, inset, variant, ...props }: React.ComponentProps<typeof MenubarPrimitive.Item> & {
13
+ inset?: boolean;
14
+ variant?: 'default' | 'destructive';
15
+ }): react_jsx_runtime.JSX.Element;
16
+ declare function MenubarCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
17
+ declare function MenubarRadioItem({ className, children, ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
18
+ declare function MenubarLabel({ className, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Label> & {
19
+ inset?: boolean;
20
+ }): react_jsx_runtime.JSX.Element;
21
+ declare function MenubarSeparator({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Separator>): react_jsx_runtime.JSX.Element;
22
+ declare function MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
23
+ declare function MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>): react_jsx_runtime.JSX.Element;
24
+ declare function MenubarSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
25
+ inset?: boolean;
26
+ }): react_jsx_runtime.JSX.Element;
27
+ declare function MenubarSubContent({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
28
+
29
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };