@patternfly/react-core 4.198.16 → 4.198.17

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 (64) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.d.ts +10 -2
  3. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.d.ts.map +1 -1
  4. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.js +9 -2
  5. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.js.map +1 -1
  6. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts +1 -1
  7. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  8. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js +21 -2
  9. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  10. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  11. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitle.d.ts +6 -2
  12. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitle.d.ts.map +1 -1
  13. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitle.js +9 -2
  14. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitle.js.map +1 -1
  15. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitleIcon.d.ts +2 -0
  16. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitleIcon.d.ts.map +1 -1
  17. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitleIcon.js +2 -4
  18. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadTitleIcon.js.map +1 -1
  19. package/dist/esm/components/MultipleFileUpload/index.d.ts +0 -6
  20. package/dist/esm/components/MultipleFileUpload/index.d.ts.map +1 -1
  21. package/dist/esm/components/MultipleFileUpload/index.js +0 -6
  22. package/dist/esm/components/MultipleFileUpload/index.js.map +1 -1
  23. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.d.ts +10 -2
  24. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.d.ts.map +1 -1
  25. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.js +9 -2
  26. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.js.map +1 -1
  27. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts +1 -1
  28. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  29. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js +21 -2
  30. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  31. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  32. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitle.d.ts +6 -2
  33. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitle.d.ts.map +1 -1
  34. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitle.js +9 -2
  35. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitle.js.map +1 -1
  36. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitleIcon.d.ts +2 -0
  37. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitleIcon.d.ts.map +1 -1
  38. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitleIcon.js +2 -4
  39. package/dist/js/components/MultipleFileUpload/MultipleFileUploadTitleIcon.js.map +1 -1
  40. package/dist/js/components/MultipleFileUpload/index.d.ts +0 -6
  41. package/dist/js/components/MultipleFileUpload/index.d.ts.map +1 -1
  42. package/dist/js/components/MultipleFileUpload/index.js +0 -6
  43. package/dist/js/components/MultipleFileUpload/index.js.map +1 -1
  44. package/dist/umd/react-core.css +10 -10
  45. package/dist/umd/react-core.js +59 -42
  46. package/dist/umd/react-core.min.css +82 -82
  47. package/dist/umd/react-core.min.js +4 -4
  48. package/package.json +5 -5
  49. package/src/components/MultipleFileUpload/MultipleFileUploadMain.tsx +29 -8
  50. package/src/components/MultipleFileUpload/MultipleFileUploadStatus.tsx +24 -4
  51. package/src/components/MultipleFileUpload/MultipleFileUploadStatusItem.tsx +1 -1
  52. package/src/components/MultipleFileUpload/MultipleFileUploadTitle.tsx +19 -5
  53. package/src/components/MultipleFileUpload/MultipleFileUploadTitleIcon.tsx +4 -3
  54. package/src/components/MultipleFileUpload/__tests__/MultipleFileUploadMain.test.tsx +19 -2
  55. package/src/components/MultipleFileUpload/__tests__/MultipleFileUploadTitle.test.tsx +17 -2
  56. package/src/components/MultipleFileUpload/__tests__/MultipleFileUploadTitleIcon.test.tsx +1 -1
  57. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadMain.test.tsx.snap +198 -2
  58. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadTitle.test.tsx.snap +62 -4
  59. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadTitleIcon.test.tsx.snap +2 -50
  60. package/src/components/MultipleFileUpload/examples/MultipleFileUpload.md +7 -60
  61. package/src/components/MultipleFileUpload/examples/MultipleFileUploadBasic.tsx +48 -74
  62. package/src/components/MultipleFileUpload/index.ts +0 -6
  63. package/src/demos/MultipleFileUploadDemos.md +16 -0
  64. package/src/{components/MultipleFileUpload/examples/MultipleFileUploadHorizontal.tsx → demos/examples/MultipleFileUpload/MultipleFileUploadRejectedFile.tsx} +60 -64
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "4.198.16",
3
+ "version": "4.198.17",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -34,9 +34,9 @@
34
34
  "generate": "node scripts/copyStyles.js"
35
35
  },
36
36
  "dependencies": {
37
- "@patternfly/react-icons": "^4.49.16",
38
- "@patternfly/react-styles": "^4.48.16",
39
- "@patternfly/react-tokens": "^4.50.16",
37
+ "@patternfly/react-icons": "^4.49.17",
38
+ "@patternfly/react-styles": "^4.48.17",
39
+ "@patternfly/react-tokens": "^4.50.17",
40
40
  "focus-trap": "6.2.2",
41
41
  "react-dropzone": "9.0.0",
42
42
  "tippy.js": "5.1.2",
@@ -60,5 +60,5 @@
60
60
  "react": "^16.8.0 || ^17.0.0",
61
61
  "react-dom": "^16.8.0 || ^17.0.0"
62
62
  },
63
- "gitHead": "752c9d1a3638f356f2e68f670e79356f03ebea8e"
63
+ "gitHead": "0a5989506d02f2a0eef3f0a714dbcee41c556494"
64
64
  }
@@ -1,22 +1,43 @@
1
1
  import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/MultipleFileUpload/multiple-file-upload';
3
3
  import { css } from '@patternfly/react-styles';
4
+ import { MultipleFileUploadTitle } from './MultipleFileUploadTitle';
5
+ import { MultipleFileUploadButton } from './MultipleFileUploadButton';
6
+ import { MultipleFileUploadInfo } from './MultipleFileUploadInfo';
4
7
 
5
8
  export interface MultipleFileUploadMainProps extends React.HTMLProps<HTMLDivElement> {
6
- /** Content rendered inside multiple file upload main */
7
- children?: React.ReactNode;
8
9
  /** Class to add to outer div */
9
10
  className?: string;
11
+ /** Content rendered inside the title icon div */
12
+ titleIcon?: React.ReactNode;
13
+ /** Content rendered inside the title text div */
14
+ titleText?: React.ReactNode;
15
+ /** Content rendered inside the title text separator div */
16
+ titleTextSeparator?: React.ReactNode;
17
+ /** Content rendered inside the info div */
18
+ infoText?: React.ReactNode;
19
+ /** Flag to prevent the upload button from being rendered */
20
+ isUploadButtonHidden?: boolean;
10
21
  }
11
22
 
12
23
  export const MultipleFileUploadMain: React.FunctionComponent<MultipleFileUploadMainProps> = ({
13
24
  className,
14
- children,
25
+ titleIcon,
26
+ titleText,
27
+ titleTextSeparator,
28
+ infoText,
29
+ isUploadButtonHidden,
15
30
  ...props
16
- }: MultipleFileUploadMainProps) => (
17
- <div className={css(styles.multipleFileUploadMain, className)} {...props}>
18
- {children}
19
- </div>
20
- );
31
+ }: MultipleFileUploadMainProps) => {
32
+ const showTitle = !!titleIcon || !!titleText || !!titleTextSeparator;
33
+
34
+ return (
35
+ <div className={css(styles.multipleFileUploadMain, className)} {...props}>
36
+ {showTitle && <MultipleFileUploadTitle icon={titleIcon} text={titleText} textSeparator={titleTextSeparator} />}
37
+ {isUploadButtonHidden || <MultipleFileUploadButton />}
38
+ {!!infoText && <MultipleFileUploadInfo>{infoText}</MultipleFileUploadInfo>}
39
+ </div>
40
+ );
41
+ };
21
42
 
22
43
  MultipleFileUploadMain.displayName = 'MultipleFileUploadMain';
@@ -2,6 +2,9 @@ import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/MultipleFileUpload/multiple-file-upload';
3
3
  import { css } from '@patternfly/react-styles';
4
4
  import { ExpandableSection } from '../ExpandableSection';
5
+ import InProgressIcon from '@patternfly/react-icons/dist/esm/icons/in-progress-icon';
6
+ import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
7
+ import TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';
5
8
 
6
9
  export interface MultipleFileUploadStatusProps extends React.HTMLProps<HTMLDivElement> {
7
10
  /** Content rendered inside multi file upload status list */
@@ -11,7 +14,7 @@ export interface MultipleFileUploadStatusProps extends React.HTMLProps<HTMLDivEl
11
14
  /** String to show in the status toggle */
12
15
  statusToggleText?: string;
13
16
  /** Icon to show in the status toggle */
14
- statusToggleIcon?: React.ReactNode;
17
+ statusToggleIcon?: 'danger' | 'success' | 'inProgress' | React.ReactNode;
15
18
  }
16
19
 
17
20
  export const MultipleFileUploadStatus: React.FunctionComponent<MultipleFileUploadStatusProps> = ({
@@ -21,15 +24,32 @@ export const MultipleFileUploadStatus: React.FunctionComponent<MultipleFileUploa
21
24
  statusToggleIcon,
22
25
  ...props
23
26
  }: MultipleFileUploadStatusProps) => {
27
+ const [icon, setIcon] = React.useState<React.ReactNode>();
28
+ const [isOpen, setIsOpen] = React.useState(true);
29
+
30
+ React.useEffect(() => {
31
+ switch (statusToggleIcon) {
32
+ case 'danger':
33
+ setIcon(<TimesCircleIcon />);
34
+ break;
35
+ case 'success':
36
+ setIcon(<CheckCircleIcon />);
37
+ break;
38
+ case 'inProgress':
39
+ setIcon(<InProgressIcon />);
40
+ break;
41
+ default:
42
+ setIcon(statusToggleIcon);
43
+ }
44
+ }, [statusToggleIcon]);
45
+
24
46
  const toggle = (
25
47
  <div className={styles.multipleFileUploadStatusProgress}>
26
- <div className={styles.multipleFileUploadStatusProgressIcon}>{statusToggleIcon}</div>
48
+ <div className={styles.multipleFileUploadStatusProgressIcon}>{icon}</div>
27
49
  <div className={styles.multipleFileUploadStatusItemProgressText}>{statusToggleText}</div>
28
50
  </div>
29
51
  );
30
52
 
31
- const [isOpen, setIsOpen] = React.useState(true);
32
-
33
53
  const toggleExpandableSection = () => {
34
54
  setIsOpen(!isOpen);
35
55
  };
@@ -65,7 +65,7 @@ export const MultipleFileUploadStatusItem: React.FunctionComponent<MultipleFileU
65
65
  progressAriaLabelledBy,
66
66
  buttonAriaLabel = 'Remove from list',
67
67
  ...props
68
- }) => {
68
+ }: MultipleFileUploadStatusItemProps) => {
69
69
  const [loadPercentage, setLoadPercentage] = React.useState(0);
70
70
  const [loadResult, setLoadResult] = React.useState<undefined | 'danger' | 'success'>();
71
71
 
@@ -1,21 +1,35 @@
1
1
  import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/MultipleFileUpload/multiple-file-upload';
3
3
  import { css } from '@patternfly/react-styles';
4
-
4
+ import { MultipleFileUploadTitleIcon } from './MultipleFileUploadTitleIcon';
5
+ import { MultipleFileUploadTitleText } from './MultipleFileUploadTitleText';
6
+ import { MultipleFileUploadTitleTextSeparator } from './MultipleFileUploadTitleTextSeparator';
5
7
  export interface MultipleFileUploadTitleProps extends React.HTMLProps<HTMLDivElement> {
6
- /** Content rendered inside multiple file upload title */
7
- children?: React.ReactNode;
8
8
  /** Class to add to outer div */
9
9
  className?: string;
10
+ /** Content rendered inside the title icon div */
11
+ icon?: React.ReactNode;
12
+ /** Content rendered inside the title text div */
13
+ text?: React.ReactNode;
14
+ /** Content rendered inside the title text separator div */
15
+ textSeparator?: React.ReactNode;
10
16
  }
11
17
 
12
18
  export const MultipleFileUploadTitle: React.FunctionComponent<MultipleFileUploadTitleProps> = ({
13
19
  className,
14
- children,
20
+ icon,
21
+ text = '',
22
+ textSeparator = '',
15
23
  ...props
16
24
  }: MultipleFileUploadTitleProps) => (
17
25
  <div className={css(styles.multipleFileUploadTitle, className)} {...props}>
18
- {children}
26
+ {icon && <MultipleFileUploadTitleIcon>{icon}</MultipleFileUploadTitleIcon>}
27
+ {text && (
28
+ <MultipleFileUploadTitleText>
29
+ {`${text} `}
30
+ {textSeparator && <MultipleFileUploadTitleTextSeparator>{textSeparator}</MultipleFileUploadTitleTextSeparator>}
31
+ </MultipleFileUploadTitleText>
32
+ )}
19
33
  </div>
20
34
  );
21
35
 
@@ -1,19 +1,20 @@
1
1
  import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/MultipleFileUpload/multiple-file-upload';
3
3
  import { css } from '@patternfly/react-styles';
4
- import UploadIcon from '@patternfly/react-icons/dist/esm/icons/upload-icon';
5
-
6
4
  export interface MultipleFileUploadTitleIconProps extends React.HTMLProps<HTMLDivElement> {
5
+ /** Content rendered inside multiple file upload title icon */
6
+ children?: React.ReactNode;
7
7
  /** Class to add to outer div */
8
8
  className?: string;
9
9
  }
10
10
 
11
11
  export const MultipleFileUploadTitleIcon: React.FunctionComponent<MultipleFileUploadTitleIconProps> = ({
12
+ children,
12
13
  className,
13
14
  ...props
14
15
  }: MultipleFileUploadTitleIconProps) => (
15
16
  <div className={css(styles.multipleFileUploadTitleIcon, className)} {...props}>
16
- <UploadIcon />
17
+ {children}
17
18
  </div>
18
19
  );
19
20
 
@@ -4,12 +4,29 @@ import { MultipleFileUploadMain } from '../MultipleFileUploadMain';
4
4
 
5
5
  describe('MultipleFileUploadMain', () => {
6
6
  test('renders with expected class names', () => {
7
- const view = mount(<MultipleFileUploadMain>Foo</MultipleFileUploadMain>);
7
+ const view = mount(<MultipleFileUploadMain />);
8
8
  expect(view).toMatchSnapshot();
9
9
  });
10
10
 
11
11
  test('renders custom class names', () => {
12
- const view = mount(<MultipleFileUploadMain className="test">Foo</MultipleFileUploadMain>);
12
+ const view = mount(<MultipleFileUploadMain className="test" />);
13
+ expect(view).toMatchSnapshot();
14
+ });
15
+
16
+ test('passes props to the title as expected', () => {
17
+ const view = mount(
18
+ <MultipleFileUploadMain titleIcon="icon" titleText="title text" titleTextSeparator="title test separator" />
19
+ );
20
+ expect(view).toMatchSnapshot();
21
+ });
22
+
23
+ test('renders without the button when expected', () => {
24
+ const view = mount(<MultipleFileUploadMain isUploadButtonHidden />);
25
+ expect(view).toMatchSnapshot();
26
+ });
27
+
28
+ test('passes props to the info component as expected', () => {
29
+ const view = mount(<MultipleFileUploadMain infoText="info text" />);
13
30
  expect(view).toMatchSnapshot();
14
31
  });
15
32
  });
@@ -4,12 +4,27 @@ import { MultipleFileUploadTitle } from '../MultipleFileUploadTitle';
4
4
 
5
5
  describe('MultipleFileUploadTitle', () => {
6
6
  test('renders with expected class names', () => {
7
- const view = mount(<MultipleFileUploadTitle>Foo</MultipleFileUploadTitle>);
7
+ const view = mount(<MultipleFileUploadTitle />);
8
8
  expect(view).toMatchSnapshot();
9
9
  });
10
10
 
11
11
  test('renders custom class names', () => {
12
- const view = mount(<MultipleFileUploadTitle className="test">Foo</MultipleFileUploadTitle>);
12
+ const view = mount(<MultipleFileUploadTitle className="test" />);
13
+ expect(view).toMatchSnapshot();
14
+ });
15
+
16
+ test('renders with title icon', () => {
17
+ const view = mount(<MultipleFileUploadTitle icon="icon" />);
18
+ expect(view).toMatchSnapshot();
19
+ });
20
+
21
+ test('renders with title text', () => {
22
+ const view = mount(<MultipleFileUploadTitle text="text" />);
23
+ expect(view).toMatchSnapshot();
24
+ });
25
+
26
+ test('renders with title text separator', () => {
27
+ const view = mount(<MultipleFileUploadTitle text="text" textSeparator="text separator" />);
13
28
  expect(view).toMatchSnapshot();
14
29
  });
15
30
  });
@@ -4,7 +4,7 @@ import { MultipleFileUploadTitleIcon } from '../MultipleFileUploadTitleIcon';
4
4
 
5
5
  describe('MultipleFileUploadTitleIcon', () => {
6
6
  test('renders with expected class names', () => {
7
- const view = mount(<MultipleFileUploadTitleIcon />);
7
+ const view = mount(<MultipleFileUploadTitleIcon>Foo</MultipleFileUploadTitleIcon>);
8
8
  expect(view).toMatchSnapshot();
9
9
  });
10
10
 
@@ -1,5 +1,129 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`MultipleFileUploadMain passes props to the info component as expected 1`] = `
4
+ <MultipleFileUploadMain
5
+ infoText="info text"
6
+ >
7
+ <div
8
+ className="pf-c-multiple-file-upload__main"
9
+ >
10
+ <MultipleFileUploadButton>
11
+ <div
12
+ className="pf-c-multiple-file-upload__upload"
13
+ >
14
+ <Button
15
+ onClick={[Function]}
16
+ variant="secondary"
17
+ >
18
+ <ButtonBase
19
+ innerRef={null}
20
+ onClick={[Function]}
21
+ variant="secondary"
22
+ >
23
+ <button
24
+ aria-disabled={false}
25
+ aria-label={null}
26
+ className="pf-c-button pf-m-secondary"
27
+ data-ouia-component-id="OUIA-Generated-Button-secondary-4"
28
+ data-ouia-component-type="PF4/Button"
29
+ data-ouia-safe={true}
30
+ disabled={false}
31
+ onClick={[Function]}
32
+ role={null}
33
+ type="button"
34
+ >
35
+ Upload
36
+ </button>
37
+ </ButtonBase>
38
+ </Button>
39
+ </div>
40
+ </MultipleFileUploadButton>
41
+ <MultipleFileUploadInfo>
42
+ <div
43
+ className="pf-c-multiple-file-upload__info"
44
+ >
45
+ info text
46
+ </div>
47
+ </MultipleFileUploadInfo>
48
+ </div>
49
+ </MultipleFileUploadMain>
50
+ `;
51
+
52
+ exports[`MultipleFileUploadMain passes props to the title as expected 1`] = `
53
+ <MultipleFileUploadMain
54
+ titleIcon="icon"
55
+ titleText="title text"
56
+ titleTextSeparator="title test separator"
57
+ >
58
+ <div
59
+ className="pf-c-multiple-file-upload__main"
60
+ >
61
+ <MultipleFileUploadTitle
62
+ icon="icon"
63
+ text="title text"
64
+ textSeparator="title test separator"
65
+ >
66
+ <div
67
+ className="pf-c-multiple-file-upload__title"
68
+ >
69
+ <MultipleFileUploadTitleIcon>
70
+ <div
71
+ className="pf-c-multiple-file-upload__title-icon"
72
+ >
73
+ icon
74
+ </div>
75
+ </MultipleFileUploadTitleIcon>
76
+ <MultipleFileUploadTitleText>
77
+ <div
78
+ className="pf-c-multiple-file-upload__title-text"
79
+ >
80
+ title text
81
+ <MultipleFileUploadTitleTextSeparator>
82
+ <div
83
+ className="pf-c-multiple-file-upload__title-text-separator"
84
+ >
85
+ title test separator
86
+ </div>
87
+ </MultipleFileUploadTitleTextSeparator>
88
+ </div>
89
+ </MultipleFileUploadTitleText>
90
+ </div>
91
+ </MultipleFileUploadTitle>
92
+ <MultipleFileUploadButton>
93
+ <div
94
+ className="pf-c-multiple-file-upload__upload"
95
+ >
96
+ <Button
97
+ onClick={[Function]}
98
+ variant="secondary"
99
+ >
100
+ <ButtonBase
101
+ innerRef={null}
102
+ onClick={[Function]}
103
+ variant="secondary"
104
+ >
105
+ <button
106
+ aria-disabled={false}
107
+ aria-label={null}
108
+ className="pf-c-button pf-m-secondary"
109
+ data-ouia-component-id="OUIA-Generated-Button-secondary-3"
110
+ data-ouia-component-type="PF4/Button"
111
+ data-ouia-safe={true}
112
+ disabled={false}
113
+ onClick={[Function]}
114
+ role={null}
115
+ type="button"
116
+ >
117
+ Upload
118
+ </button>
119
+ </ButtonBase>
120
+ </Button>
121
+ </div>
122
+ </MultipleFileUploadButton>
123
+ </div>
124
+ </MultipleFileUploadMain>
125
+ `;
126
+
3
127
  exports[`MultipleFileUploadMain renders custom class names 1`] = `
4
128
  <MultipleFileUploadMain
5
129
  className="test"
@@ -7,7 +131,37 @@ exports[`MultipleFileUploadMain renders custom class names 1`] = `
7
131
  <div
8
132
  className="pf-c-multiple-file-upload__main test"
9
133
  >
10
- Foo
134
+ <MultipleFileUploadButton>
135
+ <div
136
+ className="pf-c-multiple-file-upload__upload"
137
+ >
138
+ <Button
139
+ onClick={[Function]}
140
+ variant="secondary"
141
+ >
142
+ <ButtonBase
143
+ innerRef={null}
144
+ onClick={[Function]}
145
+ variant="secondary"
146
+ >
147
+ <button
148
+ aria-disabled={false}
149
+ aria-label={null}
150
+ className="pf-c-button pf-m-secondary"
151
+ data-ouia-component-id="OUIA-Generated-Button-secondary-2"
152
+ data-ouia-component-type="PF4/Button"
153
+ data-ouia-safe={true}
154
+ disabled={false}
155
+ onClick={[Function]}
156
+ role={null}
157
+ type="button"
158
+ >
159
+ Upload
160
+ </button>
161
+ </ButtonBase>
162
+ </Button>
163
+ </div>
164
+ </MultipleFileUploadButton>
11
165
  </div>
12
166
  </MultipleFileUploadMain>
13
167
  `;
@@ -17,7 +171,49 @@ exports[`MultipleFileUploadMain renders with expected class names 1`] = `
17
171
  <div
18
172
  className="pf-c-multiple-file-upload__main"
19
173
  >
20
- Foo
174
+ <MultipleFileUploadButton>
175
+ <div
176
+ className="pf-c-multiple-file-upload__upload"
177
+ >
178
+ <Button
179
+ onClick={[Function]}
180
+ variant="secondary"
181
+ >
182
+ <ButtonBase
183
+ innerRef={null}
184
+ onClick={[Function]}
185
+ variant="secondary"
186
+ >
187
+ <button
188
+ aria-disabled={false}
189
+ aria-label={null}
190
+ className="pf-c-button pf-m-secondary"
191
+ data-ouia-component-id="OUIA-Generated-Button-secondary-1"
192
+ data-ouia-component-type="PF4/Button"
193
+ data-ouia-safe={true}
194
+ disabled={false}
195
+ onClick={[Function]}
196
+ role={null}
197
+ type="button"
198
+ >
199
+ Upload
200
+ </button>
201
+ </ButtonBase>
202
+ </Button>
203
+ </div>
204
+ </MultipleFileUploadButton>
205
+ </div>
206
+ </MultipleFileUploadMain>
207
+ `;
208
+
209
+ exports[`MultipleFileUploadMain renders without the button when expected 1`] = `
210
+ <MultipleFileUploadMain
211
+ isUploadButtonHidden={true}
212
+ >
213
+ <div
214
+ className="pf-c-multiple-file-upload__main"
215
+ >
216
+ <Component />
21
217
  </div>
22
218
  </MultipleFileUploadMain>
23
219
  `;
@@ -6,18 +6,76 @@ exports[`MultipleFileUploadTitle renders custom class names 1`] = `
6
6
  >
7
7
  <div
8
8
  className="pf-c-multiple-file-upload__title test"
9
- >
10
- Foo
11
- </div>
9
+ />
12
10
  </MultipleFileUploadTitle>
13
11
  `;
14
12
 
15
13
  exports[`MultipleFileUploadTitle renders with expected class names 1`] = `
16
14
  <MultipleFileUploadTitle>
15
+ <div
16
+ className="pf-c-multiple-file-upload__title"
17
+ />
18
+ </MultipleFileUploadTitle>
19
+ `;
20
+
21
+ exports[`MultipleFileUploadTitle renders with title icon 1`] = `
22
+ <MultipleFileUploadTitle
23
+ icon="icon"
24
+ >
25
+ <div
26
+ className="pf-c-multiple-file-upload__title"
27
+ >
28
+ <MultipleFileUploadTitleIcon>
29
+ <div
30
+ className="pf-c-multiple-file-upload__title-icon"
31
+ >
32
+ icon
33
+ </div>
34
+ </MultipleFileUploadTitleIcon>
35
+ </div>
36
+ </MultipleFileUploadTitle>
37
+ `;
38
+
39
+ exports[`MultipleFileUploadTitle renders with title text 1`] = `
40
+ <MultipleFileUploadTitle
41
+ text="text"
42
+ >
43
+ <div
44
+ className="pf-c-multiple-file-upload__title"
45
+ >
46
+ <MultipleFileUploadTitleText>
47
+ <div
48
+ className="pf-c-multiple-file-upload__title-text"
49
+ >
50
+ text
51
+ </div>
52
+ </MultipleFileUploadTitleText>
53
+ </div>
54
+ </MultipleFileUploadTitle>
55
+ `;
56
+
57
+ exports[`MultipleFileUploadTitle renders with title text separator 1`] = `
58
+ <MultipleFileUploadTitle
59
+ text="text"
60
+ textSeparator="text separator"
61
+ >
17
62
  <div
18
63
  className="pf-c-multiple-file-upload__title"
19
64
  >
20
- Foo
65
+ <MultipleFileUploadTitleText>
66
+ <div
67
+ className="pf-c-multiple-file-upload__title-text"
68
+ >
69
+ text
70
+ <MultipleFileUploadTitleTextSeparator>
71
+ <div
72
+ className="pf-c-multiple-file-upload__title-text-separator"
73
+ >
74
+ text separator
75
+ </div>
76
+ </MultipleFileUploadTitleTextSeparator>
77
+ </div>
78
+ </MultipleFileUploadTitleText>
21
79
  </div>
22
80
  </MultipleFileUploadTitle>
23
81
  `;
@@ -6,32 +6,7 @@ exports[`MultipleFileUploadTitleIcon renders custom class names 1`] = `
6
6
  >
7
7
  <div
8
8
  className="pf-c-multiple-file-upload__title-icon test"
9
- >
10
- <UploadIcon
11
- color="currentColor"
12
- noVerticalAlign={false}
13
- size="sm"
14
- >
15
- <svg
16
- aria-hidden={true}
17
- aria-labelledby={null}
18
- fill="currentColor"
19
- height="1em"
20
- role="img"
21
- style={
22
- Object {
23
- "verticalAlign": "-0.125em",
24
- }
25
- }
26
- viewBox="0 0 512 512"
27
- width="1em"
28
- >
29
- <path
30
- d="M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"
31
- />
32
- </svg>
33
- </UploadIcon>
34
- </div>
9
+ />
35
10
  </MultipleFileUploadTitleIcon>
36
11
  `;
37
12
 
@@ -40,30 +15,7 @@ exports[`MultipleFileUploadTitleIcon renders with expected class names 1`] = `
40
15
  <div
41
16
  className="pf-c-multiple-file-upload__title-icon"
42
17
  >
43
- <UploadIcon
44
- color="currentColor"
45
- noVerticalAlign={false}
46
- size="sm"
47
- >
48
- <svg
49
- aria-hidden={true}
50
- aria-labelledby={null}
51
- fill="currentColor"
52
- height="1em"
53
- role="img"
54
- style={
55
- Object {
56
- "verticalAlign": "-0.125em",
57
- }
58
- }
59
- viewBox="0 0 512 512"
60
- width="1em"
61
- >
62
- <path
63
- d="M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"
64
- />
65
- </svg>
66
- </UploadIcon>
18
+ Foo
67
19
  </div>
68
20
  </MultipleFileUploadTitleIcon>
69
21
  `;