@dilipod/ui 0.2.5 → 0.2.7
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/components/form-field.d.ts +3 -1
- package/dist/components/form-field.d.ts.map +1 -1
- package/dist/components/sidebar.d.ts +8 -0
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/toast.d.ts +19 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/toaster.d.ts +2 -0
- package/dist/components/toaster.d.ts.map +1 -0
- package/dist/components/use-toast.d.ts +45 -0
- package/dist/components/use-toast.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +263 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +253 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
- package/src/components/form-field.tsx +13 -8
- package/src/components/sidebar.tsx +19 -1
- package/src/components/toast.tsx +144 -0
- package/src/components/toaster.tsx +40 -0
- package/src/components/use-toast.tsx +187 -0
- package/src/index.ts +16 -0
|
@@ -4,8 +4,10 @@ export interface FormFieldProps {
|
|
|
4
4
|
label?: string;
|
|
5
5
|
/** Error message to display */
|
|
6
6
|
error?: string;
|
|
7
|
-
/** Helper text to display */
|
|
7
|
+
/** Helper text to display below the field */
|
|
8
8
|
helperText?: string;
|
|
9
|
+
/** Hint element to display on the right side of the label (e.g., link) */
|
|
10
|
+
hint?: React.ReactNode;
|
|
9
11
|
/** Whether the field is required */
|
|
10
12
|
required?: boolean;
|
|
11
13
|
/** Field ID for accessibility */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../src/components/form-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../src/components/form-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iCAAiC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,QAAA,MAAM,SAAS,uFAiDd,CAAA;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -27,6 +27,14 @@ export interface SidebarProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
27
27
|
weight?: 'fill' | 'regular';
|
|
28
28
|
}>;
|
|
29
29
|
};
|
|
30
|
+
/** Optional assistant button configuration */
|
|
31
|
+
assistantButton?: {
|
|
32
|
+
label?: string;
|
|
33
|
+
icon?: React.ComponentType<React.SVGProps<SVGSVGElement> & {
|
|
34
|
+
weight?: 'fill' | 'regular';
|
|
35
|
+
}>;
|
|
36
|
+
onClick?: () => void;
|
|
37
|
+
};
|
|
30
38
|
/** Header content (e.g., Logo) */
|
|
31
39
|
header?: React.ReactNode;
|
|
32
40
|
/** Custom Link component (e.g., Next.js Link) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/components/sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;CAC3F;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACrE,4CAA4C;IAC5C,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KACrB,CAAA;IACD,iCAAiC;IACjC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC,CAAA;KAC5F,CAAA;IACD,kCAAkC;IAClC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,iDAAiD;IACjD,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtG;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CAC5H;AAED,QAAA,MAAM,cAAc,+FAsCnB,CAAA;AAGD,QAAA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/components/sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;CAC3F;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACrE,4CAA4C;IAC5C,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KACrB,CAAA;IACD,iCAAiC;IACjC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC,CAAA;KAC5F,CAAA;IACD,8CAA8C;IAC9C,eAAe,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC,CAAA;QAC3F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KACrB,CAAA;IACD,kCAAkC;IAClC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,iDAAiD;IACjD,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtG;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CAC5H;AAED,QAAA,MAAM,cAAc,+FAsCnB,CAAA;AAGD,QAAA,MAAM,OAAO,kFAiHZ,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ToastPrimitives from '@radix-ui/react-toast';
|
|
3
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
4
|
+
declare const ToastProvider: React.FC<ToastPrimitives.ToastProviderProps>;
|
|
5
|
+
declare const ToastViewport: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React.RefAttributes<HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
|
|
6
|
+
declare const Toast: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
|
|
7
|
+
variant?: "default" | "success" | "warning" | "error" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLLIElement>>;
|
|
9
|
+
declare const ToastAction: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
declare const ToastClose: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
declare const ToastTitle: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
|
|
14
|
+
type ToastActionElement = React.ReactElement<typeof ToastAction>;
|
|
15
|
+
declare const ToastIcon: ({ variant }: {
|
|
16
|
+
variant?: "default" | "success" | "error" | "warning";
|
|
17
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export { type ToastProps, type ToastActionElement, ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, ToastIcon, };
|
|
19
|
+
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa,8CAA2B,CAAA;AAE9C,QAAA,MAAM,aAAa,kKAYjB,CAAA;AAoBF,QAAA,MAAM,KAAK;;qHAYT,CAAA;AAGF,QAAA,MAAM,WAAW,kKAYf,CAAA;AAGF,QAAA,MAAM,UAAU,iKAed,CAAA;AAGF,QAAA,MAAM,UAAU,2JASd,CAAA;AAGF,QAAA,MAAM,gBAAgB,iKASpB,CAAA;AAGF,KAAK,UAAU,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,KAAK,CAAC,CAAA;AAE9D,KAAK,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,WAAW,CAAC,CAAA;AAGhE,QAAA,MAAM,SAAS,GAAI,aAAa;IAAE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,4CAWxF,CAAA;AAED,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,aAAa,EACb,aAAa,EACb,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,SAAS,GACV,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toaster.d.ts","sourceRoot":"","sources":["../../src/components/toaster.tsx"],"names":[],"mappings":"AAaA,wBAAgB,OAAO,4CA0BtB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { ToastActionElement, ToastProps } from './toast';
|
|
3
|
+
type ToasterToast = ToastProps & {
|
|
4
|
+
id: string;
|
|
5
|
+
title?: React.ReactNode;
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
action?: ToastActionElement;
|
|
8
|
+
};
|
|
9
|
+
declare const actionTypes: {
|
|
10
|
+
readonly ADD_TOAST: "ADD_TOAST";
|
|
11
|
+
readonly UPDATE_TOAST: "UPDATE_TOAST";
|
|
12
|
+
readonly DISMISS_TOAST: "DISMISS_TOAST";
|
|
13
|
+
readonly REMOVE_TOAST: "REMOVE_TOAST";
|
|
14
|
+
};
|
|
15
|
+
type ActionType = typeof actionTypes;
|
|
16
|
+
type Action = {
|
|
17
|
+
type: ActionType['ADD_TOAST'];
|
|
18
|
+
toast: ToasterToast;
|
|
19
|
+
} | {
|
|
20
|
+
type: ActionType['UPDATE_TOAST'];
|
|
21
|
+
toast: Partial<ToasterToast>;
|
|
22
|
+
} | {
|
|
23
|
+
type: ActionType['DISMISS_TOAST'];
|
|
24
|
+
toastId?: ToasterToast['id'];
|
|
25
|
+
} | {
|
|
26
|
+
type: ActionType['REMOVE_TOAST'];
|
|
27
|
+
toastId?: ToasterToast['id'];
|
|
28
|
+
};
|
|
29
|
+
interface State {
|
|
30
|
+
toasts: ToasterToast[];
|
|
31
|
+
}
|
|
32
|
+
export declare const reducer: (state: State, action: Action) => State;
|
|
33
|
+
type Toast = Omit<ToasterToast, 'id'>;
|
|
34
|
+
declare function toast({ ...props }: Toast): {
|
|
35
|
+
id: string;
|
|
36
|
+
dismiss: () => void;
|
|
37
|
+
update: (props: ToasterToast) => void;
|
|
38
|
+
};
|
|
39
|
+
declare function useToast(): {
|
|
40
|
+
toast: typeof toast;
|
|
41
|
+
dismiss: (toastId?: string) => void;
|
|
42
|
+
toasts: ToasterToast[];
|
|
43
|
+
};
|
|
44
|
+
export { useToast, toast };
|
|
45
|
+
//# sourceMappingURL=use-toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../src/components/use-toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAK7D,KAAK,YAAY,GAAG,UAAU,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AAED,QAAA,MAAM,WAAW;;;;;CAKP,CAAA;AASV,KAAK,UAAU,GAAG,OAAO,WAAW,CAAA;AAEpC,KAAK,MAAM,GACP;IACE,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAC7B,KAAK,EAAE,YAAY,CAAA;CACpB,GACD;IACE,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IAChC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAC7B,GACD;IACE,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;CAC7B,GACD;IACE,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;CAC7B,CAAA;AAEL,UAAU,KAAK;IACb,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB;AAoBD,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,KAAG,KAmDtD,CAAA;AAaD,KAAK,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AAErC,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK;;;oBAGT,YAAY;EAwBpC;AAED,iBAAS,QAAQ;;wBAgBO,MAAM;YApIpB,YAAY,EAAE;EAsIvB;AAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -41,6 +41,10 @@ export type { FormFieldProps } from './components/form-field';
|
|
|
41
41
|
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './components/table';
|
|
42
42
|
export { Divider } from './components/divider';
|
|
43
43
|
export type { DividerProps } from './components/divider';
|
|
44
|
+
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, ToastIcon, } from './components/toast';
|
|
45
|
+
export type { ToastProps, ToastActionElement } from './components/toast';
|
|
46
|
+
export { Toaster } from './components/toaster';
|
|
47
|
+
export { useToast, toast } from './components/use-toast';
|
|
44
48
|
export { cn } from './lib/utils';
|
|
45
49
|
export * from './icons';
|
|
46
50
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
|
13
13
|
var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
|
|
14
14
|
var AvatarPrimitive = require('@radix-ui/react-avatar');
|
|
15
15
|
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
16
|
+
var ToastPrimitives = require('@radix-ui/react-toast');
|
|
16
17
|
|
|
17
18
|
function _interopNamespace(e) {
|
|
18
19
|
if (e && e.__esModule) return e;
|
|
@@ -38,6 +39,7 @@ var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrim
|
|
|
38
39
|
var NavigationMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(NavigationMenuPrimitive);
|
|
39
40
|
var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
|
|
40
41
|
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
42
|
+
var ToastPrimitives__namespace = /*#__PURE__*/_interopNamespace(ToastPrimitives);
|
|
41
43
|
|
|
42
44
|
// src/components/button.tsx
|
|
43
45
|
function cn(...inputs) {
|
|
@@ -1168,6 +1170,7 @@ var Sidebar = React21__namespace.forwardRef(
|
|
|
1168
1170
|
pathname,
|
|
1169
1171
|
searchButton,
|
|
1170
1172
|
helpLink,
|
|
1173
|
+
assistantButton,
|
|
1171
1174
|
header,
|
|
1172
1175
|
LinkComponent,
|
|
1173
1176
|
className,
|
|
@@ -1213,7 +1216,7 @@ var Sidebar = React21__namespace.forwardRef(
|
|
|
1213
1216
|
item.name
|
|
1214
1217
|
)) }),
|
|
1215
1218
|
children,
|
|
1216
|
-
(bottomNav.length > 0 || helpLink) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 pb-3 space-y-1 border-t pt-3", children: [
|
|
1219
|
+
(bottomNav.length > 0 || helpLink || assistantButton) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 pb-3 space-y-1 border-t pt-3", children: [
|
|
1217
1220
|
bottomNav.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1218
1221
|
SidebarNavItem,
|
|
1219
1222
|
{
|
|
@@ -1223,6 +1226,17 @@ var Sidebar = React21__namespace.forwardRef(
|
|
|
1223
1226
|
},
|
|
1224
1227
|
item.name
|
|
1225
1228
|
)),
|
|
1229
|
+
assistantButton && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1230
|
+
"button",
|
|
1231
|
+
{
|
|
1232
|
+
onClick: assistantButton.onClick,
|
|
1233
|
+
className: "flex w-full items-center gap-3 rounded-sm px-3 py-2 text-sm bg-[var(--cyan)]/10 text-[var(--black)] hover:bg-[var(--cyan)]/20 transition-colors font-medium",
|
|
1234
|
+
children: [
|
|
1235
|
+
assistantButton.icon && /* @__PURE__ */ jsxRuntime.jsx(assistantButton.icon, { className: "h-4 w-4 text-[var(--cyan)]" }),
|
|
1236
|
+
assistantButton.label
|
|
1237
|
+
]
|
|
1238
|
+
}
|
|
1239
|
+
),
|
|
1226
1240
|
helpLink && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1227
1241
|
"a",
|
|
1228
1242
|
{
|
|
@@ -1329,7 +1343,7 @@ var CodeBlock = React21__namespace.forwardRef(
|
|
|
1329
1343
|
);
|
|
1330
1344
|
CodeBlock.displayName = "CodeBlock";
|
|
1331
1345
|
var FormField = React21__namespace.forwardRef(
|
|
1332
|
-
({ label, error, helperText, required, id, className, children, ...props }, ref) => {
|
|
1346
|
+
({ label, error, helperText, hint, required, id, className, children, ...props }, ref) => {
|
|
1333
1347
|
const fieldId = id || React21__namespace.useId();
|
|
1334
1348
|
const errorId = `${fieldId}-error`;
|
|
1335
1349
|
const helperId = `${fieldId}-helper`;
|
|
@@ -1349,7 +1363,10 @@ var FormField = React21__namespace.forwardRef(
|
|
|
1349
1363
|
return child;
|
|
1350
1364
|
});
|
|
1351
1365
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("space-y-2", className), ...props, children: [
|
|
1352
|
-
label && /* @__PURE__ */ jsxRuntime.
|
|
1366
|
+
(label || hint) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1367
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: fieldId, className: required ? 'after:content-["*"] after:ml-0.5 after:text-red-500' : "", children: label }),
|
|
1368
|
+
hint && /* @__PURE__ */ jsxRuntime.jsx("div", { children: hint })
|
|
1369
|
+
] }),
|
|
1353
1370
|
enhancedChildren,
|
|
1354
1371
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className: "text-sm text-red-600", role: "alert", children: error }),
|
|
1355
1372
|
helperText && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperId, className: "text-xs text-muted-foreground", children: helperText })
|
|
@@ -1456,6 +1473,238 @@ var Divider = React21__namespace.forwardRef(
|
|
|
1456
1473
|
}
|
|
1457
1474
|
);
|
|
1458
1475
|
Divider.displayName = "Divider";
|
|
1476
|
+
var ToastProvider = ToastPrimitives__namespace.Provider;
|
|
1477
|
+
var ToastViewport = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1478
|
+
ToastPrimitives__namespace.Viewport,
|
|
1479
|
+
{
|
|
1480
|
+
ref,
|
|
1481
|
+
className: cn(
|
|
1482
|
+
"fixed bottom-0 right-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:max-w-[420px]",
|
|
1483
|
+
className
|
|
1484
|
+
),
|
|
1485
|
+
...props
|
|
1486
|
+
}
|
|
1487
|
+
));
|
|
1488
|
+
ToastViewport.displayName = ToastPrimitives__namespace.Viewport.displayName;
|
|
1489
|
+
var toastVariants = classVarianceAuthority.cva(
|
|
1490
|
+
"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-sm border p-4 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-bottom-full",
|
|
1491
|
+
{
|
|
1492
|
+
variants: {
|
|
1493
|
+
variant: {
|
|
1494
|
+
default: "border-gray-200 bg-white text-[var(--black)]",
|
|
1495
|
+
success: "border-emerald-200 bg-emerald-50 text-emerald-900",
|
|
1496
|
+
error: "border-red-200 bg-red-50 text-red-900",
|
|
1497
|
+
warning: "border-amber-200 bg-amber-50 text-amber-900"
|
|
1498
|
+
}
|
|
1499
|
+
},
|
|
1500
|
+
defaultVariants: {
|
|
1501
|
+
variant: "default"
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
);
|
|
1505
|
+
var Toast = React21__namespace.forwardRef(({ className, variant, ...props }, ref) => {
|
|
1506
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1507
|
+
ToastPrimitives__namespace.Root,
|
|
1508
|
+
{
|
|
1509
|
+
ref,
|
|
1510
|
+
className: cn(toastVariants({ variant }), className),
|
|
1511
|
+
...props
|
|
1512
|
+
}
|
|
1513
|
+
);
|
|
1514
|
+
});
|
|
1515
|
+
Toast.displayName = ToastPrimitives__namespace.Root.displayName;
|
|
1516
|
+
var ToastAction = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1517
|
+
ToastPrimitives__namespace.Action,
|
|
1518
|
+
{
|
|
1519
|
+
ref,
|
|
1520
|
+
className: cn(
|
|
1521
|
+
"inline-flex h-8 shrink-0 items-center justify-center rounded-sm border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
1522
|
+
className
|
|
1523
|
+
),
|
|
1524
|
+
...props
|
|
1525
|
+
}
|
|
1526
|
+
));
|
|
1527
|
+
ToastAction.displayName = ToastPrimitives__namespace.Action.displayName;
|
|
1528
|
+
var ToastClose = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1529
|
+
ToastPrimitives__namespace.Close,
|
|
1530
|
+
{
|
|
1531
|
+
ref,
|
|
1532
|
+
className: cn(
|
|
1533
|
+
"absolute right-2 top-2 rounded-sm p-1 text-gray-500 opacity-0 transition-opacity hover:text-gray-900 focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100",
|
|
1534
|
+
className
|
|
1535
|
+
),
|
|
1536
|
+
"toast-close": "",
|
|
1537
|
+
...props,
|
|
1538
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(react.X, { size: 16 })
|
|
1539
|
+
}
|
|
1540
|
+
));
|
|
1541
|
+
ToastClose.displayName = ToastPrimitives__namespace.Close.displayName;
|
|
1542
|
+
var ToastTitle = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1543
|
+
ToastPrimitives__namespace.Title,
|
|
1544
|
+
{
|
|
1545
|
+
ref,
|
|
1546
|
+
className: cn("text-sm font-semibold", className),
|
|
1547
|
+
...props
|
|
1548
|
+
}
|
|
1549
|
+
));
|
|
1550
|
+
ToastTitle.displayName = ToastPrimitives__namespace.Title.displayName;
|
|
1551
|
+
var ToastDescription = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1552
|
+
ToastPrimitives__namespace.Description,
|
|
1553
|
+
{
|
|
1554
|
+
ref,
|
|
1555
|
+
className: cn("text-sm opacity-90", className),
|
|
1556
|
+
...props
|
|
1557
|
+
}
|
|
1558
|
+
));
|
|
1559
|
+
ToastDescription.displayName = ToastPrimitives__namespace.Description.displayName;
|
|
1560
|
+
var ToastIcon = ({ variant }) => {
|
|
1561
|
+
switch (variant) {
|
|
1562
|
+
case "success":
|
|
1563
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.CheckCircle, { size: 20, weight: "fill", className: "text-emerald-600" });
|
|
1564
|
+
case "error":
|
|
1565
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.WarningCircle, { size: 20, weight: "fill", className: "text-red-600" });
|
|
1566
|
+
case "warning":
|
|
1567
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.WarningCircle, { size: 20, weight: "fill", className: "text-amber-600" });
|
|
1568
|
+
default:
|
|
1569
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.Info, { size: 20, weight: "fill", className: "text-gray-600" });
|
|
1570
|
+
}
|
|
1571
|
+
};
|
|
1572
|
+
var TOAST_LIMIT = 5;
|
|
1573
|
+
var TOAST_REMOVE_DELAY = 5e3;
|
|
1574
|
+
var count = 0;
|
|
1575
|
+
function genId() {
|
|
1576
|
+
count = (count + 1) % Number.MAX_SAFE_INTEGER;
|
|
1577
|
+
return count.toString();
|
|
1578
|
+
}
|
|
1579
|
+
var toastTimeouts = /* @__PURE__ */ new Map();
|
|
1580
|
+
var addToRemoveQueue = (toastId) => {
|
|
1581
|
+
if (toastTimeouts.has(toastId)) {
|
|
1582
|
+
return;
|
|
1583
|
+
}
|
|
1584
|
+
const timeout = setTimeout(() => {
|
|
1585
|
+
toastTimeouts.delete(toastId);
|
|
1586
|
+
dispatch({
|
|
1587
|
+
type: "REMOVE_TOAST",
|
|
1588
|
+
toastId
|
|
1589
|
+
});
|
|
1590
|
+
}, TOAST_REMOVE_DELAY);
|
|
1591
|
+
toastTimeouts.set(toastId, timeout);
|
|
1592
|
+
};
|
|
1593
|
+
var reducer = (state, action) => {
|
|
1594
|
+
switch (action.type) {
|
|
1595
|
+
case "ADD_TOAST":
|
|
1596
|
+
return {
|
|
1597
|
+
...state,
|
|
1598
|
+
toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)
|
|
1599
|
+
};
|
|
1600
|
+
case "UPDATE_TOAST":
|
|
1601
|
+
return {
|
|
1602
|
+
...state,
|
|
1603
|
+
toasts: state.toasts.map(
|
|
1604
|
+
(t) => t.id === action.toast.id ? { ...t, ...action.toast } : t
|
|
1605
|
+
)
|
|
1606
|
+
};
|
|
1607
|
+
case "DISMISS_TOAST": {
|
|
1608
|
+
const { toastId } = action;
|
|
1609
|
+
if (toastId) {
|
|
1610
|
+
addToRemoveQueue(toastId);
|
|
1611
|
+
} else {
|
|
1612
|
+
state.toasts.forEach((toast2) => {
|
|
1613
|
+
addToRemoveQueue(toast2.id);
|
|
1614
|
+
});
|
|
1615
|
+
}
|
|
1616
|
+
return {
|
|
1617
|
+
...state,
|
|
1618
|
+
toasts: state.toasts.map(
|
|
1619
|
+
(t) => t.id === toastId || toastId === void 0 ? {
|
|
1620
|
+
...t,
|
|
1621
|
+
open: false
|
|
1622
|
+
} : t
|
|
1623
|
+
)
|
|
1624
|
+
};
|
|
1625
|
+
}
|
|
1626
|
+
case "REMOVE_TOAST":
|
|
1627
|
+
if (action.toastId === void 0) {
|
|
1628
|
+
return {
|
|
1629
|
+
...state,
|
|
1630
|
+
toasts: []
|
|
1631
|
+
};
|
|
1632
|
+
}
|
|
1633
|
+
return {
|
|
1634
|
+
...state,
|
|
1635
|
+
toasts: state.toasts.filter((t) => t.id !== action.toastId)
|
|
1636
|
+
};
|
|
1637
|
+
}
|
|
1638
|
+
};
|
|
1639
|
+
var listeners = [];
|
|
1640
|
+
var memoryState = { toasts: [] };
|
|
1641
|
+
function dispatch(action) {
|
|
1642
|
+
memoryState = reducer(memoryState, action);
|
|
1643
|
+
listeners.forEach((listener) => {
|
|
1644
|
+
listener(memoryState);
|
|
1645
|
+
});
|
|
1646
|
+
}
|
|
1647
|
+
function toast({ ...props }) {
|
|
1648
|
+
const id = genId();
|
|
1649
|
+
const update = (props2) => dispatch({
|
|
1650
|
+
type: "UPDATE_TOAST",
|
|
1651
|
+
toast: { ...props2, id }
|
|
1652
|
+
});
|
|
1653
|
+
const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
|
|
1654
|
+
dispatch({
|
|
1655
|
+
type: "ADD_TOAST",
|
|
1656
|
+
toast: {
|
|
1657
|
+
...props,
|
|
1658
|
+
id,
|
|
1659
|
+
open: true,
|
|
1660
|
+
onOpenChange: (open) => {
|
|
1661
|
+
if (!open) dismiss();
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
});
|
|
1665
|
+
return {
|
|
1666
|
+
id,
|
|
1667
|
+
dismiss,
|
|
1668
|
+
update
|
|
1669
|
+
};
|
|
1670
|
+
}
|
|
1671
|
+
function useToast() {
|
|
1672
|
+
const [state, setState] = React21__namespace.useState(memoryState);
|
|
1673
|
+
React21__namespace.useEffect(() => {
|
|
1674
|
+
listeners.push(setState);
|
|
1675
|
+
return () => {
|
|
1676
|
+
const index = listeners.indexOf(setState);
|
|
1677
|
+
if (index > -1) {
|
|
1678
|
+
listeners.splice(index, 1);
|
|
1679
|
+
}
|
|
1680
|
+
};
|
|
1681
|
+
}, [state]);
|
|
1682
|
+
return {
|
|
1683
|
+
...state,
|
|
1684
|
+
toast,
|
|
1685
|
+
dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId })
|
|
1686
|
+
};
|
|
1687
|
+
}
|
|
1688
|
+
function Toaster() {
|
|
1689
|
+
const { toasts } = useToast();
|
|
1690
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ToastProvider, { children: [
|
|
1691
|
+
toasts.map(function({ id, title, description, action, variant, ...props }) {
|
|
1692
|
+
const safeVariant = variant ?? void 0;
|
|
1693
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Toast, { variant: safeVariant, ...props, children: [
|
|
1694
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3", children: [
|
|
1695
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToastIcon, { variant: safeVariant }),
|
|
1696
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1", children: [
|
|
1697
|
+
title && /* @__PURE__ */ jsxRuntime.jsx(ToastTitle, { children: title }),
|
|
1698
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(ToastDescription, { children: description })
|
|
1699
|
+
] })
|
|
1700
|
+
] }),
|
|
1701
|
+
action,
|
|
1702
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToastClose, {})
|
|
1703
|
+
] }, id);
|
|
1704
|
+
}),
|
|
1705
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToastViewport, {})
|
|
1706
|
+
] });
|
|
1707
|
+
}
|
|
1459
1708
|
|
|
1460
1709
|
Object.defineProperty(exports, "AddressBook", {
|
|
1461
1710
|
enumerable: true,
|
|
@@ -1846,6 +2095,15 @@ exports.TableHeader = TableHeader;
|
|
|
1846
2095
|
exports.TableRow = TableRow;
|
|
1847
2096
|
exports.Tag = Tag;
|
|
1848
2097
|
exports.Textarea = Textarea;
|
|
2098
|
+
exports.Toast = Toast;
|
|
2099
|
+
exports.ToastAction = ToastAction;
|
|
2100
|
+
exports.ToastClose = ToastClose;
|
|
2101
|
+
exports.ToastDescription = ToastDescription;
|
|
2102
|
+
exports.ToastIcon = ToastIcon;
|
|
2103
|
+
exports.ToastProvider = ToastProvider;
|
|
2104
|
+
exports.ToastTitle = ToastTitle;
|
|
2105
|
+
exports.ToastViewport = ToastViewport;
|
|
2106
|
+
exports.Toaster = Toaster;
|
|
1849
2107
|
exports.alertVariants = alertVariants;
|
|
1850
2108
|
exports.badgeVariants = badgeVariants;
|
|
1851
2109
|
exports.buttonVariants = buttonVariants;
|
|
@@ -1855,6 +2113,8 @@ exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
|
|
|
1855
2113
|
exports.progressVariants = progressVariants;
|
|
1856
2114
|
exports.statVariants = statVariants;
|
|
1857
2115
|
exports.tagVariants = tagVariants;
|
|
2116
|
+
exports.toast = toast;
|
|
2117
|
+
exports.useToast = useToast;
|
|
1858
2118
|
exports.valueVariants = valueVariants;
|
|
1859
2119
|
//# sourceMappingURL=index.js.map
|
|
1860
2120
|
//# sourceMappingURL=index.js.map
|