bonsaif-ui 0.1.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +59 -0
  3. package/dist/bonsaif-ui.js +3331 -0
  4. package/dist/bonsaif-ui.umd.cjs +1 -0
  5. package/dist/components/BonsaifButton/BonsaifButton.d.ts +7 -0
  6. package/dist/components/BonsaifButton/BonsaifButton.d.ts.map +1 -0
  7. package/dist/components/BonsaifButton/index.d.ts +3 -0
  8. package/dist/components/BonsaifButton/index.d.ts.map +1 -0
  9. package/dist/components/index.d.ts +16 -0
  10. package/dist/components/index.d.ts.map +1 -0
  11. package/dist/components/layout/AuthShell.d.ts +33 -0
  12. package/dist/components/layout/AuthShell.d.ts.map +1 -0
  13. package/dist/components/layout/GlobalScrollbars.d.ts +2 -0
  14. package/dist/components/layout/GlobalScrollbars.d.ts.map +1 -0
  15. package/dist/components/layout/PageHeader.d.ts +29 -0
  16. package/dist/components/layout/PageHeader.d.ts.map +1 -0
  17. package/dist/components/layout/PageSearchInput.d.ts +9 -0
  18. package/dist/components/layout/PageSearchInput.d.ts.map +1 -0
  19. package/dist/components/layout/PrimeAuthRouteShell.d.ts +9 -0
  20. package/dist/components/layout/PrimeAuthRouteShell.d.ts.map +1 -0
  21. package/dist/components/messaging/PrimeSuiteChatFrame.d.ts +2 -0
  22. package/dist/components/messaging/PrimeSuiteChatFrame.d.ts.map +1 -0
  23. package/dist/components/microservices/MicroserviceFrame.d.ts +8 -0
  24. package/dist/components/microservices/MicroserviceFrame.d.ts.map +1 -0
  25. package/dist/components/notifications/PrimeAuthToaster.d.ts +2 -0
  26. package/dist/components/notifications/PrimeAuthToaster.d.ts.map +1 -0
  27. package/dist/components/ui/Button.d.ts +15 -0
  28. package/dist/components/ui/Button.d.ts.map +1 -0
  29. package/dist/components/ui/CalendarPicker.d.ts +9 -0
  30. package/dist/components/ui/CalendarPicker.d.ts.map +1 -0
  31. package/dist/components/ui/CompactFilters.d.ts +27 -0
  32. package/dist/components/ui/CompactFilters.d.ts.map +1 -0
  33. package/dist/components/ui/ConfirmDialog.d.ts +12 -0
  34. package/dist/components/ui/ConfirmDialog.d.ts.map +1 -0
  35. package/dist/components/ui/DataTable.d.ts +87 -0
  36. package/dist/components/ui/DataTable.d.ts.map +1 -0
  37. package/dist/components/ui/DateRangePicker.d.ts +17 -0
  38. package/dist/components/ui/DateRangePicker.d.ts.map +1 -0
  39. package/dist/components/ui/Drawer.d.ts +26 -0
  40. package/dist/components/ui/Drawer.d.ts.map +1 -0
  41. package/dist/components/ui/InputField.d.ts +13 -0
  42. package/dist/components/ui/InputField.d.ts.map +1 -0
  43. package/dist/components/ui/LoadingState.d.ts +11 -0
  44. package/dist/components/ui/LoadingState.d.ts.map +1 -0
  45. package/dist/components/ui/Modal.d.ts +29 -0
  46. package/dist/components/ui/Modal.d.ts.map +1 -0
  47. package/dist/components/ui/MouseTooltip.d.ts +12 -0
  48. package/dist/components/ui/MouseTooltip.d.ts.map +1 -0
  49. package/dist/components/ui/SearchableSelect.d.ts +25 -0
  50. package/dist/components/ui/SearchableSelect.d.ts.map +1 -0
  51. package/dist/components/ui/TextInput.d.ts +5 -0
  52. package/dist/components/ui/TextInput.d.ts.map +1 -0
  53. package/dist/components/ui/Toggle.d.ts +9 -0
  54. package/dist/components/ui/Toggle.d.ts.map +1 -0
  55. package/dist/components/ui/index.d.ts +18 -0
  56. package/dist/components/ui/index.d.ts.map +1 -0
  57. package/dist/components/users/UserAvatar.d.ts +12 -0
  58. package/dist/components/users/UserAvatar.d.ts.map +1 -0
  59. package/dist/index.d.ts +5 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/lib/cn.d.ts +2 -0
  62. package/dist/lib/cn.d.ts.map +1 -0
  63. package/dist/styles.css +9 -0
  64. package/package.json +82 -0
@@ -0,0 +1,26 @@
1
+ import { ReactNode } from 'react';
2
+ interface DrawerProps {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ title: string;
6
+ subtitle?: string;
7
+ leadingIcon?: ReactNode;
8
+ /** Primary action button label */
9
+ confirmLabel?: string;
10
+ /** Called when confirm button is clicked */
11
+ onConfirm?: () => void;
12
+ /** Whether the confirm button is in loading state */
13
+ loading?: boolean;
14
+ /** Whether the confirm button is disabled */
15
+ confirmDisabled?: boolean;
16
+ /** Optional actions rendered before Cancel/Save in the header */
17
+ headerActions?: ReactNode;
18
+ /** Optional className for the scrollable body */
19
+ bodyClassName?: string;
20
+ /** Width of the drawer panel (default: 440px) */
21
+ width?: number;
22
+ children: ReactNode;
23
+ }
24
+ export default function Drawer({ open, onClose, title, subtitle, leadingIcon, confirmLabel, onConfirm, loading, confirmDisabled, headerActions, bodyClassName, width, children, }: DrawerProps): import('react').ReactPortal | null;
25
+ export {};
26
+ //# sourceMappingURL=Drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,SAAS,EAAY,MAAM,OAAO,CAAC;AAMvD,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,EACX,YAAwB,EACxB,SAAS,EACT,OAAe,EACf,eAAuB,EACvB,aAAa,EACb,aAAkD,EAClD,KAAW,EACX,QAAQ,GACT,EAAE,WAAW,sCAkHb"}
@@ -0,0 +1,13 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ type InputFieldProps = InputHTMLAttributes<HTMLInputElement> & {
3
+ label: string;
4
+ containerClassName?: string;
5
+ helperText?: ReactNode;
6
+ error?: ReactNode;
7
+ labelAction?: ReactNode;
8
+ floatingLabel?: boolean;
9
+ showPasswordToggle?: boolean;
10
+ };
11
+ export default function InputField({ label, containerClassName, helperText, error, labelAction, floatingLabel, showPasswordToggle, className, required, ...props }: InputFieldProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=InputField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../src/components/ui/InputField.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,KAAK,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,kBAAuB,EACvB,UAAU,EACV,KAAK,EACL,WAAW,EACX,aAAqB,EACrB,kBAAyB,EACzB,SAAc,EACd,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAqHjB"}
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ type LoadingVariant = "page" | "table" | "sections" | "cards";
3
+ type LoadingStateProps = {
4
+ variant?: LoadingVariant;
5
+ title?: string;
6
+ rows?: number;
7
+ children?: ReactNode;
8
+ };
9
+ export default function LoadingState({ variant, title, rows, children, }: LoadingStateProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=LoadingState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../src/components/ui/LoadingState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,KAAK,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,OAAgB,EAChB,KAAqB,EACrB,IAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,2CAsBnB"}
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ type ModalSize = "sm" | "md" | "lg" | "xl" | "2xl" | "4xl" | "5xl";
3
+ type ModalPlacement = "center" | "bottom-mobile";
4
+ interface ModalProps {
5
+ open: boolean;
6
+ onClose: () => void;
7
+ title?: string;
8
+ subtitle?: string;
9
+ leadingIcon?: ReactNode;
10
+ headerActions?: ReactNode;
11
+ footer?: ReactNode;
12
+ children: ReactNode;
13
+ size?: ModalSize;
14
+ maxWidth?: string;
15
+ zIndex?: number;
16
+ closeOnBackdrop?: boolean;
17
+ closeOnEscape?: boolean;
18
+ showCloseButton?: boolean;
19
+ placement?: ModalPlacement;
20
+ bodyClassName?: string;
21
+ panelClassName?: string;
22
+ backdropClassName?: string;
23
+ contentClassName?: string;
24
+ ariaLabel?: string;
25
+ frameless?: boolean;
26
+ }
27
+ export default function Modal({ open, onClose, title, subtitle, leadingIcon, headerActions, footer, children, size, maxWidth, zIndex, closeOnBackdrop, closeOnEscape, showCloseButton, placement, bodyClassName, panelClassName, backdropClassName, contentClassName, ariaLabel, frameless, }: ModalProps): import('react').ReactPortal | null;
28
+ export {};
29
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Modal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAK/D,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACnE,KAAK,cAAc,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEjD,UAAU,UAAU;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAcD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,MAAM,EACN,QAAQ,EACR,IAAW,EACX,QAAQ,EACR,MAAa,EACb,eAAsB,EACtB,aAAoB,EACpB,eAAsB,EACtB,SAAoB,EACpB,aAA2B,EAC3B,cAAmB,EACnB,iBAAkD,EAClD,gBAAwB,EACxB,SAAS,EACT,SAAiB,GAClB,EAAE,UAAU,sCAiJZ"}
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ interface MouseTooltipProps {
3
+ children: React.ReactNode;
4
+ content?: React.ReactNode;
5
+ onlyWhenOverflow?: boolean;
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ as?: "div" | "span";
9
+ }
10
+ export default function MouseTooltip({ children, content, onlyWhenOverflow, className, style, as: Wrapper, }: MouseTooltipProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=MouseTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MouseTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/ui/MouseTooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAG5E,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACrB;AA6BD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,gBAAwB,EACxB,SAAc,EACd,KAAK,EACL,EAAE,EAAE,OAAe,GACpB,EAAE,iBAAiB,2CA4HnB"}
@@ -0,0 +1,25 @@
1
+ import { CSSProperties } from 'react';
2
+ export interface SelectOption {
3
+ value: string;
4
+ label: string;
5
+ sublabel?: string;
6
+ color?: string;
7
+ badge?: string;
8
+ disabled?: boolean;
9
+ }
10
+ export interface SearchableSelectProps {
11
+ value: string;
12
+ onChange: (value: string) => void;
13
+ options: SelectOption[];
14
+ placeholder?: string;
15
+ emptyLabel?: string;
16
+ disabled?: boolean;
17
+ className?: string;
18
+ style?: CSSProperties;
19
+ height?: number | string;
20
+ padding?: number | string;
21
+ searchable?: boolean;
22
+ minOptionsForSearch?: number;
23
+ }
24
+ export default function SearchableSelect({ value, onChange, options, placeholder, emptyLabel, disabled, className, style, height, padding, searchable, minOptionsForSearch, }: SearchableSelectProps): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=SearchableSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchableSelect.d.ts","sourceRoot":"","sources":["../../../src/components/ui/SearchableSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAOD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAA4B,EAC5B,UAAU,EACV,QAAgB,EAChB,SAAc,EACd,KAAK,EACL,MAAW,EACX,OAAkB,EAClB,UAAiB,EACjB,mBAAuB,GACxB,EAAE,qBAAqB,2CA2VvB"}
@@ -0,0 +1,5 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ type TextInputProps = InputHTMLAttributes<HTMLInputElement>;
3
+ export default function TextInput({ className, ...props }: TextInputProps): import("react/jsx-runtime").JSX.Element;
4
+ export {};
5
+ //# sourceMappingURL=TextInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../src/components/ui/TextInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE5C,KAAK,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,SAAc,EACd,GAAG,KAAK,EACT,EAAE,cAAc,2CAOhB"}
@@ -0,0 +1,9 @@
1
+ import { ButtonHTMLAttributes } from 'react';
2
+ interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onChange"> {
3
+ checked: boolean;
4
+ onCheckedChange: (checked: boolean) => void;
5
+ size?: "xs" | "sm";
6
+ }
7
+ export default function Toggle({ checked, disabled, onCheckedChange, size, className, ...props }: ToggleProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=Toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE7C,UAAU,WAAY,SAAQ,IAAI,CAChC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,CACX;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAiBD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,eAAe,EACf,IAAW,EACX,SAAc,EACd,GAAG,KAAK,EACT,EAAE,WAAW,2CAuCb"}
@@ -0,0 +1,18 @@
1
+ export { default as Button } from './Button';
2
+ export { default as CalendarPicker } from './CalendarPicker';
3
+ export { CompactFilterSelect, CompactSearchInput } from './CompactFilters';
4
+ export type { SelectOption as CompactFilterOption } from './CompactFilters';
5
+ export { default as ConfirmDialog } from './ConfirmDialog';
6
+ export { default as DataTable } from './DataTable';
7
+ export type { Column, DataTableProps } from './DataTable';
8
+ export { default as DateRangePicker } from './DateRangePicker';
9
+ export { default as Drawer } from './Drawer';
10
+ export { default as InputField } from './InputField';
11
+ export { default as LoadingState } from './LoadingState';
12
+ export { default as Modal } from './Modal';
13
+ export { default as MouseTooltip } from './MouseTooltip';
14
+ export { default as SearchableSelect } from './SearchableSelect';
15
+ export type { SearchableSelectProps, SelectOption } from './SearchableSelect';
16
+ export { default as TextInput } from './TextInput';
17
+ export { default as Toggle } from './Toggle';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,YAAY,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CSSProperties } from 'react';
2
+ type UserAvatarProps = {
3
+ userId?: unknown;
4
+ username?: unknown;
5
+ name?: unknown;
6
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
7
+ className?: string;
8
+ style?: CSSProperties;
9
+ };
10
+ export default function UserAvatar({ userId, username, name, size, className, style, }: UserAvatarProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=UserAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserAvatar.d.ts","sourceRoot":"","sources":["../../../src/components/users/UserAvatar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAgCF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAW,EACX,SAAc,EACd,KAAK,GACN,EAAE,eAAe,2CAajB"}
@@ -0,0 +1,5 @@
1
+ export { BonsaifButton } from './components/BonsaifButton';
2
+ export type { BonsaifButtonProps } from './components/BonsaifButton';
3
+ export * from './components';
4
+ export { cn } from './lib/cn';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function cn(...classes: Array<string | false | null | undefined>): string;
2
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/lib/cn.ts"],"names":[],"mappings":"AAAA,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,UAEtE"}
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * OverlayScrollbars
3
+ * Version: 2.15.1
4
+ *
5
+ * Copyright (c) Rene Haas | KingSora.
6
+ * https://github.com/KingSora
7
+ *
8
+ * Released under the MIT license.
9
+ */.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(.1)}.os-size-observer:before{content:"";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:"";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important;scroll-behavior:auto!important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw: 0;--os-vah: 0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:"";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden!important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible!important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x: hidden;--os-viewport-overflow-y: hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x: visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x: hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x: scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y: visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y: hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y: scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x)!important;overflow-y:var(--os-viewport-overflow-y)!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0!important;line-height:0!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto!important;scroll-snap-type:none!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}@property --os-scroll-percent{syntax: "<number>"; inherits: true; initial-value: 0;}@property --os-viewport-percent{syntax: "<number>"; inherits: true; initial-value: 0;}.os-scrollbar{--os-viewport-percent: 0;--os-scroll-percent: 0;--os-scroll-direction: 0;--os-scroll-percent-directional: calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none!important}.os-scrollbar-track{position:relative;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translate(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translate(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size: 0;--os-padding-perpendicular: 0;--os-padding-axis: 0;--os-track-border-radius: 0;--os-track-bg: none;--os-track-bg-hover: none;--os-track-bg-active: none;--os-track-border: none;--os-track-border-hover: none;--os-track-border-active: none;--os-handle-border-radius: 0;--os-handle-bg: none;--os-handle-bg-hover: none;--os-handle-bg-active: none;--os-handle-border: none;--os-handle-border-hover: none;--os-handle-border-active: none;--os-handle-min-size: 33px;--os-handle-max-size: none;--os-handle-perpendicular-size: 100%;--os-handle-perpendicular-size-hover: 100%;--os-handle-perpendicular-size-active: 100%;--os-handle-interactive-area-offset: 0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity .15s,background-color .15s,border-color .15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity .15s,background-color .15s,border-color .15s,height .15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity .15s,background-color .15s,border-color .15s,width .15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size: 10px;--os-padding-perpendicular: 2px;--os-padding-axis: 2px;--os-track-border-radius: 10px;--os-handle-interactive-area-offset: 4px;--os-handle-border-radius: 10px}.os-theme-dark{--os-handle-bg: rgba(0, 0, 0, .44);--os-handle-bg-hover: rgba(0, 0, 0, .55);--os-handle-bg-active: rgba(0, 0, 0, .66)}.os-theme-light{--os-handle-bg: rgba(255, 255, 255, .44);--os-handle-bg-hover: rgba(255, 255, 255, .55);--os-handle-bg-active: rgba(255, 255, 255, .66)}:root{--bonsaif-ui-radius: .5rem;--bonsaif-ui-primary: #1f6feb;--bonsaif-ui-primary-hover: #195cc5;--bonsaif-ui-primary-foreground: #ffffff;--bonsaif-ui-border: #d0d7de;--bonsaif-ui-surface: #ffffff;--bonsaif-ui-text: #24292f}.bonsaif-ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;border:1px solid transparent;border-radius:var(--bonsaif-ui-radius);padding:0 1.125rem;font:inherit;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.bonsaif-ui-button:disabled{cursor:not-allowed;opacity:.6}.bonsaif-ui-button--primary{background:var(--bonsaif-ui-primary);color:var(--bonsaif-ui-primary-foreground)}.bonsaif-ui-button--primary:not(:disabled):hover{background:var(--bonsaif-ui-primary-hover)}.bonsaif-ui-button--secondary{background:var(--bonsaif-ui-surface);border-color:var(--bonsaif-ui-border);color:var(--bonsaif-ui-text)}.bonsaif-ui-button--secondary:not(:disabled):hover{background:#f6f8fa}
package/package.json ADDED
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "bonsaif-ui",
3
+ "version": "0.1.0",
4
+ "description": "Reusable Bonsaif UI components for Bonsaif applications.",
5
+ "type": "module",
6
+ "author": "Bonsaif",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+http://git.develsuit.com:6000/bonsaif/bonsaif-ui.git"
10
+ },
11
+ "homepage": "http://git.develsuit.com:6000/bonsaif/bonsaif-ui",
12
+ "engines": {
13
+ "node": ">=18"
14
+ },
15
+ "main": "./dist/bonsaif-ui.umd.cjs",
16
+ "module": "./dist/bonsaif-ui.js",
17
+ "types": "./dist/index.d.ts",
18
+ "style": "./dist/styles.css",
19
+ "sideEffects": [
20
+ "./dist/styles.css"
21
+ ],
22
+ "files": [
23
+ "dist",
24
+ "CHANGELOG.md"
25
+ ],
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "import": "./dist/bonsaif-ui.js",
30
+ "require": "./dist/bonsaif-ui.umd.cjs"
31
+ },
32
+ "./styles.css": "./dist/styles.css"
33
+ },
34
+ "scripts": {
35
+ "dev": "vite",
36
+ "playground": "npm --prefix examples/playground run dev",
37
+ "playground:build": "npm run build && npm --prefix examples/playground run build",
38
+ "build": "tsc --noEmit && vite build",
39
+ "lint": "eslint .",
40
+ "pack:dry-run": "npm pack --dry-run",
41
+ "release:check": "npm run lint && npm run build && npm run pack:dry-run",
42
+ "prepublishOnly": "npm run release:check",
43
+ "preview": "vite preview"
44
+ },
45
+ "keywords": [
46
+ "bonsaif-ui",
47
+ "react",
48
+ "components",
49
+ "ui"
50
+ ],
51
+ "license": "UNLICENSED",
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "peerDependencies": {
56
+ "overlayscrollbars": ">=2.15.1",
57
+ "overlayscrollbars-react": ">=0.5.6",
58
+ "react": ">=18.2.0 || >=19.0.0",
59
+ "react-day-picker": ">=9.14.0",
60
+ "react-dom": ">=18.2.0 || >=19.0.0",
61
+ "react-icons": ">=5.6.0",
62
+ "sonner": ">=2.0.7"
63
+ },
64
+ "devDependencies": {
65
+ "@eslint/js": "^9.25.1",
66
+ "@types/react": "^19.1.2",
67
+ "@types/react-dom": "^19.1.2",
68
+ "@vitejs/plugin-react": "^4.4.1",
69
+ "eslint": "^9.25.1",
70
+ "eslint-plugin-react-hooks": "^5.2.0",
71
+ "eslint-plugin-react-refresh": "^0.4.20",
72
+ "overlayscrollbars": "^2.15.1",
73
+ "overlayscrollbars-react": "^0.5.6",
74
+ "react-day-picker": "^9.14.0",
75
+ "react-icons": "^5.6.0",
76
+ "sonner": "^2.0.7",
77
+ "typescript": "^5.8.3",
78
+ "typescript-eslint": "^8.31.0",
79
+ "vite": "^6.3.4",
80
+ "vite-plugin-dts": "^4.5.3"
81
+ }
82
+ }