@norges-domstoler/dds-components 5.5.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +58 -1
  2. package/dist/cjs/components/InternalHeader/InternalHeader.styles.d.ts +1 -1
  3. package/dist/cjs/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
  4. package/dist/cjs/components/RadioButton/RadioButtonGroup.d.ts +31 -2
  5. package/dist/cjs/components/RadioButton/RadioButtonGroup.stories.d.ts +19 -1
  6. package/dist/cjs/components/Tabs/Tab.d.ts +0 -5
  7. package/dist/cjs/components/Tabs/Tabs.context.d.ts +0 -2
  8. package/dist/cjs/components/Tabs/Tabs.d.ts +4 -4
  9. package/dist/cjs/components/Tabs/Tabs.stories.d.ts +2 -1
  10. package/dist/cjs/components/Tabs/Tabs.tokens.d.ts +1 -6
  11. package/dist/cjs/components/Tooltip/Tooltip.stories.d.ts +1 -1
  12. package/dist/cjs/hooks/index.d.ts +0 -1
  13. package/dist/cjs/hooks/useCombinedRefs.d.ts +18 -0
  14. package/dist/cjs/hooks/useFocusTrap.d.ts +16 -1
  15. package/dist/cjs/hooks/useMountTransition.d.ts +32 -0
  16. package/dist/cjs/hooks/useOnClickOutside.d.ts +13 -0
  17. package/dist/cjs/hooks/useOnKeyDown.d.ts +13 -0
  18. package/dist/cjs/hooks/useRoveFocus.d.ts +25 -1
  19. package/dist/cjs/hooks/useScreenSize.d.ts +12 -0
  20. package/dist/cjs/index.d.ts +1 -0
  21. package/dist/cjs/index.js +284 -68
  22. package/dist/components/InternalHeader/InternalHeader.styles.d.ts +1 -1
  23. package/dist/components/OverflowMenu/OverflowMenu.js +3 -3
  24. package/dist/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
  25. package/dist/components/RadioButton/RadioButtonGroup.d.ts +31 -2
  26. package/dist/components/RadioButton/RadioButtonGroup.js +24 -19
  27. package/dist/components/RadioButton/RadioButtonGroup.stories.d.ts +19 -1
  28. package/dist/components/Tabs/Tab.d.ts +0 -5
  29. package/dist/components/Tabs/Tab.js +6 -12
  30. package/dist/components/Tabs/TabList.js +7 -1
  31. package/dist/components/Tabs/Tabs.context.d.ts +0 -2
  32. package/dist/components/Tabs/Tabs.context.js +1 -2
  33. package/dist/components/Tabs/Tabs.d.ts +4 -4
  34. package/dist/components/Tabs/Tabs.js +10 -7
  35. package/dist/components/Tabs/Tabs.stories.d.ts +2 -1
  36. package/dist/components/Tabs/Tabs.tokens.d.ts +1 -6
  37. package/dist/components/Tabs/Tabs.tokens.js +4 -15
  38. package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
  39. package/dist/hooks/index.d.ts +0 -1
  40. package/dist/hooks/useCombinedRefs.d.ts +18 -0
  41. package/dist/hooks/useCombinedRefs.js +19 -0
  42. package/dist/hooks/useFocusTrap.d.ts +16 -1
  43. package/dist/hooks/useFocusTrap.js +15 -0
  44. package/dist/hooks/useMountTransition.d.ts +32 -0
  45. package/dist/hooks/useMountTransition.js +33 -0
  46. package/dist/hooks/useOnClickOutside.d.ts +13 -0
  47. package/dist/hooks/useOnClickOutside.js +14 -0
  48. package/dist/hooks/useOnKeyDown.d.ts +13 -0
  49. package/dist/hooks/useOnKeyDown.js +14 -0
  50. package/dist/hooks/useRoveFocus.d.ts +25 -1
  51. package/dist/hooks/useRoveFocus.js +25 -0
  52. package/dist/hooks/useScreenSize.d.ts +12 -0
  53. package/dist/hooks/useScreenSize.js +53 -3
  54. package/dist/index.d.ts +1 -0
  55. package/dist/index.js +8 -0
  56. package/package.json +1 -1
  57. package/dist/cjs/hooks/useId.d.ts +0 -1
  58. package/dist/hooks/useId.d.ts +0 -1
  59. package/dist/hooks/useId.js +0 -15
@@ -98,4 +98,61 @@ function _nonIterableRest() {
98
98
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
99
99
  }
100
100
 
101
- export { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _defineProperty as defineProperty, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _slicedToArray as slicedToArray, _toConsumableArray as toConsumableArray, _typeof as typeof, _unsupportedIterableToArray as unsupportedIterableToArray };
101
+ function _createForOfIteratorHelper(o, allowArrayLike) {
102
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
103
+
104
+ if (!it) {
105
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
106
+ if (it) o = it;
107
+ var i = 0;
108
+
109
+ var F = function () {};
110
+
111
+ return {
112
+ s: F,
113
+ n: function () {
114
+ if (i >= o.length) return {
115
+ done: true
116
+ };
117
+ return {
118
+ done: false,
119
+ value: o[i++]
120
+ };
121
+ },
122
+ e: function (e) {
123
+ throw e;
124
+ },
125
+ f: F
126
+ };
127
+ }
128
+
129
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
130
+ }
131
+
132
+ var normalCompletion = true,
133
+ didErr = false,
134
+ err;
135
+ return {
136
+ s: function () {
137
+ it = it.call(o);
138
+ },
139
+ n: function () {
140
+ var step = it.next();
141
+ normalCompletion = step.done;
142
+ return step;
143
+ },
144
+ e: function (e) {
145
+ didErr = true;
146
+ err = e;
147
+ },
148
+ f: function () {
149
+ try {
150
+ if (!normalCompletion && it.return != null) it.return();
151
+ } finally {
152
+ if (didErr) throw err;
153
+ }
154
+ }
155
+ };
156
+ }
157
+
158
+ export { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _createForOfIteratorHelper as createForOfIteratorHelper, _defineProperty as defineProperty, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _slicedToArray as slicedToArray, _toConsumableArray as toConsumableArray, _typeof as typeof, _unsupportedIterableToArray as unsupportedIterableToArray };
@@ -21,7 +21,7 @@ export declare const StyledOverflowMenu: import("styled-components").StyledCompo
21
21
  isOpen?: boolean | undefined;
22
22
  onClose?: (() => void) | undefined;
23
23
  anchorRef?: import("react").RefObject<HTMLButtonElement> | undefined;
24
- placement?: import("../../hooks").Placement | undefined;
24
+ placement?: import("../..").Placement | undefined;
25
25
  offset?: number | undefined;
26
26
  } & {
27
27
  htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
@@ -11,7 +11,7 @@ declare const _default: {
11
11
  isOpen?: boolean | undefined;
12
12
  onClose?: (() => void) | undefined;
13
13
  anchorRef?: import("react").RefObject<HTMLButtonElement> | undefined;
14
- placement?: import("../../hooks").Placement | undefined;
14
+ placement?: import("../..").Placement | undefined;
15
15
  offset?: number | undefined;
16
16
  } & {
17
17
  htmlProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
@@ -1,4 +1,4 @@
1
- import { ChangeEvent, HTMLAttributes } from 'react';
1
+ import React, { ChangeEvent, HTMLAttributes, ReactElement, Ref } from 'react';
2
2
  import { BaseComponentPropsWithChildren } from '../../types';
3
3
  declare type Direction = 'column' | 'row';
4
4
  export declare type RadioButtonGroupProps<T extends string | number> = BaseComponentPropsWithChildren<HTMLDivElement, {
@@ -25,5 +25,34 @@ export declare type RadioButtonGroupProps<T extends string | number> = BaseCompo
25
25
  /**custom id for for gruppen, knytter `label` til gruppen via `aria-label`. */
26
26
  groupId?: string;
27
27
  }, Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>>;
28
- export declare const RadioButtonGroup: <T extends string | number = string>({ name, label, groupId, errorMessage, tip, disabled, readOnly, direction, value, children, required, onChange, id, className, htmlProps, ...rest }: RadioButtonGroupProps<T>) => JSX.Element;
28
+ export declare const RadioButtonGroup: <T extends string | number = string>(props: Pick<Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, "className" | "id"> & {
29
+ /** Gir alle barna `name` prop.*/
30
+ name?: string | undefined;
31
+ /**Ledetekst for hele gruppen. */
32
+ label?: string | undefined;
33
+ /**Funksjonen for onChange-event for barna. */
34
+ onChange?: ((event: ChangeEvent<HTMLInputElement>, value: T | undefined) => void) | undefined;
35
+ /**Legger en markør (*) bak label som indikerer at input er påkrevd. Gjør alle barna påkrevd ved å gi dem `required` prop. */
36
+ required?: boolean | undefined;
37
+ /**Meldingen som vises ved valideringsfeil. Gir alle barna error prop. */
38
+ errorMessage?: string | undefined;
39
+ /**Hjelpetekst for gruppen. */
40
+ tip?: string | undefined;
41
+ /**Gir alle barna `disabled` prop. */
42
+ disabled?: boolean | undefined;
43
+ /**Gir alle barna `readOnly` prop */
44
+ readOnly?: boolean | undefined;
45
+ /**Retningen radioknappene skal gjengis i. */
46
+ direction?: Direction | undefined;
47
+ /**Default verdi - en `<RadioButton />` blir forhåndsvalgt. **OBS!** brukes kun når brukeren ikke skal fylle ut selv. */
48
+ value?: T | undefined;
49
+ /**custom id for for gruppen, knytter `label` til gruppen via `aria-label`. */
50
+ groupId?: string | undefined;
51
+ } & {
52
+ children?: React.ReactNode;
53
+ } & {
54
+ htmlProps?: Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> | undefined;
55
+ } & {
56
+ ref?: React.Ref<HTMLDivElement> | undefined;
57
+ }) => ReactElement;
29
58
  export {};
@@ -1,7 +1,25 @@
1
1
  import { RadioButtonGroupProps } from '.';
2
2
  declare const _default: {
3
3
  title: string;
4
- component: <T extends string | number = string>({ name, label, groupId, errorMessage, tip, disabled, readOnly, direction, value, children, required, onChange, id, className, htmlProps, ...rest }: RadioButtonGroupProps<T>) => JSX.Element;
4
+ component: <T extends string | number = string>(props: Pick<Omit<import("react").HTMLAttributes<HTMLDivElement>, "onChange">, "id" | "className"> & {
5
+ name?: string | undefined;
6
+ label?: string | undefined;
7
+ onChange?: ((event: import("react").ChangeEvent<HTMLInputElement>, value: T | undefined) => void) | undefined;
8
+ required?: boolean | undefined;
9
+ errorMessage?: string | undefined;
10
+ tip?: string | undefined;
11
+ disabled?: boolean | undefined;
12
+ readOnly?: boolean | undefined;
13
+ direction?: ("row" | "column") | undefined;
14
+ value?: T | undefined;
15
+ groupId?: string | undefined;
16
+ } & {
17
+ children?: import("react").ReactNode;
18
+ } & {
19
+ htmlProps?: Omit<import("react").HTMLAttributes<HTMLDivElement>, "onChange"> | undefined;
20
+ } & {
21
+ ref?: import("react").Ref<HTMLDivElement> | undefined;
22
+ }) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
5
23
  argTypes: {
6
24
  label: {
7
25
  control: {
@@ -1,14 +1,11 @@
1
1
  import { ButtonHTMLAttributes, Dispatch, SetStateAction } from 'react';
2
2
  import { BaseComponentPropsWithChildren } from '../../types';
3
- import { Property } from 'csstype';
4
3
  import { SvgIcon } from '../../icons/utils';
5
4
  export declare type TabProps = BaseComponentPropsWithChildren<HTMLButtonElement, {
6
5
  /**Spesifiserer om fanen er aktiv. */
7
6
  active?: boolean;
8
7
  /** Ikon. */
9
8
  icon?: SvgIcon;
10
- /** Custom bredde for enkel fane. */
11
- width?: Property.Width;
12
9
  /** Spesifiserer om `<Tab />` skal ha fokus. **OBS!** settes automatisk av forelder.*/
13
10
  focus?: boolean;
14
11
  /** Callback som setter fokus. **OBS!** settes automatisk av forelder.*/
@@ -21,8 +18,6 @@ export declare const Tab: import("react").ForwardRefExoticComponent<Pick<Omit<Bu
21
18
  active?: boolean | undefined;
22
19
  /** Ikon. */
23
20
  icon?: SvgIcon | undefined;
24
- /** Custom bredde for enkel fane. */
25
- width?: Property.Width<0 | (string & {})> | undefined;
26
21
  /** Spesifiserer om `<Tab />` skal ha fokus. **OBS!** settes automatisk av forelder.*/
27
22
  focus?: boolean | undefined;
28
23
  /** Callback som setter fokus. **OBS!** settes automatisk av forelder.*/
@@ -1,6 +1,5 @@
1
1
  import { RefObject } from 'react';
2
2
  import { Direction } from '../../types';
3
- import { Property } from 'csstype';
4
3
  declare type Tabs = {
5
4
  activeTab: number;
6
5
  tabsId: string;
@@ -10,7 +9,6 @@ declare type Tabs = {
10
9
  hasTabFocus: boolean;
11
10
  setHasTabFocus: (hasFocus: boolean) => void;
12
11
  tabContentDirection: Direction;
13
- tabWidth: Property.Width;
14
12
  };
15
13
  export declare const TabsContext: import("react").Context<Tabs>;
16
14
  export declare const useTabsContext: () => Tabs;
@@ -8,8 +8,8 @@ export declare type TabsProps = BaseComponentPropsWithChildren<HTMLDivElement, {
8
8
  onChange?: (index: number) => void;
9
9
  /** Retningen ikon og tekst vises i `<Tab />`-elementer. */
10
10
  tabContentDirection?: Direction;
11
- /**Custom bredde lik for alle `<Tab />`. */
12
- tabWidth?: Property.Width;
11
+ /**Bredde for hele komponenten. */
12
+ width?: Property.Width;
13
13
  }, Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>>;
14
14
  export declare const Tabs: import("react").ForwardRefExoticComponent<Pick<Omit<HTMLAttributes<HTMLDivElement>, "onChange">, "className" | "id"> & {
15
15
  /** Indeksen til den aktive fanen. **OBS!** Ved å sette denne vil brukere aldri kunne endre tab uten at du også registrerer en `onChange`-lytter for å ta vare på aktiv tab utenfor komponenten. */
@@ -18,8 +18,8 @@ export declare const Tabs: import("react").ForwardRefExoticComponent<Pick<Omit<H
18
18
  onChange?: ((index: number) => void) | undefined;
19
19
  /** Retningen ikon og tekst vises i `<Tab />`-elementer. */
20
20
  tabContentDirection?: Direction | undefined;
21
- /**Custom bredde lik for alle `<Tab />`. */
22
- tabWidth?: Property.Width<0 | (string & {})> | undefined;
21
+ /**Bredde for hele komponenten. */
22
+ width?: Property.Width<0 | (string & {})> | undefined;
23
23
  } & {
24
24
  children?: import("react").ReactNode;
25
25
  } & {
@@ -6,5 +6,6 @@ export declare const Overview: Story<TabsProps>;
6
6
  export declare const Default: Story<TabsProps>;
7
7
  export declare const WithIcon: Story<TabsProps>;
8
8
  export declare const ActiveTab: Story<TabsProps>;
9
- export declare const TabWidth: Story<TabsProps>;
9
+ export declare const WithWidth: Story<TabsProps>;
10
+ export declare const TabLongNames: Story<TabsProps>;
10
11
  export declare const ManyTabs: Story<TabsProps>;
@@ -1,11 +1,6 @@
1
1
  import { CSSObject } from 'styled-components';
2
2
  export declare const tabsTokens: {
3
- tabList: {
4
- base: CSSObject;
5
- focus: {
6
- base: CSSObject;
7
- };
8
- };
3
+ tabList: CSSObject;
9
4
  tab: {
10
5
  base: CSSObject;
11
6
  direction: {
@@ -3,7 +3,7 @@ declare const _default: {
3
3
  title: string;
4
4
  component: import("react").ForwardRefExoticComponent<Pick<Omit<import("react").HTMLAttributes<HTMLDivElement>, "children" | "style" | "onMouseLeave" | "onMouseOver">, "id" | "className"> & {
5
5
  text: string;
6
- placement?: import("../../hooks").Placement | undefined;
6
+ placement?: import("../..").Placement | undefined;
7
7
  children: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> & import("react").RefAttributes<HTMLElement>;
8
8
  delay?: number | undefined;
9
9
  tooltipId?: string | undefined;
@@ -5,5 +5,4 @@ export * from './useFloatPosition';
5
5
  export * from './useRoveFocus';
6
6
  export * from './useFocusTrap';
7
7
  export * from './useMountTransition';
8
- export * from './useId';
9
8
  export * from './useScreenSize';
@@ -1,2 +1,20 @@
1
1
  import type { RefCallback } from 'react';
2
+ /**
3
+ * Kombinerer refs for et element.
4
+ * Eksempel på bruk:
5
+ * ```
6
+ * const MyComponent = forwardRef<HTMLDivElement, Props>((props, ref) => {
7
+ *
8
+ * const itemRef = useRef<HTMLDivElement>(null);
9
+ * const combinedRef = useCombinedRef(ref, itemRef);
10
+ *
11
+ * return <div ref={combinedRef}>innhold</div>
12
+ * });
13
+ * ```
14
+ * @param refs array med refs.
15
+ * @template T elementet som refereres til.
16
+ * @returns callback med kombinerte refs.
17
+ *
18
+ * {@link useCombinedRef}
19
+ */
2
20
  export declare function useCombinedRef<T>(...refs: React.Ref<T>[]): RefCallback<T>;
@@ -1 +1,16 @@
1
- export declare function useFocusTrap<T extends HTMLElement>(active: boolean): import("react").RefObject<T>;
1
+ import { RefObject } from 'react';
2
+ /**
3
+ * Fanger fokus i en loop inni et element. Typisk bruk:
4
+ * ```
5
+ * const MyComponent = (props) => {
6
+ *
7
+ * const componentRef = useFocusTrap<HTMLDivElement>(props.isOpen);
8
+ *
9
+ * return props.isOpen ? <div><button>click</button></div> : null;
10
+ *
11
+ * }
12
+ * ```
13
+ * @param active om focus skal fanges, f.eks. når en modal åpnes.
14
+ * @returns ref til elementet som fanger fokus.
15
+ */
16
+ export declare function useFocusTrap<T extends HTMLElement>(active: boolean): RefObject<T>;
@@ -1 +1,33 @@
1
+ /**
2
+ * Tillater effekter og animasjoner å bli gjennomført like etter et element blir lagt til eller like før det blir fjernet fra DOM.
3
+ * Typisk bruk:
4
+ * ```
5
+ * // CSS
6
+ * .component {
7
+ * transition: opacity 0.2s;
8
+ * opacity: 0;
9
+ * }
10
+ *
11
+ * .transitionedIn.mounted {
12
+ * opacity: 1;
13
+ * }
14
+ *
15
+ * const MyComponent = (props) => {
16
+ *
17
+ * const hasTransitionedIn = useMountTransition(props.isMounted, 500);
18
+ *
19
+ * return props.isMounted || hasTransitionedIn ? (
20
+ * <div
21
+ * className={`component ${hasTransitionedIn && 'transitionedIn'} ${props.isMounted && 'mounted'}`}
22
+ * >
23
+ * innhold
24
+ * </div>)
25
+ * : null;
26
+ *
27
+ * }
28
+ * ```
29
+ * @param isMounted om elementet er mounted.
30
+ * @param unmountDelay hvor lenge transition skal vare før unmount.
31
+ * @returns om transition er ferdig.
32
+ */
1
33
  export declare const useMountTransition: (isMounted: boolean, unmountDelay: number) => boolean;
@@ -1 +1,14 @@
1
+ /**
2
+ * Kjører logikk når brukeren klikker utenfor et element, f.eks at elementet fjernes fra DOM.
3
+ * Typisk bruk:
4
+ * ```
5
+ * const [isOpen, setOpen] = useState(true);
6
+ * const ref = useRef<HTMLElement>(null);
7
+ * useOnClickOutside(ref, () => setOpen(false));
8
+ *
9
+ * return <div ref={ref}>innhold</div>
10
+ * ```
11
+ * @param element HTML elementet man klikker utenfor.
12
+ * @param handler funksjonen som kjøres ved klikk utenfor.
13
+ */
1
14
  export declare function useOnClickOutside(element: HTMLElement | null | (HTMLElement | null)[], handler: (event: MouseEvent | TouchEvent) => void): void;
@@ -1 +1,14 @@
1
+ /**
2
+ * Kjører logikk når en spesifisert tast blir trykt ned.
3
+ * Typisk bruk:
4
+ * ```
5
+ * const [isOpen, setOpen] = useState(true);
6
+ * const ref = useRef<HTMLElement>(null);
7
+ * useOnKeyDown(['Escape', 'Esc'], () => setOpen(false));
8
+ *
9
+ * return isOpen ? <div>innhold</div> : null;
10
+ * ```
11
+ * @param key tasten som trykkes.
12
+ * @param handler funksjonen som skal kjøres.
13
+ */
1
14
  export declare const useOnKeyDown: (key: string | string[], handler: (event: KeyboardEvent) => void) => void;
@@ -1,4 +1,28 @@
1
1
  import { Dispatch, SetStateAction, KeyboardEvent } from 'react';
2
2
  import { Direction } from '../types';
3
3
  export declare const isKeyboardEvent: (e: Event | KeyboardEvent<Element>) => e is KeyboardEvent<Element>;
4
- export declare function useRoveFocus(size: number | undefined, reset?: boolean, direction?: Direction): [number, Dispatch<SetStateAction<number>>];
4
+ /**
5
+ * Bytter fokus mellom elementer i en gruppe med piltaster og ikke Tab, og looper fokus i gruppen. Typisk bruk:
6
+ * ```
7
+ * import elements from './elements';
8
+ * import RoveItem from './RoveItem';
9
+ *
10
+ * const MyComponent = () => {
11
+ * const [focus, setFocus] = useRoveFocus(elements.length);
12
+ *
13
+ * return (
14
+ * <ul>
15
+ * {elements.map((element, index) => (
16
+ * <li key={element}>
17
+ * <RoveItem index={index} focus={focus === index} setFocus={setFocus}>{element.name}</RoveItem>
18
+ * </li>
19
+ * ))}
20
+ * </ul>)
21
+ * }
22
+ * ```
23
+ * @param size antall elementer i gruppen.
24
+ * @param reset om fokus i gruppen skal nullstilles; når man tabber seg inn i gruppen skal focus være nullstilt.
25
+ * @param direction retning elementene blas i.
26
+ * @returns hook par: indeksen til fokuserte elemenentet og funksjonen som håndterer fokus.
27
+ */
28
+ export declare function useRoveFocus(size?: number, reset?: boolean, direction?: Direction): [number, Dispatch<SetStateAction<number>>];
@@ -5,4 +5,16 @@ export declare enum ScreenSize {
5
5
  Large = 3,
6
6
  XLarge = 4
7
7
  }
8
+ /**
9
+ * Sjekker skjermstørrelsen basert på brekkpunkter definerte i designsystemet. Eksempel på bruk:
10
+ * ```
11
+ * const MyComponent = () => {
12
+ * const screenSize = useScreenSize();
13
+ * const isSmallScreen = screenSize === ScreenSize.Small;
14
+ *
15
+ * return <div className={isSmallScreen && 'smallDiv'} >innhold</div>
16
+ * }
17
+ * ```
18
+ * @returns den aktuelle skjermstørrelsen basert på {@link ScreenSize}.
19
+ */
8
20
  export declare const useScreenSize: () => ScreenSize;
@@ -37,3 +37,4 @@ export * from './components/ScrollableContainer';
37
37
  export * from './icons/tsx';
38
38
  export * from './components/ToggleBar';
39
39
  export * from './components/Stepper';
40
+ export * from './hooks';