@noxickon/onyx 0.0.4-dev.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/hooks-DiKvsNs-.js +48 -0
- package/dist/chunks/hooks-bJFfbTks.js +8624 -0
- package/dist/chunks/query-BhvXa-m6.js +10 -0
- package/dist/chunks/query-iDn3qBGF.js +14 -0
- package/dist/chunks/ui-ChsTPgui.js +41 -0
- package/dist/chunks/ui-DxsSYHCv.js +20634 -0
- package/dist/chunks/useAuth-BFgXzu6Q.js +12 -0
- package/dist/chunks/useAuth-DxoDe3YA.js +1 -0
- package/dist/contexts/contexts.cjs.js +5 -0
- package/dist/contexts/contexts.es.js +156 -0
- package/dist/contexts.d.ts +117 -0
- package/dist/hooks/hooks.cjs.js +1 -6
- package/dist/hooks/hooks.es.js +11 -1916
- package/dist/hooks.d.ts +84 -22
- package/dist/index.d.ts +1782 -268
- package/dist/layouts/layouts.cjs.js +1 -0
- package/dist/layouts/layouts.es.js +688 -0
- package/dist/layouts.d.ts +430 -0
- package/dist/onyx.cjs.js +1 -1
- package/dist/onyx.es.js +53 -1395
- package/dist/pages/pages.cjs.js +2 -2
- package/dist/pages/pages.es.js +72 -70
- package/dist/pages.d.ts +4 -4
- package/dist/routes/routes.cjs.js +1 -0
- package/dist/routes/routes.es.js +31 -0
- package/dist/routes.d.ts +28 -0
- package/dist/shared.css +77 -48
- package/dist/ui.css +1 -0
- package/dist/utils/utils.cjs.js +1 -1
- package/dist/utils/utils.es.js +20 -6
- package/dist/utils.d.ts +109 -5
- package/package.json +39 -28
- package/dist/chunks/AuthContext-CaZKJMxQ.js +0 -2149
- package/dist/chunks/AuthContext-uU1aP9gj.js +0 -31
- package/dist/chunks/Button-D-v4l8ZE.js +0 -20
- package/dist/chunks/Button-bARrxYyo.js +0 -11053
- package/dist/chunks/Input-CLi1H63d.js +0 -1
- package/dist/chunks/Input-dfvmdIHi.js +0 -138
- package/dist/chunks/_commonjsHelpers-C6fGbg64.js +0 -6
- package/dist/chunks/_commonjsHelpers-DwGv2jUC.js +0 -1
- package/dist/chunks/constants-B1_n9ezb.js +0 -1
- package/dist/chunks/constants-CDXq37n6.js +0 -4
- package/dist/chunks/errorHelper--G-SWQzN.js +0 -18
- package/dist/chunks/errorHelper-DaP_XxEx.js +0 -1
- package/dist/chunks/formatTimestamp-CMxOnPo1.js +0 -12
- package/dist/chunks/formatTimestamp-TTsNcy7u.js +0 -1
- package/dist/chunks/index-CPwC_oqh.js +0 -561
- package/dist/chunks/index-DY808_YF.js +0 -2
- package/dist/chunks/isObject-BDHKUJKN.js +0 -1
- package/dist/chunks/isObject-vmP43YLW.js +0 -6
- package/dist/chunks/jsx-runtime--oOP9f8K.js +0 -284
- package/dist/chunks/jsx-runtime-CITbqOLs.js +0 -22
- package/dist/chunks/tslib.es6-ci7D5hcx.js +0 -44
- package/dist/chunks/tslib.es6-nRfFZWHa.js +0 -1
- package/dist/chunks/useAuth-BsWbsZD5.js +0 -1
- package/dist/chunks/useAuth-CkaMowHd.js +0 -11
- package/dist/chunks/useForm-DfmfCtGn.js +0 -3070
- package/dist/chunks/useForm-OVVxm4qZ.js +0 -18
- package/dist/chunks/useQuery-Dh3SZN5S.js +0 -1482
- package/dist/chunks/useQuery-y4De9xeL.js +0 -2
- package/dist/context/context.cjs.js +0 -1
- package/dist/context/context.es.js +0 -39
- package/dist/context.d.ts +0 -47
- package/dist/index.css +0 -1
- package/dist/layout/layout.cjs.js +0 -1
- package/dist/layout/layout.es.js +0 -265
- package/dist/layout.d.ts +0 -90
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import { AnchorHTMLAttributes } from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
3
|
+
import { HTMLAttributes } from 'react';
|
|
4
|
+
import { IconProps } from '@mdi/react/dist/IconProps';
|
|
5
|
+
import { JSX } from 'react/jsx-runtime';
|
|
6
|
+
import { ReactNode } from 'react';
|
|
7
|
+
|
|
8
|
+
declare const COLOR_STYLES: {
|
|
9
|
+
readonly purple: {
|
|
10
|
+
readonly background: "bg-purple-500/10";
|
|
11
|
+
readonly backgroundSolid: "bg-purple-500";
|
|
12
|
+
readonly text: "text-purple-400";
|
|
13
|
+
readonly border: "border border-purple-500/20";
|
|
14
|
+
readonly stroke: "stroke-purple-500";
|
|
15
|
+
};
|
|
16
|
+
readonly lime: {
|
|
17
|
+
readonly background: "bg-lime-400/10";
|
|
18
|
+
readonly backgroundSolid: "bg-lime-400";
|
|
19
|
+
readonly text: "text-lime-300";
|
|
20
|
+
readonly border: "border border-lime-400/20";
|
|
21
|
+
readonly stroke: "stroke-lime-400";
|
|
22
|
+
};
|
|
23
|
+
readonly red: {
|
|
24
|
+
readonly background: "bg-red-500/10";
|
|
25
|
+
readonly backgroundSolid: "bg-red-500";
|
|
26
|
+
readonly text: "text-red-400";
|
|
27
|
+
readonly border: "border border-red-500/20";
|
|
28
|
+
readonly stroke: "stroke-red-500";
|
|
29
|
+
};
|
|
30
|
+
readonly yellow: {
|
|
31
|
+
readonly background: "bg-yellow-500/10";
|
|
32
|
+
readonly backgroundSolid: "bg-yellow-500";
|
|
33
|
+
readonly text: "text-yellow-400";
|
|
34
|
+
readonly border: "border border-yellow-500/20";
|
|
35
|
+
readonly stroke: "stroke-yellow-500";
|
|
36
|
+
};
|
|
37
|
+
readonly green: {
|
|
38
|
+
readonly background: "bg-green-500/10";
|
|
39
|
+
readonly backgroundSolid: "bg-green-500";
|
|
40
|
+
readonly text: "text-green-400";
|
|
41
|
+
readonly border: "border border-green-500/20";
|
|
42
|
+
readonly stroke: "stroke-green-500";
|
|
43
|
+
};
|
|
44
|
+
readonly blue: {
|
|
45
|
+
readonly background: "bg-blue-500/10";
|
|
46
|
+
readonly backgroundSolid: "bg-blue-500";
|
|
47
|
+
readonly text: "text-blue-400";
|
|
48
|
+
readonly border: "border border-blue-500/20";
|
|
49
|
+
readonly stroke: "stroke-blue-500";
|
|
50
|
+
};
|
|
51
|
+
readonly indigo: {
|
|
52
|
+
readonly background: "bg-indigo-500/10";
|
|
53
|
+
readonly backgroundSolid: "bg-indigo-500";
|
|
54
|
+
readonly text: "text-indigo-400";
|
|
55
|
+
readonly border: "border border-indigo-500/20";
|
|
56
|
+
readonly stroke: "stroke-indigo-500";
|
|
57
|
+
};
|
|
58
|
+
readonly pink: {
|
|
59
|
+
readonly background: "bg-pink-500/10";
|
|
60
|
+
readonly backgroundSolid: "bg-pink-500";
|
|
61
|
+
readonly text: "text-pink-400";
|
|
62
|
+
readonly border: "border border-pink-500/20";
|
|
63
|
+
readonly stroke: "stroke-pink-500";
|
|
64
|
+
};
|
|
65
|
+
readonly amber: {
|
|
66
|
+
readonly background: "bg-amber-500/10";
|
|
67
|
+
readonly backgroundSolid: "bg-amber-500";
|
|
68
|
+
readonly text: "text-amber-400";
|
|
69
|
+
readonly border: "border border-amber-500/20";
|
|
70
|
+
readonly stroke: "stroke-amber-500";
|
|
71
|
+
};
|
|
72
|
+
readonly emerald: {
|
|
73
|
+
readonly background: "bg-emerald-500/10";
|
|
74
|
+
readonly backgroundSolid: "bg-emerald-500";
|
|
75
|
+
readonly text: "text-emerald-400";
|
|
76
|
+
readonly border: "border border-emerald-500/20";
|
|
77
|
+
readonly stroke: "stroke-emerald-500";
|
|
78
|
+
};
|
|
79
|
+
readonly teal: {
|
|
80
|
+
readonly background: "bg-teal-500/10";
|
|
81
|
+
readonly backgroundSolid: "bg-teal-500";
|
|
82
|
+
readonly text: "text-teal-400";
|
|
83
|
+
readonly border: "border border-teal-500/20";
|
|
84
|
+
readonly stroke: "stroke-teal-500";
|
|
85
|
+
};
|
|
86
|
+
readonly cyan: {
|
|
87
|
+
readonly background: "bg-cyan-500/10";
|
|
88
|
+
readonly backgroundSolid: "bg-cyan-500";
|
|
89
|
+
readonly text: "text-cyan-400";
|
|
90
|
+
readonly border: "border border-cyan-500/20";
|
|
91
|
+
readonly stroke: "stroke-cyan-500";
|
|
92
|
+
};
|
|
93
|
+
readonly sky: {
|
|
94
|
+
readonly background: "bg-sky-500/10";
|
|
95
|
+
readonly backgroundSolid: "bg-sky-500";
|
|
96
|
+
readonly text: "text-sky-400";
|
|
97
|
+
readonly border: "border border-sky-500/20";
|
|
98
|
+
readonly stroke: "stroke-sky-500";
|
|
99
|
+
};
|
|
100
|
+
readonly violet: {
|
|
101
|
+
readonly background: "bg-violet-500/10";
|
|
102
|
+
readonly backgroundSolid: "bg-violet-500";
|
|
103
|
+
readonly text: "text-violet-400";
|
|
104
|
+
readonly border: "border border-violet-500/20";
|
|
105
|
+
readonly stroke: "stroke-violet-500";
|
|
106
|
+
};
|
|
107
|
+
readonly fuchsia: {
|
|
108
|
+
readonly background: "bg-fuchsia-500/10";
|
|
109
|
+
readonly backgroundSolid: "bg-fuchsia-500";
|
|
110
|
+
readonly text: "text-fuchsia-400";
|
|
111
|
+
readonly border: "border border-fuchsia-500/20";
|
|
112
|
+
readonly stroke: "stroke-fuchsia-500";
|
|
113
|
+
};
|
|
114
|
+
readonly orange: {
|
|
115
|
+
readonly background: "bg-orange-500/10";
|
|
116
|
+
readonly backgroundSolid: "bg-orange-500";
|
|
117
|
+
readonly text: "text-orange-400";
|
|
118
|
+
readonly border: "border border-orange-500/20";
|
|
119
|
+
readonly stroke: "stroke-orange-500";
|
|
120
|
+
};
|
|
121
|
+
readonly rose: {
|
|
122
|
+
readonly background: "bg-rose-500/10";
|
|
123
|
+
readonly backgroundSolid: "bg-rose-500";
|
|
124
|
+
readonly text: "text-rose-400";
|
|
125
|
+
readonly border: "border border-rose-500/20";
|
|
126
|
+
readonly stroke: "stroke-rose-500";
|
|
127
|
+
};
|
|
128
|
+
readonly gray: {
|
|
129
|
+
readonly background: "bg-gray-1100/10";
|
|
130
|
+
readonly backgroundSolid: "bg-gray-1100";
|
|
131
|
+
readonly text: "text-gray-1100";
|
|
132
|
+
readonly border: "border border-gray-1100/20";
|
|
133
|
+
readonly stroke: "stroke-gray-1100";
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
declare type ColorStyleName = keyof typeof COLOR_STYLES;
|
|
138
|
+
|
|
139
|
+
export declare const OxAppLayout: ({ children, className, ...domProps }: OxAppLayoutProps) => JSX.Element;
|
|
140
|
+
|
|
141
|
+
export declare interface OxAppLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
142
|
+
children: ReactNode;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
declare interface OxHeaderProps extends Omit<HTMLAttributes<HTMLHeadElement>, 'children'> {
|
|
146
|
+
brand?: ReactNode;
|
|
147
|
+
children: ReactNode;
|
|
148
|
+
hasSidebar?: boolean;
|
|
149
|
+
navClassName?: string;
|
|
150
|
+
toggleSidebar?: () => void;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
declare interface OxIconProps extends Omit<IconProps, 'path'> {
|
|
154
|
+
path?: string;
|
|
155
|
+
placeholder?: boolean;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export declare const OxLegacyHeader: ({ brand, children, className, hasSidebar, navClassName, toggleSidebar, ...domProps }: OxHeaderProps) => JSX.Element;
|
|
159
|
+
|
|
160
|
+
export declare const OxLegacyMainContent: ({ children, className, color, icon, subtitle, title, ...domProps }: OxMainContentProps_2) => JSX.Element;
|
|
161
|
+
|
|
162
|
+
export declare const OxLegacySidebar: typeof OxSidebar_2 & {
|
|
163
|
+
Body: typeof OxSidebarBody;
|
|
164
|
+
Button: typeof OxSidebarButton;
|
|
165
|
+
Footer: typeof OxSidebarFooter;
|
|
166
|
+
Group: typeof OxSidebarGroup_2;
|
|
167
|
+
Header: typeof OxSidebarHeader;
|
|
168
|
+
Icon: typeof OxSidebarIcon;
|
|
169
|
+
Label: typeof OxSidebarLabel;
|
|
170
|
+
Link: typeof OxSidebarLink;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
export declare const OxMainContent: (({ children, className, ...domProps }: OxMainContentProps) => JSX.Element) & {
|
|
174
|
+
Header: ({ children, className, ...domProps }: OxMainContentHeaderProps) => JSX.Element;
|
|
175
|
+
Body: ({ children, className, ...domProps }: OxMainContentBodyProps) => JSX.Element;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
export declare interface OxMainContentBodyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
179
|
+
children: ReactNode;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export declare interface OxMainContentHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
183
|
+
children: ReactNode;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export declare interface OxMainContentProps extends React.HTMLAttributes<HTMLElement> {
|
|
187
|
+
children: ReactNode;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
declare interface OxMainContentProps_2 extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
191
|
+
children: ReactNode;
|
|
192
|
+
color?: ColorStyleName;
|
|
193
|
+
icon?: string;
|
|
194
|
+
subtitle?: string;
|
|
195
|
+
title?: string;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export declare const OxSidebar: typeof OxSidebar_3 & {
|
|
199
|
+
Content: typeof OxSidebarContent;
|
|
200
|
+
Footer: typeof OxSidebarFooter_2;
|
|
201
|
+
Header: typeof OxSidebarHeader_2;
|
|
202
|
+
Separator: typeof OxSidebarSeparator;
|
|
203
|
+
Trigger: typeof OxSidebarTrigger;
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
declare const OxSidebar_2: ({ children, className, desktopCollapsed, hasHeader, mobileCollapsed, onClose, ...domProps }: OxSidebarProps_2) => JSX.Element;
|
|
207
|
+
|
|
208
|
+
declare const OxSidebar_3: ({ children, className, ...domProps }: OxSidebarProps) => JSX.Element;
|
|
209
|
+
|
|
210
|
+
declare const OxSidebarBody: ({ children, className, ...domProps }: OxSidebarBodyProps) => JSX.Element;
|
|
211
|
+
|
|
212
|
+
declare interface OxSidebarBodyProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
213
|
+
children: ReactNode;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
declare const OxSidebarButton: ({ active, children, className, disabled, ...domProps }: OxSidebarButtonProps) => JSX.Element;
|
|
217
|
+
|
|
218
|
+
declare interface OxSidebarButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
219
|
+
active?: boolean;
|
|
220
|
+
children: ReactNode;
|
|
221
|
+
onClick: () => void;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
declare const OxSidebarContent: ({ children, className, ...domProps }: OxSidebarContentProps) => JSX.Element;
|
|
225
|
+
|
|
226
|
+
export declare interface OxSidebarContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
227
|
+
children: ReactNode;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
declare interface OxSidebarContextType {
|
|
231
|
+
closeSidebar: () => void;
|
|
232
|
+
isMobile: boolean;
|
|
233
|
+
mobileOpen: boolean;
|
|
234
|
+
openSidebar: () => void;
|
|
235
|
+
toggleSidebar: () => void;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
declare const OxSidebarFooter: ({ children, className, ...domProps }: OxSidebarFooterProps_2) => JSX.Element;
|
|
239
|
+
|
|
240
|
+
declare const OxSidebarFooter_2: ({ children, className, ...domProps }: OxSidebarFooterProps) => JSX.Element;
|
|
241
|
+
|
|
242
|
+
export declare interface OxSidebarFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
243
|
+
children: ReactNode;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
declare interface OxSidebarFooterProps_2 extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
247
|
+
children: ReactNode;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export declare const OxSidebarGroup: typeof OxSidebarGroup_3 & {
|
|
251
|
+
Action: typeof OxSidebarGroupAction;
|
|
252
|
+
Content: typeof OxSidebarGroupContent;
|
|
253
|
+
Label: typeof OxSidebarGroupLabel;
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
declare const OxSidebarGroup_2: ({ children, className, headline, ...domProps }: OxSidebarGroupProps_2) => JSX.Element;
|
|
257
|
+
|
|
258
|
+
declare const OxSidebarGroup_3: ({ children, className, ...domProps }: OxSidebarGroupProps) => JSX.Element;
|
|
259
|
+
|
|
260
|
+
declare const OxSidebarGroupAction: ({ children, className, ...domProps }: OxSidebarGroupActionProps) => JSX.Element;
|
|
261
|
+
|
|
262
|
+
export declare interface OxSidebarGroupActionProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
263
|
+
children: ReactNode;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
declare const OxSidebarGroupContent: ({ children, className, ...domProps }: OxSidebarGroupContentProps) => JSX.Element;
|
|
267
|
+
|
|
268
|
+
export declare interface OxSidebarGroupContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
269
|
+
children: ReactNode;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
declare const OxSidebarGroupLabel: ({ children, className, ...domProps }: OxSidebarGroupLabelProps) => JSX.Element;
|
|
273
|
+
|
|
274
|
+
export declare interface OxSidebarGroupLabelProps extends HTMLAttributes<HTMLDivElement> {
|
|
275
|
+
children: ReactNode;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export declare interface OxSidebarGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
279
|
+
children: ReactNode;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
declare interface OxSidebarGroupProps_2 extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
283
|
+
children: ReactNode;
|
|
284
|
+
headline: string;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
declare const OxSidebarHeader: ({ children, className, ...domProps }: OxSidebarHeaderProps_2) => JSX.Element;
|
|
288
|
+
|
|
289
|
+
declare const OxSidebarHeader_2: ({ children, className, ...domProps }: OxSidebarHeaderProps) => JSX.Element;
|
|
290
|
+
|
|
291
|
+
export declare interface OxSidebarHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
292
|
+
children: ReactNode;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
declare interface OxSidebarHeaderProps_2 extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
296
|
+
children: ReactNode;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
declare const OxSidebarIcon: ({ className, size, ...props }: OxSidebarIconProps) => JSX.Element;
|
|
300
|
+
|
|
301
|
+
declare type OxSidebarIconProps = OxIconProps;
|
|
302
|
+
|
|
303
|
+
declare const OxSidebarLabel: ({ children, className, ...domProps }: OxSidebarLabelProps) => JSX.Element;
|
|
304
|
+
|
|
305
|
+
declare interface OxSidebarLabelProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
306
|
+
children: ReactNode;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
declare const OxSidebarLink: ({ active, children, className, disabled, href, ...domProps }: OxSidebarLinkProps) => JSX.Element;
|
|
310
|
+
|
|
311
|
+
declare interface OxSidebarLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {
|
|
312
|
+
active?: boolean;
|
|
313
|
+
children: ReactNode;
|
|
314
|
+
disabled?: boolean;
|
|
315
|
+
href: string;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export declare const OxSidebarMenu: typeof OxSidebarMenu_2 & {
|
|
319
|
+
Action: typeof OxSidebarMenuAction;
|
|
320
|
+
Badge: typeof OxSidebarMenuBadge;
|
|
321
|
+
Button: typeof OxSidebarMenuButton;
|
|
322
|
+
Icon: typeof OxSidebarMenuIcon;
|
|
323
|
+
Item: typeof OxSidebarMenuItem;
|
|
324
|
+
Skeleton: typeof OxSidebarMenuSkeleton;
|
|
325
|
+
Sub: typeof OxSidebarMenuSub;
|
|
326
|
+
SubButton: typeof OxSidebarMenuSubButton;
|
|
327
|
+
SubItem: typeof OxSidebarMenuSubItem;
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
declare const OxSidebarMenu_2: ({ children, className, ...domProps }: OxSidebarMenuProps) => JSX.Element;
|
|
331
|
+
|
|
332
|
+
declare const OxSidebarMenuAction: ({ children, className, ...domProps }: OxSidebarMenuActionProps) => JSX.Element;
|
|
333
|
+
|
|
334
|
+
export declare interface OxSidebarMenuActionProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
335
|
+
children: ReactNode;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
declare const OxSidebarMenuBadge: ({ children, className }: OxSidebarMenuBadgeProps) => JSX.Element;
|
|
339
|
+
|
|
340
|
+
export declare interface OxSidebarMenuBadgeProps {
|
|
341
|
+
children: ReactNode;
|
|
342
|
+
className?: string;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
declare const OxSidebarMenuButton: ({ children, className, disabled, href, onClick, ...domProps }: OxSidebarMenuButtonProps) => JSX.Element;
|
|
346
|
+
|
|
347
|
+
export declare interface OxSidebarMenuButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
348
|
+
children: ReactNode;
|
|
349
|
+
href?: string;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
declare const OxSidebarMenuIcon: ({ className, path, placeholder }: OxSidebarMenuIconProps) => JSX.Element;
|
|
353
|
+
|
|
354
|
+
export declare interface OxSidebarMenuIconProps {
|
|
355
|
+
className?: string;
|
|
356
|
+
path?: string;
|
|
357
|
+
placeholder?: boolean;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
declare const OxSidebarMenuItem: ({ children, className, defaultOpen, hasSub, ...domProps }: OxSidebarMenuItemProps) => JSX.Element;
|
|
361
|
+
|
|
362
|
+
export declare interface OxSidebarMenuItemProps extends HTMLAttributes<HTMLLIElement> {
|
|
363
|
+
children: ReactNode;
|
|
364
|
+
defaultOpen?: boolean;
|
|
365
|
+
hasSub?: boolean;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
export declare interface OxSidebarMenuProps extends HTMLAttributes<HTMLUListElement> {
|
|
369
|
+
children: ReactNode;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
declare const OxSidebarMenuSkeleton: ({ className }: OxSidebarMenuSkeletonProps) => JSX.Element;
|
|
373
|
+
|
|
374
|
+
export declare interface OxSidebarMenuSkeletonProps {
|
|
375
|
+
className?: string;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
declare const OxSidebarMenuSub: ({ children, className, ...domProps }: OxSidebarMenuSubProps) => JSX.Element;
|
|
379
|
+
|
|
380
|
+
declare const OxSidebarMenuSubButton: ({ children, className, href, ...domProps }: OxSidebarMenuSubButtonProps) => JSX.Element;
|
|
381
|
+
|
|
382
|
+
export declare interface OxSidebarMenuSubButtonProps extends HTMLAttributes<HTMLButtonElement> {
|
|
383
|
+
children: ReactNode;
|
|
384
|
+
href?: string;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
declare const OxSidebarMenuSubItem: ({ children, className, ...domProps }: OxSidebarMenuSubItemProps) => JSX.Element;
|
|
388
|
+
|
|
389
|
+
export declare interface OxSidebarMenuSubItemProps extends HTMLAttributes<HTMLLIElement> {
|
|
390
|
+
children: ReactNode;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
export declare interface OxSidebarMenuSubProps extends HTMLAttributes<HTMLUListElement> {
|
|
394
|
+
children: ReactNode;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export declare interface OxSidebarProps extends HTMLAttributes<HTMLDivElement> {
|
|
398
|
+
children: ReactNode;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
declare interface OxSidebarProps_2 extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
402
|
+
children: ReactNode;
|
|
403
|
+
desktopCollapsed?: boolean;
|
|
404
|
+
hasHeader?: boolean;
|
|
405
|
+
mobileCollapsed?: boolean;
|
|
406
|
+
onClose?: () => void;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
export declare function OxSidebarProvider({ children }: OxSidebarProviderProps): JSX.Element;
|
|
410
|
+
|
|
411
|
+
declare interface OxSidebarProviderProps {
|
|
412
|
+
children: ReactNode;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
declare const OxSidebarSeparator: ({ className, ...domProps }: OxSidebarSeparatorProps) => JSX.Element;
|
|
416
|
+
|
|
417
|
+
export declare interface OxSidebarSeparatorProps {
|
|
418
|
+
className?: string;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
declare const OxSidebarTrigger: ({ className, onClick }: OxSidebarTriggerProps) => JSX.Element;
|
|
422
|
+
|
|
423
|
+
export declare interface OxSidebarTriggerProps {
|
|
424
|
+
className?: string;
|
|
425
|
+
onClick?: () => void;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
export declare function useOxSidebar(): OxSidebarContextType;
|
|
429
|
+
|
|
430
|
+
export { }
|
package/dist/onyx.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const e=require("./chunks/jsx-runtime-CITbqOLs.js"),b=require("react"),n=require("./chunks/Button-D-v4l8ZE.js"),M=require("./chunks/Input-CLi1H63d.js"),ee=require("react-dom"),de=require("./chunks/constants-B1_n9ezb.js"),ue=require("./chunks/formatTimestamp-TTsNcy7u.js");require("./chunks/AuthContext-uU1aP9gj.js");const te=require("./chunks/useAuth-BsWbsZD5.js"),me=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex items-center gap-3",s),children:t}),G={rounded:"rounded-full",square:"rounded-lg"},K={sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10",xl:"h-12 w-12","2xl":"h-16 w-16"},pe={sm:"h-2 w-2",md:"h-2.5 w-2.5",lg:"h-3 w-3",xl:"h-3.5 w-3.5","2xl":"h-4 w-4"},fe={online:"bg-green-500",offline:"bg-neutral-500",away:"bg-yellow-500",busy:"bg-red-500"},be={sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-base","2xl":"text-lg"},se=({alt:t,className:s,fallback:o,showStatus:i=!1,size:r="md",skeleton:x=!1,src:a,status:l,type:u="square"})=>{const[h,d]=b.useState(!1),[p,g]=b.useState(!1),[f,j]=b.useState(!0);b.useEffect(()=>{if(!a){d(!1),g(!0),j(!1);return}j(!0);const R=new Image;R.src=a;const O=()=>{d(!0),g(!1),j(!1)},c=()=>{d(!1),g(!0),j(!1)};return R.addEventListener("load",O),R.addEventListener("error",c),()=>{R.removeEventListener("load",O),R.removeEventListener("error",c)}},[a]);const v=()=>f&&x?e.jsxRuntimeExports.jsx("div",{className:n.twJoin("animate-pulse bg-zinc-800",G[u],K[r])}):h&&!p?e.jsxRuntimeExports.jsx("img",{alt:t,className:n.twMerge(G[u],K[r],"object-cover",s),loading:"lazy",src:a}):e.jsxRuntimeExports.jsx("div",{"aria-label":t,className:n.twMerge("flex items-center justify-center bg-zinc-800 font-medium text-white",G[u],K[r],be[r],s),role:"img",children:typeof o=="string"&&o.length>2?o.substring(0,2):o});return e.jsxRuntimeExports.jsxs("div",{className:"relative shrink-0",children:[v(),i&&l&&e.jsxRuntimeExports.jsx("span",{"aria-label":`Status: ${l}`,className:n.twJoin("absolute right-0 bottom-0 rounded-full border-2 border-zinc-900",pe[r],fe[l]),role:"status"})]})},he=({className:t,size:s="md",subtext:o,username:i})=>{const r={sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-lg","2xl":"text-xl"},x={sm:"text-xs",md:"text-xs",lg:"text-sm",xl:"text-sm","2xl":"text-base"};return e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("flex flex-col justify-center overflow-hidden",t),children:[e.jsxRuntimeExports.jsx("span",{className:n.twJoin("block truncate font-medium text-white",r[s]),children:i}),o&&e.jsxRuntimeExports.jsx("span",{className:n.twJoin("block truncate text-neutral-400",x[s]),children:o})]})},ge={sm:"px-1 py-0.5 text-xs",md:"px-1.5 py-0.5 text-sm",lg:"px-2 py-1 text-base"},je={purple:"bg-purple-500/25 text-purple-400",lime:"bg-lime-400/10 text-lime-300",red:"bg-red-500/25 text-red-400",yellow:"bg-yellow-500/25 text-yellow-400",green:"bg-green-500/25 text-green-400",blue:"bg-blue-500/25 text-blue-400",indigo:"bg-indigo-500/25 text-indigo-400",pink:"bg-pink-500/25 text-pink-400",amber:"bg-amber-500/25 text-amber-400",emerald:"bg-emerald-500/25 text-emerald-400",teal:"bg-teal-500/25 text-teal-400",cyan:"bg-cyan-500/25 text-cyan-400",sky:"bg-sky-500/25 text-sky-400",violet:"bg-violet-500/25 text-violet-400",fuchsia:"bg-fuchsia-500/25 text-fuchsia-400",gray:"bg-gray-500/25 text-gray-400"};function we(t){const s=t.startsWith("#")?t.substring(1):t;if(!/^[0-9A-Fa-f]{3,6}$/.test(s))return"#FFFFFF";const i=parseInt(s.length===3?s[0]+s[0]:s.substr(0,2),16),r=parseInt(s.length===3?s[1]+s[1]:s.substr(2,2),16),x=parseInt(s.length===3?s[2]+s[2]:s.substr(4,2),16);return(.299*i+.587*r+.114*x)/255>.5?"#000000":"#FFFFFF"}const H=({bgColor:t,children:s,className:o,color:i="purple",size:r="md",textColor:x})=>{const a=!t&&!x?je[i]:"",l={};return t&&(l.backgroundColor=t,x||(l.color=we(t))),x&&(l.color=x),e.jsxRuntimeExports.jsx("span",{className:n.twMerge("inline-flex items-center rounded-md font-medium",ge[r],a,o),style:Object.keys(l).length?l:void 0,children:s})},Ee={default:"bg-zinc-900/90 border border-zinc-800",outline:"bg-transparent border border-zinc-700",gradient:"bg-gradient-to-br from-zinc-900 via-purple-900/20 to-zinc-900 border border-purple-800/30"},ve={none:"p-0",sm:"p-3",md:"p-4",lg:"p-6"},Re={none:"",lift:"hover:scale-[1.01] hover:-translate-y-1",glow:"hover:shadow-lg hover:shadow-purple-500/10",border:"hover:border-purple-500/50"},ye={purple:"hover:border-purple-500/50",blue:"hover:border-blue-500/50",emerald:"hover:border-emerald-500/50",orange:"hover:border-orange-500/50",rose:"hover:border-rose-500/50",amber:"hover:border-amber-500/50",cyan:"hover:border-cyan-500/50",indigo:"hover:border-indigo-500/50"},Oe={purple:"from-purple-500/5 to-pink-500/5",blue:"from-blue-500/5 to-cyan-500/5",emerald:"from-emerald-500/5 to-teal-500/5",orange:"from-orange-500/5 to-red-500/5",rose:"from-rose-500/5 to-pink-500/5",amber:"from-amber-500/5 to-orange-500/5",cyan:"from-cyan-500/5 to-blue-500/5",indigo:"from-indigo-500/5 to-purple-500/5"},Ne=({backdropBlur:t=!1,children:s,className:o,color:i="purple",equalHeight:r=!1,hoverVariant:x="lift",hoverable:a=!1,padding:l="md",variant:u="default",...h})=>{const d=a?x:"none",p=a&&d!=="none";return e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("relative overflow-hidden rounded-lg transition-all duration-300",Ee[u],ve[l],r&&"flex flex-col",t&&"backdrop-blur-sm",p&&Re[d],p&&"group hover:bg-white/5",p&&ye[i],o),...h,children:[p&&e.jsxRuntimeExports.jsx("div",{className:n.twMerge("absolute inset-0 bg-gradient-to-br opacity-0 transition-opacity duration-300 group-hover:opacity-100",Oe[i])}),e.jsxRuntimeExports.jsx("div",{className:"relative z-10",children:s})]})},ke={purple:{border:"border-purple-500/20",bg:"bg-purple-500/10",text:"text-purple-400"},blue:{border:"border-blue-500/20",bg:"bg-blue-500/10",text:"text-blue-400"},emerald:{border:"border-emerald-500/20",bg:"bg-emerald-500/10",text:"text-emerald-400"},orange:{border:"border-orange-500/20",bg:"bg-orange-500/10",text:"text-orange-400"},rose:{border:"border-rose-500/20",bg:"bg-rose-500/10",text:"text-rose-400"},amber:{border:"border-amber-500/20",bg:"bg-amber-500/10",text:"text-amber-400"},cyan:{border:"border-cyan-500/20",bg:"bg-cyan-500/10",text:"text-cyan-400"},indigo:{border:"border-indigo-500/20",bg:"bg-indigo-500/10",text:"text-indigo-400"}},Ce=({action:t,children:s,className:o,color:i="purple",icon:r,iconColor:x,subtitle:a,title:l,...u})=>{if(s)return e.jsxRuntimeExports.jsx("div",{className:n.twMerge("mb-4",o),...u,children:s});const d=ke[x||i];return e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("mb-4 flex items-start justify-between gap-3",o),...u,children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsxRuntimeExports.jsx("div",{className:n.twMerge("rounded-lg border p-2",d.border,d.bg),children:e.jsxRuntimeExports.jsx(n.OxIcon,{className:d.text,icon:r})}),e.jsxRuntimeExports.jsxs("div",{children:[l&&e.jsxRuntimeExports.jsx("h3",{className:"text-base font-semibold text-white",children:l}),a&&e.jsxRuntimeExports.jsx("p",{className:"text-sm text-neutral-400",children:a})]})]}),t&&e.jsxRuntimeExports.jsx("div",{children:t})]})},Ie=({children:t,className:s,flexGrow:o=!0,...i})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("py-2",o&&"flex-grow",s),...i,children:t}),Me=({children:t,className:s,...o})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("mt-4 flex items-center justify-end border-t border-neutral-800 pt-4",s),...o,children:t}),Se={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},ze={sm:.5,md:.7,lg:.9},Le=({checked:t,className:s,defaultChecked:o,description:i,disabled:r=!1,error:x=!1,errorMessage:a,id:l,label:u,name:h,onChange:d,required:p=!1,size:g="md",value:f,...j})=>{const v=b.useId(),R=l||v,O=`${R}-checkbox`,c=`${R}-description`,w=`${R}-error`,y=x&&a,I=e.jsxRuntimeExports.jsxs("div",{className:"relative inline-flex shrink-0",children:[e.jsxRuntimeExports.jsx("input",{id:O,"aria-describedby":[i?c:"",y?w:""].filter(Boolean).join(" ")||void 0,"aria-invalid":x,"aria-required":p,checked:t,className:n.twMerge("peer cursor-pointer appearance-none rounded-sm","checked:bg-violet-700","default-outset-focus","disabled:cursor-not-allowed disabled:opacity-50",x?"default-error-border":"default-border",Se[g],s),defaultChecked:o,disabled:r,name:h,type:"checkbox",value:f,onChange:d,...j}),e.jsxRuntimeExports.jsx(n.OxIcon,{className:"pointer-events-none absolute inset-0 m-auto opacity-0 peer-checked:opacity-80",icon:"mdiCheck",size:ze[g]||.7})]});return e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-2",children:[I,u&&e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:O,required:p,children:u}),i?e.jsxRuntimeExports.jsx(M.OxDescription,{id:c,disabled:r,children:i}):null]})]}),y?e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:w,children:a}):null]})},Y=({align:t="center",ariaHaspopup:s,children:o,className:i,content:r,contentClassName:x,contentRole:a,contentStyle:l,disabled:u=!1,id:h,offset:d=8,onOpenChange:p,open:g,portal:f=!0,position:j="top",trigger:v="hover",useAriaControls:R=!1})=>{const O=b.useId(),[c,w]=b.useState(!1),y=b.useRef(null),I=b.useRef(null),L=g!==void 0,N=u?!1:L?g:c,F=h||O,S=b.useCallback(m=>{u||(p?.(m),L||w(m))},[u,L,p]),D=b.useCallback(()=>{if(!y.current||!I.current||!N)return;const m=y.current.getBoundingClientRect(),E=I.current.getBoundingClientRect(),C={width:window.innerWidth,height:window.innerHeight};let z=j;j==="top"&&m.top<E.height+d?z="bottom":j==="bottom"&&m.bottom+E.height+d>C.height?z="top":j==="left"&&m.left<E.width+d?z="right":j==="right"&&m.right+E.width+d>C.width&&(z="left");const $=P(m,E,z,t,d);I.current&&(I.current.style.left=`${$.x}px`,I.current.style.top=`${$.y}px`)},[N,j,t,d]);b.useEffect(()=>{if(!N||v!=="click")return;const m=E=>{y.current&&!y.current.contains(E.target)&&I.current&&!I.current.contains(E.target)&&S(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[N,S,v]),b.useEffect(()=>{if(N){D();const m=()=>D(),E=()=>D();return window.addEventListener("resize",m),window.addEventListener("scroll",E,!0),()=>{window.removeEventListener("resize",m),window.removeEventListener("scroll",E,!0)}}},[N,j,t,d,D]);const P=(m,E,C,z,$)=>{let T=0,B=0;switch(C){case"top":T=m.left,B=m.top-E.height-$;break;case"bottom":T=m.left,B=m.bottom+$;break;case"left":T=m.left-E.width-$,B=m.top;break;case"right":T=m.right+$,B=m.top;break}if(C==="top"||C==="bottom")switch(z){case"start":break;case"center":T=m.left+(m.width-E.width)/2;break;case"end":T=m.right-E.width;break}else if(C==="left"||C==="right")switch(z){case"start":break;case"center":B=m.top+(m.height-E.height)/2;break;case"end":B=m.bottom-E.height;break}return{x:T,y:B}},W=()=>{v==="hover"&&S(!0)},V=()=>{v==="hover"&&S(!1)},q=()=>{v==="click"&&S(!N)},J=()=>{v==="focus"&&S(!0)},A=()=>{v==="focus"&&S(!1)},k=N?e.jsxRuntimeExports.jsx("div",{id:F,"aria-hidden":!N,className:n.twMerge("fixed z-50 transition-opacity duration-200",N?"opacity-100":"pointer-events-none opacity-0",x),ref:I,role:a,style:{left:-9999,top:-9999,...l},children:e.jsxRuntimeExports.jsx("div",{className:"relative",children:r})}):null;return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{"aria-controls":R&&N?F:void 0,"aria-describedby":!R&&N?F:void 0,"aria-expanded":R?N:void 0,"aria-haspopup":s,className:n.twMerge("w-full",i),ref:y,onBlur:A,onClick:q,onFocus:J,onMouseEnter:W,onMouseLeave:V,children:o}),f&&typeof document<"u"?ee.createPortal(k,document.body):k]})},Q=({children:t})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t}),re=({children:t})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t}),X=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("sticky top-0 flex-shrink-0 border-b border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-lg",s),children:t}),ne=b.createContext({open:!1,setOpen:()=>{},disabled:!1});function oe(){const t=b.useContext(ne);if(t===void 0)throw new Error("useDropdownContext must be used within a DropdownProvider");return t}const Z=({animateIcon:t=!1,children:s,className:o,disabled:i=!1,icon:r,outline:x=!1,unstyled:a=!1,...l})=>{const{disabled:u,open:h}=oe(),d=i||u;return e.jsxRuntimeExports.jsxs("button",{"aria-expanded":h,"aria-haspopup":"menu",className:n.twMerge(!a&&["flex h-10 items-center justify-between rounded-lg px-3 py-2 text-sm enabled:cursor-pointer enabled:text-white enabled:hover:bg-white/6","default-outset-focus",x?"default-border":"bg-transparent","default-disabled"],o),disabled:d,type:"button",...l,children:[a?s:e.jsxRuntimeExports.jsx("span",{className:"flex items-center gap-2",children:s}),r&&e.jsxRuntimeExports.jsx(n.OxIcon,{className:n.twJoin(!a&&"ml-2",d&&"text-neutral-500",t&&["transition-transform duration-200",h&&"rotate-180"]),icon:r,size:.8})]})},ie=({children:t,className:s,defaultOpen:o=!1,disabled:i=!1,onOpenChange:r,open:x})=>{const[a,l]=b.useState(o),u=x!==void 0,h=u?x:a,d=c=>{i||(u||l(c),r?.(c))},p={open:h,setOpen:d,disabled:i};let g=null,f=null;const j={children:null,className:""},v={children:null,className:""};let R={side:"bottom",align:"start",className:""};b.Children.forEach(t,c=>{if(b.isValidElement(c)){if(c.type===Z)g=c;else if(c.type===X){const w=c.props;j.className=w.className,j.children=w.children}else if(c.type===re){const w=c.props;v.className=w.className,v.children=w.children}else if(c.type===Q){const w=c.props;f=w.children,R={side:w.side||"bottom",align:w.align||"start",className:w.className||""}}}});const O=e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("default-border z-50 flex max-h-96 min-w-[8rem] flex-col overflow-hidden rounded-lg bg-zinc-1000/50 p-1 backdrop-blur-xl",R.side==="bottom"&&"animate-dropdown-in-bottom",R.side==="top"&&"animate-dropdown-in-top",R.className),children:[j.children?e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex-shrink-0 border-b border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-sm",j.className),children:j.children}):null,e.jsxRuntimeExports.jsx("ul",{className:n.twMerge("min-h-0 flex-1 overflow-y-auto"),children:f}),v.children?e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex-shrink-0 border-t border-neutral-700 bg-zinc-1000/95 px-3 py-2 backdrop-blur-sm",v.className),children:v.children}):null]});return e.jsxRuntimeExports.jsx(ne.Provider,{value:p,children:e.jsxRuntimeExports.jsx("div",{className:n.twMerge("inline-block",s),children:e.jsxRuntimeExports.jsx(Y,{align:R.align,content:O,contentRole:"menu",disabled:i,open:h,portal:!0,position:R.side,trigger:"click",onOpenChange:d,children:g})})})},le=({children:t,className:s,disabled:o=!1,icon:i,onClick:r,unstyled:x=!1})=>{const{setOpen:a}=oe(),l=u=>{o||(r&&r(u),a(!1))};return e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsxs("button",{className:n.twMerge(!x&&["group flex w-full items-center rounded-sm px-2 py-1.5 text-left text-sm enabled:text-white","enabled:cursor-pointer enabled:hover:bg-white/6","default-inset-focus","default-disabled"],s),disabled:o,role:"menuitem",onClick:l,children:[i&&e.jsxRuntimeExports.jsx(n.OxIcon,{className:n.twJoin("mr-2",o&&"text-neutral-500"),icon:i,size:.75}),t]})})},Fe=({className:t})=>e.jsxRuntimeExports.jsx("li",{className:"px-1 py-1",children:e.jsxRuntimeExports.jsx("hr",{className:n.twMerge("border-t-neutral-700",t)})}),De=({children:t,className:s})=>e.jsxRuntimeExports.jsx("span",{className:n.twMerge("ml-auto text-xs tracking-widest text-neutral-500",s),"data-part":"dropdown-shortcut",children:t}),$e={error:{background:"bg-rose-500/20",iconClass:"text-rose-400",icon:"mdiAlertCircleOutline"},success:{background:"bg-green-500/20",iconClass:"text-green-400",icon:"mdiCheckCircleOutline"},warning:{background:"bg-amber-500/20",iconClass:"text-amber-400",icon:"mdiAlertOutline"},info:{background:"bg-blue-500/20",iconClass:"text-blue-400",icon:"mdiInformationOutline"},default:{background:"bg-neutral-500/20",iconClass:"text-neutral-400",icon:"mdiBellOutline"}},Te=({className:t,disabled:s=!1,emptyMessage:o="No notifications",maxHeight:i="max-h-96",notifications:r,onMarkAllRead:x,onNotificationClick:a,unreadCount:l=0})=>{const[u,h]=b.useState(!1),[d,p]=b.useState(!1),g=l>99?"99+":l.toString(),f=l>0,j=r.length>0;b.useEffect(()=>{const c=()=>{const w=window.innerWidth<de.MOBILE_BREAKPOINT;p(w),w&&u?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")};return c(),window.addEventListener("resize",c),()=>{document.body.classList.remove("overflow-hidden"),window.removeEventListener("resize",c)}},[u]);const v=c=>{a?.(c),d&&h(!1)},R=()=>{x?.(),d&&h(!1)},O=()=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j?e.jsxRuntimeExports.jsx("div",{className:"divide-y divide-neutral-800/50",children:r.map((c,w)=>{const y=$e[c.type||"default"];return e.jsxRuntimeExports.jsxs(le,{className:n.twMerge("secondary-inset-focus flex w-full items-start gap-3 px-3 py-3 text-left hover:bg-white/6",!c.read&&"bg-white/3",w===r.length-1&&"pb-4"),unstyled:!0,onClick:()=>v(c),children:[e.jsxRuntimeExports.jsx("div",{className:n.twMerge("mt-0.5 flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg",y.background),children:c.img?e.jsxRuntimeExports.jsx(se,{alt:"User avatar",fallback:"NA",size:"md",src:c.img}):e.jsxRuntimeExports.jsx(n.OxIcon,{className:y.iconClass,icon:c.icon??y.icon,size:.75})}),e.jsxRuntimeExports.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxRuntimeExports.jsx("p",{className:"mb-1 text-sm leading-5 text-white",children:c.title}),c.message&&e.jsxRuntimeExports.jsx("p",{className:"mb-1 text-xs leading-4 text-neutral-400",children:c.message}),e.jsxRuntimeExports.jsx("p",{className:"text-xs text-neutral-500",children:ue.formatTimestamp(c.timestamp)})]}),!c.read&&e.jsxRuntimeExports.jsx("div",{className:"mt-1.5 h-2 w-2 flex-shrink-0 rounded-full bg-rose-500"})]},c.id)})}):e.jsxRuntimeExports.jsxs("div",{"aria-label":"No notifications available",className:"px-3 py-8 text-center",role:"status",children:[e.jsxRuntimeExports.jsx(n.OxIcon,{className:"mx-auto mb-2 text-neutral-500",icon:"mdiBellOffOutline",size:2}),e.jsxRuntimeExports.jsx("p",{className:"text-sm text-neutral-400",children:o})]})});return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:d?e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsxs("div",{className:"relative",children:[e.jsxRuntimeExports.jsx(n.OxButton,{"aria-expanded":u,"aria-label":`Notifications${f?` (${l} unread)`:""}`,disabled:s,icon:"mdiBellOutline",variant:"ghost",onClick:()=>h(!u)}),f?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"absolute -top-2 -right-2",children:e.jsxRuntimeExports.jsx(H,{className:"min-w-[1.25rem] justify-center px-1",color:"violet",size:"sm",children:g})})}):null]}),ee.createPortal(e.jsxRuntimeExports.jsxs("div",{"aria-labelledby":"notifications-title-mobile","aria-modal":"true",className:n.twMerge("fixed inset-y-0 z-50 flex w-full flex-col bg-zinc-1000/50 backdrop-blur-xl transition-transform duration-300",u?"translate-x-0":"translate-x-full"),role:"dialog",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex h-15 items-center justify-between border-b border-neutral-800 px-4",children:[d?e.jsxRuntimeExports.jsx(n.OxButton,{"aria-label":"Close sidebar",icon:"mdiClose",variant:"ghost",onClick:()=>h(!1)}):null,e.jsxRuntimeExports.jsx("h3",{id:"notifications-title-mobile",className:"text-sm font-semibold text-white",children:"Notifications"}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:f&&x&&e.jsxRuntimeExports.jsx("button",{className:"cursor-pointer text-xs text-neutral-400 transition-colors hover:text-white",onClick:R,children:"Mark all read"})})]}),e.jsxRuntimeExports.jsx("ul",{className:"flex-1 overflow-y-auto",children:e.jsxRuntimeExports.jsx(O,{})})]}),document.body)]}):e.jsxRuntimeExports.jsxs(ie,{className:t,disabled:s,children:[e.jsxRuntimeExports.jsx(Z,{"aria-label":`Notifications${f?` (${l} unread)`:""}`,className:n.twJoin("relative flex h-10 w-10 items-center justify-center px-2 text-sm","secondary-outset-focus group rounded-lg border border-transparent bg-transparent text-white enabled:cursor-pointer enabled:hover:bg-white/6"),disabled:s,icon:"mdiBellOutline",unstyled:!0,children:f?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"absolute -top-2 -right-2",children:e.jsxRuntimeExports.jsx(H,{className:"min-w-[1.25rem] justify-center px-1",color:"violet",size:"sm",children:g})})}):null}),e.jsxRuntimeExports.jsx(X,{children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxRuntimeExports.jsx("h3",{id:"notifications-title",className:"text-sm font-semibold text-white",children:"Notifications"}),f&&x&&e.jsxRuntimeExports.jsx("button",{className:"secondary-outset-focus cursor-pointer rounded-lg p-1 text-xs text-neutral-400 transition-colors hover:text-white",onClick:x,children:"Mark all read"})]})}),e.jsxRuntimeExports.jsx(Q,{align:"end","aria-labelledby":"notifications-title",className:n.twMerge("flex w-85 flex-col overflow-hidden p-0",i),side:"bottom",children:e.jsxRuntimeExports.jsx(O,{})})]})})},ae=b.createContext(void 0),Be=()=>{const t=b.useContext(ae);if(!t)throw new Error("Select components must be used within an OxSelect");return t},xe=({children:t,className:s,disabled:o=!1,id:i,value:r})=>{const{closeDropdown:x,onSelect:a,selectedValue:l}=Be(),u=()=>{a({value:r,label:t})},h=p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),a({value:r,label:t})),p.key==="Escape"&&x()},d=l.includes(r);return e.jsxRuntimeExports.jsx("li",{role:"none",children:e.jsxRuntimeExports.jsxs("button",{id:i,"aria-selected":d,className:n.twMerge("group flex w-full items-center justify-between rounded-sm px-2 py-1.5 text-left text-sm enabled:text-white","enabled:cursor-pointer enabled:hover:bg-white/6","default-inset-focus","default-disabled",d&&"bg-white/5",s),disabled:o,role:"option",tabIndex:o?-1:0,onClick:u,onKeyDown:h,children:[t,d&&!o&&e.jsxRuntimeExports.jsx(n.OxIcon,{className:"text-violet-700",icon:"mdiCheck",size:.8})]})})};let U=null,_=null;const Pe=()=>(U||(U=document.createElement("canvas"),_=U.getContext("2d"),_.font="0.875rem system-ui, sans-serif"),_),We=(t,s,o)=>{if(t.length===0)return[];if(!s.current)return t.slice(0,1);const i=s.current.offsetWidth||0,r=12,x=32,a=32;let l=i-r-x;t.length>1&&(l-=a);const u=Pe();if(!u)return t.slice(0,2);const h=o?4:8,d=o?12:0;let p=0,g=0;for(let f=0;f<t.length;f++){const j=t[f],v=String(j.label),O=u.measureText(v).width+(o?d:0),c=f>0?p+O+h:p+O;if(c<=l)p=c,g++;else break}return g=Math.max(1,g),t.slice(0,g)},qe=t=>t==null?[]:Array.isArray(t)?t:[t],He=({badgeColor:t="purple",children:s,className:o,defaultValue:i=null,description:r,disabled:x=!1,displayAsBadges:a=!1,error:l=!1,errorMessage:u,id:h,label:d,multiple:p=!1,name:g,onChange:f,placeholder:j="Select an option",required:v=!1})=>{const R=b.useId(),O=b.useRef(null),[c,w]=b.useState(!1),[y,I]=b.useState([]),L=h||R,N=`${L}-select`,F=`${L}-description`,S=`${L}-error`,D=l&&u,P=(k,m)=>{let E=null;return b.Children.forEach(k,C=>{if(b.isValidElement(C)&&C.type===xe){const z=C.props;z.value===m&&(E={value:z.value,label:z.children})}}),E},W=k=>{let m;if(p?y.some(C=>C.value===k.value)?m=y.filter(C=>C.value!==k.value):m=[...y,k]:(m=[k],w(!1)),I(m),f){const E=p?m.map(C=>C.value):m[0]?.value??null;f(E)}};b.useEffect(()=>{if(i!==void 0){const k=qe(i),m=[];k.forEach(E=>{const C=P(s,E);C&&m.push(C)}),I(p?m:m.slice(0,1))}},[i,s,p]);const V=e.jsxRuntimeExports.jsx("ul",{id:`${N}-listbox`,"aria-multiselectable":p,className:"max-h-72 space-y-0.5 overflow-hidden overflow-y-auto",role:"listbox",children:s}),q=We(y,O,a),J=y.length-q.length,A=J>0;return e.jsxRuntimeExports.jsx(ae.Provider,{value:{selectedValue:y.map(k=>k.value),multiple:p,onSelect:W,closeDropdown:()=>w(!1)},children:e.jsxRuntimeExports.jsxs("div",{className:n.twMerge("flex w-full flex-col gap-1",o),children:[d&&e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:N,required:v,children:d}),e.jsxRuntimeExports.jsx(Y,{align:"start",content:V,contentClassName:"default-border bg-zinc-1000/70 rounded-lg p-1 backdrop-blur-xl animate-dropdown-in-bottom",contentStyle:{minWidth:`${O.current?.offsetWidth||200}px`},disabled:x,open:c,position:"bottom",trigger:"click",onOpenChange:w,children:e.jsxRuntimeExports.jsxs("button",{id:N,"aria-controls":`${N}-listbox`,"aria-describedby":[r?F:"",D?S:""].filter(Boolean).join(" ")||void 0,"aria-disabled":x,"aria-expanded":c,"aria-haspopup":"listbox","aria-invalid":l,"aria-required":v,className:n.twJoin("relative flex h-10 w-full gap-x-2 rounded-lg py-2 ps-3 pe-8 text-start text-sm enabled:cursor-pointer enabled:text-white","default-outset-focus default-disabled",l?"default-error-border":"default-border",c&&"default-active-border"),disabled:x,ref:O,role:"combobox",type:"button",children:[e.jsxRuntimeExports.jsx("span",{className:n.twJoin("w-full overflow-hidden text-ellipsis",a?p&&"flex flex-wrap gap-1":"whitespace-nowrap",x&&a&&"opacity-50"),children:y.length>0?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[a&&p?q.map(k=>e.jsxRuntimeExports.jsx(H,{color:t,size:"sm",children:k.label},String(k.value))):q.map((k,m,E)=>e.jsxRuntimeExports.jsxs(b.Fragment,{children:[k.label,m<E.length-1&&", "]},String(k.value))),A&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[!(a&&p)&&" ",e.jsxRuntimeExports.jsxs(H,{color:t,size:"sm",children:["+",J]})]})]}):j}),e.jsxRuntimeExports.jsx("div",{className:"absolute end-3 top-1/2 -translate-y-1/2",children:e.jsxRuntimeExports.jsx(n.OxIcon,{className:n.twJoin("transition-transform duration-300 ease-in-out",x&&"text-neutral-500",c&&"rotate-180"),icon:"mdiChevronDown",size:.8})})]})}),g&&e.jsxRuntimeExports.jsx("input",{name:g,type:"hidden",value:y.map(k=>k.value).join(",")}),r&&e.jsxRuntimeExports.jsx(M.OxDescription,{id:F,disabled:x,children:r}),D&&e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:S,children:u})]})})},Je=({children:t,className:s})=>e.jsxRuntimeExports.jsx("div",{className:n.twMerge("px-2 py-1 text-xs font-medium text-neutral-400",s),children:t}),Ve={default:"bg-zinc-800/80",purple:"bg-purple-950/50",blue:"bg-blue-950/50",gray:"bg-gray-800/50"},Ae={rectangle:"rounded-md",circle:"rounded-full"},ce=({animate:t=!0,className:s,color:o="default",fullWidth:i=!1,height:r,shape:x="rectangle",width:a,...l})=>{const u={height:typeof r=="number"?`${r}px`:r,width:typeof a=="number"?`${a}px`:a};return e.jsxRuntimeExports.jsx("div",{"aria-busy":"true","aria-label":"Loading...",className:n.twMerge("relative overflow-hidden",Ve[o],Ae[x],t&&"animate-pulse",i&&"w-full",s),role:"status",style:u,...l})},Ge=({animate:t=!0,className:s,color:o="default",fullWidth:i=!1,gap:r=8,height:x=20,lines:a=1,width:l,...u})=>{const h=g=>g<=1?`${g*100}%`:`${g}px`,d=g=>{if(!i){if(Array.isArray(l)){const f=l[g%l.length];return f==null?void 0:typeof f=="number"?h(f):f}if(typeof l=="number"){if(a>1&&g===a-1){const f=l<=1?l*.6:Math.max(100,l*.6);return h(f)}return h(l)}return"200px"}},p={4:"space-y-1",8:"space-y-2",12:"space-y-3",16:"space-y-4",20:"space-y-5"}[r]||"space-y-2";return e.jsxRuntimeExports.jsx("div",{className:n.twMerge("flex flex-col",p,s),...u,children:Array.from({length:a}).map((g,f)=>e.jsxRuntimeExports.jsx(ce,{animate:t,color:o,fullWidth:i,height:x,width:d(f)},f))})},Ke=({className:t,description:s,disabled:o=!1,error:i=!1,errorMessage:r,id:x,label:a,name:l,onChange:u,placeholder:h="Enter text...",readOnly:d=!1,required:p=!1,rows:g=3,showMaxLength:f=!1,value:j,...v})=>{const R=b.useId(),[O,c]=b.useState(typeof j=="string"?j.length:0),w=x||R,y=`${w}-textarea`,I=`${w}-description`,L=`${w}-error`,N=v.maxLength,F=i&&r;b.useEffect(()=>{typeof j=="string"&&c(j.length)},[j]);const S=P=>{const W=P.target.value.length;c(W),u?.(P)},D=e.jsxRuntimeExports.jsx("textarea",{id:y,"aria-describedby":[s?I:"",F?L:""].filter(Boolean).join(" ")||void 0,"aria-invalid":i,"aria-required":p,className:n.twMerge("flex min-h-10 w-full resize-y rounded-lg bg-transparent px-2 py-2 text-sm text-white","placeholder:text-neutral-500","default-outset-focus","default-disabled",i?"default-error-border":"default-border",t),disabled:o,name:l,placeholder:h,readOnly:d,rows:g,value:j,onChange:S,...v});return e.jsxRuntimeExports.jsxs("div",{className:"flex w-full flex-col gap-1",children:[a?e.jsxRuntimeExports.jsx(M.OxLabel,{htmlFor:y,required:p,children:a}):null,D,f&&typeof N=="number"?e.jsxRuntimeExports.jsxs("div",{className:"pointer-events-none mt-1 text-right text-xs text-neutral-400",children:[O,"/",N]}):null,s?e.jsxRuntimeExports.jsx(M.OxDescription,{id:I,disabled:o,children:s}):null,F?e.jsxRuntimeExports.jsx(M.OxErrorMessage,{id:L,children:r}):null]})},Ue={default:"default-border backdrop-blur-xl text-white bg-zinc-1000/70",error:"bg-red-900/70 text-red-200 border-red-700",warning:"bg-amber-900/70 text-amber-200 border-amber-700",info:"bg-blue-900/70 text-blue-200 border-blue-700",success:"bg-green-900/70 text-green-200 border-green-700"},_e=({align:t="center",children:s,className:o,content:i,disabled:r=!1,id:x,onOpenChange:a,open:l,position:u="top",trigger:h="hover",variant:d="default"})=>{const p=e.jsxRuntimeExports.jsx("div",{className:n.twMerge("max-w-xs rounded-md border px-2 py-1 text-xs break-words backdrop-blur-sm",Ue[d],o),children:i});return e.jsxRuntimeExports.jsx(Y,{id:x,align:t,content:p,contentRole:"tooltip",disabled:r,offset:8,open:l,position:u,trigger:h,useAriaControls:!1,onOpenChange:a,children:s})},Ye=({children:t,onAuthenticated:s=null,onLoading:o=null})=>{const{isLoggedIn:i,loading:r}=te.useOxAuth();return r?o:i?s:t},Qe=({children:t,onLoading:s=null,onUnauthenticated:o=null})=>{const{isLoggedIn:i,loading:r}=te.useOxAuth();return r?s:i?t:o};exports.OxButton=n.OxButton;exports.OxIcon=n.OxIcon;exports.OxDescription=M.OxDescription;exports.OxErrorMessage=M.OxErrorMessage;exports.OxForm=M.OxForm;exports.OxInput=M.OxInput;exports.OxLabel=M.OxLabel;exports.OxAvatar=me;exports.OxAvatarImage=se;exports.OxAvatarText=he;exports.OxBadge=H;exports.OxCard=Ne;exports.OxCardContent=Ie;exports.OxCardFooter=Me;exports.OxCardHeader=Ce;exports.OxCheckbox=Le;exports.OxDropdown=ie;exports.OxDropdownContent=Q;exports.OxDropdownFooter=re;exports.OxDropdownHeader=X;exports.OxDropdownItem=le;exports.OxDropdownSeparator=Fe;exports.OxDropdownShortcut=De;exports.OxDropdownTrigger=Z;exports.OxGuestRoute=Ye;exports.OxNotificationDropdown=Te;exports.OxProtectedRoute=Qe;exports.OxSelect=He;exports.OxSelectLabel=Je;exports.OxSelectOption=xe;exports.OxSkeleton=ce;exports.OxSkeletonText=Ge;exports.OxTextarea=Ke;exports.OxTooltip=_e;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("./chunks/ui-ChsTPgui.js");exports.OxAccordion=x.OxAccordion;exports.OxAlert=x.OxAlert;exports.OxAvatar=x.OxAvatar;exports.OxBadge=x.OxBadge;exports.OxBreadcrumb=x.OxBreadcrumb;exports.OxButton=x.OxButton;exports.OxCalendar=x.OxCalendar;exports.OxCard=x.OxCard;exports.OxCheckbox=x.OxCheckbox;exports.OxDateInput=x.OxDateInput;exports.OxDescription=x.OxDescription;exports.OxDescriptionList=x.OxDescriptionList;exports.OxDialog=x.OxDialog;exports.OxDrawer=x.OxDrawer;exports.OxDropdown=x.OxDropdown;exports.OxError=x.OxError;exports.OxFileUpload=x.OxFileUpload;exports.OxFloating=x.OxFloating;exports.OxForm=x.OxForm;exports.OxHeading=x.OxHeading;exports.OxIcon=x.OxIcon;exports.OxJsonField=x.OxJsonField;exports.OxLabel=x.OxLabel;exports.OxLegend=x.OxLegend;exports.OxLink=x.OxLink;exports.OxNotifications=x.OxNotifications;exports.OxNumberInput=x.OxNumberInput;exports.OxOtpInput=x.OxOtpInput;exports.OxPagination=x.OxPagination;exports.OxPopover=x.OxPopover;exports.OxProgress=x.OxProgress;exports.OxRadio=x.OxRadio;exports.OxSelect=x.OxSelect;exports.OxSeparator=x.OxSeparator;exports.OxSkeleton=x.OxSkeleton;exports.OxSkeletonText=x.OxSkeletonText;exports.OxSlider=x.OxSlider;exports.OxSpinner=x.OxSpinner;exports.OxStatusDisplay=x.OxStatusDisplay;exports.OxStepper=x.OxStepper;exports.OxSwitch=x.OxSwitch;exports.OxTable=x.OxTable;exports.OxTabs=x.OxTabs;exports.OxTextInput=x.OxTextInput;exports.OxTextarea=x.OxTextarea;exports.OxTimeInput=x.OxTimeInput;exports.OxTimeline=x.OxTimeline;exports.OxToast=x.OxToast;exports.OxToastProvider=x.OxToastProvider;exports.OxToggle=x.OxToggle;exports.OxTooltip=x.OxTooltip;exports.useOxToast=x.useOxToast;
|