@mesob/ui 0.2.3 → 0.2.4

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 (230) hide show
  1. package/dist/components.d.ts +992 -0
  2. package/dist/components.js +8030 -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/providers.d.ts +20 -0
  8. package/dist/providers.js +61 -0
  9. package/dist/providers.js.map +1 -0
  10. package/dist/use-entity-params-nqD69tdX.d.ts +82 -0
  11. package/package.json +14 -27
  12. package/dist/components/accordion.d.ts +0 -10
  13. package/dist/components/accordion.js +0 -74
  14. package/dist/components/accordion.js.map +0 -1
  15. package/dist/components/alert-dialog.d.ts +0 -17
  16. package/dist/components/alert-dialog.js +0 -187
  17. package/dist/components/alert-dialog.js.map +0 -1
  18. package/dist/components/alert.d.ts +0 -13
  19. package/dist/components/alert.js +0 -74
  20. package/dist/components/alert.js.map +0 -1
  21. package/dist/components/animated-tabs.d.ts +0 -26
  22. package/dist/components/animated-tabs.js +0 -290
  23. package/dist/components/animated-tabs.js.map +0 -1
  24. package/dist/components/app-breadcrumbs-context.d.ts +0 -19
  25. package/dist/components/app-breadcrumbs-context.js +0 -19
  26. package/dist/components/app-breadcrumbs-context.js.map +0 -1
  27. package/dist/components/app-breadcrumbs.d.ts +0 -25
  28. package/dist/components/app-breadcrumbs.js +0 -175
  29. package/dist/components/app-breadcrumbs.js.map +0 -1
  30. package/dist/components/app-header-actions.d.ts +0 -39
  31. package/dist/components/app-header-actions.js +0 -644
  32. package/dist/components/app-header-actions.js.map +0 -1
  33. package/dist/components/app-sidebar.d.ts +0 -24
  34. package/dist/components/app-sidebar.js +0 -667
  35. package/dist/components/app-sidebar.js.map +0 -1
  36. package/dist/components/aspect-ratio.d.ts +0 -6
  37. package/dist/components/aspect-ratio.js +0 -14
  38. package/dist/components/aspect-ratio.js.map +0 -1
  39. package/dist/components/avatar.d.ts +0 -9
  40. package/dist/components/avatar.js +0 -63
  41. package/dist/components/avatar.js.map +0 -1
  42. package/dist/components/badge.d.ts +0 -13
  43. package/dist/components/badge.js +0 -48
  44. package/dist/components/badge.js.map +0 -1
  45. package/dist/components/breadcrumb.d.ts +0 -14
  46. package/dist/components/breadcrumb.js +0 -110
  47. package/dist/components/breadcrumb.js.map +0 -1
  48. package/dist/components/button-group.d.ts +0 -17
  49. package/dist/components/button-group.js +0 -106
  50. package/dist/components/button-group.js.map +0 -1
  51. package/dist/components/button.d.ts +0 -17
  52. package/dist/components/button.js +0 -68
  53. package/dist/components/button.js.map +0 -1
  54. package/dist/components/calendar.d.ts +0 -13
  55. package/dist/components/calendar.js +0 -262
  56. package/dist/components/calendar.js.map +0 -1
  57. package/dist/components/card.d.ts +0 -12
  58. package/dist/components/card.js +0 -98
  59. package/dist/components/card.js.map +0 -1
  60. package/dist/components/carousel.d.ts +0 -24
  61. package/dist/components/carousel.js +0 -268
  62. package/dist/components/carousel.js.map +0 -1
  63. package/dist/components/chart.d.ts +0 -43
  64. package/dist/components/chart.js +0 -271
  65. package/dist/components/chart.js.map +0 -1
  66. package/dist/components/checkbox.d.ts +0 -7
  67. package/dist/components/checkbox.js +0 -41
  68. package/dist/components/checkbox.js.map +0 -1
  69. package/dist/components/collapsible.d.ts +0 -8
  70. package/dist/components/collapsible.js +0 -38
  71. package/dist/components/collapsible.js.map +0 -1
  72. package/dist/components/command.d.ts +0 -22
  73. package/dist/components/command.js +0 -281
  74. package/dist/components/command.js.map +0 -1
  75. package/dist/components/context-menu.d.ts +0 -28
  76. package/dist/components/context-menu.js +0 -233
  77. package/dist/components/context-menu.js.map +0 -1
  78. package/dist/components/data-table/index.d.ts +0 -53
  79. package/dist/components/data-table/index.js +0 -823
  80. package/dist/components/data-table/index.js.map +0 -1
  81. package/dist/components/dialog.d.ts +0 -18
  82. package/dist/components/dialog.js +0 -146
  83. package/dist/components/dialog.js.map +0 -1
  84. package/dist/components/drawer.d.ts +0 -16
  85. package/dist/components/drawer.js +0 -138
  86. package/dist/components/drawer.js.map +0 -1
  87. package/dist/components/dropdown-menu.d.ts +0 -28
  88. package/dist/components/dropdown-menu.js +0 -241
  89. package/dist/components/dropdown-menu.js.map +0 -1
  90. package/dist/components/empty.d.ts +0 -15
  91. package/dist/components/empty.js +0 -110
  92. package/dist/components/empty.js.map +0 -1
  93. package/dist/components/entity/index.d.ts +0 -236
  94. package/dist/components/entity/index.js +0 -1796
  95. package/dist/components/entity/index.js.map +0 -1
  96. package/dist/components/field.d.ts +0 -30
  97. package/dist/components/field.js +0 -279
  98. package/dist/components/field.js.map +0 -1
  99. package/dist/components/form.d.ts +0 -28
  100. package/dist/components/form.js +0 -150
  101. package/dist/components/form.js.map +0 -1
  102. package/dist/components/hover-card.d.ts +0 -9
  103. package/dist/components/hover-card.js +0 -48
  104. package/dist/components/hover-card.js.map +0 -1
  105. package/dist/components/input-group.d.ts +0 -20
  106. package/dist/components/input-group.js +0 -265
  107. package/dist/components/input-group.js.map +0 -1
  108. package/dist/components/input-otp.d.ts +0 -14
  109. package/dist/components/input-otp.js +0 -76
  110. package/dist/components/input-otp.js.map +0 -1
  111. package/dist/components/input.d.ts +0 -6
  112. package/dist/components/input.js +0 -29
  113. package/dist/components/input.js.map +0 -1
  114. package/dist/components/item.d.ts +0 -28
  115. package/dist/components/item.js +0 -220
  116. package/dist/components/item.js.map +0 -1
  117. package/dist/components/kbd.d.ts +0 -6
  118. package/dist/components/kbd.js +0 -39
  119. package/dist/components/kbd.js.map +0 -1
  120. package/dist/components/label.d.ts +0 -7
  121. package/dist/components/label.js +0 -32
  122. package/dist/components/label.js.map +0 -1
  123. package/dist/components/link.d.ts +0 -12
  124. package/dist/components/link.js +0 -51
  125. package/dist/components/link.js.map +0 -1
  126. package/dist/components/menubar.d.ts +0 -29
  127. package/dist/components/menubar.js +0 -261
  128. package/dist/components/menubar.js.map +0 -1
  129. package/dist/components/mesob-context.d.ts +0 -34
  130. package/dist/components/mesob-context.js +0 -53
  131. package/dist/components/mesob-context.js.map +0 -1
  132. package/dist/components/mesob-logo.d.ts +0 -13
  133. package/dist/components/mesob-logo.js +0 -80
  134. package/dist/components/mesob-logo.js.map +0 -1
  135. package/dist/components/navigation-menu.d.ts +0 -18
  136. package/dist/components/navigation-menu.js +0 -178
  137. package/dist/components/navigation-menu.js.map +0 -1
  138. package/dist/components/page/index.d.ts +0 -46
  139. package/dist/components/page/index.js +0 -205
  140. package/dist/components/page/index.js.map +0 -1
  141. package/dist/components/pagination.d.ts +0 -18
  142. package/dist/components/pagination.js +0 -160
  143. package/dist/components/pagination.js.map +0 -1
  144. package/dist/components/popover.d.ts +0 -10
  145. package/dist/components/popover.js +0 -54
  146. package/dist/components/popover.js.map +0 -1
  147. package/dist/components/powered-by.d.ts +0 -8
  148. package/dist/components/powered-by.js +0 -114
  149. package/dist/components/powered-by.js.map +0 -1
  150. package/dist/components/progress.d.ts +0 -7
  151. package/dist/components/progress.js +0 -41
  152. package/dist/components/progress.js.map +0 -1
  153. package/dist/components/radio-group.d.ts +0 -8
  154. package/dist/components/radio-group.js +0 -55
  155. package/dist/components/radio-group.js.map +0 -1
  156. package/dist/components/resizable.d.ts +0 -11
  157. package/dist/components/resizable.js +0 -58
  158. package/dist/components/resizable.js.map +0 -1
  159. package/dist/components/scroll-area.d.ts +0 -8
  160. package/dist/components/scroll-area.js +0 -70
  161. package/dist/components/scroll-area.js.map +0 -1
  162. package/dist/components/section/index.d.ts +0 -14
  163. package/dist/components/section/index.js +0 -147
  164. package/dist/components/section/index.js.map +0 -1
  165. package/dist/components/select.d.ts +0 -18
  166. package/dist/components/select.js +0 -181
  167. package/dist/components/select.js.map +0 -1
  168. package/dist/components/separator.d.ts +0 -7
  169. package/dist/components/separator.js +0 -36
  170. package/dist/components/separator.js.map +0 -1
  171. package/dist/components/sheet.d.ts +0 -16
  172. package/dist/components/sheet.js +0 -136
  173. package/dist/components/sheet.js.map +0 -1
  174. package/dist/components/shell.d.ts +0 -13
  175. package/dist/components/shell.js +0 -548
  176. package/dist/components/shell.js.map +0 -1
  177. package/dist/components/sidebar-context.d.ts +0 -19
  178. package/dist/components/sidebar-context.js +0 -17
  179. package/dist/components/sidebar-context.js.map +0 -1
  180. package/dist/components/sidebar.d.ts +0 -66
  181. package/dist/components/sidebar.js +0 -943
  182. package/dist/components/sidebar.js.map +0 -1
  183. package/dist/components/skeleton.d.ts +0 -5
  184. package/dist/components/skeleton.js +0 -23
  185. package/dist/components/skeleton.js.map +0 -1
  186. package/dist/components/slider.d.ts +0 -7
  187. package/dist/components/slider.js +0 -76
  188. package/dist/components/slider.js.map +0 -1
  189. package/dist/components/sonner.d.ts +0 -7
  190. package/dist/components/sonner.js +0 -43
  191. package/dist/components/sonner.js.map +0 -1
  192. package/dist/components/spinner.d.ts +0 -6
  193. package/dist/components/spinner.js +0 -28
  194. package/dist/components/spinner.js.map +0 -1
  195. package/dist/components/spotlight-search.d.ts +0 -25
  196. package/dist/components/spotlight-search.js +0 -395
  197. package/dist/components/spotlight-search.js.map +0 -1
  198. package/dist/components/switch.d.ts +0 -7
  199. package/dist/components/switch.js +0 -41
  200. package/dist/components/switch.js.map +0 -1
  201. package/dist/components/table.d.ts +0 -13
  202. package/dist/components/table.js +0 -124
  203. package/dist/components/table.js.map +0 -1
  204. package/dist/components/tabs.d.ts +0 -10
  205. package/dist/components/tabs.js +0 -77
  206. package/dist/components/tabs.js.map +0 -1
  207. package/dist/components/textarea.d.ts +0 -6
  208. package/dist/components/textarea.js +0 -26
  209. package/dist/components/textarea.js.map +0 -1
  210. package/dist/components/theme-toggle.d.ts +0 -8
  211. package/dist/components/theme-toggle.js +0 -94
  212. package/dist/components/theme-toggle.js.map +0 -1
  213. package/dist/components/toggle-group.d.ts +0 -14
  214. package/dist/components/toggle-group.js +0 -102
  215. package/dist/components/toggle-group.js.map +0 -1
  216. package/dist/components/toggle.d.ts +0 -13
  217. package/dist/components/toggle.js +0 -53
  218. package/dist/components/toggle.js.map +0 -1
  219. package/dist/components/tooltip.d.ts +0 -10
  220. package/dist/components/tooltip.js +0 -66
  221. package/dist/components/tooltip.js.map +0 -1
  222. package/dist/hooks/use-mobile.d.ts +0 -3
  223. package/dist/hooks/use-mobile.js +0 -22
  224. package/dist/hooks/use-mobile.js.map +0 -1
  225. package/dist/hooks/use-router.d.ts +0 -7
  226. package/dist/hooks/use-router.js +0 -36
  227. package/dist/hooks/use-router.js.map +0 -1
  228. package/dist/hooks/use-translation.d.ts +0 -5
  229. package/dist/hooks/use-translation.js +0 -42
  230. package/dist/hooks/use-translation.js.map +0 -1
@@ -1,175 +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/breadcrumb.tsx
11
- import { Slot } from "@radix-ui/react-slot";
12
- import { IconChevronRight, IconDots } from "@tabler/icons-react";
13
- import { jsx, jsxs } from "react/jsx-runtime";
14
- function Breadcrumb({ ...props }) {
15
- return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
16
- }
17
- function BreadcrumbList({ className, ...props }) {
18
- return /* @__PURE__ */ jsx(
19
- "ol",
20
- {
21
- "data-slot": "breadcrumb-list",
22
- className: cn(
23
- "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
24
- className
25
- ),
26
- ...props
27
- }
28
- );
29
- }
30
- function BreadcrumbItem({ className, ...props }) {
31
- return /* @__PURE__ */ jsx(
32
- "li",
33
- {
34
- "data-slot": "breadcrumb-item",
35
- className: cn("inline-flex items-center gap-1.5", className),
36
- ...props
37
- }
38
- );
39
- }
40
- function BreadcrumbPage({ className, ...props }) {
41
- return /* @__PURE__ */ jsx(
42
- "span",
43
- {
44
- "data-slot": "breadcrumb-page",
45
- "aria-disabled": "true",
46
- "aria-current": "page",
47
- className: cn("text-foreground font-normal", className),
48
- ...props
49
- }
50
- );
51
- }
52
- function BreadcrumbSeparator({
53
- children,
54
- className,
55
- ...props
56
- }) {
57
- return /* @__PURE__ */ jsx(
58
- "li",
59
- {
60
- "data-slot": "breadcrumb-separator",
61
- role: "presentation",
62
- "aria-hidden": "true",
63
- className: cn("[&>svg]:size-3.5", className),
64
- ...props,
65
- children: children ?? /* @__PURE__ */ jsx(IconChevronRight, {})
66
- }
67
- );
68
- }
69
-
70
- // src/components/tooltip.tsx
71
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
72
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
73
-
74
- // src/components/mesob-context.tsx
75
- import {
76
- createContext,
77
- useContext,
78
- useMemo
79
- } from "react";
80
- import { jsx as jsx3 } from "react/jsx-runtime";
81
- var MesobContext = createContext(null);
82
- function useMesob() {
83
- return useContext(MesobContext);
84
- }
85
-
86
- // src/components/app-breadcrumbs.tsx
87
- import {
88
- Fragment,
89
- useCallback,
90
- useEffect,
91
- useMemo as useMemo2,
92
- useRef,
93
- useState
94
- } from "react";
95
- import {
96
- BreadcrumbContext,
97
- useBreadcrumbs as useBreadcrumbsBase
98
- } from "./app-breadcrumbs-context";
99
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
100
- function useBreadcrumbs(options) {
101
- const context = useBreadcrumbsBase(options);
102
- const { setItems } = context;
103
- const prevItemsStrRef = useRef(void 0);
104
- useEffect(() => {
105
- const items = options?.items;
106
- if (!items) {
107
- return;
108
- }
109
- const itemsStr = JSON.stringify(items);
110
- if (prevItemsStrRef.current !== itemsStr) {
111
- prevItemsStrRef.current = itemsStr;
112
- setItems(items);
113
- }
114
- }, [options?.items, setItems]);
115
- return context;
116
- }
117
- function BreadcrumbProvider({
118
- children,
119
- defaultItems = []
120
- }) {
121
- const [items, setItems] = useState(defaultItems);
122
- const push = useCallback((item) => {
123
- setItems((prev) => [...prev, item]);
124
- }, []);
125
- const pop = useCallback(() => {
126
- setItems((prev) => prev.slice(0, -1));
127
- }, []);
128
- const clear = useCallback(() => {
129
- setItems([]);
130
- }, []);
131
- const value = useMemo2(
132
- () => ({
133
- items,
134
- setItems,
135
- push,
136
- pop,
137
- clear
138
- }),
139
- [items, push, pop, clear]
140
- );
141
- return /* @__PURE__ */ jsx4(BreadcrumbContext.Provider, { value, children });
142
- }
143
- function AppBreadcrumbs({
144
- linkComponent: linkProp,
145
- className
146
- }) {
147
- const mesob = useMesob();
148
- const Link = linkProp ?? mesob?.linkComponent;
149
- const { items } = useBreadcrumbs(void 0);
150
- if (items.length === 0) {
151
- return null;
152
- }
153
- return /* @__PURE__ */ jsx4(Breadcrumb, { className, children: /* @__PURE__ */ jsx4(BreadcrumbList, { children: items.map((crumb, index) => {
154
- let content;
155
- if (crumb.href) {
156
- if (Link) {
157
- content = /* @__PURE__ */ jsx4(Link, { href: crumb.href, className: "hover:underline", children: crumb.label });
158
- } else {
159
- content = /* @__PURE__ */ jsx4("a", { href: crumb.href, className: "hover:underline", children: crumb.label });
160
- }
161
- } else {
162
- content = /* @__PURE__ */ jsx4(BreadcrumbPage, { children: crumb.label });
163
- }
164
- return /* @__PURE__ */ jsxs3(Fragment, { children: [
165
- index > 0 && /* @__PURE__ */ jsx4(BreadcrumbSeparator, { className: "hidden md:block" }),
166
- /* @__PURE__ */ jsx4(BreadcrumbItem, { className: index === 0 ? "hidden md:block" : "", children: content })
167
- ] }, `${crumb.label}-${crumb.href ?? ""}-${index}`);
168
- }) }) });
169
- }
170
- export {
171
- AppBreadcrumbs,
172
- BreadcrumbProvider,
173
- useBreadcrumbs
174
- };
175
- //# sourceMappingURL=app-breadcrumbs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/utils.ts","../../src/components/breadcrumb.tsx","../../src/components/tooltip.tsx","../../src/components/mesob-context.tsx","../../src/components/app-breadcrumbs.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 { Slot } from '@radix-ui/react-slot';\nimport { IconChevronRight, IconDots } from '@tabler/icons-react';\nimport type * as React from 'react';\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n 'text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn('hover:text-foreground transition-colors', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <IconChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <IconDots className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\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 {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '@mesob/ui/components/breadcrumb';\nimport { useMesob } from '@mesob/ui/components/mesob-context';\nimport type * as React from 'react';\nimport {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { BreadcrumbItemData as BID } from './app-breadcrumbs-context';\nimport {\n BreadcrumbContext,\n useBreadcrumbs as useBreadcrumbsBase,\n} from './app-breadcrumbs-context';\n\nexport type { BreadcrumbItemData } from './app-breadcrumbs-context';\n\nexport function useBreadcrumbs(options?: { items?: BID[] }) {\n const context = useBreadcrumbsBase(options);\n const { setItems } = context;\n const prevItemsStrRef = useRef<string | undefined>(undefined);\n\n useEffect(() => {\n const items = options?.items;\n if (!items) {\n return;\n }\n const itemsStr = JSON.stringify(items);\n if (prevItemsStrRef.current !== itemsStr) {\n prevItemsStrRef.current = itemsStr;\n setItems(items);\n }\n }, [options?.items, setItems]);\n\n return context;\n}\n\ntype BreadcrumbProviderProps = {\n children: React.ReactNode;\n defaultItems?: BID[];\n};\n\nexport function BreadcrumbProvider({\n children,\n defaultItems = [],\n}: BreadcrumbProviderProps) {\n const [items, setItems] = useState<BID[]>(defaultItems);\n\n const push = useCallback((item: BID) => {\n setItems((prev) => [...prev, item]);\n }, []);\n\n const pop = useCallback(() => {\n setItems((prev) => prev.slice(0, -1));\n }, []);\n\n const clear = useCallback(() => {\n setItems([]);\n }, []);\n\n const value = useMemo(\n () => ({\n items,\n setItems,\n push,\n pop,\n clear,\n }),\n [items, push, pop, clear],\n );\n\n return (\n <BreadcrumbContext.Provider value={value}>\n {children}\n </BreadcrumbContext.Provider>\n );\n}\n\ntype AppBreadcrumbsProps = {\n linkComponent?: React.ComponentType<{\n href: string;\n children: React.ReactNode;\n className?: string;\n }>;\n className?: string;\n};\n\nexport function AppBreadcrumbs({\n linkComponent: linkProp,\n className,\n}: AppBreadcrumbsProps) {\n const mesob = useMesob();\n const Link = linkProp ?? mesob?.linkComponent;\n const { items } = useBreadcrumbs(undefined);\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n <Breadcrumb className={className}>\n <BreadcrumbList>\n {items.map((crumb, index) => {\n let content: React.ReactNode;\n if (crumb.href) {\n if (Link) {\n content = (\n <Link href={crumb.href} className=\"hover:underline\">\n {crumb.label}\n </Link>\n );\n } else {\n content = (\n <a href={crumb.href} className=\"hover:underline\">\n {crumb.label}\n </a>\n );\n }\n } else {\n content = <BreadcrumbPage>{crumb.label}</BreadcrumbPage>;\n }\n\n return (\n <Fragment key={`${crumb.label}-${crumb.href ?? ''}-${index}`}>\n {index > 0 && <BreadcrumbSeparator className=\"hidden md:block\" />}\n <BreadcrumbItem className={index === 0 ? 'hidden md:block' : ''}>\n {content}\n </BreadcrumbItem>\n </Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n"],"mappings":"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","names":["jsx","jsxs","jsx","useMemo","jsx","jsxs"]}
@@ -1,39 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as React from 'react';
3
-
4
- type MenuItem = {
5
- label: string;
6
- icon?: React.ReactNode;
7
- href?: string;
8
- onClick?: () => void;
9
- variant?: 'default' | 'destructive';
10
- };
11
- type SpotlightGroup = {
12
- heading: string;
13
- items: Array<{
14
- id: string;
15
- title: string;
16
- icon?: React.ReactNode;
17
- shortcut?: string;
18
- onSelect?: () => void;
19
- }>;
20
- };
21
- type AppHeaderActionsProps = {
22
- user?: {
23
- fullName?: string | null;
24
- email?: string | null;
25
- phone?: string | null;
26
- handle?: string | null;
27
- image?: string | null;
28
- };
29
- onLogout?: () => void | Promise<void>;
30
- isLoggingOut?: boolean;
31
- searchGroups?: SpotlightGroup[];
32
- menuItems?: MenuItem[];
33
- topMenuItems?: MenuItem[];
34
- actions?: React.ReactNode;
35
- accountMenuFooter?: React.ReactNode;
36
- };
37
- declare function AppHeaderActions({ user, onLogout, isLoggingOut, searchGroups, menuItems, topMenuItems, actions, accountMenuFooter, }: AppHeaderActionsProps): react_jsx_runtime.JSX.Element;
38
-
39
- export { AppHeaderActions };