Skip to content
Open
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
21bb1ec
Initial plan
Copilot Apr 20, 2026
8c15f6d
feat: migrate Snaps date/time pickers from MUI v4 to v5 (@mui/x-date-…
Copilot Apr 20, 2026
f59a55b
Update LavaMoat policies
metamaskbot Apr 20, 2026
b9896ff
Merge remote-tracking branch 'origin/main' into copilot/migrate-snaps…
DDDDDanica May 7, 2026
f9c83aa
Merge remote-tracking branch 'origin/main' into copilot/migrate-snaps…
DDDDDanica May 7, 2026
34e8e54
perf: fix snapshot
DDDDDanica May 7, 2026
8fd8e1f
Update LavaMoat policies
metamaskbot May 7, 2026
505793c
per: increase test coverage and remove unused package
DDDDDanica May 7, 2026
f289f3d
per: increase test coverage and fix lint
DDDDDanica May 7, 2026
7868297
per: modify dead MUI v4 selectors
DDDDDanica May 7, 2026
0b168f0
Merge branch 'main' into copilot/migrate-snaps-date-time-pickers
DDDDDanica May 7, 2026
7ffd09a
chore: update viewRenderers
DDDDDanica May 10, 2026
6e25ab2
Merge remote-tracking branch 'origin/main' into copilot/migrate-snaps…
DDDDDanica May 12, 2026
ad0727f
per: remove unused @material-ui/pickers
DDDDDanica May 12, 2026
11a81c8
chore: update test to match new MUI v7 the calendar day buttons
DDDDDanica May 12, 2026
e12394c
chore: fix e2e test by adapting to enableAccessibleFieldDOMStructure
DDDDDanica May 13, 2026
ef69d3b
chore: lint fix
DDDDDanica May 13, 2026
58c399c
chore: fix lint of Missing JSDoc @param
DDDDDanica May 13, 2026
6887501
chore: fix Calendar header theme targets wrong MUI v6 slots
DDDDDanica May 13, 2026
05156d6
chore: fix Missing selected-state toolbar text styling in theme migra…
DDDDDanica May 13, 2026
83d6a22
chore: fix E2E tests fill readonly picker input
DDDDDanica May 13, 2026
e00b4d2
chore: fix Picker button labels no longer translated for non-English …
DDDDDanica May 13, 2026
f2dca8c
chore: fix Missing MuiPickersToolbarText theme override causes visual…
DDDDDanica May 13, 2026
7aca400
chore: fix failed snapshot
DDDDDanica May 13, 2026
82cb305
chore: fix failed snap-ui-date-time-picker unit test
DDDDDanica May 13, 2026
ff1c044
chore: extract PICKER_ACTION_BAR_ACTIONS for pickers
DDDDDanica May 13, 2026
6d60166
chore: fix lint
DDDDDanica May 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 1 addition & 8 deletions .depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,9 @@ ignores:
- 'react-compiler-runtime'
- '@fortawesome/fontawesome-free'
- 'punycode'
# peer deps of @mui/material v5, consumed internally by MUI (not imported directly)
# peer deps of @mui/material v5; no direct imports in app source (MUI resolves them)
- '@emotion/react'
- '@emotion/styled'
# v5 pre-installed ahead of migration from @material-ui/core (v4 path);
# imports switch to @mui/material in the migration branch
- '@mui/material'
# future use for Snaps date pickers; v7 supports React 17 + MUI v5
- '@mui/x-date-pickers'

#
# dev deps
Expand Down Expand Up @@ -116,8 +111,6 @@ ignores:
- '@metamask/institutional-wallet-snap'
- '@metamask/gator-permissions-snap'
- '@metamask/permissions-kernel-snap'
# perps poc
- '@metamask/perps-controller'

# files depcheck should not parse
ignorePatterns:
Expand Down
1 change: 0 additions & 1 deletion .yarnrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ npmAuditIgnoreAdvisories:
# Material UI dependencies are planned for removal
- '@material-ui/core (deprecation)'
- '@material-ui/styles (deprecation)'
- '@material-ui/pickers (deprecation)'

# Dependencies brought in by @truffle/decoder that are deprecated:
- 'cids (deprecation)' # via @ensdomains/content-hash
Expand Down
259 changes: 227 additions & 32 deletions lavamoat/browserify/beta/policy.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,77 @@
"SuppressedError": true
}
},
"@date-io/luxon": {
"@emotion/react>@emotion/cache": {
"globals": {
"document": true
},
"packages": {
"luxon": true
"@emotion/react>@emotion/cache>@emotion/memoize": true,
"@emotion/react>@emotion/cache>@emotion/sheet": true,
"@emotion/react>@emotion/weak-memoize": true,
"@emotion/react>@emotion/cache>stylis": true
}
},
"@emotion/styled>@emotion/is-prop-valid": {
"packages": {
"@emotion/react>@emotion/cache>@emotion/memoize": true
}
},
"@emotion/react": {
"globals": {
"HTMLElement": true,
"document": true
},
"packages": {
"@babel/runtime": true,
"@emotion/react>@emotion/cache": true,
"@emotion/react>@emotion/serialize": true,
"@emotion/react>@emotion/use-insertion-effect-with-fallbacks": true,
"@emotion/react>@emotion/utils": true,
"@emotion/react>@emotion/weak-memoize": true,
"react-redux>hoist-non-react-statics": true,
"react": true
}
},
"@emotion/react>@emotion/serialize": {
"packages": {
"@emotion/react>@emotion/serialize>@emotion/hash": true,
"@emotion/react>@emotion/cache>@emotion/memoize": true,
"@emotion/react>@emotion/serialize>@emotion/unitless": true
}
},
"@emotion/react>@emotion/cache>@emotion/sheet": {
"globals": {
"document.createElement": true,
"document.createTextNode": true,
"document.styleSheets": true
}
},
"@emotion/styled": {
"globals": {
"document": true
},
"packages": {
"@babel/runtime": true,
"@emotion/styled>@emotion/is-prop-valid": true,
"@emotion/react": true,
"@emotion/react>@emotion/serialize": true,
"@emotion/react>@emotion/use-insertion-effect-with-fallbacks": true,
"@emotion/react>@emotion/utils": true,
"react": true
}
},
"@emotion/react>@emotion/use-insertion-effect-with-fallbacks": {
"globals": {
"document": true
},
"packages": {
"react": true
}
},
"@emotion/react>@emotion/utils": {
"globals": {
"document": true
}
},
"@ensdomains/content-hash": {
Expand Down Expand Up @@ -701,7 +769,6 @@
"getSelection": true,
"performance.now": true,
"removeEventListener": true,
"requestAnimationFrame": true,
"setInterval": true,
"setTimeout": true
},
Expand All @@ -719,24 +786,6 @@
"react-transition-group": true
}
},
"@material-ui/pickers": {
"globals": {
"addEventListener": true,
"innerHeight": true,
"orientation": true,
"removeEventListener": true,
"screen": true
},
"packages": {
"@babel/runtime": true,
"@material-ui/core": true,
"@material-ui/pickers>clsx": true,
"prop-types": true,
"react": true,
"react-transition-group": true,
"@material-ui/pickers>rifm": true
}
},
"@material-ui/core>@material-ui/styles": {
"globals": {
"console.error": true,
Expand Down Expand Up @@ -2672,6 +2721,158 @@
"semver": true
}
},
"@mui/material": {
"globals": {
"DocumentFragment": true,
"IntersectionObserver": true,
"MutationObserver": true,
"ResizeObserver": true,
"addEventListener": true,
"cancelAnimationFrame": true,
"clearInterval": true,
"clearTimeout": true,
"console.error": true,
"console.warn": true,
"document.body": true,
"getSelection": true,
"navigator": true,
"performance.now": true,
"removeEventListener": true,
"requestAnimationFrame": true,
"setInterval": true,
"setTimeout": true
},
"packages": {
"@babel/runtime": true,
"@mui/material>@mui/system": true,
"@mui/material>@mui/utils": true,
"@popperjs/core": true,
"clsx": true,
"prop-types": true,
"react": true,
"react-dom": true,
"@mui/material>react-is": true,
"react-transition-group": true
}
},
"@mui/material>@mui/system>@mui/private-theming": {
"globals": {
"console.error": true
},
"packages": {
"@babel/runtime": true,
"@mui/material>@mui/utils": true,
"prop-types": true,
"react": true
}
},
"@mui/material>@mui/system>@mui/styled-engine": {
"globals": {
"console.error": true,
"document": true
},
"packages": {
"@babel/runtime": true,
"@emotion/react>@emotion/cache": true,
"@emotion/react": true,
"@emotion/react>@emotion/serialize": true,
"@emotion/styled": true,
"prop-types": true,
"react": true
}
},
"@mui/material>@mui/system": {
"globals": {
"clearTimeout": true,
"console.error": true,
"console.warn": true,
"document": true,
"getComputedStyle": true,
"localStorage.getItem": true,
"localStorage.setItem": true,
"matchMedia": true,
"setTimeout": true
},
"packages": {
"@babel/runtime": true,
"@mui/material>@mui/system>@mui/private-theming": true,
"@mui/material>@mui/system>@mui/styled-engine": true,
"@mui/material>@mui/utils": true,
"clsx": true,
"prop-types": true,
"react": true
}
},
"@mui/material>@mui/utils": {
"globals": {
"clearTimeout": true,
"console.error": true,
"document": true,
"innerWidth": true,
"setTimeout": true
},
"packages": {
"@babel/runtime": true,
"clsx": true,
"prop-types": true,
"react": true,
"@mui/material>@mui/utils>react-is": true
}
},
"@mui/x-date-pickers>@mui/utils": {
"globals": {
"URL": true,
"clearTimeout": true,
"console.error": true,
"console.warn": true,
"document": true,
"navigator.userAgent.includes": true,
"setTimeout": true
},
"packages": {
"@babel/runtime": true,
"clsx": true,
"prop-types": true,
"react": true,
"@mui/x-date-pickers>@mui/utils>react-is": true
}
},
"@mui/x-date-pickers": {
"globals": {
"HTMLElement": true,
"Intl": true,
"Range": true,
"addEventListener": true,
"clearTimeout": true,
"console.error": true,
"console.warn": true,
"document": true,
"innerHeight": true,
"navigator": true,
"orientation": true,
"removeEventListener": true,
"screen": true,
"setTimeout": true
},
"packages": {
"@babel/runtime": true,
"@mui/material": true,
"@mui/material>@mui/system": true,
"@mui/x-date-pickers>@mui/utils": true,
"@mui/x-date-pickers>@mui/x-internals": true,
"clsx": true,
"luxon": true,
"prop-types": true,
"react": true,
"react-transition-group": true
}
},
"@mui/x-date-pickers>@mui/x-internals": {
"globals": {
"console.error": true,
"console.warn": true
}
},
"@ngraveio/bc-ur": {
"packages": {
"@ngraveio/bc-ur>@keystonehq/alias-sampling": true,
Expand Down Expand Up @@ -6131,17 +6332,6 @@
"browserify>buffer": true
}
},
"@material-ui/pickers>rifm": {
"globals": {
"console.error": true,
"document.addEventListener": true,
"document.removeEventListener": true
},
"packages": {
"@babel/runtime": true,
"react": true
}
},
"ethereumjs-util>create-hash>ripemd160": {
"packages": {
"browserify>buffer": true,
Expand Down Expand Up @@ -6389,6 +6579,11 @@
"react-markdown>style-to-object>inline-style-parser": true
}
},
"@emotion/react>@emotion/cache>stylis": {
"globals": {
"define": true
}
},
"@metamask/snaps-controllers>tar-stream": {
"packages": {
"@metamask/snaps-controllers>tar-stream>b4a": true,
Expand Down
Loading
Loading