@entur/menu 4.1.7 → 4.1.10
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/CHANGELOG.md +21 -0
- package/dist/CollapsibleSideNavigation.d.ts +8 -0
- package/dist/Pagination.d.ts +4 -0
- package/dist/PaginationPage.d.ts +1 -0
- package/dist/menu.cjs.development.js +33 -10
- 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 +34 -11
- package/dist/menu.esm.js.map +1 -1
- package/dist/styles.css +256 -256
- package/package.json +9 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.1.10](https://bitbucket.org/enturas/design-system/compare/@entur/menu@4.1.9...@entur/menu@4.1.10) (2022-09-02)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **collapsible side navigation:** add descriptive aria-label to open/close side navigation button ([a6a5faf](https://bitbucket.org/enturas/design-system/commits/a6a5faf697123ca350e2c6df8e12bb4f27fdc7ad))
|
|
11
|
+
- **side navigation:** add descriptive label for side navigation group ([bd35115](https://bitbucket.org/enturas/design-system/commits/bd351153e651e042aff04c7616ac2af4cc18901d))
|
|
12
|
+
- **side navigation item:** add aria-current=page to active side navigation item ([6b8f499](https://bitbucket.org/enturas/design-system/commits/6b8f499184ee69c6d5dc1505a8dc866691ee577a))
|
|
13
|
+
- **side navigation item:** add descriptive aria-label to side navigation item when icon is used ([0757134](https://bitbucket.org/enturas/design-system/commits/0757134121d9e78e401b3a05c277e7da67280486))
|
|
14
|
+
- **side navigation item:** add not-allowed cursor style to disabled navigation items ([a071782](https://bitbucket.org/enturas/design-system/commits/a07178257a9ce41b37f162314b48674f77351197))
|
|
15
|
+
- **Stepper:** add more descriptive labels for screenreaders ([5077da7](https://bitbucket.org/enturas/design-system/commits/5077da73d4add7e244641026dab49ba4f49d1125))
|
|
16
|
+
|
|
17
|
+
## [4.1.9](https://bitbucket.org/enturas/design-system/compare/@entur/menu@4.1.8...@entur/menu@4.1.9) (2022-08-31)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @entur/menu
|
|
20
|
+
|
|
21
|
+
## [4.1.8](https://bitbucket.org/enturas/design-system/compare/@entur/menu@4.1.7...@entur/menu@4.1.8) (2022-08-31)
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
|
|
25
|
+
- **pagination:** add more descriptive screen reader texts to pagintion ([7673059](https://bitbucket.org/enturas/design-system/commits/7673059920e94c75ff4e15c24feced7557a59676))
|
|
26
|
+
|
|
6
27
|
## [4.1.7](https://bitbucket.org/enturas/design-system/compare/@entur/menu@4.1.6...@entur/menu@4.1.7) (2022-08-24)
|
|
7
28
|
|
|
8
29
|
### Bug Fixes
|
|
@@ -11,6 +11,14 @@ declare type CollapsibleSideNavigationProps = SideNavigationProps & {
|
|
|
11
11
|
* @default 50%
|
|
12
12
|
*/
|
|
13
13
|
collapsibleButtonPosition?: string;
|
|
14
|
+
/** Aria-label for knappen som åpner menyen
|
|
15
|
+
* @default "Åpne sidemeny"
|
|
16
|
+
*/
|
|
17
|
+
openSideMenuAriaLabel?: string;
|
|
18
|
+
/** Aria-label for knappen som lukker menyen
|
|
19
|
+
* @default "Lukk sidemeny"
|
|
20
|
+
*/
|
|
21
|
+
closeSideMenuAriaLabel?: string;
|
|
14
22
|
};
|
|
15
23
|
export declare const CollapsibleSideNavigation: React.FC<CollapsibleSideNavigationProps>;
|
|
16
24
|
export declare const useSideNavigationContext: () => {
|
package/dist/Pagination.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ export declare type PaginationProps = {
|
|
|
24
24
|
* @default pageNumber => `Gå til side ${pageNumber}`,
|
|
25
25
|
*/
|
|
26
26
|
pageLabel?: (pageNumber: number) => string;
|
|
27
|
+
/**
|
|
28
|
+
* @default "Nåværende side:"
|
|
29
|
+
*/
|
|
30
|
+
currentPageLabelForScreenreader?: string;
|
|
27
31
|
/** Vis et felt til høyre for pagineringen hvor man kan angi siden man
|
|
28
32
|
* ønsker å vise i et tekstfelt.
|
|
29
33
|
*
|
package/dist/PaginationPage.d.ts
CHANGED
|
@@ -8,8 +8,9 @@ var classNames = require('classnames');
|
|
|
8
8
|
var icons = require('@entur/icons');
|
|
9
9
|
var expand = require('@entur/expand');
|
|
10
10
|
var menuButton = require('@reach/menu-button');
|
|
11
|
-
var
|
|
11
|
+
var a11y = require('@entur/a11y');
|
|
12
12
|
var layout = require('@entur/layout');
|
|
13
|
+
var typography = require('@entur/typography');
|
|
13
14
|
var button = require('@entur/button');
|
|
14
15
|
|
|
15
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -130,7 +131,7 @@ function useControllableProp(_ref) {
|
|
|
130
131
|
return prop === undefined ? [internalState, setInternalState] : [prop, updater];
|
|
131
132
|
}
|
|
132
133
|
|
|
133
|
-
var _excluded$6 = ["className", "children", "size", "collapsed", "onCollapseToggle", "collapsibleButtonPosition"];
|
|
134
|
+
var _excluded$6 = ["className", "children", "size", "collapsed", "onCollapseToggle", "collapsibleButtonPosition", "openSideMenuAriaLabel", "closeSideMenuAriaLabel"];
|
|
134
135
|
var CollapsibleSideNavigation = function CollapsibleSideNavigation(_ref) {
|
|
135
136
|
var className = _ref.className,
|
|
136
137
|
children = _ref.children,
|
|
@@ -139,6 +140,10 @@ var CollapsibleSideNavigation = function CollapsibleSideNavigation(_ref) {
|
|
|
139
140
|
onCollapseToggle = _ref.onCollapseToggle,
|
|
140
141
|
_ref$collapsibleButto = _ref.collapsibleButtonPosition,
|
|
141
142
|
collapsibleButtonPosition = _ref$collapsibleButto === void 0 ? '50%' : _ref$collapsibleButto,
|
|
143
|
+
_ref$openSideMenuAria = _ref.openSideMenuAriaLabel,
|
|
144
|
+
openSideMenuAriaLabel = _ref$openSideMenuAria === void 0 ? 'Åpne sidemeny' : _ref$openSideMenuAria,
|
|
145
|
+
_ref$closeSideMenuAri = _ref.closeSideMenuAriaLabel,
|
|
146
|
+
closeSideMenuAriaLabel = _ref$closeSideMenuAri === void 0 ? 'Lukk sidemeny' : _ref$closeSideMenuAri,
|
|
142
147
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
143
148
|
|
|
144
149
|
var _useControllableProp = useControllableProp({
|
|
@@ -167,7 +172,11 @@ var CollapsibleSideNavigation = function CollapsibleSideNavigation(_ref) {
|
|
|
167
172
|
style: {
|
|
168
173
|
top: "" + collapsibleButtonPosition
|
|
169
174
|
}
|
|
170
|
-
}, collapsedMenu ? React__default["default"].createElement(icons.MenuIcon,
|
|
175
|
+
}, collapsedMenu ? React__default["default"].createElement(icons.MenuIcon, {
|
|
176
|
+
"aria-label": openSideMenuAriaLabel
|
|
177
|
+
}) : React__default["default"].createElement(icons.LeftArrowIcon, {
|
|
178
|
+
"aria-label": closeSideMenuAriaLabel
|
|
179
|
+
}))));
|
|
171
180
|
};
|
|
172
181
|
var SideNavigationContext = /*#__PURE__*/React__default["default"].createContext({
|
|
173
182
|
isCollapsed: false
|
|
@@ -256,6 +265,8 @@ var BaseSideNavigationItem = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
|
256
265
|
className: classNames__default["default"]('eds-side-navigation__click-target', {
|
|
257
266
|
'eds-side-navigation__click-target--active': active
|
|
258
267
|
}),
|
|
268
|
+
"aria-label": icon ? children : undefined,
|
|
269
|
+
"aria-current": active ? 'page' : undefined,
|
|
259
270
|
ref: ref
|
|
260
271
|
}, rest), icon, showLabel && children), subMenu);
|
|
261
272
|
});
|
|
@@ -350,7 +361,8 @@ var SideNavigationGroup = function SideNavigationGroup(_ref) {
|
|
|
350
361
|
return setOpen(!isOpen);
|
|
351
362
|
},
|
|
352
363
|
type: "button",
|
|
353
|
-
className: "eds-side-navigation-group__trigger"
|
|
364
|
+
className: "eds-side-navigation-group__trigger",
|
|
365
|
+
"aria-label": title + ", utvidbar meny, " + (isOpen ? 'åpen' : 'lukket')
|
|
354
366
|
}, React__default["default"].createElement("span", null, icon && React__default["default"].createElement("span", {
|
|
355
367
|
className: "eds-side-navigation-group__trigger-icon"
|
|
356
368
|
}, icon), showLabel && title), showLabel && React__default["default"].createElement(expand.ExpandArrow, {
|
|
@@ -384,7 +396,8 @@ var PaginationPage = function PaginationPage(_ref) {
|
|
|
384
396
|
selected = _ref.selected,
|
|
385
397
|
disabled = _ref.disabled,
|
|
386
398
|
onClick = _ref.onClick,
|
|
387
|
-
ariaLabel = _ref['aria-label']
|
|
399
|
+
ariaLabel = _ref['aria-label'],
|
|
400
|
+
ariaDescribedby = _ref['aria-describedby'];
|
|
388
401
|
return React__default["default"].createElement("button", {
|
|
389
402
|
className: classNames__default["default"]('eds-pagination__page', {
|
|
390
403
|
'eds-pagination__page--selected': selected
|
|
@@ -395,6 +408,7 @@ var PaginationPage = function PaginationPage(_ref) {
|
|
|
395
408
|
type: "button",
|
|
396
409
|
onClick: onClick,
|
|
397
410
|
"aria-label": ariaLabel,
|
|
411
|
+
"aria-describedby": ariaDescribedby,
|
|
398
412
|
"aria-current": selected ? 'page' : false
|
|
399
413
|
}, children);
|
|
400
414
|
};
|
|
@@ -529,7 +543,7 @@ var OverflowMenuLink = /*#__PURE__*/React__default["default"].forwardRef(functio
|
|
|
529
543
|
}, rest), children);
|
|
530
544
|
});
|
|
531
545
|
|
|
532
|
-
var _excluded$1 = ["className", "currentPage", "inputLabel", "onPageChange", "pageCount", "pageLabel", "previousPageLabel", "showInput", "numberOfResults", "resultsPerPage", "resultsPerPageOptions", "onResultsPerPageChange", "showNumberOfResultsLabel", "nextPageLabel", "showingResultsLabel", "hideNextButton", "hidePrevButton"];
|
|
546
|
+
var _excluded$1 = ["className", "currentPage", "inputLabel", "onPageChange", "pageCount", "pageLabel", "previousPageLabel", "currentPageLabelForScreenreader", "showInput", "numberOfResults", "resultsPerPage", "resultsPerPageOptions", "onResultsPerPageChange", "showNumberOfResultsLabel", "nextPageLabel", "showingResultsLabel", "hideNextButton", "hidePrevButton"];
|
|
533
547
|
var Pagination = function Pagination(_ref) {
|
|
534
548
|
var className = _ref.className,
|
|
535
549
|
currentPage = _ref.currentPage,
|
|
@@ -542,6 +556,8 @@ var Pagination = function Pagination(_ref) {
|
|
|
542
556
|
} : _ref$pageLabel,
|
|
543
557
|
_ref$previousPageLabe = _ref.previousPageLabel,
|
|
544
558
|
previousPageLabel = _ref$previousPageLabe === void 0 ? 'Gå til forrige side' : _ref$previousPageLabe,
|
|
559
|
+
_ref$currentPageLabel = _ref.currentPageLabelForScreenreader,
|
|
560
|
+
currentPageLabelForScreenreader = _ref$currentPageLabel === void 0 ? 'Nåværende side:' : _ref$currentPageLabel,
|
|
545
561
|
showInput = _ref.showInput,
|
|
546
562
|
numberOfResults = _ref.numberOfResults,
|
|
547
563
|
resultsPerPage = _ref.resultsPerPage,
|
|
@@ -568,6 +584,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
568
584
|
listedEntries = _useState[0],
|
|
569
585
|
setListedEntries = _useState[1];
|
|
570
586
|
|
|
587
|
+
var paginationId = utils.useRandomId('eds-pagination');
|
|
571
588
|
var isFirstPostSelected = currentPage === 1;
|
|
572
589
|
var isLastPostSelected = currentPage === pageCount;
|
|
573
590
|
var noEllipsis = pageCount <= 7;
|
|
@@ -604,7 +621,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
604
621
|
className: classNames__default["default"]('eds-pagination-menu__menu-button', {
|
|
605
622
|
'eds-pagination-menu__menu-button--open': isOpen
|
|
606
623
|
})
|
|
607
|
-
}, resultsPerPage, isOpen ? React__default["default"].createElement(icons.UpArrowIcon, null) : React__default["default"].createElement(icons.DownArrowIcon, null)), React__default["default"].createElement(menuButton.MenuList, {
|
|
624
|
+
}, React__default["default"].createElement(a11y.VisuallyHidden, null, showNumberOfResultsLabel, " "), resultsPerPage, isOpen ? React__default["default"].createElement(icons.UpArrowIcon, null) : React__default["default"].createElement(icons.DownArrowIcon, null)), React__default["default"].createElement(menuButton.MenuList, {
|
|
608
625
|
className: classNames__default["default"]('eds-pagination-menu__menu-list', 'eds-overflow-menu__menu-list', {
|
|
609
626
|
'eds-contrast': isContrast
|
|
610
627
|
})
|
|
@@ -625,6 +642,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
625
642
|
return onPageChange(currentPage - 1);
|
|
626
643
|
},
|
|
627
644
|
"aria-label": previousPageLabel,
|
|
645
|
+
"aria-describedby": paginationId,
|
|
628
646
|
disabled: isFirstPostSelected
|
|
629
647
|
}, React__default["default"].createElement(icons.LeftArrowIcon, null)), listedEntries.map(function (entry, index) {
|
|
630
648
|
return entry === '…' ? React__default["default"].createElement(Ellipsis, {
|
|
@@ -642,13 +660,16 @@ var Pagination = function Pagination(_ref) {
|
|
|
642
660
|
return onPageChange(currentPage + 1);
|
|
643
661
|
},
|
|
644
662
|
"aria-label": nextPageLabel,
|
|
663
|
+
"aria-describedby": paginationId,
|
|
645
664
|
disabled: isLastPostSelected
|
|
646
665
|
}, React__default["default"].createElement(icons.RightArrowIcon, null)), showInput && React__default["default"].createElement(PaginationInput, {
|
|
647
666
|
pageCount: pageCount,
|
|
648
667
|
currentPage: currentPage,
|
|
649
668
|
onPageChange: onPageChange,
|
|
650
669
|
label: inputLabel
|
|
651
|
-
}))
|
|
670
|
+
})), React__default["default"].createElement(a11y.VisuallyHidden, {
|
|
671
|
+
id: paginationId
|
|
672
|
+
}, currentPageLabelForScreenreader, " ", currentPage));
|
|
652
673
|
};
|
|
653
674
|
|
|
654
675
|
var Ellipsis = function Ellipsis() {
|
|
@@ -685,7 +706,9 @@ var Stepper = function Stepper(_ref) {
|
|
|
685
706
|
key: step,
|
|
686
707
|
className: classNames__default["default"]('eds-stepper__item__container', {
|
|
687
708
|
'eds-stepper__item__container--non-interactive': !interactive
|
|
688
|
-
})
|
|
709
|
+
}),
|
|
710
|
+
"aria-current": isActive ? 'step' : undefined,
|
|
711
|
+
"aria-label": "Steg " + (i + 1) + " av " + steps.length + ", " + step + " " + (hasBeenActive ? ', fullført' : '')
|
|
689
712
|
}, props), React__default["default"].createElement("div", {
|
|
690
713
|
className: classNames__default["default"]('eds-stepper__item__square', {
|
|
691
714
|
'eds-stepper__item__square--active': isActive
|
|
@@ -700,7 +723,7 @@ var Stepper = function Stepper(_ref) {
|
|
|
700
723
|
}, {
|
|
701
724
|
'eds-stepper__item__label--active': isActive
|
|
702
725
|
})
|
|
703
|
-
}, showStepperIndex && i + 1 + '.'
|
|
726
|
+
}, showStepperIndex && i + 1 + '. ' + step));
|
|
704
727
|
}));
|
|
705
728
|
};
|
|
706
729
|
|
|
@@ -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 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 { PolymorphicPropsWithoutRef } 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 E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithoutRef<BreadcrumbItemOwnProps, E>;\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};\n\nexport const CollapsibleSideNavigation: React.FC<CollapsibleSideNavigationProps> =\n ({\n className,\n children,\n size,\n collapsed: collapsible,\n onCollapseToggle,\n collapsibleButtonPosition = '50%',\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 ? <MenuIcon /> : <LeftArrowIcon />}\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 { PolymorphicPropsWithoutRef } 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 E extends React.ElementType = typeof defaultElementBaseItem,\n> = PolymorphicPropsWithoutRef<BaseSideNavigationItemOwnProps, E>;\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 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 E extends React.ElementType = typeof defaultElementItem,\n> = PolymorphicPropsWithoutRef<SideNavigationItemOwnProps, E>;\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 >\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 { PolymorphicPropsWithoutRef } 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 E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithoutRef<TopNavigationItemOwnProps, E>;\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};\nexport const PaginationPage: React.FC<PaginationPageProps> = ({\n children,\n className,\n selected,\n disabled,\n onClick,\n 'aria-label': ariaLabel,\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-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 * as Polymorphic from '@reach/utils/polymorphic';\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 Polymorphic.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 Polymorphic.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 { Label } from '@entur/typography';\nimport { useContrast } from '@entur/layout';\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 /** 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 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\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 <div className={classNames('eds-pagination', className)} {...rest}>\n {resultsPerPage && numberOfResults && (\n <div className=\"eds-pagination__results\">\n {onResultsPerPageChange && (\n <Menu>\n {({ isOpen }) => (\n <>\n <Label>{showNumberOfResultsLabel}</Label>\n <MenuButton\n className={classNames('eds-pagination-menu__menu-button', {\n 'eds-pagination-menu__menu-button--open': isOpen,\n })}\n >\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 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 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 key={entry}\n >\n {entry}\n </PaginationPage>\n ),\n )}\n {!hideNextButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage + 1)}\n aria-label={nextPageLabel}\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 </div>\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';\nimport { Label } from '@entur/typography';\n\nimport './Stepper.scss';\n\nexport type StepperProps = {\n /** Det nåværende steget. */\n activeIndex: number;\n /** Oppdater state ved klikk. */\n onStepClick: (index: number) => void;\n /** Liste av steg. */\n steps: string[];\n /** Ekstra klassenavn. */\n className?: string;\n /** Om stepperen skal være et interaktivt-navigasjonselement eller ikke\n * @default false\n */\n interactive?: boolean;\n /** Om stepper skal vise indeksering av hvilket trinn man er på\n * @default true\n */\n showStepperIndex?: boolean;\n as?: 'button' | React.ElementType;\n [key: string]: any;\n};\n\nexport const Stepper: React.FC<StepperProps> = ({\n className,\n onStepClick,\n steps,\n activeIndex,\n interactive = false,\n showStepperIndex = true,\n ...rest\n}) => {\n const Element = interactive ? 'button' : 'div';\n return (\n <div className={classNames('eds-stepper', className)} {...rest}>\n {steps.map((step, i) => {\n const isActive = i === activeIndex;\n const hasBeenActive = activeIndex > i;\n const props = interactive ? { onClick: () => onStepClick(i) } : {};\n return (\n <Element\n key={step}\n className={classNames('eds-stepper__item__container', {\n 'eds-stepper__item__container--non-interactive': !interactive,\n })}\n {...props}\n >\n <div\n className={classNames(\n 'eds-stepper__item__square',\n { 'eds-stepper__item__square--active': isActive },\n { 'eds-stepper__item__square--inactive': activeIndex < i },\n { 'eds-stepper__item__square--has-been': hasBeenActive },\n )}\n ></div>\n <Label\n className={classNames(\n 'eds-stepper__item__label',\n {\n 'eds-stepper__item__label--has-been': hasBeenActive,\n },\n {\n 'eds-stepper__item__label--active': isActive,\n },\n )}\n >\n {showStepperIndex && i + 1 + '.'} {step}\n </Label>\n </Element>\n );\n })}\n </div>\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);\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","className","Children","map","child","index","cloneElement","isCurrent","count","defaultElement","BreadcrumbItem","as","rest","Element","classNames","undefined","RightArrowIcon","inline","role","SideNavigation","size","__IS_ENTUR_MENU__","useControllableProp","prop","updater","defaultValue","useState","internalState","setInternalState","useEffect","CollapsibleSideNavigation","collapsible","collapsed","onCollapseToggle","collapsibleButtonPosition","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","disabled","defaultElementItem","SideNavigationItem","forceExpandSubMenus","childrenArray","find","type","label","filter","isExpanded","SideNavigationGroup","defaultOpen","open","onToggle","title","isOpen","setOpen","ExpandArrow","BaseExpand","TopNavigationItem","PaginationPage","selected","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","showInput","numberOfResults","resultsPerPage","resultsPerPageOptions","onResultsPerPageChange","showNumberOfResultsLabel","nextPageLabel","showingResultsLabel","minPage","maxPage","hideNextButton","hidePrevButton","isContrast","listedEntries","setListedEntries","isFirstPostSelected","isLastPostSelected","noEllipsis","onlyLeadingEllipsis","onlyTrailingEllipsis","Array","fill","_","i","Label","UpArrowIcon","DownArrowIcon","option","key","entry","Ellipsis","Stepper","onStepClick","steps","activeIndex","interactive","showStepperIndex","step","isActive","hasBeenActive","warnAboutMissingStyles"],"mappings":"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"}
|
|
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 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 { PolymorphicPropsWithoutRef } 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 E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithoutRef<BreadcrumbItemOwnProps, E>;\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 { PolymorphicPropsWithoutRef } 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 E extends React.ElementType = typeof defaultElementBaseItem,\n> = PolymorphicPropsWithoutRef<BaseSideNavigationItemOwnProps, E>;\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 E extends React.ElementType = typeof defaultElementItem,\n> = PolymorphicPropsWithoutRef<SideNavigationItemOwnProps, E>;\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 { PolymorphicPropsWithoutRef } 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 E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithoutRef<TopNavigationItemOwnProps, E>;\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 * as Polymorphic from '@reach/utils/polymorphic';\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 Polymorphic.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 Polymorphic.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 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 <div className={classNames('eds-pagination', className)} {...rest}>\n {resultsPerPage && numberOfResults && (\n <div className=\"eds-pagination__results\">\n {onResultsPerPageChange && (\n <Menu>\n {({ isOpen }) => (\n <>\n <Label>{showNumberOfResultsLabel}</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 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 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 </div>\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';\nimport { Label } from '@entur/typography';\n\nimport './Stepper.scss';\n\nexport type StepperProps = {\n /** Det nåværende steget. */\n activeIndex: number;\n /** Oppdater state ved klikk. */\n onStepClick: (index: number) => void;\n /** Liste av steg. */\n steps: string[];\n /** Ekstra klassenavn. */\n className?: string;\n /** Om stepperen skal være et interaktivt-navigasjonselement eller ikke\n * @default false\n */\n interactive?: boolean;\n /** Om stepper skal vise indeksering av hvilket trinn man er på\n * @default true\n */\n showStepperIndex?: boolean;\n as?: 'button' | React.ElementType;\n [key: string]: any;\n};\n\nexport const Stepper: React.FC<StepperProps> = ({\n className,\n onStepClick,\n steps,\n activeIndex,\n interactive = false,\n showStepperIndex = true,\n ...rest\n}) => {\n const Element = interactive ? 'button' : 'div';\n return (\n <div className={classNames('eds-stepper', className)} {...rest}>\n {steps.map((step, i) => {\n const isActive = i === activeIndex;\n const hasBeenActive = activeIndex > i;\n const props = interactive ? { onClick: () => onStepClick(i) } : {};\n return (\n <Element\n key={step}\n className={classNames('eds-stepper__item__container', {\n 'eds-stepper__item__container--non-interactive': !interactive,\n })}\n aria-current={isActive ? 'step' : undefined}\n aria-label={`Steg ${i + 1} av ${steps.length}, ${step} ${\n hasBeenActive ? ', fullført' : ''\n }`}\n {...props}\n >\n <div\n className={classNames(\n 'eds-stepper__item__square',\n { 'eds-stepper__item__square--active': isActive },\n { 'eds-stepper__item__square--inactive': activeIndex < i },\n { 'eds-stepper__item__square--has-been': hasBeenActive },\n )}\n />\n <Label\n className={classNames(\n 'eds-stepper__item__label',\n {\n 'eds-stepper__item__label--has-been': hasBeenActive,\n },\n {\n 'eds-stepper__item__label--active': isActive,\n },\n )}\n >\n {showStepperIndex && i + 1 + '. ' + step}\n </Label>\n </Element>\n );\n })}\n </div>\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);\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","className","Children","map","child","index","cloneElement","isCurrent","count","defaultElement","BreadcrumbItem","as","rest","Element","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","disabled","defaultElementItem","SideNavigationItem","forceExpandSubMenus","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","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","onStepClick","steps","activeIndex","interactive","showStepperIndex","step","isActive","hasBeenActive","length","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),a=require("classnames"),n=require("@entur/icons"),l=require("@entur/expand"),r=require("@reach/menu-button"),i=require("@entur/typography"),u=require("@entur/layout"),s=require("@entur/button");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=o(t),c=o(a);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},f.apply(this,arguments)}function m(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)t.indexOf(a=r[n])>=0||(l[a]=e[a]);return l}var p=["className","isCurrent","as"],v=["className","children","size"],_=function(e){var t=e.className,a=e.children,n=e.size,l=void 0===n?"medium":n,r=m(e,v);return a&&d.default.Children.count(a)?d.default.createElement("ul",f({className:c.default("eds-side-navigation",{"eds-side-navigation--small":"small"===l},t)},r),a):null};function g(e){var a=e.prop,n=e.updater,l=void 0===n?function(){}:n,r=t.useState(e.defaultValue),i=r[0],u=r[1];return t.useEffect((function(){void 0!==a&&u(a)}),[a]),void 0===a?[i,u]:[a,l]}_.__IS_ENTUR_MENU__=!0;var b=["className","children","size","collapsed","onCollapseToggle","collapsibleButtonPosition"],N=d.default.createContext({isCollapsed:!1}),E=function(){var e=d.default.useContext(N);return e||console.error("Error reading SideNavigationContext. Please contact maintainer of @entur/menu"),e},h=function(e){var a=t.useState(!0),n=a[0],l=a[1];return t.useEffect((function(){return e&&setTimeout((function(){l(!1)}),50),e||setTimeout((function(){l(!0)}),200),function(){}}),[e]),[n]},C=["className","active","subMenu","icon","children","as"],w=["children"],x=["active","disabled","children","forceExpandSubMenus","as"];function P(e){return!!e.props&&(!!e.props.active||!!e.props.children&&d.default.Children.toArray(e.props.children).some((function(e){return P(e)})))}var S=d.default.forwardRef((function(e,t){var a=e.className,n=e.active,l=void 0!==n&&n,r=e.subMenu,i=e.icon,u=e.children,s=e.as,o=m(e,C),p=s||"a",v=E(),_=h(v.isCollapsed)[0];return d.default.createElement("li",{className:c.default("eds-side-navigation__item",a)},d.default.createElement(p,f({className:c.default("eds-side-navigation__click-target",{"eds-side-navigation__click-target--active":l}),ref:t},o),i,_&&u),r)})),y=d.default.forwardRef((function(e,t){var a=e.children,n=m(e,w);return d.default.createElement(S,f({as:"button",disabled:!0,"aria-disabled":!0,ref:t},n),a)})),M=d.default.forwardRef((function(e,t){var a=e.active,n=e.disabled,l=e.children,r=e.forceExpandSubMenus,i=e.as,u=m(e,x),s=i||"a",o=d.default.Children.toArray(l),c=o.find((function(e){return e&&e.type&&e.type.__IS_ENTUR_MENU__})),p=c?o.filter((function(e){return e!==c})):l;if(n)return d.default.createElement(y,f({ref:t},u),p);if(!c)return d.default.createElement(S,f({as:s,active:a,ref:t},u),p);var v=r||P({props:{children:l,active:a}});return d.default.createElement(S,f({active:a,subMenu:v&&c,"aria-expanded":v,as:s,ref:t},u),p)})),I=["defaultOpen","open","onToggle","className","children","title","icon"],L=["active","className","as"],k=function(e){var t=e.children,a=e.selected,n=e.disabled,l=e.onClick,r=e["aria-label"];return d.default.createElement("button",{className:c.default("eds-pagination__page",{"eds-pagination__page--selected":a},{"eds-pagination__page--disabled":n},e.className),disabled:a||n,type:"button",onClick:l,"aria-label":r,"aria-current":!!a&&"page"},t)},O=function(e){var t=e.currentPage,a=e.pageCount,n=e.label,l=void 0===n?"Gå til side":n,r=e.onPageChange,i=d.default.useState(String(t)),u=i[0],s=i[1];return d.default.useEffect((function(){s(String(t))}),[t]),d.default.createElement("form",{onSubmit:function(e){e.preventDefault(),e.stopPropagation();var n=Number(u);if(n!==t){if(Number.isNaN(n))return n=t,void s(String(t));n>a?(n=a,s(String(a))):n<1&&(n=1,s(String(1))),r(n)}},noValidate:!0,"aria-label":"form"},d.default.createElement("label",{className:"eds-pagination__input-wrapper"},d.default.createElement("span",{className:"eds-pagination__input-label"},l),d.default.createElement("input",{type:"number",max:a,className:"eds-pagination__input-field",value:u,onChange:function(e){s(e.target.value)}})))},R=["children","className","button","position"],B=["children","className","onSelect","disabled","as"],q=["children","as","className","onSelect","disabled"],A=d.default.forwardRef((function(e,t){var a=e.children,n=e.className,l=e.onSelect,i=e.disabled,u=e.as,s=void 0===u?"div":u,o=m(e,B);return d.default.createElement(r.MenuItem,f({className:c.default("eds-overflow-menu__item",{"eds-overflow-menu__item--disabled":i},n),onSelect:l,disabled:i,ref:t,as:s},o),a)})),T=d.default.forwardRef((function(e,t){var a=e.children,n=e.as,l=void 0===n?"a":n,i=e.className,u=e.onSelect,s=e.disabled,o=m(e,q);return d.default.createElement(r.MenuLink,f({as:l,className:c.default("eds-overflow-menu__item",{"eds-overflow-menu__item--disabled":s},i),onSelect:u,disabled:s,ref:t},o),a)})),V=["className","currentPage","inputLabel","onPageChange","pageCount","pageLabel","previousPageLabel","showInput","numberOfResults","resultsPerPage","resultsPerPageOptions","onResultsPerPageChange","showNumberOfResultsLabel","nextPageLabel","showingResultsLabel","hideNextButton","hidePrevButton"],j=function(){return d.default.createElement("span",{className:"eds-pagination__ellipsis","aria-hidden":"true"},"…")},G=["className","onStepClick","steps","activeIndex","interactive","showStepperIndex"];e.warnAboutMissingStyles("menu","expand","icons","typography","button","layout"),exports.BreadcrumbItem=function(e){var t=e.className,a=e.isCurrent,l=e.as,r=m(e,p),i=l||"a";return d.default.createElement(d.default.Fragment,null,d.default.createElement("li",{className:c.default("eds-breadcrumb__item",t)},d.default.createElement(i,f({"aria-current":a?"page":void 0,className:c.default("eds-breadcrumb__link",{"eds-breadcrumb__link--current":a})},r))),!a&&d.default.createElement(n.RightArrowIcon,{className:"eds-breadcrumb__separator",inline:!0,role:"presentation"}))},exports.BreadcrumbNavigation=function(e){var t=e["aria-label"],a=e.children;return d.default.createElement("nav",{"aria-label":void 0===t?"Brødsmulesti":t},d.default.createElement("ol",{className:"eds-breadcrumbs"},d.default.Children.map(a,(function(e,t){return d.default.cloneElement(e,{isCurrent:t+1===d.default.Children.count(a)})}))))},exports.CollapsibleSideNavigation=function(e){var t=e.className,a=e.children,l=e.size,r=e.collapsed,i=e.onCollapseToggle,u=e.collapsibleButtonPosition,s=void 0===u?"50%":u,o=m(e,b),p=g({prop:r,defaultValue:!1,updater:i}),v=p[0],_=p[1];return d.default.createElement(N.Provider,{value:{isCollapsed:v}},d.default.createElement("ul",f({className:c.default("eds-side-navigation",{"eds-side-navigation--small":"small"===l},{"eds-side-navigation--collapsed":v},t)},o),a,d.default.createElement("button",{className:"eds-side-navigation__collapse-button",onClick:function(){return _(!v)},style:{top:""+s}},d.default.createElement(v?n.MenuIcon:n.LeftArrowIcon,null))))},exports.OverflowMenu=function(e){var a=e.children,l=e.className,i=e.button,o=e.position,p=void 0===o?"right":o,v=m(e,R);return d.default.createElement("div",null,d.default.createElement(r.Menu,null,i?t.cloneElement(i,f({as:r.MenuButton,className:c.default(l,"eds-overflow-menu__menu-button")},v)):d.default.createElement(s.IconButton,f({as:r.MenuButton,className:c.default(l,"eds-overflow-menu__menu-button")},v),d.default.createElement(n.VerticalDotsIcon,null)),u.useContrast()?d.default.createElement(u.Contrast,{className:c.default("eds-overflow-menu__menu-list"),as:r.MenuList,portal:!1},[a]):d.default.createElement(r.MenuList,{className:c.default("eds-overflow-menu__menu-list",{"eds-overflow-menu__menu-list--left":"left"===p}),portal:!1},[a])))},exports.OverflowMenuItem=A,exports.OverflowMenuLink=T,exports.Pagination=function(e){var a=e.className,l=e.currentPage,s=e.inputLabel,o=e.onPageChange,p=e.pageCount,v=e.pageLabel,_=void 0===v?function(e){return"Gå til side "+e}:v,g=e.previousPageLabel,b=void 0===g?"Gå til forrige side":g,N=e.showInput,E=e.numberOfResults,h=e.resultsPerPage,C=e.resultsPerPageOptions,w=void 0===C?[10,25,50]:C,x=e.onResultsPerPageChange,P=e.showNumberOfResultsLabel,S=void 0===P?"Vis":P,y=e.nextPageLabel,M=void 0===y?"Gå til neste side":y,I=e.showingResultsLabel,L=void 0===I?function(e,t,a){return"Viser resultat "+e+" - "+t+" av "+a}:I,R=e.hideNextButton,B=void 0!==R&&R,q=e.hidePrevButton,T=void 0!==q&&q,G=m(e,V),U=u.useContrast(),z=t.useState([]),D=z[0],F=z[1],H=1===l,J=l===p,K=p<=7,Q=!K&&l<5,W=!K&&p-l<=3;return t.useEffect((function(){p<1||F(K?Array(p).fill(null).map((function(e,t){return t+1})):Q?[1,2,3,4,5,"…",p]:W?[1,"…",p-4,p-3,p-2,p-1,p]:[1,"…",l-1,l,l+1,"…",p])}),[K,Q,W,l,p]),p<1?null:d.default.createElement("div",f({className:c.default("eds-pagination",a)},G),h&&E&&d.default.createElement("div",{className:"eds-pagination__results"},x&&d.default.createElement(r.Menu,null,(function(e){var t=e.isOpen;return d.default.createElement(d.default.Fragment,null,d.default.createElement(i.Label,null,S),d.default.createElement(r.MenuButton,{className:c.default("eds-pagination-menu__menu-button",{"eds-pagination-menu__menu-button--open":t})},h,d.default.createElement(t?n.UpArrowIcon:n.DownArrowIcon,null)),d.default.createElement(r.MenuList,{className:c.default("eds-pagination-menu__menu-list","eds-overflow-menu__menu-list",{"eds-contrast":U})},w.map((function(e,t){return d.default.createElement(A,{key:t,onSelect:function(){return x(e)}},e)}))))})),d.default.createElement(i.Label,{className:"eds-pagination__results-label"},L((l-1)*h+1,l*h>E?E:l*h,E))),d.default.createElement("div",{className:"eds-pagination__controls"},!T&&d.default.createElement(k,{onClick:function(){return o(l-1)},"aria-label":b,disabled:H},d.default.createElement(n.LeftArrowIcon,null)),D.map((function(e,t){return"…"===e?d.default.createElement(j,{key:"ellipsis-"+t}):d.default.createElement(k,{selected:e===l,onClick:function(){return o(e)},"aria-label":_(e),key:e},e)})),!B&&d.default.createElement(k,{onClick:function(){return o(l+1)},"aria-label":M,disabled:J},d.default.createElement(n.RightArrowIcon,null)),N&&d.default.createElement(O,{pageCount:p,currentPage:l,onPageChange:o,label:s})))},exports.SideNavigation=_,exports.SideNavigationGroup=function(e){var t=e.defaultOpen,a=void 0!==t&&t,n=e.open,r=e.onToggle,i=e.className,u=e.children,s=e.title,o=e.icon,p=m(e,I),v=g({prop:n,updater:r,defaultValue:a}),_=v[0],b=v[1],N=E(),C=h(N.isCollapsed)[0];return d.default.createElement("div",f({className:c.default("eds-side-navigation-group",i)},p),d.default.createElement("button",{onClick:function(){return b(!_)},type:"button",className:"eds-side-navigation-group__trigger"},d.default.createElement("span",null,o&&d.default.createElement("span",{className:"eds-side-navigation-group__trigger-icon"},o),C&&s),C&&d.default.createElement(l.ExpandArrow,{open:_,className:"eds-side-navigation-group__expand-icon"})),d.default.createElement(l.BaseExpand,{open:_},u))},exports.SideNavigationItem=M,exports.Stepper=function(e){var t=e.className,a=e.onStepClick,n=e.steps,l=e.activeIndex,r=e.interactive,u=void 0!==r&&r,s=e.showStepperIndex,o=void 0===s||s,p=m(e,G),v=u?"button":"div";return d.default.createElement("div",f({className:c.default("eds-stepper",t)},p),n.map((function(e,t){var n=t===l,r=l>t,s=u?{onClick:function(){return a(t)}}:{};return d.default.createElement(v,f({key:e,className:c.default("eds-stepper__item__container",{"eds-stepper__item__container--non-interactive":!u})},s),d.default.createElement("div",{className:c.default("eds-stepper__item__square",{"eds-stepper__item__square--active":n},{"eds-stepper__item__square--inactive":l<t},{"eds-stepper__item__square--has-been":r})}),d.default.createElement(i.Label,{className:c.default("eds-stepper__item__label",{"eds-stepper__item__label--has-been":r},{"eds-stepper__item__label--active":n})},o&&t+1+"."," ",e))})))},exports.TopNavigationItem=function(e){var t=e.active,a=void 0!==t&&t,n=e.className,l=e.as,r=m(e,L);return d.default.createElement(l||"a",f({className:c.default(["eds-top-navigation-item",n,{"eds-top-navigation-item--active":a}])},r))},exports.useSideNavigationContext=E;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),t=require("classnames"),n=require("@entur/icons"),l=require("@entur/expand"),r=require("@reach/menu-button"),i=require("@entur/a11y"),u=require("@entur/layout"),s=require("@entur/typography"),o=require("@entur/button");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=d(a),f=d(t);function m(){return m=Object.assign||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},m.apply(this,arguments)}function p(e,a){if(null==e)return{};var t,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a.indexOf(t=r[n])>=0||(l[t]=e[t]);return l}var v=["className","isCurrent","as"],b=["className","children","size"],g=function(e){var a=e.className,t=e.children,n=e.size,l=void 0===n?"medium":n,r=p(e,b);return t&&c.default.Children.count(t)?c.default.createElement("ul",m({className:f.default("eds-side-navigation",{"eds-side-navigation--small":"small"===l},a)},r),t):null};function _(e){var t=e.prop,n=e.updater,l=void 0===n?function(){}:n,r=a.useState(e.defaultValue),i=r[0],u=r[1];return a.useEffect((function(){void 0!==t&&u(t)}),[t]),void 0===t?[i,u]:[t,l]}g.__IS_ENTUR_MENU__=!0;var N=["className","children","size","collapsed","onCollapseToggle","collapsibleButtonPosition","openSideMenuAriaLabel","closeSideMenuAriaLabel"],E=c.default.createContext({isCollapsed:!1}),h=function(){var e=c.default.useContext(E);return e||console.error("Error reading SideNavigationContext. Please contact maintainer of @entur/menu"),e},C=function(e){var t=a.useState(!0),n=t[0],l=t[1];return a.useEffect((function(){return e&&setTimeout((function(){l(!1)}),50),e||setTimeout((function(){l(!0)}),200),function(){}}),[e]),[n]},S=["className","active","subMenu","icon","children","as"],w=["children"],x=["active","disabled","children","forceExpandSubMenus","as"];function y(e){return!!e.props&&(!!e.props.active||!!e.props.children&&c.default.Children.toArray(e.props.children).some((function(e){return y(e)})))}var P=c.default.forwardRef((function(e,a){var t=e.className,n=e.active,l=void 0!==n&&n,r=e.subMenu,i=e.icon,u=e.children,s=e.as,o=p(e,S),d=s||"a",v=h(),b=C(v.isCollapsed)[0];return c.default.createElement("li",{className:f.default("eds-side-navigation__item",t)},c.default.createElement(d,m({className:f.default("eds-side-navigation__click-target",{"eds-side-navigation__click-target--active":l}),"aria-label":i?u:void 0,"aria-current":l?"page":void 0,ref:a},o),i,b&&u),r)})),L=c.default.forwardRef((function(e,a){var t=e.children,n=p(e,w);return c.default.createElement(P,m({as:"button",disabled:!0,"aria-disabled":!0,ref:a},n),t)})),M=c.default.forwardRef((function(e,a){var t=e.active,n=e.disabled,l=e.children,r=e.forceExpandSubMenus,i=e.as,u=p(e,x),s=i||"a",o=c.default.Children.toArray(l),d=o.find((function(e){return e&&e.type&&e.type.__IS_ENTUR_MENU__})),f=d?o.filter((function(e){return e!==d})):l;if(n)return c.default.createElement(L,m({ref:a},u),f);if(!d)return c.default.createElement(P,m({as:s,active:t,ref:a},u),f);var v=r||y({props:{children:l,active:t}});return c.default.createElement(P,m({active:t,subMenu:v&&d,"aria-expanded":v,as:s,ref:a},u),f)})),k=["defaultOpen","open","onToggle","className","children","title","icon"],I=["active","className","as"],O=function(e){var a=e.children,t=e.selected,n=e.disabled,l=e.onClick,r=e["aria-label"],i=e["aria-describedby"];return c.default.createElement("button",{className:f.default("eds-pagination__page",{"eds-pagination__page--selected":t},{"eds-pagination__page--disabled":n},e.className),disabled:t||n,type:"button",onClick:l,"aria-label":r,"aria-describedby":i,"aria-current":!!t&&"page"},a)},R=function(e){var a=e.currentPage,t=e.pageCount,n=e.label,l=void 0===n?"Gå til side":n,r=e.onPageChange,i=c.default.useState(String(a)),u=i[0],s=i[1];return c.default.useEffect((function(){s(String(a))}),[a]),c.default.createElement("form",{onSubmit:function(e){e.preventDefault(),e.stopPropagation();var n=Number(u);if(n!==a){if(Number.isNaN(n))return n=a,void s(String(a));n>t?(n=t,s(String(t))):n<1&&(n=1,s(String(1))),r(n)}},noValidate:!0,"aria-label":"form"},c.default.createElement("label",{className:"eds-pagination__input-wrapper"},c.default.createElement("span",{className:"eds-pagination__input-label"},l),c.default.createElement("input",{type:"number",max:t,className:"eds-pagination__input-field",value:u,onChange:function(e){s(e.target.value)}})))},A=["children","className","button","position"],q=["children","className","onSelect","disabled","as"],B=["children","as","className","onSelect","disabled"],T=c.default.forwardRef((function(e,a){var t=e.children,n=e.className,l=e.onSelect,i=e.disabled,u=e.as,s=void 0===u?"div":u,o=p(e,q);return c.default.createElement(r.MenuItem,m({className:f.default("eds-overflow-menu__item",{"eds-overflow-menu__item--disabled":i},n),onSelect:l,disabled:i,ref:a,as:s},o),t)})),V=c.default.forwardRef((function(e,a){var t=e.children,n=e.as,l=void 0===n?"a":n,i=e.className,u=e.onSelect,s=e.disabled,o=p(e,B);return c.default.createElement(r.MenuLink,m({as:l,className:f.default("eds-overflow-menu__item",{"eds-overflow-menu__item--disabled":s},i),onSelect:u,disabled:s,ref:a},o),t)})),j=["className","currentPage","inputLabel","onPageChange","pageCount","pageLabel","previousPageLabel","currentPageLabelForScreenreader","showInput","numberOfResults","resultsPerPage","resultsPerPageOptions","onResultsPerPageChange","showNumberOfResultsLabel","nextPageLabel","showingResultsLabel","hideNextButton","hidePrevButton"],G=function(){return c.default.createElement("span",{className:"eds-pagination__ellipsis","aria-hidden":"true"},"…")},U=["className","onStepClick","steps","activeIndex","interactive","showStepperIndex"];e.warnAboutMissingStyles("menu","expand","icons","typography","button","layout"),exports.BreadcrumbItem=function(e){var a=e.className,t=e.isCurrent,l=e.as,r=p(e,v),i=l||"a";return c.default.createElement(c.default.Fragment,null,c.default.createElement("li",{className:f.default("eds-breadcrumb__item",a)},c.default.createElement(i,m({"aria-current":t?"page":void 0,className:f.default("eds-breadcrumb__link",{"eds-breadcrumb__link--current":t})},r))),!t&&c.default.createElement(n.RightArrowIcon,{className:"eds-breadcrumb__separator",inline:!0,role:"presentation"}))},exports.BreadcrumbNavigation=function(e){var a=e["aria-label"],t=e.children;return c.default.createElement("nav",{"aria-label":void 0===a?"Brødsmulesti":a},c.default.createElement("ol",{className:"eds-breadcrumbs"},c.default.Children.map(t,(function(e,a){return c.default.cloneElement(e,{isCurrent:a+1===c.default.Children.count(t)})}))))},exports.CollapsibleSideNavigation=function(e){var a=e.className,t=e.children,l=e.size,r=e.collapsed,i=e.onCollapseToggle,u=e.collapsibleButtonPosition,s=void 0===u?"50%":u,o=e.openSideMenuAriaLabel,d=void 0===o?"Åpne sidemeny":o,v=e.closeSideMenuAriaLabel,b=void 0===v?"Lukk sidemeny":v,g=p(e,N),h=_({prop:r,defaultValue:!1,updater:i}),C=h[0],S=h[1];return c.default.createElement(E.Provider,{value:{isCollapsed:C}},c.default.createElement("ul",m({className:f.default("eds-side-navigation",{"eds-side-navigation--small":"small"===l},{"eds-side-navigation--collapsed":C},a)},g),t,c.default.createElement("button",{className:"eds-side-navigation__collapse-button",onClick:function(){return S(!C)},style:{top:""+s}},C?c.default.createElement(n.MenuIcon,{"aria-label":d}):c.default.createElement(n.LeftArrowIcon,{"aria-label":b}))))},exports.OverflowMenu=function(e){var t=e.children,l=e.className,i=e.button,s=e.position,d=void 0===s?"right":s,v=p(e,A);return c.default.createElement("div",null,c.default.createElement(r.Menu,null,i?a.cloneElement(i,m({as:r.MenuButton,className:f.default(l,"eds-overflow-menu__menu-button")},v)):c.default.createElement(o.IconButton,m({as:r.MenuButton,className:f.default(l,"eds-overflow-menu__menu-button")},v),c.default.createElement(n.VerticalDotsIcon,null)),u.useContrast()?c.default.createElement(u.Contrast,{className:f.default("eds-overflow-menu__menu-list"),as:r.MenuList,portal:!1},[t]):c.default.createElement(r.MenuList,{className:f.default("eds-overflow-menu__menu-list",{"eds-overflow-menu__menu-list--left":"left"===d}),portal:!1},[t])))},exports.OverflowMenuItem=T,exports.OverflowMenuLink=V,exports.Pagination=function(t){var l=t.className,o=t.currentPage,d=t.inputLabel,v=t.onPageChange,b=t.pageCount,g=t.pageLabel,_=void 0===g?function(e){return"Gå til side "+e}:g,N=t.previousPageLabel,E=void 0===N?"Gå til forrige side":N,h=t.currentPageLabelForScreenreader,C=void 0===h?"Nåværende side:":h,S=t.showInput,w=t.numberOfResults,x=t.resultsPerPage,y=t.resultsPerPageOptions,P=void 0===y?[10,25,50]:y,L=t.onResultsPerPageChange,M=t.showNumberOfResultsLabel,k=void 0===M?"Vis":M,I=t.nextPageLabel,A=void 0===I?"Gå til neste side":I,q=t.showingResultsLabel,B=void 0===q?function(e,a,t){return"Viser resultat "+e+" - "+a+" av "+t}:q,V=t.hideNextButton,U=void 0!==V&&V,z=t.hidePrevButton,F=void 0!==z&&z,D=p(t,j),H=u.useContrast(),J=a.useState([]),K=J[0],Q=J[1],W=e.useRandomId("eds-pagination"),X=1===o,Y=o===b,Z=b<=7,$=!Z&&o<5,ee=!Z&&b-o<=3;return a.useEffect((function(){b<1||Q(Z?Array(b).fill(null).map((function(e,a){return a+1})):$?[1,2,3,4,5,"…",b]:ee?[1,"…",b-4,b-3,b-2,b-1,b]:[1,"…",o-1,o,o+1,"…",b])}),[Z,$,ee,o,b]),b<1?null:c.default.createElement("div",m({className:f.default("eds-pagination",l)},D),x&&w&&c.default.createElement("div",{className:"eds-pagination__results"},L&&c.default.createElement(r.Menu,null,(function(e){var a=e.isOpen;return c.default.createElement(c.default.Fragment,null,c.default.createElement(s.Label,null,k),c.default.createElement(r.MenuButton,{className:f.default("eds-pagination-menu__menu-button",{"eds-pagination-menu__menu-button--open":a})},c.default.createElement(i.VisuallyHidden,null,k," "),x,c.default.createElement(a?n.UpArrowIcon:n.DownArrowIcon,null)),c.default.createElement(r.MenuList,{className:f.default("eds-pagination-menu__menu-list","eds-overflow-menu__menu-list",{"eds-contrast":H})},P.map((function(e,a){return c.default.createElement(T,{key:a,onSelect:function(){return L(e)}},e)}))))})),c.default.createElement(s.Label,{className:"eds-pagination__results-label"},B((o-1)*x+1,o*x>w?w:o*x,w))),c.default.createElement("div",{className:"eds-pagination__controls"},!F&&c.default.createElement(O,{onClick:function(){return v(o-1)},"aria-label":E,"aria-describedby":W,disabled:X},c.default.createElement(n.LeftArrowIcon,null)),K.map((function(e,a){return"…"===e?c.default.createElement(G,{key:"ellipsis-"+a}):c.default.createElement(O,{selected:e===o,onClick:function(){return v(e)},"aria-label":_(e),key:e},e)})),!U&&c.default.createElement(O,{onClick:function(){return v(o+1)},"aria-label":A,"aria-describedby":W,disabled:Y},c.default.createElement(n.RightArrowIcon,null)),S&&c.default.createElement(R,{pageCount:b,currentPage:o,onPageChange:v,label:d})),c.default.createElement(i.VisuallyHidden,{id:W},C," ",o))},exports.SideNavigation=g,exports.SideNavigationGroup=function(e){var a=e.defaultOpen,t=void 0!==a&&a,n=e.open,r=e.onToggle,i=e.className,u=e.children,s=e.title,o=e.icon,d=p(e,k),v=_({prop:n,updater:r,defaultValue:t}),b=v[0],g=v[1],N=h(),E=C(N.isCollapsed)[0];return c.default.createElement("div",m({className:f.default("eds-side-navigation-group",i)},d),c.default.createElement("button",{onClick:function(){return g(!b)},type:"button",className:"eds-side-navigation-group__trigger","aria-label":s+", utvidbar meny, "+(b?"åpen":"lukket")},c.default.createElement("span",null,o&&c.default.createElement("span",{className:"eds-side-navigation-group__trigger-icon"},o),E&&s),E&&c.default.createElement(l.ExpandArrow,{open:b,className:"eds-side-navigation-group__expand-icon"})),c.default.createElement(l.BaseExpand,{open:b},u))},exports.SideNavigationItem=M,exports.Stepper=function(e){var a=e.className,t=e.onStepClick,n=e.steps,l=e.activeIndex,r=e.interactive,i=void 0!==r&&r,u=e.showStepperIndex,o=void 0===u||u,d=p(e,U),v=i?"button":"div";return c.default.createElement("div",m({className:f.default("eds-stepper",a)},d),n.map((function(e,a){var r=a===l,u=l>a,d=i?{onClick:function(){return t(a)}}:{};return c.default.createElement(v,m({key:e,className:f.default("eds-stepper__item__container",{"eds-stepper__item__container--non-interactive":!i}),"aria-current":r?"step":void 0,"aria-label":"Steg "+(a+1)+" av "+n.length+", "+e+" "+(u?", fullført":"")},d),c.default.createElement("div",{className:f.default("eds-stepper__item__square",{"eds-stepper__item__square--active":r},{"eds-stepper__item__square--inactive":l<a},{"eds-stepper__item__square--has-been":u})}),c.default.createElement(s.Label,{className:f.default("eds-stepper__item__label",{"eds-stepper__item__label--has-been":u},{"eds-stepper__item__label--active":r})},o&&a+1+". "+e))})))},exports.TopNavigationItem=function(e){var a=e.active,t=void 0!==a&&a,n=e.className,l=e.as,r=p(e,I);return c.default.createElement(l||"a",m({className:f.default(["eds-top-navigation-item",n,{"eds-top-navigation-item--active":t}])},r))},exports.useSideNavigationContext=h;
|
|
2
2
|
//# sourceMappingURL=menu.cjs.production.min.js.map
|