mirror of
https://github.com/mattermost/mattermost.git
synced 2026-05-23 18:55:27 -04:00
* Add initial version of Button * Use Button in ConfirmModal * Use Button in easy places that use className='btn btn-primary' This is everywhere that I could just replace `<button className='btn btn-primary'>` with `<Button emphasis='primary'>` (and some other emphasis versions) without any additional changes. There's still more places where this could be used which require more in-depth changes that will be in a following commit. * Use Button in place of divs with className='btn btn-primary' This is a minor functional change because these elements are now accessible. * Use Button in SpinnerButton This is removing some usage of a save-button CSS class that doesn't seem to affect these components. * Replace RB Button with our Button There's a small functional change here because the copy button in the header of the FullLogEventModal is now styled when it wasn't before. * Use Button in many places which used btn-secondary, btn-tertiary, and btn-danger This removes some CSS classes from some different elements, but as elsewhere, those CSS classes don't actually do anything. I think some might have had a purpose once, but there seems to be quite a few that were copied around during previous, possibly AI-assisted refactors. * Use Button in many places in System Console Notably, this includes: 1. Cleaning up some complicated logic in PurchaseLink/RenewalLink for determining their styling. 2. Making some minor functional changes in ChannelProfile/TeamProfile because they didn't use standard CSS classes previously. The styles mostly match a secondary button, but they had slightly different padding and colours previously. 3. I also removed a workaround for an old issue with OverlayTrigger and disabled buttons in favour of just using the disabled attribute. For more information on the previous code, see https://github.com/mattermost/mattermost-webapp/pull/10387. Based on some brief testing, that's no longer needed. * Use Button in MultiSelect and remove unneeded backButtonClass prop Everything that used that prop either passed the tertiary class that was the default or passed a class that didn't exist. * Use Button in more places that used btn-primary/secondary/tertiary/quaternary * Use Button in more places that used btn-danger * Use Button for all buttons with a className starting with 'btn btn-...' * Migrate anchors that really should've been buttons to Buttons All of these are anchors with click handlers and the btn class, so they'd appear as buttons anyway. * Migrate SettingItemMax and SettingPicture to Button * Use Button in BrowseChannels * Use Button in TourTip * Migrate GenericModal to Button There's a minor UX change due to the old `delete` class having a slightly different colour from `btn-danger`, but I think that was from an older version of the default themes. Ideally, we'd remove the `GenericModal__button`, `confirm`, and `delete` classes from the buttons on that modal, but doing that would require changes to a large number of E2E tests that I'd rather not do now. * Change order of building packages in postinstall * Fix move_thread E2E tests * Coderabbit feedback * Address feedback * Add JSDoc comments and remove width prop I don't think we need this since this should be set by a parent with `display: flex`, so I'm not going to add it to the Button. * Share Button with plugins
96 lines
3 KiB
JSON
96 lines
3 KiB
JSON
{
|
|
"name": "@mattermost/webapp",
|
|
"private": true,
|
|
"engines": {
|
|
"node": "^24",
|
|
"npm": "^11"
|
|
},
|
|
"scripts": {
|
|
"postinstall": "patch-package && npm run build --workspace platform/types --workspace platform/client --workspace platform/shared --workspace platform/components",
|
|
"build": "node scripts/build.mjs",
|
|
"run": "node scripts/run.mjs",
|
|
"dev-server": "node scripts/dev-server.mjs",
|
|
"test": "npm run test --workspaces --if-present",
|
|
"test:updatesnapshot": "npm run test:updatesnapshot --workspaces --if-present",
|
|
"test-ci": "npm run test-ci --workspaces --if-present",
|
|
"check": "npm run check --workspaces --if-present",
|
|
"fix": "npm run fix --workspaces --if-present",
|
|
"check-types": "npm run check-types --workspaces --if-present",
|
|
"i18n-extract": "npm run i18n-extract --workspaces --if-present",
|
|
"i18n-extract:check": "npm run i18n-extract:check --workspaces --if-present",
|
|
"clean": "npm run clean --workspaces --if-present && rm -rf node_modules .parcel-cache",
|
|
"gen-lang-imports": "node scripts/gen_lang_imports.mjs",
|
|
"check-external-links": "node scripts/check-external-links.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@mattermost/compass-icons": "0.1.53",
|
|
"react-intl": "7.1.14",
|
|
"typescript": "5.6.3"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "7.28.5",
|
|
"@babel/preset-env": "7.29.2",
|
|
"@babel/preset-react": "7.28.5",
|
|
"@babel/preset-typescript": "7.28.5",
|
|
"@formatjs/cli": "6.7.4",
|
|
"@types/node": "24.10.4",
|
|
"babel-loader": "9.1.2",
|
|
"babel-plugin-formatjs": "10.5.1",
|
|
"blessed": "0.1.81",
|
|
"chalk": "5.3.0",
|
|
"concurrently": "9.0.1",
|
|
"cross-env": "7.0.3",
|
|
"css-loader": "6.7.3",
|
|
"eslint": "8.57.0",
|
|
"eslint-import-resolver-webpack": "0.13.8",
|
|
"eslint-plugin-formatjs": "4.13.3",
|
|
"eslint-plugin-react": "7.34.0",
|
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
"mini-css-extract-plugin": "2.7.5",
|
|
"patch-package": "8.0.0",
|
|
"sass": "1.80.5",
|
|
"sass-loader": "16.0.2",
|
|
"strip-ansi": "7.1.0",
|
|
"style-loader": "4.0.0",
|
|
"typescript-eslint-language-service": "5.0.5",
|
|
"webpack": "5.103.0",
|
|
"webpack-cli": "6.0.1",
|
|
"webpack-dev-server": "5.2.2"
|
|
},
|
|
"overrides": {
|
|
"@deanwhillier/jest-matchmedia-mock": {
|
|
"jest": "30.1.3"
|
|
},
|
|
"@giphy/react-components": {
|
|
"styled-components": "5.3.6"
|
|
},
|
|
"@types/redux-mock-store": {
|
|
"redux": "5.0.1"
|
|
},
|
|
"braces": "3.0.3",
|
|
"cheerio": "1.0.0-rc.12",
|
|
"@testing-library/dom": {
|
|
"dom-accessibility-api": "0.6.3"
|
|
},
|
|
"@testing-library/jest-dom": {
|
|
"dom-accessibility-api": "0.6.3"
|
|
},
|
|
"@types/estree": "0.0.51",
|
|
"asn1.js": "5.4.1",
|
|
"react-beautiful-dnd": {
|
|
"react-redux": "9.2.0"
|
|
},
|
|
"redux-persist": {
|
|
"redux": "5.0.1"
|
|
}
|
|
},
|
|
"workspaces": [
|
|
"channels",
|
|
"platform/client",
|
|
"platform/components",
|
|
"platform/eslint-plugin",
|
|
"platform/mattermost-redux",
|
|
"platform/shared",
|
|
"platform/types"
|
|
]
|
|
}
|