@norges-domstoler/dds-components 13.7.0 → 13.8.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.
Files changed (34) hide show
  1. package/dist/cjs/components/AppShell/AppShell.d.ts +29 -4
  2. package/dist/cjs/components/AppShell/AppShell.stories.d.ts +9 -4
  3. package/dist/cjs/components/AppShell/AppShell.tokens.d.ts +16 -0
  4. package/dist/cjs/components/AppShell/AppShellContext.d.ts +10 -0
  5. package/dist/cjs/components/AppShell/Navigation/EmbeteIcon.d.ts +7 -0
  6. package/dist/cjs/components/AppShell/Navigation/Navigation.d.ts +6 -1
  7. package/dist/cjs/components/AppShell/Navigation/NavigationItem.d.ts +5 -2
  8. package/dist/cjs/components/AppShell/Navigation/NavigationLogo.d.ts +3 -0
  9. package/dist/cjs/components/AppShell/Navigation/TopBar.d.ts +23 -0
  10. package/dist/cjs/components/Button/Button.d.ts +1 -1
  11. package/dist/cjs/components/Button/Button.stories.d.ts +1 -1
  12. package/dist/cjs/components/Button/Button.types.d.ts +2 -2
  13. package/dist/cjs/index.js +1824 -1605
  14. package/dist/components/AppShell/AppShell.d.ts +29 -4
  15. package/dist/components/AppShell/AppShell.js +42 -20
  16. package/dist/components/AppShell/AppShell.stories.d.ts +9 -4
  17. package/dist/components/AppShell/AppShell.tokens.d.ts +16 -0
  18. package/dist/components/AppShell/AppShell.tokens.js +16 -3
  19. package/dist/components/AppShell/AppShellContext.d.ts +10 -0
  20. package/dist/components/AppShell/AppShellContext.js +27 -0
  21. package/dist/components/AppShell/Navigation/EmbeteIcon.d.ts +7 -0
  22. package/dist/components/AppShell/Navigation/EmbeteIcon.js +21 -0
  23. package/dist/components/AppShell/Navigation/Navigation.d.ts +6 -1
  24. package/dist/components/AppShell/Navigation/Navigation.js +83 -37
  25. package/dist/components/AppShell/Navigation/NavigationItem.d.ts +5 -2
  26. package/dist/components/AppShell/Navigation/NavigationItem.js +13 -3
  27. package/dist/components/AppShell/Navigation/NavigationLogo.d.ts +3 -0
  28. package/dist/components/AppShell/Navigation/NavigationLogo.js +34 -0
  29. package/dist/components/AppShell/Navigation/TopBar.d.ts +23 -0
  30. package/dist/components/AppShell/Navigation/TopBar.js +78 -0
  31. package/dist/components/Button/Button.d.ts +1 -1
  32. package/dist/components/Button/Button.stories.d.ts +1 -1
  33. package/dist/components/Button/Button.types.d.ts +2 -2
  34. package/package.json +2 -1
@@ -1,13 +1,38 @@
1
1
  import { PropsWithChildren, ReactElement } from 'react';
2
+ import { User } from './Navigation/TopBar';
3
+ import { OverflowMenuProps } from '../OverflowMenu';
4
+ import { Environment } from '@norges-domstoler/development-utils';
2
5
  export type AppShellProps = PropsWithChildren<{
3
- /**Versjon på appen på formatet 0.0.0 */
6
+ /**
7
+ * Versjon på appen på formatet 0.0.0
8
+ */
4
9
  version?: string;
5
10
  navigation: AppShellNavigationProps;
11
+ /**
12
+ * Den innloggede brukeren.
13
+ */
14
+ user: User;
15
+ /**
16
+ * Menyvalg som skal vises i OverflowMenu knyttet til "bruker"-knappen.
17
+ */
18
+ userMenuItems?: OverflowMenuProps['items'];
19
+ /**
20
+ * `environment` brukes for å vise en banner øverst i appen som viser hvilket miljø du er i.
21
+ * Når environment er undefined eller `"PROD"` så vises ikke banneret.
22
+ */
23
+ environment?: Environment;
6
24
  }>;
7
25
  export type AppShellNavigationProps = {
8
- /**Interne lenker i navigasjonen. */
26
+ /**
27
+ * Interne lenker i navigasjonen.
28
+ */
9
29
  internal?: ReactElement[];
10
- /**Eksterne lenker i navigasjonen. */
30
+ /**
31
+ * Eksterne lenker i navigasjonen.
32
+ */
11
33
  external?: ReactElement[];
12
34
  };
13
- export declare const AppShell: ({ children, version, navigation: { internal, external }, }: AppShellProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const AppShell: {
36
+ ({ children, version, navigation: { internal, external }, user, userMenuItems, environment, }: AppShellProps): import("react/jsx-runtime").JSX.Element;
37
+ displayName: string;
38
+ };
@@ -2,11 +2,14 @@ import { ComponentProps } from 'react';
2
2
  import { AppShell } from '.';
3
3
  declare const _default: {
4
4
  title: string;
5
- component: (({ children, version, navigation: { internal, external }, }: import("./AppShell").AppShellProps) => import("react/jsx-runtime").JSX.Element) & {
5
+ component: {
6
+ ({ children, version, navigation: { internal, external }, user, userMenuItems, environment, }: import("./AppShell").AppShellProps): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string;
8
+ } & {
6
9
  NavItem: {
7
- <T extends import("@norges-domstoler/dds-core").As = "a">({ as: _as, active, icon, external, children, ...rest }: import("react").PropsWithoutRef<ComponentProps<T>> & {
10
+ <T extends import("@norges-domstoler/dds-core").As = "a">({ as: _as, active, icon, external, children, onClick: propOnClick, ...rest }: import("react").PropsWithoutRef<ComponentProps<T>> & {
8
11
  as?: T | undefined;
9
- } & ({
12
+ } & (({
10
13
  icon: import("@norges-domstoler/dds-icons").SvgIcon;
11
14
  active?: boolean | undefined;
12
15
  external?: false | undefined;
@@ -14,10 +17,12 @@ declare const _default: {
14
17
  external: true;
15
18
  active?: false | undefined;
16
19
  icon?: undefined;
20
+ }) & {
21
+ onClick?: import("react").MouseEventHandler | undefined;
17
22
  })): import("react/jsx-runtime").JSX.Element;
18
23
  displayName: string;
19
24
  };
20
25
  };
21
26
  };
22
27
  export default _default;
23
- export declare const Default: (args: ComponentProps<typeof AppShell>) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const Default: (args: Partial<ComponentProps<typeof AppShell>>) => import("react/jsx-runtime").JSX.Element;
@@ -35,6 +35,14 @@ export declare const appShellTokens: {
35
35
  color: string;
36
36
  logo: {
37
37
  fontWeight: number;
38
+ small: {
39
+ fontWeight: number;
40
+ lineHeight: any;
41
+ fontSize: string;
42
+ letterSpacing: any;
43
+ fontFamily: any;
44
+ fontStyle: any;
45
+ };
38
46
  lineHeight: any;
39
47
  fontSize: string;
40
48
  letterSpacing: any;
@@ -50,6 +58,12 @@ export declare const appShellTokens: {
50
58
  fontStyle: any;
51
59
  };
52
60
  };
61
+ topBar: {
62
+ padding: string;
63
+ height: string;
64
+ buttonTextColor: string;
65
+ gap: string;
66
+ };
53
67
  color: string;
54
68
  backgroundColor: string;
55
69
  gap: string;
@@ -57,6 +71,7 @@ export declare const appShellTokens: {
57
71
  padding: string;
58
72
  width: string;
59
73
  mobile: {
74
+ breakpoint: string;
60
75
  iconColors: string;
61
76
  };
62
77
  };
@@ -64,5 +79,6 @@ export declare const appShellTokens: {
64
79
  gap: string;
65
80
  textColor: string;
66
81
  backgroundColor: string;
82
+ borderRadius: string;
67
83
  };
68
84
  };
@@ -0,0 +1,10 @@
1
+ import { type ReactNode, type SetStateAction, type Dispatch } from 'react';
2
+ type AppShellContextValues = {
3
+ isOpen: boolean;
4
+ setOpen: Dispatch<SetStateAction<boolean>>;
5
+ };
6
+ export declare const AppShellContextProvider: ({ children, }: {
7
+ children: ReactNode;
8
+ }) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const useAppShellContext: () => AppShellContextValues;
10
+ export {};
@@ -0,0 +1,7 @@
1
+ import { SvgProps } from '@norges-domstoler/dds-icons';
2
+ export type EmbeteType = 'jordskifterett' | 'tingrett' | 'lagmannsrett' | 'høyesterett';
3
+ type EmbeteIconProps = {
4
+ type?: EmbeteType;
5
+ } & SvgProps;
6
+ export declare const EmbeteIcon: ({ type, ...rest }: EmbeteIconProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -1,8 +1,13 @@
1
1
  import { ReactElement } from 'react';
2
+ import { User } from './TopBar';
3
+ import { OverflowMenuProps } from '../../OverflowMenu';
2
4
  export declare const NavigationItems: import("styled-components").StyledComponent<"nav", any, {}, never>;
3
5
  export type NavigationProps = {
4
6
  version: string;
5
7
  internal: ReactElement[];
6
8
  external: ReactElement[];
9
+ user: User;
10
+ userMenuItems?: OverflowMenuProps['items'];
11
+ environmentBannerActive: boolean;
7
12
  };
8
- export declare const Navigation: ({ version, internal, external, }: NavigationProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const Navigation: ({ version, user, userMenuItems, internal, external, environmentBannerActive, }: NavigationProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { type PropsOf, type As } from '@norges-domstoler/dds-core';
2
2
  import { SvgIcon } from '@norges-domstoler/dds-icons';
3
- type BaseNavigationItemProps = {
3
+ import { type MouseEventHandler } from 'react';
4
+ type BaseNavigationItemProps = ({
4
5
  icon: SvgIcon;
5
6
  active?: boolean;
6
7
  external?: undefined | false;
@@ -8,10 +9,12 @@ type BaseNavigationItemProps = {
8
9
  external: true;
9
10
  active?: undefined | false;
10
11
  icon?: undefined;
12
+ }) & {
13
+ onClick?: MouseEventHandler;
11
14
  };
12
15
  type NavigationItemProps<T extends As = 'a'> = PropsOf<T> & BaseNavigationItemProps;
13
16
  export declare const NavigationItem: {
14
- <T extends As = "a">({ as: _as, active, icon, external, children, ...rest }: NavigationItemProps<T>): import("react/jsx-runtime").JSX.Element;
17
+ <T extends As = "a">({ as: _as, active, icon, external, children, onClick: propOnClick, ...rest }: NavigationItemProps<T>): import("react/jsx-runtime").JSX.Element;
15
18
  displayName: string;
16
19
  };
17
20
  export {};
@@ -0,0 +1,3 @@
1
+ export declare const NavigationLogo: import("styled-components").StyledComponent<"a", any, {
2
+ small?: boolean | undefined;
3
+ }, never>;
@@ -0,0 +1,23 @@
1
+ import { EmbeteType } from './EmbeteIcon';
2
+ import { OverflowMenuProps } from '../../OverflowMenu';
3
+ type TopBarProps = {
4
+ user: User;
5
+ userMenuItems?: OverflowMenuProps['items'];
6
+ isNavigationOpen: boolean;
7
+ onNavigationOpenChange: (isOpen: boolean) => void;
8
+ environmentBannerActive: boolean;
9
+ };
10
+ export type User = {
11
+ /**Brukerens fulle navn (for- og etternavn). */
12
+ name: string;
13
+ /**Det aktive embetet til brukeren. */
14
+ embete: Embete;
15
+ };
16
+ export type Embete = {
17
+ /**Navnet på embetet. */
18
+ name: string;
19
+ /**Hvilken instans embetet er. */
20
+ type: EmbeteType;
21
+ };
22
+ export declare const TopBar: ({ user, userMenuItems, isNavigationOpen, onNavigationOpenChange, environmentBannerActive, }: TopBarProps) => import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const Button: import("react").ForwardRefExoticComponent<Pick<Omit<import("react").ButtonHTMLAttributes<HTMLButtonElement>, "onClick" | "onFocus" | "onBlur" | "type">, "id" | "className"> & {
3
3
  size?: import("./Button.types").ButtonSize | undefined;
4
- label?: string | undefined;
4
+ label?: string | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
5
5
  purpose?: import("./Button.types").ButtonPurpose | undefined;
6
6
  iconPosition?: import("./Button.types").IconPosition | undefined;
7
7
  appearance?: import("./Button.types").ButtonAppearance | undefined;
@@ -4,7 +4,7 @@ declare const _default: {
4
4
  title: string;
5
5
  component: import("react").ForwardRefExoticComponent<Pick<Omit<import("react").ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onFocus" | "onBlur" | "onClick">, "className" | "id"> & {
6
6
  size?: import("./Button.types").ButtonSize | undefined;
7
- label?: string | undefined;
7
+ label?: string | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
8
8
  purpose?: import("./Button.types").ButtonPurpose | undefined;
9
9
  iconPosition?: import("./Button.types").IconPosition | undefined;
10
10
  appearance?: import("./Button.types").ButtonAppearance | undefined;
@@ -1,4 +1,4 @@
1
- import { ButtonHTMLAttributes } from 'react';
1
+ import { ButtonHTMLAttributes, ReactElement } from 'react';
2
2
  import { BaseComponentProps } from '@norges-domstoler/dds-core';
3
3
  import { SvgIcon } from '@norges-domstoler/dds-icons';
4
4
  export type ButtonPurpose = 'primary' | 'secondary' | 'danger';
@@ -10,7 +10,7 @@ export type ButtonProps = BaseComponentProps<HTMLButtonElement, {
10
10
  /**Størrelsen på knappen. */
11
11
  size?: ButtonSize;
12
12
  /**Tekst i knappen. */
13
- label?: string;
13
+ label?: string | ReactElement;
14
14
  /**Bestemmer farger basert på formål. */
15
15
  purpose?: ButtonPurpose;
16
16
  /** Posisjonen til ikonet i forhold til teksten.*/