@entur/menu 4.0.2 → 4.0.6
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 +20 -0
- package/dist/BreadcrumbItem.d.ts +1 -3
- package/dist/TopNavigationItem.d.ts +1 -3
- package/dist/menu.cjs.development.js +125 -109
- 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 +47 -33
- package/dist/menu.esm.js.map +1 -1
- package/dist/styles.css +216 -218
- package/package.json +13 -13
package/dist/menu.esm.js
CHANGED
|
@@ -56,17 +56,18 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
56
56
|
return target;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
var
|
|
59
|
+
var _excluded$8 = ["className", "isCurrent", "as"];
|
|
60
|
+
var defaultElement$1 = 'a';
|
|
60
61
|
var BreadcrumbItem = function BreadcrumbItem(_ref) {
|
|
61
62
|
var className = _ref.className,
|
|
62
63
|
isCurrent = _ref.isCurrent,
|
|
63
64
|
as = _ref.as,
|
|
64
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
65
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
|
|
65
66
|
|
|
66
|
-
var Element = as || defaultElement;
|
|
67
|
+
var Element = as || defaultElement$1;
|
|
67
68
|
return React.createElement(React.Fragment, null, React.createElement("li", {
|
|
68
69
|
className: classNames('eds-breadcrumb__item', className)
|
|
69
|
-
}, React.createElement(Element,
|
|
70
|
+
}, React.createElement(Element, _extends({
|
|
70
71
|
"aria-current": isCurrent ? 'page' : undefined,
|
|
71
72
|
className: classNames('eds-breadcrumb__link', {
|
|
72
73
|
'eds-breadcrumb__link--current': isCurrent
|
|
@@ -78,18 +79,19 @@ var BreadcrumbItem = function BreadcrumbItem(_ref) {
|
|
|
78
79
|
}));
|
|
79
80
|
};
|
|
80
81
|
|
|
82
|
+
var _excluded$7 = ["className", "children", "size"];
|
|
81
83
|
var SideNavigation = function SideNavigation(_ref) {
|
|
82
84
|
var className = _ref.className,
|
|
83
85
|
children = _ref.children,
|
|
84
86
|
_ref$size = _ref.size,
|
|
85
87
|
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
86
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
88
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
|
|
87
89
|
|
|
88
90
|
if (!children || !React.Children.count(children)) {
|
|
89
91
|
return null;
|
|
90
92
|
}
|
|
91
93
|
|
|
92
|
-
return React.createElement("ul",
|
|
94
|
+
return React.createElement("ul", _extends({
|
|
93
95
|
className: classNames('eds-side-navigation', {
|
|
94
96
|
'eds-side-navigation--small': size === 'small'
|
|
95
97
|
}, className)
|
|
@@ -117,6 +119,7 @@ function useControllableProp(_ref) {
|
|
|
117
119
|
return prop === undefined ? [internalState, setInternalState] : [prop, updater];
|
|
118
120
|
}
|
|
119
121
|
|
|
122
|
+
var _excluded$6 = ["className", "children", "size", "collapsed", "onCollapseToggle", "collapsibleButtonPosition"];
|
|
120
123
|
var CollapsibleSideNavigation = function CollapsibleSideNavigation(_ref) {
|
|
121
124
|
var className = _ref.className,
|
|
122
125
|
children = _ref.children,
|
|
@@ -125,7 +128,7 @@ var CollapsibleSideNavigation = function CollapsibleSideNavigation(_ref) {
|
|
|
125
128
|
onCollapseToggle = _ref.onCollapseToggle,
|
|
126
129
|
_ref$collapsibleButto = _ref.collapsibleButtonPosition,
|
|
127
130
|
collapsibleButtonPosition = _ref$collapsibleButto === void 0 ? '50%' : _ref$collapsibleButto,
|
|
128
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
131
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
129
132
|
|
|
130
133
|
var _useControllableProp = useControllableProp({
|
|
131
134
|
prop: collapsible,
|
|
@@ -139,7 +142,7 @@ var CollapsibleSideNavigation = function CollapsibleSideNavigation(_ref) {
|
|
|
139
142
|
value: {
|
|
140
143
|
isCollapsed: collapsedMenu
|
|
141
144
|
}
|
|
142
|
-
}, React.createElement("ul",
|
|
145
|
+
}, React.createElement("ul", _extends({
|
|
143
146
|
className: classNames('eds-side-navigation', {
|
|
144
147
|
'eds-side-navigation--small': size === 'small'
|
|
145
148
|
}, {
|
|
@@ -193,6 +196,10 @@ var useShowDelayedLabel = function useShowDelayedLabel(isCollapsed) {
|
|
|
193
196
|
return [showLabel];
|
|
194
197
|
};
|
|
195
198
|
|
|
199
|
+
var _excluded$5 = ["className", "active", "subMenu", "icon", "children", "as"],
|
|
200
|
+
_excluded2$1 = ["children"],
|
|
201
|
+
_excluded3$1 = ["active", "disabled", "children", "forceExpandSubMenus", "as"];
|
|
202
|
+
|
|
196
203
|
function isActiveRecursively(child) {
|
|
197
204
|
if (!child.props) {
|
|
198
205
|
return false;
|
|
@@ -220,7 +227,7 @@ var BaseSideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
|
220
227
|
icon = _ref.icon,
|
|
221
228
|
children = _ref.children,
|
|
222
229
|
as = _ref.as,
|
|
223
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
230
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
224
231
|
|
|
225
232
|
var Element = as || defaultElementBaseItem;
|
|
226
233
|
|
|
@@ -232,7 +239,7 @@ var BaseSideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
|
232
239
|
|
|
233
240
|
return React.createElement("li", {
|
|
234
241
|
className: classNames('eds-side-navigation__item', className)
|
|
235
|
-
}, React.createElement(Element,
|
|
242
|
+
}, React.createElement(Element, _extends({
|
|
236
243
|
className: classNames('eds-side-navigation__click-target', {
|
|
237
244
|
'eds-side-navigation__click-target--active': active
|
|
238
245
|
}),
|
|
@@ -241,9 +248,9 @@ var BaseSideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
|
241
248
|
});
|
|
242
249
|
var DisabledSideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
243
250
|
var children = _ref2.children,
|
|
244
|
-
rest = _objectWithoutPropertiesLoose(_ref2,
|
|
251
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
|
|
245
252
|
|
|
246
|
-
return React.createElement(BaseSideNavigationItem,
|
|
253
|
+
return React.createElement(BaseSideNavigationItem, _extends({
|
|
247
254
|
as: "button",
|
|
248
255
|
disabled: true,
|
|
249
256
|
"aria-disabled": true,
|
|
@@ -257,7 +264,7 @@ var SideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
257
264
|
children = _ref3.children,
|
|
258
265
|
forceExpandSubMenus = _ref3.forceExpandSubMenus,
|
|
259
266
|
as = _ref3.as,
|
|
260
|
-
rest = _objectWithoutPropertiesLoose(_ref3,
|
|
267
|
+
rest = _objectWithoutPropertiesLoose(_ref3, _excluded3$1);
|
|
261
268
|
|
|
262
269
|
var Element = as || defaultElementItem;
|
|
263
270
|
var childrenArray = React.Children.toArray(children);
|
|
@@ -269,13 +276,13 @@ var SideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
269
276
|
}) : children;
|
|
270
277
|
|
|
271
278
|
if (disabled) {
|
|
272
|
-
return React.createElement(DisabledSideNavigationItem,
|
|
279
|
+
return React.createElement(DisabledSideNavigationItem, _extends({
|
|
273
280
|
ref: ref
|
|
274
281
|
}, rest), label);
|
|
275
282
|
}
|
|
276
283
|
|
|
277
284
|
if (!subMenu) {
|
|
278
|
-
return React.createElement(BaseSideNavigationItem,
|
|
285
|
+
return React.createElement(BaseSideNavigationItem, _extends({
|
|
279
286
|
as: Element,
|
|
280
287
|
active: active,
|
|
281
288
|
ref: ref
|
|
@@ -288,7 +295,7 @@ var SideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
288
295
|
active: active
|
|
289
296
|
}
|
|
290
297
|
});
|
|
291
|
-
return React.createElement(BaseSideNavigationItem,
|
|
298
|
+
return React.createElement(BaseSideNavigationItem, _extends({
|
|
292
299
|
active: active,
|
|
293
300
|
subMenu: isExpanded && subMenu,
|
|
294
301
|
"aria-expanded": isExpanded,
|
|
@@ -297,6 +304,7 @@ var SideNavigationItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
297
304
|
}, rest), label);
|
|
298
305
|
});
|
|
299
306
|
|
|
307
|
+
var _excluded$4 = ["defaultOpen", "open", "onToggle", "className", "children", "title", "icon"];
|
|
300
308
|
var SideNavigationGroup = function SideNavigationGroup(_ref) {
|
|
301
309
|
var _ref$defaultOpen = _ref.defaultOpen,
|
|
302
310
|
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
@@ -306,7 +314,7 @@ var SideNavigationGroup = function SideNavigationGroup(_ref) {
|
|
|
306
314
|
children = _ref.children,
|
|
307
315
|
title = _ref.title,
|
|
308
316
|
icon = _ref.icon,
|
|
309
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
317
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
310
318
|
|
|
311
319
|
var _useControllableProp = useControllableProp({
|
|
312
320
|
prop: open,
|
|
@@ -322,7 +330,7 @@ var SideNavigationGroup = function SideNavigationGroup(_ref) {
|
|
|
322
330
|
var _useShowDelayedLabel = useShowDelayedLabel(isCollapsed),
|
|
323
331
|
showLabel = _useShowDelayedLabel[0];
|
|
324
332
|
|
|
325
|
-
return React.createElement("div",
|
|
333
|
+
return React.createElement("div", _extends({
|
|
326
334
|
className: classNames('eds-side-navigation-group', className)
|
|
327
335
|
}, rest), React.createElement("button", {
|
|
328
336
|
onClick: function onClick() {
|
|
@@ -340,16 +348,17 @@ var SideNavigationGroup = function SideNavigationGroup(_ref) {
|
|
|
340
348
|
}, children));
|
|
341
349
|
};
|
|
342
350
|
|
|
343
|
-
var
|
|
351
|
+
var _excluded$3 = ["active", "className", "as"];
|
|
352
|
+
var defaultElement = 'a';
|
|
344
353
|
var TopNavigationItem = function TopNavigationItem(_ref) {
|
|
345
354
|
var _ref$active = _ref.active,
|
|
346
355
|
active = _ref$active === void 0 ? false : _ref$active,
|
|
347
356
|
className = _ref.className,
|
|
348
357
|
as = _ref.as,
|
|
349
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
358
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
350
359
|
|
|
351
|
-
var Element = as || defaultElement
|
|
352
|
-
return React.createElement(Element,
|
|
360
|
+
var Element = as || defaultElement;
|
|
361
|
+
return React.createElement(Element, _extends({
|
|
353
362
|
className: classNames(['eds-top-navigation-item', className, {
|
|
354
363
|
'eds-top-navigation-item--active': active
|
|
355
364
|
}])
|
|
@@ -435,15 +444,18 @@ var PaginationInput = function PaginationInput(_ref) {
|
|
|
435
444
|
})));
|
|
436
445
|
};
|
|
437
446
|
|
|
447
|
+
var _excluded$2 = ["children", "className", "button", "position"],
|
|
448
|
+
_excluded2 = ["children", "className", "onSelect", "disabled", "as"],
|
|
449
|
+
_excluded3 = ["children", "as", "className", "onSelect", "disabled"];
|
|
438
450
|
var OverflowMenu = function OverflowMenu(_ref) {
|
|
439
451
|
var children = _ref.children,
|
|
440
452
|
className = _ref.className,
|
|
441
453
|
button = _ref.button,
|
|
442
454
|
_ref$position = _ref.position,
|
|
443
455
|
position = _ref$position === void 0 ? 'right' : _ref$position,
|
|
444
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
456
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
445
457
|
|
|
446
|
-
return React.createElement("div", null, React.createElement(Menu, null, !button ? React.createElement(IconButton,
|
|
458
|
+
return React.createElement("div", null, React.createElement(Menu, null, !button ? React.createElement(IconButton, _extends({
|
|
447
459
|
as: MenuButton,
|
|
448
460
|
className: classNames(className, 'eds-overflow-menu__menu-button')
|
|
449
461
|
}, rest), React.createElement(VerticalDotsIcon, null)) : cloneElement(button, _extends({
|
|
@@ -467,9 +479,9 @@ var OverflowMenuItem = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
467
479
|
disabled = _ref2.disabled,
|
|
468
480
|
_ref2$as = _ref2.as,
|
|
469
481
|
as = _ref2$as === void 0 ? 'div' : _ref2$as,
|
|
470
|
-
rest = _objectWithoutPropertiesLoose(_ref2,
|
|
482
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
471
483
|
|
|
472
|
-
return React.createElement(MenuItem,
|
|
484
|
+
return React.createElement(MenuItem, _extends({
|
|
473
485
|
className: classNames('eds-overflow-menu__item', {
|
|
474
486
|
'eds-overflow-menu__item--disabled': disabled
|
|
475
487
|
}, className),
|
|
@@ -486,9 +498,9 @@ var OverflowMenuLink = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
486
498
|
className = _ref3.className,
|
|
487
499
|
onSelect = _ref3.onSelect,
|
|
488
500
|
disabled = _ref3.disabled,
|
|
489
|
-
rest = _objectWithoutPropertiesLoose(_ref3,
|
|
501
|
+
rest = _objectWithoutPropertiesLoose(_ref3, _excluded3);
|
|
490
502
|
|
|
491
|
-
return React.createElement(MenuLink,
|
|
503
|
+
return React.createElement(MenuLink, _extends({
|
|
492
504
|
as: as,
|
|
493
505
|
className: classNames('eds-overflow-menu__item', {
|
|
494
506
|
'eds-overflow-menu__item--disabled': disabled
|
|
@@ -499,6 +511,7 @@ var OverflowMenuLink = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
499
511
|
}, rest), children);
|
|
500
512
|
});
|
|
501
513
|
|
|
514
|
+
var _excluded$1 = ["className", "currentPage", "inputLabel", "onPageChange", "pageCount", "pageLabel", "previousPageLabel", "showInput", "numberOfResults", "resultsPerPage", "resultsPerPageOptions", "onResultsPerPageChange", "showNumberOfResultsLabel", "nextPageLabel", "showingResultsLabel", "hideNextButton", "hidePrevButton"];
|
|
502
515
|
var Pagination = function Pagination(_ref) {
|
|
503
516
|
var className = _ref.className,
|
|
504
517
|
currentPage = _ref.currentPage,
|
|
@@ -529,7 +542,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
529
542
|
hideNextButton = _ref$hideNextButton === void 0 ? false : _ref$hideNextButton,
|
|
530
543
|
_ref$hidePrevButton = _ref.hidePrevButton,
|
|
531
544
|
hidePrevButton = _ref$hidePrevButton === void 0 ? false : _ref$hidePrevButton,
|
|
532
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
545
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
533
546
|
|
|
534
547
|
var isContrast = useContrast();
|
|
535
548
|
|
|
@@ -554,7 +567,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
554
567
|
entries = [].concat(entries.slice(0, currentPageIndex), [currentPage, currentPage + 1, currentPage + 2, '…', pageCount]);
|
|
555
568
|
}
|
|
556
569
|
|
|
557
|
-
return React.createElement("div",
|
|
570
|
+
return React.createElement("div", _extends({
|
|
558
571
|
className: classNames('eds-pagination', className)
|
|
559
572
|
}, rest), resultsPerPage && numberOfResults && React.createElement("div", {
|
|
560
573
|
className: "eds-pagination__results"
|
|
@@ -616,6 +629,7 @@ var Ellipsis = function Ellipsis() {
|
|
|
616
629
|
}, "\u2026");
|
|
617
630
|
};
|
|
618
631
|
|
|
632
|
+
var _excluded = ["className", "onStepClick", "steps", "activeIndex", "interactive", "showStepperIndex"];
|
|
619
633
|
var Stepper = function Stepper(_ref) {
|
|
620
634
|
var className = _ref.className,
|
|
621
635
|
onStepClick = _ref.onStepClick,
|
|
@@ -625,10 +639,10 @@ var Stepper = function Stepper(_ref) {
|
|
|
625
639
|
interactive = _ref$interactive === void 0 ? false : _ref$interactive,
|
|
626
640
|
_ref$showStepperIndex = _ref.showStepperIndex,
|
|
627
641
|
showStepperIndex = _ref$showStepperIndex === void 0 ? true : _ref$showStepperIndex,
|
|
628
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
642
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
629
643
|
|
|
630
644
|
var Element = interactive ? 'button' : 'div';
|
|
631
|
-
return React.createElement("div",
|
|
645
|
+
return React.createElement("div", _extends({
|
|
632
646
|
className: classNames('eds-stepper', className)
|
|
633
647
|
}, rest), steps.map(function (step, i) {
|
|
634
648
|
var isActive = i === activeIndex;
|
|
@@ -638,7 +652,7 @@ var Stepper = function Stepper(_ref) {
|
|
|
638
652
|
return onStepClick(i);
|
|
639
653
|
}
|
|
640
654
|
} : {};
|
|
641
|
-
return React.createElement(Element,
|
|
655
|
+
return React.createElement(Element, _extends({
|
|
642
656
|
key: step,
|
|
643
657
|
className: classNames('eds-stepper__item__container', {
|
|
644
658
|
'eds-stepper__item__container--non-interactive': !interactive
|
package/dist/menu.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.esm.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 = () => {},\n defaultValue,\n}: UseControllablePropType<T>): [T, Function] {\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) => {\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 () => {};\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: <E extends React.ElementType = typeof defaultElementBaseItem>(\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: <E extends React.ElementType = typeof defaultElementItem>(\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 /** 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 onClick,\n 'aria-label': ariaLabel,\n}) => (\n <button\n className={classNames(\n 'eds-pagination__page',\n { 'eds-pagination__page--selected': selected },\n className,\n )}\n disabled={selected}\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>\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 from 'react';\nimport classNames from 'classnames';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { PaginationPage } from './PaginationPage';\nimport './Pagination.scss';\nimport { Menu, MenuList, MenuButton } from '@reach/menu-button';\nimport { DownArrowIcon, UpArrowIcon } from '@entur/icons';\nimport { PaginationInput } from './PaginationInput';\nimport { Label } from '@entur/typography';\nimport { OverflowMenuItem } from './OverflowMenu';\nimport { useContrast } from '@entur/layout';\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 if (pageCount < 1) {\n return null;\n }\n\n const isFirstPostSelected = currentPage === 1;\n const isLastPostSelected = currentPage === pageCount;\n const showLeadingEllipsis = currentPage > 5 && pageCount > 7;\n const showTrailingEllipsis = pageCount - currentPage > 4 && pageCount > 7;\n\n let entries: Array<number | '…'> = Array(pageCount)\n .fill(null)\n .map((_, i) => i + 1);\n\n if (showLeadingEllipsis) {\n entries = [\n 1,\n '…',\n currentPage - 2,\n currentPage - 1,\n currentPage,\n ...entries.slice(currentPage),\n ];\n }\n if (showTrailingEllipsis) {\n const currentPageIndex = entries.indexOf(currentPage);\n entries = [\n ...entries.slice(0, currentPageIndex),\n currentPage,\n currentPage + 1,\n currentPage + 2,\n '…',\n pageCount,\n ];\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 {!isFirstPostSelected && !hidePrevButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage - 1)}\n aria-label={previousPageLabel}\n >\n <LeftArrowIcon />\n </PaginationPage>\n )}\n {entries.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 {!isLastPostSelected && !hideNextButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage + 1)}\n aria-label={nextPageLabel}\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","isFirstPostSelected","isLastPostSelected","showLeadingEllipsis","showTrailingEllipsis","entries","Array","fill","_","i","slice","currentPageIndex","indexOf","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.esm.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 = () => {},\n defaultValue,\n}: UseControllablePropType<T>): [T, Function] {\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) => {\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 () => {};\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: <E extends React.ElementType = typeof defaultElementBaseItem>(\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: <E extends React.ElementType = typeof defaultElementItem>(\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 /** 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 onClick,\n 'aria-label': ariaLabel,\n}) => (\n <button\n className={classNames(\n 'eds-pagination__page',\n { 'eds-pagination__page--selected': selected },\n className,\n )}\n disabled={selected}\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>\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 from 'react';\nimport classNames from 'classnames';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { PaginationPage } from './PaginationPage';\nimport './Pagination.scss';\nimport { Menu, MenuList, MenuButton } from '@reach/menu-button';\nimport { DownArrowIcon, UpArrowIcon } from '@entur/icons';\nimport { PaginationInput } from './PaginationInput';\nimport { Label } from '@entur/typography';\nimport { OverflowMenuItem } from './OverflowMenu';\nimport { useContrast } from '@entur/layout';\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 if (pageCount < 1) {\n return null;\n }\n\n const isFirstPostSelected = currentPage === 1;\n const isLastPostSelected = currentPage === pageCount;\n const showLeadingEllipsis = currentPage > 5 && pageCount > 7;\n const showTrailingEllipsis = pageCount - currentPage > 4 && pageCount > 7;\n\n let entries: Array<number | '…'> = Array(pageCount)\n .fill(null)\n .map((_, i) => i + 1);\n\n if (showLeadingEllipsis) {\n entries = [\n 1,\n '…',\n currentPage - 2,\n currentPage - 1,\n currentPage,\n ...entries.slice(currentPage),\n ];\n }\n if (showTrailingEllipsis) {\n const currentPageIndex = entries.indexOf(currentPage);\n entries = [\n ...entries.slice(0, currentPageIndex),\n currentPage,\n currentPage + 1,\n currentPage + 2,\n '…',\n pageCount,\n ];\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 {!isFirstPostSelected && !hidePrevButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage - 1)}\n aria-label={previousPageLabel}\n >\n <LeftArrowIcon />\n </PaginationPage>\n )}\n {entries.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 {!isLastPostSelected && !hideNextButton && (\n <PaginationPage\n onClick={() => onPageChange(currentPage + 1)}\n aria-label={nextPageLabel}\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","isFirstPostSelected","isLastPostSelected","showLeadingEllipsis","showTrailingEllipsis","entries","Array","fill","_","i","slice","currentPageIndex","indexOf","Label","UpArrowIcon","DownArrowIcon","option","key","entry","Ellipsis","Stepper","onStepClick","steps","activeIndex","interactive","showStepperIndex","step","isActive","hasBeenActive","warnAboutMissingStyles"],"mappings":"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"}
|