@snowbomb1/nova-ui 1.0.9 → 1.0.10

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 (43) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +6 -0
  2. package/dist/components/Accordion/index.d.ts +1 -0
  3. package/dist/components/ActionSheet/ActionSheet.d.ts +15 -0
  4. package/dist/components/ActionSheet/index.d.ts +1 -0
  5. package/dist/components/Alert/Alert.d.ts +6 -0
  6. package/dist/components/Alert/index.d.ts +1 -0
  7. package/dist/components/AppLayout/AppLayout.d.ts +10 -0
  8. package/dist/components/AppLayout/index.d.ts +1 -0
  9. package/dist/components/Box/Box.d.ts +4 -2
  10. package/dist/components/Button/Button.d.ts +1 -2
  11. package/dist/components/Checkbox/Checkbox.d.ts +8 -0
  12. package/dist/components/Checkbox/index.d.ts +1 -0
  13. package/dist/components/Container/Container.d.ts +12 -0
  14. package/dist/components/Container/index.d.ts +1 -0
  15. package/dist/components/FloatingMenuButton/FloatingMenuButton.d.ts +7 -0
  16. package/dist/components/FloatingMenuButton/index.d.ts +1 -0
  17. package/dist/components/Form field/FormField.d.ts +10 -0
  18. package/dist/components/Input/Input.d.ts +7 -3
  19. package/dist/components/Modal/Modal.d.ts +2 -1
  20. package/dist/components/Select/Select.d.ts +20 -7
  21. package/dist/components/SideNav/SideNav.d.ts +15 -0
  22. package/dist/components/SideNav/index.d.ts +1 -0
  23. package/dist/components/Stepper/Stepper.d.ts +10 -0
  24. package/dist/components/Stepper/index.d.ts +1 -0
  25. package/dist/components/Toast/Toast.d.ts +12 -0
  26. package/dist/components/Toast/index.d.ts +1 -0
  27. package/dist/components/Toggle/Toggle.d.ts +3 -3
  28. package/dist/components/Viewer/Viewer.d.ts +5 -4
  29. package/dist/components/Viewer/ViewerLoader.d.ts +4 -1
  30. package/dist/hooks/useTheme.d.ts +3 -1
  31. package/dist/index.d.ts +11 -1
  32. package/dist/index.js +32 -7
  33. package/dist/nova-ui.css +1 -2
  34. package/dist/styles.d.ts +2 -0
  35. package/package.json +2 -2
  36. package/dist/Box.d.ts +0 -2
  37. package/dist/chunks/Box-ByLjqYJZ.js +0 -4670
  38. package/dist/chunks/Box-vMWmmOuo.js +0 -6
  39. package/dist/components/Box/index.js +0 -1
  40. package/dist/components/FormField/FormField.d.ts +0 -7
  41. package/dist/icons/close.d.ts +0 -6
  42. package/dist/icons/hamburger.d.ts +0 -6
  43. /package/dist/components/{FormField → Form field}/index.d.ts +0 -0
@@ -0,0 +1,6 @@
1
+ export interface AccordionProps {
2
+ title: string;
3
+ children: React.ReactNode;
4
+ defaultOpen?: boolean;
5
+ }
6
+ export declare const Accordion: ({ title, children, defaultOpen }: AccordionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Accordion';
@@ -0,0 +1,15 @@
1
+ export interface ActionSheetAction {
2
+ label: string;
3
+ icon?: React.ReactNode;
4
+ onClick: () => void;
5
+ destructive?: boolean;
6
+ disabled?: boolean;
7
+ }
8
+ export interface ActionSheetProps {
9
+ isOpen: boolean;
10
+ onClose: () => void;
11
+ title?: string;
12
+ message?: string;
13
+ actions: ActionSheetAction[];
14
+ }
15
+ export declare const ActionSheet: ({ isOpen, onClose, title, message, actions }: ActionSheetProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './ActionSheet';
@@ -0,0 +1,6 @@
1
+ export type AlertType = 'success' | 'warning' | 'error' | 'info';
2
+ export interface AlertProps {
3
+ type?: AlertType;
4
+ children: React.ReactNode;
5
+ }
6
+ export declare const Alert: ({ type, children }: AlertProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Alert';
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppLayoutProps {
3
+ topNav?: ReactNode;
4
+ sideNav?: ReactNode;
5
+ sideNavOpen?: boolean;
6
+ sideNavExpandedWidth?: string;
7
+ sideNavCollapsedWidth?: string;
8
+ children: ReactNode;
9
+ }
10
+ export declare const AppLayout: ({ topNav, sideNav, sideNavOpen, sideNavExpandedWidth, sideNavCollapsedWidth, children }: AppLayoutProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './AppLayout';
@@ -1,6 +1,8 @@
1
1
  export type BoxPosition = 'left' | 'right' | 'center';
2
+ export type FlexDirection = 'horizontal' | 'vertical';
2
3
  export interface BoxProps {
3
4
  children: React.ReactNode;
4
- position: 'left' | 'right' | 'center';
5
+ position?: BoxPosition;
6
+ direction?: FlexDirection;
5
7
  }
6
- export declare const Box: ({ children, position }: BoxProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const Box: ({ children, position, direction }: BoxProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,7 @@
1
1
  import { TooltipPosition } from '../Tooltip/Tooltip';
2
2
  export type ButtonVariant = 'primary' | 'secondary' | 'icon';
3
- export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
3
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
4
4
  children: React.ReactNode;
5
- onClick?: (event: React.MouseEvent) => void;
6
5
  variant?: ButtonVariant;
7
6
  disabled?: boolean;
8
7
  disabledMessage?: string;
@@ -0,0 +1,8 @@
1
+ export interface CheckboxProps {
2
+ checked: boolean;
3
+ onChange: (checked: boolean) => void;
4
+ label?: string;
5
+ disabled?: boolean;
6
+ indeterminate?: boolean;
7
+ }
8
+ export declare const Checkbox: ({ checked, onChange, label, disabled, indeterminate }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Checkbox';
@@ -0,0 +1,12 @@
1
+ export type ContainerVariant = 'default' | 'outlined' | 'elevated' | 'flat';
2
+ export type ContainerPadding = 'none' | 'sm' | 'md' | 'lg';
3
+ export interface ContainerProps {
4
+ children: React.ReactNode;
5
+ header?: React.ReactNode;
6
+ headerActions?: React.ReactNode;
7
+ footer?: React.ReactNode;
8
+ variant?: ContainerVariant;
9
+ padding?: ContainerPadding;
10
+ fullWidth?: boolean;
11
+ }
12
+ export declare const Container: ({ children, header, headerActions, footer, variant, padding, fullWidth }: ContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Container';
@@ -0,0 +1,7 @@
1
+ export type FloatingButtonVariant = 'menu' | 'action';
2
+ export interface FloatingButtonProps {
3
+ variant: FloatingButtonVariant;
4
+ ariaLabel: string;
5
+ onClick: () => void;
6
+ }
7
+ export declare const FloatingButton: ({ onClick, variant, ariaLabel }: FloatingButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './FloatingMenuButton';
@@ -0,0 +1,10 @@
1
+ import { LabelHTMLAttributes } from 'react';
2
+ export interface FormFieldProps extends LabelHTMLAttributes<HTMLLabelElement> {
3
+ label?: string;
4
+ helperText?: string;
5
+ error?: string;
6
+ required?: boolean;
7
+ disabled?: boolean;
8
+ children: React.ReactNode;
9
+ }
10
+ export declare const FormField: ({ label, helperText, error, required, disabled, children }: FormFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,12 @@
1
1
  export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
2
2
  value: string | undefined;
3
- onChange: (newValue: string) => void;
4
- autoComplete?: "on" | "off";
3
+ onChange?: (newValue: string) => void;
5
4
  disabled?: boolean;
6
5
  suggestions?: string[];
6
+ hideClear?: boolean;
7
+ required?: boolean;
8
+ label?: string;
9
+ error?: string;
10
+ helperText?: string;
7
11
  }
8
- export declare const Input: ({ value, onChange, autoComplete, disabled, suggestions, placeholder, ...props }: InputProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const Input: ({ value, onChange, disabled, suggestions, placeholder, hideClear, label, error, required, helperText, ...props }: InputProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,9 @@
1
+ export type ModalSize = 's' | 'm' | 'l' | 'xl';
1
2
  export interface ModalProps {
2
3
  isVisible: boolean;
3
4
  onClose: () => void;
4
5
  children: React.ReactNode;
5
- size?: 's' | 'm' | 'l' | 'xl';
6
+ size?: ModalSize;
6
7
  header?: React.ReactNode;
7
8
  footer?: React.ReactNode;
8
9
  }
@@ -1,15 +1,28 @@
1
- import { SelectHTMLAttributes } from 'react';
2
1
  export type Option = {
3
2
  label: string;
4
3
  value: string | number;
5
4
  };
6
- export interface SelectProps<T> extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'onChange' | 'value'> {
7
- selectedOption?: T;
8
- selectType?: "multi" | "single";
9
- autoFilter?: boolean;
5
+ interface SharedProps {
10
6
  options: Option[];
11
- onChange: (option: T) => void;
7
+ autoFilter?: boolean;
12
8
  placeholder?: string;
13
9
  disabled?: boolean;
10
+ name?: string;
11
+ required?: boolean;
12
+ label?: string;
13
+ helperText?: string;
14
+ error?: string;
15
+ }
16
+ interface SingleSelectProps extends SharedProps {
17
+ selectType?: 'single';
18
+ selectedOption?: Option;
19
+ onChange: (option: Option) => void;
20
+ }
21
+ interface MultiSelectProps extends SharedProps {
22
+ selectType: 'multi';
23
+ selectedOption?: Option[];
24
+ onChange: (options: Option[]) => void;
14
25
  }
15
- export declare const Select: <T extends Option | Option[]>({ selectedOption, selectType, autoFilter, options, onChange, placeholder, disabled, className, name, id, required, ...htmlProps }: SelectProps<T>) => import("react/jsx-runtime").JSX.Element;
26
+ export type SelectProps = SingleSelectProps | MultiSelectProps;
27
+ export declare const Select: (props: SelectProps) => import("react/jsx-runtime").JSX.Element;
28
+ export {};
@@ -0,0 +1,15 @@
1
+ export type NavItem = {
2
+ label: string;
3
+ icon?: React.ReactNode;
4
+ onClick: () => void;
5
+ };
6
+ export type NavPosition = 'left' | 'right';
7
+ export interface SideNavProps {
8
+ isOpen: boolean;
9
+ onToggle: () => void;
10
+ items: NavItem[];
11
+ expandedWidth?: string;
12
+ collapsedWidth?: string;
13
+ position?: NavPosition;
14
+ }
15
+ export declare const SideNav: ({ isOpen, items, onToggle, expandedWidth, collapsedWidth, position }: SideNavProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './SideNav';
@@ -0,0 +1,10 @@
1
+ import { FormFieldProps } from '../Form field';
2
+ export interface StepperProps extends Pick<FormFieldProps, 'label' | 'helperText' | 'error' | 'required'> {
3
+ value: number;
4
+ onChange: (value: number) => void;
5
+ min?: number;
6
+ max?: number;
7
+ step?: number;
8
+ disabled?: boolean;
9
+ }
10
+ export declare const Stepper: ({ label, helperText, error, required, value, onChange, min, max, step, disabled }: StepperProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Stepper';
@@ -0,0 +1,12 @@
1
+ export type ToastPosition = 'top' | 'bottom';
2
+ export type ToastStatus = 'success' | 'warning' | 'error' | 'info';
3
+ export interface ToastProps {
4
+ visible: boolean;
5
+ onDismiss: () => void;
6
+ timeout?: number;
7
+ position?: ToastPosition;
8
+ status?: ToastStatus;
9
+ children: React.ReactNode;
10
+ dismissible?: boolean;
11
+ }
12
+ export declare const Toast: ({ visible, onDismiss, timeout, position, status, children, dismissible }: ToastProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Toast';
@@ -1,7 +1,7 @@
1
1
  export interface ToggleProps {
2
2
  label: string;
3
- state: boolean;
4
- onChange: (enabaled: boolean) => void;
3
+ value: boolean;
4
+ onChange: (enabled: boolean) => void;
5
5
  disabled?: boolean;
6
6
  }
7
- export declare const Toggle: ({ label, state, onChange, disabled }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const Toggle: ({ label, value, onChange, disabled }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,16 @@
1
- interface VideoProps {
1
+ export interface VideoProps {
2
2
  controls?: boolean;
3
3
  loop?: boolean;
4
4
  autoPlay?: boolean;
5
5
  muted?: boolean;
6
6
  }
7
+ export type ViewerAspectRatio = '16/9' | '9/16' | '1/1' | '4/3' | '3/2' | '21/19';
7
8
  export interface ViewerProps {
8
9
  src: string;
9
- alt?: string;
10
+ alt: string;
10
11
  video?: VideoProps;
11
12
  thumbnailWidth?: string;
13
+ aspectRatio?: ViewerAspectRatio;
12
14
  onError?: (error: Error) => void;
13
15
  }
14
- export declare const Viewer: ({ src, alt, video, thumbnailWidth, onError }: ViewerProps) => import("react/jsx-runtime").JSX.Element;
15
- export {};
16
+ export declare const Viewer: ({ src, alt, video, thumbnailWidth, onError, aspectRatio }: ViewerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,9 @@
1
1
  import { RefObject } from 'react';
2
+ import { ViewerAspectRatio } from './Viewer';
2
3
  interface ViewerLoderProps {
3
4
  divRef: RefObject<HTMLDivElement | null>;
5
+ width: string;
6
+ aspectRatio: ViewerAspectRatio;
4
7
  }
5
- export declare const ViewerLoader: ({ divRef }: ViewerLoderProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const ViewerLoader: ({ divRef, width, aspectRatio }: ViewerLoderProps) => import("react/jsx-runtime").JSX.Element;
6
9
  export {};
@@ -1,6 +1,8 @@
1
1
  import { MouseEvent } from 'react';
2
+ type Theme = 'light' | 'dark';
2
3
  export declare const useTheme: () => {
3
- isDark: boolean | undefined;
4
+ theme: Theme;
4
5
  isTransitioning: boolean;
5
6
  toggleTheme: (event: MouseEvent) => void;
6
7
  };
8
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,10 +1,20 @@
1
+ export * from './components/Accordion';
2
+ export * from './components/ActionSheet';
3
+ export * from './components/Alert';
4
+ export * from './components/AppLayout';
1
5
  export * from './components/Box';
2
6
  export * from './components/Button';
3
- export * from './components/FormField';
7
+ export * from './components/Checkbox';
8
+ export * from './components/Container';
9
+ export * from './components/FloatingMenuButton';
10
+ export * from './components/Form field';
4
11
  export * from './components/Header';
5
12
  export * from './components/Input';
6
13
  export * from './components/Modal';
7
14
  export * from './components/Select';
15
+ export * from './components/SideNav';
16
+ export * from './components/Stepper';
17
+ export * from './components/Toast';
8
18
  export * from './components/Toggle';
9
19
  export * from './components/Tooltip';
10
20
  export * from './components/TopNav';