4315038346
* Refactor MessageActionBar into MVVM ActionBarView * Adding tooltips for menu items and correct i18n strings * Layout changes * Renaming some properties * Rename property * Create a first version of the view model and refactor media visibility logic * Refactor view to take options and rections menu as optional properties * Cleaner interface between view and view model * Refactor view properties and replace Menu and MenuItem * Bugfixes and switching to ActionBarView instead of MessageActionBar in element-web * Avoid creating view models and render toolbar until it is actually shown * Added unit and playwright tests and documented the view * Added view model unit tests and updated snapshots of dependant tests * Remove unused components and unnecessary css * Remove unused language tags * Fix for handling join-rules correctly * Prettier * Add handling of stale view model in async calls * Prettier * Split the element-web css into two different. One for legacy components and one for the ActionBarView * Missing variables used for linting * Fix for showing ActionBarView when using keyboard for navigation * Handle visibility on context menu closing * ThreadPanel uses the ActionBarView so restore css rule * Fix for visibility of the ActionBarView in Thread panel * Fix for ActionBarVuew visibility when closing right-click context menu and not still hovering * Add roving index to function as a toolbar * Adjust the RoomView test to send hover to the EventTile instead of the message text * Fix SonarCloud issues * Fix for SonarCloud issue * Merge fix * Rename mx_LegacyActionBar to mx_ThreadActionBar * Added documentation and simplified join rules * Generalize the ActionBarView and move logic to view model * Add the four new buttons to the ActionBarView * Update view model and tests to use the updated ActionBarView * Refactor element-web to use ActionBarView * Clean up styling in element-web * Clean up and updating snaps and screenshots * Added unit-tests for better coverage * Moving ActionBarView to the correct folder in shared components * Update snaps in element-web * Better documentation in stories * Merge fixes * Updates after review comments * Review comment fixes * Added documentation to view models and updated snaps * Hide button had the wrong label * Replace createRef with useRef
82 lines
4.2 KiB
JavaScript
82 lines
4.2 KiB
JavaScript
module.exports = {
|
|
extends: ["stylelint-config-standard"],
|
|
customSyntax: "postcss-scss",
|
|
plugins: ["stylelint-scss", "stylelint-value-no-unknown-custom-properties"],
|
|
rules: {
|
|
"comment-empty-line-before": null,
|
|
"declaration-empty-line-before": null,
|
|
"length-zero-no-unit": null,
|
|
"rule-empty-line-before": null,
|
|
"color-hex-length": null,
|
|
"at-rule-no-unknown": null,
|
|
"no-descending-specificity": null,
|
|
"scss/at-rule-no-unknown": [
|
|
true,
|
|
{
|
|
// https://github.com/vector-im/element-web/issues/10544
|
|
ignoreAtRules: ["define-mixin"],
|
|
},
|
|
],
|
|
// Disable `&_kind`-style selectors while our unused CSS approach is "Find & Replace All"
|
|
// rather than a CI thing. Shorthand selectors are harder to detect when searching for a
|
|
// class name. This regex is trying to *allow* anything except `&words`, such as `&::before`,
|
|
// `&.mx_Class`, etc.
|
|
"selector-nested-pattern": "^((&[ :.\\[,])|([^&]))",
|
|
// Disable some defaults
|
|
"selector-class-pattern": null,
|
|
"custom-property-pattern": null,
|
|
"selector-id-pattern": null,
|
|
"keyframes-name-pattern": null,
|
|
"alpha-value-notation": null,
|
|
"color-function-notation": null,
|
|
"selector-not-notation": null,
|
|
"import-notation": null,
|
|
"value-keyword-case": null,
|
|
"declaration-block-no-redundant-longhand-properties": null,
|
|
"shorthand-property-no-redundant-values": null,
|
|
"property-no-vendor-prefix": null,
|
|
"selector-no-vendor-prefix": null,
|
|
"media-feature-name-no-vendor-prefix": null,
|
|
"number-max-precision": null,
|
|
"no-invalid-double-slash-comments": true,
|
|
"media-feature-range-notation": null,
|
|
"declaration-property-value-no-unknown": null,
|
|
"declaration-property-value-keyword-no-deprecated": null,
|
|
"csstools/value-no-unknown-custom-properties": [
|
|
true,
|
|
{
|
|
importFrom: [
|
|
{ from: "res/css/_common.pcss", type: "css" },
|
|
{ from: "res/themes/light/css/_light.pcss", type: "css" },
|
|
// Right now our styles share vars all over the place, this is not ideal but acceptable for now
|
|
{ from: "res/css/views/rooms/_EventTile.pcss", type: "css" },
|
|
{ from: "res/css/views/rooms/_IRCLayout.pcss", type: "css" },
|
|
{ from: "res/css/views/rooms/_EventBubbleTile.pcss", type: "css" },
|
|
{ from: "res/css/views/rooms/_ReadReceiptGroup.pcss", type: "css" },
|
|
{ from: "res/css/views/rooms/_EditMessageComposer.pcss", type: "css" },
|
|
{ from: "res/css/views/right_panel/_BaseCard.pcss", type: "css" },
|
|
{ from: "res/css/views/messages/_MessageActionBar.pcss", type: "css" },
|
|
{ from: "res/css/views/messages/_ThreadActionBar.pcss", type: "css" },
|
|
{ from: "res/css/views/voip/LegacyCallView/_LegacyCallViewButtons.pcss", type: "css" },
|
|
{ from: "res/css/views/elements/_ToggleSwitch.pcss", type: "css" },
|
|
{ from: "res/css/views/settings/tabs/_SettingsTab.pcss", type: "css" },
|
|
{ from: "res/css/structures/_RoomView.pcss", type: "css" },
|
|
// Compound vars
|
|
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-base.css",
|
|
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-semantic.css",
|
|
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-base-mq.css",
|
|
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-semantic-mq.css",
|
|
],
|
|
},
|
|
],
|
|
"property-no-deprecated": [
|
|
true,
|
|
{
|
|
ignoreProperties: ["-webkit-box-orient", "word-wrap"],
|
|
},
|
|
],
|
|
"nesting-selector-no-missing-scoping-root": null,
|
|
"no-invalid-position-declaration": null,
|
|
},
|
|
};
|