@amsterdam/design-system-react 0.15.0 → 0.16.0
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 +1 -1
- package/dist/Accordion/Accordion.js +4 -1
- package/dist/Accordion/Accordion.test.js +19 -3
- package/dist/Accordion/AccordionSection.test.js +1 -1
- package/dist/ActionGroup/ActionGroup.test.js +1 -1
- package/dist/Alert/Alert.test.js +1 -1
- package/dist/Avatar/Avatar.test.js +1 -1
- package/dist/Badge/Badge.test.js +1 -1
- package/dist/Blockquote/Blockquote.test.js +3 -4
- package/dist/Breadcrumb/Breadcrumb.test.js +1 -1
- package/dist/Breadcrumb/BreadcrumbLink.test.js +1 -1
- package/dist/Breakout/Breakout.test.js +11 -19
- package/dist/Breakout/BreakoutCell.d.ts +3 -1
- package/dist/Breakout/BreakoutCell.js +1 -0
- package/dist/Breakout/BreakoutCell.test.js +20 -16
- package/dist/Button/Button.test.js +8 -1
- package/dist/Card/Card.d.ts +10 -0
- package/dist/Card/Card.js +8 -1
- package/dist/Card/Card.test.js +1 -1
- package/dist/Card/CardHeading.d.ts +11 -0
- package/dist/Card/CardHeading.js +10 -0
- package/dist/Card/CardHeading.test.js +34 -0
- package/dist/Card/CardHeadingGroup.test.js +1 -1
- package/dist/Card/CardImage.d.ts +7 -0
- package/dist/Card/CardImage.js +10 -0
- package/dist/{Footer/FooterSpotlight.test.js → Card/CardImage.test.js} +9 -9
- package/dist/Card/CardLink.test.js +1 -1
- package/dist/CharacterCount/CharacterCount.test.js +1 -1
- package/dist/Checkbox/Checkbox.test.js +2 -3
- package/dist/Column/Column.d.ts +4 -3
- package/dist/Column/Column.js +2 -1
- package/dist/Column/Column.test.js +10 -12
- package/dist/DateInput/DateInput.test.js +1 -1
- package/dist/DescriptionList/DescriptionList.test.js +1 -1
- package/dist/DescriptionList/DescriptionListDescription.test.js +1 -1
- package/dist/DescriptionList/DescriptionListSection.test.js +1 -1
- package/dist/DescriptionList/DescriptionListTerm.test.js +1 -1
- package/dist/Dialog/Dialog.test.js +1 -1
- package/dist/ErrorMessage/ErrorMessage.test.js +1 -1
- package/dist/Field/Field.test.js +1 -1
- package/dist/FieldSet/FieldSet.test.js +1 -1
- package/dist/Figure/Figure.test.js +1 -1
- package/dist/Figure/FigureCaption.test.js +1 -1
- package/dist/FileInput/FileInput.test.js +1 -1
- package/dist/FileList/FileList.test.js +1 -1
- package/dist/FileList/FileListItem.test.js +1 -1
- package/dist/Grid/Grid.d.ts +8 -5
- package/dist/Grid/Grid.js +2 -0
- package/dist/Grid/Grid.test.js +13 -29
- package/dist/Grid/GridCell.test.js +2 -8
- package/dist/Grid/paddingClasses.d.ts +2 -2
- package/dist/Heading/Heading.test.js +17 -11
- package/dist/Hint/Hint.test.js +1 -1
- package/dist/Icon/Icon.d.ts +1 -1
- package/dist/Icon/Icon.test.js +3 -4
- package/dist/IconButton/IconButton.js +1 -1
- package/dist/IconButton/IconButton.test.js +1 -1
- package/dist/Image/Image.d.ts +4 -8
- package/dist/Image/Image.test.js +1 -1
- package/dist/ImageSlider/ImageSlider.test.js +1 -1
- package/dist/ImageSlider/ImageSliderItem.test.js +1 -1
- package/dist/ImageSlider/ImageSliderScroller.test.js +1 -1
- package/dist/ImageSlider/ImageSliderThumbnails.js +1 -1
- package/dist/ImageSlider/ImageSliderThumbnails.test.js +1 -1
- package/dist/InvalidFormAlert/InvalidFormAlert.test.js +1 -1
- package/dist/Label/Label.test.js +3 -4
- package/dist/Link/Link.d.ts +0 -6
- package/dist/Link/Link.js +1 -1
- package/dist/Link/Link.test.js +22 -29
- package/dist/LinkList/LinkList.test.js +1 -1
- package/dist/LinkList/LinkListLink.test.js +1 -1
- package/dist/Logo/Logo.test.js +2 -3
- package/dist/Mark/Mark.test.js +1 -1
- package/dist/OrderedList/OrderedList.test.js +1 -1
- package/dist/OrderedList/OrderedListItem.test.js +1 -1
- package/dist/Overlap/Overlap.test.js +1 -1
- package/dist/{Footer/FooterSpotlight.d.ts → Page/Page.d.ts} +2 -2
- package/dist/Page/Page.js +9 -0
- package/dist/{MegaMenu/MegaMenu.test.js → Page/Page.test.js} +9 -9
- package/dist/Page/index.d.ts +2 -0
- package/dist/Page/index.js +1 -0
- package/dist/{Footer/Footer.d.ts → PageFooter/PageFooter.d.ts} +2 -2
- package/dist/PageFooter/PageFooter.js +17 -0
- package/dist/{Footer/Footer.test.js → PageFooter/PageFooter.test.js} +9 -9
- package/dist/{Footer/FooterMenu.d.ts → PageFooter/PageFooterMenu.d.ts} +2 -2
- package/dist/PageFooter/PageFooterMenu.js +9 -0
- package/dist/{Footer/FooterMenu.test.js → PageFooter/PageFooterMenu.test.js} +9 -9
- package/dist/{Footer/FooterMenuLink.d.ts → PageFooter/PageFooterMenuLink.d.ts} +2 -2
- package/dist/PageFooter/PageFooterMenuLink.js +9 -0
- package/dist/{Footer/FooterMenuLink.test.js → PageFooter/PageFooterMenuLink.test.js} +9 -9
- package/dist/PageFooter/PageFooterSpotlight.d.ts +9 -0
- package/dist/PageFooter/PageFooterSpotlight.js +9 -0
- package/dist/{MegaMenu/MegaMenuListCategory.test.js → PageFooter/PageFooterSpotlight.test.js} +9 -9
- package/dist/PageFooter/index.d.ts +5 -0
- package/dist/PageFooter/index.js +1 -0
- package/dist/{Header/Header.d.ts → PageHeader/PageHeader.d.ts} +4 -4
- package/dist/PageHeader/PageHeader.js +31 -0
- package/dist/{Header/Header.test.js → PageHeader/PageHeader.test.js} +37 -38
- package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.d.ts +2 -0
- package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.js +6 -0
- package/dist/{Header/HeaderGridCellNarrowWindowOnly.test.js → PageHeader/PageHeaderGridCellNarrowWindowOnly.test.js} +10 -10
- package/dist/PageHeader/PageHeaderMenuIcon.d.ts +2 -0
- package/dist/PageHeader/PageHeaderMenuIcon.js +2 -0
- package/dist/{Header/HeaderMenuLink.d.ts → PageHeader/PageHeaderMenuLink.d.ts} +2 -2
- package/dist/PageHeader/PageHeaderMenuLink.js +5 -0
- package/dist/{Header/HeaderMenuLink.test.js → PageHeader/PageHeaderMenuLink.test.js} +13 -13
- package/dist/PageHeader/index.d.ts +3 -0
- package/dist/PageHeader/index.js +1 -0
- package/dist/PageHeading/PageHeading.test.js +2 -3
- package/dist/Pagination/Pagination.test.js +1 -1
- package/dist/Paragraph/Paragraph.test.js +1 -1
- package/dist/PasswordInput/PasswordInput.test.js +1 -1
- package/dist/Radio/Radio.test.js +1 -1
- package/dist/Row/Row.d.ts +4 -3
- package/dist/Row/Row.js +2 -1
- package/dist/Row/Row.test.js +10 -12
- package/dist/SearchField/SearchField.d.ts +2 -0
- package/dist/SearchField/SearchField.test.js +2 -3
- package/dist/SearchField/SearchFieldInput.test.js +2 -3
- package/dist/Select/Select.test.js +1 -1
- package/dist/Select/SelectOption.test.js +1 -1
- package/dist/Select/SelectOptionGroup.test.js +1 -1
- package/dist/SkipLink/SkipLink.test.js +1 -1
- package/dist/Spotlight/Spotlight.d.ts +4 -2
- package/dist/Spotlight/Spotlight.js +1 -0
- package/dist/Spotlight/Spotlight.test.js +11 -9
- package/dist/StandaloneLink/StandaloneLink.d.ts +17 -0
- package/dist/StandaloneLink/StandaloneLink.js +10 -0
- package/dist/StandaloneLink/StandaloneLink.test.js +40 -0
- package/dist/StandaloneLink/index.d.ts +2 -0
- package/dist/StandaloneLink/index.js +1 -0
- package/dist/Switch/Switch.test.js +1 -1
- package/dist/Table/Table.test.js +1 -1
- package/dist/Table/TableBody.test.js +1 -1
- package/dist/Table/TableCaption.test.js +1 -1
- package/dist/Table/TableCell.test.js +1 -1
- package/dist/Table/TableFooter.test.js +1 -1
- package/dist/Table/TableHeader.test.js +1 -1
- package/dist/Table/TableHeaderCell.test.js +1 -1
- package/dist/Table/TableRow.test.js +1 -1
- package/dist/TableOfContents/TableOfContents.test.js +1 -1
- package/dist/TableOfContents/TableOfContentsLink.test.js +1 -1
- package/dist/TableOfContents/TableOfContentsList.test.js +1 -1
- package/dist/Tabs/Tabs.d.ts +6 -6
- package/dist/Tabs/Tabs.js +4 -5
- package/dist/Tabs/Tabs.test.js +21 -6
- package/dist/Tabs/TabsButton.d.ts +4 -4
- package/dist/Tabs/TabsButton.js +4 -4
- package/dist/Tabs/TabsButton.test.js +10 -10
- package/dist/Tabs/TabsContext.d.ts +2 -7
- package/dist/Tabs/TabsContext.js +0 -1
- package/dist/Tabs/TabsList.js +1 -1
- package/dist/Tabs/TabsList.test.js +1 -1
- package/dist/Tabs/TabsPanel.d.ts +4 -4
- package/dist/Tabs/TabsPanel.js +4 -4
- package/dist/Tabs/TabsPanel.test.js +10 -12
- package/dist/TextArea/TextArea.test.js +1 -1
- package/dist/TextInput/TextInput.test.js +2 -3
- package/dist/TimeInput/TimeInput.test.js +1 -1
- package/dist/UnorderedList/UnorderedList.test.js +1 -1
- package/dist/UnorderedList/UnorderedListItem.test.js +1 -1
- package/dist/common/accessibility.d.ts +9 -1
- package/dist/index.cjs.js +1000 -1057
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +164 -194
- package/dist/index.esm.js +998 -1053
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +4 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/dist/Footer/Footer.js +0 -17
- package/dist/Footer/FooterMenu.js +0 -9
- package/dist/Footer/FooterMenuLink.js +0 -9
- package/dist/Footer/FooterSpotlight.js +0 -9
- package/dist/Footer/index.d.ts +0 -5
- package/dist/Footer/index.js +0 -1
- package/dist/Header/Header.js +0 -31
- package/dist/Header/HeaderGridCellNarrowWindowOnly.d.ts +0 -2
- package/dist/Header/HeaderGridCellNarrowWindowOnly.js +0 -6
- package/dist/Header/HeaderMenuIcon.d.ts +0 -2
- package/dist/Header/HeaderMenuIcon.js +0 -2
- package/dist/Header/HeaderMenuLink.js +0 -5
- package/dist/Header/index.d.ts +0 -3
- package/dist/Header/index.js +0 -1
- package/dist/MegaMenu/MegaMenu.d.ts +0 -14
- package/dist/MegaMenu/MegaMenu.js +0 -12
- package/dist/MegaMenu/MegaMenuListCategory.d.ts +0 -9
- package/dist/MegaMenu/MegaMenuListCategory.js +0 -9
- package/dist/MegaMenu/index.d.ts +0 -3
- package/dist/MegaMenu/index.js +0 -1
- package/dist/PageMenu/PageMenu.d.ts +0 -25
- package/dist/PageMenu/PageMenu.js +0 -12
- package/dist/PageMenu/PageMenu.test.js +0 -45
- package/dist/PageMenu/PageMenuLink.d.ts +0 -13
- package/dist/PageMenu/PageMenuLink.js +0 -10
- package/dist/PageMenu/PageMenuLink.test.js +0 -40
- package/dist/PageMenu/index.d.ts +0 -3
- package/dist/PageMenu/index.js +0 -1
- package/dist/Screen/Screen.d.ts +0 -21
- package/dist/Screen/Screen.js +0 -9
- package/dist/Screen/Screen.test.d.ts +0 -1
- package/dist/Screen/Screen.test.js +0 -40
- package/dist/Screen/index.d.ts +0 -2
- package/dist/Screen/index.js +0 -1
- package/dist/TopTaskLink/TopTaskLink.d.ts +0 -17
- package/dist/TopTaskLink/TopTaskLink.js +0 -9
- package/dist/TopTaskLink/TopTaskLink.test.d.ts +0 -1
- package/dist/TopTaskLink/TopTaskLink.test.js +0 -42
- package/dist/TopTaskLink/index.d.ts +0 -1
- package/dist/TopTaskLink/index.js +0 -1
- /package/dist/{Footer/Footer.test.d.ts → Card/CardHeading.test.d.ts} +0 -0
- /package/dist/{Footer/FooterMenu.test.d.ts → Card/CardImage.test.d.ts} +0 -0
- /package/dist/{Footer/FooterMenuLink.test.d.ts → Page/Page.test.d.ts} +0 -0
- /package/dist/{Footer/FooterSpotlight.test.d.ts → PageFooter/PageFooter.test.d.ts} +0 -0
- /package/dist/{Header/HeaderGridCellNarrowWindowOnly.test.d.ts → PageFooter/PageFooterMenu.test.d.ts} +0 -0
- /package/dist/{Header/HeaderMenuLink.test.d.ts → PageFooter/PageFooterMenuLink.test.d.ts} +0 -0
- /package/dist/{MegaMenu/MegaMenu.test.d.ts → PageFooter/PageFooterSpotlight.test.d.ts} +0 -0
- /package/dist/{Header/Header.test.d.ts → PageHeader/PageHeader.test.d.ts} +0 -0
- /package/dist/{MegaMenu/MegaMenuListCategory.test.d.ts → PageHeader/PageHeaderGridCellNarrowWindowOnly.test.d.ts} +0 -0
- /package/dist/{PageMenu/PageMenu.test.d.ts → PageHeader/PageHeaderMenuLink.test.d.ts} +0 -0
- /package/dist/{Header → PageHeader}/matchMedia.mock.d.ts +0 -0
- /package/dist/{Header → PageHeader}/matchMedia.mock.js +0 -0
- /package/dist/{PageMenu/PageMenuLink.test.d.ts → StandaloneLink/StandaloneLink.test.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.16.0",
|
|
3
3
|
"author": "Design System Team, City of Amsterdam <designsystem@amsterdam.nl>",
|
|
4
4
|
"description": "All React components from the Amsterdam Design System. Use it to compose pages in your website or application.",
|
|
5
5
|
"homepage": "https://designsystem.amsterdam",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"dist/"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@babel/runtime": "7.
|
|
32
|
+
"@babel/runtime": "7.27.0",
|
|
33
33
|
"clsx": "2.1.1",
|
|
34
|
-
"@amsterdam/design-system-react-icons": "0.1.
|
|
34
|
+
"@amsterdam/design-system-react-icons": "0.1.14"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@babel/core": "7.26.10",
|
|
@@ -44,32 +44,32 @@
|
|
|
44
44
|
"@rollup/pluginutils": "5.1.4",
|
|
45
45
|
"@testing-library/dom": "10.4.0",
|
|
46
46
|
"@testing-library/jest-dom": "6.6.3",
|
|
47
|
-
"@testing-library/react": "16.
|
|
47
|
+
"@testing-library/react": "16.3.0",
|
|
48
48
|
"@testing-library/user-event": "14.6.1",
|
|
49
49
|
"@types/jest": "29.5.14",
|
|
50
50
|
"@types/lodash": "4.17.16",
|
|
51
|
-
"@types/react": "18.3.
|
|
51
|
+
"@types/react": "18.3.20",
|
|
52
52
|
"jest": "29.7.0",
|
|
53
53
|
"jest-environment-jsdom": "29.7.0",
|
|
54
|
-
"next": "15.
|
|
54
|
+
"next": "15.3.1",
|
|
55
55
|
"npm-run-all": "4.1.5",
|
|
56
56
|
"postcss": "8.5.3",
|
|
57
57
|
"react": "18.3.1",
|
|
58
58
|
"react-dom": "18.3.1",
|
|
59
|
-
"rollup": "4.
|
|
59
|
+
"rollup": "4.40.0",
|
|
60
60
|
"rollup-plugin-dts": "6.2.1",
|
|
61
61
|
"rollup-plugin-filesize": "10.0.0",
|
|
62
|
-
"rollup-plugin-node-externals": "
|
|
62
|
+
"rollup-plugin-node-externals": "8.0.0",
|
|
63
63
|
"rollup-plugin-node-polyfills": "0.2.1",
|
|
64
64
|
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
65
65
|
"rollup-plugin-typescript2": "0.36.0",
|
|
66
|
-
"sass": "1.86.
|
|
66
|
+
"sass": "1.86.3",
|
|
67
67
|
"tslib": "2.8.1"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"react": "16 - 19",
|
|
71
71
|
"react-dom": "16 - 19",
|
|
72
|
-
"@amsterdam/design-system-css": "0.
|
|
72
|
+
"@amsterdam/design-system-css": "0.16.0"
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
|
75
75
|
"build": "tsc && rollup -c",
|
package/dist/Footer/Footer.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
import { FooterMenu } from './FooterMenu';
|
|
9
|
-
import { FooterMenuLink } from './FooterMenuLink';
|
|
10
|
-
import { FooterSpotlight } from './FooterSpotlight';
|
|
11
|
-
const FooterRoot = forwardRef(({ children, className, ...restProps }, ref) => (_jsx("footer", { ...restProps, className: clsx('ams-footer', className), ref: ref, children: children })));
|
|
12
|
-
FooterRoot.displayName = 'Footer';
|
|
13
|
-
export const Footer = Object.assign(FooterRoot, {
|
|
14
|
-
Menu: FooterMenu,
|
|
15
|
-
MenuLink: FooterMenuLink,
|
|
16
|
-
Spotlight: FooterSpotlight,
|
|
17
|
-
});
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
export const FooterMenu = forwardRef(({ children, className, ...restProps }, ref) => (_jsx("ul", { ...restProps, className: clsx('ams-footer__menu', className), ref: ref, children: children })));
|
|
9
|
-
FooterMenu.displayName = 'Footer.Menu';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
export const FooterMenuLink = forwardRef(({ children, className, ...restProps }, ref) => (_jsx("li", { className: "ams-footer__menu-item", children: _jsx("a", { ...restProps, className: clsx('ams-footer__menu-link', className), ref: ref, children: children }) })));
|
|
9
|
-
FooterMenuLink.displayName = 'Footer.MenuLink';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
export const FooterSpotlight = forwardRef(({ children, className, ...restProps }, ref) => (_jsx("div", { ...restProps, className: clsx('ams-footer__spotlight', className), ref: ref, children: children })));
|
|
9
|
-
FooterSpotlight.displayName = 'Footer.Spotlight';
|
package/dist/Footer/index.d.ts
DELETED
package/dist/Footer/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Footer } from './Footer';
|
package/dist/Header/Header.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef, useEffect, useState } from 'react';
|
|
8
|
-
import { Icon } from '../Icon';
|
|
9
|
-
import { Logo } from '../Logo';
|
|
10
|
-
import { HeaderGridCellNarrowWindowOnly } from './HeaderGridCellNarrowWindowOnly';
|
|
11
|
-
import { HeaderMenuIcon } from './HeaderMenuIcon';
|
|
12
|
-
import { HeaderMenuLink } from './HeaderMenuLink';
|
|
13
|
-
import useIsAfterBreakpoint from '../common/useIsAfterBreakpoint';
|
|
14
|
-
const LogoLinkContent = ({ brandName, logoBrand }) => (_jsxs(_Fragment, { children: [_jsx("span", { className: clsx(logoBrand === 'amsterdam' && Boolean(brandName) && 'ams-header__logo-container'), children: _jsx(Logo, { brand: logoBrand }) }), brandName && (_jsx("span", { "aria-hidden": "true", className: "ams-header__brand-name", children: brandName }))] }));
|
|
15
|
-
const HeaderRoot = forwardRef(({ brandName, children, className, logoBrand = 'amsterdam', logoLink = '/', logoLinkTitle = 'Ga naar de homepage', menuButtonText = 'Menu', menuItems, navigationLabel = 'Hoofdnavigatie', noMenuButtonOnWideWindow, ...restProps }, ref) => {
|
|
16
|
-
const [open, setOpen] = useState(false);
|
|
17
|
-
const hasMegaMenu = Boolean(children);
|
|
18
|
-
const isWideWindow = hasMegaMenu && useIsAfterBreakpoint('wide');
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
// Close the menu when the menu button disappears
|
|
21
|
-
if (noMenuButtonOnWideWindow && isWideWindow) {
|
|
22
|
-
setOpen(false);
|
|
23
|
-
}
|
|
24
|
-
}, [isWideWindow]);
|
|
25
|
-
return (_jsxs("header", { ...restProps, className: clsx('ams-header', className), ref: ref, children: [_jsxs("a", { className: "ams-header__logo-link", href: logoLink, children: [_jsx("span", { className: "ams-visually-hidden", children: logoLinkTitle }), _jsx(LogoLinkContent, { brandName: brandName, logoBrand: logoBrand })] }), (hasMegaMenu || menuItems) && (_jsxs("nav", { "aria-labelledby": "primary-navigation", className: "ams-header__navigation", children: [_jsx("h2", { className: "ams-visually-hidden", id: "primary-navigation", children: navigationLabel }), _jsx("div", { className: "ams-header__logo-link ams-header__logo-link--hidden", children: _jsx(LogoLinkContent, { brandName: brandName, logoBrand: logoBrand }) }), _jsxs("ul", { className: "ams-header__menu", children: [menuItems, hasMegaMenu && (_jsx("li", { className: clsx(noMenuButtonOnWideWindow && 'ams-header__mega-menu-button-item--hide-on-wide-window'), children: _jsxs("button", { ...restProps, "aria-controls": "ams-mega-menu", "aria-expanded": open, className: "ams-header__mega-menu-button", onClick: () => setOpen(!open), type: "button", children: [_jsx("span", { className: "ams-header__mega-menu-button-label", children: menuButtonText }), _jsx("span", { "aria-hidden": "true", className: "ams-header__mega-menu-button-hidden-label", children: menuButtonText }), _jsx(Icon, { svg: _jsx(HeaderMenuIcon, { className: clsx('ams-header__menu-icon', open && 'ams-header__menu-icon--open') }) })] }) }))] }), hasMegaMenu && (_jsx("div", { className: clsx('ams-header__mega-menu', !open && 'ams-header__mega-menu--closed'), id: "ams-mega-menu", children: children }))] }))] }));
|
|
26
|
-
});
|
|
27
|
-
HeaderRoot.displayName = 'Header';
|
|
28
|
-
export const Header = Object.assign(HeaderRoot, {
|
|
29
|
-
GridCellNarrowWindowOnly: HeaderGridCellNarrowWindowOnly,
|
|
30
|
-
MenuLink: HeaderMenuLink,
|
|
31
|
-
});
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { forwardRef } from 'react';
|
|
4
|
-
import { Grid } from '../Grid';
|
|
5
|
-
export const HeaderGridCellNarrowWindowOnly = forwardRef(({ children, className, ...restProps }, ref) => (_jsx(Grid.Cell, { ...restProps, className: clsx('ams-header__grid-cell-narrow-window-only', className), ref: ref, children: children })));
|
|
6
|
-
HeaderGridCellNarrowWindowOnly.displayName = 'Header.GridCellNarrowWindowOnly';
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export const HeaderMenuIcon = (props) => (_jsxs("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("line", { className: "ams-header__menu-icon-top", x1: "0", x2: "100%", y1: "50%", y2: "50%" }), _jsx("line", { className: "ams-header__menu-icon-middle", x1: "0", x2: "100%", y1: "50%", y2: "50%" }), _jsx("line", { className: "ams-header__menu-icon-bottom", x1: "0", x2: "100%", y1: "50%", y2: "50%" })] }));
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { forwardRef } from 'react';
|
|
4
|
-
export const HeaderMenuLink = forwardRef(({ children, className, fixed, ...restProps }, ref) => (_jsx("li", { className: clsx('ams-header__menu-item', fixed && 'ams-header__menu-item--fixed'), children: _jsx("a", { ...restProps, className: clsx('ams-header__menu-link', className), ref: ref, children: children }) })));
|
|
5
|
-
HeaderMenuLink.displayName = 'Header.MenuLink';
|
package/dist/Header/index.d.ts
DELETED
package/dist/Header/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Header } from './Header';
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type MegaMenuProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
|
|
7
|
-
/** @deprecated Use child components in Header instead. */
|
|
8
|
-
export declare const MegaMenu: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
9
|
-
children?: import("react").ReactNode | undefined;
|
|
10
|
-
} & import("react").RefAttributes<HTMLDivElement>> & {
|
|
11
|
-
ListCategory: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
12
|
-
children?: import("react").ReactNode | undefined;
|
|
13
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
import { MegaMenuListCategory } from './MegaMenuListCategory';
|
|
9
|
-
const MegaMenuRoot = forwardRef(({ children, className, ...restProps }, ref) => (_jsx("div", { ...restProps, className: clsx('ams-mega-menu', className), ref: ref, children: children })));
|
|
10
|
-
MegaMenuRoot.displayName = 'MegaMenu';
|
|
11
|
-
/** @deprecated Use child components in Header instead. */
|
|
12
|
-
export const MegaMenu = Object.assign(MegaMenuRoot, { ListCategory: MegaMenuListCategory });
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
import { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type MegaMenuListCategoryProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
|
|
7
|
-
export declare const MegaMenuListCategory: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
8
|
-
children?: import("react").ReactNode | undefined;
|
|
9
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
export const MegaMenuListCategory = forwardRef(({ children, className, ...restProps }, ref) => (_jsx("div", { ...restProps, className: clsx('ams-mega-menu__list-category', className), ref: ref, children: children })));
|
|
9
|
-
MegaMenuListCategory.displayName = 'MegaMenu.ListCategory';
|
package/dist/MegaMenu/index.d.ts
DELETED
package/dist/MegaMenu/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { MegaMenu } from './MegaMenu';
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type PageMenuProps = {
|
|
7
|
-
/** Whether the items align to the end margin. Set to `true` if the Page Menu itself does so. */
|
|
8
|
-
alignEnd?: boolean;
|
|
9
|
-
/** Whether menu items should wrap if they don’t fit on a single row. */
|
|
10
|
-
wrap?: boolean;
|
|
11
|
-
} & PropsWithChildren<HTMLAttributes<HTMLUListElement>>;
|
|
12
|
-
export declare const PageMenu: import("react").ForwardRefExoticComponent<{
|
|
13
|
-
/** Whether the items align to the end margin. Set to `true` if the Page Menu itself does so. */
|
|
14
|
-
alignEnd?: boolean;
|
|
15
|
-
/** Whether menu items should wrap if they don’t fit on a single row. */
|
|
16
|
-
wrap?: boolean;
|
|
17
|
-
} & HTMLAttributes<HTMLUListElement> & {
|
|
18
|
-
children?: import("react").ReactNode | undefined;
|
|
19
|
-
} & import("react").RefAttributes<HTMLUListElement>> & {
|
|
20
|
-
Link: import("react").ForwardRefExoticComponent<{
|
|
21
|
-
icon?: Function;
|
|
22
|
-
} & import("react").AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
23
|
-
children?: import("react").ReactNode | undefined;
|
|
24
|
-
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
25
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
import { PageMenuLink } from './PageMenuLink';
|
|
9
|
-
/** @deprecated Use the menuItems prop of Header or the Footer.Menu subcomponent instead. */
|
|
10
|
-
const PageMenuRoot = forwardRef(({ alignEnd, children, className, wrap = true, ...restProps }, ref) => (_jsx("ul", { ...restProps, className: clsx('ams-page-menu', alignEnd && `ams-page-menu--align-end`, !wrap && `ams-page-menu--no-wrap`, className), ref: ref, children: children })));
|
|
11
|
-
PageMenuRoot.displayName = 'PageMenu';
|
|
12
|
-
export const PageMenu = Object.assign(PageMenuRoot, { Link: PageMenuLink });
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { LoginIcon } from '@amsterdam/design-system-react-icons';
|
|
3
|
-
import { render } from '@testing-library/react';
|
|
4
|
-
import { createRef } from 'react';
|
|
5
|
-
import { PageMenu } from './PageMenu';
|
|
6
|
-
import '@testing-library/jest-dom';
|
|
7
|
-
describe('Page menu', () => {
|
|
8
|
-
it('renders a page menu with children', () => {
|
|
9
|
-
const { container } = render(_jsxs(PageMenu, { children: [_jsx(PageMenu.Link, { href: "#", lang: "en", children: "English" }), _jsx(PageMenu.Link, { href: "#", icon: LoginIcon, children: "Mijn Amsterdam" })] }));
|
|
10
|
-
const component = container.querySelector(':only-child');
|
|
11
|
-
const children = container.querySelectorAll('li');
|
|
12
|
-
const icons = container.querySelectorAll('svg');
|
|
13
|
-
expect(component).toBeInTheDocument();
|
|
14
|
-
expect(component).toBeVisible();
|
|
15
|
-
expect(children.length).toBe(2);
|
|
16
|
-
expect(icons.length).toBe(1);
|
|
17
|
-
});
|
|
18
|
-
it('renders a design system BEM class name', () => {
|
|
19
|
-
const { container } = render(_jsx(PageMenu, {}));
|
|
20
|
-
const component = container.querySelector(':only-child');
|
|
21
|
-
expect(component).toHaveClass('ams-page-menu');
|
|
22
|
-
});
|
|
23
|
-
it('renders a class name for end alignment', () => {
|
|
24
|
-
const { container } = render(_jsx(PageMenu, { alignEnd: true }));
|
|
25
|
-
const component = container.querySelector(':only-child');
|
|
26
|
-
expect(component).toHaveClass('ams-page-menu--align-end');
|
|
27
|
-
});
|
|
28
|
-
it('renders a class name to prevent wrapping', () => {
|
|
29
|
-
const { container } = render(_jsx(PageMenu, { wrap: false }));
|
|
30
|
-
const component = container.querySelector(':only-child');
|
|
31
|
-
expect(component).toHaveClass('ams-page-menu--no-wrap');
|
|
32
|
-
});
|
|
33
|
-
it('is able to pass a React ref', () => {
|
|
34
|
-
const ref = createRef();
|
|
35
|
-
const { container } = render(_jsx(PageMenu, { ref: ref, children: _jsx(PageMenu.Link, { href: "#", lang: "en", children: "English" }) }));
|
|
36
|
-
const component = container.querySelector(':only-child');
|
|
37
|
-
expect(ref.current).toBe(component);
|
|
38
|
-
});
|
|
39
|
-
it('renders an additional class name', () => {
|
|
40
|
-
const { container } = render(_jsx(PageMenu, { className: "intro" }));
|
|
41
|
-
const component = container.querySelector(':only-child');
|
|
42
|
-
expect(component).toHaveClass('intro');
|
|
43
|
-
expect(component).toHaveClass('ams-page-menu');
|
|
44
|
-
});
|
|
45
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
import type { AnchorHTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
export type PageMenuLinkProps = {
|
|
7
|
-
icon?: Function;
|
|
8
|
-
} & PropsWithChildren<AnchorHTMLAttributes<HTMLAnchorElement>>;
|
|
9
|
-
export declare const PageMenuLink: import("react").ForwardRefExoticComponent<{
|
|
10
|
-
icon?: Function;
|
|
11
|
-
} & AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
12
|
-
children?: import("react").ReactNode | undefined;
|
|
13
|
-
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
import { Icon } from '../Icon';
|
|
9
|
-
export const PageMenuLink = forwardRef(({ children, className, icon, ...restProps }, ref) => (_jsx("li", { children: _jsxs("a", { ...restProps, className: clsx('ams-page-menu__link', className), ref: ref, children: [children, icon && _jsx(Icon, { size: "small", svg: icon })] }) })));
|
|
10
|
-
PageMenuLink.displayName = 'PageMenu.Link';
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { ChevronRightIcon } from '@amsterdam/design-system-react-icons';
|
|
3
|
-
import { render, screen } from '@testing-library/react';
|
|
4
|
-
import { createRef } from 'react';
|
|
5
|
-
import { PageMenuLink } from './PageMenuLink';
|
|
6
|
-
import '@testing-library/jest-dom';
|
|
7
|
-
describe('Page menu link', () => {
|
|
8
|
-
it('renders with href attribute', () => {
|
|
9
|
-
render(_jsx(PageMenuLink, { href: "#", children: "Link" }));
|
|
10
|
-
const component = screen.getByRole('link');
|
|
11
|
-
expect(component).toBeInTheDocument();
|
|
12
|
-
expect(component).toHaveAttribute('href', '#');
|
|
13
|
-
});
|
|
14
|
-
it('renders a design system BEM class name', () => {
|
|
15
|
-
render(_jsx(PageMenuLink, { href: "#", children: "Link" }));
|
|
16
|
-
const component = screen.getByRole('link');
|
|
17
|
-
expect(component).toHaveClass('ams-page-menu__link');
|
|
18
|
-
});
|
|
19
|
-
it('renders an additional class name', () => {
|
|
20
|
-
render(_jsx(PageMenuLink, { className: "extra", href: "#", children: "Link" }));
|
|
21
|
-
const component = screen.getByRole('link');
|
|
22
|
-
expect(component).toHaveClass('ams-page-menu__link extra');
|
|
23
|
-
});
|
|
24
|
-
it('does not render an icon by default', () => {
|
|
25
|
-
const { container } = render(_jsx(PageMenuLink, { href: "#", children: "Link" }));
|
|
26
|
-
const svg = container.querySelector('.ams-icon');
|
|
27
|
-
expect(svg).not.toBeInTheDocument();
|
|
28
|
-
});
|
|
29
|
-
it('renders an icon when specified', () => {
|
|
30
|
-
const { container } = render(_jsx(PageMenuLink, { href: "#", icon: ChevronRightIcon, children: "Link" }));
|
|
31
|
-
const svg = container.querySelector('.ams-icon');
|
|
32
|
-
expect(svg).toBeInTheDocument();
|
|
33
|
-
});
|
|
34
|
-
it('supports ForwardRef in React', () => {
|
|
35
|
-
const ref = createRef();
|
|
36
|
-
render(_jsx(PageMenuLink, { className: "extra", href: "#", ref: ref, children: "Link" }));
|
|
37
|
-
const component = screen.getByRole('link');
|
|
38
|
-
expect(ref.current).toBe(component);
|
|
39
|
-
});
|
|
40
|
-
});
|
package/dist/PageMenu/index.d.ts
DELETED
package/dist/PageMenu/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { PageMenu } from './PageMenu';
|
package/dist/Screen/Screen.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
import type { HTMLAttributes, PropsWithChildren } from 'react';
|
|
6
|
-
type ScreenMaxWidth = 'wide' | 'x-wide';
|
|
7
|
-
export type ScreenProps = {
|
|
8
|
-
/** Whether the screen should stretch to the full height of the viewport. */
|
|
9
|
-
fullHeight?: boolean;
|
|
10
|
-
/** The maximum width of the screen. */
|
|
11
|
-
maxWidth?: ScreenMaxWidth;
|
|
12
|
-
} & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
|
|
13
|
-
export declare const Screen: import("react").ForwardRefExoticComponent<{
|
|
14
|
-
/** Whether the screen should stretch to the full height of the viewport. */
|
|
15
|
-
fullHeight?: boolean;
|
|
16
|
-
/** The maximum width of the screen. */
|
|
17
|
-
maxWidth?: ScreenMaxWidth;
|
|
18
|
-
} & HTMLAttributes<HTMLDivElement> & {
|
|
19
|
-
children?: import("react").ReactNode | undefined;
|
|
20
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
21
|
-
export {};
|
package/dist/Screen/Screen.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
export const Screen = forwardRef(({ children, className, fullHeight, maxWidth = 'wide', ...restProps }, ref) => (_jsx("div", { ...restProps, className: clsx('ams-screen', fullHeight && 'ams-screen--full-height', `ams-screen--${maxWidth}`, className), ref: ref, children: children })));
|
|
9
|
-
Screen.displayName = 'Screen';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
3
|
-
import { createRef } from 'react';
|
|
4
|
-
import { Screen } from './Screen';
|
|
5
|
-
import '@testing-library/jest-dom';
|
|
6
|
-
describe('Screen', () => {
|
|
7
|
-
it('renders', () => {
|
|
8
|
-
const { container } = render(_jsx(Screen, {}));
|
|
9
|
-
const component = container.querySelector(':only-child');
|
|
10
|
-
expect(component).toBeInTheDocument();
|
|
11
|
-
expect(component).toBeVisible();
|
|
12
|
-
});
|
|
13
|
-
it('renders a design system BEM class name', () => {
|
|
14
|
-
const { container } = render(_jsx(Screen, {}));
|
|
15
|
-
const component = container.querySelector(':only-child');
|
|
16
|
-
expect(component).toHaveClass('ams-screen');
|
|
17
|
-
});
|
|
18
|
-
it('renders the max-width class name', () => {
|
|
19
|
-
const { container } = render(_jsx(Screen, { maxWidth: "x-wide" }));
|
|
20
|
-
const component = container.querySelector(':only-child');
|
|
21
|
-
expect(component).toHaveClass('ams-screen--x-wide');
|
|
22
|
-
});
|
|
23
|
-
it('renders the full-height class name', () => {
|
|
24
|
-
const { container } = render(_jsx(Screen, { fullHeight: true }));
|
|
25
|
-
const component = container.querySelector(':only-child');
|
|
26
|
-
expect(component).toHaveClass('ams-screen--full-height');
|
|
27
|
-
});
|
|
28
|
-
it('renders an additional class name', () => {
|
|
29
|
-
const { container } = render(_jsx(Screen, { className: "extra" }));
|
|
30
|
-
const component = container.querySelector(':only-child');
|
|
31
|
-
expect(component).toHaveClass('extra');
|
|
32
|
-
expect(component).toHaveClass('ams-screen');
|
|
33
|
-
});
|
|
34
|
-
it('supports ForwardRef in React', () => {
|
|
35
|
-
const ref = createRef();
|
|
36
|
-
const { container } = render(_jsx(Screen, { ref: ref }));
|
|
37
|
-
const component = container.querySelector(':only-child');
|
|
38
|
-
expect(ref.current).toBe(component);
|
|
39
|
-
});
|
|
40
|
-
});
|
package/dist/Screen/index.d.ts
DELETED
package/dist/Screen/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Screen } from './Screen';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
import type { AnchorHTMLAttributes } from 'react';
|
|
6
|
-
export type TopTaskLinkProps = {
|
|
7
|
-
/** The text content. */
|
|
8
|
-
description: string;
|
|
9
|
-
/** The title. */
|
|
10
|
-
label: string;
|
|
11
|
-
} & AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
12
|
-
export declare const TopTaskLink: import("react").ForwardRefExoticComponent<{
|
|
13
|
-
/** The text content. */
|
|
14
|
-
description: string;
|
|
15
|
-
/** The title. */
|
|
16
|
-
label: string;
|
|
17
|
-
} & AnchorHTMLAttributes<HTMLAnchorElement> & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { forwardRef } from 'react';
|
|
8
|
-
export const TopTaskLink = forwardRef(({ className, description, label, ...restProps }, ref) => (_jsxs("a", { ...restProps, className: clsx('ams-top-task-link', className), ref: ref, children: [_jsx("span", { className: "ams-top-task-link__label", children: label }), _jsx("span", { className: "ams-visually-hidden", children: "," }), _jsx("span", { className: "ams-top-task-link__description", children: description })] })));
|
|
9
|
-
TopTaskLink.displayName = 'TopTaskLink';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { render, screen } from '@testing-library/react';
|
|
3
|
-
import { createRef } from 'react';
|
|
4
|
-
import { TopTaskLink } from './TopTaskLink';
|
|
5
|
-
import '@testing-library/jest-dom';
|
|
6
|
-
describe('Top task link', () => {
|
|
7
|
-
it('renders a link role element', () => {
|
|
8
|
-
render(_jsx(TopTaskLink, { description: "Description", href: "/", label: "Label" }));
|
|
9
|
-
const link = screen.getByRole('link', {
|
|
10
|
-
name: 'Label , Description',
|
|
11
|
-
});
|
|
12
|
-
expect(link).toBeInTheDocument();
|
|
13
|
-
expect(link).toBeVisible();
|
|
14
|
-
});
|
|
15
|
-
it('renders a design system BEM class name', () => {
|
|
16
|
-
render(_jsx(TopTaskLink, { description: "Description", href: "/", label: "Label" }));
|
|
17
|
-
const link = screen.getByRole('link', {
|
|
18
|
-
name: 'Label , Description',
|
|
19
|
-
});
|
|
20
|
-
const label = screen.getByText('Label');
|
|
21
|
-
const description = screen.getByText('Description');
|
|
22
|
-
expect(link).toHaveClass('ams-top-task-link');
|
|
23
|
-
expect(label).toHaveClass('ams-top-task-link__label');
|
|
24
|
-
expect(description).toHaveClass('ams-top-task-link__description');
|
|
25
|
-
});
|
|
26
|
-
it('renders an additional class name', () => {
|
|
27
|
-
render(_jsx(TopTaskLink, { className: "extra", description: "Description", href: "/", label: "Label" }));
|
|
28
|
-
const link = screen.getByRole('link', {
|
|
29
|
-
name: 'Label , Description',
|
|
30
|
-
});
|
|
31
|
-
expect(link).toHaveClass('extra');
|
|
32
|
-
expect(link).toHaveClass('ams-top-task-link');
|
|
33
|
-
});
|
|
34
|
-
it('supports ForwardRef in React', () => {
|
|
35
|
-
const ref = createRef();
|
|
36
|
-
render(_jsx(TopTaskLink, { description: "Description", href: "/", label: "Label", ref: ref }));
|
|
37
|
-
const link = screen.getByRole('link', {
|
|
38
|
-
name: 'Label , Description',
|
|
39
|
-
});
|
|
40
|
-
expect(ref.current).toBe(link);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TopTaskLink } from './TopTaskLink';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TopTaskLink } from './TopTaskLink';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|