@scottish-government/designsystem-react 1.0.1 → 1.1.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 (83) hide show
  1. package/.storybook/sgdsArgTypes.ts +19 -3
  2. package/CHANGELOG.md +19 -0
  3. package/dist/common/AbstractNotificationMessage/AbstractNotificationMessage.d.ts +6 -0
  4. package/dist/common/AbstractNotificationMessage/AbstractNotificationMessage.jsx +34 -0
  5. package/dist/common/AbstractNotificationMessage/index.d.ts +1 -0
  6. package/dist/common/AbstractNotificationMessage/index.js +8 -0
  7. package/dist/common/AbstractNotificationMessage/types.d.ts +9 -0
  8. package/dist/common/AbstractNotificationMessage/types.js +2 -0
  9. package/dist/common/WrapperTag/WrapperTag.d.ts +11 -11
  10. package/dist/components/ConfirmationMessage/ConfirmationMessage.d.ts +18 -2
  11. package/dist/components/ConfirmationMessage/ConfirmationMessage.jsx +21 -17
  12. package/dist/components/ConfirmationNotification/ConfirmationNotification.d.ts +6 -0
  13. package/dist/components/ConfirmationNotification/ConfirmationNotification.jsx +26 -0
  14. package/dist/components/ConfirmationNotification/index.d.ts +1 -0
  15. package/dist/components/ConfirmationNotification/index.js +8 -0
  16. package/dist/components/ErrorNotification/ErrorNotification.d.ts +6 -0
  17. package/dist/components/ErrorNotification/ErrorNotification.jsx +26 -0
  18. package/dist/components/ErrorNotification/index.d.ts +1 -0
  19. package/dist/components/ErrorNotification/index.js +8 -0
  20. package/dist/components/FileUpload/FileUpload.d.ts +6 -0
  21. package/dist/components/FileUpload/FileUpload.jsx +55 -0
  22. package/dist/components/FileUpload/index.d.ts +1 -0
  23. package/dist/components/FileUpload/index.js +8 -0
  24. package/dist/components/FileUpload/types.d.ts +24 -0
  25. package/dist/components/FileUpload/types.js +2 -0
  26. package/dist/components/InfoNotification/InfoNotification.d.ts +6 -0
  27. package/dist/components/InfoNotification/InfoNotification.jsx +26 -0
  28. package/dist/components/InfoNotification/index.d.ts +1 -0
  29. package/dist/components/InfoNotification/index.js +8 -0
  30. package/dist/components/NotificationBanner/NotificationBanner.jsx +1 -1
  31. package/dist/components/WarningNotification/WarningNotification.d.ts +6 -0
  32. package/dist/components/WarningNotification/WarningNotification.jsx +26 -0
  33. package/dist/components/WarningNotification/index.d.ts +1 -0
  34. package/dist/components/WarningNotification/index.js +8 -0
  35. package/dist/components/WarningText/WarningText.jsx +4 -1
  36. package/dist/images/icons/index.d.ts +2 -0
  37. package/dist/images/icons/index.js +5 -1
  38. package/dist/images/icons/info.d.ts +4 -0
  39. package/dist/images/icons/info.jsx +40 -0
  40. package/dist/images/icons/warning.d.ts +4 -0
  41. package/dist/images/icons/warning.jsx +40 -0
  42. package/dist/shared-types.d.ts +1 -1
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +22 -16
  45. package/src/common/AbstractNotificationMessage/AbstractNotificationMessage.test.tsx +101 -0
  46. package/src/common/AbstractNotificationMessage/AbstractNotificationMessage.tsx +56 -0
  47. package/src/common/AbstractNotificationMessage/index.ts +1 -0
  48. package/src/common/AbstractNotificationMessage/types.ts +10 -0
  49. package/src/components/Button/Button.stories.tsx +1 -1
  50. package/src/components/ConfirmationMessage/ConfirmationMessage.stories.tsx +11 -3
  51. package/src/components/ConfirmationMessage/ConfirmationMessage.test.tsx +58 -23
  52. package/src/components/ConfirmationMessage/ConfirmationMessage.tsx +32 -25
  53. package/src/components/ConfirmationMessage/confirmationmessage.mdx +17 -0
  54. package/src/components/ConfirmationNotification/ConfirmationNotification.stories.tsx +47 -0
  55. package/src/components/ConfirmationNotification/ConfirmationNotification.test.tsx +101 -0
  56. package/src/components/ConfirmationNotification/ConfirmationNotification.tsx +46 -0
  57. package/src/components/ConfirmationNotification/index.ts +1 -0
  58. package/src/components/ErrorNotification/ErrorNotification.stories.tsx +47 -0
  59. package/src/components/ErrorNotification/ErrorNotification.test.tsx +101 -0
  60. package/src/components/ErrorNotification/ErrorNotification.tsx +46 -0
  61. package/src/components/ErrorNotification/index.ts +1 -0
  62. package/src/components/FileDownload/FileDownload.test.tsx +1 -1
  63. package/src/components/FileUpload/FileUpload.stories.tsx +77 -0
  64. package/src/components/FileUpload/FileUpload.test.tsx +185 -0
  65. package/src/components/FileUpload/FileUpload.tsx +87 -0
  66. package/src/components/FileUpload/index.ts +1 -0
  67. package/src/components/FileUpload/types.ts +25 -0
  68. package/src/components/InfoNotification/InfoNotification.stories.tsx +47 -0
  69. package/src/components/InfoNotification/InfoNotification.test.tsx +101 -0
  70. package/src/components/InfoNotification/InfoNotification.tsx +46 -0
  71. package/src/components/InfoNotification/index.ts +1 -0
  72. package/src/components/NotificationBanner/NotificationBanner.tsx +1 -1
  73. package/src/components/TextInput/TextInput.stories.tsx +1 -1
  74. package/src/components/WarningNotification/WarningNotification.stories.tsx +47 -0
  75. package/src/components/WarningNotification/WarningNotification.test.tsx +101 -0
  76. package/src/components/WarningNotification/WarningNotification.tsx +46 -0
  77. package/src/components/WarningNotification/index.ts +1 -0
  78. package/src/components/WarningText/WarningText.tsx +4 -1
  79. package/src/images/icons/index.ts +2 -0
  80. package/src/images/icons/info.tsx +14 -0
  81. package/src/images/icons/warning.tsx +14 -0
  82. package/src/shared-types.ts +1 -1
  83. package/src/components/ConfirmationMessage/types.ts +0 -7
@@ -0,0 +1,101 @@
1
+ import { test, expect } from 'vitest';
2
+ import { render, screen, within } from '@testing-library/react';
3
+ import InfoNotification from './InfoNotification';
4
+
5
+ const NOTIFICATION_TEXT = 'Further details of the notification message';
6
+ const TITLE_TEXT = 'Important information';
7
+
8
+ test('info notification message renders correctly', () => {
9
+ render(
10
+ <InfoNotification title={TITLE_TEXT}>
11
+ {NOTIFICATION_TEXT}
12
+ </InfoNotification>
13
+ );
14
+
15
+ const container = document.querySelector('.ds_notification-message');
16
+ const heading = screen.getByRole('heading');
17
+ const content = heading.nextElementSibling;
18
+
19
+ expect(container?.ariaLive).toEqual('polite');
20
+
21
+ expect(heading.tagName).toEqual('H3');
22
+ expect(heading.textContent).toEqual(TITLE_TEXT)
23
+ expect(content?.textContent).toEqual(NOTIFICATION_TEXT)
24
+ });
25
+
26
+ test('info notification message with close button', () => {
27
+ render(
28
+ <InfoNotification isDismissable>
29
+ {NOTIFICATION_TEXT}
30
+ </InfoNotification>
31
+ );
32
+
33
+ const closeButton = screen.getByRole('button');
34
+ const closeButtonLabel = within(closeButton).getByText('Close this notification');
35
+ const closeButtonIcon = within(closeButton).getByRole('img', { hidden: true });
36
+
37
+ expect(closeButton).toHaveClass('ds_notification-message__close', 'js-close-notification-message');
38
+ expect(closeButton).toHaveAttribute('type', 'button');
39
+
40
+ expect(closeButtonLabel).toBeInTheDocument();
41
+ expect(closeButtonLabel).toHaveClass('visually-hidden');
42
+
43
+ expect(closeButtonIcon).toHaveClass('ds_icon', 'ds_icon--fill');
44
+ });
45
+
46
+ test('info notification message with icon', () => {
47
+ render(
48
+ <InfoNotification icon="Search">
49
+ {NOTIFICATION_TEXT}
50
+ </InfoNotification>
51
+ );
52
+
53
+
54
+ const notificationIcon = screen.getByRole('img', { hidden: true });
55
+
56
+ expect(notificationIcon).toHaveClass('ds_icon', 'ds_notification-message__icon', 'ds_icon--24');
57
+ expect(notificationIcon).toHaveAttribute('aria-hidden');
58
+ });
59
+
60
+ test("does not render body when no children specified", () => {
61
+ const { container } = render(<InfoNotification title={TITLE_TEXT} />);
62
+
63
+ expect(
64
+ container.querySelector(".ds_notification-message__body"),
65
+ ).not.toBeInTheDocument();
66
+ });
67
+
68
+ test('info notification message with custom aria live and custom header level', () => {
69
+ render(
70
+ <InfoNotification headingLevel="h2" ariaLive="assertive" title={TITLE_TEXT}/>
71
+ );
72
+
73
+ const container = document.querySelector('.ds_notification-message');
74
+ const heading = screen.getByRole('heading');
75
+
76
+ expect(container?.ariaLive).toEqual('assertive');
77
+
78
+ expect(heading.tagName).toEqual('H2');
79
+ });
80
+
81
+ test('passing additional props', () => {
82
+ render(
83
+ <InfoNotification data-test="foo">
84
+ {NOTIFICATION_TEXT}
85
+ </InfoNotification>
86
+ )
87
+
88
+ const container = document.querySelector('.ds_notification-message') as HTMLElement;
89
+ expect(container?.dataset.test).toEqual('foo');
90
+ });
91
+
92
+ test('passing additional CSS classes', () => {
93
+ render(
94
+ <InfoNotification className="foo">
95
+ {NOTIFICATION_TEXT}
96
+ </InfoNotification>
97
+ )
98
+
99
+ const container = document.querySelector('.ds_notification-message') as HTMLElement;
100
+ expect(container).toHaveClass('foo', 'ds_notification-message');
101
+ });
@@ -0,0 +1,46 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import AbstractNotificationMessage from '../../common/AbstractNotificationMessage';
3
+ import DSNotificationMessage from '@scottish-government/design-system/src/components/notification-message/notification-message';
4
+ import { AbstractNotificationMessageProps } from '../../common/AbstractNotificationMessage/types';
5
+ import clsx from 'clsx';
6
+
7
+ const InfoNotification = ({
8
+ ariaLive,
9
+ children,
10
+ className,
11
+ headingLevel = 'h3',
12
+ isDismissable,
13
+ title,
14
+ ...props
15
+ }: AbstractNotificationMessageProps) => {
16
+ const ref = useRef(null);
17
+
18
+ useEffect(() => {
19
+ /* istanbul ignore else */
20
+ if (ref.current) {
21
+ new DSNotificationMessage(ref.current).init();
22
+ }
23
+ }, [ref]);
24
+
25
+ return (
26
+ <AbstractNotificationMessage
27
+ ariaLive={ariaLive}
28
+ className={clsx([
29
+ 'ds_notification-message--info',
30
+ className
31
+ ])}
32
+ headingLevel={headingLevel}
33
+ icon="Info"
34
+ isDismissable={isDismissable}
35
+ ref={ref}
36
+ title={title}
37
+ {...props}
38
+ >
39
+ {children}
40
+ </AbstractNotificationMessage>
41
+ );
42
+ };
43
+
44
+ InfoNotification.displayName = 'InfoNotification';
45
+
46
+ export default InfoNotification;
@@ -0,0 +1 @@
1
+ export { default } from './InfoNotification';
@@ -30,7 +30,7 @@ const NotificationBanner = ({
30
30
  className
31
31
  ])}
32
32
  isDismissable={isDismissable}
33
- icon={hasIcon ? "PriorityHigh" : undefined}
33
+ icon={hasIcon ? "Warning" : undefined}
34
34
  hasColourIcon={hasColourIcon}
35
35
  hasInverseIcon={hasInverseIcon}
36
36
  ref={ref}
@@ -10,7 +10,7 @@ const meta = {
10
10
  buttonIcon: {
11
11
  control: { type: 'select' },
12
12
  description: 'Name of the icon to use',
13
- options: ['ArrowUpward', 'CalendarToday', 'Cancel', 'CheckCircle', 'ChevronLeft', 'ChevronRight', 'Close', 'Description', 'DoubleChevronLeft', 'DoubleChevronRight', 'Error', 'ExpandLess', 'ExpandMore', 'List', 'Menu', 'PriorityHigh', 'Search'],
13
+ options: ['ArrowUpward', 'CalendarToday', 'Cancel', 'CheckCircle', 'ChevronLeft', 'ChevronRight', 'Close', 'Description', 'DoubleChevronLeft', 'DoubleChevronRight', 'Error', 'ExpandLess', 'ExpandMore', 'Info', 'List', 'Menu', 'PriorityHigh', 'Search', 'Warning'],
14
14
  type: 'string'
15
15
  },
16
16
  buttonText: {
@@ -0,0 +1,47 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import argTypes from '../../../.storybook/sgdsArgTypes';
3
+
4
+ import WarningNotification from './WarningNotification';
5
+
6
+ const meta = {
7
+ title: 'Components/NotificationMessage/WarningNotification',
8
+ component: WarningNotification,
9
+ argTypes: {
10
+ ariaLive: argTypes.ariaLive(),
11
+ children: argTypes.children(),
12
+ headingLevel: argTypes.headingLevel(),
13
+ icon: { table: { disable: true } },
14
+ isDismissable: argTypes.boolean()
15
+ },
16
+ args: {
17
+ ariaLive: 'polite',
18
+ children: (<p>You have added the landlord <strong>John Smith</strong> to the application.</p>),
19
+ headingLevel: 'h3',
20
+ isDismissable: false,
21
+ title: 'Landlord added successfully',
22
+ }
23
+ } satisfies Meta<typeof WarningNotification>;
24
+
25
+ export default meta;
26
+ type Story = StoryObj<typeof meta>;
27
+
28
+ export const Default: Story = {
29
+ };
30
+
31
+ export const NoChildren: Story = {
32
+ args: {
33
+ children: undefined
34
+ }
35
+ };
36
+
37
+ export const DifferentHeadingLevel: Story = {
38
+ args: {
39
+ headingLevel: 'h2'
40
+ }
41
+ };
42
+
43
+ export const Dismissable: Story = {
44
+ args: {
45
+ isDismissable: true
46
+ }
47
+ };
@@ -0,0 +1,101 @@
1
+ import { test, expect } from 'vitest';
2
+ import { render, screen, within } from '@testing-library/react';
3
+ import WarningNotification from './WarningNotification';
4
+
5
+ const NOTIFICATION_TEXT = 'Further details of the notification message';
6
+ const TITLE_TEXT = 'Important information';
7
+
8
+ test('warning notification message renders correctly', () => {
9
+ render(
10
+ <WarningNotification title={TITLE_TEXT}>
11
+ {NOTIFICATION_TEXT}
12
+ </WarningNotification>
13
+ );
14
+
15
+ const container = document.querySelector('.ds_notification-message');
16
+ const heading = screen.getByRole('heading');
17
+ const content = heading.nextElementSibling;
18
+
19
+ expect(container?.ariaLive).toEqual('polite');
20
+
21
+ expect(heading.tagName).toEqual('H3');
22
+ expect(heading.textContent).toEqual(TITLE_TEXT)
23
+ expect(content?.textContent).toEqual(NOTIFICATION_TEXT)
24
+ });
25
+
26
+ test('warning notification message with close button', () => {
27
+ render(
28
+ <WarningNotification isDismissable>
29
+ {NOTIFICATION_TEXT}
30
+ </WarningNotification>
31
+ );
32
+
33
+ const closeButton = screen.getByRole('button');
34
+ const closeButtonLabel = within(closeButton).getByText('Close this notification');
35
+ const closeButtonIcon = within(closeButton).getByRole('img', { hidden: true });
36
+
37
+ expect(closeButton).toHaveClass('ds_notification-message__close', 'js-close-notification-message');
38
+ expect(closeButton).toHaveAttribute('type', 'button');
39
+
40
+ expect(closeButtonLabel).toBeInTheDocument();
41
+ expect(closeButtonLabel).toHaveClass('visually-hidden');
42
+
43
+ expect(closeButtonIcon).toHaveClass('ds_icon', 'ds_icon--fill');
44
+ });
45
+
46
+ test('warning notification message with icon', () => {
47
+ render(
48
+ <WarningNotification icon="Search">
49
+ {NOTIFICATION_TEXT}
50
+ </WarningNotification>
51
+ );
52
+
53
+
54
+ const notificationIcon = screen.getByRole('img', { hidden: true });
55
+
56
+ expect(notificationIcon).toHaveClass('ds_icon', 'ds_notification-message__icon', 'ds_icon--24');
57
+ expect(notificationIcon).toHaveAttribute('aria-hidden');
58
+ });
59
+
60
+ test("does not render body when no children specified", () => {
61
+ const { container } = render(<WarningNotification title={TITLE_TEXT} />);
62
+
63
+ expect(
64
+ container.querySelector(".ds_notification-message__body"),
65
+ ).not.toBeInTheDocument();
66
+ });
67
+
68
+ test('warning notification message with custom aria live and custom header level', () => {
69
+ render(
70
+ <WarningNotification headingLevel="h2" ariaLive="assertive" title={TITLE_TEXT}/>
71
+ );
72
+
73
+ const container = document.querySelector('.ds_notification-message');
74
+ const heading = screen.getByRole('heading');
75
+
76
+ expect(container?.ariaLive).toEqual('assertive');
77
+
78
+ expect(heading.tagName).toEqual('H2');
79
+ });
80
+
81
+ test('passing additional props', () => {
82
+ render(
83
+ <WarningNotification data-test="foo">
84
+ {NOTIFICATION_TEXT}
85
+ </WarningNotification>
86
+ )
87
+
88
+ const container = document.querySelector('.ds_notification-message') as HTMLElement;
89
+ expect(container?.dataset.test).toEqual('foo');
90
+ });
91
+
92
+ test('passing additional CSS classes', () => {
93
+ render(
94
+ <WarningNotification className="foo">
95
+ {NOTIFICATION_TEXT}
96
+ </WarningNotification>
97
+ )
98
+
99
+ const container = document.querySelector('.ds_notification-message') as HTMLElement;
100
+ expect(container).toHaveClass('foo', 'ds_notification-message');
101
+ });
@@ -0,0 +1,46 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import AbstractNotificationMessage from '../../common/AbstractNotificationMessage';
3
+ import DSNotificationMessage from '@scottish-government/design-system/src/components/notification-message/notification-message';
4
+ import { AbstractNotificationMessageProps } from '../../common/AbstractNotificationMessage/types';
5
+ import clsx from 'clsx';
6
+
7
+ const WarningNotification = ({
8
+ ariaLive,
9
+ children,
10
+ className,
11
+ headingLevel = 'h3',
12
+ isDismissable,
13
+ title,
14
+ ...props
15
+ }: AbstractNotificationMessageProps) => {
16
+ const ref = useRef(null);
17
+
18
+ useEffect(() => {
19
+ /* istanbul ignore else */
20
+ if (ref.current) {
21
+ new DSNotificationMessage(ref.current).init();
22
+ }
23
+ }, [ref]);
24
+
25
+ return (
26
+ <AbstractNotificationMessage
27
+ ariaLive={ariaLive}
28
+ className={clsx([
29
+ 'ds_notification-message--warning',
30
+ className
31
+ ])}
32
+ headingLevel={headingLevel}
33
+ icon="Warning"
34
+ isDismissable={isDismissable}
35
+ ref={ref}
36
+ title={title}
37
+ {...props}
38
+ >
39
+ {children}
40
+ </AbstractNotificationMessage>
41
+ );
42
+ };
43
+
44
+ WarningNotification.displayName = 'WarningNotification';
45
+
46
+ export default WarningNotification;
@@ -0,0 +1 @@
1
+ export { default } from './WarningNotification';
@@ -1,4 +1,5 @@
1
1
  import clsx from 'clsx';
2
+ import { Icon } from '../../common';
2
3
 
3
4
  const WarningText = ({
4
5
  children,
@@ -13,7 +14,9 @@ const WarningText = ({
13
14
  ])}
14
15
  {...props}
15
16
  >
16
- <strong className="ds_warning-text__icon" aria-hidden="true"></strong>
17
+ <strong className="ds_warning-text__icon" aria-hidden="true">
18
+ <Icon isFilled icon='Warning' />
19
+ </strong>
17
20
  <strong className="visually-hidden">Warning</strong>
18
21
  <div className="ds_warning-text__text">
19
22
  {children}
@@ -11,7 +11,9 @@ export { default as DoubleChevronRight } from "./double_chevron_right";
11
11
  export { default as Error } from "./error";
12
12
  export { default as ExpandLess } from "./expand_less";
13
13
  export { default as ExpandMore } from "./expand_more";
14
+ export { default as Info } from "./info";
14
15
  export { default as List } from "./list";
15
16
  export { default as Menu } from "./menu";
16
17
  export { default as PriorityHigh } from "./priority_high";
17
18
  export { default as Search } from "./search";
19
+ export { default as Warning } from "./warning";
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import type { SVGProps } from "react";
3
+ const SvgInfo = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ viewBox="0 -960 960 960"
7
+ fill="#000000"
8
+ role="img"
9
+ {...props}
10
+ >
11
+ <path d="M440-280h80v-240h-80v240Zm68.5-331.5Q520-623 520-640t-11.5-28.5Q497-680 480-680t-28.5 11.5Q440-657 440-640t11.5 28.5Q463-600 480-600t28.5-11.5ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" />
12
+ </svg>
13
+ );
14
+ export default SvgInfo;
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import type { SVGProps } from "react";
3
+ const SvgWarning = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ viewBox="0 -960 960 960"
7
+ fill="#000000"
8
+ role="img"
9
+ {...props}
10
+ >
11
+ <path d="m40-120 440-760 440 760H40Zm468.5-131.5Q520-263 520-280t-11.5-28.5Q497-320 480-320t-28.5 11.5Q440-297 440-280t11.5 28.5Q463-240 480-240t28.5-11.5ZM440-360h80v-200h-80v200Z" />
12
+ </svg>
13
+ );
14
+ export default SvgWarning;
@@ -1,5 +1,5 @@
1
1
  export type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
2
- export type IconName = 'ArrowUpward' | 'CalendarToday' | 'Cancel' | 'CheckCircle' | 'ChevronLeft' | 'ChevronRight' | 'Close' | 'Description' | 'DoubleChevronLeft' | 'DoubleChevronRight' | 'Error' | 'ExpandLess' | 'ExpandMore' | 'List' | 'Menu' | 'PriorityHigh' | 'Search';
2
+ export type IconName = 'ArrowUpward' | 'CalendarToday' | 'Cancel' | 'CheckCircle' | 'ChevronLeft' | 'ChevronRight' | 'Close' | 'Description' | 'DoubleChevronLeft' | 'DoubleChevronRight' | 'Error' | 'ExpandLess' | 'ExpandMore' | 'Info' | 'List' | 'Menu' | 'PriorityHigh' | 'Search' | 'Warning';
3
3
  export type DocumentIconName = 'Audio' | 'Csv' | 'Excel' | 'File' | 'Generic' | 'Geodata' | 'Ical' | 'Ico' | 'Image' | 'Odf' | 'Odg' | 'Odp' | 'Ods' | 'Odt' | 'Pdf' | 'Ppt' | 'Rtf' | 'Text' | 'Video' | 'Word' | 'Xml' | 'Zip';
4
4
  export type InputWidth = 'fixed-20' | 'fixed-10' | 'fixed-5' | 'fixed-4' | 'fixed-3' | 'fixed-2' | 'fluid-three-quarters' | 'fluid-two-thirds' | 'fluid-half' | 'fluid-one-third' | 'fluid-one-quarter';
5
5
  export type TagColour = 'grey' | 'green' | 'teal' | 'blue' | 'purple' | 'pink' | 'red' | 'orange' | 'yellow';
@@ -1,7 +0,0 @@
1
- import { HeadingLevel } from '../../shared-types';
2
-
3
- export interface ConfirmationMessageProps extends React.AllHTMLAttributes<HTMLElement> {
4
- ariaLive: React.AriaAttributes['aria-live'];
5
- headingLevel: HeadingLevel;
6
- title: string;
7
- }