diff --git a/package-lock.json b/package-lock.json index 4cdba09b2fb..87b0c5d005a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12165,13 +12165,13 @@ } }, "node_modules/@zendeskgarden/container-focusjail": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@zendeskgarden/container-focusjail/-/container-focusjail-2.0.19.tgz", - "integrity": "sha512-cj+4Dfy5Vjzargq6qAvPAqPhgsFUT3EHkJY3KUsTfZn0M3/Lsxa7X5dzGQZS3d2sMtnhMuMM8bY3/t79QKnCAg==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@zendeskgarden/container-focusjail/-/container-focusjail-2.0.20.tgz", + "integrity": "sha512-hVD0syPHyJzURaxIHSzdNxHS5gdmSXQtIELEI9xFi4l++ywccx8uIIACtUTfogHYM5UbnlGI+cXmNdVXOWlb5g==", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.8.4", - "@zendeskgarden/container-utilities": "^2.0.2", + "@zendeskgarden/container-utilities": "^2.0.3", "dom-helpers": "^5.1.0", "tabbable": "^6.0.0" }, @@ -12228,14 +12228,14 @@ } }, "node_modules/@zendeskgarden/container-modal": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@zendeskgarden/container-modal/-/container-modal-1.0.19.tgz", - "integrity": "sha512-KBDEKf1f32xcE2sN2uSebbN6AhFE54kAYT8v2BiffLIIExkfyejnPWEBXv32PVpiOEgITK+Mxf+x1DkX0MFjfg==", + "version": "1.0.21", + "resolved": "https://registry.npmjs.org/@zendeskgarden/container-modal/-/container-modal-1.0.21.tgz", + "integrity": "sha512-Ue91q2SMOcrMZ8dw8bmrmIKgE9ppmxkWSucrjZ5thOmHy+oSCZaihElJXJt7VsyGxugMIyfy3FHxgw6KJJP8mQ==", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.8.4", - "@zendeskgarden/container-focusjail": "^2.0.19", - "@zendeskgarden/container-utilities": "^2.0.2" + "@zendeskgarden/container-focusjail": "^2.0.20", + "@zendeskgarden/container-utilities": "^2.0.3" }, "peerDependencies": { "prop-types": "^15.6.1", @@ -31243,6 +31243,48 @@ "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", "dev": true }, + "node_modules/netlify-cli/node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "extraneous": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/netlify-cli/node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "extraneous": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/netlify-cli/node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "extraneous": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/netlify-cli/node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "extraneous": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, "node_modules/netlify-cli/node_modules/@types/http-cache-semantics": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", @@ -31282,6 +31324,12 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/netlify-cli/node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "extraneous": true + }, "node_modules/netlify-cli/node_modules/@types/node": { "version": "20.14.8", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", @@ -31297,12 +31345,34 @@ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, + "node_modules/netlify-cli/node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "extraneous": true + }, + "node_modules/netlify-cli/node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "extraneous": true + }, "node_modules/netlify-cli/node_modules/@types/retry": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, + "node_modules/netlify-cli/node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "extraneous": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, "node_modules/netlify-cli/node_modules/@types/yargs-parser": { "version": "20.2.1", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", @@ -31683,6 +31753,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "extraneous": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/netlify-cli/node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", @@ -34970,6 +35056,12 @@ "node": ">=8.6.0" } }, + "node_modules/netlify-cli/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "extraneous": true + }, "node_modules/netlify-cli/node_modules/fast-json-stringify": { "version": "5.15.1", "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.15.1.tgz", @@ -36664,6 +36756,15 @@ "ipx": "bin/ipx.mjs" } }, + "node_modules/netlify-cli/node_modules/ipx/node_modules/@netlify/blobs": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-6.5.0.tgz", + "integrity": "sha512-wRFlNnL/Qv3WNLZd3OT/YYqF1zb6iPSo8T31sl9ccL1ahBxW1fBqKgF4b1XL7Z+6mRIkatvcsVPkWBcO+oJMNA==", + "extraneous": true, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, "node_modules/netlify-cli/node_modules/ipx/node_modules/lru-cache": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", @@ -37219,6 +37320,12 @@ "fast-deep-equal": "^3.1.3" } }, + "node_modules/netlify-cli/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "extraneous": true + }, "node_modules/netlify-cli/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -49277,9 +49384,10 @@ "dev": true }, "node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.3.0.tgz", + "integrity": "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==", + "license": "MIT" }, "node_modules/table": { "version": "6.9.0", @@ -52046,7 +52154,7 @@ "license": "Apache-2.0", "dependencies": { "@floating-ui/react-dom": "^2.0.0", - "@zendeskgarden/container-modal": "^1.0.15", + "@zendeskgarden/container-modal": "^1.0.21", "@zendeskgarden/container-utilities": "^2.0.0", "@zendeskgarden/react-buttons": "^9.12.1", "dom-helpers": "^5.1.0", diff --git a/packages/colorpickers/src/elements/ColorPickerDialog/index.spec.tsx b/packages/colorpickers/src/elements/ColorPickerDialog/index.spec.tsx index 059078fe11a..6e5e68ce351 100644 --- a/packages/colorpickers/src/elements/ColorPickerDialog/index.spec.tsx +++ b/packages/colorpickers/src/elements/ColorPickerDialog/index.spec.tsx @@ -49,7 +49,7 @@ describe('ColorPickerDialog', () => { await user.keyboard('{escape}'); - expect(onDialogChange).toHaveBeenCalledTimes(2); + expect(onDialogChange).toHaveBeenCalledTimes(3); expect(onDialogChange).toHaveBeenCalledWith({ isOpen: false }); }); diff --git a/packages/colorpickers/src/elements/ColorSwatchDialog/index.spec.tsx b/packages/colorpickers/src/elements/ColorSwatchDialog/index.spec.tsx index fd433305009..3d49d709933 100644 --- a/packages/colorpickers/src/elements/ColorSwatchDialog/index.spec.tsx +++ b/packages/colorpickers/src/elements/ColorSwatchDialog/index.spec.tsx @@ -78,7 +78,7 @@ describe('ColorSwatchDialog', () => { await user.keyboard('{escape}'); - expect(onDialogChange).toHaveBeenCalledTimes(2); + expect(onDialogChange).toHaveBeenCalledTimes(3); expect(onDialogChange).toHaveBeenCalledWith({ isOpen: false }); }); diff --git a/packages/modals/package.json b/packages/modals/package.json index e1a631d55a7..5c3bdf1c0c1 100644 --- a/packages/modals/package.json +++ b/packages/modals/package.json @@ -22,7 +22,7 @@ "types": "dist/typings/index.d.ts", "dependencies": { "@floating-ui/react-dom": "^2.0.0", - "@zendeskgarden/container-modal": "^1.0.15", + "@zendeskgarden/container-modal": "^1.0.21", "@zendeskgarden/container-utilities": "^2.0.0", "@zendeskgarden/react-buttons": "^9.12.1", "dom-helpers": "^5.1.0", diff --git a/packages/modals/src/elements/TooltipDialog/TooltipDialog.spec.tsx b/packages/modals/src/elements/TooltipDialog/TooltipDialog.spec.tsx index 881223f12f2..b25dcc5233c 100644 --- a/packages/modals/src/elements/TooltipDialog/TooltipDialog.spec.tsx +++ b/packages/modals/src/elements/TooltipDialog/TooltipDialog.spec.tsx @@ -264,36 +264,24 @@ describe('TooltipDialog', () => { expect(getByTestId('backdrop')).toHaveAttribute('aria-hidden', 'true'); // Open - await act(async () => { - await user.click(trigger); - }); + await user.click(trigger); const openDialog = getByRole('dialog'); - expect(openDialog).toBeInTheDocument(); - expect(getByTestId('backdrop')).not.toHaveAttribute('aria-hidden'); - expect(openDialog).toHaveFocus(); + + expect(openDialog).not.toBeNull(); + // Backdrop should NOT have hideVisually styles when visible const visibleBackdropStyles = window.getComputedStyle(getByTestId('backdrop')); + expect(visibleBackdropStyles.position).toBe('fixed'); // Close (toggle button again) - await act(async () => { - await user.click(trigger); - }); + await user.click(trigger); - // Dialog remains mounted but visually hidden again const hiddenAgainDialog = queryByRole('dialog', { hidden: true }); + + // Dialog remains mounted but visually hidden again expect(hiddenAgainDialog).not.toBeNull(); - await waitFor(() => { - expect(getByTestId('backdrop')).toHaveAttribute('aria-hidden', 'true'); - // Backdrop should have hideVisually styles applied again - const hiddenBackdropStyles = window.getComputedStyle(getByTestId('backdrop')); - expect(hiddenBackdropStyles.position).toBe('absolute'); - expect(hiddenBackdropStyles.width).toBe('1px'); - expect(hiddenBackdropStyles.height).toBe('1px'); - }); - // Focus should return to trigger - expect(trigger).toHaveFocus(); }); }); }); diff --git a/packages/modals/src/elements/TooltipDialog/TooltipDialog.tsx b/packages/modals/src/elements/TooltipDialog/TooltipDialog.tsx index d14bed2a9a5..db52c3582c2 100644 --- a/packages/modals/src/elements/TooltipDialog/TooltipDialog.tsx +++ b/packages/modals/src/elements/TooltipDialog/TooltipDialog.tsx @@ -189,6 +189,7 @@ const TooltipDialogComponent = React.forwardRef) => `