@appcorp/kismaa-web-ui 0.1.16 → 0.1.18

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.
@@ -13,13 +13,13 @@ var react_1 = __importDefault(require("react"));
13
13
  var mega_menu_1 = require("../mega-menu");
14
14
  var header_pointer_icon_1 = require("../../atoms/header-pointer-icon");
15
15
  var Navbar = function (_a) {
16
- var handleLogin = _a.handleLogin, handleSearch = _a.handleSearch, handleSignup = _a.handleSignup, isMobileMenuOpen = _a.isMobileMenuOpen, loginLabel = _a.loginLabel, navLinks = _a.navLinks, signupLabel = _a.signupLabel, toggleMobileMenu = _a.toggleMobileMenu;
17
- var renderNavLink = function (link, index) {
16
+ var handleSearch = _a.handleSearch, handleSignIn = _a.handleSignIn, handleSignUp = _a.handleSignUp, isMobileMenuOpen = _a.isMobileMenuOpen, navLinks = _a.navLinks, signInLabel = _a.signInLabel, signUpLabel = _a.signUpLabel, toggleMobileMenu = _a.toggleMobileMenu, handleMegaMenuToggle = _a.handleMegaMenuToggle;
17
+ var renderNavLink = function (link) {
18
18
  var _a;
19
- return (react_1.default.createElement("div", { key: index, className: "relative w-fit" },
19
+ return (react_1.default.createElement("div", { key: link.label, className: "relative w-fit", onMouseEnter: handleMegaMenuToggle, onMouseLeave: handleMegaMenuToggle },
20
20
  react_1.default.createElement(link_1.default, { href: link.href, className: "cursor-pointer transition-all duration-300 ease-in-out hover:text-primary ".concat(link.isActive ? 'text-primary' : 'text-[#263238]', " flex items-center gap-1") },
21
21
  react_1.default.createElement(molecules_1.Typography, { variant: molecules_1.TYPOGRAPHY_VARIANTS.SUBH2 }, link.label)),
22
- link.isActive && ((_a = link.megaMenuItems) === null || _a === void 0 ? void 0 : _a.length) && (react_1.default.createElement(react_1.default.Fragment, null,
22
+ link.isHoverActive && ((_a = link.megaMenuItems) === null || _a === void 0 ? void 0 : _a.length) && (react_1.default.createElement(react_1.default.Fragment, null,
23
23
  react_1.default.createElement(header_pointer_icon_1.HeaderTriangleIcon, { className: "absolute -bottom-14 left-5 z-50 size-8" }),
24
24
  react_1.default.createElement("div", { className: "absolute w-max pt-10" },
25
25
  react_1.default.createElement(mega_menu_1.MegaMenu, { items: link.megaMenuItems }))))));
@@ -38,21 +38,21 @@ var Navbar = function (_a) {
38
38
  return enabled;
39
39
  })
40
40
  .sort(function (a, b) { return a.order - b.order; })
41
- .map(function (link, index) { return renderNavLink(link, index); })),
41
+ .map(function (link) { return renderNavLink(link); })),
42
42
  react_1.default.createElement("div", { className: "flex items-center justify-end gap-4" },
43
43
  react_1.default.createElement("div", { className: "", onClick: handleSearch },
44
44
  react_1.default.createElement(search_icon_1.SearchIcon, { className: "size-5 cursor-pointer" })),
45
45
  react_1.default.createElement("div", { className: "flex items-center justify-end" },
46
46
  react_1.default.createElement("div", { className: "w-fit" },
47
- react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.TEXT, handleOnClick: handleLogin, label: loginLabel, size: molecules_1.BUTTON_SIZES.SM })),
47
+ react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.TEXT, handleOnClick: handleSignIn, label: signInLabel, size: molecules_1.BUTTON_SIZES.SM })),
48
48
  react_1.default.createElement("div", { className: "w-fit" },
49
- react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.SECONDARY, handleOnClick: handleSignup, label: signupLabel, iconSuffix: react_1.default.createElement(solid_1.ChevronRightIcon, { className: "h-full w-6" }), size: molecules_1.BUTTON_SIZES.MD })))))),
49
+ react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.SECONDARY, handleOnClick: handleSignUp, label: signUpLabel, iconSuffix: react_1.default.createElement(solid_1.ChevronRightIcon, { className: "h-full w-6" }), size: molecules_1.BUTTON_SIZES.MD })))))),
50
50
  isMobileMenuOpen && (react_1.default.createElement("div", { className: "bg-purple-200/90 lg:hidden" },
51
51
  react_1.default.createElement("div", { className: "flex flex-col gap-4 px-4 py-6" },
52
52
  navLinks.map(function (link, index) { return (react_1.default.createElement("div", { key: index },
53
53
  react_1.default.createElement(link_1.default, { href: link.href, className: "flex cursor-pointer items-center justify-between" },
54
54
  react_1.default.createElement(molecules_1.Typography, { variant: molecules_1.TYPOGRAPHY_VARIANTS.SUBH2 }, link.label)))); }),
55
- react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.TEXT, handleOnClick: handleLogin, label: loginLabel, size: molecules_1.BUTTON_SIZES.MD }),
56
- react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.SECONDARY, handleOnClick: handleSignup, label: signupLabel, iconSuffix: react_1.default.createElement(solid_1.ChevronRightIcon, { className: "size-7" }), size: molecules_1.BUTTON_SIZES.MD }))))));
55
+ react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.TEXT, handleOnClick: handleSignIn, label: signInLabel, size: molecules_1.BUTTON_SIZES.MD }),
56
+ react_1.default.createElement(molecules_1.Button, { type: molecules_1.BUTTON_TYPES.SECONDARY, handleOnClick: handleSignUp, label: signUpLabel, iconSuffix: react_1.default.createElement(solid_1.ChevronRightIcon, { className: "size-7" }), size: molecules_1.BUTTON_SIZES.MD }))))));
57
57
  };
58
58
  exports.Navbar = Navbar;
@@ -8,6 +8,7 @@ exports.navbarData = {
8
8
  label: 'Home',
9
9
  href: '/home',
10
10
  isActive: false,
11
+ isHoverActive: false,
11
12
  enabled: true,
12
13
  order: 1,
13
14
  },
@@ -16,6 +17,7 @@ exports.navbarData = {
16
17
  href: '/advisor',
17
18
  megaMenuItems: props_1.megaMenuData.items,
18
19
  isActive: false,
20
+ isHoverActive: false,
19
21
  enabled: true,
20
22
  order: 2,
21
23
  },
@@ -23,16 +25,17 @@ exports.navbarData = {
23
25
  label: 'Blogs',
24
26
  href: '/blogs',
25
27
  isActive: false,
28
+ isHoverActive: false,
26
29
  enabled: true,
27
30
  order: 3,
28
31
  },
29
32
  ],
33
+ handleMegaMenuToggle: function () { return void 0; },
34
+ handleSearch: function () { return void 0; },
35
+ handleSignIn: function () { return void 0; },
36
+ handleSignUp: function () { return void 0; },
30
37
  isMobileMenuOpen: false,
38
+ signInLabel: 'Login',
39
+ signUpLabel: 'Sign Up',
31
40
  toggleMobileMenu: function () { return void 0; },
32
- handleLogin: function () { return void 0; },
33
- handleSignup: function () { return void 0; },
34
- handleSearch: function () { return void 0; },
35
- loginLabel: 'Login',
36
- signupLabel: 'Sign Up',
37
- handleMegaMenuToggle: function () { return void 0; },
38
41
  };
@@ -1,20 +1,22 @@
1
+ import { MouseEvent } from 'react';
1
2
  import { MegaMenuCardProps } from '../../molecules';
2
3
  export interface NavLinks {
3
4
  enabled: boolean;
4
5
  href: string;
5
6
  isActive: boolean;
7
+ isHoverActive: boolean;
6
8
  label: string;
7
9
  megaMenuItems?: MegaMenuCardProps[];
8
10
  order: number;
9
11
  }
10
12
  export interface NavbarProps {
11
- handleLogin: () => void;
12
- handleMegaMenuToggle: (index: number | null) => void;
13
+ handleSignIn: () => void;
14
+ handleMegaMenuToggle: (e: MouseEvent<HTMLDivElement>) => void;
13
15
  handleSearch: () => void;
14
- handleSignup: () => void;
16
+ handleSignUp: () => void;
15
17
  isMobileMenuOpen: boolean;
16
- loginLabel: string;
18
+ signInLabel: string;
17
19
  navLinks: NavLinks[];
18
- signupLabel: string;
20
+ signUpLabel: string;
19
21
  toggleMobileMenu: () => void;
20
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appcorp/kismaa-web-ui",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "source": "src/index.ts",
5
5
  "main": "lib/main.js",
6
6
  "module": "lib/module.js",