@economic/taco 1.23.0 → 1.24.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Header/Header.d.ts +28 -0
- package/dist/components/Header/components/AgreementSelector.d.ts +18 -0
- package/dist/components/Header/components/Agreements/AgreementDetails.d.ts +20 -0
- package/dist/components/Header/components/Button.d.ts +11 -0
- package/dist/components/Header/components/Link.d.ts +21 -0
- package/dist/components/Header/components/Logo.d.ts +3 -0
- package/dist/components/Header/components/MenuButton.d.ts +5 -0
- package/dist/components/Header/components/PrimaryNavigation.d.ts +3 -0
- package/dist/components/Header/components/SecondaryNavigation.d.ts +3 -0
- package/dist/components/Layout/Layout.d.ts +16 -0
- package/dist/components/Layout/components/Content.d.ts +3 -0
- package/dist/components/Layout/components/Context.d.ts +6 -0
- package/dist/components/Layout/components/Page.d.ts +3 -0
- package/dist/components/Layout/components/Sidebar.d.ts +3 -0
- package/dist/components/Layout/components/Top.d.ts +7 -0
- package/dist/components/Navigation2/Navigation2.d.ts +17 -0
- package/dist/components/Navigation2/components/Content.d.ts +3 -0
- package/dist/components/Navigation2/components/Group.d.ts +9 -0
- package/dist/components/Navigation2/components/Link.d.ts +24 -0
- package/dist/components/Navigation2/components/Section.d.ts +7 -0
- package/dist/components/Provider/Localization.d.ts +27 -17
- package/dist/esm/packages/taco/src/components/Card/Card.js +1 -1
- package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/Header.js +30 -0
- package/dist/esm/packages/taco/src/components/Header/Header.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +134 -0
- package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/Agreements/AgreementDetails.js +73 -0
- package/dist/esm/packages/taco/src/components/Header/components/Agreements/AgreementDetails.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/Button.js +23 -0
- package/dist/esm/packages/taco/src/components/Header/components/Button.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/Link.js +48 -0
- package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/Logo.js +73 -0
- package/dist/esm/packages/taco/src/components/Header/components/Logo.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js +16 -0
- package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js +134 -0
- package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js +13 -0
- package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Layout/Layout.js +28 -0
- package/dist/esm/packages/taco/src/components/Layout/Layout.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Content.js +13 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Content.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Context.js +9 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Context.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Page.js +13 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Page.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js +83 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Top.js +15 -0
- package/dist/esm/packages/taco/src/components/Layout/components/Top.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Navigation2/Navigation2.js +31 -0
- package/dist/esm/packages/taco/src/components/Navigation2/Navigation2.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Content.js +19 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Content.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Group.js +46 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Group.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js +71 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js +24 -0
- package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +18 -11
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +4 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js +3 -1
- package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useIsLargeScreen.js +6 -0
- package/dist/esm/packages/taco/src/hooks/useIsLargeScreen.js.map +1 -0
- package/dist/esm/packages/taco/src/hooks/useMatchMedia.js +18 -0
- package/dist/esm/packages/taco/src/hooks/useMatchMedia.js.map +1 -0
- package/dist/esm/packages/taco/src/index.js +9 -0
- package/dist/esm/packages/taco/src/index.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Collection/Collection.js +3 -0
- package/dist/esm/packages/taco/src/primitives/Collection/Collection.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js +4 -1
- package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js +1 -0
- package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js.map +1 -1
- package/dist/hooks/useIsLargeScreen.d.ts +1 -0
- package/dist/hooks/useMatchMedia.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/taco.cjs.development.js +809 -17
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/package.json +2 -2
- package/types.json +538 -101
- package/dist/components/Accordion/Accordion.stories.d.ts +0 -26
- package/dist/components/Alert/Alert.stories.d.ts +0 -36
- package/dist/components/AlertDialog/AlertDialog.stories.d.ts +0 -10
- package/dist/components/Backdrop/Backdrop.stories.d.ts +0 -7
- package/dist/components/BadgeIcon/BadgeIcon.stories.d.ts +0 -12
- package/dist/components/Banner/Banner.stories.d.ts +0 -5
- package/dist/components/Button/Button.stories.d.ts +0 -77
- package/dist/components/Calendar/Calendar.stories.d.ts +0 -13
- package/dist/components/Card/Card.stories.d.ts +0 -12
- package/dist/components/Datepicker/Datepicker.stories.d.ts +0 -43
- package/dist/components/Dialog/Dialog.stories.d.ts +0 -57
- package/dist/components/Field/Field.stories.d.ts +0 -14
- package/dist/components/Form/Form.stories.d.ts +0 -14
- package/dist/components/Group/Group.stories.d.ts +0 -23
- package/dist/components/Hanger/Hanger.stories.d.ts +0 -11
- package/dist/components/HoverCard/HoverCard.stories.d.ts +0 -16
- package/dist/components/Icon/Icon.stories.d.ts +0 -8
- package/dist/components/IconButton/IconButton.stories.d.ts +0 -12
- package/dist/components/Input/Input.stories.d.ts +0 -17
- package/dist/components/Listbox/Listbox.stories.d.ts +0 -44
- package/dist/components/Menu/Menu.stories.d.ts +0 -73
- package/dist/components/Navigation/Navigation.stories.d.ts +0 -7
- package/dist/components/Pagination/Pagination.stories.d.ts +0 -28
- package/dist/components/Popover/Popover.stories.d.ts +0 -29
- package/dist/components/Progress/Progress.stories.d.ts +0 -9
- package/dist/components/RadioGroup/RadioGroup.stories.d.ts +0 -49
- package/dist/components/ScrollArea/ScrollArea.stories.d.ts +0 -8
- package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -38
- package/dist/components/Select/Select.stories.d.ts +0 -35
- package/dist/components/Select2/Select2.stories.d.ts +0 -57
- package/dist/components/Spinner/Spinner.stories.d.ts +0 -15
- package/dist/components/Table/Table.stories.d.ts +0 -32
- package/dist/components/Table2/Table2.stories.d.ts +0 -48
- package/dist/components/Tabs/Tabs.stories.d.ts +0 -19
- package/dist/components/Tag/Tag.stories.d.ts +0 -9
- package/dist/components/Textarea/Textarea.stories.d.ts +0 -40
- package/dist/components/Toast/Toast.stories.d.ts +0 -12
- package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -26
- package/dist/components/Tour/Tour.stories.d.ts +0 -11
- package/dist/css/Typography.stories.d.ts +0 -6
- package/dist/hooks/useIsRefOverflowing.d.ts +0 -2
- package/dist/primitives/Collection/Collection.stories.d.ts +0 -8
- package/dist/primitives/Listbox2/Listbox2.stories.d.ts +0 -16
- package/dist/primitives/Sortable/Sortable.stories.d.ts +0 -14
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AgreementSelector.js","sources":["../../../../../../../../src/components/Header/components/AgreementSelector.tsx"],"sourcesContent":["import React from 'react';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as CollectionPrimitive from '../../../primitives/Collection/Collection';\nimport { Agreement, AgreementDetails } from './Agreements/AgreementDetails';\nimport { createCustomKeyboardEvent } from '../../../utils/input';\nimport { Icon } from '../../Icon/Icon';\nimport { SearchInput } from '../../SearchInput/SearchInput';\nimport { Button } from '../../Button/Button';\nimport { useLocalization } from '../../Provider/Localization';\n\nconst Container = props => {\n return (\n <div className=\"-ml-3 flex flex-shrink-0 flex-grow-0 items-center gap-2 xl:ml-auto xl:w-64 xl:pr-2\">\n <span className=\"hidden h-8 w-px flex-shrink-0 flex-grow-0 bg-white/[0.3] xl:flex\" />\n {props.children}\n </div>\n );\n};\n\nexport type AgreementDisplayProps = React.HTMLAttributes<HTMLDivElement> & {\n currentAgreement: Agreement;\n fallbackImageSrc: string;\n};\n\nexport function AgreementDisplay(props: AgreementDisplayProps) {\n const { currentAgreement, fallbackImageSrc } = props;\n\n return (\n <Container>\n <AgreementDetails\n {...currentAgreement}\n className=\"h-12 [&>span>span]:hidden xl:[&>span>span]:flex \"\n fallbackImageSrc={fallbackImageSrc}\n />\n </Container>\n );\n}\n\nexport type AgreementSelectorProps = AgreementDisplayProps & {\n agreements: Agreement[];\n filterAgreement: (agreement: Agreement, filter: (agreement: Agreement) => boolean) => void;\n filterClientAgreement: (agreement: Agreement, filter: (agreement: Agreement) => boolean) => void;\n onAddAgreement?: () => void;\n onChangeAgreement: (agreement: Agreement) => void;\n onLogout: () => void;\n open?: boolean;\n setOpen?: (open: boolean) => void;\n};\n\nexport function AgreementSelector(props: AgreementSelectorProps) {\n const {\n agreements,\n currentAgreement,\n fallbackImageSrc,\n filterAgreement = () => true,\n filterClientAgreement = () => true,\n onAddAgreement: handleAddAgreement,\n onChangeAgreement,\n onLogout: handleLogout,\n open: prop,\n setOpen: onChange,\n } = props;\n const { texts } = useLocalization();\n const collectionRef = React.useRef<CollectionPrimitive.CollectionRef | null>(null);\n const [open, setOpen] = useControllableState<boolean>({\n onChange,\n prop,\n });\n const [search, setSearch] = React.useState('');\n\n React.useEffect(() => {\n setSearch('');\n }, [open]);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp' || event.key === 'Enter') {\n event.preventDefault();\n collectionRef.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n }\n };\n\n const handleChangeAgreement = (agreement: Agreement) => {\n onChangeAgreement(agreement);\n setOpen(false);\n };\n\n return (\n <Container>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger className=\"xl:focus-visible:yt-focus-dark [&:focus-visible_img]:yt-focus-dark w-full rounded outline-none xl:[&:focus-visible_img]:shadow-none\">\n <AgreementDetails\n {...currentAgreement}\n className=\"h-12 flex-grow xl:hover:bg-white/[0.16] [&>span>span]:hidden xl:[&>span>span]:flex [[aria-current='true']>&]:bg-white/[0.16]\"\n fallbackImageSrc={fallbackImageSrc}>\n {agreements ? (\n <Icon\n className=\"ml-auto hidden flex-shrink-0 flex-grow-0 text-white xl:flex\"\n name={open ? 'chevron-up' : 'chevron-down'}\n />\n ) : null}\n </AgreementDetails>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Content className=\"z-[996] mt-2 flex h-[calc(100vh_-_theme(spacing.16))] w-64 flex-col gap-1 bg-blue-900\">\n <SearchInput\n autoFocus\n className=\"focus-visible:!yt-focus-dark mx-2 !border-transparent !bg-white/[0.08] !text-white hover:!bg-white/[0.16] hover:!shadow-none focus:!bg-white/[0.16] active:!bg-white/[0.16] [&+div>button]:!text-white\"\n onChange={event => setSearch(event.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={texts.header.search}\n />\n <CollectionPrimitive.Root\n querySelector=\"button\"\n className=\"-my-1 flex w-full flex-grow flex-col gap-1 overflow-auto px-2 py-1 outline-none\"\n ref={collectionRef}\n tabIndex={-1}>\n {agreements\n ?.filter(agreement => filterAgreement(agreement, filterBySearchValue(search)))\n .map(agreement => {\n const button = createAgreementButton(\n agreement,\n fallbackImageSrc,\n handleChangeAgreement,\n isCurrentAgreement(agreement, currentAgreement)\n );\n\n if (agreement.clients) {\n return (\n <span\n className=\"flex flex-col gap-px [&>*:first-child>span]:!rounded-t [&>*:last-child>span]:!rounded-b [&>*>span]:!rounded-none\"\n key={`${agreement.number}_${agreement.userId}_clients`}>\n {filterBySearchValue(search)(agreement) ? button : null}\n {agreement.clients\n .filter(agreement =>\n filterClientAgreement(agreement, filterBySearchValue(search))\n )\n .map(clientAgreement =>\n createAgreementButton(\n clientAgreement,\n fallbackImageSrc,\n handleChangeAgreement,\n isCurrentAgreement(clientAgreement, currentAgreement)\n )\n )}\n </span>\n );\n }\n\n return button;\n })}\n </CollectionPrimitive.Root>\n {handleAddAgreement ? (\n <Button\n className=\"focus-visible:!yt-focus-dark my-1 mx-2 !h-9 shrink-0 !bg-white/[0.08] !text-white hover:!bg-white/[0.16]\"\n onClick={handleAddAgreement}>\n {texts.header.addAgreement}\n </Button>\n ) : null}\n <hr className=\"my-0 h-px w-full bg-white/[0.08]\" />\n <a\n className=\"focus-visible:yt-focus-dark mx-2 mb-2 flex h-8 shrink-0 items-center justify-center rounded text-white hover:cursor-pointer hover:text-white hover:underline focus-visible:outline-none\"\n onClick={handleLogout}\n tabIndex={0}>\n {texts.header.logout}\n </a>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Root>\n </Container>\n );\n}\n\nconst filterBySearchValue = (search: string) => (agreement: Agreement) => {\n if (!search || !search.length) {\n return true;\n }\n\n const matchesAgreementNumber = String(agreement.number).indexOf(search) > -1;\n const matchesCompanyName = agreement.name.toLowerCase().indexOf(search.toLowerCase()) > -1;\n\n return matchesAgreementNumber || matchesCompanyName;\n};\n\nconst isCurrentAgreement = (agreement: Agreement, currentAgreement: Agreement) => {\n return agreement.number === currentAgreement.number && agreement.userId === currentAgreement.userId;\n};\n\nconst createAgreementButton = (\n agreement: Agreement,\n fallbackImageSrc: string,\n onChangeAgreement: (agreement: Agreement) => void,\n isCurrentAgreement = false\n) => (\n <button\n aria-current={isCurrentAgreement ? 'true' : undefined}\n className=\"focus:yt-focus-dark w-full rounded outline-none\"\n key={`${agreement.number}_${agreement.userId}`}\n onClick={() => onChangeAgreement(agreement)}\n onKeyDown={() => onChangeAgreement(agreement)}\n tabIndex={0}>\n <AgreementDetails\n {...agreement}\n className=\"h-14 bg-white/[0.08] xl:hover:bg-white/[0.16] [[aria-current='true']>&]:bg-white/[0.16]\"\n fallbackImageSrc={fallbackImageSrc}\n />\n </button>\n);\n"],"names":["Container","props","React","className","children","AgreementDisplay","currentAgreement","fallbackImageSrc","AgreementDetails","AgreementSelector","agreements","filterAgreement","filterClientAgreement","onAddAgreement","handleAddAgreement","onChangeAgreement","onLogout","handleLogout","open","prop","setOpen","onChange","texts","useLocalization","collectionRef","useRef","useControllableState","search","setSearch","useState","useEffect","handleKeyDown","event","key","preventDefault","current","dispatchEvent","createCustomKeyboardEvent","handleChangeAgreement","agreement","PopoverPrimitive","onOpenChange","Icon","name","SearchInput","autoFocus","target","value","onKeyDown","placeholder","header","CollectionPrimitive","querySelector","ref","tabIndex","filter","filterBySearchValue","map","button","createAgreementButton","isCurrentAgreement","clients","number","userId","clientAgreement","Button","onClick","addAgreement","logout","length","matchesAgreementNumber","String","indexOf","matchesCompanyName","toLowerCase","undefined"],"mappings":"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"}
|
package/dist/esm/packages/taco/src/components/Header/components/Agreements/AgreementDetails.js
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { Icon } from '../../../Icon/Icon.js';
|
4
|
+
import { Badge } from '../../../Badge/Badge.js';
|
5
|
+
|
6
|
+
const AgreementDetails = props => {
|
7
|
+
const {
|
8
|
+
children,
|
9
|
+
className: customClassName,
|
10
|
+
fallbackImageSrc,
|
11
|
+
...agreement
|
12
|
+
} = props;
|
13
|
+
const className = cn('w-full rounded flex w-full px-1.5 xl:px-2 gap-2 overflow-hidden text-left items-center', customClassName);
|
14
|
+
let badge;
|
15
|
+
if (agreement.isAdministrator) {
|
16
|
+
badge = /*#__PURE__*/React__default.createElement(Badge, {
|
17
|
+
color: "blue",
|
18
|
+
small: true,
|
19
|
+
className: "ml-2"
|
20
|
+
}, "Admin");
|
21
|
+
} else if (agreement.isDeveloper) {
|
22
|
+
badge = /*#__PURE__*/React__default.createElement(Badge, {
|
23
|
+
color: "blue",
|
24
|
+
small: true,
|
25
|
+
className: "ml-2"
|
26
|
+
}, "Developer");
|
27
|
+
}
|
28
|
+
return /*#__PURE__*/React__default.createElement("span", {
|
29
|
+
className: className
|
30
|
+
}, /*#__PURE__*/React__default.createElement(Image, {
|
31
|
+
fallbackSrc: fallbackImageSrc,
|
32
|
+
src: agreement.imageSrc,
|
33
|
+
title: `${agreement.name} - ${agreement.number} ${agreement.userId}`
|
34
|
+
}), /*#__PURE__*/React__default.createElement("span", {
|
35
|
+
className: "flex flex-col overflow-hidden"
|
36
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
37
|
+
className: "flex truncate text-white",
|
38
|
+
title: agreement.name
|
39
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
40
|
+
className: "truncate"
|
41
|
+
}, agreement.name), ' ', agreement.secure ? /*#__PURE__*/React__default.createElement(Icon, {
|
42
|
+
name: "secure-tick",
|
43
|
+
className: "ml-1 mt-0.5 mb-0.5 !h-4 !w-4 flex-shrink-0 flex-grow-0"
|
44
|
+
}) : null), /*#__PURE__*/React__default.createElement("span", {
|
45
|
+
className: "text-grey-100 whitespace-nowrap text-xs"
|
46
|
+
}, agreement.number, " ", agreement.userId, " ", badge)), children);
|
47
|
+
};
|
48
|
+
const Image = /*#__PURE__*/React__default.forwardRef(function AccountImage(props, ref) {
|
49
|
+
const {
|
50
|
+
src,
|
51
|
+
fallbackSrc,
|
52
|
+
...otherProps
|
53
|
+
} = props;
|
54
|
+
const [loaded, setLoaded] = React__default.useState(false);
|
55
|
+
const handleLoad = () => setLoaded(true);
|
56
|
+
const handleError = event => {
|
57
|
+
event.target.src = fallbackSrc;
|
58
|
+
};
|
59
|
+
const className = cn('h-9 w-9 rounded-full shrink-0 group-focus:yt-focus-dark xl:group-focus:shadow-none', {
|
60
|
+
visible: loaded
|
61
|
+
}, props.className);
|
62
|
+
return /*#__PURE__*/React__default.createElement("img", Object.assign({}, otherProps, {
|
63
|
+
className: className,
|
64
|
+
src: src,
|
65
|
+
onLoad: handleLoad,
|
66
|
+
onError: handleError,
|
67
|
+
alt: "Company logo",
|
68
|
+
ref: ref
|
69
|
+
}));
|
70
|
+
});
|
71
|
+
|
72
|
+
export { AgreementDetails };
|
73
|
+
//# sourceMappingURL=AgreementDetails.js.map
|
package/dist/esm/packages/taco/src/components/Header/components/Agreements/AgreementDetails.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AgreementDetails.js","sources":["../../../../../../../../../src/components/Header/components/Agreements/AgreementDetails.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Badge } from '../../../Badge/Badge';\nimport { Icon } from '../../../Icon/Icon';\n\nexport type Agreement = {\n adminAgreementNumber?: number;\n number: number;\n name: string;\n userId: string;\n clients?: Agreement[];\n favorite?: boolean;\n imageSrc?: string;\n isAdministrator?: boolean;\n isDeveloper?: boolean;\n statuses?: any[];\n secure: boolean;\n};\n\nexport type AgreementDetailsProps = Agreement & {\n children?: JSX.Element | null;\n className?: string;\n fallbackImageSrc: string;\n};\n\nexport const AgreementDetails = (props: AgreementDetailsProps) => {\n const { children, className: customClassName, fallbackImageSrc, ...agreement } = props;\n const className = cn(\n 'w-full rounded flex w-full px-1.5 xl:px-2 gap-2 overflow-hidden text-left items-center',\n customClassName\n );\n\n let badge;\n\n if (agreement.isAdministrator) {\n badge = (\n <Badge color=\"blue\" small className=\"ml-2\">\n Admin\n </Badge>\n );\n } else if (agreement.isDeveloper) {\n badge = (\n <Badge color=\"blue\" small className=\"ml-2\">\n Developer\n </Badge>\n );\n }\n\n return (\n <span className={className}>\n <Image\n fallbackSrc={fallbackImageSrc}\n src={agreement.imageSrc}\n title={`${agreement.name} - ${agreement.number} ${agreement.userId}`}\n />\n <span className=\"flex flex-col overflow-hidden\">\n <span className=\"flex truncate text-white\" title={agreement.name}>\n <span className=\"truncate\">{agreement.name}</span>{' '}\n {agreement.secure ? (\n <Icon name=\"secure-tick\" className=\"ml-1 mt-0.5 mb-0.5 !h-4 !w-4 flex-shrink-0 flex-grow-0\" />\n ) : null}\n </span>\n <span className=\"text-grey-100 whitespace-nowrap text-xs\">\n {agreement.number} {agreement.userId} {badge}\n </span>\n </span>\n {children}\n </span>\n );\n};\n\ntype ImageProps = React.ImgHTMLAttributes<HTMLImageElement> & { fallbackSrc: string };\n\nconst Image = React.forwardRef<HTMLImageElement, ImageProps>(function AccountImage(props, ref) {\n const { src, fallbackSrc, ...otherProps } = props;\n const [loaded, setLoaded] = React.useState(false);\n const handleLoad = () => setLoaded(true);\n const handleError = event => {\n event.target.src = fallbackSrc;\n };\n\n const className = cn(\n 'h-9 w-9 rounded-full shrink-0 group-focus:yt-focus-dark xl:group-focus:shadow-none',\n {\n visible: loaded,\n },\n props.className\n );\n\n return (\n <img\n {...otherProps}\n className={className}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n alt=\"Company logo\"\n ref={ref}\n />\n );\n});\n"],"names":["AgreementDetails","props","children","className","customClassName","fallbackImageSrc","agreement","cn","badge","isAdministrator","React","Badge","color","small","isDeveloper","Image","fallbackSrc","src","imageSrc","title","name","number","userId","secure","Icon","forwardRef","AccountImage","ref","otherProps","loaded","setLoaded","useState","handleLoad","handleError","event","target","visible","onLoad","onError","alt"],"mappings":";;;;;MAyBaA,gBAAgB,GAAIC,KAA4B;EACzD,MAAM;IAAEC,QAAQ;IAAEC,SAAS,EAAEC,eAAe;IAAEC,gBAAgB;IAAE,GAAGC;GAAW,GAAGL,KAAK;EACtF,MAAME,SAAS,GAAGI,EAAE,CAChB,wFAAwF,EACxFH,eAAe,CAClB;EAED,IAAII,KAAK;EAET,IAAIF,SAAS,CAACG,eAAe,EAAE;IAC3BD,KAAK,gBACDE,6BAACC,KAAK;MAACC,KAAK,EAAC,MAAM;MAACC,KAAK;MAACV,SAAS,EAAC;eAGvC;GACJ,MAAM,IAAIG,SAAS,CAACQ,WAAW,EAAE;IAC9BN,KAAK,gBACDE,6BAACC,KAAK;MAACC,KAAK,EAAC,MAAM;MAACC,KAAK;MAACV,SAAS,EAAC;mBAGvC;;EAGL,oBACIO;IAAMP,SAAS,EAAEA;kBACbO,6BAACK,KAAK;IACFC,WAAW,EAAEX,gBAAgB;IAC7BY,GAAG,EAAEX,SAAS,CAACY,QAAQ;IACvBC,KAAK,KAAKb,SAAS,CAACc,UAAUd,SAAS,CAACe,UAAUf,SAAS,CAACgB;IAC9D,eACFZ;IAAMP,SAAS,EAAC;kBACZO;IAAMP,SAAS,EAAC,0BAA0B;IAACgB,KAAK,EAAEb,SAAS,CAACc;kBACxDV;IAAMP,SAAS,EAAC;KAAYG,SAAS,CAACc,IAAI,CAAQ,EAAC,GAAG,EACrDd,SAAS,CAACiB,MAAM,gBACbb,6BAACc,IAAI;IAACJ,IAAI,EAAC,aAAa;IAACjB,SAAS,EAAC;IAA2D,GAC9F,IAAI,CACL,eACPO;IAAMP,SAAS,EAAC;KACXG,SAAS,CAACe,MAAM,OAAGf,SAAS,CAACgB,MAAM,OAAGd,KAAK,CACzC,CACJ,EACNN,QAAQ,CACN;AAEf;AAIA,MAAMa,KAAK,gBAAGL,cAAK,CAACe,UAAU,CAA+B,SAASC,YAAY,CAACzB,KAAK,EAAE0B,GAAG;EACzF,MAAM;IAAEV,GAAG;IAAED,WAAW;IAAE,GAAGY;GAAY,GAAG3B,KAAK;EACjD,MAAM,CAAC4B,MAAM,EAAEC,SAAS,CAAC,GAAGpB,cAAK,CAACqB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMC,UAAU,GAAG,MAAMF,SAAS,CAAC,IAAI,CAAC;EACxC,MAAMG,WAAW,GAAGC,KAAK;IACrBA,KAAK,CAACC,MAAM,CAAClB,GAAG,GAAGD,WAAW;GACjC;EAED,MAAMb,SAAS,GAAGI,EAAE,CAChB,oFAAoF,EACpF;IACI6B,OAAO,EAAEP;GACZ,EACD5B,KAAK,CAACE,SAAS,CAClB;EAED,oBACIO,sDACQkB,UAAU;IACdzB,SAAS,EAAEA,SAAS;IACpBc,GAAG,EAAEA,GAAG;IACRoB,MAAM,EAAEL,UAAU;IAClBM,OAAO,EAAEL,WAAW;IACpBM,GAAG,EAAC,cAAc;IAClBZ,GAAG,EAAEA;KACP;AAEV,CAAC,CAAC;;;;"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { IconButton } from '../../IconButton/IconButton.js';
|
4
|
+
|
5
|
+
const Button = /*#__PURE__*/React__default.forwardRef(function Button(props, ref) {
|
6
|
+
const {
|
7
|
+
as = 'li',
|
8
|
+
...attributes
|
9
|
+
} = props;
|
10
|
+
const className = cn(getButtonClasses(), props.className);
|
11
|
+
const Tag = as;
|
12
|
+
return /*#__PURE__*/React__default.createElement(Tag, {
|
13
|
+
className: "contents"
|
14
|
+
}, /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, attributes, {
|
15
|
+
appearance: "discrete",
|
16
|
+
className: className,
|
17
|
+
ref: ref
|
18
|
+
})));
|
19
|
+
});
|
20
|
+
const getButtonClasses = () => cn('!h-9 !w-9 flex-shrink-0 flex-grow-0 cursor-pointer !rounded-full relative', 'focus:!outline-none focus:!shadow-none focus-visible:!yt-focus-dark ', 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]', '!text-white hover:text-white focus:text-white');
|
21
|
+
|
22
|
+
export { Button, getButtonClasses };
|
23
|
+
//# sourceMappingURL=Button.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../../../../../src/components/Header/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { IconButton, IconButtonProps } from '../../IconButton/IconButton';\n\nexport type ButtonProps = Omit<IconButtonProps, 'appearance' | 'aria-label'> & {\n as?: string;\n 'aria-label': string;\n};\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(props, ref) {\n const { as = 'li', ...attributes } = props;\n const className = cn(getButtonClasses(), props.className);\n const Tag = as as any;\n\n return (\n <Tag className=\"contents\">\n <IconButton {...attributes} appearance=\"discrete\" className={className} ref={ref} />\n </Tag>\n );\n});\n\nexport const getButtonClasses = () =>\n cn(\n '!h-9 !w-9 flex-shrink-0 flex-grow-0 cursor-pointer !rounded-full relative',\n 'focus:!outline-none focus:!shadow-none focus-visible:!yt-focus-dark ',\n 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]',\n '!text-white hover:text-white focus:text-white'\n );\n"],"names":["Button","React","forwardRef","props","ref","as","attributes","className","cn","getButtonClasses","Tag","IconButton","appearance"],"mappings":";;;;MASaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAiC,SAASF,MAAM,CAACG,KAAK,EAAEC,GAAG;EAC7F,MAAM;IAAEC,EAAE,GAAG,IAAI;IAAE,GAAGC;GAAY,GAAGH,KAAK;EAC1C,MAAMI,SAAS,GAAGC,EAAE,CAACC,gBAAgB,EAAE,EAAEN,KAAK,CAACI,SAAS,CAAC;EACzD,MAAMG,GAAG,GAAGL,EAAS;EAErB,oBACIJ,6BAACS,GAAG;IAACH,SAAS,EAAC;kBACXN,6BAACU,UAAU,oBAAKL,UAAU;IAAEM,UAAU,EAAC,UAAU;IAACL,SAAS,EAAEA,SAAS;IAAEH,GAAG,EAAEA;KAAO,CAClF;AAEd,CAAC;MAEYK,gBAAgB,GAAG,MAC5BD,EAAE,CACE,2EAA2E,EAC3E,sEAAsE,EACtE,2FAA2F,EAC3F,+CAA+C;;;;"}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { Icon } from '../../Icon/Icon.js';
|
4
|
+
import { Badge } from '../../Badge/Badge.js';
|
5
|
+
import { Tooltip } from '../../Tooltip/Tooltip.js';
|
6
|
+
import { useLocalization } from '../../Provider/Localization.js';
|
7
|
+
|
8
|
+
const Link = /*#__PURE__*/React__default.forwardRef(function Link(props, ref) {
|
9
|
+
const {
|
10
|
+
as = 'li',
|
11
|
+
children,
|
12
|
+
icon,
|
13
|
+
isNew,
|
14
|
+
tooltip,
|
15
|
+
...otherProps
|
16
|
+
} = props;
|
17
|
+
const {
|
18
|
+
texts
|
19
|
+
} = useLocalization();
|
20
|
+
const Tag = as;
|
21
|
+
const className = cn(getLinkClasses(icon), 'relative', props.className);
|
22
|
+
let link = /*#__PURE__*/React__default.createElement("a", Object.assign({}, otherProps, {
|
23
|
+
className: className,
|
24
|
+
ref: ref,
|
25
|
+
tabIndex: 0
|
26
|
+
}), icon ? /*#__PURE__*/React__default.createElement(Icon, {
|
27
|
+
name: icon
|
28
|
+
}) : null, children, isNew ? /*#__PURE__*/React__default.createElement(Badge, {
|
29
|
+
color: "blue",
|
30
|
+
small: true,
|
31
|
+
className: "absolute top-0 right-0 -mt-1.5 -mr-2.5 !h-3 !px-0.5 text-[0.55rem] font-normal"
|
32
|
+
}, texts.header.new) : null);
|
33
|
+
if (tooltip) {
|
34
|
+
link = /*#__PURE__*/React__default.createElement(Tooltip, {
|
35
|
+
title: tooltip
|
36
|
+
}, link);
|
37
|
+
}
|
38
|
+
return /*#__PURE__*/React__default.createElement(Tag, {
|
39
|
+
className: "contents"
|
40
|
+
}, link);
|
41
|
+
});
|
42
|
+
const getLinkClasses = (icon = undefined) => cn('flex h-8 flex-shrink-0 flex-grow-0 cursor-pointer items-center justify-center ', 'focus:!shadow-none focus:!outline-none focus-visible:!yt-focus-dark', 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]', '!text-white hover:text-white focus:text-white', {
|
43
|
+
'!rounded-full !h-9 !w-9': icon,
|
44
|
+
'whitespace-nowrap px-3 rounded text-sm hidden lg:flex': !icon
|
45
|
+
});
|
46
|
+
|
47
|
+
export { Link, getLinkClasses };
|
48
|
+
//# sourceMappingURL=Link.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Link.js","sources":["../../../../../../../../src/components/Header/components/Link.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName } from '../../Icon/Icon';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { Badge } from '../../Badge/Badge';\nimport { useLocalization } from '../../Provider/Localization';\n\nexport type BaseLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & {\n as?: string;\n tooltip?: string;\n};\n\ninterface LinkPropsWithoutIcon extends BaseLinkProps {\n children: JSX.Element | string;\n icon?: never;\n isNew?: never;\n}\n\ninterface LinkPropsWithIcon extends Omit<BaseLinkProps, 'aria-label'> {\n 'aria-label': string;\n children?: never;\n icon: IconName;\n isNew?: boolean;\n}\n\nexport type LinkProps = LinkPropsWithoutIcon | LinkPropsWithIcon;\n\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {\n const { as = 'li', children, icon, isNew, tooltip, ...otherProps } = props;\n const { texts } = useLocalization();\n const Tag = as as any;\n const className = cn(getLinkClasses(icon), 'relative', props.className);\n\n let link = (\n <a {...otherProps} className={className} ref={ref} tabIndex={0}>\n {icon ? <Icon name={icon} /> : null}\n {children}\n {isNew ? (\n <Badge\n color=\"blue\"\n small\n className=\"absolute top-0 right-0 -mt-1.5 -mr-2.5 !h-3 !px-0.5 text-[0.55rem] font-normal\">\n {texts.header.new}\n </Badge>\n ) : null}\n </a>\n );\n\n if (tooltip) {\n link = <Tooltip title={tooltip}>{link}</Tooltip>;\n }\n\n return <Tag className=\"contents\">{link}</Tag>;\n});\n\nexport const getLinkClasses = (icon: IconName | undefined = undefined) =>\n cn(\n 'flex h-8 flex-shrink-0 flex-grow-0 cursor-pointer items-center justify-center ',\n 'focus:!shadow-none focus:!outline-none focus-visible:!yt-focus-dark',\n 'bg-transparent hover:bg-white/[.08] focus:bg-white/[.08] aria-current-page:bg-white/[.08]',\n '!text-white hover:text-white focus:text-white',\n {\n '!rounded-full !h-9 !w-9': icon,\n 'whitespace-nowrap px-3 rounded text-sm hidden lg:flex': !icon,\n }\n );\n"],"names":["Link","React","forwardRef","props","ref","as","children","icon","isNew","tooltip","otherProps","texts","useLocalization","Tag","className","cn","getLinkClasses","link","tabIndex","Icon","name","Badge","color","small","header","new","Tooltip","title","undefined"],"mappings":";;;;;;;MA2BaA,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAA+B,SAASF,IAAI,CAACG,KAAK,EAAEC,GAAG;EACvF,MAAM;IAAEC,EAAE,GAAG,IAAI;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,KAAK;IAAEC,OAAO;IAAE,GAAGC;GAAY,GAAGP,KAAK;EAC1E,MAAM;IAAEQ;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,GAAG,GAAGR,EAAS;EACrB,MAAMS,SAAS,GAAGC,EAAE,CAACC,cAAc,CAACT,IAAI,CAAC,EAAE,UAAU,EAAEJ,KAAK,CAACW,SAAS,CAAC;EAEvE,IAAIG,IAAI,gBACJhB,oDAAOS,UAAU;IAAEI,SAAS,EAAEA,SAAS;IAAEV,GAAG,EAAEA,GAAG;IAAEc,QAAQ,EAAE;MACxDX,IAAI,gBAAGN,6BAACkB,IAAI;IAACC,IAAI,EAAEb;IAAQ,GAAG,IAAI,EAClCD,QAAQ,EACRE,KAAK,gBACFP,6BAACoB,KAAK;IACFC,KAAK,EAAC,MAAM;IACZC,KAAK;IACLT,SAAS,EAAC;KACTH,KAAK,CAACa,MAAM,CAACC,GAAG,CACb,GACR,IAAI,CAEf;EAED,IAAIhB,OAAO,EAAE;IACTQ,IAAI,gBAAGhB,6BAACyB,OAAO;MAACC,KAAK,EAAElB;OAAUQ,IAAI,CAAW;;EAGpD,oBAAOhB,6BAACY,GAAG;IAACC,SAAS,EAAC;KAAYG,IAAI,CAAO;AACjD,CAAC;MAEYD,cAAc,GAAG,CAACT,OAA6BqB,SAAS,KACjEb,EAAE,CACE,gFAAgF,EAChF,qEAAqE,EACrE,2FAA2F,EAC3F,+CAA+C,EAC/C;EACI,yBAAyB,EAAER,IAAI;EAC/B,uDAAuD,EAAE,CAACA;CAC7D;;;;"}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
|
4
|
+
const Logo = /*#__PURE__*/React__default.forwardRef(function Logo(props, ref) {
|
5
|
+
const className = cn('-mr-[156px] xs:-mr-14 md:!mr-0 h-9 shrink-0 w-[180px]', props.className);
|
6
|
+
return /*#__PURE__*/React__default.createElement("svg", Object.assign({}, props, {
|
7
|
+
className: className,
|
8
|
+
ref: ref,
|
9
|
+
viewBox: "0 0 127 13",
|
10
|
+
xmlns: "http://www.w3.org/2000/svg"
|
11
|
+
}), /*#__PURE__*/React__default.createElement("g", {
|
12
|
+
className: "fill-white"
|
13
|
+
}, /*#__PURE__*/React__default.createElement("path", {
|
14
|
+
className: "fill-white",
|
15
|
+
d: "M5.716016 1.34924242c3.029712.25015152 6.374384 1.74121213 8.2804 3.86060606 2.4384 2.71227273 1.603248 5.42454542-1.877568 6.05681822-3.480816.6322727-8.2804-1.0498485-10.720832-3.76212125C-.471424 5.42848485-.41656 3.35242424 1.27 2.2080303l9.67232 6.92742425-5.226304-7.78621213z",
|
16
|
+
fillRule: "nonzero"
|
17
|
+
}), /*#__PURE__*/React__default.createElement("g", {
|
18
|
+
className: "hidden md:flex"
|
19
|
+
}, /*#__PURE__*/React__default.createElement("path", {
|
20
|
+
d: "M53.67528 11.2509091l-1.2192-4.72727274c-.176784-.56333333-.24384-1.12666666-.36576-1.6880303h-.026416c-.107696.57515152-.148336 1.13848485-.308864 1.71363636l-1.22936 4.70954548h-2.101088l2.822448-9.87409093h1.647952l2.942336 9.86424243-2.162048.0019697z",
|
21
|
+
fillRule: "nonzero"
|
22
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
23
|
+
d: "M21.553424 1.38469697l1.2192 4.72727273c.174752.56333333.241808 1.12469697.363728 1.6880303h.026416c.107696-.57515152.148336-1.13848485.310896-1.71363636l1.2192-4.70954546h2.105152L23.9776 11.2410606h-1.64592l-2.938272-9.85636363h2.160016z",
|
24
|
+
fillRule: "nonzero"
|
25
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
26
|
+
fillRule: "nonzero",
|
27
|
+
d: "M28.313888 1.38666667h2.01168v9.86424243h-2.01168z"
|
28
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
29
|
+
fillRule: "nonzero",
|
30
|
+
d: "M41.694608 1.38666667l.983488 5.82045454h.026416l.808736-5.82045454h2.700528l1.0668 9.86424243h-2.064512l-.485648-7.10469698h-.028448l-.323088 2.43257576-.865632 4.67212122h-1.550416l-.98552-4.72333334L40.64 4.32939394v-.18318182h-.026416l-.296672 7.10469698h-2.160016l.890016-9.86424243z"
|
31
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
32
|
+
d: "M35.310064 1.38469697c-.3577988.27917284-.6303655.64756811-.788416 1.06560606-.526288 1.22909091.036576 2.16666667.534416 3.00575758.073152.12409091.148336.24818181.217424.37227272 1.085088 1.80424243 1.515872 3.13378788.705104 5.02863637-.056896.1339394-.191008.3939394-.191008.3939394h-2.424176c.3204254-.2482168.5741848-.5678542.739648-.9316667.556768-1.30196967-.099568-2.49166664-.735584-3.64393937-.764032-1.37878788-1.552448-2.81863636-.715264-4.78045455.079248-.18712121.254-.50424242.254-.50424242l2.403856-.00590909z",
|
33
|
+
fillRule: "nonzero"
|
34
|
+
}))), /*#__PURE__*/React__default.createElement("g", {
|
35
|
+
className: "xs:flex xs:-translate-x-[40px] hidden md:!translate-x-0"
|
36
|
+
}, /*#__PURE__*/React__default.createElement("path", {
|
37
|
+
className: "stroke-white",
|
38
|
+
d: "M61.496448 0v12.8680303",
|
39
|
+
strokeWidth: "1.68"
|
40
|
+
}), /*#__PURE__*/React__default.createElement("g", {
|
41
|
+
className: "fill-white"
|
42
|
+
}, /*#__PURE__*/React__default.createElement("path", {
|
43
|
+
d: "M70.841616 9.70863636c-.999744 0-1.7888373-.29479798-2.36728-.88439394-.5784427-.58959596-.867664-1.40964646-.867664-2.46015151 0-1.05707071.2709333-1.89681818.8128-2.51924243.5304376-.61728629 1.3256457-.96197654 2.15392-.93363636.7626734-.03509605 1.5014967.26264579 2.013712.81151515.4944533.53969697.7410027 1.25272728.739648 2.13909091v.62833334h-4.659376c.022352.77015151.221488 1.35318181.6096 1.7530303.388112.39984848.916432.59090909 1.607312.59090909.743701-.00293405 1.4788698-.15377248 2.160016-.44318182v.88636364c-.3298144.14174433-.6736336.25063692-1.02616.325-.3855929.07188992-.7778273.1048941-1.170432.09848485m-.27432-5.95242425c-.4900374-.02138848-.9649513.16736328-1.298448.51606061-.3477231.40033357-.5485505.90121019-.570992 1.42409091h3.53568c0-.62636364-.14224-1.1069697-.430784-1.43984849-.3103282-.34233825-.7661196-.52691285-1.235456-.50030303",
|
44
|
+
fillRule: "nonzero"
|
45
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
46
|
+
d: "M75.053952 6.25575758c-.0151689-.21657791.0536783-.43083638.19304-.60075758.1381463-.1429001.3347885-.21871211.536448-.20681818.2081607-.01140173.4114497.0638378.5588.20681818.2680858.35762602.2680858.84191943 0 1.19954545-.3018073.26987298-.7638609.27916874-1.07696.02166667-.1529999-.17086259-.2265151-.39533511-.2032-.62045454",
|
47
|
+
fillRule: "nonzero"
|
48
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
49
|
+
d: "M81.586832 9.70863636c-.979424 0-1.73736-.29217171-2.273808-.87651515-.536448-.58434343-.8073813-1.41095959-.8128-2.47984848 0-1.09777778.2709333-1.94540404.8128-2.54287879.5418667-.59747475 1.318768-.89686869 2.330704-.89818182.3279782-.00003668.654999.03430434.97536.10242424.2639542.04817256.5206342.12824173.764032.23833334l-.31496.845c-.2397537-.0929503-.4871838-.16608946-.739648-.21863637-.2330197-.05435362-.4715521-.08342113-.7112-.08666666-1.373632 0-2.060448.84959596-2.060448 2.54878788 0 .80494949.1673013 1.42343434.501904 1.85545454.33528.42939394.83312.64606061 1.491488.64606061.5966181-.00678768 1.1861142-.12655871 1.735328-.35257576v.87848485c-.5339642.24467285-1.120715.3615322-1.710944.34075757",
|
50
|
+
fillRule: "nonzero"
|
51
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
52
|
+
d: "M90.690192 6.30893939c0 1.06757576-.278384 1.90207071-.835152 2.50348485-.556768.60141414-1.3241867.90146465-2.302256.90015152-.5660565.00980534-1.1238362-.13269357-1.611376-.41166667-.4744234-.28111893-.8520726-.69243374-1.085088-1.18181818-.2674171-.5661279-.3987341-1.18372355-.384048-1.80621212 0-1.06888889.2756747-1.90207071.827024-2.49954546.5513493-.59747474 1.316736-.89555555 2.29616-.89424242.8559447-.03726298 1.6841715.29875604 2.257552.91590909.556768.61060606.8358293 1.43656566.837184 2.47787879m-5.155184 0c0 .83777778.17272 1.47595959.51816 1.91454545.34544.43858586.85344.65787879 1.524.65787879s1.1799147-.21863636 1.528064-.65590909.522224-1.07611111.522224-1.91651515c0-.83515152-.1740747-1.46873738-.522224-1.90075758-.3481493-.4320202-.861568-.64868687-1.540256-.65-.67056 0-1.176528.21469697-1.517904.64015152-.341376.42545454-.512064 1.06363636-.512064 1.91060606",
|
53
|
+
fillRule: "nonzero"
|
54
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
55
|
+
d: "M96.989392 9.58848485V5.34575758c0-.53444445-.1253067-.9329798-.37592-1.19560606-.251968-.2639394-.644144-.3939394-1.180592-.3939394-.707136 0-1.225296.18580808-1.55448.55742424-.329184.37161617-.493776.98419192-.493776 1.83772728v3.43909091h-1.02616V3.03136364h.83312l.168656.89621212h.048768c.213947-.32669621.5199877-.58712571.881888-.75045455.3956439-.18075251.8285923-.27169306 1.265936-.26590909.8128 0 1.4257867.19040404 1.83896.57121212.4131733.38080808.6163733.99010101.6096 1.82787879v4.27818182h-1.016z",
|
56
|
+
fillRule: "nonzero"
|
57
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
58
|
+
d: "M105.759504 6.30893939c0 1.06757576-.277707 1.90207071-.83312 2.50348485-.555413.60141414-1.322832.90146465-2.302256.90015152-.566147.01053143-1.124127-.1320188-1.611376-.41166667-.474546-.2815508-.852738-.69268701-1.08712-1.18181818-.2666505-.56630799-.397268-1.18388155-.382016-1.80621212 0-1.06888889.2756747-1.90207071.827024-2.49954546.551349-.59747474 1.316736-.89555555 2.29616-.89424242.948267 0 1.700107.30530303 2.25552.91590909.555413.61060606.834475 1.43525253.837184 2.47393939m-5.155184 0c0 .83777778.17272 1.4759596.51816 1.91454546.34544.43924242.855472.65787879 1.526032.65787879.589088.03526465 1.159066-.20939357 1.528064-.65590909.348149-.43727273.521547-1.07611112.520192-1.91651516-.001355-.84040404-.174752-1.4739899-.520192-1.90075757-.349504-.43333334-.861568-.65-1.540256-.65-.678688 0-1.17856.21469697-1.519936.64015151-.341376.42545455-.512064 1.06363637-.512064 1.91060606",
|
59
|
+
fillRule: "nonzero"
|
60
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
61
|
+
d: "M116.1796 9.58848485V5.32409091c0-.52525253-.115147-.91919192-.34544-1.18181818-.229616-.26-.58928-.3939394-1.074928-.3939394-.635339 0-1.109472.1779293-1.4224.53378788-.312928.35585859-.465328.90212121-.4572 1.63878788v3.66166667h-1.016V5.32409091c0-.52525253-.115824-.91919192-.347472-1.18181818-.229616-.26-.58928-.3939394-1.078992-.3939394-.642112 0-1.113536.1969697-1.410208.55939394-.296672.36242425-.449072.98484849-.449072 1.83575758v3.43909091h-1.016V3.03136364h.83312l.166624.89621212h.0508c.192326-.31859024.474248-.57752095.8128-.74651515.36534-.18279258.771528-.27547583 1.182624-.26984849 1.05664 0 1.748197.3709596 2.074672 1.11287879h.048768c.20551-.34688729.509496-.62924665.875792-.81348485.403616-.20402984.853472-.30695163 1.308608-.29939394.765387 0 1.338411.19040404 1.719072.57121212.380661.38080808.570992.99010101.570992 1.82787879v4.27818182h-1.02616z",
|
62
|
+
fillRule: "nonzero"
|
63
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
64
|
+
d: "M119.16664 1.25272727c-.016875-.18221767.045768-.36295537.17272-.49833333.243232-.21393452.614272-.21393452.857504 0 .129279.13353172.194239.31385023.178816.49636364.015568.18371514-.049334.36530074-.178816.50030303-.240531.22061195-.616973.22061195-.857504 0-.125769-.13683457-.188192-.31765204-.17272-.50030303v.00196969zm1.111504 8.33378788h-1.02616V3.03136364h1.02616v6.55515151z",
|
65
|
+
fillRule: "nonzero"
|
66
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
67
|
+
d: "M125.091952 9.70863636c-.979424 0-1.738037-.29217171-2.27584-.87651515-.537803-.58434343-.808736-1.41095959-.8128-2.47984848 0-1.09777778.270933-1.94540404.8128-2.54287879.541867-.59747475 1.318768-.89686869 2.330704-.89818182.327978-.00003668.654999.03430434.97536.10242424.264596.04821437.521943.12827865.766064.23833334l-.31496.845c-.239852-.09267891-.487258-.16581103-.739648-.21863637-.233047-.05421-.471563-.08327549-.7112-.08666666-1.373632 0-2.061125.84959596-2.06248 2.54878788 0 .80494949.167979 1.42343434.503936 1.85545454.33528.42939394.83312.64606061 1.491488.64606061.595961-.00679074 1.184792-.12656681 1.733296-.35257576v.87848485c-.533172.24487796-1.119318.3617557-1.708912.34075757",
|
68
|
+
fillRule: "nonzero"
|
69
|
+
}))));
|
70
|
+
});
|
71
|
+
|
72
|
+
export { Logo };
|
73
|
+
//# sourceMappingURL=Logo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Logo.js","sources":["../../../../../../../../src/components/Header/components/Logo.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nexport type LogoProps = React.SVGAttributes<SVGSVGElement>;\n\nexport const Logo = React.forwardRef<SVGSVGElement, LogoProps>(function Logo(props, ref) {\n const className = cn('-mr-[156px] xs:-mr-14 md:!mr-0 h-9 shrink-0 w-[180px]', props.className);\n\n return (\n <svg {...props} className={className} ref={ref} viewBox=\"0 0 127 13\" xmlns=\"http://www.w3.org/2000/svg\">\n <g className=\"fill-white\">\n <path\n className=\"fill-white\"\n d=\"M5.716016 1.34924242c3.029712.25015152 6.374384 1.74121213 8.2804 3.86060606 2.4384 2.71227273 1.603248 5.42454542-1.877568 6.05681822-3.480816.6322727-8.2804-1.0498485-10.720832-3.76212125C-.471424 5.42848485-.41656 3.35242424 1.27 2.2080303l9.67232 6.92742425-5.226304-7.78621213z\"\n fillRule=\"nonzero\"\n />\n <g className=\"hidden md:flex\">\n <path\n d=\"M53.67528 11.2509091l-1.2192-4.72727274c-.176784-.56333333-.24384-1.12666666-.36576-1.6880303h-.026416c-.107696.57515152-.148336 1.13848485-.308864 1.71363636l-1.22936 4.70954548h-2.101088l2.822448-9.87409093h1.647952l2.942336 9.86424243-2.162048.0019697z\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M21.553424 1.38469697l1.2192 4.72727273c.174752.56333333.241808 1.12469697.363728 1.6880303h.026416c.107696-.57515152.148336-1.13848485.310896-1.71363636l1.2192-4.70954546h2.105152L23.9776 11.2410606h-1.64592l-2.938272-9.85636363h2.160016z\"\n fillRule=\"nonzero\"\n />\n <path fillRule=\"nonzero\" d=\"M28.313888 1.38666667h2.01168v9.86424243h-2.01168z\" />\n <path\n fillRule=\"nonzero\"\n d=\"M41.694608 1.38666667l.983488 5.82045454h.026416l.808736-5.82045454h2.700528l1.0668 9.86424243h-2.064512l-.485648-7.10469698h-.028448l-.323088 2.43257576-.865632 4.67212122h-1.550416l-.98552-4.72333334L40.64 4.32939394v-.18318182h-.026416l-.296672 7.10469698h-2.160016l.890016-9.86424243z\"\n />\n <path\n d=\"M35.310064 1.38469697c-.3577988.27917284-.6303655.64756811-.788416 1.06560606-.526288 1.22909091.036576 2.16666667.534416 3.00575758.073152.12409091.148336.24818181.217424.37227272 1.085088 1.80424243 1.515872 3.13378788.705104 5.02863637-.056896.1339394-.191008.3939394-.191008.3939394h-2.424176c.3204254-.2482168.5741848-.5678542.739648-.9316667.556768-1.30196967-.099568-2.49166664-.735584-3.64393937-.764032-1.37878788-1.552448-2.81863636-.715264-4.78045455.079248-.18712121.254-.50424242.254-.50424242l2.403856-.00590909z\"\n fillRule=\"nonzero\"\n />\n </g>\n </g>\n <g className=\"xs:flex xs:-translate-x-[40px] hidden md:!translate-x-0\">\n <path className=\"stroke-white\" d=\"M61.496448 0v12.8680303\" strokeWidth=\"1.68\" />\n <g className=\"fill-white\">\n <path\n d=\"M70.841616 9.70863636c-.999744 0-1.7888373-.29479798-2.36728-.88439394-.5784427-.58959596-.867664-1.40964646-.867664-2.46015151 0-1.05707071.2709333-1.89681818.8128-2.51924243.5304376-.61728629 1.3256457-.96197654 2.15392-.93363636.7626734-.03509605 1.5014967.26264579 2.013712.81151515.4944533.53969697.7410027 1.25272728.739648 2.13909091v.62833334h-4.659376c.022352.77015151.221488 1.35318181.6096 1.7530303.388112.39984848.916432.59090909 1.607312.59090909.743701-.00293405 1.4788698-.15377248 2.160016-.44318182v.88636364c-.3298144.14174433-.6736336.25063692-1.02616.325-.3855929.07188992-.7778273.1048941-1.170432.09848485m-.27432-5.95242425c-.4900374-.02138848-.9649513.16736328-1.298448.51606061-.3477231.40033357-.5485505.90121019-.570992 1.42409091h3.53568c0-.62636364-.14224-1.1069697-.430784-1.43984849-.3103282-.34233825-.7661196-.52691285-1.235456-.50030303\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M75.053952 6.25575758c-.0151689-.21657791.0536783-.43083638.19304-.60075758.1381463-.1429001.3347885-.21871211.536448-.20681818.2081607-.01140173.4114497.0638378.5588.20681818.2680858.35762602.2680858.84191943 0 1.19954545-.3018073.26987298-.7638609.27916874-1.07696.02166667-.1529999-.17086259-.2265151-.39533511-.2032-.62045454\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M81.586832 9.70863636c-.979424 0-1.73736-.29217171-2.273808-.87651515-.536448-.58434343-.8073813-1.41095959-.8128-2.47984848 0-1.09777778.2709333-1.94540404.8128-2.54287879.5418667-.59747475 1.318768-.89686869 2.330704-.89818182.3279782-.00003668.654999.03430434.97536.10242424.2639542.04817256.5206342.12824173.764032.23833334l-.31496.845c-.2397537-.0929503-.4871838-.16608946-.739648-.21863637-.2330197-.05435362-.4715521-.08342113-.7112-.08666666-1.373632 0-2.060448.84959596-2.060448 2.54878788 0 .80494949.1673013 1.42343434.501904 1.85545454.33528.42939394.83312.64606061 1.491488.64606061.5966181-.00678768 1.1861142-.12655871 1.735328-.35257576v.87848485c-.5339642.24467285-1.120715.3615322-1.710944.34075757\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M90.690192 6.30893939c0 1.06757576-.278384 1.90207071-.835152 2.50348485-.556768.60141414-1.3241867.90146465-2.302256.90015152-.5660565.00980534-1.1238362-.13269357-1.611376-.41166667-.4744234-.28111893-.8520726-.69243374-1.085088-1.18181818-.2674171-.5661279-.3987341-1.18372355-.384048-1.80621212 0-1.06888889.2756747-1.90207071.827024-2.49954546.5513493-.59747474 1.316736-.89555555 2.29616-.89424242.8559447-.03726298 1.6841715.29875604 2.257552.91590909.556768.61060606.8358293 1.43656566.837184 2.47787879m-5.155184 0c0 .83777778.17272 1.47595959.51816 1.91454545.34544.43858586.85344.65787879 1.524.65787879s1.1799147-.21863636 1.528064-.65590909.522224-1.07611111.522224-1.91651515c0-.83515152-.1740747-1.46873738-.522224-1.90075758-.3481493-.4320202-.861568-.64868687-1.540256-.65-.67056 0-1.176528.21469697-1.517904.64015152-.341376.42545454-.512064 1.06363636-.512064 1.91060606\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M96.989392 9.58848485V5.34575758c0-.53444445-.1253067-.9329798-.37592-1.19560606-.251968-.2639394-.644144-.3939394-1.180592-.3939394-.707136 0-1.225296.18580808-1.55448.55742424-.329184.37161617-.493776.98419192-.493776 1.83772728v3.43909091h-1.02616V3.03136364h.83312l.168656.89621212h.048768c.213947-.32669621.5199877-.58712571.881888-.75045455.3956439-.18075251.8285923-.27169306 1.265936-.26590909.8128 0 1.4257867.19040404 1.83896.57121212.4131733.38080808.6163733.99010101.6096 1.82787879v4.27818182h-1.016z\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M105.759504 6.30893939c0 1.06757576-.277707 1.90207071-.83312 2.50348485-.555413.60141414-1.322832.90146465-2.302256.90015152-.566147.01053143-1.124127-.1320188-1.611376-.41166667-.474546-.2815508-.852738-.69268701-1.08712-1.18181818-.2666505-.56630799-.397268-1.18388155-.382016-1.80621212 0-1.06888889.2756747-1.90207071.827024-2.49954546.551349-.59747474 1.316736-.89555555 2.29616-.89424242.948267 0 1.700107.30530303 2.25552.91590909.555413.61060606.834475 1.43525253.837184 2.47393939m-5.155184 0c0 .83777778.17272 1.4759596.51816 1.91454546.34544.43924242.855472.65787879 1.526032.65787879.589088.03526465 1.159066-.20939357 1.528064-.65590909.348149-.43727273.521547-1.07611112.520192-1.91651516-.001355-.84040404-.174752-1.4739899-.520192-1.90075757-.349504-.43333334-.861568-.65-1.540256-.65-.678688 0-1.17856.21469697-1.519936.64015151-.341376.42545455-.512064 1.06363637-.512064 1.91060606\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M116.1796 9.58848485V5.32409091c0-.52525253-.115147-.91919192-.34544-1.18181818-.229616-.26-.58928-.3939394-1.074928-.3939394-.635339 0-1.109472.1779293-1.4224.53378788-.312928.35585859-.465328.90212121-.4572 1.63878788v3.66166667h-1.016V5.32409091c0-.52525253-.115824-.91919192-.347472-1.18181818-.229616-.26-.58928-.3939394-1.078992-.3939394-.642112 0-1.113536.1969697-1.410208.55939394-.296672.36242425-.449072.98484849-.449072 1.83575758v3.43909091h-1.016V3.03136364h.83312l.166624.89621212h.0508c.192326-.31859024.474248-.57752095.8128-.74651515.36534-.18279258.771528-.27547583 1.182624-.26984849 1.05664 0 1.748197.3709596 2.074672 1.11287879h.048768c.20551-.34688729.509496-.62924665.875792-.81348485.403616-.20402984.853472-.30695163 1.308608-.29939394.765387 0 1.338411.19040404 1.719072.57121212.380661.38080808.570992.99010101.570992 1.82787879v4.27818182h-1.02616z\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M119.16664 1.25272727c-.016875-.18221767.045768-.36295537.17272-.49833333.243232-.21393452.614272-.21393452.857504 0 .129279.13353172.194239.31385023.178816.49636364.015568.18371514-.049334.36530074-.178816.50030303-.240531.22061195-.616973.22061195-.857504 0-.125769-.13683457-.188192-.31765204-.17272-.50030303v.00196969zm1.111504 8.33378788h-1.02616V3.03136364h1.02616v6.55515151z\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M125.091952 9.70863636c-.979424 0-1.738037-.29217171-2.27584-.87651515-.537803-.58434343-.808736-1.41095959-.8128-2.47984848 0-1.09777778.270933-1.94540404.8128-2.54287879.541867-.59747475 1.318768-.89686869 2.330704-.89818182.327978-.00003668.654999.03430434.97536.10242424.264596.04821437.521943.12827865.766064.23833334l-.31496.845c-.239852-.09267891-.487258-.16581103-.739648-.21863637-.233047-.05421-.471563-.08327549-.7112-.08666666-1.373632 0-2.061125.84959596-2.06248 2.54878788 0 .80494949.167979 1.42343434.503936 1.85545454.33528.42939394.83312.64606061 1.491488.64606061.595961-.00679074 1.184792-.12656681 1.733296-.35257576v.87848485c-.533172.24487796-1.119318.3617557-1.708912.34075757\"\n fillRule=\"nonzero\"\n />\n </g>\n </g>\n </svg>\n );\n});\n"],"names":["Logo","React","forwardRef","props","ref","className","cn","viewBox","xmlns","d","fillRule","strokeWidth"],"mappings":";;;MAKaA,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAA2B,SAASF,IAAI,CAACG,KAAK,EAAEC,GAAG;EACnF,MAAMC,SAAS,GAAGC,EAAE,CAAC,uDAAuD,EAAEH,KAAK,CAACE,SAAS,CAAC;EAE9F,oBACIJ,sDAASE,KAAK;IAAEE,SAAS,EAAEA,SAAS;IAAED,GAAG,EAAEA,GAAG;IAAEG,OAAO,EAAC,YAAY;IAACC,KAAK,EAAC;mBACvEP;IAAGI,SAAS,EAAC;kBACTJ;IACII,SAAS,EAAC,YAAY;IACtBI,CAAC,EAAC,4RAA4R;IAC9RC,QAAQ,EAAC;IACX,eACFT;IAAGI,SAAS,EAAC;kBACTJ;IACIQ,CAAC,EAAC,iQAAiQ;IACnQC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,iPAAiP;IACnPC,QAAQ,EAAC;IACX,eACFT;IAAMS,QAAQ,EAAC,SAAS;IAACD,CAAC,EAAC;IAAuD,eAClFR;IACIS,QAAQ,EAAC,SAAS;IAClBD,CAAC,EAAC;IACJ,eACFR;IACIQ,CAAC,EAAC,ghBAAghB;IAClhBC,QAAQ,EAAC;IACX,CACF,CACJ,eACJT;IAAGI,SAAS,EAAC;kBACTJ;IAAMI,SAAS,EAAC,cAAc;IAACI,CAAC,EAAC,yBAAyB;IAACE,WAAW,EAAC;IAAS,eAChFV;IAAGI,SAAS,EAAC;kBACTJ;IACIQ,CAAC,EAAC,y2BAAy2B;IAC32BC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,2UAA2U;IAC7UC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,8sBAA8sB;IAChtBC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,23BAA23B;IAC73BC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,mgBAAmgB;IACrgBC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,u4BAAu4B;IACz4BC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,+2BAA+2B;IACj3BC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,iYAAiY;IACnYC,QAAQ,EAAC;IACX,eACFT;IACIQ,CAAC,EAAC,8rBAA8rB;IAChsBC,QAAQ,EAAC;IACX,CACF,CACJ,CACF;AAEd,CAAC;;;;"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { IconButton } from '../../IconButton/IconButton.js';
|
4
|
+
import { getButtonClasses } from './Button.js';
|
5
|
+
|
6
|
+
const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(props, ref) {
|
7
|
+
const className = cn(getButtonClasses(), 'ml-1 -mr-1 !bg-transparent hover:!bg-white/[.08] focus:!bg-white/[.08]] lg:hidden');
|
8
|
+
return /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, props, {
|
9
|
+
className: className,
|
10
|
+
icon: "menu",
|
11
|
+
ref: ref
|
12
|
+
}));
|
13
|
+
});
|
14
|
+
|
15
|
+
export { MenuButton };
|
16
|
+
//# sourceMappingURL=MenuButton.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MenuButton.js","sources":["../../../../../../../../src/components/Header/components/MenuButton.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { getButtonClasses } from './Button';\n\nexport type MenuButtonProps = {\n onClick: () => void;\n};\n\nexport const MenuButton = React.forwardRef<HTMLButtonElement, MenuButtonProps>(function MenuButton(props, ref) {\n const className = cn(getButtonClasses(), 'ml-1 -mr-1 !bg-transparent hover:!bg-white/[.08] focus:!bg-white/[.08]] lg:hidden');\n\n return <IconButton {...props} className={className} icon=\"menu\" ref={ref} />;\n});\n"],"names":["MenuButton","React","forwardRef","props","ref","className","cn","getButtonClasses","IconButton","icon"],"mappings":";;;;;MASaA,UAAU,gBAAGC,cAAK,CAACC,UAAU,CAAqC,SAASF,UAAU,CAACG,KAAK,EAAEC,GAAG;EACzG,MAAMC,SAAS,GAAGC,EAAE,CAACC,gBAAgB,EAAE,EAAE,mFAAmF,CAAC;EAE7H,oBAAON,6BAACO,UAAU,oBAAKL,KAAK;IAAEE,SAAS,EAAEA,SAAS;IAAEI,IAAI,EAAC,MAAM;IAACL,GAAG,EAAEA;KAAO;AAChF,CAAC;;;;"}
|
@@ -0,0 +1,134 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { useLocalization } from '../../Provider/Localization.js';
|
4
|
+
import { Button } from '../../Button/Button.js';
|
5
|
+
import { useBoundingClientRectListener } from '../../../hooks/useBoundingClientRectListener.js';
|
6
|
+
import { useMergedRef } from '../../../hooks/useMergedRef.js';
|
7
|
+
import { Menu } from '../../Menu/Menu.js';
|
8
|
+
import { getLinkClasses } from './Link.js';
|
9
|
+
import { Portal } from '@radix-ui/react-portal';
|
10
|
+
|
11
|
+
const getChildWidths = parent => {
|
12
|
+
const widths = [];
|
13
|
+
for (let index = 0; index < parent.children.length; index++) {
|
14
|
+
const childRect = parent.children[index].getBoundingClientRect();
|
15
|
+
widths.push(childRect.width);
|
16
|
+
}
|
17
|
+
return widths;
|
18
|
+
};
|
19
|
+
const ChildrenWidth = ({
|
20
|
+
setWidth,
|
21
|
+
children
|
22
|
+
}) => {
|
23
|
+
const ref = React__default.useRef(null);
|
24
|
+
const [show, setShow] = React__default.useState(true);
|
25
|
+
React__default.useEffect(() => {
|
26
|
+
// Calculate the width of children, and then hides the portal
|
27
|
+
if (ref.current && show) {
|
28
|
+
setWidth(getChildWidths(ref.current));
|
29
|
+
setShow(false);
|
30
|
+
}
|
31
|
+
}, [show]);
|
32
|
+
React__default.useEffect(() => {
|
33
|
+
// If children changes, then we render the children to calculate their width
|
34
|
+
if (!show) {
|
35
|
+
setShow(true);
|
36
|
+
}
|
37
|
+
}, [children]);
|
38
|
+
return show ? /*#__PURE__*/React__default.createElement(Portal, {
|
39
|
+
className: cn('invisible absolute z-[-10] flex translate-x-[-1000px]'),
|
40
|
+
ref: ref
|
41
|
+
}, children) : null;
|
42
|
+
};
|
43
|
+
const useBoundaryIndex = (wrapperWidth, buttonRef, childWidths) => {
|
44
|
+
// Primary navigation has a gap of gap-1, so we need to take the gap value in account as well
|
45
|
+
// left gap + right gap = 8px
|
46
|
+
const GAP = 8;
|
47
|
+
return React__default.useMemo(() => {
|
48
|
+
if (childWidths.length && wrapperWidth && buttonRef.current) {
|
49
|
+
const realWidth = wrapperWidth - buttonRef.current.getBoundingClientRect().width - GAP;
|
50
|
+
let boundary;
|
51
|
+
let total = 0;
|
52
|
+
childWidths.every((width, index) => {
|
53
|
+
const nextWidth = total + width + GAP;
|
54
|
+
if (nextWidth > realWidth) {
|
55
|
+
boundary = index;
|
56
|
+
return false;
|
57
|
+
}
|
58
|
+
total = nextWidth;
|
59
|
+
return true;
|
60
|
+
});
|
61
|
+
return boundary;
|
62
|
+
}
|
63
|
+
return undefined;
|
64
|
+
}, [childWidths, wrapperWidth]);
|
65
|
+
};
|
66
|
+
const PrimaryNavigation = /*#__PURE__*/React__default.forwardRef(function PrimaryNavigation(props, ref) {
|
67
|
+
var _rect$width;
|
68
|
+
const {
|
69
|
+
texts
|
70
|
+
} = useLocalization();
|
71
|
+
const internalRef = useMergedRef(ref);
|
72
|
+
const rect = useBoundingClientRectListener(internalRef);
|
73
|
+
const buttonRef = React__default.useRef(null);
|
74
|
+
const [childWidths, setChildWidths] = React__default.useState([]);
|
75
|
+
const boundaryIndex = useBoundaryIndex((_rect$width = rect === null || rect === void 0 ? void 0 : rect.width) !== null && _rect$width !== void 0 ? _rect$width : 0, buttonRef, childWidths);
|
76
|
+
const className = cn('flex h-full w-full flex-grow items-center overflow-hidden active:outline-none relative', props.className);
|
77
|
+
const moreButtonClassName = cn(getLinkClasses(), '!bg-transparent aria-expanded:!bg-white/[.08]');
|
78
|
+
const [visibleChildren, hiddenChildren] = React__default.useMemo(() => {
|
79
|
+
const visibleChildren = [];
|
80
|
+
const hiddenChildren = [];
|
81
|
+
React__default.Children.forEach(props.children, (child, index) => {
|
82
|
+
if ( /*#__PURE__*/React__default.isValidElement(child) && !!child) {
|
83
|
+
if (boundaryIndex && index >= boundaryIndex) {
|
84
|
+
hiddenChildren.push(child);
|
85
|
+
} else {
|
86
|
+
visibleChildren.push(child);
|
87
|
+
}
|
88
|
+
}
|
89
|
+
});
|
90
|
+
return [visibleChildren, hiddenChildren];
|
91
|
+
}, [boundaryIndex, props.children]);
|
92
|
+
return /*#__PURE__*/React__default.createElement("nav", Object.assign({}, props, {
|
93
|
+
className: className,
|
94
|
+
ref: internalRef
|
95
|
+
}), /*#__PURE__*/React__default.createElement("ul", {
|
96
|
+
className: "mb-0 flex h-full w-full items-center gap-1 overflow-hidden px-1"
|
97
|
+
}, visibleChildren, /*#__PURE__*/React__default.createElement("li", {
|
98
|
+
className: cn({
|
99
|
+
invisible: boundaryIndex === undefined
|
100
|
+
})
|
101
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
102
|
+
className: moreButtonClassName,
|
103
|
+
menu: menuProps => /*#__PURE__*/React__default.createElement(Menu, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu.Content, {
|
104
|
+
className: "hidden lg:block"
|
105
|
+
}, hiddenChildren.map((child, index) => {
|
106
|
+
const href = child.props.to || child.props.href;
|
107
|
+
const target = href !== null && href !== void 0 && href.startsWith('http') ? '_blank' : '_self';
|
108
|
+
// Removing className prop so that custom styling cannot be applied on Menu.Link
|
109
|
+
const {
|
110
|
+
as,
|
111
|
+
className: _,
|
112
|
+
...otherProps
|
113
|
+
} = child.props;
|
114
|
+
if (as) {
|
115
|
+
return /*#__PURE__*/React__default.cloneElement(child, {
|
116
|
+
as: Menu.Link,
|
117
|
+
key: index,
|
118
|
+
target,
|
119
|
+
...otherProps
|
120
|
+
});
|
121
|
+
}
|
122
|
+
return /*#__PURE__*/React__default.createElement(Menu.Link, Object.assign({
|
123
|
+
key: index,
|
124
|
+
target: target
|
125
|
+
}, otherProps));
|
126
|
+
}))),
|
127
|
+
ref: buttonRef
|
128
|
+
}, texts.header.more))), /*#__PURE__*/React__default.createElement(ChildrenWidth, {
|
129
|
+
setWidth: setChildWidths
|
130
|
+
}, props.children));
|
131
|
+
});
|
132
|
+
|
133
|
+
export { PrimaryNavigation };
|
134
|
+
//# sourceMappingURL=PrimaryNavigation.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PrimaryNavigation.js","sources":["../../../../../../../../src/components/Header/components/PrimaryNavigation.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Portal } from '@radix-ui/react-portal';\nimport { getLinkClasses } from './Link';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { useBoundingClientRectListener } from '../../../hooks/useBoundingClientRectListener';\nimport { Button } from '../../Button/Button';\nimport { Menu } from '../../Menu/Menu';\nimport { useLocalization } from '../../Provider/Localization';\n\ntype ChildrenWidthProps = {\n setWidth: React.Dispatch<React.SetStateAction<number[]>>;\n children: React.ReactNode;\n};\n\nconst getChildWidths = (parent: HTMLDivElement): number[] => {\n const widths: number[] = [];\n\n for (let index = 0; index < parent.children.length; index++) {\n const childRect = parent.children[index].getBoundingClientRect();\n widths.push(childRect.width);\n }\n\n return widths;\n};\n\nconst ChildrenWidth = ({ setWidth, children }: ChildrenWidthProps) => {\n const ref = React.useRef<HTMLDivElement>(null);\n const [show, setShow] = React.useState(true);\n\n React.useEffect(() => {\n // Calculate the width of children, and then hides the portal\n if (ref.current && show) {\n setWidth(getChildWidths(ref.current));\n setShow(false);\n }\n }, [show]);\n\n React.useEffect(() => {\n // If children changes, then we render the children to calculate their width\n if (!show) {\n setShow(true);\n }\n }, [children]);\n\n return show ? (\n <Portal className={cn('invisible absolute z-[-10] flex translate-x-[-1000px]')} ref={ref}>\n {children}\n </Portal>\n ) : null;\n};\n\nconst useBoundaryIndex = (wrapperWidth: number, buttonRef: React.RefObject<HTMLButtonElement>, childWidths: number[]) => {\n // Primary navigation has a gap of gap-1, so we need to take the gap value in account as well\n // left gap + right gap = 8px\n const GAP = 8;\n\n return React.useMemo(() => {\n if (childWidths.length && wrapperWidth && buttonRef.current) {\n const realWidth = wrapperWidth - buttonRef.current.getBoundingClientRect().width - GAP;\n let boundary: number | undefined;\n let total = 0;\n\n childWidths.every((width, index) => {\n const nextWidth = total + width + GAP;\n\n if (nextWidth > realWidth) {\n boundary = index;\n return false;\n }\n\n total = nextWidth;\n return true;\n });\n\n return boundary;\n }\n\n return undefined;\n }, [childWidths, wrapperWidth]);\n};\n\nexport type PrimaryNavigationProps = React.HTMLAttributes<HTMLElement>;\n\nexport const PrimaryNavigation = React.forwardRef<HTMLElement, PrimaryNavigationProps>(function PrimaryNavigation(props, ref) {\n const { texts } = useLocalization();\n const internalRef = useMergedRef<HTMLDivElement>(ref);\n const rect = useBoundingClientRectListener(internalRef);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n const [childWidths, setChildWidths] = React.useState<number[]>([]);\n const boundaryIndex = useBoundaryIndex(rect?.width ?? 0, buttonRef, childWidths);\n\n const className = cn(\n 'flex h-full w-full flex-grow items-center overflow-hidden active:outline-none relative',\n props.className\n );\n\n const moreButtonClassName = cn(getLinkClasses(), '!bg-transparent aria-expanded:!bg-white/[.08]');\n\n const [visibleChildren, hiddenChildren] = React.useMemo(() => {\n const visibleChildren: JSX.Element[] = [];\n const hiddenChildren: JSX.Element[] = [];\n\n React.Children.forEach(props.children, (child, index) => {\n if (React.isValidElement(child) && !!child) {\n if (boundaryIndex && index >= boundaryIndex) {\n hiddenChildren.push(child);\n } else {\n visibleChildren.push(child);\n }\n }\n });\n\n return [visibleChildren, hiddenChildren];\n }, [boundaryIndex, props.children]);\n\n return (\n <nav {...props} className={className} ref={internalRef}>\n <ul className=\"mb-0 flex h-full w-full items-center gap-1 overflow-hidden px-1\">\n {visibleChildren}\n <li className={cn({ invisible: boundaryIndex === undefined })}>\n <Button\n className={moreButtonClassName}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content className=\"hidden lg:block\">\n {hiddenChildren.map((child, index) => {\n const href: string | undefined = child.props.to || child.props.href;\n const target = href?.startsWith('http') ? '_blank' : '_self';\n // Removing className prop so that custom styling cannot be applied on Menu.Link\n const { as, className: _, ...otherProps } = child.props;\n\n if (as) {\n return React.cloneElement(child, {\n as: Menu.Link,\n key: index,\n target,\n ...otherProps,\n });\n }\n\n return <Menu.Link key={index} target={target} {...otherProps} />;\n })}\n </Menu.Content>\n </Menu>\n )}\n ref={buttonRef}>\n {texts.header.more}\n </Button>\n </li>\n </ul>\n <ChildrenWidth setWidth={setChildWidths}>{props.children}</ChildrenWidth>\n </nav>\n );\n});\n"],"names":["getChildWidths","parent","widths","index","children","length","childRect","getBoundingClientRect","push","width","ChildrenWidth","setWidth","ref","React","useRef","show","setShow","useState","useEffect","current","Portal","className","cn","useBoundaryIndex","wrapperWidth","buttonRef","childWidths","GAP","useMemo","realWidth","boundary","total","every","nextWidth","undefined","PrimaryNavigation","forwardRef","props","texts","useLocalization","internalRef","useMergedRef","rect","useBoundingClientRectListener","setChildWidths","boundaryIndex","moreButtonClassName","getLinkClasses","visibleChildren","hiddenChildren","Children","forEach","child","isValidElement","invisible","Button","menu","menuProps","Menu","Content","map","href","to","target","startsWith","as","_","otherProps","cloneElement","Link","key","header","more"],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
|
4
|
+
const SecondaryNavigation = /*#__PURE__*/React__default.forwardRef(function SecondaryNavigation(props, ref) {
|
5
|
+
const className = cn('flex h-full items-center gap-2 mb-0', props.className);
|
6
|
+
return /*#__PURE__*/React__default.createElement("ul", Object.assign({}, props, {
|
7
|
+
className: className,
|
8
|
+
ref: ref
|
9
|
+
}));
|
10
|
+
});
|
11
|
+
|
12
|
+
export { SecondaryNavigation };
|
13
|
+
//# sourceMappingURL=SecondaryNavigation.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SecondaryNavigation.js","sources":["../../../../../../../../src/components/Header/components/SecondaryNavigation.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nexport type SecondaryNavigationProps = React.HTMLAttributes<HTMLUListElement>;\n\nexport const SecondaryNavigation = React.forwardRef<HTMLUListElement, SecondaryNavigationProps>(function SecondaryNavigation(\n props,\n ref\n) {\n const className = cn('flex h-full items-center gap-2 mb-0', props.className);\n return <ul {...props} className={className} ref={ref} />;\n});\n"],"names":["SecondaryNavigation","React","forwardRef","props","ref","className","cn"],"mappings":";;;MAKaA,mBAAmB,gBAAGC,cAAK,CAACC,UAAU,CAA6C,SAASF,mBAAmB,CACxHG,KAAK,EACLC,GAAG;EAEH,MAAMC,SAAS,GAAGC,EAAE,CAAC,qCAAqC,EAAEH,KAAK,CAACE,SAAS,CAAC;EAC5E,oBAAOJ,qDAAQE,KAAK;IAAEE,SAAS,EAAEA,SAAS;IAAED,GAAG,EAAEA;KAAO;AAC5D,CAAC;;;;"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { LayoutContext } from './components/Context.js';
|
4
|
+
import { Content } from './components/Content.js';
|
5
|
+
import { Sidebar } from './components/Sidebar.js';
|
6
|
+
import { Top } from './components/Top.js';
|
7
|
+
import { Page } from './components/Page.js';
|
8
|
+
|
9
|
+
const Layout = /*#__PURE__*/React__default.forwardRef(function Layout(props, ref) {
|
10
|
+
const [sidebarOpen, setSidebarOpen] = React__default.useState(false);
|
11
|
+
const className = cn('flex h-screen w-screen flex-col overflow-hidden relative', props.className);
|
12
|
+
return /*#__PURE__*/React__default.createElement(LayoutContext.Provider, {
|
13
|
+
value: {
|
14
|
+
sidebarOpen,
|
15
|
+
setSidebarOpen
|
16
|
+
}
|
17
|
+
}, /*#__PURE__*/React__default.createElement("div", Object.assign({}, props, {
|
18
|
+
className: className,
|
19
|
+
ref: ref
|
20
|
+
})));
|
21
|
+
});
|
22
|
+
Layout.Top = Top;
|
23
|
+
Layout.Page = Page;
|
24
|
+
Layout.Sidebar = Sidebar;
|
25
|
+
Layout.Content = Content;
|
26
|
+
|
27
|
+
export { Layout };
|
28
|
+
//# sourceMappingURL=Layout.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Layout.js","sources":["../../../../../../../src/components/Layout/Layout.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { LayoutContext } from './components/Context';\nimport { Content } from './components/Content';\nimport { Sidebar } from './components/Sidebar';\nimport { Top } from './components/Top';\nimport { Page } from './components/Page';\n\nexport type LayoutProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Layout = React.forwardRef<HTMLDivElement, LayoutProps>(function Layout(props, ref) {\n const [sidebarOpen, setSidebarOpen] = React.useState(false);\n const className = cn('flex h-screen w-screen flex-col overflow-hidden relative', props.className);\n\n return (\n <LayoutContext.Provider value={{ sidebarOpen, setSidebarOpen }}>\n <div {...props} className={className} ref={ref} />\n </LayoutContext.Provider>\n );\n}) as React.ForwardRefExoticComponent<LayoutProps> & {\n Top: typeof Top;\n Page: typeof Page;\n Sidebar: typeof Sidebar;\n Content: typeof Content;\n};\n\nLayout.Top = Top;\nLayout.Page = Page;\nLayout.Sidebar = Sidebar;\nLayout.Content = Content;\n\nexport type { LayoutContentProps } from './components/Content';\nexport type { LayoutPageProps } from './components/Page';\nexport type { LayoutSidebarProps } from './components/Sidebar';\nexport type { LayoutTopProps } from './components/Top';\n"],"names":["Layout","React","forwardRef","props","ref","sidebarOpen","setSidebarOpen","useState","className","cn","LayoutContext","Provider","value","Top","Page","Sidebar","Content"],"mappings":";;;;;;;;MAUaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAA8B,SAASF,MAAM,CAACG,KAAK,EAAEC,GAAG;EAC1F,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGL,cAAK,CAACM,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAMC,SAAS,GAAGC,EAAE,CAAC,0DAA0D,EAAEN,KAAK,CAACK,SAAS,CAAC;EAEjG,oBACIP,6BAACS,aAAa,CAACC,QAAQ;IAACC,KAAK,EAAE;MAAEP,WAAW;MAAEC;;kBAC1CL,sDAASE,KAAK;IAAEK,SAAS,EAAEA,SAAS;IAAEJ,GAAG,EAAEA;KAAO,CAC7B;AAEjC,CAAC;AAODJ,MAAM,CAACa,GAAG,GAAGA,GAAG;AAChBb,MAAM,CAACc,IAAI,GAAGA,IAAI;AAClBd,MAAM,CAACe,OAAO,GAAGA,OAAO;AACxBf,MAAM,CAACgB,OAAO,GAAGA,OAAO;;;;"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
|
4
|
+
const Content = /*#__PURE__*/React__default.forwardRef(function LayoutContent(props, ref) {
|
5
|
+
const className = cn('flex-grow overflow-y-auto bg-white flex flex-shrink flex-col relative', props.className);
|
6
|
+
return /*#__PURE__*/React__default.createElement("main", Object.assign({}, props, {
|
7
|
+
className: className,
|
8
|
+
ref: ref
|
9
|
+
}));
|
10
|
+
});
|
11
|
+
|
12
|
+
export { Content };
|
13
|
+
//# sourceMappingURL=Content.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Content.js","sources":["../../../../../../../../src/components/Layout/components/Content.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nexport type LayoutContentProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Content = React.forwardRef<HTMLDivElement, LayoutContentProps>(function LayoutContent(props, ref) {\n const className = cn('flex-grow overflow-y-auto bg-white flex flex-shrink flex-col relative', props.className);\n return <main {...props} className={className} ref={ref} />;\n});\n"],"names":["Content","React","forwardRef","LayoutContent","props","ref","className","cn"],"mappings":";;;MAKaA,OAAO,gBAAGC,cAAK,CAACC,UAAU,CAAqC,SAASC,aAAa,CAACC,KAAK,EAAEC,GAAG;EACzG,MAAMC,SAAS,GAAGC,EAAE,CAAC,uEAAuE,EAAEH,KAAK,CAACE,SAAS,CAAC;EAC9G,oBAAOL,uDAAUG,KAAK;IAAEE,SAAS,EAAEA,SAAS;IAAED,GAAG,EAAEA;KAAO;AAC9D,CAAC;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Context.js","sources":["../../../../../../../../src/components/Layout/components/Context.tsx"],"sourcesContent":["import React from 'react';\n\nexport type LayoutContextValue = {\n sidebarOpen: boolean;\n setSidebarOpen: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const LayoutContext = React.createContext<LayoutContextValue>({ sidebarOpen: false, setSidebarOpen: () => undefined });\n"],"names":["LayoutContext","React","createContext","sidebarOpen","setSidebarOpen","undefined"],"mappings":";;MAOaA,aAAa,gBAAGC,cAAK,CAACC,aAAa,CAAqB;EAAEC,WAAW,EAAE,KAAK;EAAEC,cAAc,EAAE,MAAMC;CAAW;;;;"}
|