@entur/menu 5.2.1-beta.8 → 5.2.1

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/index.d.ts CHANGED
@@ -1,11 +1,352 @@
1
- import './index.scss';
2
- export * from './BreadcrumbNavigation';
3
- export * from './BreadcrumbItem';
4
- export * from './CollapsibleSideNavigation';
5
- export * from './OverflowMenu';
6
- export * from './Pagination';
7
- export * from './SideNavigation';
8
- export * from './SideNavigationItem';
9
- export * from './SideNavigationGroup';
10
- export * from './Stepper';
11
- export * from './TopNavigationItem';
1
+ import { default as default_2 } from 'react';
2
+
3
+ declare type AsProp<C extends default_2.ElementType> = {
4
+ /**
5
+ * An override of the default HTML tag.
6
+ * Can also be another React component.
7
+ */
8
+ as?: C;
9
+ };
10
+
11
+ declare type BaseSideNavigationItemOwnProps = {
12
+ active?: boolean;
13
+ as?: 'a' | 'button' | default_2.ElementType;
14
+ className?: string;
15
+ icon?: default_2.ReactNode;
16
+ children: default_2.ReactNode;
17
+ subMenu?: default_2.ReactNode;
18
+ [key: string]: any;
19
+ };
20
+
21
+ export declare type BaseSideNavigationItemProps<T extends default_2.ElementType = typeof defaultElementBaseItem> = PolymorphicComponentProps<T, BaseSideNavigationItemOwnProps>;
22
+
23
+ export declare const BreadcrumbItem: <E extends default_2.ElementType = "a">({ className, isCurrent, as, ...rest }: BreadcrumbItemProps<E>) => JSX.Element;
24
+
25
+ export declare type BreadcrumbItemOwnProps = {
26
+ /** Komponenten som rendres
27
+ * @default "a"
28
+ */
29
+ as?: 'a' | default_2.ElementType;
30
+ /** Teksten som vises */
31
+ children: default_2.ReactNode;
32
+ /** Ekstra klassenavn */
33
+ className?: string;
34
+ /** True om sist i listen. Settes automatisk av BreadcrumbNavigation-komponenten */
35
+ isCurrent?: boolean;
36
+ };
37
+
38
+ export declare type BreadcrumbItemProps<T extends default_2.ElementType = typeof defaultElement> = PolymorphicComponentProps<T, BreadcrumbItemOwnProps>;
39
+
40
+ export declare const BreadcrumbNavigation: default_2.FC<BreadcrumbNavigationProps>;
41
+
42
+ export declare type BreadcrumbNavigationProps = {
43
+ /** Label for brødsmulestien.
44
+ * @default 'Brødsmulesti'
45
+ */
46
+ 'aria-label'?: string;
47
+ /** En liste med BreadcrumbItem-er */
48
+ children: default_2.ReactElement[];
49
+ };
50
+
51
+ export declare const CollapsibleSideNavigation: default_2.FC<CollapsibleSideNavigationProps>;
52
+
53
+ declare type CollapsibleSideNavigationProps = SideNavigationProps & {
54
+ /**Tilstand til menyen
55
+ * @default false
56
+ */
57
+ collapsed?: boolean;
58
+ /** Kalles når menyen åpnes eller lukkes */
59
+ onCollapseToggle?: (e: any) => void;
60
+ /** Posisjonen til Collapsible-knappen, målt fra toppen (som CSS-enhet)
61
+ * @default 50%
62
+ */
63
+ collapsibleButtonPosition?: string;
64
+ /** Aria-label for knappen som åpner menyen
65
+ * @default "Åpne sidemeny"
66
+ */
67
+ openSideMenuAriaLabel?: string;
68
+ /** Aria-label for knappen som lukker menyen
69
+ * @default "Lukk sidemeny"
70
+ */
71
+ closeSideMenuAriaLabel?: string;
72
+ };
73
+
74
+ declare const defaultElement = "a";
75
+
76
+ declare const defaultElement_2 = "a";
77
+
78
+ declare const defaultElementBaseItem = "a";
79
+
80
+ declare const defaultElementItem = "a";
81
+
82
+ /**
83
+ * Allows for extending a set of props (`ExtendedProps`) by an overriding set of props
84
+ * (`OverrideProps`), ensuring that any duplicates are overridden by the overriding
85
+ * set of props.
86
+ */
87
+ declare type ExtendableProps<ExtendedProps = Record<string, unknown>, OverrideProps = Record<string, unknown>> = OverrideProps & Omit<ExtendedProps, keyof OverrideProps>;
88
+
89
+ /**
90
+ * Allows for inheriting the props from the specified element type so that
91
+ * props like children, className & style work, as well as element-specific
92
+ * attributes like aria roles. The component (`C`) must be passed in.
93
+ */
94
+ declare type InheritableElementProps<C extends default_2.ElementType, Props = Record<string, unknown>> = ExtendableProps<PropsOf<C>, Props>;
95
+
96
+ declare type InternalMarker = {
97
+ __IS_ENTUR_MENU__: boolean;
98
+ };
99
+
100
+ export declare const OverflowMenu: ({ children, className, button, buttonIcon, placement, "aria-label": ariaLabel, ...rest }: OverflowMenuProps) => default_2.JSX.Element;
101
+
102
+ export declare const OverflowMenuItem: <C extends default_2.ElementType = "button">({ children, className, onSelect, href, disabled, as, ...rest }: OverflowMenuItemProps<C>) => default_2.JSX.Element;
103
+
104
+ declare type OverflowMenuItemBaseProps = {
105
+ /** Innholdet til OverflowMenuItem */
106
+ children: default_2.ReactNode;
107
+ /** Ekstra klassenavn */
108
+ className?: string;
109
+ /** Det som skjer når elementet er valgt, enten ved museklikk eller Enter-klikk */
110
+ onSelect?: () => void;
111
+ /** Lenke til siden brukeren skal sendes til.
112
+ * Obs: kun én av onSelect og href skal brukes på ett element
113
+ */
114
+ href?: string;
115
+ /** Om dette valget skal være deaktivert */
116
+ disabled?: boolean;
117
+ };
118
+
119
+ export declare type OverflowMenuItemProps<C extends default_2.ElementType> = PolymorphicComponentProps<C, OverflowMenuItemBaseProps>;
120
+
121
+ export declare const OverflowMenuLink: <C extends default_2.ElementType = "a">(props: OverflowMenuItemProps<C> & OverflowMenuLinkExtendedBaseProps) => default_2.JSX.Element;
122
+
123
+ declare type OverflowMenuLinkExtendedBaseProps = {
124
+ /**
125
+ * @deprecated onSelect is no longer used
126
+ * in OverflowMenuLink, use 'href' instead */
127
+ onSelect?: () => void;
128
+ };
129
+
130
+ export declare type OverflowMenuProps = {
131
+ /** Menypunkter (OverflowMenuItem eller OverflowMenuLink) */
132
+ children: default_2.ReactNode;
133
+ buttonIcon?: default_2.ReactNode;
134
+ /** Knapp som skal åpne OverflowMenu
135
+ * @default IconButton med VerticalDotsIcon
136
+ */
137
+ button?: default_2.ReactElement;
138
+ /** Ekstra klassenavn */
139
+ className?: string;
140
+ /** Posisjoneringen av OverflowMenu-lista
141
+ * @default 'bottom-start'
142
+ */
143
+ placement?: Placement;
144
+ /**
145
+ * @deprecated Use placement insted.
146
+ * This is done to standardise the name of
147
+ * the relative position prop used in Entur
148
+ * designs sytstem components
149
+ */
150
+ position?: 'right' | 'left';
151
+ /** Tekst som beskriver knappen som åpner Overflow-menyen
152
+ * @default "åpne valgmeny"
153
+ */
154
+ 'aria-label'?: string;
155
+ };
156
+
157
+ export declare const Pagination: default_2.FC<PaginationProps>;
158
+
159
+ export declare type PaginationProps = {
160
+ /** Ekstra klassenavn */
161
+ className?: string;
162
+ /** Sidenummeret som er aktivt nå (1-indeksert) */
163
+ currentPage: number;
164
+ /** Callback for når man ønsker å gå til en ny side */
165
+ onPageChange: (requestedPage: number) => void;
166
+ /** Antall sider totalt */
167
+ pageCount: number;
168
+ /**
169
+ * Hva som blir lest opp når brukere av skjermlesere navigerer til "forrige side knappen"
170
+ * @default "Gå til forrige side"
171
+ */
172
+ previousPageLabel?: string;
173
+ /**
174
+ * Hva som blir lest opp når brukere av skjermlesere navigerer til "neste side knappen"
175
+ * @default "Gå til neste side"
176
+ */
177
+ nextPageLabel?: string;
178
+ /**
179
+ * Hva som blir lest opp når brukere av skjermlesere navigerer til "forrige side knappen"
180
+ * @default pageNumber => `Gå til side ${pageNumber}`,
181
+ */
182
+ pageLabel?: (pageNumber: number) => string;
183
+ /**
184
+ * @default "Nåværende side:"
185
+ */
186
+ currentPageLabelForScreenreader?: string;
187
+ /** Vis et felt til høyre for pagineringen hvor man kan angi siden man
188
+ * ønsker å vise i et tekstfelt.
189
+ *
190
+ * @default false
191
+ */
192
+ showInput?: boolean;
193
+ /** Label som vises til venstre for input-feltet som vises om `showInput` er true
194
+ * @default "Gå til side"
195
+ */
196
+ inputLabel?: string;
197
+ /** Hvor mange resultater man har totalt */
198
+ numberOfResults?: number;
199
+ /** Hvor mange resultater som vises per side */
200
+ resultsPerPage?: number;
201
+ /**
202
+ * @default [10,25,50]
203
+ */
204
+ resultsPerPageOptions?: number[];
205
+ /** Callback for når resultater per side oppdateres */
206
+ onResultsPerPageChange?: (e: number) => void;
207
+ /** Brukes for å skjule "neste side"-knappen
208
+ * @default false
209
+ */
210
+ hideNextButton?: boolean;
211
+ /** Brukes for å skjule "forrige side"-knappen
212
+ * @default false
213
+ */
214
+ hidePrevButton?: boolean;
215
+ /** Teksten som vises for hvilke resultater av sideantallet man viser.
216
+ * @default `Viser resultat ${minPage} - ${maxPage} av ${pageCount}`
217
+ */
218
+ showingResultsLabel?: (minPage: number, maxPage: number, pageCount: number) => string;
219
+ /** Teksten som vises før "resultsPerPage"-velgeren
220
+ * @default "Vis"
221
+ */
222
+ showNumberOfResultsLabel?: string;
223
+ [key: string]: any;
224
+ };
225
+
226
+ declare type Placement = 'top' | 'top-left' | 'top-start' | 'top-right' | 'top-end' | 'left' | 'right' | 'bottom-left' | 'bottom-start' | 'bottom' | 'bottom-right' | 'bottom-end';
227
+
228
+ /**
229
+ * A more sophisticated version of `InheritableElementProps` where
230
+ * the passed in `as` prop will determine which props can be included
231
+ */
232
+ declare type PolymorphicComponentProps<C extends default_2.ElementType, Props = Record<string, unknown>> = InheritableElementProps<C, Props & AsProp<C>>;
233
+
234
+ declare type PropsOf<C extends keyof JSX.IntrinsicElements | default_2.JSXElementConstructor<any>> = JSX.LibraryManagedAttributes<C, default_2.ComponentPropsWithoutRef<C>>;
235
+
236
+ export declare const SideNavigation: default_2.FC<SideNavigationProps> & InternalMarker;
237
+
238
+ export declare const SideNavigationGroup: default_2.FC<SideNavigationGroupProps>;
239
+
240
+ export declare type SideNavigationGroupProps = {
241
+ /** Skal menygruppen være ekspandert by default? Kun relevant om komponenten ikke er kontrollert
242
+ * @default false
243
+ */
244
+ defaultOpen?: boolean;
245
+ /** Er menyen åpen? */
246
+ open?: boolean;
247
+ /** Kalles når menygruppen åpnes eller lukkes */
248
+ onToggle?: (e?: boolean) => void;
249
+ /** Ekstra klassenavn */
250
+ className?: string;
251
+ /** Menyen som skal grupperes */
252
+ children: default_2.ReactNode;
253
+ /** Overskriften til menyen */
254
+ title: default_2.ReactNode;
255
+ icon?: default_2.ReactNode;
256
+ [key: string]: any;
257
+ };
258
+
259
+ export declare const SideNavigationItem: <E extends default_2.ElementType = typeof defaultElementItem>(props: SideNavigationItemProps<E>) => default_2.ReactElement | null;
260
+
261
+ export declare type SideNavigationItemOwnProps = {
262
+ /** Om meny-elementet er det som er aktivt */
263
+ active?: boolean;
264
+ /** HTML-elementet eller React-komponenten som rendres */
265
+ as?: 'a' | 'button' | default_2.ElementType;
266
+ /** Ekstra klassenavn */
267
+ className?: string;
268
+ /** Om meny-elementet er deaktivert */
269
+ disabled?: boolean;
270
+ /** Callback for når man klikker på meny-elementet */
271
+ onClick?: (e: default_2.MouseEvent) => any;
272
+ /** Sett til true om du vil tvinge alle sub-menus til å rendre barna sine. Typisk for å vise søkeresultater */
273
+ forceExpandSubMenus?: boolean;
274
+ icon?: default_2.ReactNode;
275
+ [key: string]: any;
276
+ };
277
+
278
+ export declare type SideNavigationItemProps<T extends default_2.ElementType = typeof defaultElementItem> = PolymorphicComponentProps<T, SideNavigationItemOwnProps>;
279
+
280
+ export declare type SideNavigationProps = {
281
+ /** Ekstra klassenavn */
282
+ className?: string;
283
+ /** Størrelse på menyen
284
+ * @default 'medium'
285
+ */
286
+ size?: 'small' | 'medium';
287
+ [key: string]: any;
288
+ };
289
+
290
+ export declare const Stepper: default_2.FC<StepperProps>;
291
+
292
+ export declare type StepperProps = {
293
+ /** Liste med steg-navn i rekkefølge. */
294
+ steps: string[];
295
+ /** Det nåværende steget. 0-indeksert */
296
+ activeIndex: number;
297
+ /** Om stepperen skal være et interaktivt-navigasjonselement eller ikke
298
+ * @default false
299
+ */
300
+ interactive?: boolean;
301
+ /** Kalles med indeksen til det klikkede steget.
302
+ * Fungerer kun hvis Stepper-en er interaktiv */
303
+ onStepClick?: (index: number) => void;
304
+ /** Om stepper skal vise indeksering av hvilket trinn man er på
305
+ * @default true
306
+ */
307
+ showStepperIndex?: boolean;
308
+ /** Ekstra klassenavn. */
309
+ className?: string;
310
+ /** Skjermlesertekst for ordet 'steg' som i '_steg_ 1 av 3'
311
+ * @default 'Steg'
312
+ */
313
+ ariaLabelStep?: string;
314
+ /** Skjermlesertekst for ordet 'av' som i 'steg 1 _av_ 3'
315
+ * @defaul 'av'
316
+ */
317
+ ariaLabelOf?: string;
318
+ /** Skjermlesertekst for ordet fullført
319
+ * @default 'fullført'
320
+ */
321
+ ariaLabelCompleted?: string;
322
+ /** Skjermlesertekst for oppsummering av hele stepper-en
323
+ * @default `Stegindikator med ${steps.length} steg, du er på steg ${activeIndex + 1} ${steps[activeIndex]},`
324
+ */
325
+ ariaLabelSummary?: string;
326
+ [key: string]: any;
327
+ };
328
+
329
+ export declare const TopNavigationItem: <E extends default_2.ElementType = "a">({ active, className, as, ...rest }: TopNavigationItemProps<E>) => JSX.Element;
330
+
331
+ export declare type TopNavigationItemOwnProps = {
332
+ /** Om komponenten vises som valgt eller ikke
333
+ * @default false
334
+ */
335
+ active?: boolean;
336
+ /** Tekste som vises */
337
+ children: default_2.ReactNode;
338
+ /** HTML-elementet eller React-komponenten som lager komponenten
339
+ * @default 'a'
340
+ */
341
+ as?: 'a' | default_2.ElementType;
342
+ /** Ekstra klassenavn */
343
+ className?: string;
344
+ };
345
+
346
+ export declare type TopNavigationItemProps<T extends default_2.ElementType = typeof defaultElement_2> = PolymorphicComponentProps<T, TopNavigationItemOwnProps>;
347
+
348
+ export declare const useSideNavigationContext: () => {
349
+ isCollapsed: boolean;
350
+ };
351
+
352
+ export { }