@sproutsocial/racine 12.15.0 → 12.16.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/CHANGELOG.md +44 -0
- package/__flow__/Avatar/index.stories.js +1 -0
- package/__flow__/Avatar/index.test.js +1 -0
- package/__flow__/Badge/index.stories.js +1 -0
- package/__flow__/Badge/index.test.js +1 -0
- package/__flow__/Banner/index.stories.js +1 -0
- package/__flow__/Banner/index.test.js +1 -0
- package/__flow__/Box/index.stories.js +1 -0
- package/__flow__/Box/index.test.js +1 -0
- package/__flow__/Breadcrumb/index.stories.js +1 -0
- package/__flow__/Breadcrumb/index.test.js +1 -0
- package/__flow__/Button/index.js +14 -3
- package/__flow__/Button/index.stories.js +24 -17
- package/__flow__/CharacterCounter/index.stories.js +1 -0
- package/__flow__/CharacterCounter/index.test.js +1 -0
- package/__flow__/ChartLegend/index.stories.js +1 -0
- package/__flow__/ChartLegend/index.test.js +1 -0
- package/__flow__/Checkbox/index.js +5 -5
- package/__flow__/Checkbox/index.stories.js +18 -13
- package/__flow__/Checkbox/index.test.js +9 -1
- package/__flow__/Collapsible/index.stories.js +16 -2
- package/__flow__/Collapsible/index.test.js +1 -0
- package/__flow__/Drawer/index.stories.js +14 -5
- package/__flow__/Drawer/index.test.js +4 -3
- package/__flow__/EmptyState/index.stories.js +1 -0
- package/__flow__/EmptyState/index.test.js +1 -0
- package/__flow__/EnumIconNames.js +1 -1
- package/__flow__/EnumLogoNames.js +1 -1
- package/__flow__/Fieldset/index.stories.js +21 -6
- package/__flow__/FormField/index.stories.js +11 -6
- package/__flow__/FormField/index.test.js +5 -4
- package/__flow__/Icon/index.js +5 -2
- package/__flow__/Icon/index.stories.js +8 -7
- package/__flow__/Icon/index.test.js +1 -0
- package/__flow__/Icon/styles.js +2 -0
- package/__flow__/IconViewBoxes.js +1 -1
- package/__flow__/Image/index.stories.js +1 -0
- package/__flow__/Image/index.test.js +1 -0
- package/__flow__/Indicator/index.stories.js +1 -0
- package/__flow__/Indicator/index.test.js +1 -0
- package/__flow__/Indicator/styles.js +1 -1
- package/__flow__/Input/index.stories.js +37 -0
- package/__flow__/Input/index.test.js +1 -0
- package/__flow__/KeyboardKey/index.stories.js +1 -0
- package/__flow__/KeyboardKey/index.test.js +1 -0
- package/__flow__/Label/index.stories.js +2 -1
- package/__flow__/Label/index.test.js +1 -0
- package/__flow__/Link/index.stories.js +1 -0
- package/__flow__/Link/index.test.js +1 -0
- package/__flow__/Listbox/index.stories.js +12 -6
- package/__flow__/Listbox/index.test.js +1 -0
- package/__flow__/Loader/index.js +1 -1
- package/__flow__/Loader/index.stories.js +5 -4
- package/__flow__/Loader/index.test.js +1 -0
- package/__flow__/LoaderButton/index.js +3 -1
- package/__flow__/LoaderButton/index.stories.js +1 -0
- package/__flow__/LoaderButton/index.test.js +1 -0
- package/__flow__/LogoViewBoxes.js +1 -1
- package/__flow__/Menu/index.flow.js +2 -0
- package/__flow__/Menu/index.stories.js +16 -8
- package/__flow__/Menu/index.test.js +3 -1
- package/__flow__/Message/index.stories.js +14 -6
- package/__flow__/Message/index.test.js +3 -3
- package/__flow__/Modal/index.stories.js +1 -0
- package/__flow__/Modal/index.test.js +1 -0
- package/__flow__/Numeral/index.js +1 -1
- package/__flow__/Numeral/index.stories.js +8 -7
- package/__flow__/OverflowList/index.flow.js +2 -2
- package/__flow__/OverflowList/index.stories.js +4 -3
- package/__flow__/OverflowList/index.test.js +7 -2
- package/__flow__/PartnerLogo/index.js +32 -33
- package/__flow__/PartnerLogo/index.stories.js +41 -13
- package/__flow__/PartnerLogo/partnerLogos/dropbox-lockup-dark.svg +7 -0
- package/__flow__/PartnerLogo/partnerLogos/dropbox-lockup.svg +7 -0
- package/__flow__/PartnerLogo/partnerLogos/dropbox-wordmark-dark.svg +3 -0
- package/__flow__/PartnerLogo/partnerLogos/dropbox-wordmark.svg +3 -0
- package/__flow__/PartnerLogo/partnerLogos/zendesk-lockup-dark.svg +28 -0
- package/__flow__/PartnerLogo/partnerLogos/zendesk-lockup.svg +28 -0
- package/__flow__/PartnerLogo/partnerLogos/zendesk-wordmark-dark.svg +9 -0
- package/__flow__/PartnerLogo/partnerLogos/zendesk-wordmark.svg +9 -0
- package/__flow__/PartnerLogo/styles.js +50 -0
- package/__flow__/Popout/index.js +2 -2
- package/__flow__/Popout/index.stories.js +24 -9
- package/__flow__/Popout/index.test.js +2 -1
- package/__flow__/Radio/index.js +1 -1
- package/__flow__/Radio/index.stories.js +9 -8
- package/__flow__/Radio/index.test.js +1 -0
- package/__flow__/SegmentedControl/index.stories.js +1 -0
- package/__flow__/SegmentedControl/index.test.js +1 -0
- package/__flow__/Select/index.stories.js +25 -6
- package/__flow__/Select/index.test.js +1 -0
- package/__flow__/Skeleton/index.stories.js +1 -0
- package/__flow__/SpotIllustration/index.js +1 -1
- package/__flow__/SpotIllustration/index.stories.js +6 -5
- package/__flow__/Stack/index.stories.js +1 -0
- package/__flow__/Stack/index.test.js +1 -0
- package/__flow__/Switch/index.js +1 -1
- package/__flow__/Switch/index.stories.js +6 -5
- package/__flow__/Switch/index.test.js +1 -0
- package/__flow__/Table/index.stories.js +14 -12
- package/__flow__/Table/index.test.js +1 -0
- package/__flow__/TableCell/index.stories.js +1 -0
- package/__flow__/TableCell/index.test.js +2 -1
- package/__flow__/TableHeaderCell/index.stories.js +1 -0
- package/__flow__/TableHeaderCell/index.test.js +5 -2
- package/__flow__/TableRowAccordion/index.stories.js +3 -2
- package/__flow__/TableRowAccordion/index.test.js +2 -1
- package/__flow__/Tabs/index.stories.js +1 -0
- package/__flow__/Tabs/index.test.js +1 -0
- package/__flow__/Text/index.js +11 -7
- package/__flow__/Text/index.stories.js +1 -0
- package/__flow__/Text/index.test.js +1 -0
- package/__flow__/Textarea/index.stories.js +9 -0
- package/__flow__/Textarea/index.test.js +1 -0
- package/__flow__/Toast/index.stories.js +10 -6
- package/__flow__/ToggleHint/index.test.js +1 -0
- package/__flow__/Token/index.stories.js +1 -0
- package/__flow__/Token/index.test.js +1 -0
- package/__flow__/TokenInput/tests/default/deleting.test.js +10 -9
- package/__flow__/TokenInput/tests/default/focusing.test.js +1 -0
- package/__flow__/TokenInput/tests/default/inputting.test.js +2 -1
- package/__flow__/Tooltip/index.stories.js +1 -17
- package/__flow__/Tooltip/index.test.js +2 -0
- package/__flow__/dataviz/dataviz.stories.js +1 -0
- package/__flow__/dataviz/index.js +1 -0
- package/__flow__/themes/dark/decorative-palettes.js +2 -0
- package/__flow__/themes/light/decorative-palettes.js +2 -0
- package/__flow__/utils/system-props.js +1 -0
- package/commonjs/Button/index.js +7 -1
- package/commonjs/Checkbox/index.js +3 -3
- package/commonjs/Icon/styles.js +3 -0
- package/commonjs/IconViewBoxes.js +2 -0
- package/commonjs/Indicator/styles.js +3 -1
- package/commonjs/LoaderButton/index.js +3 -1
- package/commonjs/LogoViewBoxes.js +8 -0
- package/commonjs/PartnerLogo/index.js +18 -19
- package/commonjs/PartnerLogo/styles.js +40 -0
- package/dist/icon.svg +1 -1
- package/dist/iconList.js +1 -1
- package/dist/logo.svg +1 -1
- package/dist/logoList.js +1 -1
- package/lib/Button/index.js +11 -1
- package/lib/Checkbox/index.js +3 -3
- package/lib/Icon/styles.js +3 -0
- package/lib/IconViewBoxes.js +2 -0
- package/lib/Indicator/styles.js +3 -1
- package/lib/LoaderButton/index.js +3 -1
- package/lib/LogoViewBoxes.js +8 -0
- package/lib/PartnerLogo/index.js +17 -14
- package/lib/PartnerLogo/styles.js +26 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 12.16.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- b2c4834: The `aria-label` and `aria-labelledby` props were added to the `TypeListboxButtonProps` flow type for the `ListboxButton` component
|
|
8
|
+
- 8b80526: Updated Indicator color to support theming
|
|
9
|
+
- Indicator's color was previously hard-coded to teal.600
|
|
10
|
+
- We are now using a semantic theme value, "icon.info", so that the color of Indicator can reflect the current theme.
|
|
11
|
+
- Please note that "icon.info" currently resolves to a blue color in all bundled themes. Thus, unless you override the color, all Indicators currently in use will change from teal to blue.
|
|
12
|
+
- Support for overriding the Indicator color via the `color` system prop was added.
|
|
13
|
+
- b2c4834: The `checked` and `indeterminate` props on the `Checkbox` component are now optional
|
|
14
|
+
- 57cb24f: **Deprecation Notice:**
|
|
15
|
+
|
|
16
|
+
The `default` appearance for the `Button` component has been **deprecated** in favor of `unstyled`. To migrate, change all `Button` components which use the `default` appearance to use `unstyled` instead. Support for the `default` option will be removed in a future version.
|
|
17
|
+
|
|
18
|
+
The following components that use the `Button` component or its types must also be migrated to use `unstyled` instead of `default` for the `appearance`:
|
|
19
|
+
|
|
20
|
+
- `ListboxButton`
|
|
21
|
+
- `LoaderButton`
|
|
22
|
+
- `MenuButton`
|
|
23
|
+
- `Message.Button`
|
|
24
|
+
- `ModalCloseButton`
|
|
25
|
+
|
|
26
|
+
- b2c4834: The following components now export their prop flow types:
|
|
27
|
+
- Loader
|
|
28
|
+
- Icon
|
|
29
|
+
- Numeral
|
|
30
|
+
- PartnerLogo
|
|
31
|
+
- Popout
|
|
32
|
+
- SpotIllustration
|
|
33
|
+
- Switch
|
|
34
|
+
- b2c4834: The `ItemComponent` and `getItemProps` props on the `OverflowList` component are now optional
|
|
35
|
+
- 8a70eff: We've made some enhancements to the Partner Logo component! The Partner Logo component API now closely aligns with the Icon component.
|
|
36
|
+
|
|
37
|
+
- Added support for different logo types ie. `wordmark` or `lockup`
|
|
38
|
+
- Added support for predefined sizes. ie. `mini`, `small`, `medium`, `large`, and `jumbo`.
|
|
39
|
+
- The partner Logo now has a fixed width by default.
|
|
40
|
+
|
|
41
|
+
- 5613a5c: A new Advocacy icon has been added to the icon library
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- 56fa0b9: Updated Icon component to accept `size="small"` prop to closer align to the `PartnerLogo` component
|
|
46
|
+
|
|
3
47
|
## 12.15.0
|
|
4
48
|
|
|
5
49
|
### Minor Changes
|
package/__flow__/Button/index.js
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import Container from "./styles";
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated
|
|
7
|
+
* Use "unstyled" appearance instead of "default"
|
|
8
|
+
*/
|
|
9
|
+
type EnumDeprecatedAppearance = "default";
|
|
10
|
+
|
|
5
11
|
export type TypeProps = {
|
|
6
12
|
/** If the button is being used as an anchor, this prop will cause the link to open in a new tab. */
|
|
7
13
|
external?: boolean,
|
|
@@ -12,9 +18,9 @@ export type TypeProps = {
|
|
|
12
18
|
| "secondary"
|
|
13
19
|
| "pill"
|
|
14
20
|
| "destructive"
|
|
15
|
-
| "default"
|
|
16
21
|
| "unstyled"
|
|
17
|
-
| "placeholder"
|
|
22
|
+
| "placeholder"
|
|
23
|
+
| EnumDeprecatedAppearance,
|
|
18
24
|
/** Set the button to display in its active state */
|
|
19
25
|
active?: boolean,
|
|
20
26
|
/** Disables user action and applies a disabled style on the button */
|
|
@@ -55,8 +61,13 @@ const Button = ({
|
|
|
55
61
|
);
|
|
56
62
|
}
|
|
57
63
|
|
|
58
|
-
|
|
64
|
+
/** "default" is @deprecated in favor of "unstyled" */
|
|
59
65
|
const appearanceCheck = appearance === "default" ? "unstyled" : appearance;
|
|
66
|
+
if (appearance === "default") {
|
|
67
|
+
console.warn(
|
|
68
|
+
"Warning: The `default` appearance has been deprecated on the Button component. Please use `unstyled` instead."
|
|
69
|
+
);
|
|
70
|
+
}
|
|
60
71
|
|
|
61
72
|
return (
|
|
62
73
|
<Container
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
// @flow
|
|
1
2
|
import React from "react";
|
|
2
|
-
import Button from "./index";
|
|
3
|
+
import Button, { type TypeProps } from "./index";
|
|
3
4
|
import Icon from "../Icon";
|
|
4
5
|
import Box from "../Box";
|
|
5
6
|
|
|
@@ -7,19 +8,19 @@ export default {
|
|
|
7
8
|
title: "Button",
|
|
8
9
|
};
|
|
9
10
|
|
|
10
|
-
export const defaultStory = (args) => (
|
|
11
|
+
export const defaultStory = (args: TypeProps) => (
|
|
11
12
|
<Button {...args} onClick={() => alert("Testing...")}>
|
|
12
|
-
|
|
13
|
+
Unstyled
|
|
13
14
|
</Button>
|
|
14
15
|
);
|
|
15
16
|
|
|
16
|
-
defaultStory.args = { appearance: "
|
|
17
|
+
defaultStory.args = { appearance: "unstyled" };
|
|
17
18
|
|
|
18
19
|
defaultStory.story = {
|
|
19
|
-
name: "
|
|
20
|
+
name: "Unstyled",
|
|
20
21
|
};
|
|
21
22
|
|
|
22
|
-
export const primary = (args) => (
|
|
23
|
+
export const primary = (args: TypeProps) => (
|
|
23
24
|
<Button {...args} onClick={() => alert("Testing...")}>
|
|
24
25
|
Primary Button
|
|
25
26
|
</Button>
|
|
@@ -31,7 +32,9 @@ primary.story = {
|
|
|
31
32
|
name: "Primary",
|
|
32
33
|
};
|
|
33
34
|
|
|
34
|
-
export const secondary = (args) =>
|
|
35
|
+
export const secondary = (args: TypeProps) => (
|
|
36
|
+
<Button {...args}>Secondary Button</Button>
|
|
37
|
+
);
|
|
35
38
|
|
|
36
39
|
secondary.args = { appearance: "secondary" };
|
|
37
40
|
|
|
@@ -39,7 +42,7 @@ secondary.story = {
|
|
|
39
42
|
name: "Secondary",
|
|
40
43
|
};
|
|
41
44
|
|
|
42
|
-
export const destructive = (args) => (
|
|
45
|
+
export const destructive = (args: TypeProps) => (
|
|
43
46
|
<Button {...args}>Destructive Button</Button>
|
|
44
47
|
);
|
|
45
48
|
|
|
@@ -48,7 +51,7 @@ destructive.story = {
|
|
|
48
51
|
name: "Destructive",
|
|
49
52
|
};
|
|
50
53
|
|
|
51
|
-
export const placeholder = (args) => (
|
|
54
|
+
export const placeholder = (args: TypeProps) => (
|
|
52
55
|
<Button {...args}>Placeholder Button</Button>
|
|
53
56
|
);
|
|
54
57
|
|
|
@@ -57,14 +60,16 @@ placeholder.story = {
|
|
|
57
60
|
name: "Placeholder",
|
|
58
61
|
};
|
|
59
62
|
|
|
60
|
-
export const largeButton = (args) =>
|
|
63
|
+
export const largeButton = (args: TypeProps) => (
|
|
64
|
+
<Button {...args}>Large Button</Button>
|
|
65
|
+
);
|
|
61
66
|
largeButton.args = { size: "large", appearance: "primary" };
|
|
62
67
|
|
|
63
68
|
largeButton.story = {
|
|
64
69
|
name: "Large button",
|
|
65
70
|
};
|
|
66
71
|
|
|
67
|
-
export const pillButton = (args) => (
|
|
72
|
+
export const pillButton = (args: TypeProps) => (
|
|
68
73
|
<Box bg="container.background.base" p={400}>
|
|
69
74
|
<Button {...args}>
|
|
70
75
|
<Icon name="reply" mr={350} />
|
|
@@ -77,7 +82,7 @@ pillButton.story = {
|
|
|
77
82
|
name: "Pill button",
|
|
78
83
|
};
|
|
79
84
|
|
|
80
|
-
export const pillIconOnlyButton = (args) => (
|
|
85
|
+
export const pillIconOnlyButton = (args: TypeProps) => (
|
|
81
86
|
<Box bg="container.background.base" p={400}>
|
|
82
87
|
<Button {...args} ariaLabel="This is a label">
|
|
83
88
|
<Icon name="circle-check-outline" />
|
|
@@ -90,14 +95,16 @@ pillIconOnlyButton.story = {
|
|
|
90
95
|
name: "Pill icon only button",
|
|
91
96
|
};
|
|
92
97
|
|
|
93
|
-
export const activeButton = (args) =>
|
|
98
|
+
export const activeButton = (args: TypeProps) => (
|
|
99
|
+
<Button {...args}>Active Button</Button>
|
|
100
|
+
);
|
|
94
101
|
|
|
95
102
|
activeButton.args = { appearance: "secondary", active: true };
|
|
96
103
|
activeButton.story = {
|
|
97
104
|
name: "Active button",
|
|
98
105
|
};
|
|
99
106
|
|
|
100
|
-
export const buttonAsALink = (args) => (
|
|
107
|
+
export const buttonAsALink = (args: TypeProps) => (
|
|
101
108
|
<Button {...args}>Button using anchor element</Button>
|
|
102
109
|
);
|
|
103
110
|
buttonAsALink.args = {
|
|
@@ -109,7 +116,7 @@ buttonAsALink.story = {
|
|
|
109
116
|
name: "Button as a link",
|
|
110
117
|
};
|
|
111
118
|
|
|
112
|
-
export const disabledButton = (args) => (
|
|
119
|
+
export const disabledButton = (args: TypeProps) => (
|
|
113
120
|
<Button {...args}>This Button is disabled</Button>
|
|
114
121
|
);
|
|
115
122
|
disabledButton.args = {
|
|
@@ -120,7 +127,7 @@ disabledButton.story = {
|
|
|
120
127
|
name: "Disabled button",
|
|
121
128
|
};
|
|
122
129
|
|
|
123
|
-
export const fullWidthButton = (args) => (
|
|
130
|
+
export const fullWidthButton = (args: TypeProps) => (
|
|
124
131
|
<Button {...args}>Full-Width Button</Button>
|
|
125
132
|
);
|
|
126
133
|
fullWidthButton.args = {
|
|
@@ -131,7 +138,7 @@ fullWidthButton.story = {
|
|
|
131
138
|
name: "Full width button",
|
|
132
139
|
};
|
|
133
140
|
|
|
134
|
-
export const withIcon = (args) => (
|
|
141
|
+
export const withIcon = (args: TypeProps) => (
|
|
135
142
|
<Button {...args}>
|
|
136
143
|
<Icon name="twitter" mr={350} />
|
|
137
144
|
Secondary Button
|
|
@@ -19,8 +19,8 @@ export type TypeProps = {
|
|
|
19
19
|
/** Label used to describe the input (if not used with an accompanying visual label) */
|
|
20
20
|
ariaLabel?: string,
|
|
21
21
|
labelProps?: Object,
|
|
22
|
-
checked
|
|
23
|
-
indeterminate
|
|
22
|
+
checked?: boolean,
|
|
23
|
+
indeterminate?: boolean,
|
|
24
24
|
disabled?: boolean,
|
|
25
25
|
onChange: (event: SyntheticEvent<HTMLInputElement>) => void,
|
|
26
26
|
appearance?: "pill" | "default",
|
|
@@ -39,14 +39,14 @@ export default class Checkbox extends React.Component<TypeProps> {
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
componentDidUpdate(prevProps: TypeProps) {
|
|
42
|
-
if (prevProps.indeterminate !== this.props.indeterminate && this.el) {
|
|
43
|
-
this.el.indeterminate = this.props.indeterminate;
|
|
42
|
+
if (prevProps.indeterminate !== !!this.props.indeterminate && this.el) {
|
|
43
|
+
this.el.indeterminate = !!this.props.indeterminate;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
componentDidMount() {
|
|
48
48
|
if (this.el) {
|
|
49
|
-
this.el.indeterminate = this.props.indeterminate;
|
|
49
|
+
this.el.indeterminate = !!this.props.indeterminate;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
+
// @flow
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { action } from "@storybook/addon-actions";
|
|
3
4
|
|
|
4
|
-
import Checkbox from "./";
|
|
5
|
+
import Checkbox, { type TypeProps } from "./";
|
|
5
6
|
|
|
6
7
|
export default {
|
|
7
8
|
title: "Checkbox",
|
|
8
9
|
component: Checkbox,
|
|
9
10
|
};
|
|
10
11
|
|
|
11
|
-
export const Checked = (args) => <Checkbox {...args} />;
|
|
12
|
+
export const Checked = (args: TypeProps) => <Checkbox {...args} />;
|
|
12
13
|
|
|
13
14
|
Checked.args = { checked: true };
|
|
14
15
|
|
|
15
|
-
export const Unchecked = (args) => <Checkbox {...args} />;
|
|
16
|
+
export const Unchecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
16
17
|
|
|
17
18
|
Unchecked.args = { checked: false };
|
|
18
19
|
|
|
19
|
-
export const PillChecked = (args) => <Checkbox {...args} />;
|
|
20
|
+
export const PillChecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
20
21
|
|
|
21
22
|
PillChecked.args = {
|
|
22
23
|
checked: true,
|
|
@@ -27,7 +28,7 @@ PillChecked.story = {
|
|
|
27
28
|
name: "Pill/Checked",
|
|
28
29
|
};
|
|
29
30
|
|
|
30
|
-
export const PillUnchecked = (args) => <Checkbox {...args} />;
|
|
31
|
+
export const PillUnchecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
31
32
|
|
|
32
33
|
PillUnchecked.args = {
|
|
33
34
|
checked: false,
|
|
@@ -38,7 +39,7 @@ PillUnchecked.story = {
|
|
|
38
39
|
name: "Pill/Unchecked",
|
|
39
40
|
};
|
|
40
41
|
|
|
41
|
-
export const DisabledChecked = (args) => <Checkbox {...args} />;
|
|
42
|
+
export const DisabledChecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
42
43
|
|
|
43
44
|
DisabledChecked.args = {
|
|
44
45
|
checked: true,
|
|
@@ -49,7 +50,7 @@ DisabledChecked.story = {
|
|
|
49
50
|
name: "Disabled/Checked",
|
|
50
51
|
};
|
|
51
52
|
|
|
52
|
-
export const DisabledUnchecked = (args) => <Checkbox {...args} />;
|
|
53
|
+
export const DisabledUnchecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
53
54
|
|
|
54
55
|
DisabledUnchecked.args = {
|
|
55
56
|
checked: false,
|
|
@@ -60,7 +61,7 @@ DisabledUnchecked.story = {
|
|
|
60
61
|
name: "Disabled/Unchecked",
|
|
61
62
|
};
|
|
62
63
|
|
|
63
|
-
export const IndeterminateChecked = (args) => <Checkbox {...args} />;
|
|
64
|
+
export const IndeterminateChecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
64
65
|
|
|
65
66
|
IndeterminateChecked.args = {
|
|
66
67
|
checked: true,
|
|
@@ -71,7 +72,9 @@ IndeterminateChecked.story = {
|
|
|
71
72
|
name: "Indeterminate/Checked",
|
|
72
73
|
};
|
|
73
74
|
|
|
74
|
-
export const IndeterminateUnchecked = (args) =>
|
|
75
|
+
export const IndeterminateUnchecked = (args: TypeProps) => (
|
|
76
|
+
<Checkbox {...args} />
|
|
77
|
+
);
|
|
75
78
|
|
|
76
79
|
IndeterminateUnchecked.args = {
|
|
77
80
|
checked: false,
|
|
@@ -82,7 +85,7 @@ IndeterminateUnchecked.story = {
|
|
|
82
85
|
name: "Indeterminate/Unchecked",
|
|
83
86
|
};
|
|
84
87
|
|
|
85
|
-
export const LabelledChecked = (args) => <Checkbox {...args} />;
|
|
88
|
+
export const LabelledChecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
86
89
|
|
|
87
90
|
LabelledChecked.args = {
|
|
88
91
|
checked: true,
|
|
@@ -93,7 +96,7 @@ LabelledChecked.story = {
|
|
|
93
96
|
name: "Labelled/Checked",
|
|
94
97
|
};
|
|
95
98
|
|
|
96
|
-
export const LabelledUnchecked = (args) => <Checkbox {...args} />;
|
|
99
|
+
export const LabelledUnchecked = (args: TypeProps) => <Checkbox {...args} />;
|
|
97
100
|
|
|
98
101
|
LabelledUnchecked.args = {
|
|
99
102
|
checked: false,
|
|
@@ -104,7 +107,7 @@ LabelledUnchecked.story = {
|
|
|
104
107
|
name: "Labelled/Unchecked",
|
|
105
108
|
};
|
|
106
109
|
|
|
107
|
-
export const LabelledDisabled = (args) => <Checkbox {...args} />;
|
|
110
|
+
export const LabelledDisabled = (args: TypeProps) => <Checkbox {...args} />;
|
|
108
111
|
|
|
109
112
|
LabelledDisabled.args = {
|
|
110
113
|
checked: true,
|
|
@@ -116,7 +119,9 @@ LabelledDisabled.story = {
|
|
|
116
119
|
name: "Labelled/Disabled",
|
|
117
120
|
};
|
|
118
121
|
|
|
119
|
-
export const InputPropsOnMouseOver = (args) =>
|
|
122
|
+
export const InputPropsOnMouseOver = (args: TypeProps) => (
|
|
123
|
+
<Checkbox {...args} />
|
|
124
|
+
);
|
|
120
125
|
|
|
121
126
|
InputPropsOnMouseOver.args = {
|
|
122
127
|
checked: true,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @flow
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { render, fireEvent } from "../utils/react-testing-library";
|
|
3
4
|
import Checkbox from "./";
|
|
@@ -50,7 +51,12 @@ describe("Checkbox", () => {
|
|
|
50
51
|
|
|
51
52
|
it("should display label when label not undefined and appearance is default", () => {
|
|
52
53
|
const { getByLabelText } = render(
|
|
53
|
-
<Checkbox
|
|
54
|
+
<Checkbox
|
|
55
|
+
checked
|
|
56
|
+
onChange={mockHandleClick}
|
|
57
|
+
label="Checkbox Label"
|
|
58
|
+
id="checkboxid"
|
|
59
|
+
/>
|
|
54
60
|
);
|
|
55
61
|
expect(getByLabelText("Checkbox Label")).toBeInTheDocument();
|
|
56
62
|
});
|
|
@@ -59,6 +65,7 @@ describe("Checkbox", () => {
|
|
|
59
65
|
const { queryByLabelText } = render(
|
|
60
66
|
<Checkbox
|
|
61
67
|
checked
|
|
68
|
+
onChange={mockHandleClick}
|
|
62
69
|
label="Checkbox Label"
|
|
63
70
|
id="checkboxid"
|
|
64
71
|
appearance="pill"
|
|
@@ -72,6 +79,7 @@ describe("Checkbox", () => {
|
|
|
72
79
|
const options = render(
|
|
73
80
|
<Checkbox
|
|
74
81
|
checked
|
|
82
|
+
onChange={mockHandleClick}
|
|
75
83
|
inputProps={{ onMouseOver: mockHandleMouseOver }}
|
|
76
84
|
id="checkboxid"
|
|
77
85
|
label="checkbox"
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
// @flow
|
|
2
|
+
import React, { type Node as ReactNode, useState } from "react";
|
|
2
3
|
import Collapsible from "./index";
|
|
3
4
|
import Button from "../Button";
|
|
4
5
|
import Box from "../Box";
|
|
5
6
|
|
|
6
|
-
const StatefulCollapse = ({
|
|
7
|
+
const StatefulCollapse = ({
|
|
8
|
+
children,
|
|
9
|
+
offset = 0,
|
|
10
|
+
initialIsOpen = false,
|
|
11
|
+
}: {
|
|
12
|
+
children: ReactNode,
|
|
13
|
+
offset?: number,
|
|
14
|
+
initialIsOpen?: boolean,
|
|
15
|
+
}) => {
|
|
7
16
|
const [open, setOpen] = useState(initialIsOpen);
|
|
8
17
|
const toggle = () => setOpen(!open);
|
|
9
18
|
|
|
@@ -95,6 +104,11 @@ const StatefulCollapseWithMinHeight = ({
|
|
|
95
104
|
offset = 0,
|
|
96
105
|
collapsedHeight = 0,
|
|
97
106
|
openHeight,
|
|
107
|
+
}: {
|
|
108
|
+
children: ReactNode,
|
|
109
|
+
offset?: number,
|
|
110
|
+
collapsedHeight?: number,
|
|
111
|
+
openHeight: number,
|
|
98
112
|
}) => {
|
|
99
113
|
const [open, setOpen] = useState(false);
|
|
100
114
|
const toggle = () => setOpen(!open);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
// @flow
|
|
1
2
|
import React, { useState } from "react";
|
|
2
3
|
import { createGlobalStyle } from "styled-components";
|
|
3
4
|
import { text, number, boolean } from "@storybook/addon-knobs";
|
|
4
|
-
import Drawer from "./index";
|
|
5
|
+
import Drawer, { type TypeDrawerProps } from "./index";
|
|
5
6
|
import Button from "../Button";
|
|
6
7
|
import Icon from "../Icon";
|
|
7
8
|
import Box from "../Box";
|
|
@@ -14,7 +15,12 @@ const GlobalStyle = createGlobalStyle`
|
|
|
14
15
|
}
|
|
15
16
|
`;
|
|
16
17
|
|
|
17
|
-
const StatefulDrawer = ({
|
|
18
|
+
const StatefulDrawer = ({
|
|
19
|
+
isOpen = true,
|
|
20
|
+
onClose,
|
|
21
|
+
children,
|
|
22
|
+
...rest
|
|
23
|
+
}: TypeDrawerProps) => {
|
|
18
24
|
const [isDrawerOpen, setIsDrawerOpen] = useState(isOpen);
|
|
19
25
|
const onDrawerClose = () => {
|
|
20
26
|
setIsDrawerOpen(false);
|
|
@@ -23,7 +29,7 @@ const StatefulDrawer = ({ isOpen = true, onClose, children, ...rest }) => {
|
|
|
23
29
|
|
|
24
30
|
return (
|
|
25
31
|
<React.Fragment>
|
|
26
|
-
<Drawer isOpen={isDrawerOpen} onClose={onDrawerClose}
|
|
32
|
+
<Drawer {...rest} isOpen={isDrawerOpen} onClose={onDrawerClose}>
|
|
27
33
|
{children}
|
|
28
34
|
</Drawer>
|
|
29
35
|
<Button
|
|
@@ -36,7 +42,7 @@ const StatefulDrawer = ({ isOpen = true, onClose, children, ...rest }) => {
|
|
|
36
42
|
);
|
|
37
43
|
};
|
|
38
44
|
|
|
39
|
-
const DrawerComponent = ({ direction, offset }) => {
|
|
45
|
+
const DrawerComponent = ({ direction, offset }: $Shape<TypeDrawerProps>) => {
|
|
40
46
|
const [isOpen, setIsOpen] = useState(false);
|
|
41
47
|
const onOpen = () => setIsOpen(true);
|
|
42
48
|
const onClose = () => setIsOpen(false);
|
|
@@ -71,7 +77,10 @@ const DrawerComponent = ({ direction, offset }) => {
|
|
|
71
77
|
);
|
|
72
78
|
};
|
|
73
79
|
|
|
74
|
-
const NectarDrawerComponent = ({
|
|
80
|
+
const NectarDrawerComponent = ({
|
|
81
|
+
direction,
|
|
82
|
+
offset,
|
|
83
|
+
}: $Shape<TypeDrawerProps>) => {
|
|
75
84
|
const [isNotificationsOpen, setIsNotificationsOpen] = useState(false);
|
|
76
85
|
const [isPoplarOpen, setIsPoplarOpen] = useState(false);
|
|
77
86
|
const openNotifications = () => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
// @flow
|
|
1
2
|
import React, { useState } from "react";
|
|
2
|
-
import Drawer from "./";
|
|
3
|
+
import Drawer, { type TypeDrawerProps } from "./";
|
|
3
4
|
import {
|
|
4
5
|
render as testRender,
|
|
5
6
|
fireEvent,
|
|
@@ -14,7 +15,7 @@ const StatefulDrawer = ({ isOpen, onClose, children, ...rest }) => {
|
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
return (
|
|
17
|
-
<Drawer isOpen={isDrawerOpen} onClose={onDrawerClose}
|
|
18
|
+
<Drawer {...rest} isOpen={isDrawerOpen} onClose={onDrawerClose}>
|
|
18
19
|
{children}
|
|
19
20
|
</Drawer>
|
|
20
21
|
);
|
|
@@ -36,7 +37,7 @@ const render = ({
|
|
|
36
37
|
onClose = () => {},
|
|
37
38
|
id = "drawer",
|
|
38
39
|
closeButtonLabel = "close",
|
|
39
|
-
} = {}) => {
|
|
40
|
+
}: $Shape<TypeDrawerProps> = {}) => {
|
|
40
41
|
const { baseElement } = testRender(<div id="main-content" />);
|
|
41
42
|
const mainContentRef = baseElement.querySelector("#main-content");
|
|
42
43
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @flow
|
|
2
|
-
export type EnumIconNames = "active-listener" | "add-item" | "add-keyword" | "add-team-member" | "add-variable" | "address-card-outline" | "address-card-solid" | "adobe-experience-manager" | "ads" | "android" | "apple" | "approval-indicator-outline" | "approval-indicator" | "archive" | "arrow-down-line" | "arrow-down" | "arrow-left-line" | "arrow-left" | "arrow-right-line" | "arrow-right" | "arrow-up-line" | "arrow-up" | "arrows" | "asset-library-outline" | "asset-library" | "assign" | "atom" | "audio" | "back-to-top" | "bambu-icon-outline" | "bambu-icon" | "barcode" | "basketball" | "bell-outline" | "bigcommerce" | "bitly" | "bold" | "book" | "bookmark" | "bot" | "browser" | "business" | "calendar-outline" | "calendar" | "camera-outline" | "camera-story" | "camera" | "campaign" | "canva" | "carousel" | "cart-plus-outline" | "cart-plus" | "check" | "chevron-down-filled" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up-down-filled" | "chevron-up-filled" | "chevron-up" | "circle-check-outline" | "circle-check" | "circle" | "circle+" | "circles" | "circlex" | "click-to-view" | "clicks" | "clipboard-outline" | "clipboard" | "clock" | "closed-captioning" | "cloud" | "code" | "columns" | "comment-alt-outline" | "comment-alt" | "comment-lines-alt-outline" | "comment" | "compact-density" | "compact-indicator" | "comparison" | "competitor" | "compose" | "content-suggestions" | "credit-card" | "crop" | "crown" | "dashboard" | "deconstructed-negative-sentiment" | "deconstructed-neutral-sentiment" | "deconstructed-positive-sentiment" | "discovery" | "dislike-outline" | "dislike" | "dm-link-outline" | "dm-link" | "dotdotdot" | "download" | "drafts-outline" | "drafts" | "dropbox" | "duplicate-outline" | "duplicate" | "emoji-outline" | "emoji" | "empty-image" | "engagement-per-post" | "engagements" | "error" | "exchange-alt" | "expanded-indicator" | "export" | "extended-circles" | "external-link-alt" | "external-link" | "extreme-negative-sentiment" | "eye-outline" | "eye-slash-outline" | "eye-slash" | "eye" | "facebook-audience-network" | "facebook-branded-content-outline" | "facebook-branded-content" | "facebook-groups" | "facebook" | "fb-reactions-angry" | "fb-reactions-haha" | "fb-reactions-like" | "fb-reactions-love" | "fb-reactions-sad" | "fb-reactions-wow" | "feedly" | "feeds" | "female" | "file-chart-line" | "file-edit" | "file-times-solid" | "filter" | "flag-outline" | "flag" | "flat-negative-sentiment-outline" | "flat-negative-sentiment" | "flat-neutral-sentiment-outline" | "flat-neutral-sentiment" | "flat-positive-sentiment-outline" | "flat-positive-sentiment" | "folder-open" | "folder" | "follow-outline" | "follow" | "follower-increase" | "following" | "font" | "full-access" | "gear" | "gears" | "glassdoor" | "glasses" | "globe" | "google-analytics-color" | "google-business-messages" | "google-drive" | "google-my-business" | "grip" | "h1" | "h2" | "h3" | "h4" | "hamburger" | "hashtag" | "headset" | "heart-outline" | "heart" | "heartbeat" | "help-alt" | "help" | "hiking" | "history" | "home" | "hourglass" | "hubspot" | "image-caption" | "image" | "images" | "impressions-per-post" | "impressions" | "inactive-listener" | "inbox-action" | "inbox-views" | "inbox" | "indicator" | "industry" | "info" | "instagram" | "internal-activity-outline" | "internal-activity" | "italic" | "key" | "keyboard" | "laptop-phone" | "large-density" | "lift" | "like-outline" | "like" | "link" | "linkedin-audience-network" | "linkedin" | "list-ol" | "listening" | "lists" | "location-outline" | "location" | "lock" | "magic-wand" | "male" | "marketo" | "mention" | "message-preview-outline" | "message-preview" | "message" | "messages-outline" | "messages" | "messenger" | "metric-table" | "microsoft-dynamics" | "minus" | "mobile" | "monitor" | "moon" | "negative-sentiment" | "neutral-positive-sentiment" | "neutral-sentiment" | "new-trend" | "newspaper" | "no-access" | "notepad" | "notifications-publishing-outline" | "notifications-publishing" | "notifications" | "offline" | "online" | "paid-promotion-outline" | "paid-promotion" | "paid" | "paint" | "palette" | "paperclip" | "pause" | "pencil-outline" | "pencil" | "person" | "phone" | "pinterest-boards-outline" | "pinterest-boards" | "pinterest" | "play-circle" | "play" | "plug" | "plus" | "positive-sentiment" | "power-up-outline" | "power-up" | "profile-connect" | "profile-disconnect" | "publishing-outline" | "publishing" | "puzzle-piece" | "qr-code" | "queue" | "recommendation" | "reddit-alien" | "reddit" | "reels-outline" | "reels" | "referrals" | "refresh" | "rejected" | "reply-outline" | "reply" | "reporting-period" | "reporting" | "reports-home" | "reports" | "retweet" | "rss" | "sales" | "salesforce-cloud" | "salesforce" | "save-assets" | "saved-messages" | "saved-reply-outline" | "saved-reply" | "search" | "sent-message-outline" | "sent-message" | "share" | "shopify" | "shopping-bag-outline" | "shopping-bag" | "show-navigation" | "slack" | "small-density" | "smiley" | "some-access" | "sparkles" | "spike-alert" | "star-half-alt-solid" | "star-of-life" | "star-outline" | "star" | "sticky-note-outline" | "sticky-note" | "stories" | "story" | "suggestions" | "sun" | "tag-outline" | "tag" | "targeting-outline" | "targeting" | "tasks-outline" | "tasks" | "team-conversation-outline" | "team-conversation" | "team" | "text-asset" | "text" | "tiktok" | "times" | "tools" | "trash-can-outline" | "trash-can" | "trend-down" | "trend-neutral" | "trend-up" | "trends" | "triangle-black" | "triangle" | "tripadvisor-circle-outline" | "tripadvisor-circle" | "tripadvisor" | "trophy-outline" | "tumblr" | "twitter-audience-network" | "twitter" | "underline" | "unfollow-outline" | "unfollow" | "unlink" | "unlock" | "upload" | "user-circle" | "users" | "verified" | "video-camera-story" | "video-camera" | "vip" | "weight" | "whatsapp" | "window-maximize" | "window-minimize" | "window-regular" | "window-restore" | "woocommerce" | "x" | "yelp-full-star" | "yelp-half-star" | "yelp" | "youtube" | "zendesk";
|
|
2
|
+
export type EnumIconNames = "active-listener" | "add-item" | "add-keyword" | "add-team-member" | "add-variable" | "address-card-outline" | "address-card-solid" | "adobe-experience-manager" | "ads" | "advocacy-outline" | "advocacy" | "android" | "apple" | "approval-indicator-outline" | "approval-indicator" | "archive" | "arrow-down-line" | "arrow-down" | "arrow-left-line" | "arrow-left" | "arrow-right-line" | "arrow-right" | "arrow-up-line" | "arrow-up" | "arrows" | "asset-library-outline" | "asset-library" | "assign" | "atom" | "audio" | "back-to-top" | "bambu-icon-outline" | "bambu-icon" | "barcode" | "basketball" | "bell-outline" | "bigcommerce" | "bitly" | "bold" | "book" | "bookmark" | "bot" | "browser" | "business" | "calendar-outline" | "calendar" | "camera-outline" | "camera-story" | "camera" | "campaign" | "canva" | "carousel" | "cart-plus-outline" | "cart-plus" | "check" | "chevron-down-filled" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up-down-filled" | "chevron-up-filled" | "chevron-up" | "circle-check-outline" | "circle-check" | "circle" | "circle+" | "circles" | "circlex" | "click-to-view" | "clicks" | "clipboard-outline" | "clipboard" | "clock" | "closed-captioning" | "cloud" | "code" | "columns" | "comment-alt-outline" | "comment-alt" | "comment-lines-alt-outline" | "comment" | "compact-density" | "compact-indicator" | "comparison" | "competitor" | "compose" | "content-suggestions" | "credit-card" | "crop" | "crown" | "dashboard" | "deconstructed-negative-sentiment" | "deconstructed-neutral-sentiment" | "deconstructed-positive-sentiment" | "discovery" | "dislike-outline" | "dislike" | "dm-link-outline" | "dm-link" | "dotdotdot" | "download" | "drafts-outline" | "drafts" | "dropbox" | "duplicate-outline" | "duplicate" | "emoji-outline" | "emoji" | "empty-image" | "engagement-per-post" | "engagements" | "error" | "exchange-alt" | "expanded-indicator" | "export" | "extended-circles" | "external-link-alt" | "external-link" | "extreme-negative-sentiment" | "eye-outline" | "eye-slash-outline" | "eye-slash" | "eye" | "facebook-audience-network" | "facebook-branded-content-outline" | "facebook-branded-content" | "facebook-groups" | "facebook" | "fb-reactions-angry" | "fb-reactions-haha" | "fb-reactions-like" | "fb-reactions-love" | "fb-reactions-sad" | "fb-reactions-wow" | "feedly" | "feeds" | "female" | "file-chart-line" | "file-edit" | "file-times-solid" | "filter" | "flag-outline" | "flag" | "flat-negative-sentiment-outline" | "flat-negative-sentiment" | "flat-neutral-sentiment-outline" | "flat-neutral-sentiment" | "flat-positive-sentiment-outline" | "flat-positive-sentiment" | "folder-open" | "folder" | "follow-outline" | "follow" | "follower-increase" | "following" | "font" | "full-access" | "gear" | "gears" | "glassdoor" | "glasses" | "globe" | "google-analytics-color" | "google-business-messages" | "google-drive" | "google-my-business" | "grip" | "h1" | "h2" | "h3" | "h4" | "hamburger" | "hashtag" | "headset" | "heart-outline" | "heart" | "heartbeat" | "help-alt" | "help" | "hiking" | "history" | "home" | "hourglass" | "hubspot" | "image-caption" | "image" | "images" | "impressions-per-post" | "impressions" | "inactive-listener" | "inbox-action" | "inbox-views" | "inbox" | "indicator" | "industry" | "info" | "instagram" | "internal-activity-outline" | "internal-activity" | "italic" | "key" | "keyboard" | "laptop-phone" | "large-density" | "lift" | "like-outline" | "like" | "link" | "linkedin-audience-network" | "linkedin" | "list-ol" | "listening" | "lists" | "location-outline" | "location" | "lock" | "magic-wand" | "male" | "marketo" | "mention" | "message-preview-outline" | "message-preview" | "message" | "messages-outline" | "messages" | "messenger" | "metric-table" | "microsoft-dynamics" | "minus" | "mobile" | "monitor" | "moon" | "negative-sentiment" | "neutral-positive-sentiment" | "neutral-sentiment" | "new-trend" | "newspaper" | "no-access" | "notepad" | "notifications-publishing-outline" | "notifications-publishing" | "notifications" | "offline" | "online" | "paid-promotion-outline" | "paid-promotion" | "paid" | "paint" | "palette" | "paperclip" | "pause" | "pencil-outline" | "pencil" | "person" | "phone" | "pinterest-boards-outline" | "pinterest-boards" | "pinterest" | "play-circle" | "play" | "plug" | "plus" | "positive-sentiment" | "power-up-outline" | "power-up" | "profile-connect" | "profile-disconnect" | "publishing-outline" | "publishing" | "puzzle-piece" | "qr-code" | "queue" | "recommendation" | "reddit-alien" | "reddit" | "reels-outline" | "reels" | "referrals" | "refresh" | "rejected" | "reply-outline" | "reply" | "reporting-period" | "reporting" | "reports-home" | "reports" | "retweet" | "rss" | "sales" | "salesforce-cloud" | "salesforce" | "save-assets" | "saved-messages" | "saved-reply-outline" | "saved-reply" | "search" | "sent-message-outline" | "sent-message" | "share" | "shopify" | "shopping-bag-outline" | "shopping-bag" | "show-navigation" | "slack" | "small-density" | "smiley" | "some-access" | "sparkles" | "spike-alert" | "star-half-alt-solid" | "star-of-life" | "star-outline" | "star" | "sticky-note-outline" | "sticky-note" | "stories" | "story" | "suggestions" | "sun" | "tag-outline" | "tag" | "targeting-outline" | "targeting" | "tasks-outline" | "tasks" | "team-conversation-outline" | "team-conversation" | "team" | "text-asset" | "text" | "tiktok" | "times" | "tools" | "trash-can-outline" | "trash-can" | "trend-down" | "trend-neutral" | "trend-up" | "trends" | "triangle-black" | "triangle" | "tripadvisor-circle-outline" | "tripadvisor-circle" | "tripadvisor" | "trophy-outline" | "tumblr" | "twitter-audience-network" | "twitter" | "underline" | "unfollow-outline" | "unfollow" | "unlink" | "unlock" | "upload" | "user-circle" | "users" | "verified" | "video-camera-story" | "video-camera" | "vip" | "weight" | "whatsapp" | "window-maximize" | "window-minimize" | "window-regular" | "window-restore" | "woocommerce" | "x" | "yelp-full-star" | "yelp-half-star" | "yelp" | "youtube" | "zendesk";
|