@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.
Files changed (236) hide show
  1. package/dist/components.d.ts +1112 -0
  2. package/dist/components.js +9460 -0
  3. package/dist/components.js.map +1 -0
  4. package/dist/hooks.d.ts +6 -0
  5. package/dist/hooks.js +85 -0
  6. package/dist/hooks.js.map +1 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +53 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/locale.d.ts +37 -0
  11. package/dist/lib/locale.js +55 -0
  12. package/dist/lib/locale.js.map +1 -0
  13. package/dist/providers.d.ts +20 -0
  14. package/dist/providers.js +61 -0
  15. package/dist/providers.js.map +1 -0
  16. package/dist/use-entity-params-nqD69tdX.d.ts +82 -0
  17. package/package.json +34 -27
  18. package/dist/components/accordion.d.ts +0 -10
  19. package/dist/components/accordion.js +0 -74
  20. package/dist/components/accordion.js.map +0 -1
  21. package/dist/components/alert-dialog.d.ts +0 -17
  22. package/dist/components/alert-dialog.js +0 -187
  23. package/dist/components/alert-dialog.js.map +0 -1
  24. package/dist/components/alert.d.ts +0 -13
  25. package/dist/components/alert.js +0 -74
  26. package/dist/components/alert.js.map +0 -1
  27. package/dist/components/animated-tabs.d.ts +0 -26
  28. package/dist/components/animated-tabs.js +0 -290
  29. package/dist/components/animated-tabs.js.map +0 -1
  30. package/dist/components/app-breadcrumbs-context.d.ts +0 -19
  31. package/dist/components/app-breadcrumbs-context.js +0 -19
  32. package/dist/components/app-breadcrumbs-context.js.map +0 -1
  33. package/dist/components/app-breadcrumbs.d.ts +0 -25
  34. package/dist/components/app-breadcrumbs.js +0 -175
  35. package/dist/components/app-breadcrumbs.js.map +0 -1
  36. package/dist/components/app-header-actions.d.ts +0 -39
  37. package/dist/components/app-header-actions.js +0 -644
  38. package/dist/components/app-header-actions.js.map +0 -1
  39. package/dist/components/app-sidebar.d.ts +0 -24
  40. package/dist/components/app-sidebar.js +0 -667
  41. package/dist/components/app-sidebar.js.map +0 -1
  42. package/dist/components/aspect-ratio.d.ts +0 -6
  43. package/dist/components/aspect-ratio.js +0 -14
  44. package/dist/components/aspect-ratio.js.map +0 -1
  45. package/dist/components/avatar.d.ts +0 -9
  46. package/dist/components/avatar.js +0 -63
  47. package/dist/components/avatar.js.map +0 -1
  48. package/dist/components/badge.d.ts +0 -13
  49. package/dist/components/badge.js +0 -48
  50. package/dist/components/badge.js.map +0 -1
  51. package/dist/components/breadcrumb.d.ts +0 -14
  52. package/dist/components/breadcrumb.js +0 -110
  53. package/dist/components/breadcrumb.js.map +0 -1
  54. package/dist/components/button-group.d.ts +0 -17
  55. package/dist/components/button-group.js +0 -106
  56. package/dist/components/button-group.js.map +0 -1
  57. package/dist/components/button.d.ts +0 -17
  58. package/dist/components/button.js +0 -68
  59. package/dist/components/button.js.map +0 -1
  60. package/dist/components/calendar.d.ts +0 -13
  61. package/dist/components/calendar.js +0 -262
  62. package/dist/components/calendar.js.map +0 -1
  63. package/dist/components/card.d.ts +0 -12
  64. package/dist/components/card.js +0 -98
  65. package/dist/components/card.js.map +0 -1
  66. package/dist/components/carousel.d.ts +0 -24
  67. package/dist/components/carousel.js +0 -268
  68. package/dist/components/carousel.js.map +0 -1
  69. package/dist/components/chart.d.ts +0 -43
  70. package/dist/components/chart.js +0 -271
  71. package/dist/components/chart.js.map +0 -1
  72. package/dist/components/checkbox.d.ts +0 -7
  73. package/dist/components/checkbox.js +0 -41
  74. package/dist/components/checkbox.js.map +0 -1
  75. package/dist/components/collapsible.d.ts +0 -8
  76. package/dist/components/collapsible.js +0 -38
  77. package/dist/components/collapsible.js.map +0 -1
  78. package/dist/components/command.d.ts +0 -22
  79. package/dist/components/command.js +0 -281
  80. package/dist/components/command.js.map +0 -1
  81. package/dist/components/context-menu.d.ts +0 -28
  82. package/dist/components/context-menu.js +0 -233
  83. package/dist/components/context-menu.js.map +0 -1
  84. package/dist/components/data-table/index.d.ts +0 -53
  85. package/dist/components/data-table/index.js +0 -823
  86. package/dist/components/data-table/index.js.map +0 -1
  87. package/dist/components/dialog.d.ts +0 -18
  88. package/dist/components/dialog.js +0 -146
  89. package/dist/components/dialog.js.map +0 -1
  90. package/dist/components/drawer.d.ts +0 -16
  91. package/dist/components/drawer.js +0 -138
  92. package/dist/components/drawer.js.map +0 -1
  93. package/dist/components/dropdown-menu.d.ts +0 -28
  94. package/dist/components/dropdown-menu.js +0 -241
  95. package/dist/components/dropdown-menu.js.map +0 -1
  96. package/dist/components/empty.d.ts +0 -15
  97. package/dist/components/empty.js +0 -110
  98. package/dist/components/empty.js.map +0 -1
  99. package/dist/components/entity/index.d.ts +0 -236
  100. package/dist/components/entity/index.js +0 -1796
  101. package/dist/components/entity/index.js.map +0 -1
  102. package/dist/components/field.d.ts +0 -30
  103. package/dist/components/field.js +0 -279
  104. package/dist/components/field.js.map +0 -1
  105. package/dist/components/form.d.ts +0 -28
  106. package/dist/components/form.js +0 -150
  107. package/dist/components/form.js.map +0 -1
  108. package/dist/components/hover-card.d.ts +0 -9
  109. package/dist/components/hover-card.js +0 -48
  110. package/dist/components/hover-card.js.map +0 -1
  111. package/dist/components/input-group.d.ts +0 -20
  112. package/dist/components/input-group.js +0 -265
  113. package/dist/components/input-group.js.map +0 -1
  114. package/dist/components/input-otp.d.ts +0 -14
  115. package/dist/components/input-otp.js +0 -76
  116. package/dist/components/input-otp.js.map +0 -1
  117. package/dist/components/input.d.ts +0 -6
  118. package/dist/components/input.js +0 -29
  119. package/dist/components/input.js.map +0 -1
  120. package/dist/components/item.d.ts +0 -28
  121. package/dist/components/item.js +0 -220
  122. package/dist/components/item.js.map +0 -1
  123. package/dist/components/kbd.d.ts +0 -6
  124. package/dist/components/kbd.js +0 -39
  125. package/dist/components/kbd.js.map +0 -1
  126. package/dist/components/label.d.ts +0 -7
  127. package/dist/components/label.js +0 -32
  128. package/dist/components/label.js.map +0 -1
  129. package/dist/components/link.d.ts +0 -12
  130. package/dist/components/link.js +0 -51
  131. package/dist/components/link.js.map +0 -1
  132. package/dist/components/menubar.d.ts +0 -29
  133. package/dist/components/menubar.js +0 -261
  134. package/dist/components/menubar.js.map +0 -1
  135. package/dist/components/mesob-context.d.ts +0 -34
  136. package/dist/components/mesob-context.js +0 -53
  137. package/dist/components/mesob-context.js.map +0 -1
  138. package/dist/components/mesob-logo.d.ts +0 -13
  139. package/dist/components/mesob-logo.js +0 -80
  140. package/dist/components/mesob-logo.js.map +0 -1
  141. package/dist/components/navigation-menu.d.ts +0 -18
  142. package/dist/components/navigation-menu.js +0 -178
  143. package/dist/components/navigation-menu.js.map +0 -1
  144. package/dist/components/page/index.d.ts +0 -46
  145. package/dist/components/page/index.js +0 -205
  146. package/dist/components/page/index.js.map +0 -1
  147. package/dist/components/pagination.d.ts +0 -18
  148. package/dist/components/pagination.js +0 -160
  149. package/dist/components/pagination.js.map +0 -1
  150. package/dist/components/popover.d.ts +0 -10
  151. package/dist/components/popover.js +0 -54
  152. package/dist/components/popover.js.map +0 -1
  153. package/dist/components/powered-by.d.ts +0 -8
  154. package/dist/components/powered-by.js +0 -114
  155. package/dist/components/powered-by.js.map +0 -1
  156. package/dist/components/progress.d.ts +0 -7
  157. package/dist/components/progress.js +0 -41
  158. package/dist/components/progress.js.map +0 -1
  159. package/dist/components/radio-group.d.ts +0 -8
  160. package/dist/components/radio-group.js +0 -55
  161. package/dist/components/radio-group.js.map +0 -1
  162. package/dist/components/resizable.d.ts +0 -11
  163. package/dist/components/resizable.js +0 -58
  164. package/dist/components/resizable.js.map +0 -1
  165. package/dist/components/scroll-area.d.ts +0 -8
  166. package/dist/components/scroll-area.js +0 -70
  167. package/dist/components/scroll-area.js.map +0 -1
  168. package/dist/components/section/index.d.ts +0 -14
  169. package/dist/components/section/index.js +0 -147
  170. package/dist/components/section/index.js.map +0 -1
  171. package/dist/components/select.d.ts +0 -18
  172. package/dist/components/select.js +0 -181
  173. package/dist/components/select.js.map +0 -1
  174. package/dist/components/separator.d.ts +0 -7
  175. package/dist/components/separator.js +0 -36
  176. package/dist/components/separator.js.map +0 -1
  177. package/dist/components/sheet.d.ts +0 -16
  178. package/dist/components/sheet.js +0 -136
  179. package/dist/components/sheet.js.map +0 -1
  180. package/dist/components/shell.d.ts +0 -13
  181. package/dist/components/shell.js +0 -548
  182. package/dist/components/shell.js.map +0 -1
  183. package/dist/components/sidebar-context.d.ts +0 -19
  184. package/dist/components/sidebar-context.js +0 -17
  185. package/dist/components/sidebar-context.js.map +0 -1
  186. package/dist/components/sidebar.d.ts +0 -66
  187. package/dist/components/sidebar.js +0 -943
  188. package/dist/components/sidebar.js.map +0 -1
  189. package/dist/components/skeleton.d.ts +0 -5
  190. package/dist/components/skeleton.js +0 -23
  191. package/dist/components/skeleton.js.map +0 -1
  192. package/dist/components/slider.d.ts +0 -7
  193. package/dist/components/slider.js +0 -76
  194. package/dist/components/slider.js.map +0 -1
  195. package/dist/components/sonner.d.ts +0 -7
  196. package/dist/components/sonner.js +0 -43
  197. package/dist/components/sonner.js.map +0 -1
  198. package/dist/components/spinner.d.ts +0 -6
  199. package/dist/components/spinner.js +0 -28
  200. package/dist/components/spinner.js.map +0 -1
  201. package/dist/components/spotlight-search.d.ts +0 -25
  202. package/dist/components/spotlight-search.js +0 -395
  203. package/dist/components/spotlight-search.js.map +0 -1
  204. package/dist/components/switch.d.ts +0 -7
  205. package/dist/components/switch.js +0 -41
  206. package/dist/components/switch.js.map +0 -1
  207. package/dist/components/table.d.ts +0 -13
  208. package/dist/components/table.js +0 -124
  209. package/dist/components/table.js.map +0 -1
  210. package/dist/components/tabs.d.ts +0 -10
  211. package/dist/components/tabs.js +0 -77
  212. package/dist/components/tabs.js.map +0 -1
  213. package/dist/components/textarea.d.ts +0 -6
  214. package/dist/components/textarea.js +0 -26
  215. package/dist/components/textarea.js.map +0 -1
  216. package/dist/components/theme-toggle.d.ts +0 -8
  217. package/dist/components/theme-toggle.js +0 -94
  218. package/dist/components/theme-toggle.js.map +0 -1
  219. package/dist/components/toggle-group.d.ts +0 -14
  220. package/dist/components/toggle-group.js +0 -102
  221. package/dist/components/toggle-group.js.map +0 -1
  222. package/dist/components/toggle.d.ts +0 -13
  223. package/dist/components/toggle.js +0 -53
  224. package/dist/components/toggle.js.map +0 -1
  225. package/dist/components/tooltip.d.ts +0 -10
  226. package/dist/components/tooltip.js +0 -66
  227. package/dist/components/tooltip.js.map +0 -1
  228. package/dist/hooks/use-mobile.d.ts +0 -3
  229. package/dist/hooks/use-mobile.js +0 -22
  230. package/dist/hooks/use-mobile.js.map +0 -1
  231. package/dist/hooks/use-router.d.ts +0 -7
  232. package/dist/hooks/use-router.js +0 -36
  233. package/dist/hooks/use-router.js.map +0 -1
  234. package/dist/hooks/use-translation.d.ts +0 -5
  235. package/dist/hooks/use-translation.js +0 -42
  236. package/dist/hooks/use-translation.js.map +0 -1
@@ -1,76 +0,0 @@
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/input-otp.tsx
11
- import { IconMinus } from "@tabler/icons-react";
12
- import { OTPInput, OTPInputContext } from "input-otp";
13
- import * as React from "react";
14
- import { jsx, jsxs } from "react/jsx-runtime";
15
- function InputOTP({
16
- className,
17
- containerClassName,
18
- ...props
19
- }) {
20
- return /* @__PURE__ */ jsx(
21
- OTPInput,
22
- {
23
- "data-slot": "input-otp",
24
- containerClassName: cn(
25
- "flex items-center gap-2 has-disabled:opacity-50",
26
- containerClassName
27
- ),
28
- className: cn("disabled:cursor-not-allowed", className),
29
- ...props
30
- }
31
- );
32
- }
33
- function InputOTPGroup({ className, ...props }) {
34
- return /* @__PURE__ */ jsx(
35
- "div",
36
- {
37
- "data-slot": "input-otp-group",
38
- className: cn("flex items-center", className),
39
- ...props
40
- }
41
- );
42
- }
43
- function InputOTPSlot({
44
- index,
45
- className,
46
- ...props
47
- }) {
48
- const inputOTPContext = React.useContext(OTPInputContext);
49
- const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
50
- return /* @__PURE__ */ jsxs(
51
- "div",
52
- {
53
- "data-slot": "input-otp-slot",
54
- "data-active": isActive,
55
- className: cn(
56
- "data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]",
57
- className
58
- ),
59
- ...props,
60
- children: [
61
- char,
62
- hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
63
- ]
64
- }
65
- );
66
- }
67
- function InputOTPSeparator({ ...props }) {
68
- return /* @__PURE__ */ jsx("div", { "data-slot": "input-otp-separator", "aria-hidden": "true", ...props, children: /* @__PURE__ */ jsx(IconMinus, {}) });
69
- }
70
- export {
71
- InputOTP,
72
- InputOTPGroup,
73
- InputOTPSeparator,
74
- InputOTPSlot
75
- };
76
- //# sourceMappingURL=input-otp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/utils.ts","../../src/components/input-otp.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 { IconMinus } from '@tabler/icons-react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport * as React from 'react';\n\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof OTPInput> & {\n containerClassName?: string;\n}) {\n return (\n <OTPInput\n data-slot=\"input-otp\"\n containerClassName={cn(\n 'flex items-center gap-2 has-disabled:opacity-50',\n containerClassName,\n )}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n );\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn('flex items-center', className)}\n {...props}\n />\n );\n}\n\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}: React.ComponentProps<'div'> & {\n index: number;\n}) {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n 'data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"input-otp-separator\" aria-hidden=\"true\" {...props}>\n <IconMinus />\n </div>\n );\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACFA,SAAS,iBAAiB;AAC1B,SAAS,UAAU,uBAAuB;AAC1C,YAAY,WAAW;AAUnB,cAiCA,YAjCA;AARJ,SAAS,SAAS;AAAA,EAChB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,oBAAoB;AAAA,QAClB;AAAA,QACA;AAAA,MACF;AAAA,MACA,WAAW,GAAG,+BAA+B,SAAS;AAAA,MACrD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,qBAAqB,SAAS;AAAA,MAC3C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,QAAM,kBAAwB,iBAAW,eAAe;AACxD,QAAM,EAAE,MAAM,cAAc,SAAS,IAAI,iBAAiB,MAAM,KAAK,KAAK,CAAC;AAE3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAa;AAAA,MACb,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,gBACC,oBAAC,SAAI,WAAU,yEACb,8BAAC,SAAI,WAAU,4DAA2D,GAC5E;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,SAAS,kBAAkB,EAAE,GAAG,MAAM,GAAgC;AACpE,SACE,oBAAC,SAAI,aAAU,uBAAsB,eAAY,QAAQ,GAAG,OAC1D,8BAAC,aAAU,GACb;AAEJ;","names":[]}
@@ -1,6 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as React from 'react';
3
-
4
- declare function Input({ className, type, ...props }: React.ComponentProps<'input'>): react_jsx_runtime.JSX.Element;
5
-
6
- export { Input };
@@ -1,29 +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/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
@@ -1 +0,0 @@
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":[]}
@@ -1,28 +0,0 @@
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 };
@@ -1,220 +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/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
@@ -1 +0,0 @@
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"]}
@@ -1,6 +0,0 @@
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 };
@@ -1,39 +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/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
@@ -1 +0,0 @@
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":[]}
@@ -1,7 +0,0 @@
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 };
@@ -1,32 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,12 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode, ComponentProps } from 'react';
3
-
4
- type LinkProps = {
5
- href: string;
6
- children: ReactNode;
7
- className?: string;
8
- onClick?: () => void;
9
- };
10
- declare function Link({ href, children, className, onClick, ...props }: LinkProps & ComponentProps<'a'>): react_jsx_runtime.JSX.Element;
11
-
12
- export { Link, type LinkProps };
@@ -1,51 +0,0 @@
1
- "use client";
2
-
3
- // src/lib/utils.ts
4
- import { clsx } from "clsx";
5
- import { twMerge } from "tailwind-merge";
6
-
7
- // src/components/tooltip.tsx
8
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
9
- import { jsx, jsxs } from "react/jsx-runtime";
10
-
11
- // src/components/mesob-context.tsx
12
- import {
13
- createContext,
14
- useContext,
15
- useMemo
16
- } from "react";
17
- import { jsx as jsx2 } from "react/jsx-runtime";
18
- var MesobContext = createContext(null);
19
- function useMesob() {
20
- return useContext(MesobContext);
21
- }
22
-
23
- // src/components/link.tsx
24
- import { jsx as jsx3 } from "react/jsx-runtime";
25
- function Link({
26
- href,
27
- children,
28
- className,
29
- onClick,
30
- ...props
31
- }) {
32
- const mesob = useMesob();
33
- const LinkComponent = mesob?.linkComponent ?? "a";
34
- if (LinkComponent === "a") {
35
- return /* @__PURE__ */ jsx3("a", { href, className, onClick, ...props, children });
36
- }
37
- return /* @__PURE__ */ jsx3(
38
- LinkComponent,
39
- {
40
- href,
41
- className,
42
- onClick,
43
- ...props,
44
- children
45
- }
46
- );
47
- }
48
- export {
49
- Link
50
- };
51
- //# sourceMappingURL=link.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/utils.ts","../../src/components/tooltip.tsx","../../src/components/mesob-context.tsx","../../src/components/link.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 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","'use client';\n\nimport { TooltipProvider } from '@mesob/ui/components/tooltip';\nimport {\n type ComponentType,\n createContext,\n type ReactNode,\n useContext,\n useMemo,\n} from 'react';\n\nexport type MesobLinkProps = {\n href: string;\n children: ReactNode;\n className?: string;\n onClick?: () => void;\n};\n\nexport type Router = {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n};\n\nexport type MesobContextValue = {\n linkComponent?: ComponentType<MesobLinkProps>;\n t?: (key: string, params?: Record<string, string | number>) => string;\n router?: Router;\n};\n\nconst MesobContext = createContext<MesobContextValue | null>(null);\n\nexport type MesobProviderProps = {\n children: ReactNode;\n linkComponent?: ComponentType<MesobLinkProps>;\n /** Hook that returns the app's t function (e.g. from next-intl useTranslations()). */\n useTranslation?: () => (\n key: string,\n params?: Record<string, string | number>,\n ) => string;\n /** Hook that returns the app's router (e.g. from next-intl useRouter()). */\n useRouter?: () => Router;\n};\n\nexport function MesobProvider({\n children,\n linkComponent,\n useTranslation,\n useRouter,\n}: MesobProviderProps) {\n const t = useTranslation?.();\n const router = useRouter?.();\n const value = useMemo<MesobContextValue>(\n () => ({ linkComponent, t: t ?? undefined, router: router ?? undefined }),\n [linkComponent, t, router],\n );\n return (\n <MesobContext.Provider value={value}>\n <TooltipProvider delayDuration={0}>{children}</TooltipProvider>\n </MesobContext.Provider>\n );\n}\n\nexport function useMesob(): MesobContextValue | null {\n return useContext(MesobContext);\n}\n","'use client';\n\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useMesob } from './mesob-context';\n\nexport type LinkProps = {\n href: string;\n children: ReactNode;\n className?: string;\n onClick?: () => void;\n};\n\nexport function Link({\n href,\n children,\n className,\n onClick,\n ...props\n}: LinkProps & ComponentProps<'a'>) {\n const mesob = useMesob();\n const LinkComponent = mesob?.linkComponent ?? 'a';\n\n if (LinkComponent === 'a') {\n return (\n <a href={href} className={className} onClick={onClick} {...props}>\n {children}\n </a>\n );\n }\n\n return (\n <LinkComponent\n href={href}\n className={className}\n onClick={onClick}\n {...props}\n >\n {children}\n </LinkComponent>\n );\n}\n"],"mappings":";;;AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;;;ACExB,YAAY,sBAAsB;AAQ9B,cAiCE,YAjCF;;;ACRJ;AAAA,EAEE;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAoDD,gBAAAA,YAAA;AA5BN,IAAM,eAAe,cAAwC,IAAI;AAiC1D,SAAS,WAAqC;AACnD,SAAO,WAAW,YAAY;AAChC;;;AC5CM,gBAAAC,YAAA;AAZC,SAAS,KAAK;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,QAAQ,SAAS;AACvB,QAAM,gBAAgB,OAAO,iBAAiB;AAE9C,MAAI,kBAAkB,KAAK;AACzB,WACE,gBAAAA,KAAC,OAAE,MAAY,WAAsB,SAAmB,GAAG,OACxD,UACH;AAAA,EAEJ;AAEA,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":["jsx","jsx"]}
@@ -1,29 +0,0 @@
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 };