@norges-domstoler/dds-components 7.2.0 → 8.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 (47) hide show
  1. package/dist/cjs/components/Popover/Popover.d.ts +12 -4
  2. package/dist/cjs/components/Popover/Popover.stories.d.ts +3 -1
  3. package/dist/cjs/components/Popover/Popover.tokens.d.ts +11 -8
  4. package/dist/cjs/helpers/Paper/Paper.d.ts +8 -1
  5. package/dist/cjs/helpers/Paper/Paper.tokens.d.ts +5 -2
  6. package/dist/cjs/hooks/index.d.ts +1 -0
  7. package/dist/cjs/hooks/useFocusTrap.d.ts +1 -1
  8. package/dist/cjs/hooks/useReturnFocusOnBlur.d.ts +31 -0
  9. package/dist/cjs/index.js +606 -508
  10. package/dist/cjs/utils/getFocusableElements.d.ts +2 -0
  11. package/dist/cjs/utils/index.d.ts +1 -0
  12. package/dist/components/Button/Button.styles.js +1 -1
  13. package/dist/components/Card/CardAccordion/CardAccordionHeader.js +1 -1
  14. package/dist/components/Drawer/Drawer.js +3 -0
  15. package/dist/components/Grid/Grid.context.js +1 -0
  16. package/dist/components/Grid/Grid.js +1 -0
  17. package/dist/components/Grid/Grid.tokens.js +1 -0
  18. package/dist/components/Grid/Grid.utils.js +1 -0
  19. package/dist/components/Modal/Modal.js +1 -0
  20. package/dist/components/OverflowMenu/OverflowMenu.js +1 -0
  21. package/dist/components/OverflowMenu/OverflowMenuItem.js +2 -1
  22. package/dist/components/Popover/Popover.d.ts +12 -4
  23. package/dist/components/Popover/Popover.js +47 -22
  24. package/dist/components/Popover/Popover.stories.d.ts +3 -1
  25. package/dist/components/Popover/Popover.tokens.d.ts +11 -8
  26. package/dist/components/Popover/Popover.tokens.js +17 -28
  27. package/dist/components/Popover/PopoverGroup.js +9 -20
  28. package/dist/components/Table/SortCell.js +1 -1
  29. package/dist/components/Tabs/Tab.js +2 -1
  30. package/dist/components/Tabs/TabList.js +1 -0
  31. package/dist/components/Tabs/TabPanels.js +1 -0
  32. package/dist/components/Tooltip/Tooltip.js +2 -2
  33. package/dist/components/Typography/Typography/Typography.js +1 -1
  34. package/dist/helpers/Paper/Paper.d.ts +8 -1
  35. package/dist/helpers/Paper/Paper.js +38 -2
  36. package/dist/helpers/Paper/Paper.tokens.d.ts +5 -2
  37. package/dist/helpers/Paper/Paper.tokens.js +8 -10
  38. package/dist/hooks/index.d.ts +1 -0
  39. package/dist/hooks/useFocusTrap.d.ts +1 -1
  40. package/dist/hooks/useFocusTrap.js +4 -2
  41. package/dist/hooks/useReturnFocusOnBlur.d.ts +31 -0
  42. package/dist/hooks/useReturnFocusOnBlur.js +65 -0
  43. package/dist/index.js +1 -0
  44. package/dist/utils/getFocusableElements.d.ts +2 -0
  45. package/dist/utils/getFocusableElements.js +5 -0
  46. package/dist/utils/index.d.ts +1 -0
  47. package/package.json +1 -1
@@ -25,10 +25,14 @@ export declare type PopoverProps = BaseComponentPropsWithChildren<HTMLDivElement
25
25
  offset?: number;
26
26
  /** Ekstra logikk kjørt når lukkeknappen trykkes. */
27
27
  onCloseButtonClick?: () => void;
28
- /** Ekstra logikk kjørt når lukkeknappen mister fokus. */
29
- onCloseButtonBlur?: () => void;
28
+ /** Ekstra logikk kjørt når popover mister fokus. */
29
+ onBlur?: () => void;
30
30
  /**Custom størrelse. */
31
31
  sizeProps?: PopoverSizeProps;
32
+ /** **OBS!** Propen settes automatisk av `<PopoverGroup />`. Funksjon kjørt ved lukking. */
33
+ onClose?: () => void;
34
+ /**Spesifiserer hvilken DOM node `<Popover />` skal ha som forelder via React portal. Brukes med f.eks `document.getElementById("id")` (skaper ikke ny DOM node). */
35
+ parentElement?: HTMLElement;
32
36
  }>;
33
37
  export declare const Popover: import("react").ForwardRefExoticComponent<Pick<import("react").HTMLAttributes<HTMLDivElement>, "className" | "id"> & {
34
38
  /**Tittel. */
@@ -45,10 +49,14 @@ export declare const Popover: import("react").ForwardRefExoticComponent<Pick<imp
45
49
  offset?: number | undefined;
46
50
  /** Ekstra logikk kjørt når lukkeknappen trykkes. */
47
51
  onCloseButtonClick?: (() => void) | undefined;
48
- /** Ekstra logikk kjørt når lukkeknappen mister fokus. */
49
- onCloseButtonBlur?: (() => void) | undefined;
52
+ /** Ekstra logikk kjørt når popover mister fokus. */
53
+ onBlur?: (() => void) | undefined;
50
54
  /**Custom størrelse. */
51
55
  sizeProps?: PopoverSizeProps | undefined;
56
+ /** **OBS!** Propen settes automatisk av `<PopoverGroup />`. Funksjon kjørt ved lukking. */
57
+ onClose?: (() => void) | undefined;
58
+ /**Spesifiserer hvilken DOM node `<Popover />` skal ha som forelder via React portal. Brukes med f.eks `document.getElementById("id")` (skaper ikke ny DOM node). */
59
+ parentElement?: HTMLElement | undefined;
52
60
  } & {
53
61
  children?: ReactNode;
54
62
  } & {
@@ -10,8 +10,10 @@ declare const _default: {
10
10
  placement?: Placement | undefined;
11
11
  offset?: number | undefined;
12
12
  onCloseButtonClick?: (() => void) | undefined;
13
- onCloseButtonBlur?: (() => void) | undefined;
13
+ onBlur?: (() => void) | undefined;
14
14
  sizeProps?: import("./Popover").PopoverSizeProps | undefined;
15
+ onClose?: (() => void) | undefined;
16
+ parentElement?: HTMLElement | undefined;
15
17
  } & {
16
18
  children?: import("react").ReactNode;
17
19
  } & {
@@ -1,15 +1,18 @@
1
- import { CSSObject } from 'styled-components';
2
1
  export declare const popoverTokens: {
2
+ content: {
3
+ noTitle: {
4
+ marginTop: string;
5
+ };
6
+ };
3
7
  wrapper: {
4
- base: CSSObject;
8
+ padding: string;
5
9
  };
6
- button: {
7
- base: CSSObject;
10
+ closeButton: {
11
+ position: string;
12
+ top: string;
13
+ right: string;
8
14
  };
9
15
  title: {
10
- base: CSSObject;
11
- };
12
- content: {
13
- spaceTopNoTitle: string;
16
+ marginRight: string;
14
17
  };
15
18
  };
@@ -1 +1,8 @@
1
- export declare const Paper: import("styled-components").StyledComponent<"div", any, {}, never>;
1
+ declare type Elevation = 1 | 2 | 3 | 4;
2
+ declare type Border = 'light' | 'dark';
3
+ declare type PaperProps = {
4
+ elevation?: Elevation;
5
+ border?: Border;
6
+ };
7
+ export declare const Paper: import("styled-components").StyledComponent<"div", any, PaperProps, never>;
8
+ export {};
@@ -1,4 +1,7 @@
1
- import { CSSObject } from 'styled-components';
2
1
  export declare const paperTokens: {
3
- base: CSSObject;
2
+ paper: {
3
+ backgroundColor: string;
4
+ borderRadius: string;
5
+ fontFamily: string;
6
+ };
4
7
  };
@@ -6,3 +6,4 @@ export * from './useRoveFocus';
6
6
  export * from './useFocusTrap';
7
7
  export * from './useMountTransition';
8
8
  export * from './useScreenSize';
9
+ export * from './useReturnFocusOnBlur';
@@ -6,7 +6,7 @@ import { RefObject } from 'react';
6
6
  *
7
7
  * const componentRef = useFocusTrap<HTMLDivElement>(props.isOpen);
8
8
  *
9
- * return props.isOpen ? <div><button>click</button></div> : null;
9
+ * return props.isOpen ? <div ref={componentRef}><button>click</button></div> : null;
10
10
  *
11
11
  * }
12
12
  * ```
@@ -0,0 +1,31 @@
1
+ import { RefObject } from 'react';
2
+ /**
3
+ * Returnerer fokus til et element når første eller siste barn i en container mister fokus ved tastaturnavigasjon. Typisk bruk:
4
+ * ```
5
+ * const MyComponent = (props) => {
6
+ *
7
+ * const [isOpen, setOpen] = useState(true);
8
+ * const close = () => setOpen(false);
9
+ * const triggerRef = useRef<HTMLButtonElement>(null);
10
+ * const containerRef = useReturnFocusOnBlur<HTMLDivElement>(
11
+ * isOpen,
12
+ * triggerRef.current,
13
+ * () => close()
14
+ * );
15
+ *
16
+ * return (
17
+ * <div>
18
+ * <button ref={triggerRef} >Åpne popover</button>
19
+ * <div ref={containerRef}>
20
+ * <button>gjør noe</button>
21
+ * </div>
22
+ * </div>
23
+ * )
24
+ * }
25
+ * ```
26
+ * @param active om container skal få fokus, f.eks. når en modal åpnes.
27
+ * @param triggerElement elementet som skal få fokus når fokus forlater container.
28
+ * @param onBlur ekstra logikk når fokus forlater container.
29
+ * @returns ref til container som får fokus.
30
+ */
31
+ export declare function useReturnFocusOnBlur<T extends HTMLElement>(active: boolean, onBlur: () => void, triggerElement?: HTMLElement | null): RefObject<T>;