diff --git a/frontend/components/IconToolTip/IconToolTip.tsx b/frontend/components/IconToolTip/IconToolTip.tsx
new file mode 100644
index 000000000..6accd1d39
--- /dev/null
+++ b/frontend/components/IconToolTip/IconToolTip.tsx
@@ -0,0 +1,26 @@
+import React from 'react';
+import ReactTooltip from 'react-tooltip';
+
+interface IIconToolTipProps {
+ text: string;
+ isHtml?: boolean;
+}
+
+// TODO: handle html text better. possibly use 'children' prop for html
+const IconToolTip = (props: IIconToolTipProps): JSX.Element => {
+ const { text, isHtml } = props;
+ return (
+
+
+
+
+
+
+
+ {/* same colour as $core-dark-blue-grey */}
+
+
+ );
+};
+
+export default IconToolTip;
diff --git a/frontend/components/IconToolTip/index.ts b/frontend/components/IconToolTip/index.ts
new file mode 100644
index 000000000..b4f1c9e92
--- /dev/null
+++ b/frontend/components/IconToolTip/index.ts
@@ -0,0 +1 @@
+export { default } from './IconToolTip';
diff --git a/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx b/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx
index 0eeb8b8e8..c70c0e758 100644
--- a/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx
+++ b/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx
@@ -13,6 +13,7 @@ import InputField from 'components/forms/fields/InputField';
import OrgLogoIcon from 'components/icons/OrgLogoIcon';
import Slider from 'components/forms/fields/Slider';
import validate from 'components/forms/admin/AppConfigForm/validate';
+import IconToolTip from 'components/IconToolTip';
const authMethodOptions = [
{ label: 'Plain', value: 'authmethod_plain' },
@@ -111,12 +112,17 @@ class AppConfigForm extends Component {
-
Domain - If you need to specify a HELO domain, you can do it here (Default: Blank )
-
Verify SSL Certs - Turn this off (not recommended) if you use a self-signed certificate (Default: On )
-
Enable STARTTLS - Detects if STARTTLS is enabled in your SMTP server and starts to use it. (Default: On )
-
Host Expiry - When enabled, allows automatic cleanup of hosts that have not communicated with Fleet in some number of days. (Default: Off )
-
Host Expiry Window - If a host has not communicated with Fleet in the specified number of days, it will be removed.
-
Disable Live Queries - When enabled, disables the ability to run live queries (ad hoc queries executed via the UI or fleetctl). (Default: Off )
+
Domain - If you need to specify a HELO domain, you can do it here (Default: Blank ) \
+ Verify SSL Certs - Turn this off (not recommended) if you use a self-signed certificate (Default: On )
\
+ Enable STARTTLS - Detects if STARTTLS is enabled in your SMTP server and starts to use it. (Default: On )
\
+ Host Expiry - When enabled, allows automatic cleanup of hosts that have not communicated with Fleet in some number of days. (Default: Off )
\
+ Host Expiry Window - If a host has not communicated with Fleet in the specified number of days, it will be removed.
\
+ Disable Live Queries - When enabled, disables the ability to run live queries (ad hoc queries executed via the UI or fleetctl). (Default: Off )
\
+ '}
+ />
);
@@ -183,7 +189,7 @@ class AppConfigForm extends Component {
/>
-
The base URL of this instance for use in Fleet links.
+
@@ -205,7 +211,7 @@ class AppConfigForm extends Component {
/>
-
A required human friendly name for the identity provider that will provide single sign on authentication.
+
@@ -216,7 +222,7 @@ class AppConfigForm extends Component {
/>
-
The required entity ID is a URI that you use to identify Fleet when configuring the identity provider.
+
@@ -224,11 +230,13 @@ class AppConfigForm extends Component {
{...fields.issuer_uri}
label="Issuer URI"
/>
+
-
The issuer URI supplied by the identity provider.
+
+
-
An optional link to an image such as a logo for the identity provider.
+
@@ -247,7 +255,7 @@ class AppConfigForm extends Component {
/>
-
Metadata provided by the identity provider. Either metadata or a metadata url must be provided.
+
@@ -256,11 +264,11 @@ class AppConfigForm extends Component {
label="Metadata URL"
hint={If available from the identity provider, this is the preferred means of providing metadata. }
/>
+
-
A URL that references the identity provider metadata.
+
-
@@ -282,8 +290,9 @@ class AppConfigForm extends Component {
/>
-
The sender address for emails from Fleet.
+
+
-
The hostname / IP address and corresponding port of your organization's SMTP server.
+
+
-
If your mail server requires authentication, you need to specify the authentication type here.
-
No Authentication - Select this if your SMTP is open.
-
Username & Password - Select this if your SMTP server requires authentication with a username and password.
+
If your mail server requires authentication, you need to specify the authentication type here. \
+ No Authentication - Select this if your SMTP is open.
\
+ Username & Password - Select this if your SMTP server requires authentication with a username and password.
\
+ '}
+ />
diff --git a/frontend/components/forms/admin/AppConfigForm/_styles.scss b/frontend/components/forms/admin/AppConfigForm/_styles.scss
index 20ea7ac61..8394b242f 100644
--- a/frontend/components/forms/admin/AppConfigForm/_styles.scss
+++ b/frontend/components/forms/admin/AppConfigForm/_styles.scss
@@ -99,9 +99,7 @@
float: right;
width: 40%;
- p {
- font-size: $x-small;
- font-style: italic;
+ .icon-tooltip {
margin: 32px 0;
}
diff --git a/package.json b/package.json
index a2c036af0..60176f347 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
"cypress:open": "cypress open"
},
"dependencies": {
+ "@types/react-tooltip": "^4.2.4",
"ace-builds": "1.3.1",
"autoprefixer": "^9.4.3",
"bourbon": "^5.0.0",
@@ -51,7 +52,7 @@
"react-select": "^1",
"react-table": "^7.6.3",
"react-tabs": "^3.2.0",
- "react-tooltip": "^4.2.13",
+ "react-tooltip": "^4.2.15",
"redux": "4.0.5",
"redux-mock-store": "1.4.0",
"redux-thunk": "2.3.0",
diff --git a/yarn.lock b/yarn.lock
index adfdf7ae2..e0a1d6a05 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1593,6 +1593,13 @@
dependencies:
"@types/react" "*"
+"@types/react-tooltip@^4.2.4":
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/@types/react-tooltip/-/react-tooltip-4.2.4.tgz#d0acad2a3061806e10aab91dd26a95a77fd35125"
+ integrity sha512-UzjzmgY/VH3Str6DcAGTLMA1mVVhGOyARNTANExrirtp+JgxhaIOVDxq4TIRmpSi4voLv+w4HA9CC5GvhhCA0A==
+ dependencies:
+ react-tooltip "*"
+
"@types/react@*", "@types/react@^17.0.2":
version "17.0.2"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.2.tgz#3de24c4efef902dd9795a49c75f760cbe4f7a5a8"
@@ -10656,10 +10663,10 @@ react-test-renderer@^16.0.0-0:
react-is "^16.8.6"
scheduler "^0.13.6"
-react-tooltip@^4.2.13:
- version "4.2.13"
- resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.13.tgz#908db8a41dc10ae2ae9cc1864746cde939aaab0f"
- integrity sha512-iAZ02wSxChLWb7Vnu0zeQMyAo/jiGHrwFNILWaR3pCKaFVRjKcv/B6TBI4+Xd66xLXVzLngwJ91Tf5D+mqAqVA==
+react-tooltip@*, react-tooltip@^4.2.15:
+ version "4.2.15"
+ resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.15.tgz#ae278931a222434ae597c57aab07be215a2aa5f9"
+ integrity sha512-xmVWi6N1qsrACiAquv28jhQ10igFbQX0Xk5rjSjgUPi9BAf8lCFhYpdFXe6NrEeuPrM7hdZkePa3eS2SrIRxIw==
dependencies:
prop-types "^15.7.2"
uuid "^7.0.3"