diff --git a/package.json b/package.json
index c5dfb29a..df61a4fd 100644
--- a/package.json
+++ b/package.json
@@ -82,19 +82,19 @@
},
"devDependencies": {
"@size-limit/preset-small-lib": "^7.0.3",
- "@testing-library/react": "^13.1.1",
- "@testing-library/react-hooks": "^7.0.0",
+ "@testing-library/react": "^13.4.0",
+ "@testing-library/react-hooks": "^8.0.1",
"@types/jsdom": "^16.2.5",
- "@types/react": "^17.0.0",
- "@types/react-dom": "^18.0.0",
+ "@types/react": "^18.0.20",
+ "@types/react-dom": "^18.0.6",
"cypress": "8.7.0",
"dotenv": "^16.0.0",
"eslint-plugin-simple-import-sort": "^8.0.0",
"husky": "^7.0.0",
"jsdom": "^16.4.0",
"np": "^7.0.0",
- "react": "^18.0.0",
- "react-dom": "^18.0.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-test-renderer": "^18.0.0",
"size-limit": "^7.0.3",
"tsdx": "^0.14.1",
diff --git a/src/types.ts b/src/types.ts
index 6d24fe80..147a4c23 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -396,10 +396,6 @@ export type IntercomProviderProps = {
* @remarks if `true`, 'boot' does not need to be called manually
* */
autoBoot?: boolean;
- /**
- * React children
- */
- children: React.ReactNode;
/**
* When we hide the messenger, you can hook into the event. This requires a function argument.
*/
diff --git a/test/intercomProvider.test.tsx b/test/intercomProvider.test.tsx
index 4b616eb5..237d334f 100644
--- a/test/intercomProvider.test.tsx
+++ b/test/intercomProvider.test.tsx
@@ -39,13 +39,20 @@ describe('IntercomProvider', () => {
test('should not call `onShow` callback when not calling `show`', () => {
const mockOnShow = jest.fn();
- renderHook(() => useIntercom(), {
- wrapper: ({ children }) => (
-
- {children}
-
- ),
- });
+ renderHook<{ children: React.ReactNode }, ReturnType>(
+ () => useIntercom(),
+ {
+ wrapper: ({ children }) => (
+
+ {children}
+
+ ),
+ },
+ );
expect(mockOnShow).not.toBeCalled();
});
@@ -53,7 +60,10 @@ describe('IntercomProvider', () => {
test('should set `window.intercomSettings.apiBase` on autoBoot', () => {
const apiBase = `https://${INTERCOM_APP_ID}.intercom-messenger.com`;
- const { result } = renderHook(() => useIntercom(), {
+ const { result } = renderHook<
+ { children: React.ReactNode },
+ ReturnType
+ >(() => useIntercom(), {
wrapper: ({ children }) => (
{children}
@@ -76,19 +86,22 @@ describe('IntercomProvider', () => {
test('should pass props when `autoBootProps` is passed', () => {
const phone = '123456';
- renderHook(() => useIntercom(), {
- wrapper: ({ children }) => (
-
- {children}
-
- ),
- });
+ renderHook<{ children: React.ReactNode }, ReturnType>(
+ () => useIntercom(),
+ {
+ wrapper: ({ children }) => (
+
+ {children}
+
+ ),
+ },
+ );
expect(window.intercomSettings).toEqual({
app_id: INTERCOM_APP_ID,
@@ -99,7 +112,10 @@ describe('IntercomProvider', () => {
test('should not pass props when `autoBootProps` is passed and `autoBoot` is `false`', () => {
const phone = '123456';
- const { result } = renderHook(() => useIntercom(), {
+ const { result } = renderHook<
+ { children: React.ReactNode },
+ ReturnType
+ >(() => useIntercom(), {
wrapper: ({ children }) => (
{
test('should be available when wrapped in context', () => {
- const { result } = renderHook(() => useIntercom(), {
+ const { result } = renderHook<
+ { children: React.ReactNode },
+ ReturnType
+ >(() => useIntercom(), {
wrapper: ({ children }) => (
{children}
),
@@ -30,7 +33,10 @@ describe('useIntercom', () => {
});
test('should set `window.intercomSettings.appId` on boot', () => {
- const { result } = renderHook(() => useIntercom(), {
+ const { result } = renderHook<
+ { children: React.ReactNode },
+ ReturnType
+ >(() => useIntercom(), {
wrapper: ({ children }) => (
{children}
),
@@ -46,7 +52,10 @@ describe('useIntercom', () => {
});
test('should await a certain amount on delayed initialization', async () => {
- const { result, waitFor } = renderHook(() => useIntercom(), {
+ const { result, waitFor } = renderHook<
+ { children: React.ReactNode },
+ ReturnType
+ >(() => useIntercom(), {
wrapper: ({ children }) => (
{children}
@@ -72,7 +81,10 @@ describe('useIntercom', () => {
});
it('should remove `window.intercomSettings` on shutdown', () => {
- const { result } = renderHook(() => useIntercom(), {
+ const { result } = renderHook<
+ { children: React.ReactNode },
+ ReturnType
+ >(() => useIntercom(), {
wrapper: ({ children }) => (
{children}
),
diff --git a/yarn.lock b/yarn.lock
index 08f93935..0071ed73 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1353,18 +1353,15 @@
lz-string "^1.4.4"
pretty-format "^27.0.2"
-"@testing-library/react-hooks@^7.0.0":
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-7.0.2.tgz#3388d07f562d91e7f2431a4a21b5186062ecfee0"
- integrity sha512-dYxpz8u9m4q1TuzfcUApqi8iFfR6R0FaMbr2hjZJy1uC8z+bO/K4v8Gs9eogGKYQop7QsrBTFkv/BCF7MzD2Cg==
+"@testing-library/react-hooks@^8.0.1":
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz#0924bbd5b55e0c0c0502d1754657ada66947ca12"
+ integrity sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==
dependencies:
"@babel/runtime" "^7.12.5"
- "@types/react" ">=16.9.0"
- "@types/react-dom" ">=16.9.0"
- "@types/react-test-renderer" ">=16.9.0"
react-error-boundary "^3.1.0"
-"@testing-library/react@^13.1.1":
+"@testing-library/react@^13.4.0":
version "13.4.0"
resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966"
integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==
@@ -1549,24 +1546,24 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
-"@types/react-dom@>=16.9.0", "@types/react-dom@^18.0.0":
+"@types/react-dom@^18.0.0":
version "18.0.5"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.5.tgz#330b2d472c22f796e5531446939eacef8378444a"
integrity sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==
dependencies:
"@types/react" "*"
-"@types/react-test-renderer@>=16.9.0":
- version "17.0.0"
- resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-17.0.0.tgz#9be47b375eeb906fced37049e67284a438d56620"
- integrity sha512-nvw+F81OmyzpyIE1S0xWpLonLUZCMewslPuA8BtjSKc5XEbn8zEQBXS7KuOLHTNnSOEM2Pum50gHOoZ62tqTRg==
+"@types/react-dom@^18.0.6":
+ version "18.0.6"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1"
+ integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@>=16.9.0", "@types/react@^17.0.0":
- version "17.0.43"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.43.tgz#4adc142887dd4a2601ce730bc56c3436fdb07a55"
- integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==
+"@types/react@*", "@types/react@^18.0.20":
+ version "18.0.20"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.20.tgz#e4c36be3a55eb5b456ecf501bd4a00fd4fd0c9ab"
+ integrity sha512-MWul1teSPxujEHVwZl4a5HxQ9vVNsjTchVA+xRqv/VYGCuKGAU6UhfrTdF5aBefwD1BHUD8i/zq+O/vyCm/FrA==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -6764,13 +6761,13 @@ rc@^1.2.8:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-react-dom@^18.0.0:
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.1.0.tgz#7f6dd84b706408adde05e1df575b3a024d7e8a2f"
- integrity sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==
+react-dom@^18.2.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
+ integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
dependencies:
loose-envify "^1.1.0"
- scheduler "^0.22.0"
+ scheduler "^0.23.0"
react-error-boundary@^3.1.0:
version "3.1.0"
@@ -6811,10 +6808,10 @@ react-test-renderer@^18.0.0:
react-shallow-renderer "^16.15.0"
scheduler "^0.22.0"
-react@^18.0.0:
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890"
- integrity sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==
+react@^18.2.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
+ integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
dependencies:
loose-envify "^1.1.0"
@@ -7274,6 +7271,13 @@ scheduler@^0.22.0:
dependencies:
loose-envify "^1.1.0"
+scheduler@^0.23.0:
+ version "0.23.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
+ integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
+ dependencies:
+ loose-envify "^1.1.0"
+
scoped-regex@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-2.1.0.tgz#7b9be845d81fd9d21d1ec97c61a0b7cf86d2015f"