uibee 2.0.2 → 2.0.3

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.
@@ -2,9 +2,12 @@ import React from 'react';
2
2
  import { Language } from 'uibee/components';
3
3
  export type NavbarProps = {
4
4
  lang: Language;
5
+ disableLanguageToggle?: boolean;
5
6
  onlyLogo?: boolean;
6
7
  theme: string;
8
+ disableThemeToggle?: boolean;
7
9
  token: string | null;
10
+ disableAuthButton?: boolean;
8
11
  children: React.ReactNode;
9
12
  };
10
- export default function Navbar({ lang, onlyLogo, token, children }: NavbarProps): import("react/jsx-runtime").JSX.Element;
13
+ export default function Navbar({ lang, onlyLogo, token, children, disableLanguageToggle, disableThemeToggle, disableAuthButton }: NavbarProps): import("react/jsx-runtime").JSX.Element;
@@ -11,9 +11,9 @@ function hamburgerStyle(isOpen, isSecond) {
11
11
  ? `top-6 ${isSecond ? 'rotate-45' : '-rotate-45'}`
12
12
  : isSecond ? 'top-7' : 'top-4'}`;
13
13
  }
14
- export default function Navbar({ lang, onlyLogo, token, children }) {
14
+ export default function Navbar({ lang, onlyLogo, token, children, disableLanguageToggle, disableThemeToggle, disableAuthButton }) {
15
15
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
16
- return (_jsx("div", { className: `${isMobileMenuOpen ? 'bg-[#181818f0]' : 'bg-[#18181899]'} backdrop-blur-xl fixed top-0 z-900 w-full`, children: _jsxs("div", { className: `flex w-full max-w-6xl m-auto p-2 transition duration-500 800px:justify-between 800px:p-4 ${isMobileMenuOpen ? 'h-screen bg-login-900/20 800px:h-20' : ''}`, children: [_jsx("div", { className: 'block h-12 p-1 800px:p-0', children: _jsx(Link, { href: '/', onClick: () => setIsMobileMenuOpen(false), children: _jsx(LogoSmall, {}) }) }), onlyLogo ? null : (_jsxs(_Fragment, { children: [_jsx("nav", { className: 'hidden 800px:flex 800px:justify-between 800px:items-center 800px:w-fill max-w-[50rem]', children: children }), _jsxs("nav", { className: 'flex w-[calc(100vw-8rem)] justify-end h-12 800px:w-fit', children: [_jsx(ThemeToggle, {}), _jsx(LanguageToggle, { language: lang }), _jsx(AuthButton, { token: token })] }), _jsxs("button", { className: 'w-12 h-12 relative cursor-pointer bg-none border-none 800px:hidden', onClick: () => setIsMobileMenuOpen(!isMobileMenuOpen), children: [_jsx("div", { className: hamburgerStyle(isMobileMenuOpen) }), _jsx("div", { className: hamburgerStyle(isMobileMenuOpen, true) })] }), _jsx("nav", { className: `fixed top-16 w-[calc(100%-2rem)] max-w-[35rem] mx-auto left-0 right-0 800px:hidden
16
+ return (_jsx("div", { className: `${isMobileMenuOpen ? 'bg-[#181818f0]' : 'bg-[#18181899]'} backdrop-blur-xl fixed top-0 z-900 w-full`, children: _jsxs("div", { className: `flex w-full max-w-6xl m-auto p-2 transition duration-500 800px:justify-between 800px:p-4 ${isMobileMenuOpen ? 'h-screen bg-login-900/20 800px:h-20' : ''}`, children: [_jsx("div", { className: 'block h-12 p-1 800px:p-0', children: _jsx(Link, { href: '/', onClick: () => setIsMobileMenuOpen(false), children: _jsx(LogoSmall, {}) }) }), onlyLogo ? null : (_jsxs(_Fragment, { children: [_jsx("nav", { className: 'hidden 800px:flex 800px:justify-between 800px:items-center 800px:w-fill max-w-[50rem]', children: children }), _jsxs("nav", { className: 'flex w-[calc(100vw-8rem)] justify-end h-12 800px:w-fit', children: [!disableThemeToggle && _jsx(ThemeToggle, {}), !disableLanguageToggle && _jsx(LanguageToggle, { language: lang }), !disableAuthButton && _jsx(AuthButton, { token: token })] }), _jsxs("button", { className: 'w-12 h-12 relative cursor-pointer bg-none border-none 800px:hidden', onClick: () => setIsMobileMenuOpen(!isMobileMenuOpen), children: [_jsx("div", { className: hamburgerStyle(isMobileMenuOpen) }), _jsx("div", { className: hamburgerStyle(isMobileMenuOpen, true) })] }), _jsx("nav", { className: `fixed top-16 w-[calc(100%-2rem)] max-w-[35rem] mx-auto left-0 right-0 800px:hidden
17
17
  transition-all duration-500 ease-in-out overflow-hidden
18
18
  ${isMobileMenuOpen ? 'max-h-[calc(100vh-4rem)] opacity-100' : 'max-h-0 opacity-0'}`, onClick: () => setIsMobileMenuOpen(false), children: React.Children.map(children, (child, index) => (_jsx("div", { className: `transition-all duration-500 ease-out ${isMobileMenuOpen
19
19
  ? 'opacity-100 transform translate-y-0'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uibee",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Shared components, functions and hooks for reuse across Login projects",
5
5
  "homepage": "https://github.com/Login-Linjeforening-for-IT/uibee#readme",
6
6
  "bugs": {
@@ -19,13 +19,24 @@ function hamburgerStyle (isOpen: boolean, isSecond?: boolean) {
19
19
 
20
20
  export type NavbarProps = {
21
21
  lang: Language
22
+ disableLanguageToggle?: boolean
22
23
  onlyLogo?: boolean
23
24
  theme: string
25
+ disableThemeToggle?: boolean
24
26
  token: string | null
27
+ disableAuthButton?: boolean
25
28
  children: React.ReactNode
26
29
  }
27
30
 
28
- export default function Navbar({ lang, onlyLogo, token, children }: NavbarProps) {
31
+ export default function Navbar({
32
+ lang,
33
+ onlyLogo,
34
+ token,
35
+ children,
36
+ disableLanguageToggle,
37
+ disableThemeToggle,
38
+ disableAuthButton
39
+ }: NavbarProps) {
29
40
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false)
30
41
 
31
42
  return (
@@ -52,9 +63,9 @@ export default function Navbar({ lang, onlyLogo, token, children }: NavbarProps)
52
63
 
53
64
  {/* Controls */}
54
65
  <nav className='flex w-[calc(100vw-8rem)] justify-end h-12 800px:w-fit'>
55
- <ThemeToggle />
56
- <LanguageToggle language={lang} />
57
- <AuthButton token={token} />
66
+ {!disableThemeToggle && <ThemeToggle />}
67
+ {!disableLanguageToggle && <LanguageToggle language={lang} />}
68
+ {!disableAuthButton && <AuthButton token={token} />}
58
69
  </nav>
59
70
 
60
71
  {/* Mobile Menu Button */}