@entur/menu 5.2.1-beta.1 → 5.2.1-beta.11
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/dist/BreadcrumbItem.d.ts +19 -0
- package/dist/BreadcrumbNavigation.d.ts +11 -0
- package/dist/CollapsibleSideNavigation.d.ts +27 -0
- package/dist/OverflowMenu.d.ts +55 -0
- package/dist/Pagination.d.ts +69 -0
- package/dist/PaginationInput.d.ts +8 -0
- package/dist/PaginationPage.d.ts +17 -0
- package/dist/SideNavigation.d.ts +16 -0
- package/dist/SideNavigationGroup.d.ts +20 -0
- package/dist/SideNavigationItem.d.ts +33 -0
- package/dist/Stepper.d.ts +39 -0
- package/dist/TopNavigationItem.d.ts +21 -0
- package/dist/index.d.ts +11 -352
- package/dist/index.js +8 -0
- package/dist/menu.cjs.development.js +793 -0
- package/dist/menu.cjs.development.js.map +1 -0
- package/dist/menu.cjs.production.min.js +2 -0
- package/dist/menu.cjs.production.min.js.map +1 -0
- package/dist/menu.esm.js +669 -712
- package/dist/menu.esm.js.map +1 -1
- package/dist/styles.css +736 -707
- package/dist/useControllableProp.d.ts +6 -0
- package/dist/useShowDelayedLabel.d.ts +1 -0
- package/package.json +20 -38
- package/dist/menu.cjs.js +0 -820
- package/dist/menu.cjs.js.map +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './BreadcrumbNavigation.scss';
|
|
3
|
+
import { PolymorphicComponentProps } from '@entur/utils';
|
|
4
|
+
export type BreadcrumbItemOwnProps = {
|
|
5
|
+
/** Komponenten som rendres
|
|
6
|
+
* @default "a"
|
|
7
|
+
*/
|
|
8
|
+
as?: 'a' | React.ElementType;
|
|
9
|
+
/** Teksten som vises */
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/** Ekstra klassenavn */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** True om sist i listen. Settes automatisk av BreadcrumbNavigation-komponenten */
|
|
14
|
+
isCurrent?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export type BreadcrumbItemProps<T extends React.ElementType = typeof defaultElement> = PolymorphicComponentProps<T, BreadcrumbItemOwnProps>;
|
|
17
|
+
declare const defaultElement = "a";
|
|
18
|
+
export declare const BreadcrumbItem: <E extends React.ElementType = "a">({ className, isCurrent, as, ...rest }: BreadcrumbItemProps<E>) => JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './BreadcrumbNavigation.scss';
|
|
3
|
+
export type BreadcrumbNavigationProps = {
|
|
4
|
+
/** Label for brødsmulestien.
|
|
5
|
+
* @default 'Brødsmulesti'
|
|
6
|
+
*/
|
|
7
|
+
'aria-label'?: string;
|
|
8
|
+
/** En liste med BreadcrumbItem-er */
|
|
9
|
+
children: React.ReactElement[];
|
|
10
|
+
};
|
|
11
|
+
export declare const BreadcrumbNavigation: React.FC<BreadcrumbNavigationProps>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SideNavigationProps } from './SideNavigation';
|
|
3
|
+
type CollapsibleSideNavigationProps = SideNavigationProps & {
|
|
4
|
+
/**Tilstand til menyen
|
|
5
|
+
* @default false
|
|
6
|
+
*/
|
|
7
|
+
collapsed?: boolean;
|
|
8
|
+
/** Kalles når menyen åpnes eller lukkes */
|
|
9
|
+
onCollapseToggle?: (e: any) => void;
|
|
10
|
+
/** Posisjonen til Collapsible-knappen, målt fra toppen (som CSS-enhet)
|
|
11
|
+
* @default 50%
|
|
12
|
+
*/
|
|
13
|
+
collapsibleButtonPosition?: string;
|
|
14
|
+
/** Aria-label for knappen som åpner menyen
|
|
15
|
+
* @default "Åpne sidemeny"
|
|
16
|
+
*/
|
|
17
|
+
openSideMenuAriaLabel?: string;
|
|
18
|
+
/** Aria-label for knappen som lukker menyen
|
|
19
|
+
* @default "Lukk sidemeny"
|
|
20
|
+
*/
|
|
21
|
+
closeSideMenuAriaLabel?: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const CollapsibleSideNavigation: React.FC<CollapsibleSideNavigationProps>;
|
|
24
|
+
export declare const useSideNavigationContext: () => {
|
|
25
|
+
isCollapsed: boolean;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Placement } from '@entur/tooltip';
|
|
3
|
+
import { PolymorphicComponentProps } from '@entur/utils';
|
|
4
|
+
import './OverflowMenu.scss';
|
|
5
|
+
export type OverflowMenuProps = {
|
|
6
|
+
/** Menypunkter (OverflowMenuItem eller OverflowMenuLink) */
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
buttonIcon?: React.ReactNode;
|
|
9
|
+
/** Knapp som skal åpne OverflowMenu
|
|
10
|
+
* @default IconButton med VerticalDotsIcon
|
|
11
|
+
*/
|
|
12
|
+
button?: React.ReactElement;
|
|
13
|
+
/** Ekstra klassenavn */
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Posisjoneringen av OverflowMenu-lista
|
|
16
|
+
* @default 'bottom-start'
|
|
17
|
+
*/
|
|
18
|
+
placement?: Placement;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use placement insted.
|
|
21
|
+
* This is done to standardise the name of
|
|
22
|
+
* the relative position prop used in Entur
|
|
23
|
+
* designs sytstem components
|
|
24
|
+
*/
|
|
25
|
+
position?: 'right' | 'left';
|
|
26
|
+
/** Tekst som beskriver knappen som åpner Overflow-menyen
|
|
27
|
+
* @default "åpne valgmeny"
|
|
28
|
+
*/
|
|
29
|
+
'aria-label'?: string;
|
|
30
|
+
};
|
|
31
|
+
export declare const OverflowMenu: ({ children, className, button, buttonIcon, placement, "aria-label": ariaLabel, ...rest }: OverflowMenuProps) => React.JSX.Element;
|
|
32
|
+
type OverflowMenuItemBaseProps = {
|
|
33
|
+
/** Innholdet til OverflowMenuItem */
|
|
34
|
+
children: React.ReactNode;
|
|
35
|
+
/** Ekstra klassenavn */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Det som skjer når elementet er valgt, enten ved museklikk eller Enter-klikk */
|
|
38
|
+
onSelect?: () => void;
|
|
39
|
+
/** Lenke til siden brukeren skal sendes til.
|
|
40
|
+
* Obs: kun én av onSelect og href skal brukes på ett element
|
|
41
|
+
*/
|
|
42
|
+
href?: string;
|
|
43
|
+
/** Om dette valget skal være deaktivert */
|
|
44
|
+
disabled?: boolean;
|
|
45
|
+
};
|
|
46
|
+
export type OverflowMenuItemProps<C extends React.ElementType> = PolymorphicComponentProps<C, OverflowMenuItemBaseProps>;
|
|
47
|
+
export declare const OverflowMenuItem: <C extends React.ElementType = "button">({ children, className, onSelect, href, disabled, as, ...rest }: OverflowMenuItemProps<C>) => React.JSX.Element;
|
|
48
|
+
type OverflowMenuLinkExtendedBaseProps = {
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated onSelect is no longer used
|
|
51
|
+
* in OverflowMenuLink, use 'href' instead */
|
|
52
|
+
onSelect?: () => void;
|
|
53
|
+
};
|
|
54
|
+
export declare const OverflowMenuLink: <C extends React.ElementType = "a">(props: OverflowMenuItemProps<C> & OverflowMenuLinkExtendedBaseProps) => React.JSX.Element;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Pagination.scss';
|
|
3
|
+
export type PaginationProps = {
|
|
4
|
+
/** Ekstra klassenavn */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Sidenummeret som er aktivt nå (1-indeksert) */
|
|
7
|
+
currentPage: number;
|
|
8
|
+
/** Callback for når man ønsker å gå til en ny side */
|
|
9
|
+
onPageChange: (requestedPage: number) => void;
|
|
10
|
+
/** Antall sider totalt */
|
|
11
|
+
pageCount: number;
|
|
12
|
+
/**
|
|
13
|
+
* Hva som blir lest opp når brukere av skjermlesere navigerer til "forrige side knappen"
|
|
14
|
+
* @default "Gå til forrige side"
|
|
15
|
+
*/
|
|
16
|
+
previousPageLabel?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Hva som blir lest opp når brukere av skjermlesere navigerer til "neste side knappen"
|
|
19
|
+
* @default "Gå til neste side"
|
|
20
|
+
*/
|
|
21
|
+
nextPageLabel?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Hva som blir lest opp når brukere av skjermlesere navigerer til "forrige side knappen"
|
|
24
|
+
* @default pageNumber => `Gå til side ${pageNumber}`,
|
|
25
|
+
*/
|
|
26
|
+
pageLabel?: (pageNumber: number) => string;
|
|
27
|
+
/**
|
|
28
|
+
* @default "Nåværende side:"
|
|
29
|
+
*/
|
|
30
|
+
currentPageLabelForScreenreader?: string;
|
|
31
|
+
/** Vis et felt til høyre for pagineringen hvor man kan angi siden man
|
|
32
|
+
* ønsker å vise i et tekstfelt.
|
|
33
|
+
*
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
showInput?: boolean;
|
|
37
|
+
/** Label som vises til venstre for input-feltet som vises om `showInput` er true
|
|
38
|
+
* @default "Gå til side"
|
|
39
|
+
*/
|
|
40
|
+
inputLabel?: string;
|
|
41
|
+
/** Hvor mange resultater man har totalt */
|
|
42
|
+
numberOfResults?: number;
|
|
43
|
+
/** Hvor mange resultater som vises per side */
|
|
44
|
+
resultsPerPage?: number;
|
|
45
|
+
/**
|
|
46
|
+
* @default [10,25,50]
|
|
47
|
+
*/
|
|
48
|
+
resultsPerPageOptions?: number[];
|
|
49
|
+
/** Callback for når resultater per side oppdateres */
|
|
50
|
+
onResultsPerPageChange?: (e: number) => void;
|
|
51
|
+
/** Brukes for å skjule "neste side"-knappen
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
hideNextButton?: boolean;
|
|
55
|
+
/** Brukes for å skjule "forrige side"-knappen
|
|
56
|
+
* @default false
|
|
57
|
+
*/
|
|
58
|
+
hidePrevButton?: boolean;
|
|
59
|
+
/** Teksten som vises for hvilke resultater av sideantallet man viser.
|
|
60
|
+
* @default `Viser resultat ${minPage} - ${maxPage} av ${pageCount}`
|
|
61
|
+
*/
|
|
62
|
+
showingResultsLabel?: (minPage: number, maxPage: number, pageCount: number) => string;
|
|
63
|
+
/** Teksten som vises før "resultsPerPage"-velgeren
|
|
64
|
+
* @default "Vis"
|
|
65
|
+
*/
|
|
66
|
+
showNumberOfResultsLabel?: string;
|
|
67
|
+
[key: string]: any;
|
|
68
|
+
};
|
|
69
|
+
export declare const Pagination: React.FC<PaginationProps>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type PaginationPageProps = {
|
|
3
|
+
/** Sidenummeret som er aktivt nå */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Ekstra klassenavn */
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Viser siden som aktiv */
|
|
8
|
+
selected?: boolean;
|
|
9
|
+
/** Viser knappen som inaktiv */
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
/** Callback for når man trykker på siden */
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
/** Tekst for skjermlesere */
|
|
14
|
+
'aria-label': string;
|
|
15
|
+
'aria-describedby'?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const PaginationPage: React.FC<PaginationPageProps>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './SideNavigation.scss';
|
|
3
|
+
export type SideNavigationProps = {
|
|
4
|
+
/** Ekstra klassenavn */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Størrelse på menyen
|
|
7
|
+
* @default 'medium'
|
|
8
|
+
*/
|
|
9
|
+
size?: 'small' | 'medium';
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
};
|
|
12
|
+
type InternalMarker = {
|
|
13
|
+
__IS_ENTUR_MENU__: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const SideNavigation: React.FC<SideNavigationProps> & InternalMarker;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type SideNavigationGroupProps = {
|
|
3
|
+
/** Skal menygruppen være ekspandert by default? Kun relevant om komponenten ikke er kontrollert
|
|
4
|
+
* @default false
|
|
5
|
+
*/
|
|
6
|
+
defaultOpen?: boolean;
|
|
7
|
+
/** Er menyen åpen? */
|
|
8
|
+
open?: boolean;
|
|
9
|
+
/** Kalles når menygruppen åpnes eller lukkes */
|
|
10
|
+
onToggle?: (e?: boolean) => void;
|
|
11
|
+
/** Ekstra klassenavn */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Menyen som skal grupperes */
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
/** Overskriften til menyen */
|
|
16
|
+
title: React.ReactNode;
|
|
17
|
+
icon?: React.ReactNode;
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
export declare const SideNavigationGroup: React.FC<SideNavigationGroupProps>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PolymorphicComponentProps } from '@entur/utils';
|
|
3
|
+
type BaseSideNavigationItemOwnProps = {
|
|
4
|
+
active?: boolean;
|
|
5
|
+
as?: 'a' | 'button' | React.ElementType;
|
|
6
|
+
className?: string;
|
|
7
|
+
icon?: React.ReactNode;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
subMenu?: React.ReactNode;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
};
|
|
12
|
+
export type BaseSideNavigationItemProps<T extends React.ElementType = typeof defaultElementBaseItem> = PolymorphicComponentProps<T, BaseSideNavigationItemOwnProps>;
|
|
13
|
+
declare const defaultElementBaseItem = "a";
|
|
14
|
+
export type SideNavigationItemOwnProps = {
|
|
15
|
+
/** Om meny-elementet er det som er aktivt */
|
|
16
|
+
active?: boolean;
|
|
17
|
+
/** HTML-elementet eller React-komponenten som rendres */
|
|
18
|
+
as?: 'a' | 'button' | React.ElementType;
|
|
19
|
+
/** Ekstra klassenavn */
|
|
20
|
+
className?: string;
|
|
21
|
+
/** Om meny-elementet er deaktivert */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Callback for når man klikker på meny-elementet */
|
|
24
|
+
onClick?: (e: React.MouseEvent) => any;
|
|
25
|
+
/** Sett til true om du vil tvinge alle sub-menus til å rendre barna sine. Typisk for å vise søkeresultater */
|
|
26
|
+
forceExpandSubMenus?: boolean;
|
|
27
|
+
icon?: React.ReactNode;
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
};
|
|
30
|
+
export type SideNavigationItemProps<T extends React.ElementType = typeof defaultElementItem> = PolymorphicComponentProps<T, SideNavigationItemOwnProps>;
|
|
31
|
+
declare const defaultElementItem = "a";
|
|
32
|
+
export declare const SideNavigationItem: <E extends React.ElementType = typeof defaultElementItem>(props: SideNavigationItemProps<E>) => React.ReactElement | null;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Stepper.scss';
|
|
3
|
+
export type StepperProps = {
|
|
4
|
+
/** Liste med steg-navn i rekkefølge. */
|
|
5
|
+
steps: string[];
|
|
6
|
+
/** Det nåværende steget. 0-indeksert */
|
|
7
|
+
activeIndex: number;
|
|
8
|
+
/** Om stepperen skal være et interaktivt-navigasjonselement eller ikke
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
11
|
+
interactive?: boolean;
|
|
12
|
+
/** Kalles med indeksen til det klikkede steget.
|
|
13
|
+
* Fungerer kun hvis Stepper-en er interaktiv */
|
|
14
|
+
onStepClick?: (index: number) => void;
|
|
15
|
+
/** Om stepper skal vise indeksering av hvilket trinn man er på
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
showStepperIndex?: boolean;
|
|
19
|
+
/** Ekstra klassenavn. */
|
|
20
|
+
className?: string;
|
|
21
|
+
/** Skjermlesertekst for ordet 'steg' som i '_steg_ 1 av 3'
|
|
22
|
+
* @default 'Steg'
|
|
23
|
+
*/
|
|
24
|
+
ariaLabelStep?: string;
|
|
25
|
+
/** Skjermlesertekst for ordet 'av' som i 'steg 1 _av_ 3'
|
|
26
|
+
* @defaul 'av'
|
|
27
|
+
*/
|
|
28
|
+
ariaLabelOf?: string;
|
|
29
|
+
/** Skjermlesertekst for ordet fullført
|
|
30
|
+
* @default 'fullført'
|
|
31
|
+
*/
|
|
32
|
+
ariaLabelCompleted?: string;
|
|
33
|
+
/** Skjermlesertekst for oppsummering av hele stepper-en
|
|
34
|
+
* @default `Stegindikator med ${steps.length} steg, du er på steg ${activeIndex + 1} ${steps[activeIndex]},`
|
|
35
|
+
*/
|
|
36
|
+
ariaLabelSummary?: string;
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
};
|
|
39
|
+
export declare const Stepper: React.FC<StepperProps>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './TopNavigationItem.scss';
|
|
3
|
+
import { PolymorphicComponentProps } from '@entur/utils';
|
|
4
|
+
export type TopNavigationItemOwnProps = {
|
|
5
|
+
/** Om komponenten vises som valgt eller ikke
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
active?: boolean;
|
|
9
|
+
/** Tekste som vises */
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/** HTML-elementet eller React-komponenten som lager komponenten
|
|
12
|
+
* @default 'a'
|
|
13
|
+
*/
|
|
14
|
+
as?: 'a' | React.ElementType;
|
|
15
|
+
/** Ekstra klassenavn */
|
|
16
|
+
className?: string;
|
|
17
|
+
};
|
|
18
|
+
export type TopNavigationItemProps<T extends React.ElementType = typeof defaultElement> = PolymorphicComponentProps<T, TopNavigationItemOwnProps>;
|
|
19
|
+
declare const defaultElement = "a";
|
|
20
|
+
export declare const TopNavigationItem: <E extends React.ElementType = "a">({ active, className, as, ...rest }: TopNavigationItemProps<E>) => JSX.Element;
|
|
21
|
+
export {};
|