@yourbestsoft/studio-screen-ui-kit 0.0.1

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 (76) hide show
  1. package/README.md +1 -0
  2. package/dist/App.d.ts +1 -0
  3. package/dist/ToolIconButton-Be6zefbX.js +520 -0
  4. package/dist/ToolIconButton-Be6zefbX.js.map +1 -0
  5. package/dist/components/button/Button.d.ts +26 -0
  6. package/dist/components/button/index.d.ts +1 -0
  7. package/dist/components/buttons-group/ButtonsGroup.d.ts +14 -0
  8. package/dist/components/buttons-group/index.d.ts +1 -0
  9. package/dist/components/card/Card.d.ts +17 -0
  10. package/dist/components/card/index.d.ts +1 -0
  11. package/dist/components/color-button/ColorButton.d.ts +10 -0
  12. package/dist/components/color-button/index.d.ts +1 -0
  13. package/dist/components/color-picker/ColorPicker.d.ts +9 -0
  14. package/dist/components/color-picker/colors.d.ts +2 -0
  15. package/dist/components/color-picker/hooks/usePalette.d.ts +18 -0
  16. package/dist/components/color-picker/hooks/usePaletteControls.d.ts +8 -0
  17. package/dist/components/color-picker/index.d.ts +1 -0
  18. package/dist/components/color-picker/parts/hex-input/HexInput.d.ts +9 -0
  19. package/dist/components/color-picker/parts/palette/Palette.d.ts +8 -0
  20. package/dist/components/color-picker/parts/shadow-list/ShadesList.d.ts +9 -0
  21. package/dist/components/color-picker/types.d.ts +9 -0
  22. package/dist/components/dialog/Dialog.d.ts +34 -0
  23. package/dist/components/dialog/index.d.ts +1 -0
  24. package/dist/components/drop-down/DropDown.d.ts +23 -0
  25. package/dist/components/drop-down/index.d.ts +1 -0
  26. package/dist/components/icon-button/IconButton.d.ts +10 -0
  27. package/dist/components/icon-button/index.d.ts +1 -0
  28. package/dist/components/index.d.ts +19 -0
  29. package/dist/components/pagination/Pagination.d.ts +9 -0
  30. package/dist/components/pagination/index.d.ts +1 -0
  31. package/dist/components/pagination/utils/getPagesArray.d.ts +6 -0
  32. package/dist/components/pagination/utils/getPagesArray.test.d.ts +1 -0
  33. package/dist/components/select/Select.d.ts +20 -0
  34. package/dist/components/select/index.d.ts +1 -0
  35. package/dist/components/shortcut/Shortcut.d.ts +22 -0
  36. package/dist/components/shortcut/index.d.ts +1 -0
  37. package/dist/components/sidebar/Sidebar.d.ts +31 -0
  38. package/dist/components/sidebar/index.d.ts +1 -0
  39. package/dist/components/slider/Slider.d.ts +9 -0
  40. package/dist/components/slider/index.d.ts +1 -0
  41. package/dist/components/switcher-buttons/SwitcherButtons.d.ts +17 -0
  42. package/dist/components/switcher-buttons/index.d.ts +1 -0
  43. package/dist/components/table/Table.d.ts +33 -0
  44. package/dist/components/table/index.d.ts +1 -0
  45. package/dist/components/text-field/index.d.ts +1 -0
  46. package/dist/components/text-field/text-field.d.ts +33 -0
  47. package/dist/components/theme-switcher/ThemeSwitcher.d.ts +1 -0
  48. package/dist/components/theme-switcher/index.d.ts +1 -0
  49. package/dist/components/toggle-switch/ToggleSwitch.d.ts +14 -0
  50. package/dist/components/toggle-switch/index.d.ts +1 -0
  51. package/dist/components/toolbar/Toolbar.d.ts +13 -0
  52. package/dist/components/toolbar/index.d.ts +2 -0
  53. package/dist/components/toolbar/tool-icon-button/ToolIconButton.d.ts +20 -0
  54. package/dist/components/toolbar/tool-icon-button/index.d.ts +1 -0
  55. package/dist/features/card-collection/CardCollection.d.ts +15 -0
  56. package/dist/features/card-collection/index.d.ts +1 -0
  57. package/dist/features/index.d.ts +3 -0
  58. package/dist/features/save-modal/SaveModal.d.ts +6 -0
  59. package/dist/features/save-modal/index.d.ts +1 -0
  60. package/dist/features/theme-provider/ThemeProvider.d.ts +12 -0
  61. package/dist/features/theme-provider/index.d.ts +1 -0
  62. package/dist/hooks/index.d.ts +2 -0
  63. package/dist/hooks/useKeyboardControls.d.ts +3 -0
  64. package/dist/hooks/useSelect.d.ts +17 -0
  65. package/dist/index.js +821 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/index2.js +102 -0
  68. package/dist/index2.js.map +1 -0
  69. package/dist/main.d.ts +1 -0
  70. package/dist/style.css +1 -0
  71. package/dist/utils/colorUtils.d.ts +2 -0
  72. package/dist/utils/fileUtils.d.ts +3 -0
  73. package/dist/utils/index.d.ts +3 -0
  74. package/dist/utils/typeUtils.d.ts +1 -0
  75. package/dist/vite.svg +1 -0
  76. package/package.json +80 -0
@@ -0,0 +1,17 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export type CardProps = ComponentPropsWithoutRef<'div'>;
3
+ export declare const CardRoot: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
4
+ export type CardContentProps = CardProps & {
5
+ ignoreHeader?: boolean;
6
+ };
7
+ export declare const CardContent: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
8
+ ignoreHeader?: boolean;
9
+ } & import("react").RefAttributes<HTMLDivElement>>;
10
+ export declare const CardHeader: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
+ export declare const Card: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
12
+ Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
13
+ ignoreHeader?: boolean;
14
+ } & import("react").RefAttributes<HTMLDivElement>>;
15
+ Header: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
16
+ Root: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
17
+ };
@@ -0,0 +1 @@
1
+ export * from './Card';
@@ -0,0 +1,10 @@
1
+ import { HTMLAttributes } from 'react';
2
+ interface ColorButtonProps extends HTMLAttributes<HTMLButtonElement> {
3
+ color: string;
4
+ disabled?: boolean;
5
+ selected?: boolean;
6
+ hotkey?: string;
7
+ size?: 'small' | 'medium' | 'large';
8
+ }
9
+ export declare const ColorButton: (props: ColorButtonProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1 @@
1
+ export * from './ColorButton';
@@ -0,0 +1,9 @@
1
+ import { ActiveColor, ColorItem, ShadesIndex } from './types';
2
+ interface Props {
3
+ selectedColor?: ActiveColor;
4
+ colors: ColorItem[];
5
+ selectedShadeIndex?: ShadesIndex;
6
+ changeColor?: (color: ColorItem) => void;
7
+ }
8
+ export declare const ColorPicker: (props: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ColorItem } from './types';
2
+ export declare const defaultColors: ColorItem[];
@@ -0,0 +1,18 @@
1
+ import { ActiveColor, ColorItem, ShadesIndex } from '../types';
2
+ interface Props {
3
+ selectedShadeIndex: ShadesIndex;
4
+ selectedColor?: ActiveColor;
5
+ colors: ColorItem[];
6
+ }
7
+ export declare const usePalette: ({ colors, selectedColor, selectedShadeIndex, }: Props) => {
8
+ activeColor: ActiveColor;
9
+ activeShade: 3 | 1 | 5 | 2 | 4;
10
+ palette: {
11
+ color: string;
12
+ name?: string;
13
+ hotkey?: string;
14
+ }[];
15
+ setActiveColorHandler: (color: ColorItem, index?: number) => void;
16
+ setActiveShade: import("react").Dispatch<import("react").SetStateAction<3 | 1 | 5 | 2 | 4>>;
17
+ };
18
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ColorItem, ShadesIndex } from '../types';
2
+ interface Props {
3
+ palette: ColorItem[];
4
+ setActiveShade: (shade: ShadesIndex) => void;
5
+ setActiveColorHandler: (color: ColorItem, index?: number) => void;
6
+ }
7
+ export declare const usePaletteControls: (props: Props) => void;
8
+ export {};
@@ -0,0 +1 @@
1
+ export * from './ColorPicker';
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ type Props = {
3
+ color: string;
4
+ onChange: (color: string) => void;
5
+ placeholder?: string;
6
+ children?: ReactNode;
7
+ } & Omit<HTMLAttributes<HTMLInputElement>, 'onChange'>;
8
+ export declare const HexInput: (props: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ActiveColor, ColorItem } from '../../types';
2
+ interface PaletteProps {
3
+ palette: ColorItem[];
4
+ activeColor: ActiveColor;
5
+ setActiveColorHandler: (color: ColorItem, index: number) => void;
6
+ }
7
+ export declare const Palette: ({ activeColor, palette, setActiveColorHandler, }: PaletteProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ import { ActiveColor, ColorItem, ShadesIndex } from '../../types';
2
+ interface ShadesListProps {
3
+ activeShade: ShadesIndex;
4
+ activeColor: ActiveColor;
5
+ colors: ColorItem[];
6
+ setActiveShade: (shade: ShadesIndex) => void;
7
+ }
8
+ export declare const ShadesList: ({ activeColor, activeShade, colors, setActiveShade, }: ShadesListProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,9 @@
1
+ export interface ColorItem {
2
+ name?: string;
3
+ color: string;
4
+ hotkey?: string;
5
+ }
6
+ export interface ActiveColor extends ColorItem {
7
+ index: number;
8
+ }
9
+ export type ShadesIndex = 1 | 2 | 3 | 4 | 5;
@@ -0,0 +1,34 @@
1
+ import React, { ReactNode, ElementType } from 'react';
2
+ interface RootProps {
3
+ children: React.ReactNode;
4
+ isOpen?: boolean;
5
+ onStateChange?: (isOpen: boolean) => void;
6
+ }
7
+ interface TriggerProps<T extends ElementType = 'button'> {
8
+ as?: T;
9
+ children: ReactNode;
10
+ }
11
+ interface ContentProps {
12
+ children: ReactNode;
13
+ className?: string;
14
+ closeOnBackdropClick?: boolean;
15
+ }
16
+ interface CloseProps<T extends ElementType = 'button'> {
17
+ as?: T;
18
+ children?: ReactNode;
19
+ }
20
+ interface TitleProps {
21
+ children: ReactNode;
22
+ className?: string;
23
+ }
24
+ interface SeparatorProps {
25
+ }
26
+ export declare const Dialog: {
27
+ Close: <T extends ElementType = "button">({ as, children, ...props }: CloseProps<T> & React.ComponentPropsWithoutRef<T>) => import("react/jsx-runtime").JSX.Element;
28
+ Content: React.ForwardRefExoticComponent<ContentProps & React.RefAttributes<HTMLDialogElement>>;
29
+ Root: ({ children, isOpen: externalIsOpen, onStateChange, }: RootProps) => import("react/jsx-runtime").JSX.Element;
30
+ Separator: ({}: SeparatorProps) => import("react/jsx-runtime").JSX.Element;
31
+ Title: ({ children, className }: TitleProps) => import("react/jsx-runtime").JSX.Element;
32
+ Trigger: <T extends ElementType = "button">({ as, children, ...props }: TriggerProps<T> & React.ComponentPropsWithoutRef<T>) => import("react/jsx-runtime").JSX.Element;
33
+ };
34
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Dialog';
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ interface RootProps {
3
+ children: ReactNode;
4
+ defaultVisible?: boolean;
5
+ closeOnOutsideClick?: boolean;
6
+ closeOnEsc?: boolean;
7
+ }
8
+ interface TriggerProps {
9
+ children: ReactNode;
10
+ }
11
+ interface ContentProps {
12
+ children: ReactNode;
13
+ horizontal?: 'left' | 'center' | 'right';
14
+ vertical?: 'top' | 'bottom';
15
+ className?: string;
16
+ fixedPosition?: boolean;
17
+ }
18
+ export declare const DropDown: {
19
+ Content: ({ children, className, fixedPosition, horizontal, vertical, }: ContentProps) => import("react/jsx-runtime").JSX.Element | null;
20
+ Root: ({ children, closeOnEsc, closeOnOutsideClick, defaultVisible, }: RootProps) => import("react/jsx-runtime").JSX.Element;
21
+ Trigger: ({ children }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
22
+ };
23
+ export {};
@@ -0,0 +1 @@
1
+ export * from './DropDown';
@@ -0,0 +1,10 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ interface IconButtonProps extends Omit<HTMLAttributes<HTMLButtonElement>, 'className'> {
3
+ className?: string;
4
+ variants?: 'primary' | 'secondary' | 'transparent';
5
+ icon: ReactNode;
6
+ selected?: boolean;
7
+ disabled?: boolean;
8
+ }
9
+ export declare const IconButton: (props: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1 @@
1
+ export * from './IconButton';
@@ -0,0 +1,19 @@
1
+ export * from './button';
2
+ export * from './buttons-group';
3
+ export * from './card';
4
+ export * from './color-button';
5
+ export * from './color-picker';
6
+ export * from './dialog';
7
+ export * from './drop-down';
8
+ export * from './icon-button';
9
+ export * from './pagination';
10
+ export * from './select';
11
+ export * from './shortcut';
12
+ export * from './sidebar';
13
+ export * from './slider';
14
+ export * from './switcher-buttons';
15
+ export * from './table';
16
+ export * from './text-field';
17
+ export * from './theme-switcher';
18
+ export * from './toggle-switch';
19
+ export * from './toolbar';
@@ -0,0 +1,9 @@
1
+ type Props = {
2
+ currentPage: number;
3
+ totalPages: number;
4
+ onPageChange: (page: number) => void;
5
+ siblingCount?: number;
6
+ boundaryCount?: number;
7
+ };
8
+ export declare const Pagination: (props: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Pagination';
@@ -0,0 +1,6 @@
1
+ export declare function getPagesArray({ boundaryCount, currentPage, siblingCount, totalPages, }: {
2
+ currentPage: number;
3
+ totalPages: number;
4
+ boundaryCount: number;
5
+ siblingCount: number;
6
+ }): Array<number | '...'>;
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SelectItem {
3
+ value: string;
4
+ label: string;
5
+ imageUrl?: string;
6
+ }
7
+ interface SelectProps {
8
+ value: string;
9
+ title?: string;
10
+ options: SelectItem[];
11
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'top' | 'left' | 'right' | 'bottom';
12
+ slot_left?: ReactNode;
13
+ slot_right?: ReactNode;
14
+ style?: string;
15
+ selectedId?: string;
16
+ onSelect?: (value: string) => void;
17
+ fullWidth?: boolean;
18
+ }
19
+ export declare const Select: ({ fullWidth, onSelect, options, position, selectedId, slot_left, slot_right, style, title, value, }: SelectProps) => import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Select';
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from 'react';
2
+ interface GroupProps {
3
+ className?: string;
4
+ title?: string;
5
+ children: ReactNode;
6
+ }
7
+ interface ListProps {
8
+ className?: string;
9
+ children: ReactNode;
10
+ }
11
+ type Keys = string[];
12
+ interface ItemProps {
13
+ className?: string;
14
+ description: string;
15
+ keysVariants: Keys[];
16
+ }
17
+ export declare const Shortcut: {
18
+ Group: (props: GroupProps) => import("react/jsx-runtime").JSX.Element;
19
+ Item: (props: ItemProps) => import("react/jsx-runtime").JSX.Element;
20
+ List: (props: ListProps) => import("react/jsx-runtime").JSX.Element;
21
+ };
22
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Shortcut';
@@ -0,0 +1,31 @@
1
+ import { ReactNode } from 'react';
2
+ type SidebarContextProps = {
3
+ isOpen: boolean;
4
+ setIsOpen: (isOpen: boolean) => void;
5
+ };
6
+ export declare const SidebarContext: import("react").Context<SidebarContextProps | undefined>;
7
+ export declare const useSidebarContext: () => SidebarContextProps;
8
+ type SidebarRootProps = {
9
+ isOpen: boolean;
10
+ setIsOpen: (isOpen: boolean) => void;
11
+ children: ReactNode;
12
+ };
13
+ type SidebarTriggerProps = {
14
+ children: ReactNode;
15
+ };
16
+ type SidebarContentProps = {
17
+ position?: 'left' | 'right' | 'bottom' | 'top';
18
+ children: ReactNode;
19
+ className?: string;
20
+ closeOnOutsideClick?: boolean;
21
+ };
22
+ type SidebarCloseProps = {
23
+ children: ReactNode;
24
+ };
25
+ export declare const Sidebar: {
26
+ Close: ({ children }: SidebarCloseProps) => import("react/jsx-runtime").JSX.Element;
27
+ Content: ({ children, className, closeOnOutsideClick, position, }: SidebarContentProps) => import("react/jsx-runtime").JSX.Element;
28
+ Root: ({ children, isOpen, setIsOpen }: SidebarRootProps) => import("react/jsx-runtime").JSX.Element;
29
+ Trigger: ({ children }: SidebarTriggerProps) => import("react/jsx-runtime").JSX.Element;
30
+ };
31
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Sidebar';
@@ -0,0 +1,9 @@
1
+ interface Props {
2
+ min?: number;
3
+ max?: number;
4
+ step?: number;
5
+ initialValue?: number;
6
+ onChange?: (value: number) => void;
7
+ }
8
+ export declare const Slider: (props: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export default Slider;
@@ -0,0 +1 @@
1
+ export * from './Slider';
@@ -0,0 +1,17 @@
1
+ import React, { ElementType, ReactNode } from 'react';
2
+ interface ComponentValues {
3
+ value: string;
4
+ [key: string]: any;
5
+ }
6
+ interface SwitcherProps {
7
+ componentValues: ComponentValues[];
8
+ defaultValue?: string;
9
+ onChange?: (value: string) => void;
10
+ selectedValue?: string;
11
+ component: ElementType;
12
+ containerProps?: React.HTMLAttributes<HTMLDivElement>;
13
+ slot?: ReactNode;
14
+ className?: string;
15
+ }
16
+ export declare const SwitcherButtons: React.ForwardRefExoticComponent<SwitcherProps & React.RefAttributes<HTMLDivElement>>;
17
+ export {};
@@ -0,0 +1 @@
1
+ export * from './SwitcherButtons';
@@ -0,0 +1,33 @@
1
+ import { MouseEventHandler, ReactNode } from 'react';
2
+ interface Props {
3
+ children: ReactNode;
4
+ className?: string;
5
+ }
6
+ interface RootProps extends Props {
7
+ }
8
+ interface CaptionProps extends Props {
9
+ }
10
+ interface HeaderProps extends Props {
11
+ }
12
+ interface RowProps extends Props {
13
+ onClick?: MouseEventHandler<HTMLTableRowElement> | undefined;
14
+ }
15
+ interface HeadProps extends Props {
16
+ }
17
+ interface BodyProps extends Props {
18
+ }
19
+ interface CellProps extends Props {
20
+ }
21
+ interface FooterProps extends Props {
22
+ }
23
+ export declare const Table: (({ children, className }: RootProps) => import("react/jsx-runtime").JSX.Element) & {
24
+ Body: ({ children, className }: BodyProps) => import("react/jsx-runtime").JSX.Element;
25
+ Caption: ({ children, className }: CaptionProps) => import("react/jsx-runtime").JSX.Element;
26
+ Cell: ({ children, className }: CellProps) => import("react/jsx-runtime").JSX.Element;
27
+ Footer: ({ children, className }: FooterProps) => import("react/jsx-runtime").JSX.Element;
28
+ Head: ({ children, className }: HeadProps) => import("react/jsx-runtime").JSX.Element;
29
+ Header: ({ children, className }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
30
+ Root: ({ children, className }: RootProps) => import("react/jsx-runtime").JSX.Element;
31
+ Row: ({ children, className, onClick }: RowProps) => import("react/jsx-runtime").JSX.Element;
32
+ };
33
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Table';
@@ -0,0 +1 @@
1
+ export * from './text-field';
@@ -0,0 +1,33 @@
1
+ import { ForwardedRef, ReactNode } from 'react';
2
+ type SharedProps = {
3
+ className?: string;
4
+ disabled?: boolean;
5
+ error?: string;
6
+ label?: string;
7
+ onBlur?: () => void;
8
+ onChange: (value: string) => void;
9
+ onFocus?: () => void;
10
+ placeholder?: string;
11
+ required?: boolean;
12
+ value: string;
13
+ };
14
+ export type TextFieldProps = (SharedProps & {
15
+ as?: 'input';
16
+ inputType?: 'password' | 'search' | 'text';
17
+ }) | (SharedProps & {
18
+ as: 'textarea';
19
+ });
20
+ export type TextFieldComponent = {
21
+ (props: Extract<TextFieldProps, {
22
+ as: 'textarea';
23
+ }> & {
24
+ ref?: ForwardedRef<HTMLTextAreaElement>;
25
+ }): ReactNode;
26
+ (props: Extract<TextFieldProps, {
27
+ as?: 'input';
28
+ }> & {
29
+ ref?: ForwardedRef<HTMLInputElement>;
30
+ }): ReactNode;
31
+ };
32
+ export declare const TextField: TextFieldComponent;
33
+ export {};
@@ -0,0 +1 @@
1
+ export declare const ThemeSwitcher: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './ThemeSwitcher';
@@ -0,0 +1,14 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ type Value = string | number | readonly string[] | undefined;
3
+ interface OptionI extends HTMLAttributes<HTMLButtonElement> {
4
+ value: Value;
5
+ leftSlot?: ReactNode;
6
+ rightSlot?: ReactNode;
7
+ icon?: ReactNode;
8
+ }
9
+ interface Props extends HTMLAttributes<HTMLDivElement> {
10
+ options: OptionI[];
11
+ defaultValue?: Value;
12
+ }
13
+ export declare const ToggleSwitch: (props: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1 @@
1
+ export * from './ToggleSwitch';
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ interface RootProps {
3
+ children: ReactNode;
4
+ direction?: 'horizontal' | 'vertical';
5
+ className?: string;
6
+ }
7
+ interface SeparatorProps {
8
+ }
9
+ export declare const Toolbar: {
10
+ Root: (props: RootProps) => import("react/jsx-runtime").JSX.Element;
11
+ Separator: ({}: SeparatorProps) => import("react/jsx-runtime").JSX.Element;
12
+ };
13
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './Toolbar';
2
+ export * from './tool-icon-button';
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ export type ToolbarSlot = 'icon' | 'keybinding';
3
+ export type ToolbarClasses = {
4
+ [P in ToolbarSlot]?: string;
5
+ };
6
+ interface Props {
7
+ title?: string;
8
+ icon: ReactNode;
9
+ keybinding?: string;
10
+ aria_label?: string;
11
+ aria_keyshortcuts?: string;
12
+ classes?: ToolbarClasses;
13
+ name?: string;
14
+ id?: string;
15
+ isActive?: boolean;
16
+ disabled?: boolean;
17
+ onClick?: () => void;
18
+ }
19
+ export declare const ToolIconButton: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLDivElement>>;
20
+ export {};
@@ -0,0 +1 @@
1
+ export * from './ToolIconButton';
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ type Item = {
3
+ image: {
4
+ url: string;
5
+ name: string;
6
+ };
7
+ headerAction?: ReactNode;
8
+ footerSection?: ReactNode;
9
+ };
10
+ type Props = {
11
+ className?: string;
12
+ items: Item[];
13
+ };
14
+ export declare const CardCollection: (props: Props) => import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1 @@
1
+ export * from './card-collection.module.scss';
@@ -0,0 +1,3 @@
1
+ export * from './card-collection';
2
+ export * from './save-modal';
3
+ export * from './theme-provider';
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ interface Props {
3
+ trigger: ReactNode;
4
+ }
5
+ export declare const SaveModal: (props: Props) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1 @@
1
+ export * from './SaveModal';
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export type Theme = 'light' | 'dark';
3
+ export type ThemeValue = Theme | 'system';
4
+ interface ThemeContextType {
5
+ theme: ThemeValue;
6
+ setTheme: (theme: ThemeValue) => void;
7
+ }
8
+ export declare const ThemeProvider: ({ children }: {
9
+ children: ReactNode;
10
+ }) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const useTheme: () => ThemeContextType;
12
+ export {};
@@ -0,0 +1 @@
1
+ export * from './ThemeProvider';
@@ -0,0 +1,2 @@
1
+ export * from './useSelect';
2
+ export * from './useKeyboardControls';
@@ -0,0 +1,3 @@
1
+ type KeyHandler = (event: KeyboardEvent) => void;
2
+ export declare const useKeyboardControls: (handlers: KeyHandler[]) => void;
3
+ export {};
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { SelectItem } from '../components';
3
+ interface UseSelectProps {
4
+ options: SelectItem[];
5
+ onSelect?: (value: string) => void;
6
+ selectedId?: string;
7
+ }
8
+ export declare const useSelect: ({ onSelect, options, selectedId, }: UseSelectProps) => {
9
+ handleChange: (item: SelectItem) => void;
10
+ handleKeyDown: (event: React.KeyboardEvent) => void;
11
+ handleOutsideClick: () => void;
12
+ highlightedIndex: number | null;
13
+ isOpen: boolean;
14
+ selectedItem: SelectItem | null;
15
+ setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
16
+ };
17
+ export {};