@bitrise/bitkit 10.3.0-alpha-cleanup.2 → 10.4.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitrise/bitkit",
3
3
  "description": "Bitrise React component library",
4
- "version": "10.3.0-alpha-cleanup.2",
4
+ "version": "10.4.0",
5
5
  "repository": "git@github.com:bitrise-io/bitkit.git",
6
6
  "main": "src/index.ts",
7
7
  "license": "UNLICENSED",
@@ -1,8 +1,9 @@
1
1
  import { Button as ChakraButton, ButtonProps as ChakraButtonProps, forwardRef, useStyleConfig } from '@chakra-ui/react';
2
+ import { ColorScheme } from '@/Foundations/Colors/Colors';
2
3
 
3
4
  export interface ColorButtonProps extends ChakraButtonProps {
4
5
  as?: 'a' | 'button';
5
- colorScheme?: 'blue' | 'red' | 'green' | 'yellow' | 'purple';
6
+ colorScheme?: ColorScheme;
6
7
  }
7
8
 
8
9
  /**
@@ -1,7 +1,9 @@
1
+ /* eslint-disable jsx-a11y/anchor-is-valid */
1
2
  import { Story, ComponentMeta } from '@storybook/react';
2
3
  import { useDisclosure } from '@chakra-ui/react';
3
4
  import { sortObjectByKey } from '../../utils/storyUtils';
4
5
  import Button from '../Button/Button';
6
+ import Link from '../Link/Link';
5
7
  import Dialog, { DialogProps } from './Dialog';
6
8
  import DialogBody from './DialogBody';
7
9
  import DialogFooter from './DialogFooter';
@@ -11,14 +13,19 @@ export default {
11
13
  component: Dialog,
12
14
  } as ComponentMeta<typeof Dialog>;
13
15
 
14
- const TextContent = () => (
15
- <p>
16
- Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley
17
- of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap
18
- into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of
19
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus
20
- PageMaker including versions of Lorem Ipsum.
21
- </p>
16
+ const TextContent = ({ lotsOfContent = false }: { lotsOfContent?: boolean }) => (
17
+ <>
18
+ {[...Array(lotsOfContent ? 10 : 1)].map((_key, index) => (
19
+ // eslint-disable-next-line react/no-array-index-key
20
+ <p key={index}>
21
+ Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a
22
+ galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also
23
+ the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the
24
+ release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software
25
+ like Aldus PageMaker including versions of Lorem Ipsum.
26
+ </p>
27
+ ))}
28
+ </>
22
29
  );
23
30
 
24
31
  interface StoryType extends DialogProps {
@@ -26,18 +33,24 @@ interface StoryType extends DialogProps {
26
33
  }
27
34
 
28
35
  export const WithProps: Story<StoryType> = ({ lotsOfContent, ...props }: StoryType) => {
36
+ const { variant } = props;
29
37
  const { isOpen, onClose, onOpen } = useDisclosure();
30
38
 
31
- return (
32
- <>
33
- <Button onClick={onOpen}>Open Dialog</Button>
34
-
35
- <Dialog {...props} isOpen={isOpen} onClose={onClose}>
39
+ const getContent = () => {
40
+ if (variant === 'empty') {
41
+ return (
42
+ <DialogBody padding="0">
43
+ <TextContent lotsOfContent={lotsOfContent} />
44
+ <Link as="button" colorScheme="purple" onClick={onClose} marginTop="16">
45
+ Link or button or anything to close this Dialog with onClick
46
+ </Link>
47
+ </DialogBody>
48
+ );
49
+ }
50
+ return (
51
+ <>
36
52
  <DialogBody>
37
- {[...Array(lotsOfContent ? 10 : 1)].map((_key, index) => (
38
- // eslint-disable-next-line react/no-array-index-key
39
- <TextContent key={index} />
40
- ))}
53
+ <TextContent lotsOfContent={lotsOfContent} />
41
54
  </DialogBody>
42
55
  <DialogFooter>
43
56
  <Button marginRight="auto" variant="tertiary">
@@ -46,6 +59,15 @@ export const WithProps: Story<StoryType> = ({ lotsOfContent, ...props }: StoryTy
46
59
  <Button variant="secondary">Secondary</Button>
47
60
  <Button>Primary</Button>
48
61
  </DialogFooter>
62
+ </>
63
+ );
64
+ };
65
+
66
+ return (
67
+ <>
68
+ <Button onClick={onOpen}>Open Dialog</Button>
69
+ <Dialog padding={variant === 'empty' ? '16' : '0'} {...props} isOpen={isOpen} onClose={onClose}>
70
+ {getContent()}
49
71
  </Dialog>
50
72
  </>
51
73
  );
@@ -21,6 +21,7 @@ export interface DialogProps extends Omit<HTMLChakraProps<'section'>, 'scrollBeh
21
21
  scrollBehavior?: 'inside' | 'outside';
22
22
  title: string;
23
23
  trapFocus?: boolean;
24
+ variant?: 'default' | 'empty';
24
25
  }
25
26
 
26
27
  const Dialog = ({
@@ -33,6 +34,7 @@ const Dialog = ({
33
34
  size,
34
35
  title,
35
36
  trapFocus,
37
+ variant,
36
38
  ...rest
37
39
  }: DialogProps) => {
38
40
  const dialogSize = useBreakpointValue({ [BREAKPOINTS.MOBILE]: 'mobile', [BREAKPOINTS.DESKTOP]: size });
@@ -51,14 +53,18 @@ const Dialog = ({
51
53
  >
52
54
  <ModalOverlay />
53
55
  <ModalContent data-testid={dataTestid} {...rest}>
54
- <ModalHeader>
55
- <Text as="h1" size="5">
56
- {title}
57
- </Text>
58
- </ModalHeader>
59
- <ModalCloseButton isDisabled={!isClosable}>
60
- <Icon name="CloseSmall" />
61
- </ModalCloseButton>
56
+ {variant !== 'empty' && (
57
+ <>
58
+ <ModalHeader>
59
+ <Text as="h1" size="5">
60
+ {title}
61
+ </Text>
62
+ </ModalHeader>
63
+ <ModalCloseButton isDisabled={!isClosable}>
64
+ <Icon name="CloseSmall" />
65
+ </ModalCloseButton>
66
+ </>
67
+ )}
62
68
  {children}
63
69
  </ModalContent>
64
70
  </Modal>
@@ -70,6 +76,7 @@ Dialog.defaultProps = {
70
76
  scrollBehavior: 'outside',
71
77
  size: 'medium',
72
78
  trapFocus: true,
79
+ variant: 'default',
73
80
  } as DialogProps;
74
81
 
75
82
  export default Dialog;
@@ -10,7 +10,6 @@ export default {
10
10
  description: { type: 'string', defaultValue: 'description' },
11
11
  action: {
12
12
  control: 'inline-radio',
13
- defaultValue: 'unset',
14
13
  options: ['unset', 'link', 'action'],
15
14
  mapping: {
16
15
  unset: undefined,
@@ -38,3 +37,6 @@ export const Default: ComponentStoryFn<typeof Notification> = ({ title, descript
38
37
  <NotificationText>{description}</NotificationText>
39
38
  </Notification>
40
39
  );
40
+ Default.args = {
41
+ action: undefined,
42
+ };
@@ -1,4 +1,4 @@
1
- import { createContext, useContext, useMemo } from 'react';
1
+ import { createContext, ReactNode, useContext, useMemo } from 'react';
2
2
  import {
3
3
  Alert as ChakraAlert,
4
4
  AlertTitle as NotificationTitle,
@@ -9,12 +9,13 @@ import {
9
9
  chakra,
10
10
  } from '@chakra-ui/react';
11
11
 
12
+ import { ColorScheme } from '@/Foundations/Colors/Colors';
12
13
  import Box from '../Box/Box';
13
14
  import CloseButton from '../CloseButton/CloseButton';
14
15
  import ColorButton, { ColorButtonProps } from '../ColorButton/ColorButton';
15
16
  import Icon from '../Icon/Icon';
16
17
 
17
- const STATUSES = {
18
+ const STATUSES: Record<string, { colorScheme: ColorScheme; icon: ReactNode }> = {
18
19
  info: { colorScheme: 'blue', icon: <Icon flexShrink={0} name="Info" /> },
19
20
  error: { colorScheme: 'red', icon: <Icon flexShrink={0} name="ErrorGeneral" /> },
20
21
  success: { colorScheme: 'green', icon: <Icon flexShrink={0} name="Tick" /> },
@@ -39,14 +40,14 @@ export interface NotificationProps extends Omit<AlertProps, 'status' | 'colorSch
39
40
  action?: ActionProps;
40
41
  }
41
42
 
42
- const ActionContext = createContext<{ colorScheme: ColorButtonProps['colorScheme'] }>({ colorScheme: 'blue' });
43
+ const ActionContext = createContext<{ colorScheme: ColorScheme }>({ colorScheme: 'blue' });
43
44
 
44
45
  const NotificationAction = ({ label, href, ...rest }: ActionProps) => {
45
46
  const actionContext = useContext(ActionContext);
46
47
  return (
47
48
  <ColorButton
48
49
  flexGrow={0}
49
- flexShrink={1}
50
+ flexShrink={0}
50
51
  as={(href ? 'a' : 'button') as any}
51
52
  href={href}
52
53
  {...actionContext}
@@ -0,0 +1,35 @@
1
+ import { ComponentMeta, ComponentStoryFn } from '@storybook/react';
2
+ import { action } from '@storybook/addon-actions';
3
+ import Ribbon from './Ribbon';
4
+
5
+ export default {
6
+ title: 'Components/Ribbon',
7
+ component: Ribbon,
8
+ argTypes: {
9
+ children: { type: 'string' },
10
+ action: {
11
+ control: 'inline-radio',
12
+ options: ['unset', 'link', 'action'],
13
+ mapping: {
14
+ unset: undefined,
15
+ link: { label: 'link', href: '#' },
16
+ action: { label: 'action', onClick: action('action') },
17
+ },
18
+ },
19
+ onClose: {
20
+ control: 'inline-radio',
21
+ options: ['unset', 'action'],
22
+ mapping: {
23
+ unset: undefined,
24
+ action: action('onClose'),
25
+ },
26
+ },
27
+ },
28
+ args: {
29
+ children: 'text',
30
+ colorScheme: 'blue',
31
+ action: undefined,
32
+ },
33
+ } as ComponentMeta<typeof Ribbon>;
34
+
35
+ export const Default: ComponentStoryFn<typeof Ribbon> = (args) => <Ribbon {...args} />;
@@ -0,0 +1,77 @@
1
+ import { createContext, useContext, useMemo } from 'react';
2
+ import { Alert as ChakraAlert, AlertProps, forwardRef } from '@chakra-ui/react';
3
+
4
+ import { ColorScheme } from '@/Foundations/Colors/Colors';
5
+ import CloseButton from '../CloseButton/CloseButton';
6
+ import ColorButton, { ColorButtonProps } from '../ColorButton/ColorButton';
7
+ import Icon from '../Icon/Icon';
8
+ import Box from '../Box/Box';
9
+
10
+ export type ActionProps = {
11
+ label: string;
12
+ href?: string;
13
+ onClick?: () => void;
14
+ } & Omit<ColorButtonProps, 'as' | 'onClick' | 'colorScheme'>;
15
+
16
+ export interface RibbonProps extends Omit<AlertProps, 'status' | 'colorScheme' | 'onClose'> {
17
+ colorScheme: ColorScheme;
18
+ onClose?: () => void;
19
+ action?: ActionProps;
20
+ }
21
+
22
+ const ActionContext = createContext<{
23
+ colorScheme: ColorButtonProps['colorScheme'];
24
+ }>({ colorScheme: 'blue' });
25
+
26
+ const RibbonAction = ({ label, href, ...rest }: ActionProps) => {
27
+ const actionContext = useContext(ActionContext);
28
+ return (
29
+ <ColorButton
30
+ flexGrow={0}
31
+ flexShrink={0}
32
+ as={(href ? 'a' : 'button') as any}
33
+ marginY={-4}
34
+ href={href}
35
+ {...actionContext}
36
+ {...rest}
37
+ >
38
+ {label}
39
+ </ColorButton>
40
+ );
41
+ };
42
+
43
+ const Ribbon = forwardRef<RibbonProps, 'div'>((props, ref) => {
44
+ const { action, children, onClose, colorScheme, ...rest } = props;
45
+ const actionContext = useMemo(() => ({ colorScheme }), [colorScheme]);
46
+ let actionButton;
47
+ if (action) {
48
+ actionButton = <RibbonAction {...action} />;
49
+ }
50
+
51
+ return (
52
+ <ChakraAlert
53
+ ref={ref}
54
+ colorScheme={colorScheme}
55
+ justifyContent="center"
56
+ alignItems="center"
57
+ gap={16}
58
+ borderRadius={0}
59
+ borderLeftWidth={0}
60
+ borderRightWidth={0}
61
+ {...rest}
62
+ >
63
+ <ActionContext.Provider value={actionContext}>
64
+ {onClose && <Box width={24} height={24} marginRight="auto" />}
65
+ {children}
66
+ {actionButton}
67
+ {onClose && (
68
+ <CloseButton flexShrink={0} colorScheme={colorScheme} marginStart="auto" onClick={onClose}>
69
+ <Icon name="CloseSmall" />
70
+ </CloseButton>
71
+ )}
72
+ </ActionContext.Provider>
73
+ </ChakraAlert>
74
+ );
75
+ });
76
+
77
+ export default Ribbon;
@@ -126,4 +126,7 @@ const colors = {
126
126
  };
127
127
 
128
128
  export type Colors = typeof colors;
129
+
130
+ export type ColorScheme = 'blue' | 'red' | 'green' | 'yellow' | 'purple';
131
+
129
132
  export default colors;
@@ -1,6 +1,8 @@
1
+ import { ColorScheme } from '../Colors/Colors';
2
+
1
3
  const AlertTheme = {
2
4
  parts: ['container', 'title', 'icon', 'body'],
3
- baseStyle({ colorScheme }: { colorScheme: 'blue' | 'red' | 'green' | 'yellow' | 'purple' }) {
5
+ baseStyle({ colorScheme }: { colorScheme: ColorScheme }) {
4
6
  return {
5
7
  container: {
6
8
  display: 'flex',
@@ -1,14 +1,12 @@
1
1
  import * as React from 'react';
2
- import Placement from '../Placement/Placement';
3
- import PlacementManager from '../Placement/PlacementManager';
4
- import PlacementReference from '../Placement/PlacementReference';
5
2
  import Text from '../../Components/Text/Text';
6
- import DropdownButton, { Props as DropdownButtonProps } from './DropdownButton';
7
- import DropdownMenu from './DropdownMenu';
8
- import DropdownMenuItem from './DropdownMenuItem';
3
+ import Popover from '../../Components/Popover/Popover';
4
+ import PopoverTrigger from '../../Components/Popover/PopoverTrigger';
5
+ import PopoverContent from '../../Components/Popover/PopoverContent';
6
+ import Button, { ButtonProps } from '../../Components/Button/Button';
9
7
  import DropdownMenuItemGroup from './DropdownMenuItemGroup';
10
-
11
- const { useState } = React;
8
+ import DropdownMenuItem from './DropdownMenuItem';
9
+ import DropdownMenu from './DropdownMenu';
12
10
 
13
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
12
  type DropdownValue = any;
@@ -22,7 +20,7 @@ interface OptionGroup {
22
20
  options: DropdownValue[];
23
21
  }
24
22
 
25
- export interface Props extends DropdownButtonProps {
23
+ export interface Props extends ButtonProps {
26
24
  /** Handler for the value that is selected */
27
25
  onChange?: (value: DropdownValue) => void;
28
26
  /** Array of options that can be selected */
@@ -40,56 +38,63 @@ export interface Props extends DropdownButtonProps {
40
38
  */
41
39
  const Dropdown: React.FunctionComponent<Props> = (props: Props) => {
42
40
  const { children, options, onChange, selected, maxHeight, menuClassName, ...rest } = props;
43
- const [visible, setVisible] = useState(false);
44
41
 
45
42
  const handleChange = (value: DropdownValue) => {
46
43
  if (onChange) {
47
44
  onChange(value);
48
45
  }
49
- setVisible(false);
50
46
  };
51
47
 
52
- const renderOption = ({ text, value }: Option) => (
53
- <DropdownMenuItem onClick={() => handleChange(value)} selected={selected === value} width="100%">
48
+ const renderOption = ({ text, value }: Option, onClose: () => void) => (
49
+ <DropdownMenuItem
50
+ onClick={() => {
51
+ handleChange(value);
52
+ onClose();
53
+ }}
54
+ selected={selected === value}
55
+ width="100%"
56
+ >
54
57
  {text}
55
58
  </DropdownMenuItem>
56
59
  );
57
60
 
58
61
  return (
59
- <PlacementManager>
60
- <PlacementReference>
61
- {() => (
62
- <DropdownButton
63
- {...rest}
64
- onClick={() => {
65
- setVisible(!visible);
66
- }}
67
- >
68
- <Text hasEllipsis>{children}</Text>
69
- </DropdownButton>
70
- )}
71
- </PlacementReference>
72
-
73
- <Placement onClose={() => setVisible(false)} sameWidth visible={visible}>
74
- {() => (
75
- <DropdownMenu className={menuClassName} maxHeight={maxHeight} width="100%">
76
- {options.map((option) => (
77
- <React.Fragment key={option.text}>
78
- {'options' in option ? (
79
- <DropdownMenuItemGroup text={option.text}>
80
- {option.options.map((groupOption) => (
81
- <React.Fragment key={groupOption.value}>{renderOption(groupOption)}</React.Fragment>
82
- ))}
83
- </DropdownMenuItemGroup>
84
- ) : (
85
- renderOption(option)
86
- )}
87
- </React.Fragment>
88
- ))}
89
- </DropdownMenu>
90
- )}
91
- </Placement>
92
- </PlacementManager>
62
+ <Popover matchWidth>
63
+ {({ onClose }) => (
64
+ <>
65
+ <PopoverTrigger>
66
+ <Button
67
+ width="100%"
68
+ variant="secondary"
69
+ rightIconName="ChevronDown"
70
+ justifyContent="space-between"
71
+ {...rest}
72
+ >
73
+ <Text as="span" hasEllipsis>
74
+ {children}
75
+ </Text>
76
+ </Button>
77
+ </PopoverTrigger>
78
+ <PopoverContent>
79
+ <DropdownMenu className={menuClassName} maxHeight={maxHeight} width="100%">
80
+ {options.map((option) => (
81
+ <React.Fragment key={option.text}>
82
+ {'options' in option ? (
83
+ <DropdownMenuItemGroup text={option.text}>
84
+ {option.options.map((groupOption) => (
85
+ <React.Fragment key={groupOption.value}>{renderOption(groupOption, onClose)}</React.Fragment>
86
+ ))}
87
+ </DropdownMenuItemGroup>
88
+ ) : (
89
+ renderOption(option, onClose)
90
+ )}
91
+ </React.Fragment>
92
+ ))}
93
+ </DropdownMenu>
94
+ </PopoverContent>
95
+ </>
96
+ )}
97
+ </Popover>
93
98
  );
94
99
  };
95
100
 
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { useMediaQuery } from '../hooks';
3
3
  import Flex, { Props as FlexProps } from '../Flex/Flex';
4
- import Image from '../Image/Image';
4
+ import Image from '../../Components/Image/Image';
5
5
  import Text from '../../Components/Text/Text';
6
6
 
7
7
  export type Props = FlexProps;
@@ -32,7 +32,7 @@ const Status500: React.FunctionComponent<Props> = (props: Props) => {
32
32
  Everything is under control, we will be back soon. Until then keep refreshing your browser.
33
33
  </Text>
34
34
 
35
- <Image margin="x16" src="https://bitrise-bitkit.s3.us-east-2.amazonaws.com/assets/Status500.svg" />
35
+ <Image marginY="64" src="https://bitrise-bitkit.s3.us-east-2.amazonaws.com/assets/Status500.svg" />
36
36
  </Flex>
37
37
  );
38
38
  };
package/src/index.ts CHANGED
@@ -136,4 +136,7 @@ export { default as Breadcrumb } from './Components/Breadcrumb/Breadcrumb';
136
136
  export type { BreadcrumbLinkProps } from './Components/Breadcrumb/BreadcrumbLink';
137
137
  export { default as BreadcrumbLink } from './Components/Breadcrumb/BreadcrumbLink';
138
138
 
139
+ export type { RibbonProps } from './Components/Ribbon/Ribbon';
140
+ export { default as Ribbon } from './Components/Ribbon/Ribbon';
141
+
139
142
  export { BREAKPOINTS } from './Foundations/Breakpoints/Breakpoints';
package/src/old.ts CHANGED
@@ -18,12 +18,6 @@ export { default as DatePicker } from './Old/DatePicker/DatePicker';
18
18
  export type { Props as DropdownProps } from './Old/Dropdown/Dropdown';
19
19
  export { default as Dropdown } from './Old/Dropdown/Dropdown';
20
20
 
21
- export type { Props as DropdownButtonProps } from './Old/Dropdown/DropdownButton';
22
- export { default as DropdownButton } from './Old/Dropdown/DropdownButton';
23
-
24
- export type { Props as DropdownMenusProps } from './Old/Dropdown/DropdownMenus';
25
- export { default as DropdownMenus } from './Old/Dropdown/DropdownMenus';
26
-
27
21
  export type { Props as DropdownMenuProps } from './Old/Dropdown/DropdownMenu';
28
22
  export { default as DropdownMenu } from './Old/Dropdown/DropdownMenu';
29
23
 
@@ -63,24 +57,6 @@ export { default as Logo } from './Old/Logo/Logo';
63
57
  export type { Props as NotificationProps } from './Old/Notification/Notification';
64
58
  export { default as Notification } from './Old/Notification/Notification';
65
59
 
66
- export type { Props as PlacementProps } from './Old/Placement/Placement';
67
- export { default as Placement } from './Old/Placement/Placement';
68
-
69
- export type { Props as PlacementAreaProps } from './Old/Placement/PlacementArea';
70
- export { default as PlacementArea } from './Old/Placement/PlacementArea';
71
-
72
- export type { Props as PlacementArrowProps } from './Old/Placement/PlacementArrow';
73
- export { default as PlacementArrow } from './Old/Placement/PlacementArrow';
74
-
75
- export type { Props as PlacementManagerProps } from './Old/Placement/PlacementManager';
76
- export { default as PlacementManager } from './Old/Placement/PlacementManager';
77
-
78
- export type { Props as PlacementReferenceProps } from './Old/Placement/PlacementReference';
79
- export { default as PlacementReference } from './Old/Placement/PlacementReference';
80
-
81
- export type { Props as PortalProps } from './Old/Portal/Portal';
82
- export { default as Portal } from './Old/Portal/Portal';
83
-
84
60
  export type { Props as ProgressBarProps } from './Old/Progress/ProgressBar';
85
61
  export { default as ProgressBar } from './Old/Progress/ProgressBar';
86
62
 
@@ -90,21 +66,12 @@ export { default as ProgressBitbot } from './Old/Progress/ProgressBitbot';
90
66
  export type { Props as ProgressSpinnerProps } from './Old/Progress/ProgressSpinner';
91
67
  export { default as ProgressSpinner } from './Old/Progress/ProgressSpinner';
92
68
 
93
- export type { Props as RadioButtonProps } from './Old/RadioButton/RadioButton';
94
- export { default as RadioButton } from './Old/RadioButton/RadioButton';
95
-
96
- export type { Props as RibbonProps } from './Old/Ribbon/Ribbon';
97
- export { default as Ribbon } from './Old/Ribbon/Ribbon';
98
-
99
69
  export type { Props as SkeletonProps } from './Old/Skeleton/Skeleton';
100
70
  export { default as Skeleton } from './Old/Skeleton/Skeleton';
101
71
 
102
72
  export type { Props as SkeletonBoxProps } from './Old/Skeleton/SkeletonBox';
103
73
  export { default as SkeletonBox } from './Old/Skeleton/SkeletonBox';
104
74
 
105
- export type { Props as Status404Props } from './Old/Status/Status404';
106
- export { default as Status404 } from './Old/Status/Status404';
107
-
108
75
  export type { Props as Status500Props } from './Old/Status/Status500';
109
76
  export { default as Status500 } from './Old/Status/Status500';
110
77
 
package/src/theme.ts CHANGED
@@ -15,7 +15,7 @@ import Radio from './Components/Form/Radio/Radio.theme';
15
15
  import Select from './Components/Select/Select.theme';
16
16
  import Tabs from './Components/Tabs/Tabs.theme';
17
17
  import Text from './Components/Text/Text.theme';
18
- import Notification from './Components/Notification/Notification.theme';
18
+ import Alert from './Foundations/Themes/Alert.theme';
19
19
  import Tooltip from './Components/Tooltip/Tooltip.theme';
20
20
  import CloseButton from './Components/CloseButton/CloseButton.theme';
21
21
  import Popover from './Components/Popover/Popover.theme';
@@ -82,7 +82,7 @@ const theme = {
82
82
  Tabs,
83
83
  Text,
84
84
  Tooltip,
85
- Alert: Notification,
85
+ Alert,
86
86
  CloseButton,
87
87
  Popover,
88
88
  },