@consumidor-positivo/aurora 0.1.2 → 0.2.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.
package/README.md
CHANGED
|
@@ -135,25 +135,28 @@ const HeaderNavigation = ({ children }) => {
|
|
|
135
135
|
return /* @__PURE__ */ jsx("div", { className: "au-header__navigation", children });
|
|
136
136
|
};
|
|
137
137
|
const HeaderProfile = ({
|
|
138
|
-
onClickNotifications,
|
|
139
|
-
onClickMenu,
|
|
140
138
|
fullName,
|
|
141
|
-
|
|
139
|
+
onClickMenu,
|
|
140
|
+
notifications = {}
|
|
142
141
|
}) => {
|
|
143
142
|
const initialLetters = getInitialLetters(fullName);
|
|
143
|
+
const { visible = true, hasUnread = false, count, onClick } = notifications;
|
|
144
|
+
const shouldShowBadge = count && count > 0 || hasUnread;
|
|
144
145
|
return /* @__PURE__ */ jsxs("div", { className: "au-header__profile", children: [
|
|
145
146
|
/* @__PURE__ */ jsx(
|
|
146
147
|
Conditional,
|
|
147
148
|
{
|
|
148
|
-
condition:
|
|
149
|
-
renderIf: /* @__PURE__ */
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
149
|
+
condition: visible,
|
|
150
|
+
renderIf: /* @__PURE__ */ jsxs("div", { className: "au-header__profile-notifications", onClick, children: [
|
|
151
|
+
/* @__PURE__ */ jsx(IconBell, {}),
|
|
152
|
+
/* @__PURE__ */ jsx(
|
|
153
|
+
Conditional,
|
|
154
|
+
{
|
|
155
|
+
condition: !!shouldShowBadge,
|
|
156
|
+
renderIf: /* @__PURE__ */ jsx("div", { className: "au-header__profile-notifications-badge", children: count && count > 0 ? count : null })
|
|
157
|
+
}
|
|
158
|
+
)
|
|
159
|
+
] })
|
|
157
160
|
}
|
|
158
161
|
),
|
|
159
162
|
/* @__PURE__ */ jsx("div", { className: "au-header__profile-menu-mobile", onClick: onClickMenu, children: /* @__PURE__ */ jsx(IconMenu, {}) }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Header/parts/HeaderActions.tsx","../../../lib/components/Header/parts/HeaderBadges.tsx","../../../lib/components/Header/parts/HeaderButton.tsx","../../../lib/components/Header/parts/HeaderHamburger.tsx","../../../lib/components/Header/parts/HeaderLogo.tsx","../../../lib/components/Header/parts/HeaderNavbar.tsx","../../../lib/components/Header/parts/HeaderNavbarLink.tsx","../../../lib/components/Header/parts/HeaderNavigation.tsx","../../../lib/components/Header/parts/HeaderProfile.tsx","../../../lib/components/Header/parts/HeaderWrap.tsx","../../../lib/components/Header/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { ReactNode } from 'react'\n\nexport type HeaderActionsProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n divider?: boolean\n}\n\nexport const HeaderActions = ({ children, divider }: HeaderActionsProps) => {\n return (\n <div\n className={classNames('au-header__actions', {\n 'au-header__actions--divider': divider,\n })}>\n {children}\n </div>\n )\n}\n","import classNames from 'classnames'\nimport { ReactNode } from 'react'\n\nexport type HeaderBadgesProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n limitBadgeWidth?: boolean\n}\n\nexport const HeaderBadges = ({\n children,\n limitBadgeWidth = true,\n}: HeaderBadgesProps) => {\n const componentClass = classNames('au-header__badges', {\n 'au-header__badges--limited-width': limitBadgeWidth,\n })\n return <div className={componentClass}>{children}</div>\n}\n","import { ReactNode } from 'react'\n\nexport type HeaderButtonProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n onClick: () => void\n}\n\nexport const HeaderButton = ({ children, onClick }: HeaderButtonProps) => {\n return (\n <div className=\"au-header__button\" onClick={onClick}>\n {children}\n </div>\n )\n}\n","import { IconMenu } from '@components/icons/default'\n\nexport type HeaderHamburgerProps = {\n onClick?: () => void\n}\n\nexport const HeaderHamburger = ({ onClick }: HeaderHamburgerProps) => {\n return (\n <div className=\"au-header__hamburger\">\n <div className=\"au-header__hamburger\" onClick={onClick}>\n <IconMenu />\n </div>\n </div>\n )\n}\n","import { ReactNode } from 'react'\nimport { Conditional } from '@components/misc'\n\nexport type HeaderLogoProps = {\n children?: ReactNode | string | JSX.Element | JSX.Element[]\n renderMobile?: ReactNode | string | JSX.Element | JSX.Element[]\n renderDesktop?: ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderLogo = ({\n children,\n renderMobile,\n renderDesktop,\n}: HeaderLogoProps) => {\n return (\n <div className=\"au-header__logo\">\n <Conditional\n condition={!!renderMobile}\n renderIf={<div className=\"au-header__logo--mobile\">{renderMobile}</div>}\n />\n <Conditional\n condition={!!renderDesktop}\n renderIf={\n <div className=\"au-header__logo--desktop\">{renderDesktop}</div>\n }\n />\n {children}\n </div>\n )\n}\n","import { ReactNode } from 'react'\nimport { NavbarDataProps } from '../types'\n\nexport type HeaderNavbarProps = {\n data: NavbarDataProps[]\n renderItem: (\n item: NavbarDataProps,\n ) => ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderNavbar = ({ data, renderItem }: HeaderNavbarProps) => {\n return (\n <nav role=\"navigation\" className=\"au-header__navbar\">\n {data?.map((item) => {\n return renderItem(item)\n })}\n </nav>\n )\n}\n","import classNames from 'classnames'\nimport { Text } from '@components/Text'\nimport { IconChevronDown } from '@components/icons/default'\nimport { Conditional } from '@components/misc'\nimport { NavbarDataProps } from '../types'\n\nexport const HeaderNavbarLink = (navItem: NavbarDataProps) => {\n const { name, dropdown, active, href } = navItem\n const isDropdown = !!dropdown && dropdown.length\n\n function handleItemClick(item: NavbarDataProps, ev: React.MouseEvent) {\n if (item.onClick) {\n ev.preventDefault()\n item.onClick()\n }\n }\n\n return (\n <div\n className={classNames('au-header__navbar-item', {\n 'au-header__navbar-item--is-dropdown': dropdown,\n 'au-header__navbar-item--is-active': active,\n })}>\n <Text\n as={isDropdown ? 'div' : 'a'}\n variant=\"heading-micro\"\n weight=\"light\"\n href={href}\n onClick={(ev) => handleItemClick(navItem, ev)}\n title={name}\n className={classNames('au-header__navbar-link', {\n 'au-header__navbar-link--is-dropdown': dropdown,\n 'au-header__navbar-link--is-active': active,\n })}>\n {name}\n <Conditional\n condition={!!dropdown?.length}\n renderIf={<IconChevronDown />}\n />\n </Text>\n\n <Conditional\n condition={!!dropdown?.length}\n renderIf={\n <>\n <div className=\"au-header__dropdown\">\n {dropdown?.map((item) => {\n return (\n <Text\n key={item.name}\n as=\"a\"\n variant=\"heading-micro\"\n href={item.href}\n onClick={(ev) => handleItemClick(item, ev)}\n weight=\"light\"\n className={classNames('au-header__dropdown-link', {\n 'au-header__dropdown-link--is-active': item.active,\n })}\n title={item.name}>\n {item.name}\n </Text>\n )\n })}\n </div>\n </>\n }\n />\n </div>\n )\n}\n","import { ReactNode } from 'react'\n\nexport type HeaderNavigationProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderNavigation = ({ children }: HeaderNavigationProps) => {\n return <div className=\"au-header__navigation\">{children}</div>\n}\n","import { getInitialLetters } from '@core/utils/getInitialLetters'\nimport { IconBell, IconChevronDown, IconMenu } from '@components/icons/default'\nimport { Conditional } from '@components/misc'\n\nexport type HeaderProfileProps = {\n onClickNotifications?: () => void\n onClickMenu?: () => void\n fullName: string\n showNotifications?: boolean\n}\n\nexport const HeaderProfile = ({\n onClickNotifications,\n onClickMenu,\n fullName,\n showNotifications = true,\n}: HeaderProfileProps) => {\n const initialLetters = getInitialLetters(fullName)\n return (\n <div className=\"au-header__profile\">\n <Conditional\n condition={showNotifications}\n renderIf={\n <div\n className=\"au-header__profile-notifications\"\n onClick={onClickNotifications}>\n <IconBell />\n </div>\n }\n />\n\n <div className=\"au-header__profile-menu-mobile\" onClick={onClickMenu}>\n <IconMenu />\n </div>\n\n <div className=\"au-header__profile-menu\" onClick={onClickMenu}>\n <div className=\"au-header__profile-letters\">{initialLetters}</div>\n <IconChevronDown />\n </div>\n </div>\n )\n}\n","import classNames from 'classnames'\nimport { ReactNode } from 'react'\n\nexport type HeaderWrapProps = {\n position?: 'static' | 'fixed'\n children: ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderWrap = ({\n children,\n position = 'static',\n}: HeaderWrapProps) => {\n return (\n <header\n role=\"banner\"\n className={classNames('au-header', {\n 'au-header--fixed': position === 'fixed',\n 'au-header--static': position === 'static',\n })}>\n <div className=\"au-header__container\">{children}</div>\n </header>\n )\n}\n","import { HeaderActions, HeaderActionsProps } from './parts/HeaderActions'\nimport { HeaderBadges, HeaderBadgesProps } from './parts/HeaderBadges'\nimport { HeaderButton, HeaderButtonProps } from './parts/HeaderButton'\nimport { HeaderHamburger, HeaderHamburgerProps } from './parts/HeaderHamburger'\nimport { HeaderLogo, HeaderLogoProps } from './parts/HeaderLogo'\nimport { HeaderNavbar, HeaderNavbarProps } from './parts/HeaderNavbar'\nimport { HeaderNavbarLink } from './parts/HeaderNavbarLink'\nimport {\n HeaderNavigation,\n HeaderNavigationProps,\n} from './parts/HeaderNavigation'\nimport { HeaderProfile, HeaderProfileProps } from './parts/HeaderProfile'\nimport { HeaderWrap as Header, HeaderWrapProps } from './parts/HeaderWrap'\nimport { NavbarDataProps } from './types'\n\nimport './styles.scss'\n\ntype Components = {\n Actions: React.FC<HeaderActionsProps>\n Badges: React.FC<HeaderBadgesProps>\n Button: React.FC<HeaderButtonProps>\n Hamburger: React.FC<HeaderHamburgerProps>\n Logo: React.FC<HeaderLogoProps>\n Navbar: React.FC<HeaderNavbarProps>\n NavbarLink: React.FC<NavbarDataProps>\n Navigation: React.FC<HeaderNavigationProps>\n Profile: React.FC<HeaderProfileProps>\n Root: React.FC<HeaderWrapProps>\n}\n\nconst components: Components = {\n Actions: HeaderActions,\n Badges: HeaderBadges,\n Button: HeaderButton,\n Hamburger: HeaderHamburger,\n Logo: HeaderLogo,\n Navbar: HeaderNavbar,\n NavbarLink: HeaderNavbarLink,\n Navigation: HeaderNavigation,\n Profile: HeaderProfile,\n Root: Header,\n}\n\nObject.keys(components).forEach((key) => {\n const component = components[key as keyof Components]\n component.displayName = `Header.${key}`\n})\n\nexport { components as Header }\n"],"names":["Header"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Header/parts/HeaderActions.tsx","../../../lib/components/Header/parts/HeaderBadges.tsx","../../../lib/components/Header/parts/HeaderButton.tsx","../../../lib/components/Header/parts/HeaderHamburger.tsx","../../../lib/components/Header/parts/HeaderLogo.tsx","../../../lib/components/Header/parts/HeaderNavbar.tsx","../../../lib/components/Header/parts/HeaderNavbarLink.tsx","../../../lib/components/Header/parts/HeaderNavigation.tsx","../../../lib/components/Header/parts/HeaderProfile.tsx","../../../lib/components/Header/parts/HeaderWrap.tsx","../../../lib/components/Header/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { ReactNode } from 'react'\n\nexport type HeaderActionsProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n divider?: boolean\n}\n\nexport const HeaderActions = ({ children, divider }: HeaderActionsProps) => {\n return (\n <div\n className={classNames('au-header__actions', {\n 'au-header__actions--divider': divider,\n })}>\n {children}\n </div>\n )\n}\n","import classNames from 'classnames'\nimport { ReactNode } from 'react'\n\nexport type HeaderBadgesProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n limitBadgeWidth?: boolean\n}\n\nexport const HeaderBadges = ({\n children,\n limitBadgeWidth = true,\n}: HeaderBadgesProps) => {\n const componentClass = classNames('au-header__badges', {\n 'au-header__badges--limited-width': limitBadgeWidth,\n })\n return <div className={componentClass}>{children}</div>\n}\n","import { ReactNode } from 'react'\n\nexport type HeaderButtonProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n onClick: () => void\n}\n\nexport const HeaderButton = ({ children, onClick }: HeaderButtonProps) => {\n return (\n <div className=\"au-header__button\" onClick={onClick}>\n {children}\n </div>\n )\n}\n","import { IconMenu } from '@components/icons/default'\n\nexport type HeaderHamburgerProps = {\n onClick?: () => void\n}\n\nexport const HeaderHamburger = ({ onClick }: HeaderHamburgerProps) => {\n return (\n <div className=\"au-header__hamburger\">\n <div className=\"au-header__hamburger\" onClick={onClick}>\n <IconMenu />\n </div>\n </div>\n )\n}\n","import { ReactNode } from 'react'\nimport { Conditional } from '@components/misc'\n\nexport type HeaderLogoProps = {\n children?: ReactNode | string | JSX.Element | JSX.Element[]\n renderMobile?: ReactNode | string | JSX.Element | JSX.Element[]\n renderDesktop?: ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderLogo = ({\n children,\n renderMobile,\n renderDesktop,\n}: HeaderLogoProps) => {\n return (\n <div className=\"au-header__logo\">\n <Conditional\n condition={!!renderMobile}\n renderIf={<div className=\"au-header__logo--mobile\">{renderMobile}</div>}\n />\n <Conditional\n condition={!!renderDesktop}\n renderIf={\n <div className=\"au-header__logo--desktop\">{renderDesktop}</div>\n }\n />\n {children}\n </div>\n )\n}\n","import { ReactNode } from 'react'\nimport { NavbarDataProps } from '../types'\n\nexport type HeaderNavbarProps = {\n data: NavbarDataProps[]\n renderItem: (\n item: NavbarDataProps,\n ) => ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderNavbar = ({ data, renderItem }: HeaderNavbarProps) => {\n return (\n <nav role=\"navigation\" className=\"au-header__navbar\">\n {data?.map((item) => {\n return renderItem(item)\n })}\n </nav>\n )\n}\n","import classNames from 'classnames'\nimport { Text } from '@components/Text'\nimport { IconChevronDown } from '@components/icons/default'\nimport { Conditional } from '@components/misc'\nimport { NavbarDataProps } from '../types'\n\nexport const HeaderNavbarLink = (navItem: NavbarDataProps) => {\n const { name, dropdown, active, href } = navItem\n const isDropdown = !!dropdown && dropdown.length\n\n function handleItemClick(item: NavbarDataProps, ev: React.MouseEvent) {\n if (item.onClick) {\n ev.preventDefault()\n item.onClick()\n }\n }\n\n return (\n <div\n className={classNames('au-header__navbar-item', {\n 'au-header__navbar-item--is-dropdown': dropdown,\n 'au-header__navbar-item--is-active': active,\n })}>\n <Text\n as={isDropdown ? 'div' : 'a'}\n variant=\"heading-micro\"\n weight=\"light\"\n href={href}\n onClick={(ev) => handleItemClick(navItem, ev)}\n title={name}\n className={classNames('au-header__navbar-link', {\n 'au-header__navbar-link--is-dropdown': dropdown,\n 'au-header__navbar-link--is-active': active,\n })}>\n {name}\n <Conditional\n condition={!!dropdown?.length}\n renderIf={<IconChevronDown />}\n />\n </Text>\n\n <Conditional\n condition={!!dropdown?.length}\n renderIf={\n <>\n <div className=\"au-header__dropdown\">\n {dropdown?.map((item) => {\n return (\n <Text\n key={item.name}\n as=\"a\"\n variant=\"heading-micro\"\n href={item.href}\n onClick={(ev) => handleItemClick(item, ev)}\n weight=\"light\"\n className={classNames('au-header__dropdown-link', {\n 'au-header__dropdown-link--is-active': item.active,\n })}\n title={item.name}>\n {item.name}\n </Text>\n )\n })}\n </div>\n </>\n }\n />\n </div>\n )\n}\n","import { ReactNode } from 'react'\n\nexport type HeaderNavigationProps = {\n children: ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderNavigation = ({ children }: HeaderNavigationProps) => {\n return <div className=\"au-header__navigation\">{children}</div>\n}\n","import { getInitialLetters } from '@core/utils/getInitialLetters'\nimport { IconBell, IconChevronDown, IconMenu } from '@components/icons/default'\nimport { Conditional } from '@components/misc'\n\nexport type NotificationsConfig = {\n visible?: boolean\n count?: number\n hasUnread?: boolean\n onClick?: () => void\n}\n\nexport type HeaderProfileProps = {\n fullName: string\n onClickMenu?: () => void\n notifications?: NotificationsConfig\n}\n\nexport const HeaderProfile = ({\n fullName,\n onClickMenu,\n notifications = {},\n}: HeaderProfileProps) => {\n const initialLetters = getInitialLetters(fullName)\n\n const { visible = true, hasUnread = false, count, onClick } = notifications\n const shouldShowBadge = (count && count > 0) || hasUnread\n\n return (\n <div className=\"au-header__profile\">\n <Conditional\n condition={visible}\n renderIf={\n <div className=\"au-header__profile-notifications\" onClick={onClick}>\n <IconBell />\n <Conditional\n condition={!!shouldShowBadge}\n renderIf={\n <div className=\"au-header__profile-notifications-badge\">\n {count && count > 0 ? count : null}\n </div>\n }\n />\n </div>\n }\n />\n\n <div className=\"au-header__profile-menu-mobile\" onClick={onClickMenu}>\n <IconMenu />\n </div>\n\n <div className=\"au-header__profile-menu\" onClick={onClickMenu}>\n <div className=\"au-header__profile-letters\">{initialLetters}</div>\n <IconChevronDown />\n </div>\n </div>\n )\n}\n","import classNames from 'classnames'\nimport { ReactNode } from 'react'\n\nexport type HeaderWrapProps = {\n position?: 'static' | 'fixed'\n children: ReactNode | string | JSX.Element | JSX.Element[]\n}\n\nexport const HeaderWrap = ({\n children,\n position = 'static',\n}: HeaderWrapProps) => {\n return (\n <header\n role=\"banner\"\n className={classNames('au-header', {\n 'au-header--fixed': position === 'fixed',\n 'au-header--static': position === 'static',\n })}>\n <div className=\"au-header__container\">{children}</div>\n </header>\n )\n}\n","import { HeaderActions, HeaderActionsProps } from './parts/HeaderActions'\nimport { HeaderBadges, HeaderBadgesProps } from './parts/HeaderBadges'\nimport { HeaderButton, HeaderButtonProps } from './parts/HeaderButton'\nimport { HeaderHamburger, HeaderHamburgerProps } from './parts/HeaderHamburger'\nimport { HeaderLogo, HeaderLogoProps } from './parts/HeaderLogo'\nimport { HeaderNavbar, HeaderNavbarProps } from './parts/HeaderNavbar'\nimport { HeaderNavbarLink } from './parts/HeaderNavbarLink'\nimport {\n HeaderNavigation,\n HeaderNavigationProps,\n} from './parts/HeaderNavigation'\nimport { HeaderProfile, HeaderProfileProps } from './parts/HeaderProfile'\nimport { HeaderWrap as Header, HeaderWrapProps } from './parts/HeaderWrap'\nimport { NavbarDataProps } from './types'\n\nimport './styles.scss'\n\ntype Components = {\n Actions: React.FC<HeaderActionsProps>\n Badges: React.FC<HeaderBadgesProps>\n Button: React.FC<HeaderButtonProps>\n Hamburger: React.FC<HeaderHamburgerProps>\n Logo: React.FC<HeaderLogoProps>\n Navbar: React.FC<HeaderNavbarProps>\n NavbarLink: React.FC<NavbarDataProps>\n Navigation: React.FC<HeaderNavigationProps>\n Profile: React.FC<HeaderProfileProps>\n Root: React.FC<HeaderWrapProps>\n}\n\nconst components: Components = {\n Actions: HeaderActions,\n Badges: HeaderBadges,\n Button: HeaderButton,\n Hamburger: HeaderHamburger,\n Logo: HeaderLogo,\n Navbar: HeaderNavbar,\n NavbarLink: HeaderNavbarLink,\n Navigation: HeaderNavigation,\n Profile: HeaderProfile,\n Root: Header,\n}\n\nObject.keys(components).forEach((key) => {\n const component = components[key as keyof Components]\n component.displayName = `Header.${key}`\n})\n\nexport { components as Header }\n"],"names":["Header"],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
export type NotificationsConfig = {
|
|
2
|
+
visible?: boolean;
|
|
3
|
+
count?: number;
|
|
4
|
+
hasUnread?: boolean;
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
};
|
|
1
7
|
export type HeaderProfileProps = {
|
|
2
|
-
onClickNotifications?: () => void;
|
|
3
|
-
onClickMenu?: () => void;
|
|
4
8
|
fullName: string;
|
|
5
|
-
|
|
9
|
+
onClickMenu?: () => void;
|
|
10
|
+
notifications?: NotificationsConfig;
|
|
6
11
|
};
|
|
7
|
-
export declare const HeaderProfile: ({
|
|
12
|
+
export declare const HeaderProfile: ({ fullName, onClickMenu, notifications, }: HeaderProfileProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.au-header{height:80px;border-bottom:1px solid #e2e4e9;background-color:#fff}.au-header--fixed{position:fixed;top:0;left:0;width:100%;z-index:5}.au-header--static{position:relative}.au-header__container{width:100%;max-width:1232px;margin:0 auto;padding:0 24px}@media (min-width: 1024px){.au-header__container{padding:0 16px}}.au-header__container{height:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.au-header__logo{display:flex;align-items:center}.au-header__logo .au-text{padding-left:16px;margin-left:16px;border-left:1px solid #e2e4e9}.au-header__logo--mobile{display:block}@media (min-width: 1024px){.au-header__logo--mobile{display:none}}.au-header__logo--desktop{display:none}@media (min-width: 1024px){.au-header__logo--desktop{display:block}}.au-header__link,.au-header__button{cursor:pointer}.au-header__badges{display:flex;align-items:center}.au-header__badges>*+*{padding-left:16px;margin-left:16px;position:relative}.au-header__badges>*+*:before{content:"";height:24px;width:1px;background-color:#e2e4e9;position:absolute;left:0;top:calc(50% - 12px)}.au-header__badges .au-logo img{width:100%}.au-header__badges--limited-width .au-logo{max-width:56px}.au-header__navigation{height:100%;display:flex}.au-header__navigation>*+*{margin-left:24px}.au-header__navbar{color:#16181d;display:none}@media (min-width: 1024px){.au-header__navbar{display:flex;align-items:center;gap:24px}}.au-header__navbar-item{position:relative}.au-header__navbar-item--is-dropdown{height:calc(100% + 8px);align-self:flex-start;display:flex;align-items:center;justify-content:center;padding-bottom:8px;gap:8px}.au-header__navbar-item--is-dropdown .au-icon{transition:transform .25s ease}.au-header__navbar-item--is-dropdown:hover .au-icon,.au-header__navbar-item--is-dropdown:focus .au-icon{transform:rotate(-180deg)}.au-header__navbar-item--is-dropdown:hover .au-header__dropdown,.au-header__navbar-item--is-dropdown:focus .au-header__dropdown{opacity:1;visibility:visible;transform:translateY(0)}.au-header__navbar-link{height:100%;cursor:pointer;text-decoration:none}.au-header__navbar-link--is-dropdown{position:relative;display:flex;align-items:center;justify-content:center;gap:8px}.au-header__navbar-link--is-active,.au-header__navbar-link:hover,.au-header__navbar-link:focus{font-weight:700;letter-spacing:-.6px}.au-header__navbar-link:hover,.au-header__navbar-link:focus{color:#16181d}.au-header__navbar-link--is-active{color:#0048db}.au-header__navbar-link--is-active:hover,.au-header__navbar-link--is-active:focus{color:#0048db}.au-header__dropdown{background-color:#fff;border-radius:16px;border:1px solid #e2e4e9;box-shadow:0 2px 8px #a9b1c514,0 4px 4px #0048db0a;max-width:230px;min-width:230px;position:absolute;overflow:hidden;z-index:2;top:100%;width:100%;left:-8px;opacity:0;visibility:hidden;transition:opacity .25s ease-in-out,transform .2s linear,visibility .25s ease-in-out;transform:translateY(-8px)}.au-header__dropdown-link{display:inline-block;padding:16px 24px;width:100%;display:flex;text-decoration:none;justify-content:space-between;cursor:pointer}.au-header__dropdown-link--is-active,.au-header__dropdown-link:hover,.au-header__dropdown-link:focus{font-weight:700;letter-spacing:-.6px}.au-header__dropdown-link--is-active{color:#0048db;background-color:#fafbff;border-top:1px solid #e2e4e9}.au-header__actions{display:flex;align-items:center;gap:8px;margin-block:16px}@media (min-width: 1024px){.au-header__actions--divider{border-left:1px solid #e2e4e9;padding-left:16px;margin-left:24px}}.au-header__profile{display:flex;align-items:center;gap:24px}.au-header__profile-notifications{cursor:pointer}.au-header__profile-menu{display:none;align-items:center;gap:8px;cursor:pointer}@media (min-width: 1024px){.au-header__profile-menu{display:flex}}.au-header__profile-menu-mobile{display:block;cursor:pointer}@media (min-width: 1024px){.au-header__profile-menu-mobile{display:none}}.au-header__profile-letters{display:flex;align-items:center;justify-content:center;border-radius:50%;width:40px;height:40px;background-color:#9abcff;font-weight:500;font-family:Lexend Deca,sans-serif;color:#16181d;font-size:16px;text-transform:uppercase}.au-header__hamburger{cursor:pointer}@media (min-width: 1024px){.au-header__hamburger{display:none}}
|
|
1
|
+
.au-header{height:80px;border-bottom:1px solid #e2e4e9;background-color:#fff}.au-header--fixed{position:fixed;top:0;left:0;width:100%;z-index:5}.au-header--static{position:relative}.au-header__container{width:100%;max-width:1232px;margin:0 auto;padding:0 24px}@media (min-width: 1024px){.au-header__container{padding:0 16px}}.au-header__container{height:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.au-header__logo{display:flex;align-items:center}.au-header__logo .au-text{padding-left:16px;margin-left:16px;border-left:1px solid #e2e4e9}.au-header__logo--mobile{display:block}@media (min-width: 1024px){.au-header__logo--mobile{display:none}}.au-header__logo--desktop{display:none}@media (min-width: 1024px){.au-header__logo--desktop{display:block}}.au-header__link,.au-header__button{cursor:pointer}.au-header__badges{display:flex;align-items:center}.au-header__badges>*+*{padding-left:16px;margin-left:16px;position:relative}.au-header__badges>*+*:before{content:"";height:24px;width:1px;background-color:#e2e4e9;position:absolute;left:0;top:calc(50% - 12px)}.au-header__badges .au-logo img{width:100%}.au-header__badges--limited-width .au-logo{max-width:56px}.au-header__navigation{height:100%;display:flex}.au-header__navigation>*+*{margin-left:24px}.au-header__navbar{color:#16181d;display:none}@media (min-width: 1024px){.au-header__navbar{display:flex;align-items:center;gap:24px}}.au-header__navbar-item{position:relative}.au-header__navbar-item--is-dropdown{height:calc(100% + 8px);align-self:flex-start;display:flex;align-items:center;justify-content:center;padding-bottom:8px;gap:8px}.au-header__navbar-item--is-dropdown .au-icon{transition:transform .25s ease}.au-header__navbar-item--is-dropdown:hover .au-icon,.au-header__navbar-item--is-dropdown:focus .au-icon{transform:rotate(-180deg)}.au-header__navbar-item--is-dropdown:hover .au-header__dropdown,.au-header__navbar-item--is-dropdown:focus .au-header__dropdown{opacity:1;visibility:visible;transform:translateY(0)}.au-header__navbar-link{height:100%;cursor:pointer;text-decoration:none}.au-header__navbar-link--is-dropdown{position:relative;display:flex;align-items:center;justify-content:center;gap:8px}.au-header__navbar-link--is-active,.au-header__navbar-link:hover,.au-header__navbar-link:focus{font-weight:700;letter-spacing:-.6px}.au-header__navbar-link:hover,.au-header__navbar-link:focus{color:#16181d}.au-header__navbar-link--is-active{color:#0048db}.au-header__navbar-link--is-active:hover,.au-header__navbar-link--is-active:focus{color:#0048db}.au-header__dropdown{background-color:#fff;border-radius:16px;border:1px solid #e2e4e9;box-shadow:0 2px 8px #a9b1c514,0 4px 4px #0048db0a;max-width:230px;min-width:230px;position:absolute;overflow:hidden;z-index:2;top:100%;width:100%;left:-8px;opacity:0;visibility:hidden;transition:opacity .25s ease-in-out,transform .2s linear,visibility .25s ease-in-out;transform:translateY(-8px)}.au-header__dropdown-link{display:inline-block;padding:16px 24px;width:100%;display:flex;text-decoration:none;justify-content:space-between;cursor:pointer}.au-header__dropdown-link--is-active,.au-header__dropdown-link:hover,.au-header__dropdown-link:focus{font-weight:700;letter-spacing:-.6px}.au-header__dropdown-link--is-active{color:#0048db;background-color:#fafbff;border-top:1px solid #e2e4e9}.au-header__actions{display:flex;align-items:center;gap:8px;margin-block:16px}@media (min-width: 1024px){.au-header__actions--divider{border-left:1px solid #e2e4e9;padding-left:16px;margin-left:24px}}.au-header__profile{display:flex;align-items:center;gap:24px}.au-header__profile-notifications{cursor:pointer;position:relative}.au-header__profile-notifications-badge{position:absolute;top:-2px;right:-2px;background-color:#e52222;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;line-height:0px;font-weight:700;min-width:16px;height:16px;padding:0 4px;border:1px solid #ffffff}.au-header__profile-notifications-badge:empty{width:12px;height:12px;min-width:12px;padding:0 4px;top:0;right:0}.au-header__profile-menu{display:none;align-items:center;gap:8px;cursor:pointer}@media (min-width: 1024px){.au-header__profile-menu{display:flex}}.au-header__profile-menu-mobile{display:block;cursor:pointer}@media (min-width: 1024px){.au-header__profile-menu-mobile{display:none}}.au-header__profile-letters{display:flex;align-items:center;justify-content:center;border-radius:50%;width:40px;height:40px;background-color:#9abcff;font-weight:500;font-family:Lexend Deca,sans-serif;color:#16181d;font-size:16px;text-transform:uppercase}.au-header__hamburger{cursor:pointer}@media (min-width: 1024px){.au-header__hamburger{display:none}}
|