@altinn/altinn-components 0.14.2 → 0.15.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 (135) hide show
  1. package/README.md +16 -4
  2. package/dist/altinn-theme.css +3 -0
  3. package/dist/assets/Avatar.css +1 -1
  4. package/dist/assets/AvatarGroup.css +1 -1
  5. package/dist/assets/Badge.css +1 -1
  6. package/dist/assets/ButtonLabel.css +1 -1
  7. package/dist/assets/Flex.css +1 -1
  8. package/dist/assets/Grid.css +1 -1
  9. package/dist/assets/Icon.css +1 -1
  10. package/dist/assets/LayoutBody.css +1 -1
  11. package/dist/assets/ListItemBase.css +1 -1
  12. package/dist/assets/ListItemControls.css +1 -1
  13. package/dist/assets/ListItemHeader.css +1 -1
  14. package/dist/assets/ListItemLink.css +1 -1
  15. package/dist/assets/ListItemSelect.css +1 -1
  16. package/dist/assets/MenuItemBase.css +1 -1
  17. package/dist/assets/MenuItemIcon.css +1 -0
  18. package/dist/assets/MenuItemLabel.css +1 -1
  19. package/dist/assets/PageTabs.css +1 -0
  20. package/dist/components/AccessAreaList/AccessAreaListItem.js +29 -32
  21. package/dist/components/AccessPackageList/AccessPackageListItem.js +7 -7
  22. package/dist/components/Attachment/AttachmentLink.js +14 -10
  23. package/dist/components/Autocomplete/AutocompleteItem.js +20 -11
  24. package/dist/components/Avatar/Avatar.js +27 -27
  25. package/dist/components/Avatar/AvatarGroup.js +17 -16
  26. package/dist/components/Badge/Badge.js +5 -12
  27. package/dist/components/Button/Button.js +29 -27
  28. package/dist/components/Button/ButtonIcon.js +9 -5
  29. package/dist/components/Button/ButtonLabel.js +4 -4
  30. package/dist/components/Dialog/Dialog.js +3 -3
  31. package/dist/components/Dialog/DialogAttachments.js +1 -1
  32. package/dist/components/Dialog/DialogContent.js +1 -1
  33. package/dist/components/Dialog/DialogHistoryItem.js +1 -1
  34. package/dist/components/Dialog/DialogListGroup.js +1 -1
  35. package/dist/components/Dialog/DialogListItem.js +80 -72
  36. package/dist/components/Dialog/DialogSection.js +1 -1
  37. package/dist/components/Dialog/DraftDialog.js +1 -1
  38. package/dist/components/GlobalMenu/AccountButton.js +4 -4
  39. package/dist/components/GlobalMenu/AccountMenu.js +27 -16
  40. package/dist/components/GlobalMenu/BackButton.js +2 -2
  41. package/dist/components/GlobalMenu/GlobalMenu.js +21 -21
  42. package/dist/components/GlobalMenu/GlobalMenuBase.js +9 -9
  43. package/dist/components/Header/HeaderButton.js +21 -17
  44. package/dist/components/Icon/Icon.js +10 -9
  45. package/dist/components/Icon/IconOrAvatar.js +27 -0
  46. package/dist/components/Icon/index.js +8 -6
  47. package/dist/components/Layout/LayoutBody.js +1 -1
  48. package/dist/components/LayoutAction/ActionHeader.js +1 -1
  49. package/dist/components/List/ListBase.js +3 -3
  50. package/dist/components/List/ListItem.js +90 -51
  51. package/dist/components/List/ListItemBase.js +63 -29
  52. package/dist/components/List/ListItemControls.js +8 -17
  53. package/dist/components/List/ListItemHeader.js +85 -59
  54. package/dist/components/List/ListItemIcon.js +25 -0
  55. package/dist/components/List/ListItemLabel.js +6 -6
  56. package/dist/components/List/ListItemLink.js +29 -27
  57. package/dist/components/List/ListItemSelect.js +11 -11
  58. package/dist/components/List/index.js +8 -8
  59. package/dist/components/Menu/Menu.js +18 -16
  60. package/dist/components/Menu/MenuBase.js +6 -6
  61. package/dist/components/Menu/MenuItem.js +64 -51
  62. package/dist/components/Menu/MenuItemBase.js +26 -26
  63. package/dist/components/Menu/MenuItemIcon.js +27 -0
  64. package/dist/components/Menu/MenuItemLabel.js +7 -7
  65. package/dist/components/Menu/MenuItems.js +32 -29
  66. package/dist/components/Menu/MenuOption.js +3 -3
  67. package/dist/components/Menu/index.js +14 -14
  68. package/dist/components/Meta/MetaItemMedia.js +13 -8
  69. package/dist/components/Page/Flex.js +14 -14
  70. package/dist/components/Page/Grid.js +1 -1
  71. package/dist/components/Page/PageHeader.js +33 -12
  72. package/dist/components/Page/PageMenu.js +5 -5
  73. package/dist/components/Page/PageTabs.js +16 -0
  74. package/dist/components/Page/index.js +14 -12
  75. package/dist/components/RootProvider/RootProvider.js +3 -3
  76. package/dist/components/Searchbar/SearchField.js +19 -16
  77. package/dist/components/Toolbar/Toolbar.js +7 -7
  78. package/dist/components/Transmission/TransmissionItem.js +1 -1
  79. package/dist/components/index.js +181 -177
  80. package/dist/{globalMenu-XcVgsnCz.js → globalMenu-C6osDiF4.js} +1 -0
  81. package/dist/index.js +181 -177
  82. package/dist/types/lib/components/AccessPackageList/AccessPackageList.d.ts +1 -1
  83. package/dist/types/lib/components/Avatar/AvatarGroup.stories.d.ts +6 -2
  84. package/dist/types/lib/components/Avatar/avatar.stories.d.ts +3 -1
  85. package/dist/types/lib/components/Badge/Badge.d.ts +4 -4
  86. package/dist/types/lib/components/Badge/Badge.stories.d.ts +1 -1
  87. package/dist/types/lib/components/Button/Button.d.ts +2 -1
  88. package/dist/types/lib/components/Button/Button.stories.d.ts +1 -1
  89. package/dist/types/lib/components/ContextMenu/ContextMenu.stories.d.ts +3 -23
  90. package/dist/types/lib/components/Icon/Icon.d.ts +3 -3
  91. package/dist/types/lib/components/Icon/IconOrAvatar.d.ts +12 -0
  92. package/dist/types/lib/components/Icon/index.d.ts +1 -0
  93. package/dist/types/lib/components/Layout/Layout.stories.d.ts +0 -1
  94. package/dist/types/lib/components/LayoutAction/LayoutAction.stories.d.ts +3 -15
  95. package/dist/types/lib/components/List/List.d.ts +1 -1
  96. package/dist/types/lib/components/List/ListBase.d.ts +8 -4
  97. package/dist/types/lib/components/{Header/HeaderLogo.stories.d.ts → List/ListBase.stories.d.ts} +4 -2
  98. package/dist/types/lib/components/List/ListItem.d.ts +5 -10
  99. package/dist/types/lib/components/List/ListItem.stories.d.ts +14 -9
  100. package/dist/types/lib/components/List/ListItemBase.d.ts +8 -2
  101. package/dist/types/lib/components/List/ListItemControls.d.ts +1 -8
  102. package/dist/types/lib/components/List/ListItemHeader.d.ts +5 -15
  103. package/dist/types/lib/components/List/ListItemIcon.d.ts +13 -0
  104. package/dist/types/lib/components/List/ListItemLink.d.ts +2 -1
  105. package/dist/types/lib/components/List/MultilevelList.stories.d.ts +5 -0
  106. package/dist/types/lib/components/List/Specimens.stories.d.ts +13 -0
  107. package/dist/types/lib/components/List/index.d.ts +1 -1
  108. package/dist/types/lib/components/Menu/Menu.d.ts +1 -1
  109. package/dist/types/lib/components/Menu/Menu.stories.d.ts +4 -27
  110. package/dist/types/lib/components/Menu/MenuBase.d.ts +4 -3
  111. package/dist/types/lib/components/Menu/MenuItem.d.ts +7 -7
  112. package/dist/types/lib/components/Menu/MenuItemBase.d.ts +1 -1
  113. package/dist/types/lib/components/Menu/MenuItemIcon.d.ts +8 -0
  114. package/dist/types/lib/components/Menu/MenuItems.d.ts +6 -4
  115. package/dist/types/lib/components/Menu/Patterns.stories.d.ts +72 -0
  116. package/dist/types/lib/components/Menu/index.d.ts +1 -1
  117. package/dist/types/lib/components/Page/PageHeader.d.ts +7 -2
  118. package/dist/types/lib/components/Page/PageHeader.stories.d.ts +1 -1
  119. package/dist/types/lib/components/Page/PageMenu.stories.d.ts +3 -15
  120. package/dist/types/lib/components/Page/PageTabs.d.ts +8 -0
  121. package/dist/types/lib/components/Page/index.d.ts +1 -0
  122. package/dist/types/lib/types/color.d.ts +1 -1
  123. package/package.json +27 -26
  124. package/dist/assets/ListItemMedia.css +0 -1
  125. package/dist/assets/MenuItemMedia.css +0 -1
  126. package/dist/components/List/ListItemMedia.js +0 -39
  127. package/dist/components/Menu/MenuItemMedia.js +0 -50
  128. package/dist/types/lib/components/Layout/LayoutBase.stories.d.ts +0 -11
  129. package/dist/types/lib/components/Layout/LayoutBody.stories.d.ts +0 -11
  130. package/dist/types/lib/components/Layout/LayoutContent.stories.d.ts +0 -11
  131. package/dist/types/lib/components/Layout/LayoutSidebar.stories.d.ts +0 -11
  132. package/dist/types/lib/components/List/ListItemHeader.stories.d.ts +0 -23
  133. package/dist/types/lib/components/List/ListItemMedia.d.ts +0 -13
  134. package/dist/types/lib/components/Menu/MenuItem.stories.d.ts +0 -25
  135. package/dist/types/lib/components/Menu/MenuItemMedia.d.ts +0 -14
@@ -8,23 +8,11 @@ declare const meta: {
8
8
  args: {
9
9
  title: string;
10
10
  menu: {
11
- items: ({
11
+ items: {
12
12
  id: string;
13
- icon: "arrow-redo";
13
+ icon: string;
14
14
  title: string;
15
- } | {
16
- id: string;
17
- icon: "eye";
18
- title: string;
19
- } | {
20
- id: string;
21
- icon: "archive";
22
- title: string;
23
- } | {
24
- id: string;
25
- icon: "trash";
26
- title: string;
27
- })[];
15
+ }[];
28
16
  };
29
17
  };
30
18
  };
@@ -1,5 +1,5 @@
1
1
  import { ListBaseProps, ListItemColor, ListItemProps, ListItemSize, ListItemTheme } from '..';
2
- export interface ListProps extends ListBaseProps {
2
+ export interface ListProps extends Omit<ListBaseProps, 'children'> {
3
3
  items?: ListItemProps[];
4
4
  defaultItemColor?: ListItemColor;
5
5
  defaultItemTheme?: ListItemTheme;
@@ -1,5 +1,9 @@
1
- import { FlexProps } from '..';
2
- export interface ListBaseProps extends FlexProps {
3
- direction?: 'col';
1
+ import { ReactNode } from 'react';
2
+ import { Color, FlexPadding, FlexSpacing } from '..';
3
+ export interface ListBaseProps {
4
+ children: ReactNode;
5
+ spacing?: FlexSpacing;
6
+ padding?: FlexPadding;
7
+ color?: Color;
4
8
  }
5
- export declare const ListBase: ({ direction, spacing, children, ...rest }: ListBaseProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const ListBase: ({ spacing, children, ...rest }: ListBaseProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,12 @@
1
1
  import { StoryObj } from '@storybook/react';
2
2
  declare const meta: {
3
3
  title: string;
4
- component: ({ className, as, title, href }: import('./HeaderLogo').HeaderLogoProps) => import("react/jsx-runtime").JSX.Element;
4
+ component: ({ spacing, children, ...rest }: import('./ListBase').ListBaseProps) => import("react/jsx-runtime").JSX.Element;
5
5
  tags: string[];
6
6
  parameters: {};
7
- args: {};
7
+ args: {
8
+ children: import("react/jsx-runtime").JSX.Element;
9
+ };
8
10
  };
9
11
  export default meta;
10
12
  type Story = StoryObj<typeof meta>;
@@ -1,8 +1,7 @@
1
1
  import { ReactElement, ReactNode } from 'react';
2
2
  import { AvatarGroupProps, AvatarProps } from '../Avatar';
3
3
  import { BadgeProps } from '../Badge';
4
- import { ContextMenuProps } from '../ContextMenu';
5
- import { IconName } from '../Icon';
4
+ import { IconName, IconProps } from '../Icon';
6
5
  import { ListItemBaseProps } from './ListItemBase';
7
6
  import { ListItemHeaderProps } from './ListItemHeader';
8
7
  export interface ListItemProps extends ListItemBaseProps, ListItemHeaderProps {
@@ -17,25 +16,21 @@ export interface ListItemProps extends ListItemBaseProps, ListItemHeaderProps {
17
16
  /** Optional description */
18
17
  description?: string;
19
18
  /** List item icon */
20
- icon?: IconName;
19
+ icon?: IconName | IconProps | ReactNode | undefined;
21
20
  /** List item avatar */
22
21
  avatar?: AvatarProps;
23
22
  /** List item avatarGroup */
24
23
  avatarGroup?: AvatarGroupProps;
25
- /** Optional text indicating behaviour */
26
- linkText?: string;
27
24
  /** Optional icon indicating behaviour */
28
- linkIcon?: IconName;
25
+ linkIcon?: IconName | undefined;
29
26
  /** Custom label */
30
27
  label?: ReactNode | (() => ReactElement);
31
28
  /** Optional badge */
32
- badge?: BadgeProps | undefined;
33
- /** Optional context menu */
34
- menu?: ContextMenuProps;
29
+ badge?: BadgeProps | ReactNode | undefined;
35
30
  }
36
31
  export interface ListItemInputProps extends ListItemProps {
37
32
  id: string;
38
33
  /** Child items */
39
34
  items?: ListItemProps[];
40
35
  }
41
- export declare const ListItem: ({ className, color, loading, collapsible, expanded, size, icon, avatar, avatarGroup, title, description, badge, linkText, linkIcon, label, menu, select, controls, children, ...rest }: ListItemProps) => import("react/jsx-runtime").JSX.Element;
36
+ export declare const ListItem: ({ className, variant, color, theme, shadow, loading, collapsible, expanded, size, icon, avatar, avatarGroup, title, description, badge, linkIcon, label, select, controls, children, ...rest }: ListItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,23 +2,28 @@ import { StoryObj } from '@storybook/react';
2
2
  import { ListItemProps } from '../';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: ({ className, color, loading, collapsible, expanded, size, icon, avatar, avatarGroup, title, description, badge, linkText, linkIcon, label, menu, select, controls, children, ...rest }: ListItemProps) => import("react/jsx-runtime").JSX.Element;
6
- tags: string[];
5
+ component: ({ className, variant, color, theme, shadow, loading, collapsible, expanded, size, icon, avatar, avatarGroup, title, description, badge, linkIcon, label, select, controls, children, ...rest }: ListItemProps) => import("react/jsx-runtime").JSX.Element;
7
6
  parameters: {};
8
7
  args: {
9
8
  id: string;
9
+ as: "button";
10
10
  title: string;
11
- description: string;
12
- size: "sm";
11
+ onClick: () => void;
13
12
  };
14
13
  };
15
14
  export default meta;
16
15
  type Story = StoryObj<typeof meta>;
17
16
  export declare const Default: Story;
18
- export declare const MediaTypes: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
19
- export declare const Loading: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
20
- export declare const Controls: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const IconTypes: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const Avatars: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const AvatarGroups: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const Badges: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const LoadingState: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
21
22
  export declare const Selectable: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
22
- export declare const Themes: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
23
- export declare const Sizes: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
24
23
  export declare const Collapsible: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const Theme: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const Size: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
26
+ export declare const OverridingIcon: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const OverridingBadge: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const OverridingLabel: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const CustomControls: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ElementType, KeyboardEventHandler, ReactNode } from 'react';
2
2
  import { Color } from '..';
3
3
  export type ListItemSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
4
  export type ListItemVariant = 'solid' | 'dotted';
@@ -6,6 +6,12 @@ export type ListItemShadow = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
6
  export type ListItemColor = Color;
7
7
  export type ListItemTheme = 'transparent' | 'default' | 'subtle' | 'surface' | 'base';
8
8
  export interface ListItemBaseProps {
9
+ interactive?: boolean;
10
+ as?: ElementType;
11
+ href?: string;
12
+ onClick?: () => void;
13
+ onKeyPress?: KeyboardEventHandler;
14
+ tabIndex?: number;
9
15
  color?: ListItemColor;
10
16
  theme?: ListItemTheme;
11
17
  variant?: ListItemVariant;
@@ -20,4 +26,4 @@ export interface ListItemBaseProps {
20
26
  expanded?: boolean;
21
27
  children?: ReactNode;
22
28
  }
23
- export declare const ListItemBase: ({ size, variant, color, theme, shadow, loading, disabled, hidden, active, selected, expanded, className, children, }: ListItemBaseProps) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const ListItemBase: ({ interactive, as, href, onClick, onKeyPress, tabIndex, size, variant, color, theme, shadow, loading, disabled, hidden, active, selected, expanded, className, children, }: ListItemBaseProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,14 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
- import { BadgeProps } from '../Badge';
3
- import { ContextMenuProps } from '../ContextMenu';
4
- import { IconName } from '../Icon';
5
2
  interface ListItemControlsProps {
6
3
  className?: string;
7
- badge?: BadgeProps | undefined;
8
- linkText?: string;
9
- linkIcon?: IconName;
10
- menu?: ContextMenuProps;
11
4
  children?: ReactNode;
12
5
  }
13
- export declare const ListItemControls: ({ className, badge, linkText, linkIcon, menu, children }: ListItemControlsProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const ListItemControls: ({ className, children }: ListItemControlsProps) => import("react/jsx-runtime").JSX.Element;
14
7
  export {};
@@ -1,11 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { AvatarGroupProps, AvatarProps } from '../Avatar';
3
- import { BadgeProps } from '../Badge';
4
- import { ContextMenuProps } from '../ContextMenu';
5
- import { IconName } from '../Icon';
6
- import { ListItemSize } from './ListItemBase';
7
- import { ListItemLinkProps } from './ListItemLink';
8
- import { ListItemSelectProps } from './ListItemSelect';
2
+ import { AvatarGroupProps, AvatarProps, BadgeProps, IconName, IconProps, ListItemLinkProps, ListItemSelectProps, ListItemSize } from '..';
9
3
  export interface ListItemHeaderProps extends ListItemLinkProps {
10
4
  /** Header is loading */
11
5
  loading?: boolean;
@@ -24,22 +18,18 @@ export interface ListItemHeaderProps extends ListItemLinkProps {
24
18
  /** Description */
25
19
  description?: string;
26
20
  /** List item icon */
27
- icon?: IconName;
21
+ icon?: IconName | IconProps | ReactNode | undefined;
28
22
  /** List item avatar */
29
23
  avatar?: AvatarProps;
30
24
  /** List item avatarGroup */
31
25
  avatarGroup?: AvatarGroupProps;
32
- /** Optional text indicating behaviour */
33
- linkText?: string;
34
26
  /** Optional icon indicating behaviour */
35
- linkIcon?: IconName;
27
+ linkIcon?: IconName | undefined;
36
28
  /** Optional badge */
37
- badge?: BadgeProps | undefined;
38
- /** Context menu */
39
- menu?: ContextMenuProps;
29
+ badge?: BadgeProps | ReactNode | undefined;
40
30
  /** Custom controls */
41
31
  controls?: ReactNode;
42
32
  /** Custom label */
43
33
  children?: ReactNode;
44
34
  }
45
- export declare const ListItemHeader: ({ as, loading, disabled, select, href, onClick, onKeyPress, tabIndex, collapsible, expanded, size, title, description, icon, avatar, avatarGroup, linkIcon, linkText, badge, menu, controls, className, children, }: ListItemHeaderProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const ListItemHeader: ({ as, loading, disabled, select, href, onClick, onKeyPress, tabIndex, size, title, description, icon, avatar, avatarGroup, linkIcon, badge, controls, className, children, }: ListItemHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { AvatarGroupProps, AvatarProps } from '../Avatar';
3
+ import { IconName, IconProps } from '../Icon';
4
+ export type ListItemIconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ export interface ListItemIconProps {
6
+ loading?: boolean;
7
+ size?: ListItemIconSize;
8
+ icon?: IconProps | IconName | ReactNode;
9
+ avatar?: AvatarProps;
10
+ avatarGroup?: AvatarGroupProps;
11
+ children?: ReactNode;
12
+ }
13
+ export declare const ListItemIcon: ({ loading, size, icon, avatar, avatarGroup, children }: ListItemIconProps) => import("react/jsx-runtime").JSX.Element | null | undefined;
@@ -1,6 +1,7 @@
1
1
  import { ElementType, KeyboardEventHandler, ReactNode } from 'react';
2
2
  import { ListItemSize } from './ListItemBase';
3
3
  export interface ListItemLinkProps {
4
+ interactive?: boolean;
4
5
  size?: ListItemSize;
5
6
  as?: ElementType;
6
7
  href?: string;
@@ -13,4 +14,4 @@ export interface ListItemLinkProps {
13
14
  className?: string;
14
15
  children?: ReactNode;
15
16
  }
16
- export declare const ListItemLink: ({ size, as, loading, disabled, selected, href, onClick, onKeyPress, tabIndex, className, children, }: ListItemLinkProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const ListItemLink: ({ interactive, size, as, loading, disabled, selected, href, onClick, onKeyPress, tabIndex, className, children, }: ListItemLinkProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { Meta } from '@storybook/react';
2
+ import { List } from '../';
3
+ declare const meta: Meta<typeof List>;
4
+ export default meta;
5
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ListItemProps } from '../';
2
+ declare const meta: {
3
+ title: string;
4
+ component: ({ className, variant, color, theme, shadow, loading, collapsible, expanded, size, icon, avatar, avatarGroup, title, description, badge, linkIcon, label, select, controls, children, ...rest }: ListItemProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {};
6
+ args: {
7
+ id: string;
8
+ title: string;
9
+ };
10
+ };
11
+ export default meta;
12
+ export declare const Theme: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const Size: (args: ListItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ export * from './ListItemBase';
2
2
  export * from './ListItemLink';
3
3
  export * from './ListItemHeader';
4
4
  export * from './ListItemLabel';
5
- export * from './ListItemMedia';
5
+ export * from './ListItemIcon';
6
6
  export * from './ListItemControls';
7
7
  export * from './ListItemSelect';
8
8
  export * from './ListItem';
@@ -5,4 +5,4 @@ export interface MenuProps extends MenuItemsProps {
5
5
  color?: MenuItemColor;
6
6
  theme?: MenuTheme;
7
7
  }
8
- export declare const Menu: ({ color, theme, defaultItemColor, defaultItemTheme, defaultItemSize, groups, items, search, }: MenuProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const Menu: ({ color, theme, defaultItemColor, defaultItemTheme, defaultItemSize, defaultIconTheme, groups, items, search, }: MenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,35 +1,12 @@
1
1
  import { StoryObj } from '@storybook/react';
2
2
  declare const meta: {
3
3
  title: string;
4
- component: ({ color, theme, defaultItemColor, defaultItemTheme, defaultItemSize, groups, items, search, }: import('./Menu').MenuProps) => import("react/jsx-runtime").JSX.Element;
5
- tags: string[];
4
+ component: ({ color, theme, defaultItemColor, defaultItemTheme, defaultItemSize, defaultIconTheme, groups, items, search, }: import('./Menu').MenuProps) => import("react/jsx-runtime").JSX.Element;
6
5
  parameters: {};
7
6
  args: {};
8
7
  };
9
8
  export default meta;
10
9
  type Story = StoryObj<typeof meta>;
11
- export declare const GlobalMenu: Story;
12
- export declare const CollapsibleGlobalMenu: Story;
13
- export declare const ExpandedGlobalMenu: Story;
14
- export declare const DrilldownMenu: Story;
15
- export declare const InboxMenu: Story;
16
- export declare const InboxMenuWithShortcuts: {
17
- args: {
18
- groups: {
19
- shortcuts: {
20
- title: string;
21
- defaultItemTheme: string;
22
- };
23
- };
24
- items: (import('./MenuItem.tsx').MenuItemProps | {
25
- id: string;
26
- groupId: string;
27
- icon: string;
28
- title: string;
29
- })[];
30
- };
31
- };
32
- export declare const PersonMenu: Story;
33
- export declare const CompanyMenu: Story;
34
- export declare const AccountMenu: Story;
35
- export declare const AccountMenuWithSearch: Story;
10
+ export declare const Default: Story;
11
+ export declare const CreatingHiearchy: Story;
12
+ export declare const NestingItems: Story;
@@ -1,12 +1,13 @@
1
1
  import { ElementType, ReactNode } from 'react';
2
- import { MenuItemColor } from './MenuItemBase.tsx';
2
+ import { Color } from '..';
3
+ export type MenuColor = Color;
3
4
  export type MenuTheme = 'transparent' | 'default' | 'subtle';
4
5
  export type MenuListRole = 'presentation' | 'group';
5
6
  export type MenuListItemRole = 'presentation' | 'group' | 'separator';
6
7
  export interface MenuBaseProps {
7
8
  as?: ElementType;
8
9
  theme?: MenuTheme;
9
- color?: MenuItemColor;
10
+ color?: MenuColor;
10
11
  className?: string;
11
12
  children?: ReactNode;
12
13
  }
@@ -24,6 +25,6 @@ export interface MenuListItemProps {
24
25
  className?: string;
25
26
  children?: ReactNode;
26
27
  }
27
- export declare const MenuBase: ({ as, theme, className, children }: MenuBaseProps) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const MenuBase: ({ as, color, theme, className, children }: MenuBaseProps) => import("react/jsx-runtime").JSX.Element;
28
29
  export declare const MenuList: ({ as, role, expanded, className, children }: MenuListProps) => import("react/jsx-runtime").JSX.Element;
29
30
  export declare const MenuListItem: ({ as, role, expanded, className, children, }: MenuListItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,14 +1,14 @@
1
1
  import { ElementType, ReactNode } from 'react';
2
- import { AvatarGroupProps, AvatarProps, BadgeProps, IconName, IconVariant } from '..';
3
- import { MenuItemColor, MenuItemSize, MenuItemTheme } from './MenuItemBase';
2
+ import { AvatarGroupProps, AvatarProps, BadgeProps, IconName, IconProps, IconTheme } from '..';
3
+ import { MenuItemColor, MenuItemSize, MenuItemTheme } from './';
4
4
  export interface MenuItemProps {
5
5
  id: string;
6
6
  type?: string;
7
7
  tabIndex?: number;
8
8
  as?: ElementType;
9
+ size?: MenuItemSize;
9
10
  color?: MenuItemColor;
10
11
  theme?: MenuItemTheme;
11
- size?: MenuItemSize;
12
12
  href?: string;
13
13
  onClick?: () => void;
14
14
  hidden?: boolean;
@@ -20,16 +20,16 @@ export interface MenuItemProps {
20
20
  groupId?: string | number;
21
21
  title?: string;
22
22
  description?: string;
23
- icon?: IconName;
24
- iconVariant?: IconVariant;
23
+ icon?: IconName | IconProps | ReactNode;
24
+ iconTheme?: IconTheme;
25
+ iconBadge?: BadgeProps | undefined;
25
26
  avatar?: AvatarProps;
26
27
  avatarGroup?: AvatarGroupProps;
27
28
  badge?: BadgeProps | undefined;
28
- alertBadge?: BadgeProps | undefined;
29
29
  linkIcon?: IconName;
30
30
  linkText?: string;
31
31
  className?: string;
32
32
  label?: ReactNode;
33
33
  items?: MenuItemProps[];
34
34
  }
35
- export declare const MenuItem: ({ as, size, color, theme, collapsible, expanded, icon, iconVariant, avatar, avatarGroup, title, description, badge, alertBadge, linkText, linkIcon, label, ...rest }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const MenuItem: ({ as, size, color, theme, collapsible, expanded, icon, iconTheme, iconBadge, avatar, avatarGroup, title, description, badge, linkText, linkIcon, label, ...rest }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ import { ElementType, KeyboardEventHandler, ReactNode } from 'react';
2
2
  import { BadgeProps, Color, IconName } from '..';
3
3
  export type MenuItemColor = Color;
4
4
  export type MenuItemSize = 'xs' | 'sm' | 'md' | 'lg';
5
- export type MenuItemTheme = 'transparent' | 'default' | 'surface' | 'base';
5
+ export type MenuItemTheme = 'default' | 'subtle' | 'surface' | 'base';
6
6
  export interface MenuItemBaseProps {
7
7
  as?: ElementType;
8
8
  color?: MenuItemColor;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { BadgeProps, IconOrAvatarProps } from '..';
3
+ interface MenuItemIconProps extends IconOrAvatarProps {
4
+ iconBadge?: BadgeProps | undefined;
5
+ children?: ReactNode;
6
+ }
7
+ export declare const MenuItemIcon: ({ size, icon, iconTheme, iconBadge, avatar, avatarGroup, children, }: MenuItemIconProps) => import("react/jsx-runtime").JSX.Element | null;
8
+ export {};
@@ -1,11 +1,12 @@
1
- import { MenuItemColor, MenuItemProps, MenuItemSize, MenuItemTheme } from '../';
1
+ import { IconTheme, MenuItemColor, MenuItemProps, MenuItemSize, MenuItemTheme } from '../';
2
2
  import { MenuSearchProps } from './MenuSearch';
3
3
  export interface MenuGroupProps {
4
4
  title?: string;
5
5
  divider?: boolean;
6
- defaultItemColor?: MenuItemColor;
7
6
  defaultItemSize?: MenuItemSize;
7
+ defaultItemColor?: MenuItemColor;
8
8
  defaultItemTheme?: MenuItemTheme;
9
+ defaultIconTheme?: IconTheme;
9
10
  }
10
11
  export type MenuItemGroups = Record<string, MenuGroupProps>;
11
12
  export interface MenuItemsProps {
@@ -14,8 +15,9 @@ export interface MenuItemsProps {
14
15
  search?: MenuSearchProps;
15
16
  items: MenuItemProps[];
16
17
  groups?: MenuItemGroups;
17
- defaultItemColor?: MenuItemColor;
18
18
  defaultItemSize?: MenuItemSize;
19
+ defaultItemColor?: MenuItemColor;
19
20
  defaultItemTheme?: MenuItemTheme;
21
+ defaultIconTheme?: IconTheme;
20
22
  }
21
- export declare const MenuItems: ({ level, expanded, search, items, groups, defaultItemColor, defaultItemTheme, defaultItemSize, }: MenuItemsProps) => import("react/jsx-runtime").JSX.Element;
23
+ export declare const MenuItems: ({ level, expanded, search, items, groups, defaultItemSize, defaultItemColor, defaultItemTheme, defaultIconTheme, }: MenuItemsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,72 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: ({ color, theme, defaultItemColor, defaultItemTheme, defaultItemSize, defaultIconTheme, groups, items, search, }: import('./Menu').MenuProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {};
6
+ args: {};
7
+ };
8
+ export default meta;
9
+ type Story = StoryObj<typeof meta>;
10
+ export declare const InboxMenu: Story;
11
+ export declare const CompanyInboxMenu: {
12
+ args: {
13
+ color: string;
14
+ theme: string;
15
+ level?: number;
16
+ expanded?: boolean;
17
+ search?: import('./MenuSearch').MenuSearchProps;
18
+ items: import('./MenuItem').MenuItemProps[];
19
+ groups?: import('./MenuItems').MenuItemGroups;
20
+ defaultItemSize?: import('./MenuItemBase').MenuItemSize;
21
+ defaultItemColor?: import('./MenuItemBase').MenuItemColor;
22
+ defaultItemTheme?: import('./MenuItemBase').MenuItemTheme;
23
+ defaultIconTheme?: import('..').IconTheme;
24
+ };
25
+ };
26
+ export declare const PersonInboxMenu: {
27
+ args: {
28
+ color: string;
29
+ theme: string;
30
+ level?: number;
31
+ expanded?: boolean;
32
+ search?: import('./MenuSearch').MenuSearchProps;
33
+ items: import('./MenuItem').MenuItemProps[];
34
+ groups?: import('./MenuItems').MenuItemGroups;
35
+ defaultItemSize?: import('./MenuItemBase').MenuItemSize;
36
+ defaultItemColor?: import('./MenuItemBase').MenuItemColor;
37
+ defaultItemTheme?: import('./MenuItemBase').MenuItemTheme;
38
+ defaultIconTheme?: import('..').IconTheme;
39
+ };
40
+ };
41
+ export declare const CompanyMenu: Story;
42
+ export declare const NeutralCompanyMenu: {
43
+ args: {
44
+ color: string;
45
+ theme?: import('./MenuBase').MenuTheme;
46
+ level?: number;
47
+ expanded?: boolean;
48
+ search?: import('./MenuSearch').MenuSearchProps;
49
+ items: import('./MenuItem').MenuItemProps[];
50
+ groups?: import('./MenuItems').MenuItemGroups;
51
+ defaultItemSize?: import('./MenuItemBase').MenuItemSize;
52
+ defaultItemColor?: import('./MenuItemBase').MenuItemColor;
53
+ defaultItemTheme?: import('./MenuItemBase').MenuItemTheme;
54
+ defaultIconTheme?: import('..').IconTheme;
55
+ };
56
+ };
57
+ export declare const PersonMenu: Story;
58
+ export declare const NeutralPersonMenu: {
59
+ args: {
60
+ color: string;
61
+ theme?: import('./MenuBase').MenuTheme;
62
+ level?: number;
63
+ expanded?: boolean;
64
+ search?: import('./MenuSearch').MenuSearchProps;
65
+ items: import('./MenuItem').MenuItemProps[];
66
+ groups?: import('./MenuItems').MenuItemGroups;
67
+ defaultItemSize?: import('./MenuItemBase').MenuItemSize;
68
+ defaultItemColor?: import('./MenuItemBase').MenuItemColor;
69
+ defaultItemTheme?: import('./MenuItemBase').MenuItemTheme;
70
+ defaultIconTheme?: import('..').IconTheme;
71
+ };
72
+ };
@@ -1,6 +1,6 @@
1
1
  export * from './MenuItemBase';
2
2
  export * from './MenuItemLabel';
3
- export * from './MenuItemMedia';
3
+ export * from './MenuItemIcon';
4
4
  export * from './MenuItem';
5
5
  export * from './MenuInputField';
6
6
  export * from './MenuOption';
@@ -1,9 +1,14 @@
1
- import { AvatarGroupProps, AvatarProps, IconName, SectionProps } from '..';
1
+ import { AvatarGroupProps, AvatarProps, IconName, PageTabsProps, SectionProps } from '..';
2
+ export type PageHeaderVariant = 'card' | undefined;
3
+ export type PageHeaderSize = 'lg' | 'xl';
2
4
  export interface PageHeaderProps extends SectionProps {
5
+ variant?: PageHeaderVariant;
6
+ size?: PageHeaderSize;
3
7
  title?: string;
4
8
  description?: string;
5
9
  icon?: IconName;
6
10
  avatar?: AvatarProps;
7
11
  avatarGroup?: AvatarGroupProps;
12
+ tabs?: PageTabsProps;
8
13
  }
9
- export declare const PageHeader: ({ title, icon, avatar, avatarGroup, children, ...rest }: PageHeaderProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const PageHeader: ({ variant, size, title, description, icon, avatar, avatarGroup, tabs, theme, padding, shadow, bleed, children, ...rest }: PageHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { StoryObj } from '@storybook/react';
2
2
  declare const meta: {
3
3
  title: string;
4
- component: ({ title, icon, avatar, avatarGroup, children, ...rest }: import('./PageHeader').PageHeaderProps) => import("react/jsx-runtime").JSX.Element;
4
+ component: ({ variant, size, title, description, icon, avatar, avatarGroup, tabs, theme, padding, shadow, bleed, children, ...rest }: import('./PageHeader').PageHeaderProps) => import("react/jsx-runtime").JSX.Element;
5
5
  tags: string[];
6
6
  parameters: {};
7
7
  args: {
@@ -5,23 +5,11 @@ declare const meta: {
5
5
  tags: string[];
6
6
  parameters: {};
7
7
  args: {
8
- items: ({
8
+ items: {
9
9
  id: string;
10
- icon: "arrow-redo";
10
+ icon: string;
11
11
  title: string;
12
- } | {
13
- id: string;
14
- icon: "eye";
15
- title: string;
16
- } | {
17
- id: string;
18
- icon: "archive";
19
- title: string;
20
- } | {
21
- id: string;
22
- icon: "trash";
23
- title: string;
24
- })[];
12
+ }[];
25
13
  };
26
14
  };
27
15
  export default meta;
@@ -0,0 +1,8 @@
1
+ import { MenuItemColor, MenuItemProps } from '..';
2
+ export type PageTabsTheme = 'transparent' | 'base';
3
+ export interface PageTabsProps {
4
+ theme?: PageTabsTheme;
5
+ color?: MenuItemColor;
6
+ items?: MenuItemProps[];
7
+ }
8
+ export declare const PageTabs: ({ theme, color, items }: PageTabsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  export * from './PageBase';
2
2
  export * from './PageNav';
3
3
  export * from './PageMenu';
4
+ export * from './PageTabs';
4
5
  export * from './PageHeader';
5
6
  export * from './Article';
6
7
  export * from './Section';
@@ -1,2 +1,2 @@
1
1
  export type Color = 'accent' | 'company' | 'person' | 'neutral' | 'success' | 'warning' | 'danger' | 'info' | 'alert';
2
- export type Theme = 'transparent' | 'default' | 'subtle' | 'surface-default' | 'surface-hover' | 'surface-active' | 'border-subtle' | 'border-default' | 'border-strong' | 'base-default' | 'base-hover' | 'base-active';
2
+ export type Theme = 'transparent' | 'default' | 'subtle' | 'surface' | 'surface-default' | 'surface-hover' | 'surface-active' | 'border' | 'border-subtle' | 'border-default' | 'border-strong' | 'base' | 'base-default' | 'base-hover' | 'base-active';