@foris/avocado-suite 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,9 @@
1
- import { FC } from "react";
1
+ import { FC } from 'react';
2
2
  interface DividerProps {
3
3
  /** Overwrite className */
4
4
  className?: string;
5
+ /** Disabled state */
6
+ disabled?: boolean;
5
7
  /** Set the position vertical */
6
8
  vertical?: boolean;
7
9
  }
@@ -0,0 +1,13 @@
1
+ import { MenuItem } from '../../types/menu.types.ts';
2
+ interface MenuProps {
3
+ /** Control if you want to close the list after clicking one of the options or not */
4
+ closeOnClick?: boolean;
5
+ /** From where to start to render the list */
6
+ listOrigin?: 'left' | 'right';
7
+ /** List of the items to render when the menu is open */
8
+ items: MenuItem[];
9
+ /** Overwrite className */
10
+ className?: string;
11
+ }
12
+ declare const Menu: (props: MenuProps) => JSX.Element;
13
+ export default Menu;
@@ -0,0 +1,16 @@
1
+ import { ButtonVariant } from '../button/Button';
2
+ import { IconTypes } from '../../../../../../../../avocado-icons/src/types/icons.type.ts';
3
+ interface RoundButtonProps extends Partial<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>> {
4
+ /** Icon name */
5
+ icon: IconTypes;
6
+ /** Variant of the button */
7
+ variant?: ButtonVariant;
8
+ /** Overwrite className */
9
+ className?: string;
10
+ /** Loading state */
11
+ loading?: boolean;
12
+ /** Disabled state */
13
+ disabled?: boolean;
14
+ }
15
+ declare const RoundButton: (props: RoundButtonProps) => JSX.Element;
16
+ export default RoundButton;
@@ -0,0 +1,13 @@
1
+ import { FC } from 'react';
2
+ interface StepperProps {
3
+ /** overwrite className */
4
+ className?: string;
5
+ /** Use dark colors palette*/
6
+ darkMode?: boolean;
7
+ /** the steps you will have */
8
+ items: string[];
9
+ /** index of the active item */
10
+ itemActive: number;
11
+ }
12
+ declare const Stepper: FC<StepperProps>;
13
+ export default Stepper;
@@ -0,0 +1,48 @@
1
+ import { FC } from 'react';
2
+ export interface TimeHTML {
3
+ days0: string;
4
+ days1: string;
5
+ daysBack0: string;
6
+ daysBack1: string;
7
+ hours0: string;
8
+ hours1: string;
9
+ hoursBack0: string;
10
+ hoursBack1: string;
11
+ minutes0: string;
12
+ minutes1: string;
13
+ minutesBack0: string;
14
+ minutesBack1: string;
15
+ }
16
+ export interface TimeValues {
17
+ days: number;
18
+ hours: number;
19
+ minutes: number;
20
+ }
21
+ export interface TimeObject {
22
+ /** set label */
23
+ label: string;
24
+ /** set value */
25
+ value: number;
26
+ }
27
+ export interface Time {
28
+ /** set remaining days */
29
+ days: TimeObject;
30
+ /** set remaining hours between 0 and 23*/
31
+ hours: TimeObject;
32
+ /** set remaining minutes between 0 and 59 */
33
+ minutes: TimeObject;
34
+ }
35
+ export interface TimerProps {
36
+ /** overwrite className */
37
+ className?: string;
38
+ /** set milliSeconds interval */
39
+ milliSecondsInterval?: number;
40
+ /** set startCountDown */
41
+ startCountDown?: boolean;
42
+ /** set remaining time */
43
+ time: Time;
44
+ /** event when finish */
45
+ onFinish?: () => void;
46
+ }
47
+ declare const Timer: FC<TimerProps>;
48
+ export default Timer;
@@ -0,0 +1,8 @@
1
+ import { Time, TimeHTML } from './Timer';
2
+ export declare const getTimeValues: (time: Time) => {
3
+ days: number;
4
+ hours: number;
5
+ minutes: number;
6
+ };
7
+ export declare const getTotalTime: (data: Time) => number;
8
+ export declare const defaultTimerHTML: (data: Time) => TimeHTML;
@@ -0,0 +1,23 @@
1
+ import { FC, ReactNode } from 'react';
2
+ declare enum PlacementEnum {
3
+ bottom = "bottom",
4
+ bottomLeft = "bottomLeft",
5
+ bottomRight = "bottomRight",
6
+ top = "top",
7
+ topLeft = "topLeft",
8
+ topRight = "topRight",
9
+ left = "left",
10
+ right = "right"
11
+ }
12
+ export interface TooltipProps {
13
+ /** Children component */
14
+ children: ReactNode;
15
+ /** Overwrite className */
16
+ className?: string;
17
+ /** The label of the tooltip */
18
+ label: string;
19
+ /** The placement of the popper relative to its reference */
20
+ placement?: keyof typeof PlacementEnum;
21
+ }
22
+ declare const Tooltip: FC<TooltipProps>;
23
+ export default Tooltip;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface UseClickOutsideProps {
3
+ ref?: React.MutableRefObject<any>;
4
+ onClickOutside?: () => void;
5
+ }
6
+ export declare const useClickOutside: ({ ref, onClickOutside }: UseClickOutsideProps) => void;
7
+ export {};
@@ -1,17 +1,22 @@
1
+ import { ThemeProvider } from './contexts/theme/ThemeProvider';
2
+ import Box from './components/box/Box';
1
3
  import Breadcrumbs from './components/breadcrumbs/Breadcrumbs';
2
4
  import Button from './components/button/Button';
3
- import Box from './components/box/Box';
4
5
  import Card from './components/card/Card';
5
- import Heading from './components/heading/Heading';
6
- import Text from './components/text/Text';
7
6
  import Checkbox from './components/checkbox/Checkbox';
7
+ import Divider from './components/divider/Divider';
8
+ import Heading from './components/heading/Heading';
9
+ import Link from './components/link/Link';
8
10
  import Pager from './components/pager/Pager';
9
11
  import RadioButton from './components/radio-button/RadioButton';
12
+ import RoundButton from './components/round-button/RoundButton';
10
13
  import Select from './components/select/Select';
11
14
  import SelectPagination from './components/select-pagination/SelectPagination';
12
- import Divider from './components/divider/Divider';
13
- import TextField from './components/text-field/TextField';
14
- import Link from './components/link/Link';
15
- import { ThemeProvider } from './contexts/theme/ThemeProvider';
15
+ import Stepper from './components/stepper/Stepper';
16
16
  import Tag from './components/tag/Tag';
17
- export { Box, Breadcrumbs, Button, Card, Checkbox, Divider, Heading, Link, Pager, RadioButton, Select, SelectPagination, Text, TextField, ThemeProvider, Tag };
17
+ import Text from './components/text/Text';
18
+ import TextField from './components/text-field/TextField';
19
+ import Timer from './components/timer/Timer';
20
+ import Tooltip from './components/tooltip/Tooltip';
21
+ import Menu from './components/menu/Menu';
22
+ export { Box, Breadcrumbs, Button, Card, Checkbox, Divider, Heading, Link, Pager, RadioButton, RoundButton, Select, SelectPagination, Stepper, Tag, Text, TextField, ThemeProvider, Timer, Tooltip, Menu };
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { IconTypes } from '../../../../../../avocado-icons/src/types/icons.type.ts';
3
+ export interface MenuItem {
4
+ icon?: IconTypes;
5
+ label: ReactNode;
6
+ onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
7
+ }