@app-studio/web 0.8.73 → 0.8.74
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/Accordion/Accordion/Accordion.props.d.ts +91 -0
- package/dist/components/Accordion/Accordion/Accordion.state.d.ts +5 -0
- package/dist/components/Accordion/Accordion/Accordion.style.d.ts +4 -0
- package/dist/components/Accordion/Accordion/Accordion.type.d.ts +15 -0
- package/dist/components/Accordion/Accordion/Accordion.view.d.ts +22 -0
- package/dist/components/Accordion/Accordion.d.ts +2 -0
- package/dist/components/Accordion/examples/default.d.ts +2 -0
- package/dist/components/Accordion/examples/disabled.d.ts +2 -0
- package/dist/components/Accordion/examples/index.d.ts +4 -0
- package/dist/components/Accordion/examples/multiple.d.ts +2 -0
- package/dist/components/Accordion/examples/variants.d.ts +2 -0
- package/dist/components/ContextMenu/ContextMenu/ContextMenu.props.d.ts +120 -0
- package/dist/components/ContextMenu/ContextMenu/ContextMenu.state.d.ts +15 -0
- package/dist/components/ContextMenu/ContextMenu/ContextMenu.style.d.ts +20 -0
- package/dist/components/ContextMenu/ContextMenu/ContextMenu.type.d.ts +41 -0
- package/dist/components/ContextMenu/ContextMenu/ContextMenu.view.d.ts +20 -0
- package/dist/components/ContextMenu/ContextMenu.d.ts +2 -0
- package/dist/components/ContextMenu/examples/custom.d.ts +2 -0
- package/dist/components/ContextMenu/examples/default.d.ts +2 -0
- package/dist/components/ContextMenu/examples/index.d.ts +4 -0
- package/dist/components/ContextMenu/examples/sizes.d.ts +2 -0
- package/dist/components/ContextMenu/examples/variants.d.ts +2 -0
- package/dist/components/DropdownMenu/DropdownMenu/DropdownMenu.props.d.ts +117 -0
- package/dist/components/DropdownMenu/DropdownMenu/DropdownMenu.state.d.ts +7 -0
- package/dist/components/DropdownMenu/DropdownMenu/DropdownMenu.style.d.ts +17 -0
- package/dist/components/DropdownMenu/DropdownMenu/DropdownMenu.type.d.ts +34 -0
- package/dist/components/DropdownMenu/DropdownMenu/DropdownMenu.view.d.ts +19 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +2 -0
- package/dist/components/DropdownMenu/examples/custom.d.ts +2 -0
- package/dist/components/DropdownMenu/examples/default.d.ts +2 -0
- package/dist/components/DropdownMenu/examples/index.d.ts +5 -0
- package/dist/components/DropdownMenu/examples/positions.d.ts +2 -0
- package/dist/components/DropdownMenu/examples/sizes.d.ts +2 -0
- package/dist/components/DropdownMenu/examples/variants.d.ts +2 -0
- package/dist/components/Formik/Formik.Slider.d.ts +7 -0
- package/dist/components/Formik/examples/FormikSlider.d.ts +2 -0
- package/dist/components/Formik/examples/index.d.ts +1 -0
- package/dist/components/Formik/index.d.ts +1 -0
- package/dist/components/Icon/Icon.d.ts +3 -0
- package/dist/components/NavigationMenu/NavigationMenu/NavigationMenu.props.d.ts +126 -0
- package/dist/components/NavigationMenu/NavigationMenu/NavigationMenu.state.d.ts +8 -0
- package/dist/components/NavigationMenu/NavigationMenu/NavigationMenu.style.d.ts +18 -0
- package/dist/components/NavigationMenu/NavigationMenu/NavigationMenu.type.d.ts +34 -0
- package/dist/components/NavigationMenu/NavigationMenu/NavigationMenu.view.d.ts +19 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts +2 -0
- package/dist/components/NavigationMenu/examples/default.d.ts +2 -0
- package/dist/components/NavigationMenu/examples/horizontal.d.ts +2 -0
- package/dist/components/NavigationMenu/examples/index.d.ts +4 -0
- package/dist/components/NavigationMenu/examples/sizes.d.ts +2 -0
- package/dist/components/NavigationMenu/examples/variants.d.ts +2 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/pages/accordion.page.d.ts +3 -0
- package/dist/pages/components.page.d.ts +5 -0
- package/dist/pages/contextMenu.page.d.ts +3 -0
- package/dist/pages/dropdownMenu.page.d.ts +3 -0
- package/dist/pages/navigationMenu.page.d.ts +3 -0
- package/dist/web.cjs.development.js +1840 -378
- package/dist/web.cjs.development.js.map +1 -1
- package/dist/web.cjs.production.min.js +1 -1
- package/dist/web.cjs.production.min.js.map +1 -1
- package/dist/web.esm.js +1835 -381
- package/dist/web.esm.js.map +1 -1
- package/dist/web.umd.development.js +1811 -349
- package/dist/web.umd.development.js.map +1 -1
- package/dist/web.umd.production.min.js +1 -1
- package/dist/web.umd.production.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/Slider/SliderDemo.d.ts +0 -3
- package/dist/utils/componentsPageImports.d.ts +0 -6
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewProps } from 'app-studio';
|
|
3
|
+
import { AccordionStyles, Shape, Variant } from './Accordion.type';
|
|
4
|
+
export interface AccordionProps {
|
|
5
|
+
/**
|
|
6
|
+
* The content of the accordion (AccordionItem components)
|
|
7
|
+
*/
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Whether multiple items can be expanded at once
|
|
11
|
+
*/
|
|
12
|
+
allowMultiple?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Default expanded item IDs
|
|
15
|
+
*/
|
|
16
|
+
defaultExpandedItems?: string[];
|
|
17
|
+
/**
|
|
18
|
+
* The shape of the accordion items
|
|
19
|
+
*/
|
|
20
|
+
shape?: Shape;
|
|
21
|
+
/**
|
|
22
|
+
* The visual style variant of the accordion
|
|
23
|
+
*/
|
|
24
|
+
variant?: Variant;
|
|
25
|
+
/**
|
|
26
|
+
* Custom styles for different parts of the accordion
|
|
27
|
+
*/
|
|
28
|
+
views?: AccordionStyles;
|
|
29
|
+
}
|
|
30
|
+
export interface AccordionItemProps {
|
|
31
|
+
/**
|
|
32
|
+
* Unique identifier for the accordion item
|
|
33
|
+
*/
|
|
34
|
+
id: string;
|
|
35
|
+
/**
|
|
36
|
+
* The content of the accordion item
|
|
37
|
+
*/
|
|
38
|
+
children: React.ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the accordion item is disabled
|
|
41
|
+
*/
|
|
42
|
+
isDisabled?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Custom styles for this specific accordion item
|
|
45
|
+
*/
|
|
46
|
+
views?: {
|
|
47
|
+
item?: ViewProps;
|
|
48
|
+
header?: ViewProps;
|
|
49
|
+
content?: ViewProps;
|
|
50
|
+
icon?: ViewProps;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface AccordionHeaderProps {
|
|
54
|
+
/**
|
|
55
|
+
* The content of the accordion header
|
|
56
|
+
*/
|
|
57
|
+
children: React.ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Custom styles for the header
|
|
60
|
+
*/
|
|
61
|
+
views?: {
|
|
62
|
+
container?: ViewProps;
|
|
63
|
+
icon?: ViewProps;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export interface AccordionContentProps {
|
|
67
|
+
/**
|
|
68
|
+
* The content to be displayed when the accordion item is expanded
|
|
69
|
+
*/
|
|
70
|
+
children: React.ReactNode;
|
|
71
|
+
/**
|
|
72
|
+
* Custom styles for the content
|
|
73
|
+
*/
|
|
74
|
+
views?: {
|
|
75
|
+
container?: ViewProps;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export interface AccordionType extends React.FC<AccordionProps> {
|
|
79
|
+
/**
|
|
80
|
+
* Individual accordion item component
|
|
81
|
+
*/
|
|
82
|
+
Item: React.FC<AccordionItemProps>;
|
|
83
|
+
/**
|
|
84
|
+
* Header component for accordion items
|
|
85
|
+
*/
|
|
86
|
+
Header: React.FC<AccordionHeaderProps>;
|
|
87
|
+
/**
|
|
88
|
+
* Content component for accordion items
|
|
89
|
+
*/
|
|
90
|
+
Content: React.FC<AccordionContentProps>;
|
|
91
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ViewProps } from 'app-studio';
|
|
2
|
+
export declare type Shape = 'sharp' | 'rounded';
|
|
3
|
+
export declare type Variant = 'default' | 'outline' | 'filled';
|
|
4
|
+
export interface AccordionContextType {
|
|
5
|
+
expandedItems: string[];
|
|
6
|
+
toggleItem: (itemId: string) => void;
|
|
7
|
+
isItemExpanded: (itemId: string) => boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface AccordionStyles {
|
|
10
|
+
container?: ViewProps;
|
|
11
|
+
item?: ViewProps;
|
|
12
|
+
header?: ViewProps;
|
|
13
|
+
content?: ViewProps;
|
|
14
|
+
icon?: ViewProps;
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AccordionContextType } from './Accordion.type';
|
|
3
|
+
import { AccordionHeaderProps, AccordionContentProps, AccordionItemProps } from './Accordion.props';
|
|
4
|
+
export declare const AccordionProvider: React.FC<{
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
value: AccordionContextType;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const useAccordionContext: () => AccordionContextType;
|
|
9
|
+
export declare const AccordionItem: React.FC<AccordionItemProps>;
|
|
10
|
+
export declare const AccordionHeader: React.FC<AccordionHeaderProps & {
|
|
11
|
+
id?: string;
|
|
12
|
+
isExpanded?: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const AccordionContent: React.FC<AccordionContentProps & {
|
|
15
|
+
isExpanded?: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export declare const AccordionView: React.FC<{
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
shape?: 'sharp' | 'rounded';
|
|
20
|
+
variant?: 'default' | 'outline' | 'filled';
|
|
21
|
+
views?: any;
|
|
22
|
+
}>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewProps } from 'app-studio';
|
|
3
|
+
import { ContextMenuItem, ContextMenuStyles, Size, Variant, Position, Alignment } from './ContextMenu.type';
|
|
4
|
+
export interface ContextMenuProps {
|
|
5
|
+
/**
|
|
6
|
+
* The content that will trigger the context menu on right-click
|
|
7
|
+
*/
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* The items to display in the context menu
|
|
11
|
+
*/
|
|
12
|
+
items: ContextMenuItem[];
|
|
13
|
+
/**
|
|
14
|
+
* The size of the context menu items
|
|
15
|
+
*/
|
|
16
|
+
size?: Size;
|
|
17
|
+
/**
|
|
18
|
+
* The visual style variant of the context menu
|
|
19
|
+
*/
|
|
20
|
+
variant?: Variant;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to disable the default browser context menu
|
|
23
|
+
*/
|
|
24
|
+
disableNativeContextMenu?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Custom styles for different parts of the context menu
|
|
27
|
+
*/
|
|
28
|
+
views?: ContextMenuStyles;
|
|
29
|
+
/**
|
|
30
|
+
* Additional props to be spread to the container element
|
|
31
|
+
*/
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}
|
|
34
|
+
export interface ContextMenuTriggerProps {
|
|
35
|
+
/**
|
|
36
|
+
* The content that will trigger the context menu on right-click
|
|
37
|
+
*/
|
|
38
|
+
children: React.ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Whether to disable the default browser context menu
|
|
41
|
+
*/
|
|
42
|
+
disableNativeContextMenu?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Custom styles for the trigger container
|
|
45
|
+
*/
|
|
46
|
+
views?: {
|
|
47
|
+
container?: ViewProps;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export interface ContextMenuContentProps {
|
|
51
|
+
/**
|
|
52
|
+
* The items to display in the context menu
|
|
53
|
+
*/
|
|
54
|
+
items: ContextMenuItem[];
|
|
55
|
+
/**
|
|
56
|
+
* The position of the context menu
|
|
57
|
+
*/
|
|
58
|
+
position?: {
|
|
59
|
+
x: number;
|
|
60
|
+
y: number;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* The preferred side to display the context menu
|
|
64
|
+
*/
|
|
65
|
+
side?: Position;
|
|
66
|
+
/**
|
|
67
|
+
* The alignment of the context menu
|
|
68
|
+
*/
|
|
69
|
+
align?: Alignment;
|
|
70
|
+
/**
|
|
71
|
+
* Custom styles for the context menu
|
|
72
|
+
*/
|
|
73
|
+
views?: {
|
|
74
|
+
menu?: ViewProps;
|
|
75
|
+
item?: ViewProps;
|
|
76
|
+
divider?: ViewProps;
|
|
77
|
+
icon?: ViewProps;
|
|
78
|
+
submenuIndicator?: ViewProps;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export interface ContextMenuItemProps {
|
|
82
|
+
/**
|
|
83
|
+
* The item data
|
|
84
|
+
*/
|
|
85
|
+
item: ContextMenuItem;
|
|
86
|
+
/**
|
|
87
|
+
* Custom styles for the item
|
|
88
|
+
*/
|
|
89
|
+
views?: {
|
|
90
|
+
item?: ViewProps;
|
|
91
|
+
icon?: ViewProps;
|
|
92
|
+
submenuIndicator?: ViewProps;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export interface ContextMenuDividerProps {
|
|
96
|
+
/**
|
|
97
|
+
* Custom styles for the divider
|
|
98
|
+
*/
|
|
99
|
+
views?: {
|
|
100
|
+
divider?: ViewProps;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export interface ContextMenuType extends React.FC<ContextMenuProps> {
|
|
104
|
+
/**
|
|
105
|
+
* The trigger component for the context menu
|
|
106
|
+
*/
|
|
107
|
+
Trigger: React.FC<ContextMenuTriggerProps>;
|
|
108
|
+
/**
|
|
109
|
+
* The content component for the context menu
|
|
110
|
+
*/
|
|
111
|
+
Content: React.FC<ContextMenuContentProps>;
|
|
112
|
+
/**
|
|
113
|
+
* The item component for the context menu
|
|
114
|
+
*/
|
|
115
|
+
Item: React.FC<ContextMenuItemProps>;
|
|
116
|
+
/**
|
|
117
|
+
* The divider component for the context menu
|
|
118
|
+
*/
|
|
119
|
+
Divider: React.FC<ContextMenuDividerProps>;
|
|
120
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const useContextMenuState: () => {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
5
|
+
position: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
};
|
|
9
|
+
setPosition: import("react").Dispatch<import("react").SetStateAction<{
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
}>>;
|
|
13
|
+
activeSubmenuId: string | null;
|
|
14
|
+
setActiveSubmenuId: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
15
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ViewProps } from 'app-studio';
|
|
2
|
+
import { Size, Variant, Position, Alignment } from './ContextMenu.type';
|
|
3
|
+
export declare const ContextMenuSizes: Record<Size, ViewProps>;
|
|
4
|
+
export declare const ContextMenuVariants: Record<Variant, ViewProps>;
|
|
5
|
+
export declare const ContextMenuItemStates: {
|
|
6
|
+
hover: {
|
|
7
|
+
backgroundColor: string;
|
|
8
|
+
};
|
|
9
|
+
active: {
|
|
10
|
+
backgroundColor: string;
|
|
11
|
+
};
|
|
12
|
+
disabled: {
|
|
13
|
+
opacity: number;
|
|
14
|
+
cursor: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const calculateMenuPosition: (x: number, y: number, menuWidth: number, menuHeight: number, windowWidth: number, windowHeight: number, side?: Position, align?: Alignment) => {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ViewProps } from 'app-studio';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export declare type Size = 'sm' | 'md' | 'lg';
|
|
4
|
+
export declare type Variant = 'default' | 'filled' | 'outline';
|
|
5
|
+
export declare type Position = 'top' | 'right' | 'bottom' | 'left';
|
|
6
|
+
export declare type Alignment = 'start' | 'center' | 'end';
|
|
7
|
+
export interface ContextMenuItem {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
onClick?: () => void;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
items?: ContextMenuItem[];
|
|
14
|
+
divider?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface ContextMenuContextType {
|
|
17
|
+
isOpen: boolean;
|
|
18
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
19
|
+
position: {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
};
|
|
23
|
+
setPosition: (position: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
}) => void;
|
|
27
|
+
activeSubmenuId: string | null;
|
|
28
|
+
setActiveSubmenuId: (id: string | null) => void;
|
|
29
|
+
size: Size;
|
|
30
|
+
variant: Variant;
|
|
31
|
+
}
|
|
32
|
+
export interface ContextMenuStyles {
|
|
33
|
+
container?: ViewProps;
|
|
34
|
+
menu?: ViewProps;
|
|
35
|
+
item?: ViewProps;
|
|
36
|
+
activeItem?: ViewProps;
|
|
37
|
+
divider?: ViewProps;
|
|
38
|
+
icon?: ViewProps;
|
|
39
|
+
submenuIndicator?: ViewProps;
|
|
40
|
+
submenu?: ViewProps;
|
|
41
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ContextMenuContextType, Size, Variant, ContextMenuItem as ContextMenuItemType } from './ContextMenu.type';
|
|
3
|
+
import { ContextMenuTriggerProps, ContextMenuContentProps, ContextMenuItemProps, ContextMenuDividerProps } from './ContextMenu.props';
|
|
4
|
+
export declare const ContextMenuProvider: React.FC<{
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
value: ContextMenuContextType;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const useContextMenuContext: () => ContextMenuContextType;
|
|
9
|
+
export declare const ContextMenuTrigger: React.FC<ContextMenuTriggerProps>;
|
|
10
|
+
export declare const ContextMenuContent: React.FC<ContextMenuContentProps>;
|
|
11
|
+
export declare const ContextMenuItem: React.FC<ContextMenuItemProps>;
|
|
12
|
+
export declare const ContextMenuDivider: React.FC<ContextMenuDividerProps>;
|
|
13
|
+
export declare const ContextMenuView: React.FC<{
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
items: ContextMenuItemType[];
|
|
16
|
+
size: Size;
|
|
17
|
+
variant: Variant;
|
|
18
|
+
disableNativeContextMenu?: boolean;
|
|
19
|
+
views?: any;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewProps } from 'app-studio';
|
|
3
|
+
import { DropdownMenuItem, DropdownMenuStyles, Size, Variant, Position, Alignment } from './DropdownMenu.type';
|
|
4
|
+
export interface DropdownMenuProps {
|
|
5
|
+
/**
|
|
6
|
+
* The trigger element that will open the dropdown menu when clicked
|
|
7
|
+
*/
|
|
8
|
+
trigger: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* The items to display in the dropdown menu
|
|
11
|
+
*/
|
|
12
|
+
items: DropdownMenuItem[];
|
|
13
|
+
/**
|
|
14
|
+
* The size of the dropdown menu items
|
|
15
|
+
*/
|
|
16
|
+
size?: Size;
|
|
17
|
+
/**
|
|
18
|
+
* The visual style variant of the dropdown menu
|
|
19
|
+
*/
|
|
20
|
+
variant?: Variant;
|
|
21
|
+
/**
|
|
22
|
+
* The preferred side to display the dropdown menu
|
|
23
|
+
*/
|
|
24
|
+
side?: Position;
|
|
25
|
+
/**
|
|
26
|
+
* The alignment of the dropdown menu
|
|
27
|
+
*/
|
|
28
|
+
align?: Alignment;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the dropdown menu is initially open
|
|
31
|
+
*/
|
|
32
|
+
defaultOpen?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Custom styles for different parts of the dropdown menu
|
|
35
|
+
*/
|
|
36
|
+
views?: DropdownMenuStyles;
|
|
37
|
+
/**
|
|
38
|
+
* Additional props to be spread to the container element
|
|
39
|
+
*/
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
}
|
|
42
|
+
export interface DropdownMenuTriggerProps {
|
|
43
|
+
/**
|
|
44
|
+
* The content that will trigger the dropdown menu on click
|
|
45
|
+
*/
|
|
46
|
+
children: React.ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* Custom styles for the trigger container
|
|
49
|
+
*/
|
|
50
|
+
views?: {
|
|
51
|
+
container?: ViewProps;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export interface DropdownMenuContentProps {
|
|
55
|
+
/**
|
|
56
|
+
* The items to display in the dropdown menu
|
|
57
|
+
*/
|
|
58
|
+
items: DropdownMenuItem[];
|
|
59
|
+
/**
|
|
60
|
+
* The preferred side to display the dropdown menu
|
|
61
|
+
*/
|
|
62
|
+
side?: Position;
|
|
63
|
+
/**
|
|
64
|
+
* The alignment of the dropdown menu
|
|
65
|
+
*/
|
|
66
|
+
align?: Alignment;
|
|
67
|
+
/**
|
|
68
|
+
* Custom styles for the dropdown menu
|
|
69
|
+
*/
|
|
70
|
+
views?: {
|
|
71
|
+
menu?: ViewProps;
|
|
72
|
+
item?: ViewProps;
|
|
73
|
+
divider?: ViewProps;
|
|
74
|
+
icon?: ViewProps;
|
|
75
|
+
submenuIndicator?: ViewProps;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export interface DropdownMenuItemProps {
|
|
79
|
+
/**
|
|
80
|
+
* The item data
|
|
81
|
+
*/
|
|
82
|
+
item: DropdownMenuItem;
|
|
83
|
+
/**
|
|
84
|
+
* Custom styles for the item
|
|
85
|
+
*/
|
|
86
|
+
views?: {
|
|
87
|
+
item?: ViewProps;
|
|
88
|
+
icon?: ViewProps;
|
|
89
|
+
submenuIndicator?: ViewProps;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export interface DropdownMenuDividerProps {
|
|
93
|
+
/**
|
|
94
|
+
* Custom styles for the divider
|
|
95
|
+
*/
|
|
96
|
+
views?: {
|
|
97
|
+
divider?: ViewProps;
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export interface DropdownMenuType extends React.FC<DropdownMenuProps> {
|
|
101
|
+
/**
|
|
102
|
+
* The trigger component for the dropdown menu
|
|
103
|
+
*/
|
|
104
|
+
Trigger: React.FC<DropdownMenuTriggerProps>;
|
|
105
|
+
/**
|
|
106
|
+
* The content component for the dropdown menu
|
|
107
|
+
*/
|
|
108
|
+
Content: React.FC<DropdownMenuContentProps>;
|
|
109
|
+
/**
|
|
110
|
+
* The item component for the dropdown menu
|
|
111
|
+
*/
|
|
112
|
+
Item: React.FC<DropdownMenuItemProps>;
|
|
113
|
+
/**
|
|
114
|
+
* The divider component for the dropdown menu
|
|
115
|
+
*/
|
|
116
|
+
Divider: React.FC<DropdownMenuDividerProps>;
|
|
117
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const useDropdownMenuState: (defaultOpen?: boolean) => {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
5
|
+
activeSubmenuId: string | null;
|
|
6
|
+
setActiveSubmenuId: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ViewProps } from 'app-studio';
|
|
2
|
+
import { Size, Variant, Position, Alignment } from './DropdownMenu.type';
|
|
3
|
+
export declare const DropdownMenuSizes: Record<Size, ViewProps>;
|
|
4
|
+
export declare const DropdownMenuVariants: Record<Variant, ViewProps>;
|
|
5
|
+
export declare const DropdownMenuItemStates: {
|
|
6
|
+
hover: {
|
|
7
|
+
backgroundColor: string;
|
|
8
|
+
};
|
|
9
|
+
active: {
|
|
10
|
+
backgroundColor: string;
|
|
11
|
+
};
|
|
12
|
+
disabled: {
|
|
13
|
+
opacity: number;
|
|
14
|
+
cursor: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const getDropdownPosition: (side?: Position, align?: Alignment) => ViewProps;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ViewProps } from 'app-studio';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export declare type Size = 'sm' | 'md' | 'lg';
|
|
4
|
+
export declare type Variant = 'default' | 'filled' | 'outline';
|
|
5
|
+
export declare type Position = 'top' | 'right' | 'bottom' | 'left';
|
|
6
|
+
export declare type Alignment = 'start' | 'center' | 'end';
|
|
7
|
+
export interface DropdownMenuItem {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
onClick?: () => void;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
items?: DropdownMenuItem[];
|
|
14
|
+
divider?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface DropdownMenuContextType {
|
|
17
|
+
isOpen: boolean;
|
|
18
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
19
|
+
activeSubmenuId: string | null;
|
|
20
|
+
setActiveSubmenuId: (id: string | null) => void;
|
|
21
|
+
size: Size;
|
|
22
|
+
variant: Variant;
|
|
23
|
+
}
|
|
24
|
+
export interface DropdownMenuStyles {
|
|
25
|
+
container?: ViewProps;
|
|
26
|
+
trigger?: ViewProps;
|
|
27
|
+
menu?: ViewProps;
|
|
28
|
+
item?: ViewProps;
|
|
29
|
+
activeItem?: ViewProps;
|
|
30
|
+
divider?: ViewProps;
|
|
31
|
+
icon?: ViewProps;
|
|
32
|
+
submenuIndicator?: ViewProps;
|
|
33
|
+
submenu?: ViewProps;
|
|
34
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DropdownMenuContextType, DropdownMenuItem as DropdownMenuItemType, Position, Alignment } from './DropdownMenu.type';
|
|
3
|
+
import { DropdownMenuTriggerProps, DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuDividerProps } from './DropdownMenu.props';
|
|
4
|
+
export declare const DropdownMenuProvider: React.FC<{
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
value: DropdownMenuContextType;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const useDropdownMenuContext: () => DropdownMenuContextType;
|
|
9
|
+
export declare const DropdownMenuTrigger: React.FC<DropdownMenuTriggerProps>;
|
|
10
|
+
export declare const DropdownMenuContent: React.FC<DropdownMenuContentProps>;
|
|
11
|
+
export declare const DropdownMenuItem: React.FC<DropdownMenuItemProps>;
|
|
12
|
+
export declare const DropdownMenuDivider: React.FC<DropdownMenuDividerProps>;
|
|
13
|
+
export declare const DropdownMenuView: React.FC<{
|
|
14
|
+
trigger: React.ReactNode;
|
|
15
|
+
items: DropdownMenuItemType[];
|
|
16
|
+
side?: Position;
|
|
17
|
+
align?: Alignment;
|
|
18
|
+
views?: any;
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SliderProps } from '../Slider/Slider/Slider.props';
|
|
3
|
+
/**
|
|
4
|
+
* Slider component integrated with Formik for form state management.
|
|
5
|
+
* Allows users to select a value from a range by moving a handle.
|
|
6
|
+
*/
|
|
7
|
+
export declare const FormikSlider: React.FC<SliderProps>;
|