@entur/menu 5.0.0-alpha.0 → 5.0.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/dist/OverflowMenu.d.ts +31 -24
- package/dist/Pagination.d.ts +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/menu.cjs.development.js +388 -294
- package/dist/menu.cjs.development.js.map +1 -1
- package/dist/menu.cjs.production.min.js +1 -1
- package/dist/menu.cjs.production.min.js.map +1 -1
- package/dist/menu.esm.js +391 -297
- package/dist/menu.esm.js.map +1 -1
- package/dist/styles.css +664 -296
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.cjs.development.js","sources":["../src/BreadcrumbNavigation.tsx","../src/BreadcrumbItem.tsx","../src/SideNavigation.tsx","../src/useControllableProp.ts","../src/CollapsibleSideNavigation.tsx","../src/useShowDelayedLabel.ts","../src/SideNavigationItem.tsx","../src/SideNavigationGroup.tsx","../src/TopNavigationItem.tsx","../src/PaginationPage.tsx","../src/PaginationInput.tsx","../src/OverflowMenu.tsx","../src/Pagination.tsx","../src/Stepper.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport './BreadcrumbNavigation.scss';\n\nexport type BreadcrumbNavigationProps = {\n /** Label for brødsmulestien.\n * @default 'Brødsmulesti'\n */\n 'aria-label'?: string;\n /** En liste med BreadcrumbItem-er */\n children: React.ReactElement[];\n};\n\nexport const BreadcrumbNavigation: React.FC<BreadcrumbNavigationProps> = ({\n 'aria-label': ariaLabel = 'Brødsmulesti',\n children,\n}) => {\n return (\n <nav aria-label={ariaLabel}>\n <ol className=\"eds-breadcrumbs\">\n {React.Children.map(children, (child, index) => {\n // @ts-expect-error should check if children are correct but for now it is only mentioned in the documentation\n return React.cloneElement(child, {\n isCurrent: index + 1 === React.Children.count(children),\n });\n })}\n </ol>\n </nav>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { RightArrowIcon } from '@entur/icons';\nimport './BreadcrumbNavigation.scss';\nimport { PolymorphicComponentProps } from '@entur/utils';\n\nexport type BreadcrumbItemOwnProps = {\n /** Komponenten som rendres\n * @default \"a\"\n */\n as?: 'a' | React.ElementType;\n /** Teksten som vises */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** True om sist i listen. Settes automatisk av BreadcrumbNavigation-komponenten */\n isCurrent?: boolean;\n};\n\nexport type BreadcrumbItemProps<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicComponentProps<T, BreadcrumbItemOwnProps>;\n\nconst defaultElement = 'a';\n\nexport const BreadcrumbItem = <\n E extends React.ElementType = typeof defaultElement,\n>({\n className,\n isCurrent,\n as,\n ...rest\n}: BreadcrumbItemProps<E>): JSX.Element => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <>\n <li className={classNames('eds-breadcrumb__item', className)}>\n <Element\n aria-current={isCurrent ? 'page' : undefined}\n className={classNames('eds-breadcrumb__link', {\n 'eds-breadcrumb__link--current': isCurrent,\n })}\n {...rest}\n />\n </li>\n {!isCurrent && (\n <RightArrowIcon\n className=\"eds-breadcrumb__separator\"\n inline\n role=\"presentation\"\n />\n )}\n </>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './SideNavigation.scss';\n\nexport type SideNavigationProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Størrelse på menyen\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n [key: string]: any;\n};\n\ntype InternalMarker = {\n __IS_ENTUR_MENU__: boolean;\n};\n\nexport const SideNavigation: React.FC<SideNavigationProps> & InternalMarker = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n if (!children || !React.Children.count(children)) {\n return null;\n }\n return (\n <ul\n className={classNames(\n 'eds-side-navigation',\n { 'eds-side-navigation--small': size === 'small' },\n className,\n )}\n {...rest}\n >\n {children}\n </ul>\n );\n};\n\n/** This is required to check that the Menu */\nSideNavigation.__IS_ENTUR_MENU__ = true;\n","import { useState, useEffect } from 'react';\nexport type UseControllablePropType<T> = {\n prop?: T;\n updater?: (value?: T) => void;\n defaultValue: T;\n};\nexport function useControllableProp<T>({\n prop,\n updater = () => undefined,\n defaultValue,\n}: UseControllablePropType<T>): [T, (arg: T) => void] {\n const [internalState, setInternalState] = useState<T>(defaultValue);\n useEffect(() => {\n if (prop !== undefined) {\n setInternalState(prop);\n }\n }, [prop]);\n return prop === undefined\n ? [internalState, setInternalState]\n : [prop, updater];\n}\n","import React from 'react';\nimport { SideNavigationProps } from './SideNavigation';\nimport { useControllableProp } from './useControllableProp';\nimport classNames from 'classnames';\nimport { LeftArrowIcon, MenuIcon } from '@entur/icons';\n\ntype CollapsibleSideNavigationProps = SideNavigationProps & {\n /**Tilstand til menyen\n * @default false\n */\n collapsed?: boolean;\n /** Kalles når menyen åpnes eller lukkes */\n onCollapseToggle?: (e: any) => void;\n /** Posisjonen til Collapsible-knappen, målt fra toppen (som CSS-enhet)\n * @default 50%\n */\n collapsibleButtonPosition?: string;\n /** Aria-label for knappen som åpner menyen\n * @default \"Åpne sidemeny\"\n */\n openSideMenuAriaLabel?: string;\n /** Aria-label for knappen som lukker menyen\n * @default \"Lukk sidemeny\"\n */\n closeSideMenuAriaLabel?: string;\n};\n\nexport const CollapsibleSideNavigation: React.FC<CollapsibleSideNavigationProps> =\n ({\n className,\n children,\n size,\n collapsed: collapsible,\n onCollapseToggle,\n collapsibleButtonPosition = '50%',\n openSideMenuAriaLabel = 'Åpne sidemeny',\n closeSideMenuAriaLabel = 'Lukk sidemeny',\n ...rest\n }) => {\n const [collapsedMenu, setCollapsedMenu] = useControllableProp({\n prop: collapsible,\n defaultValue: false,\n updater: onCollapseToggle,\n });\n\n return (\n <SideNavigationContext.Provider\n value={{\n isCollapsed: collapsedMenu,\n }}\n >\n <ul\n className={classNames(\n 'eds-side-navigation',\n { 'eds-side-navigation--small': size === 'small' },\n { 'eds-side-navigation--collapsed': collapsedMenu },\n className,\n )}\n {...rest}\n >\n {children}\n <button\n className=\"eds-side-navigation__collapse-button\"\n onClick={() => setCollapsedMenu(!collapsedMenu)}\n style={{ top: `${collapsibleButtonPosition}` }}\n >\n {collapsedMenu ? (\n <MenuIcon aria-label={openSideMenuAriaLabel} />\n ) : (\n <LeftArrowIcon aria-label={closeSideMenuAriaLabel} />\n )}\n </button>\n </ul>\n </SideNavigationContext.Provider>\n );\n };\n\nconst SideNavigationContext = React.createContext<{\n isCollapsed: boolean;\n}>({\n isCollapsed: false,\n});\n\nexport const useSideNavigationContext: () => { isCollapsed: boolean } = () => {\n const context = React.useContext(SideNavigationContext);\n if (!context) {\n console.error(\n 'Error reading SideNavigationContext. Please contact maintainer of @entur/menu',\n );\n }\n return context;\n};\n","import { useEffect, useState } from 'react';\n\nexport const useShowDelayedLabel = (isCollapsed: boolean): [boolean] => {\n const [showLabel, setShowLabel] = useState(true);\n const hideDelay = 50;\n const showDelay = 200;\n useEffect(() => {\n if (isCollapsed) {\n setTimeout(() => {\n setShowLabel(false);\n }, hideDelay);\n }\n if (!isCollapsed) {\n setTimeout(() => {\n setShowLabel(true);\n }, showDelay);\n }\n return () => undefined;\n }, [isCollapsed]);\n return [showLabel];\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { useSideNavigationContext } from './CollapsibleSideNavigation';\nimport { useShowDelayedLabel } from './useShowDelayedLabel';\nimport { PolymorphicComponentProps } from '@entur/utils';\n\nfunction isActiveRecursively(child: any): boolean {\n if (!child.props) {\n return false;\n }\n if (child.props.active) {\n return true;\n }\n if (!child.props.children) {\n return false;\n }\n\n return React.Children.toArray(child.props.children).some(child =>\n isActiveRecursively(child),\n );\n}\n\ntype BaseSideNavigationItemOwnProps = {\n active?: boolean;\n as?: 'a' | 'button' | React.ElementType;\n className?: string;\n icon?: React.ReactNode;\n children: React.ReactNode;\n subMenu?: React.ReactNode;\n [key: string]: any;\n};\n\nexport type BaseSideNavigationItemProps<\n T extends React.ElementType = typeof defaultElementBaseItem,\n> = PolymorphicComponentProps<T, BaseSideNavigationItemOwnProps>;\n\nconst defaultElementBaseItem = 'a';\n\nconst BaseSideNavigationItem: <\n E extends React.ElementType = typeof defaultElementBaseItem,\n>(\n props: BaseSideNavigationItemProps<E>,\n) => React.ReactElement | null = React.forwardRef(\n <E extends React.ElementType = typeof defaultElementBaseItem>(\n {\n className,\n active = false,\n subMenu,\n icon,\n children,\n as,\n ...rest\n }: BaseSideNavigationItemProps<E>,\n ref: typeof rest.ref,\n ) => {\n const Element: React.ElementType = as || defaultElementBaseItem;\n const { isCollapsed } = useSideNavigationContext();\n const [showLabel] = useShowDelayedLabel(isCollapsed);\n return (\n <li className={classNames('eds-side-navigation__item', className)}>\n <Element\n className={classNames('eds-side-navigation__click-target', {\n 'eds-side-navigation__click-target--active': active,\n })}\n aria-label={icon ? children : undefined}\n aria-current={active ? 'page' : undefined}\n ref={ref}\n {...rest}\n >\n {icon}\n {showLabel && children}\n </Element>\n {subMenu}\n </li>\n );\n },\n);\n\ntype DisabledSideNavigationItemProps = {\n children: React.ReactNode;\n [key: string]: any;\n};\nconst DisabledSideNavigationItem = React.forwardRef<\n HTMLButtonElement,\n DisabledSideNavigationItemProps\n>(({ children, ...rest }, ref: React.Ref<HTMLButtonElement>) => (\n <BaseSideNavigationItem\n as=\"button\"\n disabled={true}\n aria-disabled={true}\n ref={ref}\n {...rest}\n >\n {children}\n </BaseSideNavigationItem>\n));\n\nexport type SideNavigationItemOwnProps = {\n /** Om meny-elementet er det som er aktivt */\n active?: boolean;\n /** HTML-elementet eller React-komponenten som rendres */\n as?: 'a' | 'button' | React.ElementType;\n /** Ekstra klassenavn */\n className?: string;\n /** Om meny-elementet er deaktivert */\n disabled?: boolean;\n /** Callback for når man klikker på meny-elementet */\n onClick?: (e: React.MouseEvent) => any;\n /** Sett til true om du vil tvinge alle sub-menus til å rendre barna sine. Typisk for å vise søkeresultater */\n forceExpandSubMenus?: boolean;\n icon?: React.ReactNode;\n [key: string]: any;\n};\n\nexport type SideNavigationItemProps<\n T extends React.ElementType = typeof defaultElementItem,\n> = PolymorphicComponentProps<T, SideNavigationItemOwnProps>;\n\nconst defaultElementItem = 'a';\n\nexport const SideNavigationItem: <\n E extends React.ElementType = typeof defaultElementItem,\n>(\n props: SideNavigationItemProps<E>,\n) => React.ReactElement | null = React.forwardRef(\n <E extends React.ElementType = typeof defaultElementItem>(\n {\n active,\n disabled,\n children,\n forceExpandSubMenus,\n as,\n ...rest\n }: SideNavigationItemProps<E>,\n ref: typeof rest.ref,\n ) => {\n const Element: React.ElementType = as || defaultElementItem;\n const childrenArray = React.Children.toArray(children);\n const subMenu = childrenArray.find(\n (child: any) => child && child.type && child.type.__IS_ENTUR_MENU__,\n );\n const label = subMenu\n ? childrenArray.filter(child => child !== subMenu)\n : children;\n\n if (disabled) {\n return (\n <DisabledSideNavigationItem ref={ref} {...rest}>\n {label}\n </DisabledSideNavigationItem>\n );\n }\n\n if (!subMenu) {\n return (\n <BaseSideNavigationItem\n as={Element}\n active={active}\n ref={ref}\n {...rest}\n >\n {label}\n </BaseSideNavigationItem>\n );\n }\n\n const isExpanded =\n forceExpandSubMenus ||\n isActiveRecursively({ props: { children, active } });\n\n return (\n <BaseSideNavigationItem\n active={active}\n subMenu={isExpanded && subMenu}\n aria-expanded={isExpanded}\n as={Element}\n ref={ref}\n {...rest}\n >\n {label}\n </BaseSideNavigationItem>\n );\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport { BaseExpand, ExpandArrow } from '@entur/expand';\nimport { useSideNavigationContext } from './CollapsibleSideNavigation';\nimport { useShowDelayedLabel } from './useShowDelayedLabel';\nimport { useControllableProp } from './useControllableProp';\n\nexport type SideNavigationGroupProps = {\n /** Skal menygruppen være ekspandert by default? Kun relevant om komponenten ikke er kontrollert\n * @default false\n */\n defaultOpen?: boolean;\n /** Er menyen åpen? */\n open?: boolean;\n /** Kalles når menygruppen åpnes eller lukkes */\n onToggle?: (e?: boolean) => void;\n /** Ekstra klassenavn */\n className?: string;\n /** Menyen som skal grupperes */\n children: React.ReactNode;\n /** Overskriften til menyen */\n title: React.ReactNode;\n icon?: React.ReactNode;\n [key: string]: any;\n};\n\nexport const SideNavigationGroup: React.FC<SideNavigationGroupProps> = ({\n defaultOpen = false,\n open,\n onToggle,\n className,\n children,\n title,\n icon,\n ...rest\n}) => {\n const [isOpen, setOpen] = useControllableProp({\n prop: open,\n updater: onToggle,\n defaultValue: defaultOpen,\n });\n const { isCollapsed } = useSideNavigationContext();\n\n const [showLabel] = useShowDelayedLabel(isCollapsed);\n\n return (\n <div\n className={classNames('eds-side-navigation-group', className)}\n {...rest}\n >\n <button\n onClick={() => setOpen(!isOpen)}\n type=\"button\"\n className=\"eds-side-navigation-group__trigger\"\n aria-label={`${title}, utvidbar meny, ${isOpen ? 'åpen' : 'lukket'}`}\n >\n <span>\n {icon && (\n <span className=\"eds-side-navigation-group__trigger-icon\">\n {icon}\n </span>\n )}\n {showLabel && title}\n </span>\n {showLabel && (\n <ExpandArrow\n open={isOpen}\n className=\"eds-side-navigation-group__expand-icon\"\n />\n )}\n </button>\n <BaseExpand open={isOpen}>{children}</BaseExpand>\n </div>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './TopNavigationItem.scss';\nimport { PolymorphicComponentProps } from '@entur/utils';\n\nexport type TopNavigationItemOwnProps = {\n /** Om komponenten vises som valgt eller ikke\n * @default false\n */\n active?: boolean;\n /** Tekste som vises */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten\n * @default 'a'\n */\n as?: 'a' | React.ElementType;\n /** Ekstra klassenavn */\n className?: string;\n};\n\nexport type TopNavigationItemProps<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicComponentProps<T, TopNavigationItemOwnProps>;\n\nconst defaultElement = 'a';\n\nexport const TopNavigationItem = <\n E extends React.ElementType = typeof defaultElement,\n>({\n active = false,\n className,\n as,\n ...rest\n}: TopNavigationItemProps<E>): JSX.Element => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames([\n 'eds-top-navigation-item',\n className,\n { 'eds-top-navigation-item--active': active },\n ])}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\n\nexport type PaginationPageProps = {\n /** Sidenummeret som er aktivt nå */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Viser siden som aktiv */\n selected?: boolean;\n /** Viser knappen som inaktiv */\n disabled?: boolean;\n /** Callback for når man trykker på siden */\n onClick: () => void;\n /** Tekst for skjermlesere */\n 'aria-label': string;\n 'aria-describedby'?: string;\n};\nexport const PaginationPage: React.FC<PaginationPageProps> = ({\n children,\n className,\n selected,\n disabled,\n onClick,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedby,\n}) => (\n <button\n className={classNames(\n 'eds-pagination__page',\n { 'eds-pagination__page--selected': selected },\n { 'eds-pagination__page--disabled': disabled },\n className,\n )}\n disabled={selected || disabled}\n type=\"button\"\n onClick={onClick}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n aria-current={selected ? 'page' : false}\n >\n {children}\n </button>\n);\n","import React from 'react';\n\nexport type PaginationInputProps = {\n currentPage: number;\n label?: string;\n onPageChange: (pageNumber: number) => void;\n pageCount: number;\n};\n\nexport const PaginationInput: React.FC<PaginationInputProps> = ({\n currentPage,\n pageCount,\n label = 'Gå til side',\n onPageChange,\n}) => {\n const [input, setInput] = React.useState(String(currentPage));\n // If the currentPage prop changes, we want to reset the input field\n React.useEffect(() => {\n setInput(String(currentPage));\n }, [currentPage]);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n e.stopPropagation();\n let pageNumber = Number(input);\n if (pageNumber === currentPage) {\n return;\n }\n if (Number.isNaN(pageNumber)) {\n pageNumber = currentPage;\n setInput(String(currentPage));\n return;\n }\n if (pageNumber > pageCount) {\n pageNumber = pageCount;\n setInput(String(pageCount));\n } else if (pageNumber < 1) {\n pageNumber = 1;\n setInput(String(1));\n }\n onPageChange(pageNumber);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInput(e.target.value);\n };\n\n return (\n <form onSubmit={handleSubmit} noValidate aria-label=\"form\">\n <label className=\"eds-pagination__input-wrapper\">\n <span className=\"eds-pagination__input-label\">{label}</span>\n <input\n type=\"number\"\n max={pageCount}\n className=\"eds-pagination__input-field\"\n value={input}\n onChange={handleChange}\n />\n </label>\n </form>\n );\n};\n","import React, { cloneElement } from 'react';\nimport {\n Menu,\n MenuButton,\n MenuItem,\n MenuLink,\n MenuList,\n} from '@reach/menu-button';\nimport type {\n MenuButtonProps,\n MenuItemProps,\n MenuLinkProps,\n} from '@reach/menu-button';\nimport { IconButton } from '@entur/button';\nimport { VerticalDotsIcon } from '@entur/icons';\nimport { Contrast, useContrast } from '@entur/layout';\nimport classNames from 'classnames';\nimport type { ForwardRefComponent } from '@reach/polymorphic';\n\nimport './OverflowMenu.scss';\n\nexport type OverflowMenuProps = {\n /** Menypunkter (OverflowMenuItem eller OverflowMenuLink) */\n children: React.ReactNode;\n /** Knapp som skal åpne OverflowMenu\n * @default IconButton med VerticalDotsIcon\n */\n button?: React.ReactElement;\n /** Ekstra klassenavn */\n className?: string;\n /** Posisjoneringen av OverflowMenu-lista\n * @default 'right'\n */\n position?: 'right' | 'left';\n} & MenuButtonProps;\n\nexport const OverflowMenu: React.FC<OverflowMenuProps> = ({\n children,\n className,\n button,\n position = 'right',\n ...rest\n}) => {\n return (\n <div>\n <Menu>\n {!button ? (\n <IconButton\n as={MenuButton}\n className={classNames(className, 'eds-overflow-menu__menu-button')}\n {...rest}\n >\n <VerticalDotsIcon />\n </IconButton>\n ) : (\n cloneElement(button, {\n as: MenuButton,\n className: classNames(className, 'eds-overflow-menu__menu-button'),\n ...rest,\n })\n )}\n {useContrast() ? (\n <Contrast\n className={classNames('eds-overflow-menu__menu-list')}\n as={MenuList}\n portal={false}\n >\n {[children]}\n </Contrast>\n ) : (\n <MenuList\n className={classNames('eds-overflow-menu__menu-list', {\n 'eds-overflow-menu__menu-list--left': position === 'left',\n })}\n portal={false}\n >\n {[children]}\n </MenuList>\n )}\n </Menu>\n </div>\n );\n};\n\nexport type OverflowMenuItemProps = {\n /** Innholdet til OverflowMenuItem */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default \"button\"\n */\n as?: 'button' | React.ElementType;\n /** Ekstra klassenavn */\n className?: string;\n /** Det som skjer når elementet er valgt, enten ved museklikk eller Enter-klikk */\n onSelect: () => void;\n} & MenuItemProps;\n\nexport const OverflowMenuItem = React.forwardRef(\n ({ children, className, onSelect, disabled, as = 'div', ...rest }, ref) => {\n return (\n <MenuItem\n className={classNames(\n 'eds-overflow-menu__item',\n { 'eds-overflow-menu__item--disabled': disabled },\n className,\n )}\n onSelect={onSelect}\n disabled={disabled}\n ref={ref}\n as={as}\n {...rest}\n >\n {children}\n </MenuItem>\n );\n },\n) as ForwardRefComponent<'div', OverflowMenuItemProps>;\n\nexport type OverflowMenuLinkProps = {\n /** Innholdet til OverflowMenuLink */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default \"a\"\n */\n as?: string | React.ReactElement;\n /** Ekstra klassenavn */\n className?: string;\n /** Det som skjer når elementet er valgt, enten ved museklikk eller Enter-klikk */\n onSelect: () => void;\n} & MenuLinkProps;\n\nexport const OverflowMenuLink = React.forwardRef(\n ({ children, as = 'a', className, onSelect, disabled, ...rest }, ref) => {\n return (\n <MenuLink\n as={as}\n className={classNames(\n 'eds-overflow-menu__item',\n { 'eds-overflow-menu__item--disabled': disabled },\n className,\n )}\n onSelect={onSelect}\n disabled={disabled}\n ref={ref}\n {...rest}\n >\n {children}\n </MenuLink>\n );\n },\n) as ForwardRefComponent<'a', OverflowMenuLinkProps>;\n","import React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { Menu, MenuList, MenuButton } from '@reach/menu-button';\n\nimport {\n LeftArrowIcon,\n RightArrowIcon,\n DownArrowIcon,\n UpArrowIcon,\n} from '@entur/icons';\nimport { VisuallyHidden } from '@entur/a11y';\nimport { useContrast } from '@entur/layout';\nimport { Label } from '@entur/typography';\nimport { useRandomId } from '@entur/utils';\n\nimport { PaginationPage } from './PaginationPage';\nimport { PaginationInput } from './PaginationInput';\nimport { OverflowMenuItem } from './OverflowMenu';\n\nimport './Pagination.scss';\n\nexport type PaginationProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Sidenummeret som er aktivt nå (1-indeksert) */\n currentPage: number;\n /** Callback for når man ønsker å gå til en ny side */\n onPageChange: (requestedPage: number) => void;\n /** Antall sider totalt */\n pageCount: number;\n /**\n * Hva som blir lest opp når brukere av skjermlesere navigerer til \"forrige side knappen\"\n * @default \"Gå til forrige side\"\n */\n previousPageLabel?: string;\n /**\n * Hva som blir lest opp når brukere av skjermlesere navigerer til \"neste side knappen\"\n * @default \"Gå til neste side\"\n */\n nextPageLabel?: string;\n /**\n * Hva som blir lest opp når brukere av skjermlesere navigerer til \"forrige side knappen\"\n * @default pageNumber => `Gå til side ${pageNumber}`,\n */\n pageLabel?: (pageNumber: number) => string;\n /**\n * @default \"Nåværende side:\"\n */\n currentPageLabelForScreenreader?: string;\n /** Vis et felt til høyre for pagineringen hvor man kan angi siden man\n * ønsker å vise i et tekstfelt.\n *\n * @default false\n */\n showInput?: boolean;\n /** Label som vises til venstre for input-feltet som vises om `showInput` er true\n * @default \"Gå til side\"\n */\n inputLabel?: string;\n\n /** Hvor mange resultater man har totalt */\n nubmerOfResults?: number;\n /** Hvor mange resultater som vises per side */\n resultsPerPage?: number;\n /**\n * @default [10,25,50]\n */\n resultsPerPageOptions?: number[];\n /** Callback for når resultater per side oppdateres */\n onResultsPerPageChange?: (e: number) => void;\n /** Brukes for å skjule \"neste side\"-knappen\n * @default false\n */\n hideNextButton?: boolean;\n /** Brukes for å skjule \"forrige side\"-knappen\n * @default false\n */\n hidePrevButton?: boolean;\n /** Teksten som vises for hvilke resultater av sideantallet man viser.\n * @default `Viser resultat ${minPage} - ${maxPage} av ${pageCount}`\n */\n showingResultsLabel?: (\n minPage: number,\n maxPage: number,\n pageCount: number,\n ) => string;\n /** Teksten som vises før \"resultsPerPage\"-velgeren\n * @default \"Vis\"\n */\n showNumberOfResultsLabel?: string;\n [key: string]: any;\n};\n\nexport const Pagination: React.FC<PaginationProps> = ({\n className,\n currentPage,\n inputLabel,\n onPageChange,\n pageCount,\n pageLabel = pageNumber => `Gå til side ${pageNumber}`,\n previousPageLabel = 'Gå til forrige side',\n currentPageLabelForScreenreader = 'Nåværende side:',\n lastPageLabelForScreenreader = ', siste side',\n showInput,\n\n numberOfResults,\n resultsPerPage,\n resultsPerPageOptions = [10, 25, 50],\n onResultsPerPageChange,\n\n showNumberOfResultsLabel = 'Vis',\n nextPageLabel = 'Gå til neste side',\n showingResultsLabel = (minPage, maxPage, pageCount) =>\n `Viser resultat ${minPage}–${maxPage} av ${pageCount}`,\n hideNextButton = false,\n hidePrevButton = false,\n ...rest\n}) => {\n const isContrast = useContrast();\n const [listedEntries, setListedEntries] = useState<Array<number | '…'>>([]);\n const paginationId = useRandomId('eds-pagination');\n\n const isFirstPostSelected = currentPage === 1;\n const isLastPostSelected = currentPage === pageCount;\n const noEllipsis = pageCount <= 7;\n const onlyLeadingEllipsis = !noEllipsis && currentPage < 5;\n const onlyTrailingEllipsis = !noEllipsis && pageCount - currentPage <= 3;\n\n useEffect(() => {\n if (pageCount < 1) return;\n if (noEllipsis) {\n setListedEntries(\n Array(pageCount)\n .fill(null)\n .map((_, i) => i + 1),\n );\n } else if (onlyLeadingEllipsis) {\n setListedEntries([1, 2, 3, 4, 5, '…', pageCount]);\n } else if (onlyTrailingEllipsis) {\n setListedEntries([\n 1,\n '…',\n pageCount - 4,\n pageCount - 3,\n pageCount - 2,\n pageCount - 1,\n pageCount,\n ]);\n } else {\n // leading and trailing ellipsis\n setListedEntries([\n 1,\n '…',\n currentPage - 1,\n currentPage,\n currentPage + 1,\n '…',\n pageCount,\n ]);\n }\n }, [\n noEllipsis,\n onlyLeadingEllipsis,\n onlyTrailingEllipsis,\n currentPage,\n pageCount,\n ]);\n\n if (pageCount < 1) {\n return null;\n }\n\n return (\n <nav\n className={classNames('eds-pagination', className)}\n aria-label=\"Paginering\"\n {...rest}\n >\n {resultsPerPage && numberOfResults && (\n <div className=\"eds-pagination__results\">\n {onResultsPerPageChange && (\n <Menu>\n {({ isOpen }) => (\n <>\n <Label as=\"p\" aria-hidden=\"true\">\n {showNumberOfResultsLabel}\n </Label>\n <MenuButton\n className={classNames('eds-pagination-menu__menu-button', {\n 'eds-pagination-menu__menu-button--open': isOpen,\n })}\n >\n <VisuallyHidden>{showNumberOfResultsLabel} </VisuallyHidden>\n {resultsPerPage}\n {isOpen ? <UpArrowIcon /> : <DownArrowIcon />}\n </MenuButton>\n <MenuList\n className={classNames(\n 'eds-pagination-menu__menu-list',\n 'eds-overflow-menu__menu-list',\n { 'eds-contrast': isContrast },\n )}\n >\n {resultsPerPageOptions.map(\n (option: number, key: number) => (\n <OverflowMenuItem\n key={key}\n onSelect={() => onResultsPerPageChange(option)}\n >\n {option}\n </OverflowMenuItem>\n ),\n )}\n </MenuList>\n </>\n )}\n </Menu>\n )}\n <Label as=\"p\" className=\"eds-pagination__results-label\">\n {showingResultsLabel(\n (currentPage - 1) * resultsPerPage + 1,\n currentPage * resultsPerPage > numberOfResults\n ? numberOfResults\n : currentPage * resultsPerPage,\n numberOfResults,\n )}\n </Label>\n </div>\n )}\n <div className=\"eds-pagination__controls\">\n {!hidePrevButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage - 1)}\n aria-label={previousPageLabel}\n aria-describedby={paginationId}\n disabled={isFirstPostSelected}\n >\n <LeftArrowIcon />\n </PaginationPage>\n )}\n {listedEntries.map((entry, index) =>\n entry === '…' ? (\n <Ellipsis key={`ellipsis-${index}`} />\n ) : (\n <PaginationPage\n selected={entry === currentPage}\n onClick={() => onPageChange(entry)}\n aria-label={`${pageLabel(entry)}${\n entry === pageCount ? lastPageLabelForScreenreader : ''\n }`}\n aria-describedby={\n entry !== currentPage ? paginationId : undefined\n }\n key={entry}\n >\n {entry}\n </PaginationPage>\n ),\n )}\n {!hideNextButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage + 1)}\n aria-label={nextPageLabel}\n aria-describedby={paginationId}\n disabled={isLastPostSelected}\n >\n <RightArrowIcon />\n </PaginationPage>\n )}\n {showInput && (\n <PaginationInput\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={onPageChange}\n label={inputLabel}\n />\n )}\n </div>\n <VisuallyHidden id={paginationId}>\n {currentPageLabelForScreenreader} {currentPage}\n </VisuallyHidden>\n </nav>\n );\n};\n\nconst Ellipsis: React.FC = () => (\n <span className=\"eds-pagination__ellipsis\" aria-hidden=\"true\">\n …\n </span>\n);\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { VisuallyHidden } from '@entur/a11y';\n\nimport './Stepper.scss';\n\nexport type StepperProps = {\n /** Liste med steg-navn i rekkefølge. */\n steps: string[];\n /** Det nåværende steget. 0-indeksert */\n activeIndex: number;\n /** Om stepperen skal være et interaktivt-navigasjonselement eller ikke\n * @default false\n */\n interactive?: boolean;\n /** Kalles med indeksen til det klikkede steget.\n * Fungerer kun hvis Stepper-en er interaktiv */\n onStepClick?: (index: number) => void;\n /** Om stepper skal vise indeksering av hvilket trinn man er på\n * @default true\n */\n showStepperIndex?: boolean;\n /** Ekstra klassenavn. */\n className?: string;\n /** Skjermlesertekst for ordet 'steg' som i '_steg_ 1 av 3'\n * @default 'Steg'\n */\n ariaLabelStep?: string;\n /** Skjermlesertekst for ordet 'av' som i 'steg 1 _av_ 3'\n * @defaul 'av'\n */\n ariaLabelOf?: string;\n /** Skjermlesertekst for ordet fullført\n * @default 'fullført'\n */\n ariaLabelCompleted?: string;\n /** Skjermlesertekst for oppsummering av hele stepper-en\n * @default `Stegindikator med ${steps.length} steg, du er på steg ${activeIndex + 1} ${steps[activeIndex]},`\n */\n ariaLabelSummary?: string;\n [key: string]: any;\n};\n\nexport const Stepper: React.FC<StepperProps> = ({\n activeIndex,\n className,\n interactive = false,\n onStepClick,\n showStepperIndex = true,\n steps,\n ariaLabelStep = 'Steg',\n ariaLabelOf = 'av',\n ariaLabelCompleted = 'fullført',\n ariaLabelSummary = `Stegindikator med ${steps.length} steg, du er på steg ${\n activeIndex + 1\n } ${steps[activeIndex]},`,\n ...rest\n}) => {\n return (\n <ol\n className={classNames('eds-stepper', className)}\n aria-label={ariaLabelSummary}\n {...rest}\n >\n {steps.map((step, i) => {\n const isCurrent = i === activeIndex;\n const isInteractive = interactive && activeIndex > i;\n const Element = isInteractive ? 'button' : 'div';\n const isCompleted = activeIndex > i;\n const currentStepSummary = `${ariaLabelStep} ${i + 1} ${ariaLabelOf} ${\n steps.length\n }, ${step} ${isCompleted ? `, ${ariaLabelCompleted}` : ''}`;\n const props = isInteractive ? { onClick: () => onStepClick?.(i) } : {};\n\n return (\n <li key={step}>\n <Element\n className={classNames(\n 'eds-stepper__step',\n { 'eds-stepper__step--active': isCurrent },\n { 'eds-stepper__step--completed': isCompleted },\n { 'eds-stepper__step--interactive': isInteractive },\n )}\n aria-current={isCurrent ? 'step' : undefined}\n {...props}\n >\n <div className=\"eds-stepper__step__line\" aria-hidden={true} />\n <span className=\"eds-stepper__step__label\" aria-hidden={true}>\n {showStepperIndex && i + 1 + '.'} {step}\n </span>\n <VisuallyHidden>{currentStepSummary}</VisuallyHidden>\n </Element>\n </li>\n );\n })}\n </ol>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles(\n 'menu',\n 'expand',\n 'icons',\n 'typography',\n 'button',\n 'layout',\n 'a11y',\n);\n\nexport * from './BreadcrumbNavigation';\nexport * from './BreadcrumbItem';\nexport * from './SideNavigation';\nexport * from './SideNavigationItem';\nexport * from './SideNavigationGroup';\nexport * from './TopNavigationItem';\nexport * from './Pagination';\nexport * from './Stepper';\nexport * from './OverflowMenu';\nexport * from './CollapsibleSideNavigation';\n"],"names":["BreadcrumbNavigation","ariaLabel","children","React","createElement","className","Children","map","child","index","cloneElement","isCurrent","count","defaultElement","BreadcrumbItem","as","rest","_excluded","Element","Fragment","classNames","undefined","RightArrowIcon","inline","role","SideNavigation","size","__IS_ENTUR_MENU__","useControllableProp","prop","updater","defaultValue","useState","internalState","setInternalState","useEffect","CollapsibleSideNavigation","collapsible","collapsed","onCollapseToggle","collapsibleButtonPosition","openSideMenuAriaLabel","closeSideMenuAriaLabel","collapsedMenu","setCollapsedMenu","SideNavigationContext","Provider","value","isCollapsed","onClick","style","top","MenuIcon","LeftArrowIcon","createContext","useSideNavigationContext","context","useContext","console","error","useShowDelayedLabel","showLabel","setShowLabel","hideDelay","showDelay","setTimeout","isActiveRecursively","props","active","toArray","some","defaultElementBaseItem","BaseSideNavigationItem","forwardRef","ref","subMenu","icon","DisabledSideNavigationItem","_excluded2","disabled","defaultElementItem","SideNavigationItem","forceExpandSubMenus","_excluded3","childrenArray","find","type","label","filter","isExpanded","SideNavigationGroup","defaultOpen","open","onToggle","title","isOpen","setOpen","ExpandArrow","BaseExpand","TopNavigationItem","PaginationPage","selected","ariaDescribedby","PaginationInput","currentPage","pageCount","onPageChange","String","input","setInput","handleSubmit","e","preventDefault","stopPropagation","pageNumber","Number","isNaN","handleChange","target","onSubmit","noValidate","max","onChange","OverflowMenu","button","position","Menu","IconButton","MenuButton","VerticalDotsIcon","useContrast","Contrast","MenuList","portal","OverflowMenuItem","onSelect","MenuItem","OverflowMenuLink","MenuLink","Pagination","inputLabel","pageLabel","previousPageLabel","currentPageLabelForScreenreader","lastPageLabelForScreenreader","showInput","numberOfResults","resultsPerPage","resultsPerPageOptions","onResultsPerPageChange","showNumberOfResultsLabel","nextPageLabel","showingResultsLabel","minPage","maxPage","hideNextButton","hidePrevButton","isContrast","listedEntries","setListedEntries","paginationId","useRandomId","isFirstPostSelected","isLastPostSelected","noEllipsis","onlyLeadingEllipsis","onlyTrailingEllipsis","Array","fill","_","i","Label","VisuallyHidden","UpArrowIcon","DownArrowIcon","option","key","entry","Ellipsis","id","Stepper","activeIndex","interactive","onStepClick","showStepperIndex","steps","ariaLabelStep","ariaLabelOf","ariaLabelCompleted","ariaLabelSummary","length","step","isInteractive","isCompleted","currentStepSummary","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.cjs.development.js","sources":["../src/BreadcrumbNavigation.tsx","../src/BreadcrumbItem.tsx","../src/useControllableProp.ts","../src/CollapsibleSideNavigation.tsx","../src/OverflowMenu.tsx","../src/PaginationPage.tsx","../src/PaginationInput.tsx","../src/Pagination.tsx","../src/SideNavigation.tsx","../src/useShowDelayedLabel.ts","../src/SideNavigationItem.tsx","../src/SideNavigationGroup.tsx","../src/Stepper.tsx","../src/TopNavigationItem.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport './BreadcrumbNavigation.scss';\n\nexport type BreadcrumbNavigationProps = {\n /** Label for brødsmulestien.\n * @default 'Brødsmulesti'\n */\n 'aria-label'?: string;\n /** En liste med BreadcrumbItem-er */\n children: React.ReactElement[];\n};\n\nexport const BreadcrumbNavigation: React.FC<BreadcrumbNavigationProps> = ({\n 'aria-label': ariaLabel = 'Brødsmulesti',\n children,\n}) => {\n return (\n <nav aria-label={ariaLabel}>\n <ol className=\"eds-breadcrumbs\">\n {React.Children.map(children, (child, index) => {\n // @ts-expect-error should check if children are correct but for now it is only mentioned in the documentation\n return React.cloneElement(child, {\n isCurrent: index + 1 === React.Children.count(children),\n });\n })}\n </ol>\n </nav>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { RightArrowIcon } from '@entur/icons';\nimport './BreadcrumbNavigation.scss';\nimport { PolymorphicComponentProps } from '@entur/utils';\n\nexport type BreadcrumbItemOwnProps = {\n /** Komponenten som rendres\n * @default \"a\"\n */\n as?: 'a' | React.ElementType;\n /** Teksten som vises */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** True om sist i listen. Settes automatisk av BreadcrumbNavigation-komponenten */\n isCurrent?: boolean;\n};\n\nexport type BreadcrumbItemProps<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicComponentProps<T, BreadcrumbItemOwnProps>;\n\nconst defaultElement = 'a';\n\nexport const BreadcrumbItem = <\n E extends React.ElementType = typeof defaultElement,\n>({\n className,\n isCurrent,\n as,\n ...rest\n}: BreadcrumbItemProps<E>): JSX.Element => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <>\n <li className={classNames('eds-breadcrumb__item', className)}>\n <Element\n aria-current={isCurrent ? 'page' : undefined}\n className={classNames('eds-breadcrumb__link', {\n 'eds-breadcrumb__link--current': isCurrent,\n })}\n {...rest}\n />\n </li>\n {!isCurrent && (\n <RightArrowIcon\n className=\"eds-breadcrumb__separator\"\n inline\n role=\"presentation\"\n />\n )}\n </>\n );\n};\n","import { useState, useEffect } from 'react';\nexport type UseControllablePropType<T> = {\n prop?: T;\n updater?: (value?: T) => void;\n defaultValue: T;\n};\nexport function useControllableProp<T>({\n prop,\n updater = () => undefined,\n defaultValue,\n}: UseControllablePropType<T>): [T, (arg: T) => void] {\n const [internalState, setInternalState] = useState<T>(defaultValue);\n useEffect(() => {\n if (prop !== undefined) {\n setInternalState(prop);\n }\n }, [prop]);\n return prop === undefined\n ? [internalState, setInternalState]\n : [prop, updater];\n}\n","import React from 'react';\nimport { SideNavigationProps } from './SideNavigation';\nimport { useControllableProp } from './useControllableProp';\nimport classNames from 'classnames';\nimport { LeftArrowIcon, MenuIcon } from '@entur/icons';\n\ntype CollapsibleSideNavigationProps = SideNavigationProps & {\n /**Tilstand til menyen\n * @default false\n */\n collapsed?: boolean;\n /** Kalles når menyen åpnes eller lukkes */\n onCollapseToggle?: (e: any) => void;\n /** Posisjonen til Collapsible-knappen, målt fra toppen (som CSS-enhet)\n * @default 50%\n */\n collapsibleButtonPosition?: string;\n /** Aria-label for knappen som åpner menyen\n * @default \"Åpne sidemeny\"\n */\n openSideMenuAriaLabel?: string;\n /** Aria-label for knappen som lukker menyen\n * @default \"Lukk sidemeny\"\n */\n closeSideMenuAriaLabel?: string;\n};\n\nexport const CollapsibleSideNavigation: React.FC<CollapsibleSideNavigationProps> =\n ({\n className,\n children,\n size,\n collapsed: collapsible,\n onCollapseToggle,\n collapsibleButtonPosition = '50%',\n openSideMenuAriaLabel = 'Åpne sidemeny',\n closeSideMenuAriaLabel = 'Lukk sidemeny',\n ...rest\n }) => {\n const [collapsedMenu, setCollapsedMenu] = useControllableProp({\n prop: collapsible,\n defaultValue: false,\n updater: onCollapseToggle,\n });\n\n return (\n <SideNavigationContext.Provider\n value={{\n isCollapsed: collapsedMenu,\n }}\n >\n <ul\n className={classNames(\n 'eds-side-navigation',\n { 'eds-side-navigation--small': size === 'small' },\n { 'eds-side-navigation--collapsed': collapsedMenu },\n className,\n )}\n {...rest}\n >\n {children}\n <button\n className=\"eds-side-navigation__collapse-button\"\n onClick={() => setCollapsedMenu(!collapsedMenu)}\n style={{ top: `${collapsibleButtonPosition}` }}\n >\n {collapsedMenu ? (\n <MenuIcon aria-label={openSideMenuAriaLabel} />\n ) : (\n <LeftArrowIcon aria-label={closeSideMenuAriaLabel} />\n )}\n </button>\n </ul>\n </SideNavigationContext.Provider>\n );\n };\n\nconst SideNavigationContext = React.createContext<{\n isCollapsed: boolean;\n}>({\n isCollapsed: false,\n});\n\nexport const useSideNavigationContext: () => { isCollapsed: boolean } = () => {\n const context = React.useContext(SideNavigationContext);\n if (!context) {\n console.error(\n 'Error reading SideNavigationContext. Please contact maintainer of @entur/menu',\n );\n }\n return context;\n};\n","import React, { cloneElement, useContext, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\nimport {\n autoUpdate,\n flip,\n offset,\n useFloating,\n useInteractions,\n useListItem,\n useListNavigation,\n useTypeahead,\n FloatingList,\n shift,\n useRole,\n} from '@floating-ui/react';\n\nimport { IconButton } from '@entur/button';\nimport { VerticalDotsIcon } from '@entur/icons';\nimport { Placement, standardisePlacement } from '@entur/tooltip';\nimport { space } from '@entur/tokens';\nimport { useOnClickOutside, useOnEscape, getNodeText } from '@entur/utils';\n\nimport './OverflowMenu.scss';\n\nexport type OverflowMenuProps = {\n /** Menypunkter (OverflowMenuItem eller OverflowMenuLink) */\n children: React.ReactNode;\n buttonIcon?: React.ReactNode;\n /** Knapp som skal åpne OverflowMenu\n * @default IconButton med VerticalDotsIcon\n */\n button?: React.ReactElement;\n /** Ekstra klassenavn */\n className?: string;\n /** Posisjoneringen av OverflowMenu-lista\n * @default 'bottom-start'\n */\n placement?: Placement;\n /**\n * @deprecated Use placement insted.\n * This is done to standardise the name of\n * the relative position prop used in Entur\n * designs sytstem components\n */\n position?: 'right' | 'left';\n /** Tekst som beskriver knappen som åpner Overflow-menyen\n * @default \"åpne valgmeny\"\n */\n 'aria-label'?: string;\n};\n\ninterface SelectContextValue {\n activeIndex: number | null;\n getItemProps: ReturnType<typeof useInteractions>['getItemProps'];\n closeMenuAndReturnFocus: () => void;\n}\n\nconst SelectContext = React.createContext<SelectContextValue>(\n {} as SelectContextValue,\n);\n\nexport const OverflowMenu = ({\n children,\n className,\n button,\n buttonIcon,\n placement = 'bottom-start',\n 'aria-label': ariaLabel = 'åpne valgmeny',\n ...rest\n}: OverflowMenuProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const listRef = useRef([]);\n const labelsRef = useRef([]);\n\n const { refs, floatingStyles, context } = useFloating({\n whileElementsMounted: autoUpdate,\n placement: standardisePlacement(\n // check for left is added for backwards compatibility\n rest.position === 'left' ? 'bottom-end' : placement,\n ),\n open: isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(space.extraSmall2),\n flip(),\n shift({ padding: space.extraSmall }),\n ],\n });\n\n const listNav = useListNavigation(context, {\n listRef,\n activeIndex,\n onNavigate: setActiveIndex,\n });\n\n const typeahead = useTypeahead(context, {\n listRef: labelsRef,\n activeIndex,\n onMatch: index => isOpen && setActiveIndex(index),\n });\n\n const role = useRole(context, { role: 'menu' });\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [listNav, typeahead, role],\n );\n\n const closeMenuAndReturnFocus = () => {\n setIsOpen(false);\n // @ts-expect-error the reference element is actually focusable\n refs.reference.current?.focus?.();\n };\n\n useOnClickOutside([refs.floating, refs.reference], () => setIsOpen(false));\n useOnEscape(refs.floating, closeMenuAndReturnFocus);\n useOnEscape(refs.reference, closeMenuAndReturnFocus);\n\n const selectContext = React.useMemo(\n () => ({\n activeIndex,\n getItemProps,\n closeMenuAndReturnFocus,\n }),\n [activeIndex, getItemProps, closeMenuAndReturnFocus],\n );\n\n const _buttonIcon = buttonIcon ?? <VerticalDotsIcon />;\n\n return (\n <>\n {!button ? (\n <IconButton\n ref={refs.setReference}\n {...getReferenceProps({\n onClick: () => setIsOpen(!isOpen),\n className,\n 'aria-label': ariaLabel,\n })}\n {...rest}\n >\n {_buttonIcon}\n </IconButton>\n ) : (\n cloneElement(button, {\n ref: refs.setReference,\n ...getReferenceProps({\n onClick: () => setIsOpen(!isOpen),\n className,\n 'aria-label': ariaLabel,\n }),\n ...rest,\n })\n )}\n <SelectContext.Provider value={selectContext}>\n <div\n ref={refs.setFloating}\n style={{ ...floatingStyles, display: isOpen ? 'initial' : 'none' }}\n {...getFloatingProps({\n className: 'eds-overflow-menu__menu-list',\n })}\n >\n <FloatingList elementsRef={listRef} labelsRef={labelsRef}>\n {children}\n </FloatingList>\n </div>\n </SelectContext.Provider>\n </>\n );\n};\n\nexport type OverflowMenuItemProps = {\n /** Innholdet til OverflowMenuItem */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Det som skjer når elementet er valgt, enten ved museklikk eller Enter-klikk */\n onSelect?: () => void;\n /** Lenke til siden brukeren skal sendes til.\n * Obs: kun én av onSelect og href skal brukes på ett element\n */\n href?: string;\n /** Om dette valget skal være deaktivert */\n disabled?: boolean;\n};\n\nexport const OverflowMenuItem = ({\n children,\n className,\n onSelect = () => undefined,\n href,\n disabled,\n ...rest\n}: OverflowMenuItemProps) => {\n const { activeIndex, getItemProps, closeMenuAndReturnFocus } =\n useContext(SelectContext);\n const { ref: listItemRef, index } = useListItem({\n label: !disabled ? getNodeText(children) : null,\n });\n\n const isHighlighted = activeIndex === index;\n const isLink = href !== undefined;\n\n const Element = isLink ? 'a' : 'button';\n\n return (\n <Element\n ref={listItemRef}\n className={classNames(\n 'eds-overflow-menu__item',\n {\n 'eds-overflow-menu__item--disabled': disabled,\n 'eds-overflow-menu__item--highlighted': isHighlighted,\n },\n className,\n )}\n role=\"menuitem\"\n aria-disabled={disabled}\n aria-selected={isHighlighted}\n {...getItemProps({\n onClick:\n isLink || disabled\n ? undefined\n : () => {\n onSelect();\n closeMenuAndReturnFocus();\n },\n href: disabled ? undefined : href,\n tabIndex: isHighlighted ? 0 : -1,\n })}\n {...rest}\n >\n {children}\n </Element>\n );\n};\n\ntype OverflowMenuLinkExtendedProps = {\n /** @deprecated onSelect is no longer used\n * in OverflowMenuLink, use 'href' instead */\n onSelect?: () => void;\n};\n\nexport const OverflowMenuLink = ({\n href,\n ...rest\n}: Omit<OverflowMenuItemProps, 'onSelect'> & OverflowMenuLinkExtendedProps) => {\n return <OverflowMenuItem href={href} {...rest} />;\n};\n","import React from 'react';\nimport classNames from 'classnames';\n\nexport type PaginationPageProps = {\n /** Sidenummeret som er aktivt nå */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Viser siden som aktiv */\n selected?: boolean;\n /** Viser knappen som inaktiv */\n disabled?: boolean;\n /** Callback for når man trykker på siden */\n onClick: () => void;\n /** Tekst for skjermlesere */\n 'aria-label': string;\n 'aria-describedby'?: string;\n};\nexport const PaginationPage: React.FC<PaginationPageProps> = ({\n children,\n className,\n selected,\n disabled,\n onClick,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedby,\n}) => (\n <button\n className={classNames(\n 'eds-pagination__controls__page',\n { 'eds-pagination__controls__page--selected': selected },\n { 'eds-pagination__controls__page--disabled': disabled },\n className,\n )}\n disabled={selected || disabled}\n type=\"button\"\n onClick={onClick}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n aria-current={selected ? 'page' : false}\n >\n {children}\n </button>\n);\n","import React from 'react';\n\nexport type PaginationInputProps = {\n currentPage: number;\n label?: string;\n onPageChange: (pageNumber: number) => void;\n pageCount: number;\n};\n\nexport const PaginationInput: React.FC<PaginationInputProps> = ({\n currentPage,\n pageCount,\n label = 'Gå til side',\n onPageChange,\n}) => {\n const [input, setInput] = React.useState(String(currentPage));\n // If the currentPage prop changes, we want to reset the input field\n React.useEffect(() => {\n setInput(String(currentPage));\n }, [currentPage]);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n e.stopPropagation();\n let pageNumber = Number(input);\n if (pageNumber === currentPage) {\n return;\n }\n if (Number.isNaN(pageNumber)) {\n pageNumber = currentPage;\n setInput(String(currentPage));\n return;\n }\n if (pageNumber > pageCount) {\n pageNumber = pageCount;\n setInput(String(pageCount));\n } else if (pageNumber < 1) {\n pageNumber = 1;\n setInput(String(1));\n }\n onPageChange(pageNumber);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInput(e.target.value);\n };\n\n return (\n <form onSubmit={handleSubmit} noValidate aria-label=\"form\">\n <label className=\"eds-pagination__controls__input__wrapper\">\n <span className=\"eds-pagination__controls__input__label\">{label}</span>\n <input\n type=\"number\"\n max={pageCount}\n className=\"eds-pagination__controls__input__field\"\n value={input}\n onChange={handleChange}\n />\n </label>\n </form>\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { DownArrowIcon, LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { VisuallyHidden } from '@entur/a11y';\nimport { Label } from '@entur/typography';\nimport { useRandomId } from '@entur/utils';\n\nimport { PaginationPage } from './PaginationPage';\nimport { PaginationInput } from './PaginationInput';\nimport { OverflowMenu, OverflowMenuItem } from './OverflowMenu';\n\nimport './Pagination.scss';\n\nexport type PaginationProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Sidenummeret som er aktivt nå (1-indeksert) */\n currentPage: number;\n /** Callback for når man ønsker å gå til en ny side */\n onPageChange: (requestedPage: number) => void;\n /** Antall sider totalt */\n pageCount: number;\n /**\n * Hva som blir lest opp når brukere av skjermlesere navigerer til \"forrige side knappen\"\n * @default \"Gå til forrige side\"\n */\n previousPageLabel?: string;\n /**\n * Hva som blir lest opp når brukere av skjermlesere navigerer til \"neste side knappen\"\n * @default \"Gå til neste side\"\n */\n nextPageLabel?: string;\n /**\n * Hva som blir lest opp når brukere av skjermlesere navigerer til \"forrige side knappen\"\n * @default pageNumber => `Gå til side ${pageNumber}`,\n */\n pageLabel?: (pageNumber: number) => string;\n /**\n * @default \"Nåværende side:\"\n */\n currentPageLabelForScreenreader?: string;\n /** Vis et felt til høyre for pagineringen hvor man kan angi siden man\n * ønsker å vise i et tekstfelt.\n *\n * @default false\n */\n showInput?: boolean;\n /** Label som vises til venstre for input-feltet som vises om `showInput` er true\n * @default \"Gå til side\"\n */\n inputLabel?: string;\n\n /** Hvor mange resultater man har totalt */\n numberOfResults?: number;\n /** Hvor mange resultater som vises per side */\n resultsPerPage?: number;\n /**\n * @default [10,25,50]\n */\n resultsPerPageOptions?: number[];\n /** Callback for når resultater per side oppdateres */\n onResultsPerPageChange?: (e: number) => void;\n /** Brukes for å skjule \"neste side\"-knappen\n * @default false\n */\n hideNextButton?: boolean;\n /** Brukes for å skjule \"forrige side\"-knappen\n * @default false\n */\n hidePrevButton?: boolean;\n /** Teksten som vises for hvilke resultater av sideantallet man viser.\n * @default `Viser resultat ${minPage} - ${maxPage} av ${pageCount}`\n */\n showingResultsLabel?: (\n minPage: number,\n maxPage: number,\n pageCount: number,\n ) => string;\n /** Teksten som vises før \"resultsPerPage\"-velgeren\n * @default \"Vis\"\n */\n showNumberOfResultsLabel?: string;\n [key: string]: any;\n};\n\nexport const Pagination: React.FC<PaginationProps> = ({\n className,\n currentPage,\n inputLabel,\n onPageChange,\n pageCount,\n pageLabel = pageNumber => `Gå til side ${pageNumber}`,\n previousPageLabel = 'Gå til forrige side',\n currentPageLabelForScreenreader = 'Nåværende side:',\n lastPageLabelForScreenreader = ', siste side',\n showInput,\n\n numberOfResults,\n resultsPerPage,\n resultsPerPageOptions = [10, 25, 50],\n onResultsPerPageChange,\n\n showNumberOfResultsLabel = 'Vis',\n nextPageLabel = 'Gå til neste side',\n showingResultsLabel = (minPage, maxPage, pageCount) =>\n `Viser resultat ${minPage}–${maxPage} av ${pageCount}`,\n changeNumberOfResultsLabelForScreenreader = `Viser ${resultsPerPage} resultater. Trykk for å endre antall. Åpner en flervalgsmeny.`,\n hideNextButton = false,\n hidePrevButton = false,\n ...rest\n}) => {\n const [listedEntries, setListedEntries] = useState<Array<number | '…'>>([]);\n const paginationId = useRandomId('eds-pagination');\n\n const isFirstPostSelected = currentPage === 1;\n const isLastPostSelected = currentPage === pageCount;\n const noEllipsis = pageCount <= 7;\n const onlyLeadingEllipsis = !noEllipsis && currentPage < 5;\n const onlyTrailingEllipsis = !noEllipsis && pageCount - currentPage <= 3;\n\n useEffect(() => {\n if (pageCount < 1) return;\n if (noEllipsis) {\n setListedEntries(\n Array(pageCount)\n .fill(null)\n .map((_, i) => i + 1),\n );\n } else if (onlyLeadingEllipsis) {\n setListedEntries([1, 2, 3, 4, 5, '…', pageCount]);\n } else if (onlyTrailingEllipsis) {\n setListedEntries([\n 1,\n '…',\n pageCount - 4,\n pageCount - 3,\n pageCount - 2,\n pageCount - 1,\n pageCount,\n ]);\n } else {\n // leading and trailing ellipsis\n setListedEntries([\n 1,\n '…',\n currentPage - 1,\n currentPage,\n currentPage + 1,\n '…',\n pageCount,\n ]);\n }\n }, [\n noEllipsis,\n onlyLeadingEllipsis,\n onlyTrailingEllipsis,\n currentPage,\n pageCount,\n ]);\n\n if (pageCount < 1) {\n return null;\n }\n\n return (\n <nav\n className={classNames('eds-pagination', className)}\n aria-label=\"Paginering\"\n {...rest}\n >\n {resultsPerPage && numberOfResults && (\n <div className=\"eds-pagination__results\">\n {onResultsPerPageChange && (\n <>\n <Label as=\"p\" aria-hidden=\"true\">\n {showNumberOfResultsLabel}\n </Label>\n <OverflowMenu\n className=\"eds-pagination__results__change-number-of-results\"\n buttonIcon={\n <>\n {resultsPerPage}{' '}\n <DownArrowIcon\n className=\"eds-pagination__results__change-number-of-results__arrow\"\n aria-hidden=\"true\"\n />\n </>\n }\n aria-label={changeNumberOfResultsLabelForScreenreader}\n placement=\"bottom-end\"\n >\n {resultsPerPageOptions.map((option: number, key: number) => (\n <OverflowMenuItem\n key={key}\n onSelect={() => onResultsPerPageChange(option)}\n >\n {option}\n </OverflowMenuItem>\n ))}\n </OverflowMenu>\n </>\n )}\n <Label as=\"p\">\n {showingResultsLabel(\n (currentPage - 1) * resultsPerPage + 1,\n currentPage * resultsPerPage > numberOfResults\n ? numberOfResults\n : currentPage * resultsPerPage,\n numberOfResults,\n )}\n </Label>\n </div>\n )}\n <div className=\"eds-pagination__controls\">\n {!hidePrevButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage - 1)}\n aria-label={previousPageLabel}\n aria-describedby={paginationId}\n disabled={isFirstPostSelected}\n >\n <LeftArrowIcon aria-hidden=\"true\" />\n </PaginationPage>\n )}\n {listedEntries.map((entry, index) =>\n entry === '…' ? (\n <Ellipsis key={`ellipsis-${index}`} />\n ) : (\n <PaginationPage\n selected={entry === currentPage}\n onClick={() => onPageChange(entry)}\n aria-label={`${pageLabel(entry)}${\n entry === pageCount ? lastPageLabelForScreenreader : ''\n }`}\n aria-describedby={\n entry !== currentPage ? paginationId : undefined\n }\n key={entry}\n >\n {entry}\n </PaginationPage>\n ),\n )}\n {!hideNextButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage + 1)}\n aria-label={nextPageLabel}\n aria-describedby={paginationId}\n disabled={isLastPostSelected}\n >\n <RightArrowIcon aria-hidden=\"true\" />\n </PaginationPage>\n )}\n {showInput && (\n <PaginationInput\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={onPageChange}\n label={inputLabel}\n />\n )}\n </div>\n <VisuallyHidden id={paginationId}>\n {currentPageLabelForScreenreader} {currentPage}\n </VisuallyHidden>\n </nav>\n );\n};\n\nconst Ellipsis: React.FC = () => (\n <span className=\"eds-pagination__controls__page__ellipsis\" aria-hidden=\"true\">\n …\n </span>\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport './SideNavigation.scss';\n\nexport type SideNavigationProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Størrelse på menyen\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n [key: string]: any;\n};\n\ntype InternalMarker = {\n __IS_ENTUR_MENU__: boolean;\n};\n\nexport const SideNavigation: React.FC<SideNavigationProps> & InternalMarker = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n if (!children || !React.Children.count(children)) {\n return null;\n }\n return (\n <ul\n className={classNames(\n 'eds-side-navigation',\n { 'eds-side-navigation--small': size === 'small' },\n className,\n )}\n {...rest}\n >\n {children}\n </ul>\n );\n};\n\n/** This is required to check that the Menu */\nSideNavigation.__IS_ENTUR_MENU__ = true;\n","import { useEffect, useState } from 'react';\n\nexport const useShowDelayedLabel = (isCollapsed: boolean): [boolean] => {\n const [showLabel, setShowLabel] = useState(true);\n const hideDelay = 50;\n const showDelay = 200;\n useEffect(() => {\n if (isCollapsed) {\n setTimeout(() => {\n setShowLabel(false);\n }, hideDelay);\n }\n if (!isCollapsed) {\n setTimeout(() => {\n setShowLabel(true);\n }, showDelay);\n }\n return () => undefined;\n }, [isCollapsed]);\n return [showLabel];\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { useSideNavigationContext } from './CollapsibleSideNavigation';\nimport { useShowDelayedLabel } from './useShowDelayedLabel';\nimport { PolymorphicComponentProps } from '@entur/utils';\n\nfunction isActiveRecursively(child: any): boolean {\n if (!child.props) {\n return false;\n }\n if (child.props.active) {\n return true;\n }\n if (!child.props.children) {\n return false;\n }\n\n return React.Children.toArray(child.props.children).some(child =>\n isActiveRecursively(child),\n );\n}\n\ntype BaseSideNavigationItemOwnProps = {\n active?: boolean;\n as?: 'a' | 'button' | React.ElementType;\n className?: string;\n icon?: React.ReactNode;\n children: React.ReactNode;\n subMenu?: React.ReactNode;\n [key: string]: any;\n};\n\nexport type BaseSideNavigationItemProps<\n T extends React.ElementType = typeof defaultElementBaseItem,\n> = PolymorphicComponentProps<T, BaseSideNavigationItemOwnProps>;\n\nconst defaultElementBaseItem = 'a';\n\nconst BaseSideNavigationItem: <\n E extends React.ElementType = typeof defaultElementBaseItem,\n>(\n props: BaseSideNavigationItemProps<E>,\n) => React.ReactElement | null = React.forwardRef(\n <E extends React.ElementType = typeof defaultElementBaseItem>(\n {\n className,\n active = false,\n subMenu,\n icon,\n children,\n as,\n ...rest\n }: BaseSideNavigationItemProps<E>,\n ref: typeof rest.ref,\n ) => {\n const Element: React.ElementType = as || defaultElementBaseItem;\n const { isCollapsed } = useSideNavigationContext();\n const [showLabel] = useShowDelayedLabel(isCollapsed);\n return (\n <li className={classNames('eds-side-navigation__item', className)}>\n <Element\n className={classNames('eds-side-navigation__click-target', {\n 'eds-side-navigation__click-target--active': active,\n })}\n aria-label={isCollapsed ? children : undefined}\n aria-current={active ? 'page' : undefined}\n ref={ref}\n {...rest}\n >\n {icon}\n {showLabel && children}\n </Element>\n {subMenu}\n </li>\n );\n },\n);\n\ntype DisabledSideNavigationItemProps = {\n children: React.ReactNode;\n [key: string]: any;\n};\nconst DisabledSideNavigationItem = React.forwardRef<\n HTMLButtonElement,\n DisabledSideNavigationItemProps\n>(({ children, ...rest }, ref: React.Ref<HTMLButtonElement>) => (\n <BaseSideNavigationItem\n as=\"button\"\n disabled={true}\n aria-disabled={true}\n ref={ref}\n type=\"button\"\n {...rest}\n >\n {children}\n </BaseSideNavigationItem>\n));\n\nexport type SideNavigationItemOwnProps = {\n /** Om meny-elementet er det som er aktivt */\n active?: boolean;\n /** HTML-elementet eller React-komponenten som rendres */\n as?: 'a' | 'button' | React.ElementType;\n /** Ekstra klassenavn */\n className?: string;\n /** Om meny-elementet er deaktivert */\n disabled?: boolean;\n /** Callback for når man klikker på meny-elementet */\n onClick?: (e: React.MouseEvent) => any;\n /** Sett til true om du vil tvinge alle sub-menus til å rendre barna sine. Typisk for å vise søkeresultater */\n forceExpandSubMenus?: boolean;\n icon?: React.ReactNode;\n [key: string]: any;\n};\n\nexport type SideNavigationItemProps<\n T extends React.ElementType = typeof defaultElementItem,\n> = PolymorphicComponentProps<T, SideNavigationItemOwnProps>;\n\nconst defaultElementItem = 'a';\n\nexport const SideNavigationItem: <\n E extends React.ElementType = typeof defaultElementItem,\n>(\n props: SideNavigationItemProps<E>,\n) => React.ReactElement | null = React.forwardRef(\n <E extends React.ElementType = typeof defaultElementItem>(\n {\n active,\n disabled,\n children,\n forceExpandSubMenus,\n as,\n ...rest\n }: SideNavigationItemProps<E>,\n ref: typeof rest.ref,\n ) => {\n const Element: React.ElementType = as || defaultElementItem;\n const childrenArray = React.Children.toArray(children);\n const subMenu = childrenArray.find(\n (child: any) => child && child.type && child.type.__IS_ENTUR_MENU__,\n );\n const label = subMenu\n ? childrenArray.filter(child => child !== subMenu)\n : children;\n\n if (disabled) {\n return (\n <DisabledSideNavigationItem ref={ref} {...rest}>\n {label}\n </DisabledSideNavigationItem>\n );\n }\n\n if (!subMenu) {\n return (\n <BaseSideNavigationItem\n as={Element}\n active={active}\n ref={ref}\n {...rest}\n >\n {label}\n </BaseSideNavigationItem>\n );\n }\n\n const isExpanded =\n forceExpandSubMenus ||\n isActiveRecursively({ props: { children, active } });\n\n return (\n <BaseSideNavigationItem\n active={active}\n subMenu={isExpanded && subMenu}\n aria-expanded={isExpanded}\n as={Element}\n ref={ref}\n {...rest}\n >\n {label}\n </BaseSideNavigationItem>\n );\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport { BaseExpand, ExpandArrow } from '@entur/expand';\nimport { useSideNavigationContext } from './CollapsibleSideNavigation';\nimport { useShowDelayedLabel } from './useShowDelayedLabel';\nimport { useControllableProp } from './useControllableProp';\n\nexport type SideNavigationGroupProps = {\n /** Skal menygruppen være ekspandert by default? Kun relevant om komponenten ikke er kontrollert\n * @default false\n */\n defaultOpen?: boolean;\n /** Er menyen åpen? */\n open?: boolean;\n /** Kalles når menygruppen åpnes eller lukkes */\n onToggle?: (e?: boolean) => void;\n /** Ekstra klassenavn */\n className?: string;\n /** Menyen som skal grupperes */\n children: React.ReactNode;\n /** Overskriften til menyen */\n title: React.ReactNode;\n icon?: React.ReactNode;\n [key: string]: any;\n};\n\nexport const SideNavigationGroup: React.FC<SideNavigationGroupProps> = ({\n defaultOpen = false,\n open,\n onToggle,\n className,\n children,\n title,\n icon,\n ...rest\n}) => {\n const [isOpen, setOpen] = useControllableProp({\n prop: open,\n updater: onToggle,\n defaultValue: defaultOpen,\n });\n const { isCollapsed } = useSideNavigationContext();\n\n const [showLabel] = useShowDelayedLabel(isCollapsed);\n\n return (\n <div\n className={classNames('eds-side-navigation-group', className)}\n {...rest}\n >\n <button\n onClick={() => setOpen(!isOpen)}\n type=\"button\"\n className=\"eds-side-navigation-group__trigger\"\n aria-label={`${title}, utvidbar meny, ${isOpen ? 'åpen' : 'lukket'}`}\n >\n <span>\n {icon && (\n <span className=\"eds-side-navigation-group__trigger-icon\">\n {icon}\n </span>\n )}\n {showLabel && title}\n </span>\n {showLabel && (\n <ExpandArrow\n open={isOpen}\n className=\"eds-side-navigation-group__expand-icon\"\n />\n )}\n </button>\n <BaseExpand\n className=\"eds-side-navigation-group__expand-content\"\n open={isOpen}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { VisuallyHidden } from '@entur/a11y';\n\nimport './Stepper.scss';\n\nexport type StepperProps = {\n /** Liste med steg-navn i rekkefølge. */\n steps: string[];\n /** Det nåværende steget. 0-indeksert */\n activeIndex: number;\n /** Om stepperen skal være et interaktivt-navigasjonselement eller ikke\n * @default false\n */\n interactive?: boolean;\n /** Kalles med indeksen til det klikkede steget.\n * Fungerer kun hvis Stepper-en er interaktiv */\n onStepClick?: (index: number) => void;\n /** Om stepper skal vise indeksering av hvilket trinn man er på\n * @default true\n */\n showStepperIndex?: boolean;\n /** Ekstra klassenavn. */\n className?: string;\n /** Skjermlesertekst for ordet 'steg' som i '_steg_ 1 av 3'\n * @default 'Steg'\n */\n ariaLabelStep?: string;\n /** Skjermlesertekst for ordet 'av' som i 'steg 1 _av_ 3'\n * @defaul 'av'\n */\n ariaLabelOf?: string;\n /** Skjermlesertekst for ordet fullført\n * @default 'fullført'\n */\n ariaLabelCompleted?: string;\n /** Skjermlesertekst for oppsummering av hele stepper-en\n * @default `Stegindikator med ${steps.length} steg, du er på steg ${activeIndex + 1} ${steps[activeIndex]},`\n */\n ariaLabelSummary?: string;\n [key: string]: any;\n};\n\nexport const Stepper: React.FC<StepperProps> = ({\n activeIndex,\n className,\n interactive = false,\n onStepClick,\n showStepperIndex = true,\n steps,\n ariaLabelStep = 'Steg',\n ariaLabelOf = 'av',\n ariaLabelCompleted = 'fullført',\n ariaLabelSummary = `Stegindikator med ${steps.length} steg, du er på steg ${\n activeIndex + 1\n } ${steps[activeIndex]},`,\n ...rest\n}) => {\n return (\n <ol\n className={classNames('eds-stepper', className)}\n aria-label={ariaLabelSummary}\n {...rest}\n >\n {steps.map((step, i) => {\n const isCurrent = i === activeIndex;\n const isInteractive = interactive && activeIndex > i;\n const Element = isInteractive ? 'button' : 'div';\n const isCompleted = activeIndex > i;\n const currentStepSummary = `${ariaLabelStep} ${i + 1} ${ariaLabelOf} ${\n steps.length\n }, ${step} ${isCompleted ? `, ${ariaLabelCompleted}` : ''}`;\n const props = isInteractive ? { onClick: () => onStepClick?.(i) } : {};\n\n return (\n <li key={step} className=\"eds-stepper__step__wrapper\">\n <Element\n className={classNames(\n 'eds-stepper__step',\n { 'eds-stepper__step--active': isCurrent },\n { 'eds-stepper__step--completed': isCompleted },\n { 'eds-stepper__step--interactive': isInteractive },\n )}\n aria-current={isCurrent ? 'step' : undefined}\n type={Element === 'button' ? 'button' : undefined}\n {...props}\n >\n <div className=\"eds-stepper__step__line\" aria-hidden={true} />\n <span className=\"eds-stepper__step__label\" aria-hidden={true}>\n {showStepperIndex && i + 1 + '.'} {step}\n </span>\n <VisuallyHidden>{currentStepSummary}</VisuallyHidden>\n </Element>\n </li>\n );\n })}\n </ol>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './TopNavigationItem.scss';\nimport { PolymorphicComponentProps } from '@entur/utils';\n\nexport type TopNavigationItemOwnProps = {\n /** Om komponenten vises som valgt eller ikke\n * @default false\n */\n active?: boolean;\n /** Tekste som vises */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten\n * @default 'a'\n */\n as?: 'a' | React.ElementType;\n /** Ekstra klassenavn */\n className?: string;\n};\n\nexport type TopNavigationItemProps<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicComponentProps<T, TopNavigationItemOwnProps>;\n\nconst defaultElement = 'a';\n\nexport const TopNavigationItem = <\n E extends React.ElementType = typeof defaultElement,\n>({\n active = false,\n className,\n as,\n ...rest\n}: TopNavigationItemProps<E>): JSX.Element => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames([\n 'eds-top-navigation-item',\n className,\n { 'eds-top-navigation-item--active': active },\n ])}\n {...rest}\n />\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles(\n 'menu',\n 'expand',\n 'icons',\n 'typography',\n 'button',\n 'layout',\n 'a11y',\n);\n\nexport * from './BreadcrumbNavigation';\nexport * from './BreadcrumbItem';\nexport * from './CollapsibleSideNavigation';\nexport * from './OverflowMenu';\nexport * from './Pagination';\nexport * from './SideNavigation';\nexport * from './SideNavigationItem';\nexport * from './SideNavigationGroup';\nexport * from './Stepper';\nexport * from './TopNavigationItem';\n"],"names":["BreadcrumbNavigation","ariaLabel","children","React","createElement","className","Children","map","child","index","cloneElement","isCurrent","count","defaultElement","BreadcrumbItem","as","rest","_excluded","Element","Fragment","classNames","undefined","RightArrowIcon","inline","role","useControllableProp","prop","updater","defaultValue","useState","internalState","setInternalState","useEffect","CollapsibleSideNavigation","size","collapsible","collapsed","onCollapseToggle","collapsibleButtonPosition","openSideMenuAriaLabel","closeSideMenuAriaLabel","collapsedMenu","setCollapsedMenu","SideNavigationContext","Provider","value","isCollapsed","onClick","style","top","MenuIcon","LeftArrowIcon","createContext","useSideNavigationContext","context","useContext","console","error","SelectContext","OverflowMenu","button","buttonIcon","placement","isOpen","setIsOpen","activeIndex","setActiveIndex","listRef","useRef","labelsRef","useFloating","whileElementsMounted","autoUpdate","standardisePlacement","position","open","onOpenChange","middleware","offset","space","extraSmall2","flip","shift","padding","extraSmall","refs","floatingStyles","listNav","useListNavigation","onNavigate","typeahead","useTypeahead","onMatch","useRole","useInteractions","getReferenceProps","getFloatingProps","getItemProps","closeMenuAndReturnFocus","reference","current","focus","useOnClickOutside","floating","useOnEscape","selectContext","useMemo","_buttonIcon","VerticalDotsIcon","IconButton","ref","setReference","setFloating","display","FloatingList","elementsRef","OverflowMenuItem","onSelect","href","disabled","_excluded2","useListItem","label","getNodeText","listItemRef","isHighlighted","isLink","tabIndex","OverflowMenuLink","_excluded3","PaginationPage","selected","ariaDescribedby","type","PaginationInput","currentPage","pageCount","onPageChange","String","input","setInput","handleSubmit","e","preventDefault","stopPropagation","pageNumber","Number","isNaN","handleChange","target","onSubmit","noValidate","max","onChange","Pagination","inputLabel","pageLabel","previousPageLabel","currentPageLabelForScreenreader","lastPageLabelForScreenreader","showInput","numberOfResults","resultsPerPage","resultsPerPageOptions","onResultsPerPageChange","showNumberOfResultsLabel","nextPageLabel","showingResultsLabel","minPage","maxPage","changeNumberOfResultsLabelForScreenreader","hideNextButton","hidePrevButton","listedEntries","setListedEntries","paginationId","useRandomId","isFirstPostSelected","isLastPostSelected","noEllipsis","onlyLeadingEllipsis","onlyTrailingEllipsis","Array","fill","_","i","Label","DownArrowIcon","option","key","entry","Ellipsis","VisuallyHidden","id","SideNavigation","__IS_ENTUR_MENU__","useShowDelayedLabel","showLabel","setShowLabel","hideDelay","showDelay","setTimeout","isActiveRecursively","props","active","toArray","some","defaultElementBaseItem","BaseSideNavigationItem","forwardRef","subMenu","icon","DisabledSideNavigationItem","defaultElementItem","SideNavigationItem","forceExpandSubMenus","childrenArray","find","filter","isExpanded","SideNavigationGroup","defaultOpen","onToggle","title","setOpen","ExpandArrow","BaseExpand","Stepper","interactive","onStepClick","showStepperIndex","steps","ariaLabelStep","ariaLabelOf","ariaLabelCompleted","ariaLabelSummary","length","step","isInteractive","isCompleted","currentStepSummary","TopNavigationItem","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),t=require("classnames"),n=require("@entur/icons"),r=require("@entur/expand"),i=require("@reach/menu-button"),l=require("@entur/a11y"),s=require("@entur/layout"),o=require("@entur/typography"),u=require("@entur/button");function c(){return c=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},c.apply(this,arguments)}function d(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a.indexOf(t=i[n])>=0||(r[t]=e[t]);return r}var m=["className","isCurrent","as"],p=["className","children","size"],v=function(e){var n=e.className,r=e.children,i=e.size,l=void 0===i?"medium":i,s=d(e,p);return r&&a.Children.count(r)?a.createElement("ul",c({className:t("eds-side-navigation",{"eds-side-navigation--small":"small"===l},n)},s),r):null};function b(e){var t=e.prop,n=e.updater,r=void 0===n?function(){}:n,i=a.useState(e.defaultValue),l=i[0],s=i[1];return a.useEffect((function(){void 0!==t&&s(t)}),[t]),void 0===t?[l,s]:[t,r]}v.__IS_ENTUR_MENU__=!0;var g=["className","children","size","collapsed","onCollapseToggle","collapsibleButtonPosition","openSideMenuAriaLabel","closeSideMenuAriaLabel"],f=a.createContext({isCollapsed:!1}),_=function(){var e=a.useContext(f);return e||console.error("Error reading SideNavigationContext. Please contact maintainer of @entur/menu"),e},E=function(e){var t=a.useState(!0),n=t[0],r=t[1];return a.useEffect((function(){return e&&setTimeout((function(){r(!1)}),50),e||setTimeout((function(){r(!0)}),200),function(){}}),[e]),[n]},N=["className","active","subMenu","icon","children","as"],h=["children"],S=["active","disabled","children","forceExpandSubMenus","as"];function C(e){return!!e.props&&(!!e.props.active||!!e.props.children&&a.Children.toArray(e.props.children).some((function(e){return C(e)})))}var y=a.forwardRef((function(e,n){var r=e.className,i=e.active,l=void 0!==i&&i,s=e.subMenu,o=e.icon,u=e.children,m=e.as,p=d(e,N),v=m||"a",b=_(),g=E(b.isCollapsed)[0];return a.createElement("li",{className:t("eds-side-navigation__item",r)},a.createElement(v,c({className:t("eds-side-navigation__click-target",{"eds-side-navigation__click-target--active":l}),"aria-label":o?u:void 0,"aria-current":l?"page":void 0,ref:n},p),o,g&&u),s)})),P=a.forwardRef((function(e,t){var n=e.children,r=d(e,h);return a.createElement(y,c({as:"button",disabled:!0,"aria-disabled":!0,ref:t},r),n)})),L=a.forwardRef((function(e,t){var n=e.active,r=e.disabled,i=e.children,l=e.forceExpandSubMenus,s=e.as,o=d(e,S),u=s||"a",m=a.Children.toArray(i),p=m.find((function(e){return e&&e.type&&e.type.__IS_ENTUR_MENU__})),v=p?m.filter((function(e){return e!==p})):i;if(r)return a.createElement(P,c({ref:t},o),v);if(!p)return a.createElement(y,c({as:u,active:n,ref:t},o),v);var b=l||C({props:{children:i,active:n}});return a.createElement(y,c({active:n,subMenu:b&&p,"aria-expanded":b,as:u,ref:t},o),v)})),w=["defaultOpen","open","onToggle","className","children","title","icon"],x=["active","className","as"],M=function(e){var n=e.children,r=e.selected,i=e.disabled,l=e.onClick,s=e["aria-label"],o=e["aria-describedby"];return a.createElement("button",{className:t("eds-pagination__page",{"eds-pagination__page--selected":r},{"eds-pagination__page--disabled":i},e.className),disabled:r||i,type:"button",onClick:l,"aria-label":s,"aria-describedby":o,"aria-current":!!r&&"page"},n)},k=function(e){var t=e.currentPage,n=e.pageCount,r=e.label,i=void 0===r?"Gå til side":r,l=e.onPageChange,s=a.useState(String(t)),o=s[0],u=s[1];return a.useEffect((function(){u(String(t))}),[t]),a.createElement("form",{onSubmit:function(e){e.preventDefault(),e.stopPropagation();var a=Number(o);if(a!==t){if(Number.isNaN(a))return a=t,void u(String(t));a>n?(a=n,u(String(n))):a<1&&(a=1,u(String(1))),l(a)}},noValidate:!0,"aria-label":"form"},a.createElement("label",{className:"eds-pagination__input-wrapper"},a.createElement("span",{className:"eds-pagination__input-label"},i),a.createElement("input",{type:"number",max:n,className:"eds-pagination__input-field",value:o,onChange:function(e){u(e.target.value)}})))},I=["children","className","button","position"],O=["children","className","onSelect","disabled","as"],R=["children","as","className","onSelect","disabled"],A=a.forwardRef((function(e,n){var r=e.children,l=e.className,s=e.onSelect,o=e.disabled,u=e.as,m=void 0===u?"div":u,p=d(e,O);return a.createElement(i.MenuItem,c({className:t("eds-overflow-menu__item",{"eds-overflow-menu__item--disabled":o},l),onSelect:s,disabled:o,ref:n,as:m},p),r)})),B=a.forwardRef((function(e,n){var r=e.children,l=e.as,s=void 0===l?"a":l,o=e.className,u=e.onSelect,m=e.disabled,p=d(e,R);return a.createElement(i.MenuLink,c({as:s,className:t("eds-overflow-menu__item",{"eds-overflow-menu__item--disabled":m},o),onSelect:u,disabled:m,ref:n},p),r)})),q=["className","currentPage","inputLabel","onPageChange","pageCount","pageLabel","previousPageLabel","currentPageLabelForScreenreader","lastPageLabelForScreenreader","showInput","numberOfResults","resultsPerPage","resultsPerPageOptions","onResultsPerPageChange","showNumberOfResultsLabel","nextPageLabel","showingResultsLabel","hideNextButton","hidePrevButton"],V=function(){return a.createElement("span",{className:"eds-pagination__ellipsis","aria-hidden":"true"},"…")},T=["activeIndex","className","interactive","onStepClick","showStepperIndex","steps","ariaLabelStep","ariaLabelOf","ariaLabelCompleted","ariaLabelSummary"];e.warnAboutMissingStyles("menu","expand","icons","typography","button","layout","a11y"),exports.BreadcrumbItem=function(e){var r=e.className,i=e.isCurrent,l=e.as,s=d(e,m),o=l||"a";return a.createElement(a.Fragment,null,a.createElement("li",{className:t("eds-breadcrumb__item",r)},a.createElement(o,c({"aria-current":i?"page":void 0,className:t("eds-breadcrumb__link",{"eds-breadcrumb__link--current":i})},s))),!i&&a.createElement(n.RightArrowIcon,{className:"eds-breadcrumb__separator",inline:!0,role:"presentation"}))},exports.BreadcrumbNavigation=function(e){var t=e["aria-label"],n=e.children;return a.createElement("nav",{"aria-label":void 0===t?"Brødsmulesti":t},a.createElement("ol",{className:"eds-breadcrumbs"},a.Children.map(n,(function(e,t){return a.cloneElement(e,{isCurrent:t+1===a.Children.count(n)})}))))},exports.CollapsibleSideNavigation=function(e){var r=e.className,i=e.children,l=e.size,s=e.collapsed,o=e.onCollapseToggle,u=e.collapsibleButtonPosition,m=void 0===u?"50%":u,p=e.openSideMenuAriaLabel,v=void 0===p?"Åpne sidemeny":p,_=e.closeSideMenuAriaLabel,E=void 0===_?"Lukk sidemeny":_,N=d(e,g),h=b({prop:s,defaultValue:!1,updater:o}),S=h[0],C=h[1];return a.createElement(f.Provider,{value:{isCollapsed:S}},a.createElement("ul",c({className:t("eds-side-navigation",{"eds-side-navigation--small":"small"===l},{"eds-side-navigation--collapsed":S},r)},N),i,a.createElement("button",{className:"eds-side-navigation__collapse-button",onClick:function(){return C(!S)},style:{top:""+m}},S?a.createElement(n.MenuIcon,{"aria-label":v}):a.createElement(n.LeftArrowIcon,{"aria-label":E}))))},exports.OverflowMenu=function(e){var r=e.children,l=e.className,o=e.button,m=e.position,p=void 0===m?"right":m,v=d(e,I);return a.createElement("div",null,a.createElement(i.Menu,null,o?a.cloneElement(o,c({as:i.MenuButton,className:t(l,"eds-overflow-menu__menu-button")},v)):a.createElement(u.IconButton,c({as:i.MenuButton,className:t(l,"eds-overflow-menu__menu-button")},v),a.createElement(n.VerticalDotsIcon,null)),s.useContrast()?a.createElement(s.Contrast,{className:t("eds-overflow-menu__menu-list"),as:i.MenuList,portal:!1},[r]):a.createElement(i.MenuList,{className:t("eds-overflow-menu__menu-list",{"eds-overflow-menu__menu-list--left":"left"===p}),portal:!1},[r])))},exports.OverflowMenuItem=A,exports.OverflowMenuLink=B,exports.Pagination=function(r){var u=r.className,m=r.currentPage,p=r.inputLabel,v=r.onPageChange,b=r.pageCount,g=r.pageLabel,f=void 0===g?function(e){return"Gå til side "+e}:g,_=r.previousPageLabel,E=void 0===_?"Gå til forrige side":_,N=r.currentPageLabelForScreenreader,h=void 0===N?"Nåværende side:":N,S=r.lastPageLabelForScreenreader,C=void 0===S?", siste side":S,y=r.showInput,P=r.numberOfResults,L=r.resultsPerPage,w=r.resultsPerPageOptions,x=void 0===w?[10,25,50]:w,I=r.onResultsPerPageChange,O=r.showNumberOfResultsLabel,R=void 0===O?"Vis":O,B=r.nextPageLabel,T=void 0===B?"Gå til neste side":B,F=r.showingResultsLabel,j=void 0===F?function(e,a,t){return"Viser resultat "+e+"–"+a+" av "+t}:F,G=r.hideNextButton,U=void 0!==G&&G,z=r.hidePrevButton,D=void 0!==z&&z,H=d(r,q),J=s.useContrast(),K=a.useState([]),Q=K[0],W=K[1],X=e.useRandomId("eds-pagination"),Y=1===m,Z=m===b,$=b<=7,ee=!$&&m<5,ae=!$&&b-m<=3;return a.useEffect((function(){b<1||W($?Array(b).fill(null).map((function(e,a){return a+1})):ee?[1,2,3,4,5,"…",b]:ae?[1,"…",b-4,b-3,b-2,b-1,b]:[1,"…",m-1,m,m+1,"…",b])}),[$,ee,ae,m,b]),b<1?null:a.createElement("nav",c({className:t("eds-pagination",u),"aria-label":"Paginering"},H),L&&P&&a.createElement("div",{className:"eds-pagination__results"},I&&a.createElement(i.Menu,null,(function(e){var r=e.isOpen;return a.createElement(a.Fragment,null,a.createElement(o.Label,{as:"p","aria-hidden":"true"},R),a.createElement(i.MenuButton,{className:t("eds-pagination-menu__menu-button",{"eds-pagination-menu__menu-button--open":r})},a.createElement(l.VisuallyHidden,null,R," "),L,a.createElement(r?n.UpArrowIcon:n.DownArrowIcon,null)),a.createElement(i.MenuList,{className:t("eds-pagination-menu__menu-list","eds-overflow-menu__menu-list",{"eds-contrast":J})},x.map((function(e,t){return a.createElement(A,{key:t,onSelect:function(){return I(e)}},e)}))))})),a.createElement(o.Label,{as:"p",className:"eds-pagination__results-label"},j((m-1)*L+1,m*L>P?P:m*L,P))),a.createElement("div",{className:"eds-pagination__controls"},!D&&a.createElement(M,{onClick:function(){return v(m-1)},"aria-label":E,"aria-describedby":X,disabled:Y},a.createElement(n.LeftArrowIcon,null)),Q.map((function(e,t){return"…"===e?a.createElement(V,{key:"ellipsis-"+t}):a.createElement(M,{selected:e===m,onClick:function(){return v(e)},"aria-label":""+f(e)+(e===b?C:""),"aria-describedby":e!==m?X:void 0,key:e},e)})),!U&&a.createElement(M,{onClick:function(){return v(m+1)},"aria-label":T,"aria-describedby":X,disabled:Z},a.createElement(n.RightArrowIcon,null)),y&&a.createElement(k,{pageCount:b,currentPage:m,onPageChange:v,label:p})),a.createElement(l.VisuallyHidden,{id:X},h," ",m))},exports.SideNavigation=v,exports.SideNavigationGroup=function(e){var n=e.defaultOpen,i=void 0!==n&&n,l=e.open,s=e.onToggle,o=e.className,u=e.children,m=e.title,p=e.icon,v=d(e,w),g=b({prop:l,updater:s,defaultValue:i}),f=g[0],N=g[1],h=_(),S=E(h.isCollapsed)[0];return a.createElement("div",c({className:t("eds-side-navigation-group",o)},v),a.createElement("button",{onClick:function(){return N(!f)},type:"button",className:"eds-side-navigation-group__trigger","aria-label":m+", utvidbar meny, "+(f?"åpen":"lukket")},a.createElement("span",null,p&&a.createElement("span",{className:"eds-side-navigation-group__trigger-icon"},p),S&&m),S&&a.createElement(r.ExpandArrow,{open:f,className:"eds-side-navigation-group__expand-icon"})),a.createElement(r.BaseExpand,{open:f},u))},exports.SideNavigationItem=L,exports.Stepper=function(e){var n=e.activeIndex,r=e.className,i=e.interactive,s=void 0!==i&&i,o=e.onStepClick,u=e.showStepperIndex,m=void 0===u||u,p=e.steps,v=e.ariaLabelStep,b=void 0===v?"Steg":v,g=e.ariaLabelOf,f=void 0===g?"av":g,_=e.ariaLabelCompleted,E=void 0===_?"fullført":_,N=e.ariaLabelSummary,h=void 0===N?"Stegindikator med "+p.length+" steg, du er på steg "+(n+1)+" "+p[n]+",":N,S=d(e,T);return a.createElement("ol",c({className:t("eds-stepper",r),"aria-label":h},S),p.map((function(e,r){var i=r===n,u=s&&n>r,d=n>r,v=b+" "+(r+1)+" "+f+" "+p.length+", "+e+" "+(d?", "+E:""),g=u?{onClick:function(){return null==o?void 0:o(r)}}:{};return a.createElement("li",{key:e},a.createElement(u?"button":"div",c({className:t("eds-stepper__step",{"eds-stepper__step--active":i},{"eds-stepper__step--completed":d},{"eds-stepper__step--interactive":u}),"aria-current":i?"step":void 0},g),a.createElement("div",{className:"eds-stepper__step__line","aria-hidden":!0}),a.createElement("span",{className:"eds-stepper__step__label","aria-hidden":!0},m&&r+1+"."," ",e),a.createElement(l.VisuallyHidden,null,v)))})))},exports.TopNavigationItem=function(e){var n=e.active,r=void 0!==n&&n,i=e.className,l=e.as,s=d(e,x);return a.createElement(l||"a",c({className:t(["eds-top-navigation-item",i,{"eds-top-navigation-item--active":r}])},s))},exports.useSideNavigationContext=_;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),t=require("classnames"),n=require("@entur/icons"),r=require("@floating-ui/react"),i=require("@entur/button"),l=require("@entur/tooltip"),s=require("@entur/tokens"),o=require("@entur/a11y"),c=require("@entur/typography"),u=require("@entur/expand");function d(){return d=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},d.apply(this,arguments)}function p(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a.indexOf(t=i[n])>=0||(r[t]=e[t]);return r}var m=["className","isCurrent","as"];function f(e){var t=e.prop,n=e.updater,r=void 0===n?function(){}:n,i=a.useState(e.defaultValue),l=i[0],s=i[1];return a.useEffect((function(){void 0!==t&&s(t)}),[t]),void 0===t?[l,s]:[t,r]}var g=["className","children","size","collapsed","onCollapseToggle","collapsibleButtonPosition","openSideMenuAriaLabel","closeSideMenuAriaLabel"],v=a.createContext({isCollapsed:!1}),b=function(){var e=a.useContext(v);return e||console.error("Error reading SideNavigationContext. Please contact maintainer of @entur/menu"),e},_=["children","className","button","buttonIcon","placement","aria-label"],E=["children","className","onSelect","href","disabled"],N=["href"],h=a.createContext({}),S=function(t){var o=t.children,c=t.className,u=t.button,m=t.buttonIcon,f=t.placement,g=void 0===f?"bottom-start":f,v=t["aria-label"],b=void 0===v?"åpne valgmeny":v,E=p(t,_),N=a.useState(!1),S=N[0],x=N[1],C=a.useState(null),y=C[0],P=C[1],L=a.useRef([]),I=a.useRef([]),k=r.useFloating({whileElementsMounted:r.autoUpdate,placement:l.standardisePlacement("left"===E.position?"bottom-end":g),open:S,onOpenChange:x,middleware:[r.offset(s.space.extraSmall2),r.flip(),r.shift({padding:s.space.extraSmall})]}),w=k.refs,R=k.floatingStyles,O=k.context,M=r.useListNavigation(O,{listRef:L,activeIndex:y,onNavigate:P}),A=r.useTypeahead(O,{listRef:I,activeIndex:y,onMatch:function(e){return S&&P(e)}}),F=r.useRole(O,{role:"menu"}),T=r.useInteractions([M,A,F]),q=T.getReferenceProps,B=T.getFloatingProps,V=T.getItemProps,j=function(){var e;x(!1),null==(e=w.reference.current)||null==e.focus||e.focus()};e.useOnClickOutside([w.floating,w.reference],(function(){return x(!1)})),e.useOnEscape(w.floating,j),e.useOnEscape(w.reference,j);var G=a.useMemo((function(){return{activeIndex:y,getItemProps:V,closeMenuAndReturnFocus:j}}),[y,V,j]),U=null!=m?m:a.createElement(n.VerticalDotsIcon,null);return a.createElement(a.Fragment,null,u?a.cloneElement(u,d({ref:w.setReference},q({onClick:function(){return x(!S)},className:c,"aria-label":b}),E)):a.createElement(i.IconButton,d({ref:w.setReference},q({onClick:function(){return x(!S)},className:c,"aria-label":b}),E),U),a.createElement(h.Provider,{value:G},a.createElement("div",d({ref:w.setFloating,style:d({},R,{display:S?"initial":"none"})},B({className:"eds-overflow-menu__menu-list"})),a.createElement(r.FloatingList,{elementsRef:L,labelsRef:I},o))))},x=function(n){var i=n.children,l=n.className,s=n.onSelect,o=void 0===s?function(){}:s,c=n.href,u=n.disabled,m=p(n,E),f=a.useContext(h),g=f.activeIndex,v=f.getItemProps,b=f.closeMenuAndReturnFocus,_=r.useListItem({label:u?null:e.getNodeText(i)}),N=g===_.index,S=void 0!==c;return a.createElement(S?"a":"button",d({ref:_.ref,className:t("eds-overflow-menu__item",{"eds-overflow-menu__item--disabled":u,"eds-overflow-menu__item--highlighted":N},l),role:"menuitem","aria-disabled":u,"aria-selected":N},v({onClick:S||u?void 0:function(){o(),b()},href:u?void 0:c,tabIndex:N?0:-1}),m),i)},C=function(e){var n=e.children,r=e.selected,i=e.disabled,l=e.onClick,s=e["aria-label"],o=e["aria-describedby"];return a.createElement("button",{className:t("eds-pagination__controls__page",{"eds-pagination__controls__page--selected":r},{"eds-pagination__controls__page--disabled":i},e.className),disabled:r||i,type:"button",onClick:l,"aria-label":s,"aria-describedby":o,"aria-current":!!r&&"page"},n)},y=function(e){var t=e.currentPage,n=e.pageCount,r=e.label,i=void 0===r?"Gå til side":r,l=e.onPageChange,s=a.useState(String(t)),o=s[0],c=s[1];return a.useEffect((function(){c(String(t))}),[t]),a.createElement("form",{onSubmit:function(e){e.preventDefault(),e.stopPropagation();var a=Number(o);if(a!==t){if(Number.isNaN(a))return a=t,void c(String(t));a>n?(a=n,c(String(n))):a<1&&(a=1,c(String(1))),l(a)}},noValidate:!0,"aria-label":"form"},a.createElement("label",{className:"eds-pagination__controls__input__wrapper"},a.createElement("span",{className:"eds-pagination__controls__input__label"},i),a.createElement("input",{type:"number",max:n,className:"eds-pagination__controls__input__field",value:o,onChange:function(e){c(e.target.value)}})))},P=["className","currentPage","inputLabel","onPageChange","pageCount","pageLabel","previousPageLabel","currentPageLabelForScreenreader","lastPageLabelForScreenreader","showInput","numberOfResults","resultsPerPage","resultsPerPageOptions","onResultsPerPageChange","showNumberOfResultsLabel","nextPageLabel","showingResultsLabel","changeNumberOfResultsLabelForScreenreader","hideNextButton","hidePrevButton"],L=function(){return a.createElement("span",{className:"eds-pagination__controls__page__ellipsis","aria-hidden":"true"},"…")},I=["className","children","size"],k=function(e){var n=e.className,r=e.children,i=e.size,l=void 0===i?"medium":i,s=p(e,I);return r&&a.Children.count(r)?a.createElement("ul",d({className:t("eds-side-navigation",{"eds-side-navigation--small":"small"===l},n)},s),r):null};k.__IS_ENTUR_MENU__=!0;var w=function(e){var t=a.useState(!0),n=t[0],r=t[1];return a.useEffect((function(){return e&&setTimeout((function(){r(!1)}),50),e||setTimeout((function(){r(!0)}),200),function(){}}),[e]),[n]},R=["className","active","subMenu","icon","children","as"],O=["children"],M=["active","disabled","children","forceExpandSubMenus","as"];function A(e){return!!e.props&&(!!e.props.active||!!e.props.children&&a.Children.toArray(e.props.children).some((function(e){return A(e)})))}var F=a.forwardRef((function(e,n){var r=e.className,i=e.active,l=void 0!==i&&i,s=e.subMenu,o=e.icon,c=e.children,u=e.as,m=p(e,R),f=u||"a",g=b().isCollapsed,v=w(g)[0];return a.createElement("li",{className:t("eds-side-navigation__item",r)},a.createElement(f,d({className:t("eds-side-navigation__click-target",{"eds-side-navigation__click-target--active":l}),"aria-label":g?c:void 0,"aria-current":l?"page":void 0,ref:n},m),o,v&&c),s)})),T=a.forwardRef((function(e,t){var n=e.children,r=p(e,O);return a.createElement(F,d({as:"button",disabled:!0,"aria-disabled":!0,ref:t,type:"button"},r),n)})),q=a.forwardRef((function(e,t){var n=e.active,r=e.disabled,i=e.children,l=e.forceExpandSubMenus,s=e.as,o=p(e,M),c=s||"a",u=a.Children.toArray(i),m=u.find((function(e){return e&&e.type&&e.type.__IS_ENTUR_MENU__})),f=m?u.filter((function(e){return e!==m})):i;if(r)return a.createElement(T,d({ref:t},o),f);if(!m)return a.createElement(F,d({as:c,active:n,ref:t},o),f);var g=l||A({props:{children:i,active:n}});return a.createElement(F,d({active:n,subMenu:g&&m,"aria-expanded":g,as:c,ref:t},o),f)})),B=["defaultOpen","open","onToggle","className","children","title","icon"],V=["activeIndex","className","interactive","onStepClick","showStepperIndex","steps","ariaLabelStep","ariaLabelOf","ariaLabelCompleted","ariaLabelSummary"],j=["active","className","as"];e.warnAboutMissingStyles("menu","expand","icons","typography","button","layout","a11y"),exports.BreadcrumbItem=function(e){var r=e.className,i=e.isCurrent,l=e.as,s=p(e,m),o=l||"a";return a.createElement(a.Fragment,null,a.createElement("li",{className:t("eds-breadcrumb__item",r)},a.createElement(o,d({"aria-current":i?"page":void 0,className:t("eds-breadcrumb__link",{"eds-breadcrumb__link--current":i})},s))),!i&&a.createElement(n.RightArrowIcon,{className:"eds-breadcrumb__separator",inline:!0,role:"presentation"}))},exports.BreadcrumbNavigation=function(e){var t=e["aria-label"],n=e.children;return a.createElement("nav",{"aria-label":void 0===t?"Brødsmulesti":t},a.createElement("ol",{className:"eds-breadcrumbs"},a.Children.map(n,(function(e,t){return a.cloneElement(e,{isCurrent:t+1===a.Children.count(n)})}))))},exports.CollapsibleSideNavigation=function(e){var r=e.className,i=e.children,l=e.size,s=e.collapsed,o=e.onCollapseToggle,c=e.collapsibleButtonPosition,u=void 0===c?"50%":c,m=e.openSideMenuAriaLabel,b=void 0===m?"Åpne sidemeny":m,_=e.closeSideMenuAriaLabel,E=void 0===_?"Lukk sidemeny":_,N=p(e,g),h=f({prop:s,defaultValue:!1,updater:o}),S=h[0],x=h[1];return a.createElement(v.Provider,{value:{isCollapsed:S}},a.createElement("ul",d({className:t("eds-side-navigation",{"eds-side-navigation--small":"small"===l},{"eds-side-navigation--collapsed":S},r)},N),i,a.createElement("button",{className:"eds-side-navigation__collapse-button",onClick:function(){return x(!S)},style:{top:""+u}},S?a.createElement(n.MenuIcon,{"aria-label":b}):a.createElement(n.LeftArrowIcon,{"aria-label":E}))))},exports.OverflowMenu=S,exports.OverflowMenuItem=x,exports.OverflowMenuLink=function(e){var t=e.href,n=p(e,N);return a.createElement(x,d({href:t},n))},exports.Pagination=function(r){var i=r.className,l=r.currentPage,s=r.inputLabel,u=r.onPageChange,m=r.pageCount,f=r.pageLabel,g=void 0===f?function(e){return"Gå til side "+e}:f,v=r.previousPageLabel,b=void 0===v?"Gå til forrige side":v,_=r.currentPageLabelForScreenreader,E=void 0===_?"Nåværende side:":_,N=r.lastPageLabelForScreenreader,h=void 0===N?", siste side":N,I=r.showInput,k=r.numberOfResults,w=r.resultsPerPage,R=r.resultsPerPageOptions,O=void 0===R?[10,25,50]:R,M=r.onResultsPerPageChange,A=r.showNumberOfResultsLabel,F=void 0===A?"Vis":A,T=r.nextPageLabel,q=void 0===T?"Gå til neste side":T,B=r.showingResultsLabel,V=void 0===B?function(e,a,t){return"Viser resultat "+e+"–"+a+" av "+t}:B,j=r.changeNumberOfResultsLabelForScreenreader,G=void 0===j?"Viser "+w+" resultater. Trykk for å endre antall. Åpner en flervalgsmeny.":j,U=r.hideNextButton,z=void 0!==U&&U,D=r.hidePrevButton,H=void 0!==D&&D,J=p(r,P),K=a.useState([]),Q=K[0],W=K[1],X=e.useRandomId("eds-pagination"),Y=1===l,Z=l===m,$=m<=7,ee=!$&&l<5,ae=!$&&m-l<=3;return a.useEffect((function(){m<1||W($?Array(m).fill(null).map((function(e,a){return a+1})):ee?[1,2,3,4,5,"…",m]:ae?[1,"…",m-4,m-3,m-2,m-1,m]:[1,"…",l-1,l,l+1,"…",m])}),[$,ee,ae,l,m]),m<1?null:a.createElement("nav",d({className:t("eds-pagination",i),"aria-label":"Paginering"},J),w&&k&&a.createElement("div",{className:"eds-pagination__results"},M&&a.createElement(a.Fragment,null,a.createElement(c.Label,{as:"p","aria-hidden":"true"},F),a.createElement(S,{className:"eds-pagination__results__change-number-of-results",buttonIcon:a.createElement(a.Fragment,null,w," ",a.createElement(n.DownArrowIcon,{className:"eds-pagination__results__change-number-of-results__arrow","aria-hidden":"true"})),"aria-label":G,placement:"bottom-end"},O.map((function(e,t){return a.createElement(x,{key:t,onSelect:function(){return M(e)}},e)})))),a.createElement(c.Label,{as:"p"},V((l-1)*w+1,l*w>k?k:l*w,k))),a.createElement("div",{className:"eds-pagination__controls"},!H&&a.createElement(C,{onClick:function(){return u(l-1)},"aria-label":b,"aria-describedby":X,disabled:Y},a.createElement(n.LeftArrowIcon,{"aria-hidden":"true"})),Q.map((function(e,t){return"…"===e?a.createElement(L,{key:"ellipsis-"+t}):a.createElement(C,{selected:e===l,onClick:function(){return u(e)},"aria-label":""+g(e)+(e===m?h:""),"aria-describedby":e!==l?X:void 0,key:e},e)})),!z&&a.createElement(C,{onClick:function(){return u(l+1)},"aria-label":q,"aria-describedby":X,disabled:Z},a.createElement(n.RightArrowIcon,{"aria-hidden":"true"})),I&&a.createElement(y,{pageCount:m,currentPage:l,onPageChange:u,label:s})),a.createElement(o.VisuallyHidden,{id:X},E," ",l))},exports.SideNavigation=k,exports.SideNavigationGroup=function(e){var n=e.defaultOpen,r=void 0!==n&&n,i=e.open,l=e.onToggle,s=e.className,o=e.children,c=e.title,m=e.icon,g=p(e,B),v=f({prop:i,updater:l,defaultValue:r}),_=v[0],E=v[1],N=b(),h=w(N.isCollapsed)[0];return a.createElement("div",d({className:t("eds-side-navigation-group",s)},g),a.createElement("button",{onClick:function(){return E(!_)},type:"button",className:"eds-side-navigation-group__trigger","aria-label":c+", utvidbar meny, "+(_?"åpen":"lukket")},a.createElement("span",null,m&&a.createElement("span",{className:"eds-side-navigation-group__trigger-icon"},m),h&&c),h&&a.createElement(u.ExpandArrow,{open:_,className:"eds-side-navigation-group__expand-icon"})),a.createElement(u.BaseExpand,{className:"eds-side-navigation-group__expand-content",open:_},o))},exports.SideNavigationItem=q,exports.Stepper=function(e){var n=e.activeIndex,r=e.className,i=e.interactive,l=void 0!==i&&i,s=e.onStepClick,c=e.showStepperIndex,u=void 0===c||c,m=e.steps,f=e.ariaLabelStep,g=void 0===f?"Steg":f,v=e.ariaLabelOf,b=void 0===v?"av":v,_=e.ariaLabelCompleted,E=void 0===_?"fullført":_,N=e.ariaLabelSummary,h=void 0===N?"Stegindikator med "+m.length+" steg, du er på steg "+(n+1)+" "+m[n]+",":N,S=p(e,V);return a.createElement("ol",d({className:t("eds-stepper",r),"aria-label":h},S),m.map((function(e,r){var i=r===n,c=l&&n>r,p=c?"button":"div",f=n>r,v=g+" "+(r+1)+" "+b+" "+m.length+", "+e+" "+(f?", "+E:""),_=c?{onClick:function(){return null==s?void 0:s(r)}}:{};return a.createElement("li",{key:e,className:"eds-stepper__step__wrapper"},a.createElement(p,d({className:t("eds-stepper__step",{"eds-stepper__step--active":i},{"eds-stepper__step--completed":f},{"eds-stepper__step--interactive":c}),"aria-current":i?"step":void 0,type:"button"===p?"button":void 0},_),a.createElement("div",{className:"eds-stepper__step__line","aria-hidden":!0}),a.createElement("span",{className:"eds-stepper__step__label","aria-hidden":!0},u&&r+1+"."," ",e),a.createElement(o.VisuallyHidden,null,v)))})))},exports.TopNavigationItem=function(e){var n=e.active,r=void 0!==n&&n,i=e.className,l=e.as,s=p(e,j);return a.createElement(l||"a",d({className:t(["eds-top-navigation-item",i,{"eds-top-navigation-item--active":r}])},s))},exports.useSideNavigationContext=b;
|
|
2
2
|
//# sourceMappingURL=menu.cjs.production.min.js.map
|