randmarcomps 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/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # randmarcomps
2
+
3
+ A simple TypeScript React component library with Tailwind CSS v4 styling.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install randmarcomps
9
+ ```
10
+
11
+ ## Requirements
12
+
13
+ This component library requires the following dependencies:
14
+
15
+ ### Tailwind CSS v4
16
+
17
+ ```bash
18
+ npm install tailwindcss@^4.0.0
19
+ ```
20
+
21
+ For Tailwind CSS v4, you need to add a source directive to your CSS file to include the styles from randmarcomps:
22
+
23
+ ```css
24
+ /* In your main CSS file (e.g., src/index.css) */
25
+ @import 'tailwindcss';
26
+ @source "../node_modules/randmarcomps/dist";
27
+
28
+ /* Rest of your CSS */
29
+ ```
30
+
31
+ This directive tells Tailwind to process the components from randmarcomps when generating your CSS.
32
+
33
+ If you're using a different path structure, adjust the path accordingly. The path should be relative to your CSS file.
34
+
35
+ ### React Router
36
+
37
+ Several components (like Navbar and Topbar) require React Router:
38
+
39
+ ```bash
40
+ npm install react-router-dom@^7.3.0
41
+ ```
42
+
43
+ Components that use React Router include:
44
+ - Navbar (uses useParams, Link)
45
+ - Topbar (uses useNavigate, useParams)
46
+
47
+ ## Usage
48
+
49
+ Import the components directly:
50
+
51
+ ```tsx
52
+ import {
53
+ InputOTP,
54
+ InputOTPGroup,
55
+ InputOTPSeparator,
56
+ InputOTPSlot,
57
+ } from 'randmarcomps';
58
+
59
+ function App() {
60
+ return (
61
+ <InputOTP maxLength={6}>
62
+ <InputOTPGroup>
63
+ <InputOTPSlot index={0} />
64
+ <InputOTPSlot index={1} />
65
+ <InputOTPSlot index={2} />
66
+ </InputOTPGroup>
67
+ <InputOTPSeparator />
68
+ <InputOTPGroup>
69
+ <InputOTPSlot index={3} />
70
+ <InputOTPSlot index={4} />
71
+ <InputOTPSlot index={5} />
72
+ </InputOTPGroup>
73
+ </InputOTP>);
74
+ }
75
+ ```
76
+
77
+ ## Compatibility
78
+
79
+ This library is designed to work with:
80
+ - React 19
81
+ - React Router 7
82
+ - Tailwind CSS v4
83
+
84
+ If you're using earlier versions, you may encounter compatibility issues:
85
+ - Tailwind v3: You may encounter styling issues due to differences in the CSS layer system
86
+ - React Router <7: The API may have changed between versions
87
+
88
+ ## Development
89
+
90
+ - `npm run dev` - Start development server
91
+ - `npm run build` - Build the library
92
+ - `npm run lint` - Lint the code
@@ -0,0 +1,304 @@
1
+ import { ButtonProps as ButtonProps_2 } from './button';
2
+ import { ClassProp } from 'class-variance-authority/types';
3
+ import { JSX } from 'react/jsx-runtime';
4
+ import { OTPInput } from 'input-otp';
5
+ import * as React_2 from 'react';
6
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
7
+ import { SeparatorProps } from '@radix-ui/react-separator';
8
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
9
+ import * as ToastPrimitives from '@radix-ui/react-toast';
10
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
11
+ import { VariantProps } from 'class-variance-authority';
12
+
13
+ export declare const Button: React_2.ForwardRefExoticComponent<ButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
14
+
15
+ export declare interface ButtonProps extends React_2.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
16
+ asChild?: boolean;
17
+ }
18
+
19
+ export declare const buttonVariants: (props?: ({
20
+ variant?: "link" | "default" | "none" | "destructive" | "outline" | "defaultOutline" | "secondary" | "ghost" | "blue" | "red" | null | undefined;
21
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
22
+ } & ClassProp) | undefined) => string;
23
+
24
+ export declare const Input: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React_2.RefAttributes<HTMLInputElement>>;
25
+
26
+ export declare function InputOTP({ className, containerClassName, ...props }: React_2.ComponentProps<typeof OTPInput> & {
27
+ containerClassName?: string;
28
+ }): JSX.Element;
29
+
30
+ export declare function InputOTPGroup({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
31
+
32
+ export declare function InputOTPSeparator({ ...props }: React_2.ComponentProps<"div">): JSX.Element;
33
+
34
+ export declare function InputOTPSlot({ index, className, ...props }: React_2.ComponentProps<"div"> & {
35
+ index: number;
36
+ }): JSX.Element;
37
+
38
+ export declare function Layout({ children, routes, searchResultsRouteName, getMyAccountPath, accountData, applicationName, dashboardTitle, onSignOut, }: LayoutProps): JSX.Element;
39
+
40
+ /**
41
+ * Props for the Layout component
42
+ */
43
+ declare interface LayoutProps {
44
+ /**
45
+ * Child components to render within the layout
46
+ */
47
+ children: React.ReactNode;
48
+ /**
49
+ * Array of application routes for navigation
50
+ */
51
+ routes: NavRoute[];
52
+ /**
53
+ * Route name for search results page
54
+ * @default "search"
55
+ */
56
+ searchResultsRouteName?: string;
57
+ /**
58
+ * Function to get the path to the account page for a given appID
59
+ */
60
+ getMyAccountPath: (appId: string) => string;
61
+ /**
62
+ * Account data containing partner information
63
+ */
64
+ accountData?: {
65
+ PublicName?: string;
66
+ };
67
+ /**
68
+ * Application name from the user profile
69
+ */
70
+ applicationName?: string;
71
+ /**
72
+ * Title to display in the dashboard header
73
+ * @default "Partner Dashboard"
74
+ */
75
+ dashboardTitle?: string;
76
+ /**
77
+ * Function to handle sign out action
78
+ */
79
+ onSignOut: () => void;
80
+ }
81
+
82
+ export declare function Navbar({ routes, getMyAccountPath, publicName, applicationName, dashboardTitle }: NavbarProps): JSX.Element;
83
+
84
+ declare interface NavbarProps {
85
+ /**
86
+ * Array of application routes to display in the navigation
87
+ */
88
+ routes: NavRoute[];
89
+ /**
90
+ * Function to get the path to the account page for a given appID
91
+ */
92
+ getMyAccountPath: (appId: string) => string;
93
+ /**
94
+ * Public name of the partner
95
+ */
96
+ publicName?: string;
97
+ /**
98
+ * Application name from the user profile
99
+ */
100
+ applicationName?: string;
101
+ /**
102
+ * Title to display in the dashboard header
103
+ * @default "Partner Dashboard"
104
+ */
105
+ dashboardTitle?: string;
106
+ }
107
+
108
+ /**
109
+ * Minimal interface for route configuration needed by the navbar
110
+ */
111
+ export declare interface NavRoute {
112
+ key: string;
113
+ path: string;
114
+ label?: string;
115
+ icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;
116
+ showInNav?: boolean;
117
+ }
118
+
119
+ export declare const Separator: React_2.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
120
+
121
+ export declare const Sheet: React_2.FC<SheetPrimitive.DialogProps>;
122
+
123
+ export declare const SheetClose: React_2.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React_2.RefAttributes<HTMLButtonElement>>;
124
+
125
+ export declare const SheetContent: React_2.ForwardRefExoticComponent<SheetContentProps & React_2.RefAttributes<HTMLDivElement>>;
126
+
127
+ declare interface SheetContentProps extends React_2.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
128
+ }
129
+
130
+ export declare const SheetDescription: React_2.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>, "ref"> & React_2.RefAttributes<HTMLParagraphElement>>;
131
+
132
+ export declare const SheetFooter: {
133
+ ({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX.Element;
134
+ displayName: string;
135
+ };
136
+
137
+ export declare const SheetHeader: {
138
+ ({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX.Element;
139
+ displayName: string;
140
+ };
141
+
142
+ export declare const SheetOverlay: React_2.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
143
+
144
+ export declare const SheetPortal: React_2.FC<SheetPrimitive.DialogPortalProps>;
145
+
146
+ export declare const SheetTitle: React_2.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React_2.RefAttributes<HTMLHeadingElement>, "ref"> & React_2.RefAttributes<HTMLHeadingElement>>;
147
+
148
+ export declare const SheetTrigger: React_2.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
149
+
150
+ declare const sheetVariants: (props?: ({
151
+ side?: "top" | "bottom" | "left" | "right" | null | undefined;
152
+ } & ClassProp) | undefined) => string;
153
+
154
+ export declare const Sidebar: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLDivElement> & React_2.HTMLAttributes<HTMLDivElement> & {
155
+ side?: "left" | "right";
156
+ variant?: "sidebar" | "floating" | "inset";
157
+ collapsible?: "offcanvas" | "icon" | "none";
158
+ }, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
159
+
160
+ export declare const SidebarContent: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
161
+
162
+ declare type SidebarContext = {
163
+ state: "expanded" | "collapsed";
164
+ open: boolean;
165
+ setOpen: (open: boolean) => void;
166
+ openMobile: boolean;
167
+ setOpenMobile: (open: boolean) => void;
168
+ isMobile: boolean;
169
+ toggleSidebar: () => void;
170
+ };
171
+
172
+ declare const SidebarContext: React_2.Context<SidebarContext | null>;
173
+
174
+ export declare const SidebarFooter: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
175
+
176
+ export declare const SidebarGroup: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
177
+
178
+ export declare const SidebarGroupAction: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLButtonElement> & React_2.ButtonHTMLAttributes<HTMLButtonElement> & {
179
+ asChild?: boolean;
180
+ }, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
181
+
182
+ export declare const SidebarGroupContent: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
183
+
184
+ export declare const SidebarGroupLabel: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLDivElement> & React_2.HTMLAttributes<HTMLDivElement> & {
185
+ asChild?: boolean;
186
+ }, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
187
+
188
+ export declare const SidebarHeader: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
189
+
190
+ export declare const SidebarInput: React_2.ForwardRefExoticComponent<Omit<Omit<React_2.DetailedHTMLProps<React_2.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React_2.RefAttributes<HTMLInputElement>, "ref"> & React_2.RefAttributes<HTMLInputElement>>;
191
+
192
+ export declare const SidebarInset: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
193
+
194
+ export declare const SidebarMenu: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React_2.RefAttributes<HTMLUListElement>>;
195
+
196
+ export declare const SidebarMenuAction: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLButtonElement> & React_2.ButtonHTMLAttributes<HTMLButtonElement> & {
197
+ asChild?: boolean;
198
+ showOnHover?: boolean;
199
+ }, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
200
+
201
+ export declare const SidebarMenuBadge: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
202
+
203
+ export declare const SidebarMenuButton: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLButtonElement> & React_2.ButtonHTMLAttributes<HTMLButtonElement> & {
204
+ asChild?: boolean;
205
+ isActive?: boolean;
206
+ tooltip?: string | React_2.ComponentProps<typeof TooltipContent>;
207
+ } & VariantProps<(props?: ({
208
+ variant?: "default" | "outline" | null | undefined;
209
+ size?: "default" | "sm" | "lg" | null | undefined;
210
+ } & ClassProp) | undefined) => string>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
211
+
212
+ export declare const SidebarMenuItem: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React_2.RefAttributes<HTMLLIElement>>;
213
+
214
+ export declare const SidebarMenuSkeleton: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLDivElement> & React_2.HTMLAttributes<HTMLDivElement> & {
215
+ showIcon?: boolean;
216
+ }, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
217
+
218
+ export declare const SidebarMenuSub: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React_2.RefAttributes<HTMLUListElement>>;
219
+
220
+ export declare const SidebarMenuSubButton: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLAnchorElement> & React_2.AnchorHTMLAttributes<HTMLAnchorElement> & {
221
+ asChild?: boolean;
222
+ size?: "sm" | "md";
223
+ isActive?: boolean;
224
+ }, "ref"> & React_2.RefAttributes<HTMLAnchorElement>>;
225
+
226
+ export declare const SidebarMenuSubItem: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React_2.RefAttributes<HTMLLIElement>>;
227
+
228
+ export declare const SidebarProvider: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLDivElement> & React_2.HTMLAttributes<HTMLDivElement> & {
229
+ defaultOpen?: boolean;
230
+ open?: boolean;
231
+ onOpenChange?: (open: boolean) => void;
232
+ }, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
233
+
234
+ export declare const SidebarRail: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
235
+
236
+ export declare const SidebarSeparator: React_2.ForwardRefExoticComponent<Omit<Omit<SeparatorProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
237
+
238
+ export declare const SidebarTrigger: React_2.ForwardRefExoticComponent<Omit<ButtonProps_2 & React_2.RefAttributes<HTMLButtonElement>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
239
+
240
+ export declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): JSX.Element;
241
+
242
+ export declare const Toast: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React_2.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
243
+ variant?: "default" | "destructive" | "outline" | "secondary" | "success" | "warning" | "info" | null | undefined;
244
+ } & ClassProp) | undefined) => string> & React_2.RefAttributes<HTMLLIElement>>;
245
+
246
+ export declare function toast({ ...props }: Toast_2): {
247
+ id: string;
248
+ dismiss: () => void;
249
+ update: (props: ToasterToast) => void;
250
+ };
251
+
252
+ declare type Toast_2 = Omit<ToasterToast, "id">;
253
+
254
+ export declare const ToastAction: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React_2.RefAttributes<HTMLButtonElement>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
255
+
256
+ export declare type ToastActionElement = React_2.ReactElement<typeof ToastAction>;
257
+
258
+ export declare const ToastClose: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React_2.RefAttributes<HTMLButtonElement>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
259
+
260
+ export declare const ToastDescription: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
261
+
262
+ export declare function Toaster(): JSX.Element;
263
+
264
+ declare type ToasterToast = ToastProps & {
265
+ id: string;
266
+ title?: React_2.ReactNode;
267
+ description?: React_2.ReactNode;
268
+ action?: ToastActionElement;
269
+ };
270
+
271
+ export declare type ToastProps = React_2.ComponentPropsWithoutRef<typeof Toast>;
272
+
273
+ export declare const ToastProvider: React_2.FC<ToastPrimitives.ToastProviderProps>;
274
+
275
+ export declare const ToastTitle: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
276
+
277
+ export declare const ToastViewport: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React_2.RefAttributes<HTMLOListElement>, "ref"> & React_2.RefAttributes<HTMLOListElement>>;
278
+
279
+ export declare const Tooltip: React_2.FC<TooltipPrimitive.TooltipProps>;
280
+
281
+ export declare const TooltipContent: React_2.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
282
+
283
+ export declare const TooltipProvider: React_2.FC<TooltipPrimitive.TooltipProviderProps>;
284
+
285
+ export declare const TooltipTrigger: React_2.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
286
+
287
+ export declare function Topbar({ onSignOut, searchResultsRouteName }: TopbarProps): JSX.Element;
288
+
289
+ declare interface TopbarProps {
290
+ onSignOut: () => void;
291
+ searchResultsRouteName: string;
292
+ }
293
+
294
+ export declare function useIsMobile(): boolean;
295
+
296
+ export declare function useSidebar(): SidebarContext;
297
+
298
+ export declare function useToast(): {
299
+ toast: typeof toast;
300
+ dismiss: (toastId?: string) => void;
301
+ toasts: ToasterToast[];
302
+ };
303
+
304
+ export { }