@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/dist/menu.esm.js CHANGED
@@ -56,17 +56,18 @@ function _objectWithoutPropertiesLoose(source, excluded) {
56
56
  return target;
57
57
  }
58
58
 
59
- var defaultElement = 'a';
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, ["className", "isCurrent", "as"]);
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, Object.assign({
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, ["className", "children", "size"]);
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", Object.assign({
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, ["className", "children", "size", "collapsed", "onCollapseToggle", "collapsibleButtonPosition"]);
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", Object.assign({
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, ["className", "active", "subMenu", "icon", "children", "as"]);
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, Object.assign({
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, ["children"]);
251
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
245
252
 
246
- return React.createElement(BaseSideNavigationItem, Object.assign({
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, ["active", "disabled", "children", "forceExpandSubMenus", "as"]);
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, Object.assign({
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, Object.assign({
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, Object.assign({
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, ["defaultOpen", "open", "onToggle", "className", "children", "title", "icon"]);
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", Object.assign({
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 defaultElement$1 = 'a';
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, ["active", "className", "as"]);
358
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
350
359
 
351
- var Element = as || defaultElement$1;
352
- return React.createElement(Element, Object.assign({
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, ["children", "className", "button", "position"]);
456
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
445
457
 
446
- return React.createElement("div", null, React.createElement(Menu, null, !button ? React.createElement(IconButton, Object.assign({
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, ["children", "className", "onSelect", "disabled", "as"]);
482
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
471
483
 
472
- return React.createElement(MenuItem, Object.assign({
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, ["children", "as", "className", "onSelect", "disabled"]);
501
+ rest = _objectWithoutPropertiesLoose(_ref3, _excluded3);
490
502
 
491
- return React.createElement(MenuLink, Object.assign({
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, ["className", "currentPage", "inputLabel", "onPageChange", "pageCount", "pageLabel", "previousPageLabel", "showInput", "numberOfResults", "resultsPerPage", "resultsPerPageOptions", "onResultsPerPageChange", "showNumberOfResultsLabel", "nextPageLabel", "showingResultsLabel", "hideNextButton", "hidePrevButton"]);
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", Object.assign({
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, ["className", "onStepClick", "steps", "activeIndex", "interactive", "showStepperIndex"]);
642
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
629
643
 
630
644
  var Element = interactive ? 'button' : 'div';
631
- return React.createElement("div", Object.assign({
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, Object.assign({
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
@@ -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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"}