@shohojdhara/atomix 0.1.25 → 0.1.26
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/js/atomix.react.cjs.js +1 -1
- package/dist/js/atomix.react.esm.js +1 -1
- package/dist/js/atomix.react.umd.js +1 -1
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +4 -0
- package/dist/types/layouts/Grid/Container.d.ts +1 -0
- package/dist/types/layouts/Grid/Grid.d.ts +1 -0
- package/dist/types/layouts/Grid/GridCol.d.ts +1 -0
- package/dist/types/layouts/Grid/Row.d.ts +1 -0
- package/dist/types/layouts/MasonryGrid/MasonryGrid.d.ts +1 -0
- package/dist/types/layouts/MasonryGrid/MasonryGridItem.d.ts +1 -0
- package/dist/types/lib/types/components.d.ts +12 -0
- package/package.json +2 -1
- package/src/components/Breadcrumb/Breadcrumb.tsx +17 -3
- package/src/components/Dropdown/Dropdown.tsx +21 -11
- package/src/components/Navigation/Nav/NavItem.tsx +18 -11
- package/src/components/Navigation/SideMenu/SideMenuItem.tsx +20 -12
- package/src/components/index.ts +42 -153
- package/src/layouts/Grid/Container.tsx +2 -0
- package/src/layouts/Grid/Grid.tsx +1 -0
- package/src/layouts/Grid/GridCol.tsx +1 -0
- package/src/layouts/Grid/Row.tsx +2 -0
- package/src/layouts/MasonryGrid/MasonryGrid.tsx +2 -0
- package/src/layouts/MasonryGrid/MasonryGridItem.tsx +2 -0
- package/src/layouts/index.ts +1 -6
- package/src/lib/types/components.ts +15 -0
- package/src/components/index.fixed.ts +0 -153
- package/src/htmlComponentsEntry.ts +0 -318
|
@@ -38,6 +38,10 @@ export interface BreadcrumbProps {
|
|
|
38
38
|
* Aria label for the navigation
|
|
39
39
|
*/
|
|
40
40
|
ariaLabel?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Optional custom link component
|
|
43
|
+
*/
|
|
44
|
+
LinkComponent?: React.ElementType;
|
|
41
45
|
}
|
|
42
46
|
export declare const Breadcrumb: React.FC<BreadcrumbProps>;
|
|
43
47
|
export default Breadcrumb;
|
|
@@ -62,3 +62,4 @@ export interface GridColProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
62
62
|
* Uses the CSS grid column classes defined in _objects.grid.scss.
|
|
63
63
|
*/
|
|
64
64
|
export declare const GridCol: React.ForwardRefExoticComponent<GridColProps & React.RefAttributes<HTMLDivElement>>;
|
|
65
|
+
export default GridCol;
|
|
@@ -442,6 +442,10 @@ export interface NavItemProps extends BaseComponentProps {
|
|
|
442
442
|
* Whether dropdown/mega menu is expanded
|
|
443
443
|
*/
|
|
444
444
|
'aria-expanded'?: boolean;
|
|
445
|
+
/**
|
|
446
|
+
* Optional custom link component
|
|
447
|
+
*/
|
|
448
|
+
LinkComponent?: React.ElementType;
|
|
445
449
|
}
|
|
446
450
|
/**
|
|
447
451
|
* Nav dropdown properties
|
|
@@ -619,6 +623,10 @@ export interface SideMenuItemProps extends BaseComponentProps {
|
|
|
619
623
|
* Link rel attribute
|
|
620
624
|
*/
|
|
621
625
|
rel?: string;
|
|
626
|
+
/**
|
|
627
|
+
* Optional custom link component
|
|
628
|
+
*/
|
|
629
|
+
LinkComponent?: React.ElementType;
|
|
622
630
|
}
|
|
623
631
|
/**
|
|
624
632
|
* EdgePanel position options
|
|
@@ -1720,6 +1728,10 @@ export interface DropdownItemProps extends BaseComponentProps {
|
|
|
1720
1728
|
* Item click handler
|
|
1721
1729
|
*/
|
|
1722
1730
|
onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
|
|
1731
|
+
/**
|
|
1732
|
+
* Optional custom link component
|
|
1733
|
+
*/
|
|
1734
|
+
LinkComponent?: React.ElementType;
|
|
1723
1735
|
}
|
|
1724
1736
|
/**
|
|
1725
1737
|
* Dropdown divider properties
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shohojdhara/atomix",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.26",
|
|
4
4
|
"description": "Atomix Design System - A modern component library for web applications",
|
|
5
5
|
"main": "dist/js/atomix.react.cjs.js",
|
|
6
6
|
"module": "dist/js/atomix.react.esm.js",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"types": "./dist/types/index.d.ts",
|
|
19
19
|
"import": "./dist/js/atomix.react.esm.js",
|
|
20
20
|
"require": "./dist/js/atomix.react.cjs.js",
|
|
21
|
+
"browser": "./dist/js/atomix.react.umd.js",
|
|
21
22
|
"default": "./dist/js/atomix.react.esm.js"
|
|
22
23
|
},
|
|
23
24
|
"./package.json": "./package.json",
|
|
@@ -48,12 +48,18 @@ export interface BreadcrumbProps {
|
|
|
48
48
|
* Aria label for the navigation
|
|
49
49
|
*/
|
|
50
50
|
ariaLabel?: string;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Optional custom link component
|
|
54
|
+
*/
|
|
55
|
+
LinkComponent?: React.ElementType;
|
|
51
56
|
}
|
|
52
57
|
export const Breadcrumb: React.FC<BreadcrumbProps> = ({
|
|
53
58
|
items,
|
|
54
59
|
divider,
|
|
55
60
|
className = '',
|
|
56
61
|
ariaLabel = 'Breadcrumb',
|
|
62
|
+
LinkComponent,
|
|
57
63
|
}) => {
|
|
58
64
|
const breadcrumbClasses = [BREADCRUMB.CLASSES.BASE, className].filter(Boolean).join(' ');
|
|
59
65
|
|
|
@@ -76,12 +82,20 @@ export const Breadcrumb: React.FC<BreadcrumbProps> = ({
|
|
|
76
82
|
</>
|
|
77
83
|
);
|
|
78
84
|
|
|
85
|
+
const linkProps = {
|
|
86
|
+
href: item.href,
|
|
87
|
+
className: BREADCRUMB.CLASSES.LINK,
|
|
88
|
+
onClick: item.onClick,
|
|
89
|
+
};
|
|
90
|
+
|
|
79
91
|
return (
|
|
80
92
|
<li key={index} className={itemClasses}>
|
|
81
93
|
{item.href && !item.active ? (
|
|
82
|
-
|
|
83
|
-
{linkContent}
|
|
84
|
-
|
|
94
|
+
LinkComponent ? (
|
|
95
|
+
<LinkComponent {...linkProps}>{linkContent}</LinkComponent>
|
|
96
|
+
) : (
|
|
97
|
+
<a {...linkProps}>{linkContent}</a>
|
|
98
|
+
)
|
|
85
99
|
) : (
|
|
86
100
|
<span className={BREADCRUMB.CLASSES.LINK}>{linkContent}</span>
|
|
87
101
|
)}
|
|
@@ -34,6 +34,7 @@ export const DropdownItem: React.FC<DropdownItemProps> = ({
|
|
|
34
34
|
icon,
|
|
35
35
|
onClick,
|
|
36
36
|
className = '',
|
|
37
|
+
LinkComponent,
|
|
37
38
|
...props
|
|
38
39
|
}) => {
|
|
39
40
|
const { close } = useContext(DropdownContext);
|
|
@@ -61,20 +62,29 @@ export const DropdownItem: React.FC<DropdownItemProps> = ({
|
|
|
61
62
|
.filter(Boolean)
|
|
62
63
|
.join(' ');
|
|
63
64
|
|
|
65
|
+
const linkProps = {
|
|
66
|
+
href,
|
|
67
|
+
className: itemClasses,
|
|
68
|
+
onClick: handleClick,
|
|
69
|
+
role: 'menuitem',
|
|
70
|
+
tabIndex: 0,
|
|
71
|
+
...props,
|
|
72
|
+
};
|
|
73
|
+
|
|
64
74
|
if (href && !disabled) {
|
|
65
75
|
return (
|
|
66
76
|
<li>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
{...
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
{LinkComponent ? (
|
|
78
|
+
<LinkComponent {...linkProps}>
|
|
79
|
+
{icon && <span className="c-dropdown__menu-item-icon">{icon}</span>}
|
|
80
|
+
{children}
|
|
81
|
+
</LinkComponent>
|
|
82
|
+
) : (
|
|
83
|
+
<a {...linkProps}>
|
|
84
|
+
{icon && <span className="c-dropdown__menu-item-icon">{icon}</span>}
|
|
85
|
+
{children}
|
|
86
|
+
</a>
|
|
87
|
+
)}
|
|
78
88
|
</li>
|
|
79
89
|
);
|
|
80
90
|
}
|
|
@@ -42,6 +42,7 @@ export const NavItem = forwardRef<HTMLLIElement, NavItemProps>(
|
|
|
42
42
|
className = '',
|
|
43
43
|
disabled = false,
|
|
44
44
|
'aria-expanded': ariaExpanded,
|
|
45
|
+
LinkComponent,
|
|
45
46
|
},
|
|
46
47
|
ref
|
|
47
48
|
) => {
|
|
@@ -132,19 +133,25 @@ export const NavItem = forwardRef<HTMLLIElement, NavItemProps>(
|
|
|
132
133
|
// Use aria-expanded from props if provided, otherwise use local state
|
|
133
134
|
const expanded = typeof ariaExpanded !== 'undefined' ? ariaExpanded : isActive;
|
|
134
135
|
|
|
136
|
+
const linkProps = {
|
|
137
|
+
ref: itemRef,
|
|
138
|
+
href: href || '#',
|
|
139
|
+
className: navLinkClass,
|
|
140
|
+
onClick: dropdown || megaMenu ? handleDropdownToggle : handleClick(onClick),
|
|
141
|
+
'aria-disabled': disabled,
|
|
142
|
+
'aria-expanded': dropdown || megaMenu ? expanded : undefined,
|
|
143
|
+
'aria-current': (active && !dropdown && !megaMenu ? 'page' : undefined) as React.AriaAttributes['aria-current'],
|
|
144
|
+
};
|
|
145
|
+
|
|
135
146
|
return (
|
|
136
147
|
<li ref={ref} className={navItemClass} role="menuitem" aria-haspopup={dropdown || megaMenu}>
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
aria-current={active && !dropdown && !megaMenu ? 'page' : undefined}
|
|
145
|
-
>
|
|
146
|
-
{dropdown || megaMenu ? childContent[0] : children}
|
|
147
|
-
</a>
|
|
148
|
+
{LinkComponent ? (
|
|
149
|
+
<LinkComponent {...linkProps}>
|
|
150
|
+
{dropdown || megaMenu ? childContent[0] : children}
|
|
151
|
+
</LinkComponent>
|
|
152
|
+
) : (
|
|
153
|
+
<a {...linkProps}>{dropdown || megaMenu ? childContent[0] : children}</a>
|
|
154
|
+
)}
|
|
148
155
|
|
|
149
156
|
{(dropdown || megaMenu) && childContent.length > 1 && childContent[1]}
|
|
150
157
|
</li>
|
|
@@ -39,6 +39,7 @@ export const SideMenuItem = forwardRef<HTMLAnchorElement | HTMLButtonElement, Si
|
|
|
39
39
|
className = '',
|
|
40
40
|
target,
|
|
41
41
|
rel,
|
|
42
|
+
LinkComponent,
|
|
42
43
|
},
|
|
43
44
|
ref
|
|
44
45
|
) => {
|
|
@@ -50,20 +51,27 @@ export const SideMenuItem = forwardRef<HTMLAnchorElement | HTMLButtonElement, Si
|
|
|
50
51
|
|
|
51
52
|
const itemClass = generateSideMenuItemClass();
|
|
52
53
|
|
|
54
|
+
const linkProps = {
|
|
55
|
+
ref: ref as React.Ref<HTMLAnchorElement>,
|
|
56
|
+
href: disabled ? undefined : href,
|
|
57
|
+
className: itemClass,
|
|
58
|
+
onClick: handleClick(onClick),
|
|
59
|
+
'aria-disabled': disabled,
|
|
60
|
+
'aria-current': (active ? 'page' : undefined) as React.AriaAttributes['aria-current'],
|
|
61
|
+
target: target,
|
|
62
|
+
rel: rel,
|
|
63
|
+
tabIndex: disabled ? -1 : 0,
|
|
64
|
+
};
|
|
65
|
+
|
|
53
66
|
// Render as link if href is provided
|
|
54
67
|
if (href) {
|
|
55
|
-
return (
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
aria-current={active ? 'page' : undefined}
|
|
63
|
-
target={target}
|
|
64
|
-
rel={rel}
|
|
65
|
-
tabIndex={disabled ? -1 : 0}
|
|
66
|
-
>
|
|
68
|
+
return LinkComponent ? (
|
|
69
|
+
<LinkComponent {...linkProps}>
|
|
70
|
+
{icon && <span className="c-side-menu__link-icon">{icon}</span>}
|
|
71
|
+
<span className="c-side-menu__link-text">{children}</span>
|
|
72
|
+
</LinkComponent>
|
|
73
|
+
) : (
|
|
74
|
+
<a {...linkProps}>
|
|
67
75
|
{icon && <span className="c-side-menu__link-icon">{icon}</span>}
|
|
68
76
|
<span className="c-side-menu__link-text">{children}</span>
|
|
69
77
|
</a>
|
package/src/components/index.ts
CHANGED
|
@@ -1,153 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
import { Spinner } from './Spinner/Spinner';
|
|
44
|
-
import { Steps } from './Steps/Steps';
|
|
45
|
-
import { Tab } from './Tab/Tab';
|
|
46
|
-
import { Testimonial } from './Testimonial/Testimonial';
|
|
47
|
-
import { Textarea } from './Form/Textarea';
|
|
48
|
-
import { Todo } from './Todo/Todo';
|
|
49
|
-
import { Toggle } from './Toggle/Toggle';
|
|
50
|
-
import { Tooltip } from './Tooltip/Tooltip';
|
|
51
|
-
import { Upload } from './Upload/Upload';
|
|
52
|
-
|
|
53
|
-
// Export types
|
|
54
|
-
export type { AccordionProps } from './Accordion/Accordion';
|
|
55
|
-
export type { AvatarProps } from './Avatar/Avatar';
|
|
56
|
-
export type { AvatarGroupProps } from './Avatar/AvatarGroup';
|
|
57
|
-
export type { BadgeProps } from './Badge/Badge';
|
|
58
|
-
export type { BreadcrumbProps } from './Breadcrumb/Breadcrumb';
|
|
59
|
-
export type { ButtonProps } from './Button/Button';
|
|
60
|
-
export type { CalloutProps } from './Callout/Callout';
|
|
61
|
-
export type { CardProps } from './Card/Card';
|
|
62
|
-
export type { CheckboxProps } from './Form/Checkbox';
|
|
63
|
-
export type { ColorModeToggleProps } from './ColorModeToggle/ColorModeToggle';
|
|
64
|
-
export type { ContainerProps } from '../layouts/Grid/Container';
|
|
65
|
-
export type { CountdownProps } from './Countdown/Countdown';
|
|
66
|
-
export type { DataTableProps } from './DataTable/DataTable';
|
|
67
|
-
export type { DatePickerProps } from './DatePicker/DatePicker';
|
|
68
|
-
export type { DropdownProps } from './Dropdown/Dropdown';
|
|
69
|
-
export type { EdgePanelProps } from './EdgePanel/EdgePanel';
|
|
70
|
-
export type { FormProps } from './Form/Form';
|
|
71
|
-
export type { GridProps } from '../layouts/Grid/Grid';
|
|
72
|
-
export type { GridColProps } from '../layouts/Grid/GridCol';
|
|
73
|
-
export type { HeroProps } from './Hero/Hero';
|
|
74
|
-
export type { IconProps } from './Icon/Icon';
|
|
75
|
-
export type { InputProps } from './Form/Input';
|
|
76
|
-
export type { ListProps } from './List/List';
|
|
77
|
-
export type { MasonryGridProps } from '../layouts/MasonryGrid/MasonryGrid';
|
|
78
|
-
export type { MasonryGridItemProps } from '../layouts/MasonryGrid/MasonryGridItem';
|
|
79
|
-
export type { MessagesProps } from './Messages/Messages';
|
|
80
|
-
export type { ModalProps } from './Modal/Modal';
|
|
81
|
-
export type { NavbarProps } from './Navigation/Navbar/Navbar';
|
|
82
|
-
export type { PaginationProps } from './Pagination/Pagination';
|
|
83
|
-
export type { PhotoViewerProps } from './PhotoViewer/PhotoViewer';
|
|
84
|
-
export type { PopoverProps } from './Popover/Popover';
|
|
85
|
-
export type { ProductReviewProps } from './ProductReview/ProductReview';
|
|
86
|
-
export type { ProgressProps } from './Progress/Progress';
|
|
87
|
-
export type { RadioProps } from './Form/Radio';
|
|
88
|
-
export type { RatingProps } from './Rating/Rating';
|
|
89
|
-
export type { RiverProps } from './River/River';
|
|
90
|
-
export type { RowProps } from '../layouts/Grid/Row';
|
|
91
|
-
export type { SectionIntroProps } from './SectionIntro/SectionIntro';
|
|
92
|
-
export type { SelectProps } from './Form/Select';
|
|
93
|
-
export type { SpinnerProps } from './Spinner/Spinner';
|
|
94
|
-
export type { StepsProps } from './Steps/Steps';
|
|
95
|
-
export type { TabProps } from './Tab/Tab';
|
|
96
|
-
export type { TestimonialProps } from './Testimonial/Testimonial';
|
|
97
|
-
export type { TextareaProps } from './Form/Textarea';
|
|
98
|
-
export type { TodoProps } from './Todo/Todo';
|
|
99
|
-
export type { ToggleProps } from './Toggle/Toggle';
|
|
100
|
-
export type { TooltipProps } from './Tooltip/Tooltip';
|
|
101
|
-
export type { UploadProps } from './Upload/Upload';
|
|
102
|
-
|
|
103
|
-
// Export components
|
|
104
|
-
export {
|
|
105
|
-
Accordion,
|
|
106
|
-
Avatar,
|
|
107
|
-
AvatarGroup,
|
|
108
|
-
Badge,
|
|
109
|
-
Breadcrumb,
|
|
110
|
-
Button,
|
|
111
|
-
Callout,
|
|
112
|
-
Card,
|
|
113
|
-
Checkbox,
|
|
114
|
-
ColorModeToggle,
|
|
115
|
-
Container,
|
|
116
|
-
Countdown,
|
|
117
|
-
DataTable,
|
|
118
|
-
DatePicker,
|
|
119
|
-
Dropdown,
|
|
120
|
-
EdgePanel,
|
|
121
|
-
Form,
|
|
122
|
-
Grid,
|
|
123
|
-
GridCol,
|
|
124
|
-
Hero,
|
|
125
|
-
Icon,
|
|
126
|
-
Input,
|
|
127
|
-
List,
|
|
128
|
-
MasonryGrid,
|
|
129
|
-
MasonryGridItem,
|
|
130
|
-
Messages,
|
|
131
|
-
Modal,
|
|
132
|
-
Navbar,
|
|
133
|
-
Pagination,
|
|
134
|
-
PhotoViewer,
|
|
135
|
-
Popover,
|
|
136
|
-
ProductReview,
|
|
137
|
-
Progress,
|
|
138
|
-
Radio,
|
|
139
|
-
Rating,
|
|
140
|
-
River,
|
|
141
|
-
Row,
|
|
142
|
-
SectionIntro,
|
|
143
|
-
Select,
|
|
144
|
-
Spinner,
|
|
145
|
-
Steps,
|
|
146
|
-
Tab,
|
|
147
|
-
Testimonial,
|
|
148
|
-
Textarea,
|
|
149
|
-
Todo,
|
|
150
|
-
Toggle,
|
|
151
|
-
Tooltip,
|
|
152
|
-
Upload
|
|
153
|
-
};
|
|
1
|
+
export { default as Accordion, type AccordionProps } from './Accordion/Accordion';
|
|
2
|
+
export { default as Avatar, type AvatarProps } from './Avatar/Avatar';
|
|
3
|
+
export { default as AvatarGroup, type AvatarGroupProps } from './Avatar/AvatarGroup';
|
|
4
|
+
export { default as Badge, type BadgeProps } from './Badge/Badge';
|
|
5
|
+
export { default as Breadcrumb, type BreadcrumbProps } from './Breadcrumb/Breadcrumb';
|
|
6
|
+
export { default as Button, type ButtonProps } from './Button/Button';
|
|
7
|
+
export { default as Callout, type CalloutProps } from './Callout/Callout';
|
|
8
|
+
export { default as Card, type CardProps } from './Card/Card';
|
|
9
|
+
export { default as Checkbox, type CheckboxProps } from './Form/Checkbox';
|
|
10
|
+
export { default as ColorModeToggle, type ColorModeToggleProps } from './ColorModeToggle/ColorModeToggle';
|
|
11
|
+
export { default as Countdown, type CountdownProps } from './Countdown/Countdown';
|
|
12
|
+
export { default as DataTable, type DataTableProps } from './DataTable/DataTable';
|
|
13
|
+
export { default as DatePicker, type DatePickerProps } from './DatePicker/DatePicker';
|
|
14
|
+
export { default as Dropdown, type DropdownProps } from './Dropdown/Dropdown';
|
|
15
|
+
export { default as EdgePanel, type EdgePanelProps } from './EdgePanel/EdgePanel';
|
|
16
|
+
export { default as Form, type FormProps } from './Form/Form';
|
|
17
|
+
export { default as Hero, type HeroProps } from './Hero/Hero';
|
|
18
|
+
export { default as Icon, type IconProps } from './Icon/Icon';
|
|
19
|
+
export { default as Input, type InputProps } from './Form/Input';
|
|
20
|
+
export { default as List, type ListProps } from './List/List';
|
|
21
|
+
export { default as Messages, type MessagesProps } from './Messages/Messages';
|
|
22
|
+
export { default as Modal, type ModalProps } from './Modal/Modal';
|
|
23
|
+
export { default as Navbar, type NavbarProps } from './Navigation/Navbar/Navbar';
|
|
24
|
+
export { default as Pagination, type PaginationProps } from './Pagination/Pagination';
|
|
25
|
+
export { default as PhotoViewer, type PhotoViewerProps } from './PhotoViewer/PhotoViewer';
|
|
26
|
+
export { default as Popover, type PopoverProps } from './Popover/Popover';
|
|
27
|
+
export { default as ProductReview, type ProductReviewProps } from './ProductReview/ProductReview';
|
|
28
|
+
export { default as Progress, type ProgressProps } from './Progress/Progress';
|
|
29
|
+
export { default as Radio, type RadioProps } from './Form/Radio';
|
|
30
|
+
export { default as Rating, type RatingProps } from './Rating/Rating';
|
|
31
|
+
export { default as River, type RiverProps } from './River/River';
|
|
32
|
+
export { default as SectionIntro, type SectionIntroProps } from './SectionIntro/SectionIntro';
|
|
33
|
+
export { default as Select, type SelectProps } from './Form/Select';
|
|
34
|
+
export { default as Spinner, type SpinnerProps } from './Spinner/Spinner';
|
|
35
|
+
export { default as Steps, type StepsProps } from './Steps/Steps';
|
|
36
|
+
export { default as Tab, type TabProps } from './Tab/Tab';
|
|
37
|
+
export { default as Testimonial, type TestimonialProps } from './Testimonial/Testimonial';
|
|
38
|
+
export { default as Textarea, type TextareaProps } from './Form/Textarea';
|
|
39
|
+
export { default as Todo, type TodoProps } from './Todo/Todo';
|
|
40
|
+
export { default as Toggle, type ToggleProps } from './Toggle/Toggle';
|
|
41
|
+
export { default as Tooltip, type TooltipProps } from './Tooltip/Tooltip';
|
|
42
|
+
export { default as Upload, type UploadProps } from './Upload/Upload';
|
package/src/layouts/Grid/Row.tsx
CHANGED
package/src/layouts/index.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
// Export all layout components individually for better tree-shaking
|
|
2
|
-
export * from './Grid';
|
|
3
|
-
export * from './MasonryGrid';
|
|
4
|
-
|
|
5
|
-
// Also provide a default export for convenience
|
|
6
1
|
import * as Grid from './Grid';
|
|
7
2
|
import * as MasonryGrid from './MasonryGrid';
|
|
8
3
|
|
|
@@ -11,4 +6,4 @@ const layouts = {
|
|
|
11
6
|
...MasonryGrid,
|
|
12
7
|
};
|
|
13
8
|
|
|
14
|
-
export default layouts;
|
|
9
|
+
export default layouts;
|
|
@@ -553,6 +553,11 @@ export interface NavItemProps extends BaseComponentProps {
|
|
|
553
553
|
* Whether dropdown/mega menu is expanded
|
|
554
554
|
*/
|
|
555
555
|
'aria-expanded'?: boolean;
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* Optional custom link component
|
|
559
|
+
*/
|
|
560
|
+
LinkComponent?: React.ElementType;
|
|
556
561
|
}
|
|
557
562
|
|
|
558
563
|
/**
|
|
@@ -763,6 +768,11 @@ export interface SideMenuItemProps extends BaseComponentProps {
|
|
|
763
768
|
* Link rel attribute
|
|
764
769
|
*/
|
|
765
770
|
rel?: string;
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* Optional custom link component
|
|
774
|
+
*/
|
|
775
|
+
LinkComponent?: React.ElementType;
|
|
766
776
|
}
|
|
767
777
|
|
|
768
778
|
/**
|
|
@@ -2113,6 +2123,11 @@ export interface DropdownItemProps extends BaseComponentProps {
|
|
|
2113
2123
|
* Item click handler
|
|
2114
2124
|
*/
|
|
2115
2125
|
onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
|
|
2126
|
+
|
|
2127
|
+
/**
|
|
2128
|
+
* Optional custom link component
|
|
2129
|
+
*/
|
|
2130
|
+
LinkComponent?: React.ElementType;
|
|
2116
2131
|
}
|
|
2117
2132
|
|
|
2118
2133
|
/**
|