@vtx-ui/react 0.0.1-beta.18 → 0.0.1-beta.21
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/cjs/AdminHeader.css +17702 -21
- package/dist/cjs/components/AdminHeader/components/AdminHeader/AdminHeader.js +1 -1
- package/dist/cjs/components/AdminHeader/components/AdminHeader/AdminHeader.js.map +1 -1
- package/dist/cjs/components/Badge/components/Badge/Badge.js +23 -1
- package/dist/cjs/components/Badge/components/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/Divider/components/Divider/Divider.js +7 -3
- package/dist/cjs/components/Divider/components/Divider/Divider.js.map +1 -1
- package/dist/cjs/components/Image/components/Image/Image.js +2 -2
- package/dist/cjs/components/Image/components/Image/Image.js.map +1 -1
- package/dist/cjs/components/Link/components/Link/Link.js +10 -4
- package/dist/cjs/components/Link/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/Navbar/components/Navbar/NavItem.js +103 -7
- package/dist/cjs/components/Navbar/components/Navbar/NavItem.js.map +1 -1
- package/dist/cjs/components/Navbar/components/Navbar/Navbar.js +40 -106
- package/dist/cjs/components/Navbar/components/Navbar/Navbar.js.map +1 -1
- package/dist/cjs/components/Navbar/components/Navbar/NavbarDesktop.js +51 -0
- package/dist/cjs/components/Navbar/components/Navbar/NavbarDesktop.js.map +1 -0
- package/dist/cjs/components/Navbar/components/Navbar/NavbarMobile.js +60 -0
- package/dist/cjs/components/Navbar/components/Navbar/NavbarMobile.js.map +1 -0
- package/dist/cjs/components/Navbar/components/Navbar/TopBar.js +24 -10
- package/dist/cjs/components/Navbar/components/Navbar/TopBar.js.map +1 -1
- package/dist/cjs/components/Navbar/components/Navbar/useNavbarSections.js +3 -3
- package/dist/cjs/components/Navbar/components/Navbar/useNavbarSections.js.map +1 -1
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/CenteredNavbar.js +1 -1
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/CenteredNavbar.js.map +1 -1
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/SingleRowNavbar.js +15 -8
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/SingleRowNavbar.js.map +1 -1
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/TransparentNavbar.js +1 -1
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/TransparentNavbar.js.map +1 -1
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/TwoRowNavbar.js +46 -20
- package/dist/cjs/components/Navbar/variants/components/Navbar/variants/TwoRowNavbar.js.map +1 -1
- package/dist/cjs/components/Skeleton/components/Skeleton/SkeletonTheme.js +6 -0
- package/dist/cjs/components/Skeleton/components/Skeleton/SkeletonTheme.js.map +1 -1
- package/dist/cjs/components/Widget/components/Widget/Widget.js +3 -3
- package/dist/cjs/components/Widget/components/Widget/Widget.js.map +1 -1
- package/dist/cjs/components/Widget/components/Widget/index.js +2 -2
- package/dist/cjs/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/FeatureHighlightTheme.js +53 -0
- package/dist/cjs/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/FeatureHighlightTheme.js.map +1 -0
- package/dist/cjs/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/VisualBlockTheme.js +70 -0
- package/dist/cjs/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/VisualBlockTheme.js.map +1 -0
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/CarouselWidget.js +1 -1
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/CarouselWidget.js.map +1 -1
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/ContentBlockWidget.js +59 -388
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/ContentBlockWidget.js.map +1 -1
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/GridCarouselWidget.js +6 -1
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/GridCarouselWidget.js.map +1 -1
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/OrderWidget.js +1 -0
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/OrderWidget.js.map +1 -1
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/ProductWidget.js +2 -2
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/ProductWidget.js.map +1 -1
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/TestimonialWidget.js +1 -0
- package/dist/cjs/components/Widget/renderers/components/Widget/renderers/TestimonialWidget.js.map +1 -1
- package/dist/cjs/utils/utils/parseClass.js +121 -24
- package/dist/cjs/utils/utils/parseClass.js.map +1 -1
- package/dist/cjs/widgets/ProductCard/widgets/ProductCard/ProductCard.js +19 -13
- package/dist/cjs/widgets/ProductCard/widgets/ProductCard/ProductCard.js.map +1 -1
- package/dist/esm/AdminHeader.css +17702 -21
- package/dist/esm/components/AdminHeader/components/AdminHeader/AdminHeader.js +1 -1
- package/dist/esm/components/AdminHeader/components/AdminHeader/AdminHeader.js.map +1 -1
- package/dist/esm/components/Badge/components/Badge/Badge.js +23 -1
- package/dist/esm/components/Badge/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/Divider/components/Divider/Divider.js +7 -3
- package/dist/esm/components/Divider/components/Divider/Divider.js.map +1 -1
- package/dist/esm/components/Image/components/Image/Image.js +2 -2
- package/dist/esm/components/Image/components/Image/Image.js.map +1 -1
- package/dist/esm/components/Link/components/Link/Link.js +10 -4
- package/dist/esm/components/Link/components/Link/Link.js.map +1 -1
- package/dist/esm/components/Navbar/components/Navbar/NavItem.js +104 -8
- package/dist/esm/components/Navbar/components/Navbar/NavItem.js.map +1 -1
- package/dist/esm/components/Navbar/components/Navbar/Navbar.js +41 -108
- package/dist/esm/components/Navbar/components/Navbar/Navbar.js.map +1 -1
- package/dist/esm/components/Navbar/components/Navbar/NavbarDesktop.js +47 -0
- package/dist/esm/components/Navbar/components/Navbar/NavbarDesktop.js.map +1 -0
- package/dist/esm/components/Navbar/components/Navbar/NavbarMobile.js +56 -0
- package/dist/esm/components/Navbar/components/Navbar/NavbarMobile.js.map +1 -0
- package/dist/esm/components/Navbar/components/Navbar/TopBar.js +24 -10
- package/dist/esm/components/Navbar/components/Navbar/TopBar.js.map +1 -1
- package/dist/esm/components/Navbar/components/Navbar/useNavbarSections.js +3 -3
- package/dist/esm/components/Navbar/components/Navbar/useNavbarSections.js.map +1 -1
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/CenteredNavbar.js +1 -1
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/CenteredNavbar.js.map +1 -1
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/SingleRowNavbar.js +16 -9
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/SingleRowNavbar.js.map +1 -1
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/TransparentNavbar.js +1 -1
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/TransparentNavbar.js.map +1 -1
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/TwoRowNavbar.js +47 -17
- package/dist/esm/components/Navbar/variants/components/Navbar/variants/TwoRowNavbar.js.map +1 -1
- package/dist/esm/components/Skeleton/components/Skeleton/SkeletonTheme.js +6 -0
- package/dist/esm/components/Skeleton/components/Skeleton/SkeletonTheme.js.map +1 -1
- package/dist/esm/components/Widget/components/Widget/Widget.js +3 -3
- package/dist/esm/components/Widget/components/Widget/Widget.js.map +1 -1
- package/dist/esm/components/Widget/components/Widget/index.js +2 -2
- package/dist/esm/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/FeatureHighlightTheme.js +49 -0
- package/dist/esm/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/FeatureHighlightTheme.js.map +1 -0
- package/dist/esm/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/VisualBlockTheme.js +66 -0
- package/dist/esm/components/Widget/renderers/ContentBlock/components/Widget/renderers/ContentBlock/VisualBlockTheme.js.map +1 -0
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/CarouselWidget.js +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/CarouselWidget.js.map +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/ContentBlockWidget.js +60 -389
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/ContentBlockWidget.js.map +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/GridCarouselWidget.js +6 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/GridCarouselWidget.js.map +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/OrderWidget.js +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/OrderWidget.js.map +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/ProductWidget.js +2 -2
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/ProductWidget.js.map +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/TestimonialWidget.js +1 -1
- package/dist/esm/components/Widget/renderers/components/Widget/renderers/TestimonialWidget.js.map +1 -1
- package/dist/esm/theme/base.css +17702 -21
- package/dist/esm/utils/utils/parseClass.js +121 -25
- package/dist/esm/utils/utils/parseClass.js.map +1 -1
- package/dist/esm/widgets/ProductCard/widgets/ProductCard/ProductCard.js +19 -13
- package/dist/esm/widgets/ProductCard/widgets/ProductCard/ProductCard.js.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts +17 -1
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/Divider/Divider.d.ts.map +1 -1
- package/dist/types/components/Image/Image.d.ts +4 -0
- package/dist/types/components/Image/Image.d.ts.map +1 -1
- package/dist/types/components/Link/Link.d.ts +4 -0
- package/dist/types/components/Link/Link.d.ts.map +1 -1
- package/dist/types/components/Navbar/NavItem.d.ts +6 -0
- package/dist/types/components/Navbar/NavItem.d.ts.map +1 -1
- package/dist/types/components/Navbar/Navbar.d.ts +6 -7
- package/dist/types/components/Navbar/Navbar.d.ts.map +1 -1
- package/dist/types/components/Navbar/NavbarDesktop.d.ts +4 -0
- package/dist/types/components/Navbar/NavbarDesktop.d.ts.map +1 -0
- package/dist/types/components/Navbar/NavbarMobile.d.ts +4 -0
- package/dist/types/components/Navbar/NavbarMobile.d.ts.map +1 -0
- package/dist/types/components/Navbar/TopBar.d.ts.map +1 -1
- package/dist/types/components/Navbar/types.d.ts +117 -4
- package/dist/types/components/Navbar/types.d.ts.map +1 -1
- package/dist/types/components/Navbar/useNavbarSections.d.ts.map +1 -1
- package/dist/types/components/Navbar/variants/SingleRowNavbar.d.ts +2 -2
- package/dist/types/components/Navbar/variants/SingleRowNavbar.d.ts.map +1 -1
- package/dist/types/components/Navbar/variants/TwoRowNavbar.d.ts +2 -1
- package/dist/types/components/Navbar/variants/TwoRowNavbar.d.ts.map +1 -1
- package/dist/types/components/Skeleton/SkeletonTheme.d.ts +1 -1
- package/dist/types/components/Skeleton/SkeletonTheme.d.ts.map +1 -1
- package/dist/types/components/Widget/renderers/CarouselWidget.d.ts.map +1 -1
- package/dist/types/components/Widget/renderers/ContentBlock/FeatureHighlightTheme.d.ts +10 -0
- package/dist/types/components/Widget/renderers/ContentBlock/FeatureHighlightTheme.d.ts.map +1 -0
- package/dist/types/components/Widget/renderers/ContentBlock/VisualBlockTheme.d.ts +10 -0
- package/dist/types/components/Widget/renderers/ContentBlock/VisualBlockTheme.d.ts.map +1 -0
- package/dist/types/components/Widget/renderers/ContentBlockWidget.d.ts +1 -6
- package/dist/types/components/Widget/renderers/ContentBlockWidget.d.ts.map +1 -1
- package/dist/types/components/Widget/renderers/GridCarouselWidget.d.ts.map +1 -1
- package/dist/types/components/Widget/renderers/OrderWidget.d.ts +1 -1
- package/dist/types/components/Widget/renderers/OrderWidget.d.ts.map +1 -1
- package/dist/types/components/Widget/renderers/TestimonialWidget.d.ts +1 -1
- package/dist/types/components/Widget/renderers/TestimonialWidget.d.ts.map +1 -1
- package/dist/types/components/Widget/types.d.ts +65 -4
- package/dist/types/components/Widget/types.d.ts.map +1 -1
- package/dist/types/utils/parseClass.d.ts +7 -0
- package/dist/types/utils/parseClass.d.ts.map +1 -1
- package/dist/types/widgets/ProductCard/ProductCard.d.ts +4 -4
- package/dist/types/widgets/ProductCard/ProductCard.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,120 +1,53 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
4
|
import { withParsedClasses } from '../../../../hoc/hoc/withParsedClasses.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { CenteredNavbar } from '../../variants/components/Navbar/variants/CenteredNavbar.js';
|
|
8
|
-
import { TransparentNavbar } from '../../variants/components/Navbar/variants/TransparentNavbar.js';
|
|
9
|
-
import { TopBar } from './TopBar.js';
|
|
10
|
-
import { NavItem } from './NavItem.js';
|
|
11
|
-
import Container from '../../../Container/components/Container/Container.js';
|
|
12
|
-
import Flex from '../../../Flex/components/Flex/Flex.js';
|
|
13
|
-
import Autocomplete from '../../../Autocomplete/components/Autocomplete/Autocomplete.js';
|
|
14
|
-
import Badge from '../../../Badge/components/Badge/Badge.js';
|
|
15
|
-
import Avatar from '../../../Avatar/components/Avatar/Avatar.js';
|
|
16
|
-
import Button from '../../../Button/components/Button/Button.js';
|
|
17
|
-
import { BellIcon, ShoppingCartIcon, CloseIcon, MenuIcon } from '../../../../icons/icons/IconComponents.js';
|
|
5
|
+
import { NavbarDesktop } from './NavbarDesktop.js';
|
|
6
|
+
import { NavbarMobile } from './NavbarMobile.js';
|
|
18
7
|
|
|
19
|
-
//
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const [isScrolled, setIsScrolled] = useState(false);
|
|
8
|
+
// Custom hook for responsive behavior
|
|
9
|
+
const useIsMobile = (breakpoint) => {
|
|
10
|
+
const [isMobile, setIsMobile] = useState(false);
|
|
23
11
|
useEffect(() => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const renderVariant = () => {
|
|
39
|
-
if (variant === 'two-row' || layout === 'two-row') {
|
|
40
|
-
return jsx(TwoRowNavbar, { ...props, topBar: undefined }); // TopBar handled by wrapper
|
|
41
|
-
}
|
|
42
|
-
if (variant === 'centered' || layout === 'centered') {
|
|
43
|
-
return jsx(CenteredNavbar, { ...props, topBar: undefined });
|
|
44
|
-
}
|
|
45
|
-
if (variant === 'transparent') {
|
|
46
|
-
return jsx(TransparentNavbar, { ...props, topBar: undefined });
|
|
47
|
-
}
|
|
48
|
-
return jsx(SingleRowNavbar, { ...props, topBar: undefined });
|
|
49
|
-
};
|
|
50
|
-
return (jsxs("div", { className: wrapperClass, children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), renderVariant()] }));
|
|
51
|
-
};
|
|
52
|
-
// ----- Mobile Navbar Component -----
|
|
53
|
-
const NavbarMobile = ({ logo, logoAlt = 'Logo', onLogoClick, brandText, navigationItems = [], sticky = false, shadow = true, backgroundColor, className = '', topBar, user, search, searchOptions = [], searchGetOptionLabel, searchGetOptionValue, searchGetOptionDescription, searchGetOptionIcon, searchNoOptionsMessage, searchLoading, onSearchSelect, notificationCount, onNotificationClick, cartCount, onCartClick, actions, containerized = true, isOpen: controlledIsOpen, onOpenChange, }) => {
|
|
54
|
-
const [internalIsOpen, setInternalIsOpen] = useState(false);
|
|
55
|
-
const [searchQuery, setSearchQuery] = useState('');
|
|
56
|
-
const isControlled = controlledIsOpen !== undefined;
|
|
57
|
-
const isOpen = isControlled ? controlledIsOpen : internalIsOpen;
|
|
58
|
-
const handleToggle = () => {
|
|
59
|
-
const newValue = !isOpen;
|
|
60
|
-
if (!isControlled) {
|
|
61
|
-
setInternalIsOpen(newValue);
|
|
12
|
+
// Media query string
|
|
13
|
+
const query = `(max-width: ${breakpoint}px)`;
|
|
14
|
+
// Create matcher
|
|
15
|
+
const matcher = window.matchMedia(query);
|
|
16
|
+
// Initial check
|
|
17
|
+
setIsMobile(matcher.matches);
|
|
18
|
+
// Change handler
|
|
19
|
+
const handleChange = (e) => {
|
|
20
|
+
setIsMobile(e.matches);
|
|
21
|
+
};
|
|
22
|
+
// Modern event listener
|
|
23
|
+
if (matcher.addEventListener) {
|
|
24
|
+
matcher.addEventListener('change', handleChange);
|
|
25
|
+
return () => matcher.removeEventListener('change', handleChange);
|
|
62
26
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
setInternalIsOpen(false);
|
|
27
|
+
// Fallback for older browsers (though unlikely needed for React 18+ targets)
|
|
28
|
+
else {
|
|
29
|
+
matcher.addListener(handleChange);
|
|
30
|
+
return () => matcher.removeListener(handleChange);
|
|
68
31
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const navbarClass = [
|
|
72
|
-
'vtx-navbar',
|
|
73
|
-
'vtx-navbar--mobile',
|
|
74
|
-
sticky && 'vtx-navbar--sticky',
|
|
75
|
-
shadow && 'vtx-navbar--shadow',
|
|
76
|
-
className,
|
|
77
|
-
]
|
|
78
|
-
.filter(Boolean)
|
|
79
|
-
.join(' ');
|
|
80
|
-
const style = {};
|
|
81
|
-
if (backgroundColor)
|
|
82
|
-
style.backgroundColor = backgroundColor;
|
|
83
|
-
return (jsxs(Fragment, { children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), jsx("div", { className: navbarClass, style: style, children: containerized ? (jsx(Container, { children: jsxs(Flex, { justify: "between", align: "center", className: "vtx-navbar__mobile-header", children: [jsx("div", { className: "vtx-navbar__logo", children: logo ? (jsx("img", { src: logo, alt: logoAlt, className: "vtx-navbar__logo-image", onClick: onLogoClick, loading: "eager", fetchPriority: "high" })) : brandText ? (jsx("span", { className: "vtx-navbar__brand-text", onClick: onLogoClick, children: brandText })) : null }), jsxs("div", { className: "vtx-navbar__icons", children: [notificationCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onNotificationClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: notificationCount > 0 ? String(notificationCount) : '', variant: "error", size: "sm", children: jsx(BellIcon, { size: 20 }) }) })), cartCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onCartClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: cartCount > 0 ? String(cartCount) : '', variant: "error", size: "sm", children: jsx(ShoppingCartIcon, { size: 20 }) }) })), jsx(Button, { variant: "ghost", iconOnly: true, onClick: handleToggle, className: "vtx-navbar__menu-button", children: isOpen ? jsx(CloseIcon, { size: 24 }) : jsx(MenuIcon, { size: 24 }) })] })] }) })) : (jsxs(Flex, { justify: "between", align: "center", className: "vtx-navbar__mobile-header", children: [jsx("div", { className: "vtx-navbar__logo", children: logo ? (jsx("img", { src: logo, alt: logoAlt, className: "vtx-navbar__logo-image", onClick: onLogoClick, loading: "eager", fetchPriority: "high" })) : brandText ? (jsx("span", { className: "vtx-navbar__brand-text", onClick: onLogoClick, children: brandText })) : null }), jsxs("div", { className: "vtx-navbar__icons", children: [notificationCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onNotificationClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: notificationCount > 0 ? String(notificationCount) : '', variant: "error", size: "sm", children: jsx(BellIcon, { size: 20 }) }) })), cartCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onCartClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: cartCount > 0 ? String(cartCount) : '', variant: "error", size: "sm", children: jsx(ShoppingCartIcon, { size: 20 }) }) })), jsx(Button, { variant: "ghost", iconOnly: true, onClick: handleToggle, className: "vtx-navbar__menu-button", children: isOpen ? jsx(CloseIcon, { size: 24 }) : jsx(MenuIcon, { size: 24 }) })] })] })) }), jsx("div", { className: `vtx-navbar__drawer ${isOpen ? 'vtx-navbar__drawer--open' : ''}`, children: jsxs("div", { className: "vtx-navbar__drawer-content", children: [(search || searchOptions.length > 0) && (jsx("div", { className: "vtx-navbar__drawer-search", children: jsx(Autocomplete, { placeholder: (search === null || search === void 0 ? void 0 : search.placeholder) || 'Search...', value: searchQuery, onChange: (value) => {
|
|
84
|
-
var _a;
|
|
85
|
-
setSearchQuery(value);
|
|
86
|
-
(_a = search === null || search === void 0 ? void 0 : search.onSearch) === null || _a === void 0 ? void 0 : _a.call(search, value);
|
|
87
|
-
}, options: searchOptions, getOptionLabel: searchGetOptionLabel, getOptionValue: searchGetOptionValue, getOptionDescription: searchGetOptionDescription, getOptionIcon: searchGetOptionIcon, noOptionsMessage: searchNoOptionsMessage || 'No results found', loading: searchLoading, onSelect: (value, option) => {
|
|
88
|
-
onSearchSelect === null || onSearchSelect === void 0 ? void 0 : onSearchSelect(value, option);
|
|
89
|
-
setSearchQuery('');
|
|
90
|
-
handleClose();
|
|
91
|
-
}, showSearchIcon: true, clearable: true, fullWidth: true, size: "md" }) })), navigationItems.length > 0 && (jsx("nav", { className: "vtx-navbar__drawer-nav", children: navigationItems.map((item, index) => (jsx(NavItem, { item: item, mobile: true, onItemClick: handleClose }, index))) })), user && (jsxs("div", { className: "vtx-navbar__drawer-user", children: [jsxs(Flex, { align: "center", gap: 3, children: [jsx(Avatar, { src: user.avatar, alt: user.name, size: "md" }), jsxs("div", { children: [user.name && jsx("div", { className: "vtx-navbar__drawer-user-name", children: user.name }), user.email && jsx("div", { className: "vtx-navbar__drawer-user-email", children: user.email })] })] }), user.menuItems && user.menuItems.length > 0 && (jsx("div", { className: "vtx-navbar__drawer-user-menu", children: user.menuItems.map((item, index) => (jsx(NavItem, { item: item, mobile: true, onItemClick: handleClose }, index))) }))] })), actions && jsx("div", { className: "vtx-navbar__drawer-actions", children: actions })] }) }), isOpen && jsx("div", { className: "vtx-navbar__overlay", onClick: handleClose })] }));
|
|
32
|
+
}, [breakpoint]);
|
|
33
|
+
return isMobile;
|
|
92
34
|
};
|
|
93
|
-
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
};
|
|
100
|
-
checkMobile();
|
|
101
|
-
window.addEventListener('resize', checkMobile);
|
|
102
|
-
return () => window.removeEventListener('resize', checkMobile);
|
|
103
|
-
}, [mobileBreakpoint]);
|
|
104
|
-
if (onlyDesktop) {
|
|
105
|
-
return jsx(NavbarDesktop, { ...props, layout: desktopLayout });
|
|
106
|
-
}
|
|
107
|
-
if (onlyMobile) {
|
|
108
|
-
return jsx(NavbarMobile, { ...props });
|
|
35
|
+
const NavbarResponsive = ({ desktopLayout = 'single-row', mobileBreakpoint = 1024, linkComponent, ...props }) => {
|
|
36
|
+
const isMobile = useIsMobile(mobileBreakpoint);
|
|
37
|
+
// Propagate all props to the active component
|
|
38
|
+
// Note: mobileBreakpoint and desktopLayout are consumed here or passed appropriately
|
|
39
|
+
if (isMobile) {
|
|
40
|
+
return (jsx(NavbarMobile, { linkComponent: linkComponent, ...props }));
|
|
109
41
|
}
|
|
110
|
-
return
|
|
42
|
+
return (jsx(NavbarDesktop, { layout: desktopLayout, linkComponent: linkComponent, ...props }));
|
|
43
|
+
};
|
|
44
|
+
// Exports
|
|
45
|
+
const Navbar = withParsedClasses(NavbarResponsive);
|
|
46
|
+
// Attach sub-components for advanced composition if needed, though mostly usage should be via <Navbar />
|
|
47
|
+
const NavbarComponents = {
|
|
48
|
+
Desktop: NavbarDesktop,
|
|
49
|
+
Mobile: NavbarMobile
|
|
111
50
|
};
|
|
112
|
-
// ----- Exports -----
|
|
113
|
-
const Navbar = Object.assign(NavbarResponsive, {
|
|
114
|
-
Desktop: withParsedClasses(NavbarDesktop),
|
|
115
|
-
Mobile: withParsedClasses(NavbarMobile),
|
|
116
|
-
Responsive: withParsedClasses(NavbarResponsive),
|
|
117
|
-
});
|
|
118
51
|
|
|
119
|
-
export { Navbar, Navbar as default };
|
|
52
|
+
export { Navbar, NavbarComponents, Navbar as default };
|
|
120
53
|
//# sourceMappingURL=Navbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navbar.js","sources":["../../../../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":[null],"names":["_jsx"
|
|
1
|
+
{"version":3,"file":"Navbar.js","sources":["../../../../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;AAcA;AACA,MAAM,WAAW,GAAG,CAAC,UAAkB,KAAa;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,CAAC,MAAK;;AAEb,QAAA,MAAM,KAAK,GAAG,CAAe,YAAA,EAAA,UAAU,KAAK,CAAC;;QAG7C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;;AAGzC,QAAA,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;AAG7B,QAAA,MAAM,YAAY,GAAG,CAAC,CAAsB,KAAI;AAC9C,YAAA,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACzB,SAAC,CAAC;;AAGF,QAAA,IAAI,OAAO,CAAC,gBAAgB,EAAE;AAC5B,YAAA,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACjD,OAAO,MAAM,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;SAClE;;aAEI;AACH,YAAA,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAClC,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;SACnD;AACH,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAEjB,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAoC,CAAC,EACzD,aAAa,GAAG,YAAY,EAC5B,gBAAgB,GAAG,IAAI,EACvB,aAAa,EACb,GAAG,KAAK,EACT,KAAI;AACH,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;;;IAK/C,IAAI,QAAQ,EAAE;QACZ,QACEA,GAAC,CAAA,YAAY,EACX,EAAA,aAAa,EAAE,aAAa,EACxB,GAAA,KAAK,EACT,CAAA,EACF;KACH;AAED,IAAA,QACEA,GAAA,CAAC,aAAa,EAAA,EACZ,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,aAAa,EAAA,GACxB,KAAK,EAAA,CACT,EACF;AACJ,CAAC,CAAC;AAEF;MACa,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,EAAqC;AAE7F;AACa,MAAA,gBAAgB,GAAG;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,MAAM,EAAE,YAAY;;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { SingleRowNavbar } from '../../variants/components/Navbar/variants/SingleRowNavbar.js';
|
|
4
|
+
import { TwoRowNavbar } from '../../variants/components/Navbar/variants/TwoRowNavbar.js';
|
|
5
|
+
import { CenteredNavbar } from '../../variants/components/Navbar/variants/CenteredNavbar.js';
|
|
6
|
+
import { TransparentNavbar } from '../../variants/components/Navbar/variants/TransparentNavbar.js';
|
|
7
|
+
import { TopBar } from './TopBar.js';
|
|
8
|
+
|
|
9
|
+
const NavbarDesktop = (props) => {
|
|
10
|
+
const { variant = 'single-row', layout, transparent, sticky, topBar, containerized = true, linkComponent } = props;
|
|
11
|
+
const [isScrolled, setIsScrolled] = useState(false);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (transparent && sticky) {
|
|
14
|
+
const handleScroll = () => {
|
|
15
|
+
setIsScrolled(window.scrollY > 10);
|
|
16
|
+
};
|
|
17
|
+
window.addEventListener('scroll', handleScroll);
|
|
18
|
+
return () => window.removeEventListener('scroll', handleScroll);
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}, [transparent, sticky]);
|
|
22
|
+
const wrapperClass = [
|
|
23
|
+
'vtx-navbar-wrapper',
|
|
24
|
+
sticky && 'vtx-navbar-wrapper--sticky',
|
|
25
|
+
transparent && 'vtx-navbar-wrapper--transparent',
|
|
26
|
+
isScrolled && 'vtx-navbar-wrapper--scrolled',
|
|
27
|
+
].filter(Boolean).join(' ');
|
|
28
|
+
const renderVariant = () => {
|
|
29
|
+
// We handle sticky wrapper at this level, so we force sticky=false for children
|
|
30
|
+
// to avoid nested sticky wrappers which break layout.
|
|
31
|
+
const childProps = { ...props, sticky: false, topBar: undefined };
|
|
32
|
+
if (variant === 'two-row' || layout === 'two-row') {
|
|
33
|
+
return jsx(TwoRowNavbar, { linkComponent: linkComponent, ...childProps });
|
|
34
|
+
}
|
|
35
|
+
if (variant === 'centered' || layout === 'centered') {
|
|
36
|
+
return jsx(CenteredNavbar, { linkComponent: linkComponent, ...childProps });
|
|
37
|
+
}
|
|
38
|
+
if (variant === 'transparent') {
|
|
39
|
+
return jsx(TransparentNavbar, { linkComponent: linkComponent, ...childProps });
|
|
40
|
+
}
|
|
41
|
+
return jsx(SingleRowNavbar, { linkComponent: linkComponent, ...childProps });
|
|
42
|
+
};
|
|
43
|
+
return (jsxs("div", { className: wrapperClass, children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), renderVariant()] }));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { NavbarDesktop };
|
|
47
|
+
//# sourceMappingURL=NavbarDesktop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavbarDesktop.js","sources":["../../../../../../src/components/Navbar/NavbarDesktop.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;AAQa,MAAA,aAAa,GAAiC,CAAC,KAAK,KAAI;IACjE,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACnH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,WAAW,IAAI,MAAM,EAAE;YACvB,MAAM,YAAY,GAAG,MAAK;AACtB,gBAAA,aAAa,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;AACvC,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAChD,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;SACnE;AACD,QAAA,OAAO,SAAS,CAAC;AACrB,KAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAE1B,IAAA,MAAM,YAAY,GAAG;QACjB,oBAAoB;AACpB,QAAA,MAAM,IAAI,4BAA4B;AACtC,QAAA,WAAW,IAAI,iCAAiC;AAChD,QAAA,UAAU,IAAI,8BAA8B;KAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,MAAK;;;AAGvB,QAAA,MAAM,UAAU,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAElE,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE;YAC/C,OAAOA,GAAA,CAAC,YAAY,EAAC,EAAA,aAAa,EAAE,aAAa,EAAA,GAAM,UAAU,EAAA,CAAI,CAAC;SACzE;QACD,IAAI,OAAO,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU,EAAE;YACjD,OAAOA,GAAA,CAAC,cAAc,EAAC,EAAA,aAAa,EAAE,aAAa,EAAA,GAAM,UAAU,EAAA,CAAI,CAAC;SAC3E;AACD,QAAA,IAAI,OAAO,KAAK,aAAa,EAAE;YAC3B,OAAOA,GAAA,CAAC,iBAAiB,EAAC,EAAA,aAAa,EAAE,aAAa,EAAA,GAAM,UAAU,EAAA,CAAI,CAAC;SAC9E;QACD,OAAOA,GAAA,CAAC,eAAe,EAAC,EAAA,aAAa,EAAE,aAAa,EAAA,GAAM,UAAU,EAAA,CAAI,CAAC;AAC7E,KAAC,CAAC;IAEF,QACIC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,YAAY,aACvB,MAAM,IAAID,GAAC,CAAA,MAAM,EAAC,EAAA,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAA,CAAI,EAClE,aAAa,EAAE,CACd,EAAA,CAAA,EACR;AACN;;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { TopBar } from './TopBar.js';
|
|
4
|
+
import { NavItem } from './NavItem.js';
|
|
5
|
+
import Container from '../../../Container/components/Container/Container.js';
|
|
6
|
+
import Flex from '../../../Flex/components/Flex/Flex.js';
|
|
7
|
+
import Autocomplete from '../../../Autocomplete/components/Autocomplete/Autocomplete.js';
|
|
8
|
+
import Badge from '../../../Badge/components/Badge/Badge.js';
|
|
9
|
+
import Avatar from '../../../Avatar/components/Avatar/Avatar.js';
|
|
10
|
+
import Button from '../../../Button/components/Button/Button.js';
|
|
11
|
+
import { BellIcon, ShoppingCartIcon, CloseIcon, MenuIcon } from '../../../../icons/icons/IconComponents.js';
|
|
12
|
+
|
|
13
|
+
const NavbarMobile = ({ logo, logoAlt = 'Logo', onLogoClick, brandText, navigationItems = [], sticky = false, shadow = true, backgroundColor, className = '', topBar, user, search, searchOptions = [], searchGetOptionLabel, searchGetOptionValue, searchGetOptionDescription, searchGetOptionIcon, searchNoOptionsMessage, searchLoading, onSearchSelect, notificationCount, onNotificationClick, cartCount, onCartClick, actions, containerized = true, isOpen: controlledIsOpen, onOpenChange, linkComponent, hoverColor, activeColor = 'primary', activeIndicatorStyle = 'underline', activeIndicatorBehavior = 'always', }) => {
|
|
14
|
+
const [internalIsOpen, setInternalIsOpen] = useState(false);
|
|
15
|
+
const [searchQuery, setSearchQuery] = useState('');
|
|
16
|
+
const isControlled = controlledIsOpen !== undefined;
|
|
17
|
+
const isOpen = isControlled ? controlledIsOpen : internalIsOpen;
|
|
18
|
+
const handleToggle = () => {
|
|
19
|
+
const newValue = !isOpen;
|
|
20
|
+
if (!isControlled) {
|
|
21
|
+
setInternalIsOpen(newValue);
|
|
22
|
+
}
|
|
23
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(newValue);
|
|
24
|
+
};
|
|
25
|
+
const handleClose = () => {
|
|
26
|
+
if (!isControlled) {
|
|
27
|
+
setInternalIsOpen(false);
|
|
28
|
+
}
|
|
29
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
|
|
30
|
+
};
|
|
31
|
+
const navbarClass = [
|
|
32
|
+
'vtx-navbar',
|
|
33
|
+
'vtx-navbar--mobile',
|
|
34
|
+
sticky && 'vtx-navbar--sticky',
|
|
35
|
+
shadow && 'vtx-navbar--shadow',
|
|
36
|
+
className,
|
|
37
|
+
]
|
|
38
|
+
.filter(Boolean)
|
|
39
|
+
.join(' ');
|
|
40
|
+
const style = {};
|
|
41
|
+
if (backgroundColor)
|
|
42
|
+
style.backgroundColor = backgroundColor;
|
|
43
|
+
const MobileHeaderContent = (jsxs(Flex, { justify: "between", align: "center", className: "vtx-navbar__mobile-header", children: [jsx("div", { className: "vtx-navbar__logo", children: logo ? (jsx("img", { src: logo, alt: logoAlt, className: "vtx-navbar__logo-image", onClick: onLogoClick, loading: "eager", fetchPriority: "high" })) : brandText ? (jsx("span", { className: "vtx-navbar__brand-text", onClick: onLogoClick, children: brandText })) : null }), jsxs("div", { className: "vtx-navbar__icons", children: [notificationCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onNotificationClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: notificationCount > 0 ? String(notificationCount) : '', variant: "error", size: "sm", children: jsx(BellIcon, { size: 20 }) }) })), cartCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onCartClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: cartCount > 0 ? String(cartCount) : '', variant: "error", size: "sm", children: jsx(ShoppingCartIcon, { size: 20 }) }) })), jsx(Button, { variant: "ghost", iconOnly: true, onClick: handleToggle, className: "vtx-navbar__menu-button", children: isOpen ? jsx(CloseIcon, { size: 24 }) : jsx(MenuIcon, { size: 24 }) })] })] }));
|
|
44
|
+
return (jsxs(Fragment, { children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), jsx("div", { className: navbarClass, style: style, children: containerized ? (jsx(Container, { children: MobileHeaderContent })) : (MobileHeaderContent) }), jsx("div", { className: `vtx-navbar__drawer ${isOpen ? 'vtx-navbar__drawer--open' : ''}`, children: jsxs("div", { className: "vtx-navbar__drawer-content", children: [(search || searchOptions.length > 0) && (jsx("div", { className: "vtx-navbar__drawer-search", children: jsx(Autocomplete, { placeholder: (search === null || search === void 0 ? void 0 : search.placeholder) || 'Search...', value: searchQuery, onChange: (value) => {
|
|
45
|
+
var _a;
|
|
46
|
+
setSearchQuery(value);
|
|
47
|
+
(_a = search === null || search === void 0 ? void 0 : search.onSearch) === null || _a === void 0 ? void 0 : _a.call(search, value);
|
|
48
|
+
}, options: searchOptions, getOptionLabel: searchGetOptionLabel, getOptionValue: searchGetOptionValue, getOptionDescription: searchGetOptionDescription, getOptionIcon: searchGetOptionIcon, noOptionsMessage: searchNoOptionsMessage || 'No results found', loading: searchLoading, onSelect: (value, option) => {
|
|
49
|
+
onSearchSelect === null || onSearchSelect === void 0 ? void 0 : onSearchSelect(value, option);
|
|
50
|
+
setSearchQuery('');
|
|
51
|
+
handleClose();
|
|
52
|
+
}, showSearchIcon: true, clearable: true, fullWidth: true, size: "md" }) })), navigationItems.length > 0 && (jsx("nav", { className: "vtx-navbar__drawer-nav", children: navigationItems.map((item, index) => (jsx(NavItem, { item: item, mobile: true, onItemClick: handleClose, linkComponent: linkComponent, defaultHoverColor: hoverColor, defaultActiveColor: activeColor, activeIndicatorStyle: activeIndicatorStyle, activeIndicatorBehavior: activeIndicatorBehavior }, index))) })), user && (jsxs("div", { className: "vtx-navbar__drawer-user", children: [jsxs(Flex, { align: "center", gap: 3, children: [jsx(Avatar, { src: user.avatar, alt: user.name, size: "md" }), jsxs("div", { children: [user.name && jsx("div", { className: "vtx-navbar__drawer-user-name", children: user.name }), user.email && jsx("div", { className: "vtx-navbar__drawer-user-email", children: user.email })] })] }), user.menuItems && user.menuItems.length > 0 && (jsx("div", { className: "vtx-navbar__drawer-user-menu", children: user.menuItems.map((item, index) => (jsx(NavItem, { item: item, mobile: true, onItemClick: handleClose, linkComponent: linkComponent, defaultHoverColor: hoverColor, defaultActiveColor: activeColor, activeIndicatorStyle: activeIndicatorStyle, activeIndicatorBehavior: activeIndicatorBehavior }, index))) }))] })), actions && jsx("div", { className: "vtx-navbar__drawer-actions", children: actions })] }) }), isOpen && jsx("div", { className: "vtx-navbar__overlay", onClick: handleClose })] }));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { NavbarMobile };
|
|
56
|
+
//# sourceMappingURL=NavbarMobile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavbarMobile.js","sources":["../../../../../../src/components/Navbar/NavbarMobile.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;MAiBa,YAAY,GAAgC,CAAC,EACtD,IAAI,EACJ,OAAO,GAAG,MAAM,EAChB,WAAW,EACX,SAAS,EACT,eAAe,GAAG,EAAE,EACpB,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,IAAI,EACb,eAAe,EACf,SAAS,GAAG,EAAE,EACd,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,GAAG,EAAE,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,OAAO,EACP,aAAa,GAAG,IAAI,EACpB,MAAM,EAAE,gBAAgB,EACxB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,GAAG,SAAS,EACvB,oBAAoB,GAAG,WAAW,EAClC,uBAAuB,GAAG,QAAQ,GACrC,KAAI;IACD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnD,IAAA,MAAM,YAAY,GAAG,gBAAgB,KAAK,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,CAAC;IAEhE,MAAM,YAAY,GAAG,MAAK;AACtB,QAAA,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE;YACf,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SAC/B;AACD,QAAA,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,QAAQ,CAAC,CAAC;AAC7B,KAAC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAK;QACrB,IAAI,CAAC,YAAY,EAAE;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC5B;AACD,QAAA,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAG,KAAK,CAAC,CAAC;AAC1B,KAAC,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG;QAChB,YAAY;QACZ,oBAAoB;AACpB,QAAA,MAAM,IAAI,oBAAoB;AAC9B,QAAA,MAAM,IAAI,oBAAoB;QAC9B,SAAS;AACZ,KAAA;SACI,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,KAAK,GAAwB,EAAE,CAAC;AACtC,IAAA,IAAI,eAAe;AAAE,QAAA,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IAE7D,MAAM,mBAAmB,IACrBA,IAAC,CAAA,IAAI,EAAC,EAAA,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,EACxE,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAC5B,IAAI,IACDA,GAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,OAAO,EACZ,SAAS,EAAC,wBAAwB,EAClC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAC,OAAO,EACf,aAAa,EAAC,MAAM,EAAA,CACtB,IACF,SAAS,IACTA,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,WAAW,EACxD,QAAA,EAAA,SAAS,EACP,CAAA,IACP,IAAI,EACN,CAAA,EACND,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAC7B,QAAA,EAAA,CAAA,iBAAiB,KAAK,SAAS,KAC5BC,GAAC,CAAA,MAAM,EAAC,EAAA,OAAO,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAA,EAAA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAC,yBAAyB,EAC9F,QAAA,EAAAA,GAAA,CAAC,KAAK,EAAA,EAAC,OAAO,EAAE,iBAAiB,GAAG,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAA,QAAA,EAC7FA,GAAC,CAAA,QAAQ,EAAC,EAAA,IAAI,EAAE,EAAE,EAAI,CAAA,EAAA,CAClB,EACH,CAAA,CACZ,EACA,SAAS,KAAK,SAAS,KACpBA,GAAC,CAAA,MAAM,EAAC,EAAA,OAAO,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAA,EAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAC,yBAAyB,EACtF,QAAA,EAAAA,GAAA,CAAC,KAAK,EAAA,EAAC,OAAO,EAAE,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAC7E,QAAA,EAAAA,GAAA,CAAC,gBAAgB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,EAC1B,CAAA,EAAA,CACH,CACZ,EACDA,GAAC,CAAA,MAAM,EAAC,EAAA,OAAO,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAA,EAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,yBAAyB,EACtF,QAAA,EAAA,MAAM,GAAGA,GAAA,CAAC,SAAS,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,GAAGA,GAAA,CAAC,QAAQ,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,EACrD,CAAA,CAAA,EAAA,CACP,CACH,EAAA,CAAA,CACV,CAAC;IAEF,QACID,4BACK,MAAM,IAAIC,IAAC,MAAM,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAI,CAAA,EACnEA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAA,QAAA,EACpC,aAAa,IACVA,GAAA,CAAC,SAAS,EACL,EAAA,QAAA,EAAA,mBAAmB,EACZ,CAAA,KAEZ,mBAAmB,CACtB,EAAA,CACC,EAGNA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,mBAAA,EAAsB,MAAM,GAAG,0BAA0B,GAAG,EAAE,CAAA,CAAE,YAC5ED,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,4BAA4B,EACtC,QAAA,EAAA,CAAA,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,MAChCC,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,2BAA2B,YACtCA,GAAC,CAAA,YAAY,EACT,EAAA,WAAW,EAAE,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,WAAW,KAAI,WAAW,EAC/C,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAa,KAAI;;oCACxB,cAAc,CAAC,KAAK,CAAC,CAAC;oCACtB,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,EAAG,KAAK,CAAC,CAAC;AAC9B,iCAAC,EACD,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,oBAAoB,EACpC,cAAc,EAAE,oBAAoB,EACpC,oBAAoB,EAAE,0BAA0B,EAChD,aAAa,EAAE,mBAAmB,EAClC,gBAAgB,EAAE,sBAAsB,IAAI,kBAAkB,EAC9D,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,KAAa,EAAE,MAAW,KAAI;oCACrC,cAAc,KAAA,IAAA,IAAd,cAAc,KAAd,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,cAAc,CAAG,KAAK,EAAE,MAAM,CAAC,CAAC;oCAChC,cAAc,CAAC,EAAE,CAAC,CAAC;AACnB,oCAAA,WAAW,EAAE,CAAC;iCACjB,EACD,cAAc,EAAA,IAAA,EACd,SAAS,EAAA,IAAA,EACT,SAAS,EAAA,IAAA,EACT,IAAI,EAAC,IAAI,EAAA,CACX,EACA,CAAA,CACT,EAEA,eAAe,CAAC,MAAM,GAAG,CAAC,KACvBA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,wBAAwB,EAClC,QAAA,EAAA,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC7BA,GAAC,CAAA,OAAO,EAEJ,EAAA,IAAI,EAAE,IAAI,EACV,MAAM,EACN,IAAA,EAAA,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,UAAU,EAC7B,kBAAkB,EAAE,WAAW,EAC/B,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB,EAAA,EAR3C,KAAK,CASZ,CACL,CAAC,EACA,CAAA,CACT,EAEA,IAAI,KACDD,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,yBAAyB,EACpC,QAAA,EAAA,CAAAA,IAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAA,QAAA,EAAA,CACvBC,GAAC,CAAA,MAAM,EAAC,EAAA,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,IAAI,EAAG,CAAA,EACtDD,IACK,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAA,IAAI,CAAC,IAAI,IAAIC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,EAAE,QAAA,EAAA,IAAI,CAAC,IAAI,EAAO,CAAA,EAC5E,IAAI,CAAC,KAAK,IAAIA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,+BAA+B,EAAE,QAAA,EAAA,IAAI,CAAC,KAAK,EAAO,CAAA,CAAA,EAAA,CAC9E,CACH,EAAA,CAAA,EACN,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KACxCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,EAAA,QAAA,EACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC5BA,GAAC,CAAA,OAAO,EAEJ,EAAA,IAAI,EAAE,IAAI,EACV,MAAM,EAAA,IAAA,EACN,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,UAAU,EAC7B,kBAAkB,EAAE,WAAW,EAC/B,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB,EAAA,EAR3C,KAAK,CASZ,CACL,CAAC,EACA,CAAA,CACT,CACC,EAAA,CAAA,CACT,EAEA,OAAO,IAAIA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4BAA4B,EAAA,QAAA,EAAE,OAAO,EAAA,CAAO,CACrE,EAAA,CAAA,EAAA,CACJ,EAGL,MAAM,IAAIA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,WAAW,EAAA,CAAI,CACzE,EAAA,CAAA,EACL;AACN;;;;"}
|
|
@@ -5,6 +5,7 @@ import Container from '../../../Container/components/Container/Container.js';
|
|
|
5
5
|
import Link from '../../../Link/components/Link/Link.js';
|
|
6
6
|
|
|
7
7
|
const TopBar = ({ config, containerized = true, }) => {
|
|
8
|
+
var _a, _b, _c;
|
|
8
9
|
const renderItems = (items) => {
|
|
9
10
|
if (!items)
|
|
10
11
|
return null;
|
|
@@ -12,22 +13,35 @@ const TopBar = ({ config, containerized = true, }) => {
|
|
|
12
13
|
return items;
|
|
13
14
|
if (Array.isArray(items)) {
|
|
14
15
|
return (jsx(Flex, { align: "center", gap: 24, children: items.map((item, index) => {
|
|
15
|
-
|
|
16
|
-
const Component = item.component;
|
|
17
|
-
return jsx(Component, { ...(item.componentProps || {}) }, index);
|
|
18
|
-
}
|
|
19
|
-
return (jsx(Link, { href: item.href, onClick: item.onClick, className: "vtx-navbar__topbar-link", variant: "small", color: "inherit", noUnderline: true, leftIcon: item.icon, children: item.label }, index));
|
|
16
|
+
return (jsx(Link, { href: item.href, onClick: item.onClick, variant: "small", color: "inherit", noUnderline: true, hoverColor: item.hoverColor, leftIcon: item.icon, component: item.component, className: "vtx-navbar__topbar-link", children: item.label }, index));
|
|
20
17
|
}) }));
|
|
21
18
|
}
|
|
22
19
|
return items;
|
|
23
20
|
};
|
|
21
|
+
const { backgroundColor, textColor, } = config;
|
|
22
|
+
const isStandardBg = backgroundColor && ['primary', 'secondary', 'dark'].includes(backgroundColor);
|
|
23
|
+
const isCustomBg = backgroundColor && !isStandardBg;
|
|
24
|
+
const isStandardText = textColor && ['light', 'dark'].includes(textColor);
|
|
25
|
+
const isCustomText = textColor && !isStandardText;
|
|
26
|
+
// Determine standard class names
|
|
27
|
+
const classes = [
|
|
28
|
+
'vtx-navbar__topbar',
|
|
29
|
+
isStandardBg && `vtx-navbar__topbar--${backgroundColor}`,
|
|
30
|
+
isStandardText && `vtx-navbar__topbar--text-${textColor}`,
|
|
31
|
+
// Auto-light text for primary/secondary/dark backgrounds if not specified
|
|
32
|
+
!textColor && (backgroundColor === 'primary' || backgroundColor === 'secondary' || backgroundColor === 'dark') && 'vtx-navbar__topbar--text-light',
|
|
33
|
+
// Responsive visibility
|
|
34
|
+
((_a = config.hideOn) === null || _a === void 0 ? void 0 : _a.includes('mobile')) && 'mobile-hide',
|
|
35
|
+
((_b = config.hideOn) === null || _b === void 0 ? void 0 : _b.includes('tablet')) && 'tablet-hide',
|
|
36
|
+
((_c = config.hideOn) === null || _c === void 0 ? void 0 : _c.includes('desktop')) && 'desktop-hide',
|
|
37
|
+
].filter(Boolean).join(' ');
|
|
24
38
|
const style = {};
|
|
25
|
-
if (
|
|
26
|
-
style.backgroundColor =
|
|
27
|
-
if (
|
|
28
|
-
style.color =
|
|
39
|
+
if (isCustomBg)
|
|
40
|
+
style.backgroundColor = backgroundColor;
|
|
41
|
+
if (isCustomText)
|
|
42
|
+
style.color = textColor;
|
|
29
43
|
const content = (jsxs(Flex, { justify: "between", align: "center", children: [renderItems(config.left), renderItems(config.right)] }));
|
|
30
|
-
return (jsx("div", { className:
|
|
44
|
+
return (jsx("div", { className: classes, style: style, children: containerized ? jsx(Container, { children: content }) : jsx("div", { style: { padding: config.padding || '0 1.5rem' }, children: content }) }));
|
|
31
45
|
};
|
|
32
46
|
|
|
33
47
|
export { TopBar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopBar.js","sources":["../../../../../../src/components/Navbar/TopBar.tsx"],"sourcesContent":[null],"names":["React","_jsx","_jsxs"],"mappings":";;;;;;AAWO,MAAM,MAAM,GAA0B,CAAC,EAC5C,MAAM,EACN,aAAa,GAAG,IAAI,GACrB,KAAI
|
|
1
|
+
{"version":3,"file":"TopBar.js","sources":["../../../../../../src/components/Navbar/TopBar.tsx"],"sourcesContent":[null],"names":["React","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -11,10 +11,10 @@ import { BellIcon, ShoppingCartIcon, ChevronDownIcon } from '../../../../icons/i
|
|
|
11
11
|
import { NavItem } from './NavItem.js';
|
|
12
12
|
|
|
13
13
|
const useNavbarSections = (props) => {
|
|
14
|
-
const { logo, logoAlt = 'Logo', onLogoClick, brandText, navigationItems = [], search, searchOptions = [], searchGetOptionLabel, searchGetOptionValue, searchGetOptionDescription, searchGetOptionIcon, searchNoOptionsMessage, searchLoading, onSearchSelect, notificationCount, onNotificationClick, cartCount, onCartClick, actions, user, } = props;
|
|
14
|
+
const { logo, logoAlt = 'Logo', onLogoClick, brandText, navigationItems = [], search, searchOptions = [], searchGetOptionLabel, searchGetOptionValue, searchGetOptionDescription, searchGetOptionIcon, searchNoOptionsMessage, searchLoading, onSearchSelect, notificationCount, onNotificationClick, cartCount, onCartClick, actions, user, uppercaseNavItems = false, linkComponent, hoverColor, searchFullWidth = true, activeColor = 'primary', activeIndicatorStyle = 'underline', activeIndicatorBehavior = 'always', } = props;
|
|
15
15
|
const [searchQuery, setSearchQuery] = useState('');
|
|
16
16
|
const logoSection = (logo || brandText) && (jsx(Flex, { align: "center", className: "vtx-navbar__logo", children: logo ? (jsx("img", { src: logo, alt: logoAlt, className: "vtx-navbar__logo-image", onClick: onLogoClick, style: { cursor: onLogoClick ? 'pointer' : 'default' }, loading: "eager", fetchPriority: "high" })) : (jsx(Typography, { variant: "h5", as: "span", className: "vtx-navbar__brand-text", onClick: onLogoClick, weight: "bold", style: { cursor: onLogoClick ? 'pointer' : 'default' }, children: brandText })) }));
|
|
17
|
-
const navigationSection = navigationItems.length > 0 && (jsx(Flex, { as: "nav", align: "center", className: "vtx-navbar__nav", children: navigationItems.map((item, index) => (jsx(NavItem, { item: item }, index))) }));
|
|
17
|
+
const navigationSection = navigationItems.length > 0 && (jsx(Flex, { as: "nav", align: "center", className: "vtx-navbar__nav", children: navigationItems.map((item, index) => (jsx(NavItem, { item: item, uppercase: uppercaseNavItems, linkComponent: linkComponent, defaultHoverColor: hoverColor, defaultActiveColor: activeColor, activeIndicatorStyle: activeIndicatorStyle, activeIndicatorBehavior: activeIndicatorBehavior }, index))) }));
|
|
18
18
|
const searchSection = (search || searchOptions.length > 0) && (jsx(Autocomplete, { placeholder: (search === null || search === void 0 ? void 0 : search.placeholder) || 'Search...', value: searchQuery, onChange: (value) => {
|
|
19
19
|
var _a;
|
|
20
20
|
setSearchQuery(value);
|
|
@@ -22,7 +22,7 @@ const useNavbarSections = (props) => {
|
|
|
22
22
|
}, options: searchOptions, getOptionLabel: searchGetOptionLabel, getOptionValue: searchGetOptionValue, getOptionDescription: searchGetOptionDescription, getOptionIcon: searchGetOptionIcon, noOptionsMessage: searchNoOptionsMessage || 'No results found', loading: searchLoading, onSelect: (value, option) => {
|
|
23
23
|
onSearchSelect === null || onSearchSelect === void 0 ? void 0 : onSearchSelect(value, option);
|
|
24
24
|
setSearchQuery('');
|
|
25
|
-
}, showSearchIcon: true, clearable: true, size: "
|
|
25
|
+
}, showSearchIcon: true, clearable: true, size: "md", className: `vtx-navbar__search-input ${searchFullWidth ? 'vtx-navbar__search-input--full' : ''}`, fullWidth: searchFullWidth }));
|
|
26
26
|
const iconsSection = (notificationCount !== undefined || cartCount !== undefined) && (jsxs(Flex, { align: "center", className: "vtx-navbar__icons", children: [notificationCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onNotificationClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: notificationCount > 0 ? String(notificationCount) : '', variant: "error", size: "sm", children: jsx(BellIcon, { size: 20 }) }) })), cartCount !== undefined && (jsx(Button, { variant: "ghost", iconOnly: true, onClick: onCartClick, className: "vtx-navbar__icon-button", children: jsx(Badge, { content: cartCount > 0 ? String(cartCount) : '', variant: "error", size: "sm", children: jsx(ShoppingCartIcon, { size: 20 }) }) }))] }));
|
|
27
27
|
const userSection = user && (jsx(Button, { variant: "ghost", className: "vtx-navbar__user-button", children: jsxs(Flex, { align: "center", gap: "0.5rem", children: [jsx(Avatar, { src: user.avatar, alt: user.name, size: "sm" }), user.name && jsx(Typography, { variant: "body2", weight: "medium", children: user.name }), jsx(ChevronDownIcon, { size: 16 })] }) }));
|
|
28
28
|
const actionsSection = actions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavbarSections.js","sources":["../../../../../../src/components/Navbar/useNavbarSections.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;AAaa,MAAA,iBAAiB,GAAG,CAAC,KAAsB,KAAI;
|
|
1
|
+
{"version":3,"file":"useNavbarSections.js","sources":["../../../../../../src/components/Navbar/useNavbarSections.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ const CenteredNavbar = (props) => {
|
|
|
17
17
|
const style = { ...propStyle };
|
|
18
18
|
if (backgroundColor)
|
|
19
19
|
style.backgroundColor = backgroundColor;
|
|
20
|
-
return (jsxs(Fragment, { children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), jsx("nav", { className: navbarClass, style: style, children: containerized ? (jsx(Container, { style: { height: '100%' }, children: jsxs("div", { className: "vtx-navbar__content", children: [logoSection, navigationSection, jsxs("div", { className: "vtx-navbar__right", children: [searchSection, iconsSection, userSection, actionsSection] })] }) })) : (jsxs("div", { className: "vtx-navbar__content", style: { padding: '0 1.5rem' }, children: [logoSection, navigationSection, jsxs("div", { className: "vtx-navbar__right", children: [searchSection, iconsSection, userSection, actionsSection] })] })) })] }));
|
|
20
|
+
return (jsxs(Fragment, { children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), jsx("nav", { className: navbarClass, style: style, children: containerized ? (jsx(Container, { style: { height: '100%' }, children: jsxs("div", { className: "vtx-navbar__content", children: [logoSection, navigationSection, jsxs("div", { className: "vtx-navbar__right", children: [searchSection, iconsSection, userSection, actionsSection] })] }) })) : (jsxs("div", { className: "vtx-navbar__content", style: props.padding ? { padding: props.padding } : { padding: '0 1.5rem' }, children: [logoSection, navigationSection, jsxs("div", { className: "vtx-navbar__right", children: [searchSection, iconsSection, userSection, actionsSection] })] })) })] }));
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
export { CenteredNavbar };
|
package/dist/esm/components/Navbar/variants/components/Navbar/variants/CenteredNavbar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CenteredNavbar.js","sources":["../../../../../../../../src/components/Navbar/variants/CenteredNavbar.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AAMa,MAAA,cAAc,GAA8B,CAAC,KAAK,KAAI;IACjE,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,IAAI,EACb,eAAe,EACf,SAAS,GAAG,EAAE,EACd,MAAM,EACN,aAAa,GAAG,IAAI,EACpB,KAAK,EAAE,SAAS,GACjB,GAAG,KAAK,CAAC;AAEV,IAAA,MAAM,EACJ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,GACf,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE7B,IAAA,MAAM,WAAW,GAAG;QAClB,YAAY;QACZ,qBAAqB;QACrB,sBAAsB;AACtB,QAAA,MAAM,IAAI,oBAAoB;AAC9B,QAAA,MAAM,IAAI,oBAAoB;QAC9B,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE5B,IAAA,MAAM,KAAK,GAAwB,EAAE,GAAG,SAAS,EAAE,CAAC;AACpD,IAAA,IAAI,eAAe;AAAE,QAAA,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IAE7D,QACEA,
|
|
1
|
+
{"version":3,"file":"CenteredNavbar.js","sources":["../../../../../../../../src/components/Navbar/variants/CenteredNavbar.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;AAMa,MAAA,cAAc,GAA8B,CAAC,KAAK,KAAI;IACjE,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,IAAI,EACb,eAAe,EACf,SAAS,GAAG,EAAE,EACd,MAAM,EACN,aAAa,GAAG,IAAI,EACpB,KAAK,EAAE,SAAS,GACjB,GAAG,KAAK,CAAC;AAEV,IAAA,MAAM,EACJ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,GACf,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE7B,IAAA,MAAM,WAAW,GAAG;QAClB,YAAY;QACZ,qBAAqB;QACrB,sBAAsB;AACtB,QAAA,MAAM,IAAI,oBAAoB;AAC9B,QAAA,MAAM,IAAI,oBAAoB;QAC9B,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE5B,IAAA,MAAM,KAAK,GAAwB,EAAE,GAAG,SAAS,EAAE,CAAC;AACpD,IAAA,IAAI,eAAe;AAAE,QAAA,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IAE7D,QACEA,IACG,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,MAAM,IAAIC,GAAA,CAAC,MAAM,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAA,CAAI,EACnEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAA,QAAA,EACtC,aAAa,IACZA,GAAC,CAAA,SAAS,EAAC,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAClC,QAAA,EAAAF,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CACjC,WAAW,EACX,iBAAiB,EAClBA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAC/B,QAAA,EAAA,CAAA,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,CAAA,EAAA,CACX,CACF,EAAA,CAAA,EAAA,CACI,KAEZA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,CAC7G,WAAW,EACX,iBAAiB,EAClBA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAC/B,QAAA,EAAA,CAAA,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,CACX,EAAA,CAAA,CAAA,EAAA,CACF,CACP,EAAA,CACG,CACL,EAAA,CAAA,EACH;AACJ;;;;"}
|
|
@@ -1,26 +1,33 @@
|
|
|
1
|
-
import { jsxs,
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useNavbarSections } from '../../../../components/Navbar/useNavbarSections.js';
|
|
3
3
|
import { TopBar } from '../../../../components/Navbar/TopBar.js';
|
|
4
4
|
import Container from '../../../../../Container/components/Container/Container.js';
|
|
5
5
|
|
|
6
6
|
const SingleRowNavbar = (props) => {
|
|
7
|
-
const { sticky = false, shadow = true, backgroundColor, className = '', topBar, containerized = true, style: propStyle, } = props;
|
|
7
|
+
const { sticky = false, shadow = true, backgroundColor, className = '', topBar, containerized = true, style: propStyle, singleRowVariant = 'standard', } = props;
|
|
8
8
|
const { logoSection, navigationSection, searchSection, iconsSection, userSection, actionsSection, } = useNavbarSections(props);
|
|
9
9
|
const navbarClass = [
|
|
10
10
|
'vtx-navbar',
|
|
11
|
-
'vtx-navbar--desktop',
|
|
12
|
-
'vtx-navbar--single-row',
|
|
13
|
-
sticky && 'vtx-navbar--sticky',
|
|
14
11
|
shadow && 'vtx-navbar--shadow',
|
|
15
12
|
className,
|
|
16
13
|
].filter(Boolean).join(' ');
|
|
17
14
|
const style = { ...propStyle };
|
|
18
15
|
if (backgroundColor)
|
|
19
16
|
style.backgroundColor = backgroundColor;
|
|
20
|
-
//
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
// Flexible Content Rendering
|
|
18
|
+
const renderContent = () => {
|
|
19
|
+
// 1. Balanced: Logo | Nav | Actions
|
|
20
|
+
if (singleRowVariant === 'balanced') {
|
|
21
|
+
return (jsxs(Fragment, { children: [jsx("div", { className: "vtx-navbar__left", children: logoSection }), jsx("div", { className: "vtx-navbar__center", children: navigationSection }), jsxs("div", { className: "vtx-navbar__right", children: [searchSection, iconsSection, userSection, actionsSection] })] }));
|
|
22
|
+
}
|
|
23
|
+
// 2. Search Centered: Logo+Nav | Search | Actions
|
|
24
|
+
if (singleRowVariant === 'search-centered') {
|
|
25
|
+
return (jsxs(Fragment, { children: [jsxs("div", { className: "vtx-navbar__left", children: [logoSection, jsx("div", { className: "vtx-navbar__nav", style: { marginLeft: '24px' }, children: navigationSection })] }), jsx("div", { className: "vtx-navbar__center", style: { width: '100%', justifyContent: 'center' }, children: searchSection }), jsxs("div", { className: "vtx-navbar__right", children: [iconsSection, userSection, actionsSection] })] }));
|
|
26
|
+
}
|
|
27
|
+
// 3. Standard (Default): Logo + Nav | ... | Actions
|
|
28
|
+
return (jsxs(Fragment, { children: [jsxs("div", { className: "vtx-navbar__left", children: [logoSection, jsx("div", { className: "vtx-navbar__nav", style: { marginLeft: '24px' }, children: navigationSection })] }), jsx("div", { className: "vtx-navbar__center" }), jsxs("div", { className: "vtx-navbar__right", children: [searchSection, iconsSection, userSection, actionsSection] })] }));
|
|
29
|
+
};
|
|
30
|
+
return (jsxs("div", { className: `vtx-navbar-wrapper ${sticky ? 'vtx-navbar-wrapper--sticky' : ''}`, children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), jsx("nav", { className: navbarClass, style: style, children: containerized ? (jsx(Container, { style: { height: '100%' }, children: jsx("div", { className: "vtx-navbar__content", children: renderContent() }) })) : (jsx("div", { className: "vtx-navbar__content", style: props.padding ? { padding: props.padding } : undefined, children: renderContent() })) })] }));
|
|
24
31
|
};
|
|
25
32
|
|
|
26
33
|
export { SingleRowNavbar };
|
package/dist/esm/components/Navbar/variants/components/Navbar/variants/SingleRowNavbar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleRowNavbar.js","sources":["../../../../../../../../src/components/Navbar/variants/SingleRowNavbar.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;AAMa,MAAA,eAAe,
|
|
1
|
+
{"version":3,"file":"SingleRowNavbar.js","sources":["../../../../../../../../src/components/Navbar/variants/SingleRowNavbar.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ const TransparentNavbar = (props) => {
|
|
|
25
25
|
};
|
|
26
26
|
const leftSide = (jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [logoSection, navigationSection] }));
|
|
27
27
|
const rightSide = (jsxs("div", { className: "vtx-navbar__right", children: [searchSection, iconsSection, userSection, actionsSection] }));
|
|
28
|
-
return (jsxs(Fragment, { children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), jsx("nav", { className: navbarClass, style: style, children: containerized ? (jsx(Container, { style: { height: '100%' }, children: jsxs("div", { className: "vtx-navbar__content", children: [leftSide, rightSide] }) })) : (jsxs("div", { className: "vtx-navbar__content", style: { padding: '0 1.5rem' }, children: [leftSide, rightSide] })) })] }));
|
|
28
|
+
return (jsxs(Fragment, { children: [topBar && jsx(TopBar, { config: topBar, containerized: containerized }), jsx("nav", { className: navbarClass, style: style, children: containerized ? (jsx(Container, { style: { height: '100%' }, children: jsxs("div", { className: "vtx-navbar__content", children: [leftSide, rightSide] }) })) : (jsxs("div", { className: "vtx-navbar__content", style: props.padding ? { padding: props.padding } : { padding: '0 1.5rem' }, children: [leftSide, rightSide] })) })] }));
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
export { TransparentNavbar };
|
package/dist/esm/components/Navbar/variants/components/Navbar/variants/TransparentNavbar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransparentNavbar.js","sources":["../../../../../../../../src/components/Navbar/variants/TransparentNavbar.tsx"],"sourcesContent":[null],"names":["_jsxs","
|
|
1
|
+
{"version":3,"file":"TransparentNavbar.js","sources":["../../../../../../../../src/components/Navbar/variants/TransparentNavbar.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AAMa,MAAA,iBAAiB,GAA8B,CAAC,KAAK,KAAI;AACpE,IAAA,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,KAAK,EACd,eAAe,GAAG,aAAa,EAC/B,SAAS,GAAG,EAAE,EACd,MAAM,EACN,aAAa,GAAG,IAAI,EACpB,KAAK,EAAE,SAAS,GACjB,GAAG,KAAK,CAAC;AAEV,IAAA,MAAM,EACJ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,GACf,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE7B,IAAA,MAAM,WAAW,GAAG;QAClB,YAAY;QACZ,qBAAqB;QACrB,yBAAyB;AACzB,QAAA,MAAM,IAAI,oBAAoB;AAC9B,QAAA,MAAM,IAAI,oBAAoB;QAC9B,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE5B,IAAA,MAAM,KAAK,GAAwB;QACjC,eAAe;AACf,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,GAAG,SAAS;KACb,CAAC;IAEF,MAAM,QAAQ,IACZA,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAClD,WAAW,EACX,iBAAiB,CACd,EAAA,CAAA,CACP,CAAC;AAEF,IAAA,MAAM,SAAS,IACbA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CAC/B,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,CAAA,EAAA,CACX,CACP,CAAC;IAEF,QACEA,4BACG,MAAM,IAAIC,IAAC,MAAM,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAI,CAAA,EACnEA,aAAK,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAA,QAAA,EACtC,aAAa,IACZA,GAAA,CAAC,SAAS,EAAC,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAClCD,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CACjC,QAAQ,EACR,SAAS,IACN,EACI,CAAA,KAEZA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,CAC7G,QAAQ,EACR,SAAS,IACN,CACP,EAAA,CACG,CACL,EAAA,CAAA,EACH;AACJ;;;;"}
|