diff --git a/package-lock.json b/package-lock.json
index f09e9f122f..8f3ecde863 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -53845,28 +53845,652 @@
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.22.15",
- "@instructure/emotion": "8.44.0",
- "@instructure/shared-types": "8.44.0",
- "@instructure/ui-icons": "8.44.0",
- "@instructure/ui-link": "8.44.0",
- "@instructure/ui-prop-types": "8.44.0",
- "@instructure/ui-react-utils": "8.44.0",
- "@instructure/ui-testable": "8.44.0",
- "@instructure/ui-truncate-text": "8.44.0",
- "@instructure/ui-utils": "8.44.0",
- "@instructure/ui-view": "8.44.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-icons": "8.45.0",
+ "@instructure/ui-link": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-truncate-text": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/ui-view": "8.45.0",
"prop-types": "^15.8.1"
},
"devDependencies": {
- "@instructure/ui-babel-preset": "8.44.0",
- "@instructure/ui-test-locator": "8.44.0",
- "@instructure/ui-test-utils": "8.44.0",
- "@instructure/ui-themes": "8.44.0"
+ "@instructure/ui-axe-check": "8.45.0",
+ "@instructure/ui-babel-preset": "8.45.0",
+ "@instructure/ui-test-utils": "8.45.0",
+ "@instructure/ui-themes": "8.45.0",
+ "@testing-library/jest-dom": "^5.17.0",
+ "@testing-library/react": "^14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/babel-plugin-transform-imports": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/babel-plugin-transform-imports/-/babel-plugin-transform-imports-8.45.0.tgz",
+ "integrity": "sha512-gZPyyt5vaKLb/9wA9c5lIY62mtJh0d+rOZKXQWNhpNRJ5iTvzoj0Ql8HEQ5f99T6ySIWvA5mFdVavcnt/xHa3w==",
+ "dev": true,
+ "dependencies": {
+ "globby": "^11.1.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/browserslist-config-instui": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/browserslist-config-instui/-/browserslist-config-instui-8.45.0.tgz",
+ "integrity": "sha512-zoKbMpVPYTjlRVSu+xuqXmz22byZPx1HSEasUDYj+OAWCRAQL0CxAkYQTxuq9Wo5/tyHVNSjD7s5e76d+hFVzg==",
+ "dev": true
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/canvas-high-contrast-theme": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/canvas-high-contrast-theme/-/canvas-high-contrast-theme-8.45.0.tgz",
+ "integrity": "sha512-SUIafllHhHD+BulCY1xXqPcfKVsWVaEk8IgFtGPGVqKIJnBLulVtrnJneHAIjTybKOnPOmONNLdpN0vm1T97Rg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-theme-tokens": "8.45.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/canvas-theme": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/canvas-theme/-/canvas-theme-8.45.0.tgz",
+ "integrity": "sha512-5DuiqFjMRjSVgUWT8BfJ9cQuLwioVfCGUblQAdcCSdfd8qsITmaWfT4KSx/j7CTIbo8LzAWmbGN985Pm79Pzvg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-theme-tokens": "8.45.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/console": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/console/-/console-8.45.0.tgz",
+ "integrity": "sha512-3Ab41QxVP/SmHEoMutsz2dojPgNoMj+sBPOGcif9GejX8IYPXesUnUWsDqZqtkDVmoTGQ/c1X0frWIt3rARZzg==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.15",
+ "babel-plugin-macros": "^3.1.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/debounce": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/debounce/-/debounce-8.45.0.tgz",
+ "integrity": "sha512-dG16cqoNo8JsM0xpTzvHfe7BL22LZTJsd4fPFPKCgyC9Ze9XGxrAJYhEYzNsRUxtZw5HjehPUQ7CHG8wqVXmuQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/emotion": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/emotion/-/emotion-8.45.0.tgz",
+ "integrity": "sha512-rZcFlIEgfmCL73kyvoCPcGhWOAwq8rbRYTfqAsbrZQfGGumrcTMUT7vBU9CWkZdUBEzDf9FQvpPOAytgS7kiDQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@emotion/react": "^11.11.1",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-i18n": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-themes": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "hoist-non-react-statics": "^3.3.2",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/instructure-theme": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/instructure-theme/-/instructure-theme-8.45.0.tgz",
+ "integrity": "sha512-u/Tnk05+p0+E329mju2j97/NDoUSQcrWWPNCT/F/OY06dDdSjldYvL6lpPeNhMAaJz7qvVX9G6XjJlqnRpZlKQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-theme-tokens": "8.45.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/shared-types": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/shared-types/-/shared-types-8.45.0.tgz",
+ "integrity": "sha512-KP+/SlXy6q46Lr0Div+NqKK3/GaWkVhEdXiB2SnVUhCryKFq8h8mnTR0iTyJidpuBoRDENHzBHYE9/69HRP+5w==",
+ "dependencies": {
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/theme-registry": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/theme-registry/-/theme-registry-8.45.0.tgz",
+ "integrity": "sha512-JWT5EwjyiEMM8rlKlI7zONPfHFuTKzxde4cymRj5XBWw3jcI8BSKkAwoeGPNkI25kudNyeL6OYe+TIukxyXvHg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-utils": "8.45.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-a11y-content": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-a11y-content/-/ui-a11y-content-8.45.0.tgz",
+ "integrity": "sha512-CdWNWLgHAL0fYdT7YryQdy/OSG3UrxCep6OYMb0IbUc/Q1yKSCyO53pXsdwjePpYrVydc618ujqyDJPBaCvSvw==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "keycode": "^2.2.1",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-a11y-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-a11y-utils/-/ui-a11y-utils-8.45.0.tgz",
+ "integrity": "sha512-mbuZyOO0+RPYQCn6FyHnLGiUFNWOj6JvRW9AWPCkuBkmJ2Mhuc/oO73awYyCsJHLm12RdtfIdl/BBP6la4HXQg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/ui-a11y-content": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "keycode": "^2.2.1",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-axe-check": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-axe-check/-/ui-axe-check-8.45.0.tgz",
+ "integrity": "sha512-S6KjrMeu6DGwtwYvlLz0FCrqHbUCp88bPt0bkjoWbMpErSVxOGJO33tyDavpdYzQwTS1esSR6jHxNue2o16G7w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "axe-core": "^4.7.2"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-babel-preset": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-babel-preset/-/ui-babel-preset-8.45.0.tgz",
+ "integrity": "sha512-M0VqOjWxDeGRFhm1N6oeDBs6lP8QnrWY1KcMCUCqw72OaAfRfMFGLYf4L7n46/cJDeWZsoj2Rip6bpaZGgTjag==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.22.15",
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
+ "@babel/plugin-proposal-decorators": "^7.22.15",
+ "@babel/plugin-proposal-export-default-from": "^7.22.5",
+ "@babel/plugin-proposal-optional-chaining": "^7.21.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-classes": "^7.22.15",
+ "@babel/plugin-transform-destructuring": "^7.22.15",
+ "@babel/plugin-transform-react-constant-elements": "^7.22.5",
+ "@babel/plugin-transform-react-display-name": "^7.22.5",
+ "@babel/plugin-transform-runtime": "^7.22.15",
+ "@babel/preset-env": "^7.22.15",
+ "@babel/preset-react": "^7.22.15",
+ "@babel/preset-typescript": "^7.22.15",
+ "@babel/runtime": "^7.22.15",
+ "@instructure/babel-plugin-transform-imports": "8.45.0",
+ "@instructure/browserslist-config-instui": "8.45.0",
+ "babel-loader": "^9.1.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-plugin-macros": "^3.1.0",
+ "babel-plugin-transform-ensure-ignore": "^0.1.0",
+ "babel-plugin-transform-remove-console": "^6.9.4",
+ "babel-plugin-transform-undefined-to-void": "^6.9.4",
+ "core-js": "3.32.1"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-color-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-color-utils/-/ui-color-utils-8.45.0.tgz",
+ "integrity": "sha512-KLALK09SiqSkw4LH5qH13sLGoLEBp3TZr4r4RI04300405kzfkHenhFrsRpOr7ztU3QQeb4/fMNi6pdNZ0CWTQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "tinycolor2": "^1.6.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-decorator": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-decorator/-/ui-decorator-8.45.0.tgz",
+ "integrity": "sha512-/FB0VIfV1jB9rmJd244XPmvbSKIzZW6q8U0tfWVnqxZgfHsPWxacyKSd+aZ7HL+yfmKE+LhypCVrq3HuddFOYQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-dom-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-dom-utils/-/ui-dom-utils-8.45.0.tgz",
+ "integrity": "sha512-+Iig7/svpb1n+wD3F0r9aXjJ7j7BRCs2s2+ueIamZLn0Yh4JVhKRuqtRL94GTPHTWGVVORMEcV1uxsZM6KzTdA==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18",
+ "react-dom": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-i18n": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-i18n/-/ui-i18n-8.45.0.tgz",
+ "integrity": "sha512-bZmNwhH4E1a32UKQf0uSrxykWzmqd9dgzYaJAiJaUcLUkX272A4fNr9T6KA+8fBlzDJbyCp081AIz6BYzQ/EVg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "hoist-non-react-statics": "^3.3.2",
+ "moment-timezone": "^0.5.43",
+ "prop-types": "^15.8.1"
},
"peerDependencies": {
"react": ">=16.8 <=18"
}
},
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-icons": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-icons/-/ui-icons-8.45.0.tgz",
+ "integrity": "sha512-t/gGx+U5H2wn0ifZtGoQR7WNi3YvECiloVAwjJyoW+0aQyQHFjRcx6qObW0Qc/f9xdzEDC0deEIvkAsJKM303w==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/ui-svg-images": "8.45.0",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-link": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-link/-/ui-link-8.45.0.tgz",
+ "integrity": "sha512-Puu7QRoSmfItbt1qgSsdbeJb/tKMlc7aKp1q9o0SD8WJGi1DuUFLW8xrciv9/+S+VI7WjfjpSF9DmiHwK84Ajw==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-a11y-utils": "8.45.0",
+ "@instructure/ui-color-utils": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-icons": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-view": "8.45.0",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-portal": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-portal/-/ui-portal-8.45.0.tgz",
+ "integrity": "sha512-m/EzFY0EOpwE0vyc/rO4C3kAoGYNjuqTFfOt0bYZMvRlMkixvFisHJuwKYIhG7afeGTBrgSRZTtAQ8cE3z8gCA==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-i18n": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18",
+ "react-dom": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-position": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-position/-/ui-position-8.45.0.tgz",
+ "integrity": "sha512-Li/uEJlIE5Nbz1leJCLbzbE1hVE9lemse8y0cWug8APoqpcz0gft/pAR2QKLnaatKI8Oxt76QGasO1Y19pu7lw==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/debounce": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-portal": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-prop-types": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-prop-types/-/ui-prop-types-8.45.0.tgz",
+ "integrity": "sha512-IwOuXrwo+09RYxzohmsp1aXd6l1GJ3e0RlETwPDlldvP7uMonlDrzbhGZxdEw8N1yKCwI+KoisIBir6YxHnB4g==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-react-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-react-utils/-/ui-react-utils-8.45.0.tgz",
+ "integrity": "sha512-vvS3xdmKezyV2F2vIz+CFqoXmkx1X+X5+PhlON3ugmUjEx37ktGXW6qCwUrHhS7ShlOfnSVXxkZjbzamMzTRIw==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@emotion/is-prop-valid": "^1.2.1",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "hoist-non-react-statics": "^3.3.2",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18",
+ "react-dom": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-svg-images": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-svg-images/-/ui-svg-images-8.45.0.tgz",
+ "integrity": "sha512-j7GMSSogbwxJQXTOuYdflhiHi2Mbfe8fYOvFNMdC7XpJxBrJWx+0XB9lDfpIPjsA8QVADUEjlPtehT3gLSqpAw==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-test-locator": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-locator/-/ui-test-locator-8.45.0.tgz",
+ "integrity": "sha512-hYtfz057HWkanibiTpXesuQ/W+JcP65WETs7m4g28OBGFiEc8WgmCCSN+eWqp+n47lEoD0bakTcCg/vXnOk13g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/ui-test-queries": "8.45.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-test-queries": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-queries/-/ui-test-queries-8.45.0.tgz",
+ "integrity": "sha512-zDM2gxMhUvAqg9R1E2DrpSJr5CX5naN6x+yAkGzJJNoyfI2k2k5iGZTa0JK+ILyi6VO4geedJywLAv8oYDQShQ==",
+ "dev": true,
+ "dependencies": {
+ "@instructure/debounce": "8.45.0",
+ "@instructure/ui-axe-check": "8.45.0",
+ "@instructure/ui-test-sandbox": "8.45.0",
+ "keycode": "^2.2.1",
+ "pretty-format": "^29.6.3",
+ "sizzle": "^2.3.10"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-test-sandbox": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-sandbox/-/ui-test-sandbox-8.45.0.tgz",
+ "integrity": "sha512-uZ7qh4uuK08HYDErKHXaFKQhaadgdsYS9c06FFHklHxaynRF0hHZ1zN2FigdqKmS//BLxFejhqC0Mk86ADbtzA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "sinon": "^15.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18",
+ "react-dom": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-test-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-utils/-/ui-test-utils-8.45.0.tgz",
+ "integrity": "sha512-N2laK8Zeo1uOjT2LJJ50b0x2gJBiLvrLSXoo+bt5rhl/D/5dg6SDN7v9Gsq+gYhrdteEb0AUwNOInhcS9bI2vA==",
+ "dev": true,
+ "dependencies": {
+ "@instructure/ui-test-locator": "8.45.0",
+ "@instructure/ui-test-queries": "8.45.0",
+ "@instructure/ui-test-sandbox": "8.45.0",
+ "@sheerun/mutationobserver-shim": "^0.3.3",
+ "chai": "^4.3.8",
+ "chai-as-promised": "^7.1.1",
+ "chai-exclude": "^2.1.0",
+ "chai-string": "^1.5.0",
+ "dirty-chai": "^2.0.1",
+ "nanoid": "^4.0.2",
+ "sinon-chai": "^3.7.0",
+ "wait-for-expect": "^3.0.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18",
+ "react-dom": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-testable": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-testable/-/ui-testable-8.45.0.tgz",
+ "integrity": "sha512-xqFNzw0WD5kmcFgGreTP5C4cll4XkmZC68L6zirUOIHqNfcoU/DZMrtUBBqSuUF05SODuWwZTesy5H3Y/xlMcg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18",
+ "react-dom": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-theme-tokens": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-theme-tokens/-/ui-theme-tokens-8.45.0.tgz",
+ "integrity": "sha512-qkuIL5eWVMGp/PH9uq3g+dynbieZFrkNliVbulB4hLkL9Hd6/FcdjIgLAX6/DHx7ptoQphph++Wi8HKbk24wLQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-themes": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-themes/-/ui-themes-8.45.0.tgz",
+ "integrity": "sha512-kQ6+NZE0D/JT01XPnsyuqTRj9/RoAySVEO+bOf1YzJroh25YCgFc3Y+/WKLum8S+anAYwXjmMk0qoL+wcMBQqg==",
+ "dependencies": {
+ "@instructure/canvas-high-contrast-theme": "8.45.0",
+ "@instructure/canvas-theme": "8.45.0",
+ "@instructure/instructure-theme": "8.45.0",
+ "@instructure/shared-types": "8.45.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-truncate-text": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-truncate-text/-/ui-truncate-text-8.45.0.tgz",
+ "integrity": "sha512-LEGfc7AaeAS1kleDEOo98WgYwgjml0KGMBI8hGyIxAAa+p8DM6QzuQ6aQ5IeqBdaLQIeBl1O2FwhFA0Lo6HDGg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/debounce": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "escape-html": "^1.0.3",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-utils/-/ui-utils-8.45.0.tgz",
+ "integrity": "sha512-Y9xEA3OU3ZJGMVEQVlXlCDH62ig4GUuQeP+Rf9bD3a1Xozrbw6paPKoC01e4WBubA9kgLJEHClibrEwOK1t6MA==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@types/ua-parser-js": "^0.7.37",
+ "bowser": "^2.11.0",
+ "fast-deep-equal": "^3.1.3",
+ "json-stable-stringify": "^1.0.2",
+ "keycode": "^2.2.1",
+ "ua-parser-js": "^1.0.36"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18",
+ "react-dom": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/ui-view": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-view/-/ui-view-8.45.0.tgz",
+ "integrity": "sha512-q7Vlfq44c3q6ZuFG12KA27XMw4UkJYw5+U9D3kGLB4fsm+Hr4cNiviORXyoWsmi/dbzhKQiLIbHpZ09WAom79g==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-color-utils": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-i18n": "8.45.0",
+ "@instructure/ui-position": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8 <=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/@instructure/uid": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/uid/-/uid-8.45.0.tgz",
+ "integrity": "sha512-gawzh6jUK4u8vndYmar05FQMLcI4oz16T1mIljKt6cxu5iT+OVzDgEwz3Cb4wlN0GhvB9CO9BDJDn3r2iHoXeA==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/core-js": {
+ "version": "3.32.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.1.tgz",
+ "integrity": "sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/nanoid": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz",
+ "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.js"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "packages/ui-breadcrumb/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "packages/ui-breadcrumb/node_modules/ua-parser-js": {
+ "version": "1.0.36",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz",
+ "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ua-parser-js"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/faisalman"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/faisalman"
+ }
+ ],
+ "engines": {
+ "node": "*"
+ }
+ },
"packages/ui-buttons": {
"name": "@instructure/ui-buttons",
"version": "8.44.0",
@@ -59428,21 +60052,537 @@
"version": "file:packages/ui-breadcrumb",
"requires": {
"@babel/runtime": "^7.22.15",
- "@instructure/emotion": "8.44.0",
- "@instructure/shared-types": "8.44.0",
- "@instructure/ui-babel-preset": "8.44.0",
- "@instructure/ui-icons": "8.44.0",
- "@instructure/ui-link": "8.44.0",
- "@instructure/ui-prop-types": "8.44.0",
- "@instructure/ui-react-utils": "8.44.0",
- "@instructure/ui-test-locator": "8.44.0",
- "@instructure/ui-test-utils": "8.44.0",
- "@instructure/ui-testable": "8.44.0",
- "@instructure/ui-themes": "8.44.0",
- "@instructure/ui-truncate-text": "8.44.0",
- "@instructure/ui-utils": "8.44.0",
- "@instructure/ui-view": "8.44.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-axe-check": "8.45.0",
+ "@instructure/ui-babel-preset": "8.45.0",
+ "@instructure/ui-icons": "8.45.0",
+ "@instructure/ui-link": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-test-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-themes": "8.45.0",
+ "@instructure/ui-truncate-text": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/ui-view": "8.45.0",
+ "@testing-library/jest-dom": "^5.17.0",
+ "@testing-library/react": "^14.0.0",
"prop-types": "^15.8.1"
+ },
+ "dependencies": {
+ "@instructure/babel-plugin-transform-imports": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/babel-plugin-transform-imports/-/babel-plugin-transform-imports-8.45.0.tgz",
+ "integrity": "sha512-gZPyyt5vaKLb/9wA9c5lIY62mtJh0d+rOZKXQWNhpNRJ5iTvzoj0Ql8HEQ5f99T6ySIWvA5mFdVavcnt/xHa3w==",
+ "dev": true,
+ "requires": {
+ "globby": "^11.1.0"
+ }
+ },
+ "@instructure/browserslist-config-instui": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/browserslist-config-instui/-/browserslist-config-instui-8.45.0.tgz",
+ "integrity": "sha512-zoKbMpVPYTjlRVSu+xuqXmz22byZPx1HSEasUDYj+OAWCRAQL0CxAkYQTxuq9Wo5/tyHVNSjD7s5e76d+hFVzg==",
+ "dev": true
+ },
+ "@instructure/canvas-high-contrast-theme": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/canvas-high-contrast-theme/-/canvas-high-contrast-theme-8.45.0.tgz",
+ "integrity": "sha512-SUIafllHhHD+BulCY1xXqPcfKVsWVaEk8IgFtGPGVqKIJnBLulVtrnJneHAIjTybKOnPOmONNLdpN0vm1T97Rg==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-theme-tokens": "8.45.0"
+ }
+ },
+ "@instructure/canvas-theme": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/canvas-theme/-/canvas-theme-8.45.0.tgz",
+ "integrity": "sha512-5DuiqFjMRjSVgUWT8BfJ9cQuLwioVfCGUblQAdcCSdfd8qsITmaWfT4KSx/j7CTIbo8LzAWmbGN985Pm79Pzvg==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-theme-tokens": "8.45.0"
+ }
+ },
+ "@instructure/console": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/console/-/console-8.45.0.tgz",
+ "integrity": "sha512-3Ab41QxVP/SmHEoMutsz2dojPgNoMj+sBPOGcif9GejX8IYPXesUnUWsDqZqtkDVmoTGQ/c1X0frWIt3rARZzg==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.15",
+ "babel-plugin-macros": "^3.1.0"
+ }
+ },
+ "@instructure/debounce": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/debounce/-/debounce-8.45.0.tgz",
+ "integrity": "sha512-dG16cqoNo8JsM0xpTzvHfe7BL22LZTJsd4fPFPKCgyC9Ze9XGxrAJYhEYzNsRUxtZw5HjehPUQ7CHG8wqVXmuQ==",
+ "requires": {
+ "@babel/runtime": "^7.22.15"
+ }
+ },
+ "@instructure/emotion": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/emotion/-/emotion-8.45.0.tgz",
+ "integrity": "sha512-rZcFlIEgfmCL73kyvoCPcGhWOAwq8rbRYTfqAsbrZQfGGumrcTMUT7vBU9CWkZdUBEzDf9FQvpPOAytgS7kiDQ==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@emotion/react": "^11.11.1",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-i18n": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-themes": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "hoist-non-react-statics": "^3.3.2",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/instructure-theme": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/instructure-theme/-/instructure-theme-8.45.0.tgz",
+ "integrity": "sha512-u/Tnk05+p0+E329mju2j97/NDoUSQcrWWPNCT/F/OY06dDdSjldYvL6lpPeNhMAaJz7qvVX9G6XjJlqnRpZlKQ==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/theme-registry": "8.45.0",
+ "@instructure/ui-theme-tokens": "8.45.0"
+ }
+ },
+ "@instructure/shared-types": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/shared-types/-/shared-types-8.45.0.tgz",
+ "integrity": "sha512-KP+/SlXy6q46Lr0Div+NqKK3/GaWkVhEdXiB2SnVUhCryKFq8h8mnTR0iTyJidpuBoRDENHzBHYE9/69HRP+5w==",
+ "requires": {
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/theme-registry": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/theme-registry/-/theme-registry-8.45.0.tgz",
+ "integrity": "sha512-JWT5EwjyiEMM8rlKlI7zONPfHFuTKzxde4cymRj5XBWw3jcI8BSKkAwoeGPNkI25kudNyeL6OYe+TIukxyXvHg==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-utils": "8.45.0"
+ }
+ },
+ "@instructure/ui-a11y-content": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-a11y-content/-/ui-a11y-content-8.45.0.tgz",
+ "integrity": "sha512-CdWNWLgHAL0fYdT7YryQdy/OSG3UrxCep6OYMb0IbUc/Q1yKSCyO53pXsdwjePpYrVydc618ujqyDJPBaCvSvw==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "keycode": "^2.2.1",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-a11y-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-a11y-utils/-/ui-a11y-utils-8.45.0.tgz",
+ "integrity": "sha512-mbuZyOO0+RPYQCn6FyHnLGiUFNWOj6JvRW9AWPCkuBkmJ2Mhuc/oO73awYyCsJHLm12RdtfIdl/BBP6la4HXQg==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/ui-a11y-content": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "keycode": "^2.2.1",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-axe-check": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-axe-check/-/ui-axe-check-8.45.0.tgz",
+ "integrity": "sha512-S6KjrMeu6DGwtwYvlLz0FCrqHbUCp88bPt0bkjoWbMpErSVxOGJO33tyDavpdYzQwTS1esSR6jHxNue2o16G7w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "axe-core": "^4.7.2"
+ }
+ },
+ "@instructure/ui-babel-preset": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-babel-preset/-/ui-babel-preset-8.45.0.tgz",
+ "integrity": "sha512-M0VqOjWxDeGRFhm1N6oeDBs6lP8QnrWY1KcMCUCqw72OaAfRfMFGLYf4L7n46/cJDeWZsoj2Rip6bpaZGgTjag==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.22.15",
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
+ "@babel/plugin-proposal-decorators": "^7.22.15",
+ "@babel/plugin-proposal-export-default-from": "^7.22.5",
+ "@babel/plugin-proposal-optional-chaining": "^7.21.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-classes": "^7.22.15",
+ "@babel/plugin-transform-destructuring": "^7.22.15",
+ "@babel/plugin-transform-react-constant-elements": "^7.22.5",
+ "@babel/plugin-transform-react-display-name": "^7.22.5",
+ "@babel/plugin-transform-runtime": "^7.22.15",
+ "@babel/preset-env": "^7.22.15",
+ "@babel/preset-react": "^7.22.15",
+ "@babel/preset-typescript": "^7.22.15",
+ "@babel/runtime": "^7.22.15",
+ "@instructure/babel-plugin-transform-imports": "8.45.0",
+ "@instructure/browserslist-config-instui": "8.45.0",
+ "babel-loader": "^9.1.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-plugin-macros": "^3.1.0",
+ "babel-plugin-transform-ensure-ignore": "^0.1.0",
+ "babel-plugin-transform-remove-console": "^6.9.4",
+ "babel-plugin-transform-undefined-to-void": "^6.9.4",
+ "core-js": "3.32.1"
+ }
+ },
+ "@instructure/ui-color-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-color-utils/-/ui-color-utils-8.45.0.tgz",
+ "integrity": "sha512-KLALK09SiqSkw4LH5qH13sLGoLEBp3TZr4r4RI04300405kzfkHenhFrsRpOr7ztU3QQeb4/fMNi6pdNZ0CWTQ==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "tinycolor2": "^1.6.0"
+ }
+ },
+ "@instructure/ui-decorator": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-decorator/-/ui-decorator-8.45.0.tgz",
+ "integrity": "sha512-/FB0VIfV1jB9rmJd244XPmvbSKIzZW6q8U0tfWVnqxZgfHsPWxacyKSd+aZ7HL+yfmKE+LhypCVrq3HuddFOYQ==",
+ "requires": {
+ "@babel/runtime": "^7.22.15"
+ }
+ },
+ "@instructure/ui-dom-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-dom-utils/-/ui-dom-utils-8.45.0.tgz",
+ "integrity": "sha512-+Iig7/svpb1n+wD3F0r9aXjJ7j7BRCs2s2+ueIamZLn0Yh4JVhKRuqtRL94GTPHTWGVVORMEcV1uxsZM6KzTdA==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0"
+ }
+ },
+ "@instructure/ui-i18n": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-i18n/-/ui-i18n-8.45.0.tgz",
+ "integrity": "sha512-bZmNwhH4E1a32UKQf0uSrxykWzmqd9dgzYaJAiJaUcLUkX272A4fNr9T6KA+8fBlzDJbyCp081AIz6BYzQ/EVg==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "hoist-non-react-statics": "^3.3.2",
+ "moment-timezone": "^0.5.43",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-icons": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-icons/-/ui-icons-8.45.0.tgz",
+ "integrity": "sha512-t/gGx+U5H2wn0ifZtGoQR7WNi3YvECiloVAwjJyoW+0aQyQHFjRcx6qObW0Qc/f9xdzEDC0deEIvkAsJKM303w==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/ui-svg-images": "8.45.0",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-link": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-link/-/ui-link-8.45.0.tgz",
+ "integrity": "sha512-Puu7QRoSmfItbt1qgSsdbeJb/tKMlc7aKp1q9o0SD8WJGi1DuUFLW8xrciv9/+S+VI7WjfjpSF9DmiHwK84Ajw==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-a11y-utils": "8.45.0",
+ "@instructure/ui-color-utils": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-icons": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-view": "8.45.0",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-portal": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-portal/-/ui-portal-8.45.0.tgz",
+ "integrity": "sha512-m/EzFY0EOpwE0vyc/rO4C3kAoGYNjuqTFfOt0bYZMvRlMkixvFisHJuwKYIhG7afeGTBrgSRZTtAQ8cE3z8gCA==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-i18n": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-position": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-position/-/ui-position-8.45.0.tgz",
+ "integrity": "sha512-Li/uEJlIE5Nbz1leJCLbzbE1hVE9lemse8y0cWug8APoqpcz0gft/pAR2QKLnaatKI8Oxt76QGasO1Y19pu7lw==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/debounce": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-portal": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-prop-types": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-prop-types/-/ui-prop-types-8.45.0.tgz",
+ "integrity": "sha512-IwOuXrwo+09RYxzohmsp1aXd6l1GJ3e0RlETwPDlldvP7uMonlDrzbhGZxdEw8N1yKCwI+KoisIBir6YxHnB4g==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-react-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-react-utils/-/ui-react-utils-8.45.0.tgz",
+ "integrity": "sha512-vvS3xdmKezyV2F2vIz+CFqoXmkx1X+X5+PhlON3ugmUjEx37ktGXW6qCwUrHhS7ShlOfnSVXxkZjbzamMzTRIw==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@emotion/is-prop-valid": "^1.2.1",
+ "@instructure/console": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "hoist-non-react-statics": "^3.3.2",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-svg-images": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-svg-images/-/ui-svg-images-8.45.0.tgz",
+ "integrity": "sha512-j7GMSSogbwxJQXTOuYdflhiHi2Mbfe8fYOvFNMdC7XpJxBrJWx+0XB9lDfpIPjsA8QVADUEjlPtehT3gLSqpAw==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/uid": "8.45.0",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-test-locator": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-locator/-/ui-test-locator-8.45.0.tgz",
+ "integrity": "sha512-hYtfz057HWkanibiTpXesuQ/W+JcP65WETs7m4g28OBGFiEc8WgmCCSN+eWqp+n47lEoD0bakTcCg/vXnOk13g==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/ui-test-queries": "8.45.0"
+ }
+ },
+ "@instructure/ui-test-queries": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-queries/-/ui-test-queries-8.45.0.tgz",
+ "integrity": "sha512-zDM2gxMhUvAqg9R1E2DrpSJr5CX5naN6x+yAkGzJJNoyfI2k2k5iGZTa0JK+ILyi6VO4geedJywLAv8oYDQShQ==",
+ "dev": true,
+ "requires": {
+ "@instructure/debounce": "8.45.0",
+ "@instructure/ui-axe-check": "8.45.0",
+ "@instructure/ui-test-sandbox": "8.45.0",
+ "keycode": "^2.2.1",
+ "pretty-format": "^29.6.3",
+ "sizzle": "^2.3.10"
+ }
+ },
+ "@instructure/ui-test-sandbox": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-sandbox/-/ui-test-sandbox-8.45.0.tgz",
+ "integrity": "sha512-uZ7qh4uuK08HYDErKHXaFKQhaadgdsYS9c06FFHklHxaynRF0hHZ1zN2FigdqKmS//BLxFejhqC0Mk86ADbtzA==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "sinon": "^15.2.0"
+ }
+ },
+ "@instructure/ui-test-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-test-utils/-/ui-test-utils-8.45.0.tgz",
+ "integrity": "sha512-N2laK8Zeo1uOjT2LJJ50b0x2gJBiLvrLSXoo+bt5rhl/D/5dg6SDN7v9Gsq+gYhrdteEb0AUwNOInhcS9bI2vA==",
+ "dev": true,
+ "requires": {
+ "@instructure/ui-test-locator": "8.45.0",
+ "@instructure/ui-test-queries": "8.45.0",
+ "@instructure/ui-test-sandbox": "8.45.0",
+ "@sheerun/mutationobserver-shim": "^0.3.3",
+ "chai": "^4.3.8",
+ "chai-as-promised": "^7.1.1",
+ "chai-exclude": "^2.1.0",
+ "chai-string": "^1.5.0",
+ "dirty-chai": "^2.0.1",
+ "nanoid": "^4.0.2",
+ "sinon-chai": "^3.7.0",
+ "wait-for-expect": "^3.0.2"
+ }
+ },
+ "@instructure/ui-testable": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-testable/-/ui-testable-8.45.0.tgz",
+ "integrity": "sha512-xqFNzw0WD5kmcFgGreTP5C4cll4XkmZC68L6zirUOIHqNfcoU/DZMrtUBBqSuUF05SODuWwZTesy5H3Y/xlMcg==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/ui-decorator": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0"
+ }
+ },
+ "@instructure/ui-theme-tokens": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-theme-tokens/-/ui-theme-tokens-8.45.0.tgz",
+ "integrity": "sha512-qkuIL5eWVMGp/PH9uq3g+dynbieZFrkNliVbulB4hLkL9Hd6/FcdjIgLAX6/DHx7ptoQphph++Wi8HKbk24wLQ==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/shared-types": "8.45.0"
+ }
+ },
+ "@instructure/ui-themes": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-themes/-/ui-themes-8.45.0.tgz",
+ "integrity": "sha512-kQ6+NZE0D/JT01XPnsyuqTRj9/RoAySVEO+bOf1YzJroh25YCgFc3Y+/WKLum8S+anAYwXjmMk0qoL+wcMBQqg==",
+ "requires": {
+ "@instructure/canvas-high-contrast-theme": "8.45.0",
+ "@instructure/canvas-theme": "8.45.0",
+ "@instructure/instructure-theme": "8.45.0",
+ "@instructure/shared-types": "8.45.0"
+ }
+ },
+ "@instructure/ui-truncate-text": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-truncate-text/-/ui-truncate-text-8.45.0.tgz",
+ "integrity": "sha512-LEGfc7AaeAS1kleDEOo98WgYwgjml0KGMBI8hGyIxAAa+p8DM6QzuQ6aQ5IeqBdaLQIeBl1O2FwhFA0Lo6HDGg==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/debounce": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "escape-html": "^1.0.3",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/ui-utils": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-utils/-/ui-utils-8.45.0.tgz",
+ "integrity": "sha512-Y9xEA3OU3ZJGMVEQVlXlCDH62ig4GUuQeP+Rf9bD3a1Xozrbw6paPKoC01e4WBubA9kgLJEHClibrEwOK1t6MA==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@types/ua-parser-js": "^0.7.37",
+ "bowser": "^2.11.0",
+ "fast-deep-equal": "^3.1.3",
+ "json-stable-stringify": "^1.0.2",
+ "keycode": "^2.2.1",
+ "ua-parser-js": "^1.0.36"
+ }
+ },
+ "@instructure/ui-view": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/ui-view/-/ui-view-8.45.0.tgz",
+ "integrity": "sha512-q7Vlfq44c3q6ZuFG12KA27XMw4UkJYw5+U9D3kGLB4fsm+Hr4cNiviORXyoWsmi/dbzhKQiLIbHpZ09WAom79g==",
+ "requires": {
+ "@babel/runtime": "^7.22.15",
+ "@instructure/console": "8.45.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-color-utils": "8.45.0",
+ "@instructure/ui-dom-utils": "8.45.0",
+ "@instructure/ui-i18n": "8.45.0",
+ "@instructure/ui-position": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@instructure/uid": {
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@instructure/uid/-/uid-8.45.0.tgz",
+ "integrity": "sha512-gawzh6jUK4u8vndYmar05FQMLcI4oz16T1mIljKt6cxu5iT+OVzDgEwz3Cb4wlN0GhvB9CO9BDJDn3r2iHoXeA==",
+ "requires": {
+ "@babel/runtime": "^7.22.15"
+ }
+ },
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ },
+ "core-js": {
+ "version": "3.32.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.1.tgz",
+ "integrity": "sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==",
+ "dev": true
+ },
+ "nanoid": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz",
+ "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==",
+ "dev": true
+ },
+ "pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ }
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "ua-parser-js": {
+ "version": "1.0.36",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz",
+ "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw=="
+ }
}
},
"@instructure/ui-buttons": {
diff --git a/packages/ui-breadcrumb/package.json b/packages/ui-breadcrumb/package.json
index d69d31bff2..c9cd9be0aa 100644
--- a/packages/ui-breadcrumb/package.json
+++ b/packages/ui-breadcrumb/package.json
@@ -23,23 +23,25 @@
},
"license": "MIT",
"devDependencies": {
- "@instructure/ui-babel-preset": "8.44.0",
- "@instructure/ui-test-locator": "8.44.0",
- "@instructure/ui-test-utils": "8.44.0",
- "@instructure/ui-themes": "8.44.0"
+ "@instructure/ui-axe-check": "8.45.0",
+ "@instructure/ui-babel-preset": "8.45.0",
+ "@instructure/ui-test-utils": "8.45.0",
+ "@instructure/ui-themes": "8.45.0",
+ "@testing-library/jest-dom": "^5.17.0",
+ "@testing-library/react": "^14.0.0"
},
"dependencies": {
"@babel/runtime": "^7.22.15",
- "@instructure/emotion": "8.44.0",
- "@instructure/shared-types": "8.44.0",
- "@instructure/ui-icons": "8.44.0",
- "@instructure/ui-link": "8.44.0",
- "@instructure/ui-prop-types": "8.44.0",
- "@instructure/ui-react-utils": "8.44.0",
- "@instructure/ui-testable": "8.44.0",
- "@instructure/ui-truncate-text": "8.44.0",
- "@instructure/ui-utils": "8.44.0",
- "@instructure/ui-view": "8.44.0",
+ "@instructure/emotion": "8.45.0",
+ "@instructure/shared-types": "8.45.0",
+ "@instructure/ui-icons": "8.45.0",
+ "@instructure/ui-link": "8.45.0",
+ "@instructure/ui-prop-types": "8.45.0",
+ "@instructure/ui-react-utils": "8.45.0",
+ "@instructure/ui-testable": "8.45.0",
+ "@instructure/ui-truncate-text": "8.45.0",
+ "@instructure/ui-utils": "8.45.0",
+ "@instructure/ui-view": "8.45.0",
"prop-types": "^15.8.1"
},
"peerDependencies": {
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/BreadcrumbLinkLocator.ts b/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/BreadcrumbLinkLocator.ts
deleted file mode 100644
index cf798db80e..0000000000
--- a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/BreadcrumbLinkLocator.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2015 - present Instructure, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-import { locator } from '@instructure/ui-test-locator'
-
-import { BreadcrumbLink } from './index'
-
-// @ts-expect-error ts-migrate(2339) FIXME: Property 'selector' does not exist on type 'typeof... Remove this comment to see the full error message
-export const BreadcrumbLinkLocator = locator(BreadcrumbLink.selector)
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/__new-tests__/BreadcrumbLink.test.tsx b/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/__new-tests__/BreadcrumbLink.test.tsx
new file mode 100644
index 0000000000..71f308a319
--- /dev/null
+++ b/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/__new-tests__/BreadcrumbLink.test.tsx
@@ -0,0 +1,123 @@
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2015 - present Instructure, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+import React from 'react'
+import { fireEvent, render, screen } from '@testing-library/react'
+import '@testing-library/jest-dom/extend-expect'
+
+import { runAxeCheck } from '@instructure/ui-axe-check'
+import { BreadcrumbLink } from '../index'
+
+const TEST_TEXT_01 = 'Account'
+const TEST_LINK = 'http://instructure-test.com'
+const TEST_TO = '/example'
+
+const originalResizeObserver = global.ResizeObserver
+
+describe('', () => {
+ beforeAll(() => {
+ // Mock for ResizeObserver browser API
+ global.ResizeObserver = jest.fn().mockImplementation(() => ({
+ observe: jest.fn(),
+ unobserve: jest.fn(),
+ disconnect: jest.fn()
+ }))
+ })
+
+ it('should render an anchor tag when given a href prop', () => {
+ render({TEST_TEXT_01})
+ const anchor = screen.getByRole('link')
+
+ expect(anchor).toHaveAttribute('href', TEST_LINK)
+ })
+
+ it('should render as a button and respond to onClick event', () => {
+ const onClick = jest.fn()
+
+ render({TEST_TEXT_01})
+ const button = screen.getByRole('button')
+
+ fireEvent.click(button)
+
+ expect(onClick).toHaveBeenCalledTimes(1)
+ })
+
+ it('should allow to prop to pass through', () => {
+ const { container } = render(
+ {TEST_TEXT_01}
+ )
+ const link = container.querySelector('a')
+
+ expect(link).toBeInTheDocument()
+ expect(link).toHaveAttribute('to', TEST_TO)
+ })
+
+ it('should not render a link when not given an href prop', () => {
+ const { container } = render(
+ {TEST_TEXT_01}
+ )
+ const elementWithHref = container.querySelector('[href]')
+ const anchor = container.querySelector('a')
+ const span = container.querySelector('span')
+
+ expect(elementWithHref).toBeNull()
+ expect(anchor).toBeNull()
+ expect(span).toBeInTheDocument()
+ expect(span).toHaveTextContent(TEST_TEXT_01)
+ })
+
+ it('should not render a button when not given an onClick prop', () => {
+ const { container } = render(
+ {TEST_TEXT_01}
+ )
+ const button = container.querySelector('button')
+ const span = container.querySelector('span')
+
+ expect(button).toBeNull()
+ expect(span).toBeInTheDocument()
+ expect(span).toHaveTextContent(TEST_TEXT_01)
+ })
+
+ it('should meet a11y standards as a link', async () => {
+ const { container } = render(
+ {TEST_TEXT_01}
+ )
+ const axeCheck = await runAxeCheck(container)
+
+ expect(axeCheck).toBe(true)
+ })
+
+ it('should meet a11y standards as a span', async () => {
+ const { container } = render(
+ {TEST_TEXT_01}
+ )
+ const axeCheck = await runAxeCheck(container)
+
+ expect(axeCheck).toBe(true)
+ })
+
+ afterAll(() => {
+ global.ResizeObserver = originalResizeObserver
+ })
+})
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/__tests__/BreadcrumbLink.test.tsx b/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/__tests__/BreadcrumbLink.test.tsx
deleted file mode 100644
index 5d10a6f87b..0000000000
--- a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/__tests__/BreadcrumbLink.test.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2015 - present Instructure, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-import React from 'react'
-
-import { expect, mount, stub } from '@instructure/ui-test-utils'
-
-import { BreadcrumbLink } from '../index'
-import { BreadcrumbLinkLocator } from '../BreadcrumbLinkLocator'
-
-describe('', async () => {
- it('should render a anchor tag when given an href prop', async () => {
- await mount(Test)
- const link = await BreadcrumbLinkLocator.find()
- const anchor = await link.find('a')
-
- expect(anchor.getAttribute('href')).to.equal('#')
- })
-
- it('should render as a button and respond to onClick event', async () => {
- const onClick = stub()
- await mount(Test)
- const link = await BreadcrumbLinkLocator.find()
- const button = await link.find('button')
-
- await button.click()
-
- expect(onClick).to.have.been.calledOnce()
- })
-
- it('should allow to prop to pass through', async () => {
- await mount(Test)
- const link = await BreadcrumbLinkLocator.find()
- expect(link.getAttribute('to')).to.equal('/example')
- })
-
- it('should not render a link when not given an href prop', async () => {
- await mount(Test)
- const link = await BreadcrumbLinkLocator.find()
- const tagName = link.getTagName()
-
- expect(tagName).to.not.equal('button')
- expect(tagName).to.not.equal('a')
- expect(tagName).to.equal('span')
- })
-
- it('should not render a button when not given an onClick prop', async () => {
- await mount(Test)
- const link = await BreadcrumbLinkLocator.find()
- const tagName = link.getTagName()
-
- expect(tagName).to.not.equal('button')
- expect(tagName).to.not.equal('a')
- expect(tagName).to.equal('span')
- })
-
- it('should meet a11y standards as a link', async () => {
- await mount(Test)
- const link = await BreadcrumbLinkLocator.find()
-
- expect(await link.accessible()).to.be.true()
- })
-
- it('should meet a11y standards as a span', async () => {
- await mount(Test)
- const link = await BreadcrumbLinkLocator.find()
-
- expect(await link.accessible()).to.be.true()
- })
-})
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/locator.ts b/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/locator.ts
deleted file mode 100644
index 55dc0a5374..0000000000
--- a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLink/locator.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2015 - present Instructure, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-import { BreadcrumbLinkLocator } from './BreadcrumbLinkLocator'
-
-export { BreadcrumbLinkLocator }
-export default BreadcrumbLinkLocator
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLocator.ts b/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLocator.ts
deleted file mode 100644
index 49838c8424..0000000000
--- a/packages/ui-breadcrumb/src/Breadcrumb/BreadcrumbLocator.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2015 - present Instructure, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-import { locator } from '@instructure/ui-test-locator'
-
-import { Breadcrumb } from './index'
-import { BreadcrumbLinkLocator } from './BreadcrumbLink/BreadcrumbLinkLocator'
-
-export { BreadcrumbLinkLocator }
-
-// @ts-expect-error ts-migrate(2339) FIXME: Property 'selector' does not exist on type 'typeof... Remove this comment to see the full error message
-export const BreadcrumbLocator = locator(Breadcrumb.selector, {
- findAllLinks: (...args: any[]) => {
- return BreadcrumbLinkLocator.findAll(...args)
- },
- findLink: (...args: any[]) => {
- return BreadcrumbLinkLocator.find(...args)
- }
-})
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/__new-tests__/Breadcrumb.test.tsx b/packages/ui-breadcrumb/src/Breadcrumb/__new-tests__/Breadcrumb.test.tsx
new file mode 100644
index 0000000000..f394259a1b
--- /dev/null
+++ b/packages/ui-breadcrumb/src/Breadcrumb/__new-tests__/Breadcrumb.test.tsx
@@ -0,0 +1,90 @@
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2015 - present Instructure, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+import React from 'react'
+import { render, screen } from '@testing-library/react'
+import '@testing-library/jest-dom/extend-expect'
+
+import { runAxeCheck } from '@instructure/ui-axe-check'
+import { Breadcrumb } from '../index'
+
+const TEST_LABEL = 'You are here:'
+const TEST_TEXT_01 = 'Account'
+const TEST_TEXT_02 = 'Settings'
+const TEST_LINK = 'http://instructure-test.com'
+
+const originalResizeObserver = global.ResizeObserver
+
+describe('', () => {
+ beforeAll(() => {
+ // Mock for ResizeObserver browser API
+ global.ResizeObserver = jest.fn().mockImplementation(() => ({
+ observe: jest.fn(),
+ unobserve: jest.fn(),
+ disconnect: jest.fn()
+ }))
+ })
+
+ it('should be accessible', async () => {
+ const { container } = render(
+
+ {TEST_TEXT_01}
+ {TEST_TEXT_02}
+
+ )
+ const axeCheck = await runAxeCheck(container)
+
+ expect(axeCheck).toBe(true)
+ })
+
+ it('should render the label as an aria-label attribute', () => {
+ render(
+
+ {TEST_TEXT_01}
+
+ )
+
+ const label = screen.getByLabelText(TEST_LABEL)
+
+ expect(label).toBeInTheDocument()
+ expect(label).toHaveAttribute('aria-label', TEST_LABEL)
+ })
+
+ it('should render an icon as a separator', () => {
+ const { container } = render(
+
+ {TEST_TEXT_01}
+ {TEST_TEXT_02}
+
+ )
+ const icon = container.querySelector('svg')
+
+ expect(icon).toBeInTheDocument()
+ expect(icon).toHaveAttribute('aria-hidden', 'true')
+ })
+
+ afterAll(() => {
+ global.ResizeObserver = originalResizeObserver
+ })
+})
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/__tests__/Breadcrumb.test.tsx b/packages/ui-breadcrumb/src/Breadcrumb/__tests__/Breadcrumb.test.tsx
deleted file mode 100644
index 418cce0548..0000000000
--- a/packages/ui-breadcrumb/src/Breadcrumb/__tests__/Breadcrumb.test.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2015 - present Instructure, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-import React from 'react'
-
-import { expect, mount, generateA11yTests } from '@instructure/ui-test-utils'
-
-import { Breadcrumb } from '../index'
-import { BreadcrumbLocator } from '../BreadcrumbLocator'
-import BreadcrumbExamples from '../__examples__/Breadcrumb.examples'
-
-describe('', async () => {
- it('should render the label as an aria-label attribute', async () => {
- await mount(
-
- Account
-
- )
- const breadcrumb = await BreadcrumbLocator.find()
- const label = await breadcrumb.find(':label(Settings)')
-
- expect(label.getAttribute('aria-label')).to.equal('Settings')
- })
-
- describe('with generated examples', async () => {
- generateA11yTests(Breadcrumb, BreadcrumbExamples)
- })
-
- it('should render an icon as a separator', async () => {
- await mount(
-
- Account
- Settings
-
- )
- const breadcrumb = await BreadcrumbLocator.find()
- const icon = await breadcrumb.find('svg')
-
- expect(icon.getAttribute('aria-hidden')).to.equal('true')
- })
-})
diff --git a/packages/ui-breadcrumb/src/Breadcrumb/locator.ts b/packages/ui-breadcrumb/src/Breadcrumb/locator.ts
deleted file mode 100644
index bdde46db87..0000000000
--- a/packages/ui-breadcrumb/src/Breadcrumb/locator.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2015 - present Instructure, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-import { BreadcrumbLocator } from './BreadcrumbLocator'
-
-export { BreadcrumbLocator }
-export default BreadcrumbLocator
diff --git a/packages/ui-breadcrumb/tsconfig.build.json b/packages/ui-breadcrumb/tsconfig.build.json
index dee617ff5f..0f5a55a596 100644
--- a/packages/ui-breadcrumb/tsconfig.build.json
+++ b/packages/ui-breadcrumb/tsconfig.build.json
@@ -8,7 +8,6 @@
"include": ["src"],
"references": [
{ "path": "../ui-babel-preset/tsconfig.build.json" },
- { "path": "../ui-test-locator/tsconfig.build.json" },
{ "path": "../ui-test-utils/tsconfig.build.json" },
{ "path": "../ui-themes/tsconfig.build.json" },
{ "path": "../emotion/tsconfig.build.json" },
@@ -20,6 +19,7 @@
{ "path": "../ui-testable/tsconfig.build.json" },
{ "path": "../ui-truncate-text/tsconfig.build.json" },
{ "path": "../ui-utils/tsconfig.build.json" },
- { "path": "../ui-view/tsconfig.build.json" }
+ { "path": "../ui-view/tsconfig.build.json" },
+ { "path": "../ui-axe-check/tsconfig.build.json" }
]
}