Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into soru/spoilers
This commit is contained in:
commit
fe9ae46ffb
389 changed files with 23061 additions and 5544 deletions
|
@ -1,7 +1,12 @@
|
|||
steps:
|
||||
- label: ":eslint: Lint"
|
||||
command:
|
||||
- "yarn install"
|
||||
# TODO: Remove hacky chmod for BuildKite
|
||||
- "echo '--- Setup'"
|
||||
- "chmod +x ./scripts/ci/*.sh"
|
||||
- "chmod +x ./scripts/*"
|
||||
- "echo '--- Install js-sdk'"
|
||||
- "./scripts/ci/install-deps.sh"
|
||||
- "yarn lintwithexclusions"
|
||||
- "yarn stylelint"
|
||||
plugins:
|
||||
|
@ -80,6 +85,16 @@ steps:
|
|||
image: "node:10"
|
||||
propagate-environment: true
|
||||
|
||||
- label: "🌐 i18n"
|
||||
command:
|
||||
- "echo '--- Fetching Dependencies'"
|
||||
- "yarn install"
|
||||
- "echo '+++ Testing i18n output'"
|
||||
- "yarn diff-i18n"
|
||||
plugins:
|
||||
- docker#v3.0.1:
|
||||
image: "node:10"
|
||||
|
||||
- wait
|
||||
|
||||
- label: "🐴 Trigger riot-web"
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
src/component-index.js
|
||||
src/components/structures/BottomLeftMenu.js
|
||||
src/components/structures/CreateRoom.js
|
||||
src/components/structures/MessagePanel.js
|
||||
src/components/structures/RoomDirectory.js
|
||||
src/components/structures/RoomStatusBar.js
|
||||
src/components/structures/RoomView.js
|
||||
|
@ -18,7 +17,6 @@ src/components/views/dialogs/SetPasswordDialog.js
|
|||
src/components/views/dialogs/UnknownDeviceDialog.js
|
||||
src/components/views/elements/AddressSelector.js
|
||||
src/components/views/elements/DirectorySearchBox.js
|
||||
src/components/views/elements/ImageView.js
|
||||
src/components/views/elements/MemberEventListSummary.js
|
||||
src/components/views/elements/TintableSvg.js
|
||||
src/components/views/elements/UserSelector.js
|
||||
|
@ -36,7 +34,7 @@ src/components/views/rooms/LinkPreviewWidget.js
|
|||
src/components/views/rooms/MemberDeviceInfo.js
|
||||
src/components/views/rooms/MemberInfo.js
|
||||
src/components/views/rooms/MemberList.js
|
||||
src/components/views/rooms/MessageComposer.js
|
||||
src/components/views/rooms/SlateMessageComposer.js
|
||||
src/components/views/rooms/PinnedEventTile.js
|
||||
src/components/views/rooms/RoomList.js
|
||||
src/components/views/rooms/RoomPreviewBar.js
|
||||
|
@ -48,12 +46,10 @@ src/components/views/rooms/UserTile.js
|
|||
src/components/views/settings/ChangeAvatar.js
|
||||
src/components/views/settings/ChangePassword.js
|
||||
src/components/views/settings/DevicesPanel.js
|
||||
src/components/views/settings/IntegrationsManager.js
|
||||
src/components/views/settings/Notifications.js
|
||||
src/GroupAddressPicker.js
|
||||
src/HtmlUtils.js
|
||||
src/ImageUtils.js
|
||||
src/languageHandler.js
|
||||
src/linkify-matrix.js
|
||||
src/Markdown.js
|
||||
src/MatrixClientPeg.js
|
||||
|
@ -68,7 +64,6 @@ src/rageshake/submit-rageshake.js
|
|||
src/ratelimitedfunc.js
|
||||
src/Roles.js
|
||||
src/Rooms.js
|
||||
src/ScalarAuthClient.js
|
||||
src/UiEffects.js
|
||||
src/Unread.js
|
||||
src/utils/DecryptFile.js
|
||||
|
|
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
patreon: matrixdotorg
|
||||
liberapay: matrixdotorg
|
|
@ -1,5 +1,8 @@
|
|||
module.exports = {
|
||||
"extends": "stylelint-config-standard",
|
||||
"plugins": [
|
||||
"stylelint-scss",
|
||||
],
|
||||
"rules": {
|
||||
"indentation": 4,
|
||||
"comment-empty-line-before": null,
|
||||
|
@ -11,5 +14,10 @@ module.exports = {
|
|||
"number-no-trailing-zeros": null,
|
||||
"number-leading-zero": null,
|
||||
"selector-list-comma-newline-after": null,
|
||||
"at-rule-no-unknown": null,
|
||||
"scss/at-rule-no-unknown": [true, {
|
||||
// https://github.com/vector-im/riot-web/issues/10544
|
||||
"ignoreAtRules": ["define-mixin"],
|
||||
}],
|
||||
}
|
||||
}
|
||||
|
|
714
CHANGELOG.md
714
CHANGELOG.md
|
@ -1,3 +1,717 @@
|
|||
Changes in [1.5.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.5.1) (2019-08-05)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.5.0-rc.1...v1.5.1)
|
||||
|
||||
* Let user know their account has been deactivated upon trying to login
|
||||
[\#3281](https://github.com/matrix-org/matrix-react-sdk/pull/3281)
|
||||
|
||||
Changes in [1.5.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.5.0) (2019-08-05)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.5.0-rc.1...v1.5.0)
|
||||
|
||||
* Don't load guest sessions on post-registration login link
|
||||
[\#3277](https://github.com/matrix-org/matrix-react-sdk/pull/3277)
|
||||
|
||||
Changes in [1.5.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.5.0-rc.1) (2019-07-31)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.4.0...v1.5.0-rc.1)
|
||||
|
||||
* Upgrade to JS SDK 2.3.0-rc.1
|
||||
* Update from Weblate
|
||||
[\#3265](https://github.com/matrix-org/matrix-react-sdk/pull/3265)
|
||||
* Replace React.PropTypes with usage of the `prop-types` package
|
||||
[\#3263](https://github.com/matrix-org/matrix-react-sdk/pull/3263)
|
||||
* strikethrough & underline deletions & insertions
|
||||
[\#3264](https://github.com/matrix-org/matrix-react-sdk/pull/3264)
|
||||
* Get rid of warning of required prop
|
||||
[\#3261](https://github.com/matrix-org/matrix-react-sdk/pull/3261)
|
||||
* Fix html diffs repeating text sometimes
|
||||
[\#3262](https://github.com/matrix-org/matrix-react-sdk/pull/3262)
|
||||
* Introduce RoomContext for sharing state between RoomView and children
|
||||
[\#3260](https://github.com/matrix-org/matrix-react-sdk/pull/3260)
|
||||
* Upgrade emojibase to fix :anxious:
|
||||
[\#3259](https://github.com/matrix-org/matrix-react-sdk/pull/3259)
|
||||
* Add support for IS v2 API with authentication
|
||||
[\#3256](https://github.com/matrix-org/matrix-react-sdk/pull/3256)
|
||||
* Fix autocomplete for editing being broken
|
||||
[\#3258](https://github.com/matrix-org/matrix-react-sdk/pull/3258)
|
||||
* Unit tests for new editor
|
||||
[\#3247](https://github.com/matrix-org/matrix-react-sdk/pull/3247)
|
||||
* Show MessageActionBar buttons conditionally on room state permissions
|
||||
[\#3255](https://github.com/matrix-org/matrix-react-sdk/pull/3255)
|
||||
* Handle onPaste AddressPickerDialog, allow addressing CSV/NL/Space delim list
|
||||
[\#3249](https://github.com/matrix-org/matrix-react-sdk/pull/3249)
|
||||
* Move history with alt up/down regardless of where selection is
|
||||
[\#3254](https://github.com/matrix-org/matrix-react-sdk/pull/3254)
|
||||
* Update from Weblate
|
||||
[\#3253](https://github.com/matrix-org/matrix-react-sdk/pull/3253)
|
||||
* Fix /rainbowme and /rainbow breaking apart utf-16 emoji
|
||||
[\#3248](https://github.com/matrix-org/matrix-react-sdk/pull/3248)
|
||||
* Tweak interactive tooltip buffer area allow for overshoot
|
||||
[\#3245](https://github.com/matrix-org/matrix-react-sdk/pull/3245)
|
||||
* Keep widget URL in permission screen to one line
|
||||
[\#3243](https://github.com/matrix-org/matrix-react-sdk/pull/3243)
|
||||
* Avoid visual glitch when terms appear for Integration Manager
|
||||
[\#3242](https://github.com/matrix-org/matrix-react-sdk/pull/3242)
|
||||
* Show diff for formatted messages in the edit history
|
||||
[\#3244](https://github.com/matrix-org/matrix-react-sdk/pull/3244)
|
||||
* Redirect paste to composer when event target can't receive input
|
||||
[\#3239](https://github.com/matrix-org/matrix-react-sdk/pull/3239)
|
||||
* Restore manual composing focusing logic
|
||||
[\#3241](https://github.com/matrix-org/matrix-react-sdk/pull/3241)
|
||||
* ToS for ISes/IMs: prompt on use screen
|
||||
[\#3199](https://github.com/matrix-org/matrix-react-sdk/pull/3199)
|
||||
* Defer IM token until widget is shown and permission granted
|
||||
[\#3240](https://github.com/matrix-org/matrix-react-sdk/pull/3240)
|
||||
* Move read marker past invisible events
|
||||
[\#3226](https://github.com/matrix-org/matrix-react-sdk/pull/3226)
|
||||
* Basic diff visualisation for plain text edits
|
||||
[\#3238](https://github.com/matrix-org/matrix-react-sdk/pull/3238)
|
||||
* Don't focus composer on keydown with modifier
|
||||
[\#3237](https://github.com/matrix-org/matrix-react-sdk/pull/3237)
|
||||
* Focus composer when typing anywhere in the app
|
||||
[\#3224](https://github.com/matrix-org/matrix-react-sdk/pull/3224)
|
||||
* Don't show remove button for original event in edit history
|
||||
[\#3235](https://github.com/matrix-org/matrix-react-sdk/pull/3235)
|
||||
* Remove feature flags for reactions and edits
|
||||
[\#3233](https://github.com/matrix-org/matrix-react-sdk/pull/3233)
|
||||
* Enable reactions and edits by default
|
||||
[\#3229](https://github.com/matrix-org/matrix-react-sdk/pull/3229)
|
||||
* Improve interactive tooltip safe mousing area
|
||||
[\#3228](https://github.com/matrix-org/matrix-react-sdk/pull/3228)
|
||||
* Add a previous event safe area around action bar
|
||||
[\#3227](https://github.com/matrix-org/matrix-react-sdk/pull/3227)
|
||||
* Parse integration manager origins more sensibly
|
||||
[\#3217](https://github.com/matrix-org/matrix-react-sdk/pull/3217)
|
||||
* ChatCreateOrReuse show only rooms both you and the other party still in
|
||||
[\#3225](https://github.com/matrix-org/matrix-react-sdk/pull/3225)
|
||||
* Check for liveliness on submission when the server was previously dead
|
||||
[\#3218](https://github.com/matrix-org/matrix-react-sdk/pull/3218)
|
||||
* Fix autocomplete delay text field not accepting text
|
||||
[\#3219](https://github.com/matrix-org/matrix-react-sdk/pull/3219)
|
||||
* Don't show a reason if there's no reason for a kick/ban
|
||||
[\#3220](https://github.com/matrix-org/matrix-react-sdk/pull/3220)
|
||||
* Take adjacent invisible events into account for read receipt, even if any
|
||||
but first should be ignored.
|
||||
[\#3221](https://github.com/matrix-org/matrix-react-sdk/pull/3221)
|
||||
* Check content and content.users in power levels
|
||||
[\#3216](https://github.com/matrix-org/matrix-react-sdk/pull/3216)
|
||||
* Autojoin rooms when clicking the tombstone
|
||||
[\#3206](https://github.com/matrix-org/matrix-react-sdk/pull/3206)
|
||||
* Verify i18n in CI
|
||||
[\#3209](https://github.com/matrix-org/matrix-react-sdk/pull/3209)
|
||||
* Send the correct UIA alongside the wrong UIA for backwards comaptibility
|
||||
[\#3211](https://github.com/matrix-org/matrix-react-sdk/pull/3211)
|
||||
* Remove unused identityEnabled property from ValidatedServerConfig
|
||||
[\#3213](https://github.com/matrix-org/matrix-react-sdk/pull/3213)
|
||||
* Remove misleading text about admins logging people out from soft logout
|
||||
[\#3205](https://github.com/matrix-org/matrix-react-sdk/pull/3205)
|
||||
|
||||
Changes in [1.4.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.4.0) (2019-07-18)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.4.0-rc.3...v1.4.0)
|
||||
|
||||
* Upgrade to JS SDK 2.2.0
|
||||
* Don't show remove button for original event in edit history
|
||||
[\#3236](https://github.com/matrix-org/matrix-react-sdk/pull/3236)
|
||||
* Remove feature flags for reactions and edits
|
||||
[\#3234](https://github.com/matrix-org/matrix-react-sdk/pull/3234)
|
||||
* Enable reactions and edits by default
|
||||
[\#3232](https://github.com/matrix-org/matrix-react-sdk/pull/3232)
|
||||
* Improve interactive tooltip safe mousing area
|
||||
[\#3231](https://github.com/matrix-org/matrix-react-sdk/pull/3231)
|
||||
* Add a previous event safe area around action bar
|
||||
[\#3230](https://github.com/matrix-org/matrix-react-sdk/pull/3230)
|
||||
|
||||
Changes in [1.4.0-rc.3](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.4.0-rc.3) (2019-07-15)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.4.0-rc.2...v1.4.0-rc.3)
|
||||
|
||||
* Check content and content.users in power levels
|
||||
[\#3223](https://github.com/matrix-org/matrix-react-sdk/pull/3223)
|
||||
* Take adjacent invisible events into account for read receipt, even if any
|
||||
but first should be ignored.
|
||||
[\#3222](https://github.com/matrix-org/matrix-react-sdk/pull/3222)
|
||||
|
||||
Changes in [1.4.0-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.4.0-rc.2) (2019-07-12)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.4.0-rc.1...v1.4.0-rc.2)
|
||||
|
||||
* Upgrade to JS SDK 2.2.0-rc.2 to fix regresion in listing devices
|
||||
* Remove misleading text about admins logging people out from soft logout
|
||||
[\#3215](https://github.com/matrix-org/matrix-react-sdk/pull/3215)
|
||||
|
||||
Changes in [1.4.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.4.0-rc.1) (2019-07-12)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.3.1...v1.4.0-rc.1)
|
||||
|
||||
* Update from Weblate
|
||||
[\#3214](https://github.com/matrix-org/matrix-react-sdk/pull/3214)
|
||||
* Prevent autocomplete on paste, and verserev-ing text before and after :
|
||||
[\#3210](https://github.com/matrix-org/matrix-react-sdk/pull/3210)
|
||||
* Close settings after deactivating
|
||||
[\#3212](https://github.com/matrix-org/matrix-react-sdk/pull/3212)
|
||||
* Require an issue URL (or notes) on rageshakes
|
||||
[\#3207](https://github.com/matrix-org/matrix-react-sdk/pull/3207)
|
||||
* Use r0 media endpoints for group tests
|
||||
[\#3202](https://github.com/matrix-org/matrix-react-sdk/pull/3202)
|
||||
* Fix field styling regression
|
||||
[\#3204](https://github.com/matrix-org/matrix-react-sdk/pull/3204)
|
||||
* Upgrade dependencies
|
||||
[\#3203](https://github.com/matrix-org/matrix-react-sdk/pull/3203)
|
||||
* Show anything other than ban/invite -> leave as a kick
|
||||
[\#3198](https://github.com/matrix-org/matrix-react-sdk/pull/3198)
|
||||
* Run stylelint on all SCSS files
|
||||
[\#3200](https://github.com/matrix-org/matrix-react-sdk/pull/3200)
|
||||
* Show original event in edit history
|
||||
[\#3195](https://github.com/matrix-org/matrix-react-sdk/pull/3195)
|
||||
* Use the state variable for the password when deactivating
|
||||
[\#3201](https://github.com/matrix-org/matrix-react-sdk/pull/3201)
|
||||
* Support SSO for rehydrating a soft-logged-out session.
|
||||
[\#3197](https://github.com/matrix-org/matrix-react-sdk/pull/3197)
|
||||
* Change highlight colour on dark theme
|
||||
[\#3196](https://github.com/matrix-org/matrix-react-sdk/pull/3196)
|
||||
* Dress up the soft logout page to look like the design
|
||||
[\#3190](https://github.com/matrix-org/matrix-react-sdk/pull/3190)
|
||||
* Overwrite the old session if the new creds are for a different user
|
||||
[\#3189](https://github.com/matrix-org/matrix-react-sdk/pull/3189)
|
||||
* Fix React crash when using a non-default homeserver on soft logout
|
||||
[\#3188](https://github.com/matrix-org/matrix-react-sdk/pull/3188)
|
||||
* Change soft logout rehydrate text if there's pending key backups
|
||||
[\#3187](https://github.com/matrix-org/matrix-react-sdk/pull/3187)
|
||||
* Ask for the user's password to rehydrate their soft logged out session
|
||||
[\#3182](https://github.com/matrix-org/matrix-react-sdk/pull/3182)
|
||||
* Don't try to call bodyToHtml with an empty content
|
||||
[\#3194](https://github.com/matrix-org/matrix-react-sdk/pull/3194)
|
||||
* Take server-side aggregation into account for timestamp on (edited) tooltip
|
||||
[\#3193](https://github.com/matrix-org/matrix-react-sdk/pull/3193)
|
||||
* Fix some React errors
|
||||
[\#3164](https://github.com/matrix-org/matrix-react-sdk/pull/3164)
|
||||
* Preserve reply fallback on edit
|
||||
[\#3192](https://github.com/matrix-org/matrix-react-sdk/pull/3192)
|
||||
* Don't show Remove button in ImageView if can't redact, delint ImageView
|
||||
[\#3191](https://github.com/matrix-org/matrix-react-sdk/pull/3191)
|
||||
* Edit history actions
|
||||
[\#3180](https://github.com/matrix-org/matrix-react-sdk/pull/3180)
|
||||
* Don't allow editing via up-arrow when Replying
|
||||
[\#3183](https://github.com/matrix-org/matrix-react-sdk/pull/3183)
|
||||
* If oldContent matches newContent, skip sending the edit
|
||||
[\#3103](https://github.com/matrix-org/matrix-react-sdk/pull/3103)
|
||||
* Track live events in timeline and use for read receipts and read markers
|
||||
[\#3184](https://github.com/matrix-org/matrix-react-sdk/pull/3184)
|
||||
* Upgrade dependencies
|
||||
[\#3179](https://github.com/matrix-org/matrix-react-sdk/pull/3179)
|
||||
* Allow diplayed reaction values to contain anything
|
||||
[\#3186](https://github.com/matrix-org/matrix-react-sdk/pull/3186)
|
||||
* Fix interactive tooltip null target error
|
||||
[\#3185](https://github.com/matrix-org/matrix-react-sdk/pull/3185)
|
||||
* Require that users go to the soft logout page if they're soft logged out
|
||||
[\#3181](https://github.com/matrix-org/matrix-react-sdk/pull/3181)
|
||||
* Emojibase data includes blank variations, accept these when searching
|
||||
[\#3163](https://github.com/matrix-org/matrix-react-sdk/pull/3163)
|
||||
* Implement basic soft logout handling
|
||||
[\#3177](https://github.com/matrix-org/matrix-react-sdk/pull/3177)
|
||||
* De-lint ScalarAuthClient
|
||||
[\#3178](https://github.com/matrix-org/matrix-react-sdk/pull/3178)
|
||||
* show /relations error in edit history dialog
|
||||
[\#3174](https://github.com/matrix-org/matrix-react-sdk/pull/3174)
|
||||
|
||||
Changes in [1.3.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.3.1) (2019-07-11)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.3.0...v1.3.1)
|
||||
|
||||
* Fix account deactivation
|
||||
[\#3201](https://github.com/matrix-org/matrix-react-sdk/pull/3201)
|
||||
* Upgrade lodash dependencies
|
||||
* Upgrade to JS SDK 2.1.1
|
||||
|
||||
Changes in [1.3.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.3.0) (2019-07-08)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.3.0-rc.1...v1.3.0)
|
||||
|
||||
No changes since rc.1
|
||||
|
||||
Changes in [1.3.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.3.0-rc.1) (2019-07-03)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.2.2...v1.3.0-rc.1)
|
||||
|
||||
* MELS handle m.room.third_party_invite
|
||||
[\#3173](https://github.com/matrix-org/matrix-react-sdk/pull/3173)
|
||||
* Fix logic around MemberList invites section, specifically regarding 3pid
|
||||
[\#3172](https://github.com/matrix-org/matrix-react-sdk/pull/3172)
|
||||
* Update from Weblate
|
||||
[\#3176](https://github.com/matrix-org/matrix-react-sdk/pull/3176)
|
||||
* Track the user's own typing state external to the composer
|
||||
[\#3150](https://github.com/matrix-org/matrix-react-sdk/pull/3150)
|
||||
* Handle associated event send failures
|
||||
[\#3170](https://github.com/matrix-org/matrix-react-sdk/pull/3170)
|
||||
* Improve interactive tooltip hover behaviour
|
||||
[\#3169](https://github.com/matrix-org/matrix-react-sdk/pull/3169)
|
||||
* Fix login type selector border
|
||||
[\#3171](https://github.com/matrix-org/matrix-react-sdk/pull/3171)
|
||||
* Use the event sender instead of event ID for viaServers off a tombstone
|
||||
[\#3159](https://github.com/matrix-org/matrix-react-sdk/pull/3159)
|
||||
* Append keyshare request dialogs instead of replacing the current dialog
|
||||
[\#3160](https://github.com/matrix-org/matrix-react-sdk/pull/3160)
|
||||
* Add AccessibleTooltipButton and use it for RoomSubList buttons
|
||||
[\#3165](https://github.com/matrix-org/matrix-react-sdk/pull/3165)
|
||||
* MemberInfo wrap Device Name/ID
|
||||
[\#3166](https://github.com/matrix-org/matrix-react-sdk/pull/3166)
|
||||
* Correctly populate the dispatch for joining a room via servers
|
||||
[\#3161](https://github.com/matrix-org/matrix-react-sdk/pull/3161)
|
||||
* Clean up legacy breadcrumbs persistence fallback
|
||||
[\#3162](https://github.com/matrix-org/matrix-react-sdk/pull/3162)
|
||||
* Update from Weblate
|
||||
[\#3168](https://github.com/matrix-org/matrix-react-sdk/pull/3168)
|
||||
* Add ability to render null-rejoins in Timeline and MELS
|
||||
[\#3135](https://github.com/matrix-org/matrix-react-sdk/pull/3135)
|
||||
* Add /myavatar command
|
||||
[\#3155](https://github.com/matrix-org/matrix-react-sdk/pull/3155)
|
||||
* Update config.json docs location
|
||||
[\#3158](https://github.com/matrix-org/matrix-react-sdk/pull/3158)
|
||||
* If on trackpad, don't mess with horizontal scrolling.
|
||||
[\#3148](https://github.com/matrix-org/matrix-react-sdk/pull/3148)
|
||||
* Limit reactions row on initial display
|
||||
[\#3152](https://github.com/matrix-org/matrix-react-sdk/pull/3152)
|
||||
* Unpin highlight.js
|
||||
[\#3156](https://github.com/matrix-org/matrix-react-sdk/pull/3156)
|
||||
* Flexboxify generic error page
|
||||
[\#3154](https://github.com/matrix-org/matrix-react-sdk/pull/3154)
|
||||
* Fix weird scrollbar when devtools is in a narrow browser
|
||||
[\#3153](https://github.com/matrix-org/matrix-react-sdk/pull/3153)
|
||||
* Show a loading state for slow peeks
|
||||
[\#3142](https://github.com/matrix-org/matrix-react-sdk/pull/3142)
|
||||
* Don't show error dialog when user has no webcam
|
||||
[\#3146](https://github.com/matrix-org/matrix-react-sdk/pull/3146)
|
||||
* Make edit history work in encrypted rooms.
|
||||
[\#3151](https://github.com/matrix-org/matrix-react-sdk/pull/3151)
|
||||
* Change interactive tooltip to only flip when required
|
||||
[\#3147](https://github.com/matrix-org/matrix-react-sdk/pull/3147)
|
||||
* Edit history dialog
|
||||
[\#3144](https://github.com/matrix-org/matrix-react-sdk/pull/3144)
|
||||
* Fix the scrollbar in the community bar
|
||||
[\#3143](https://github.com/matrix-org/matrix-react-sdk/pull/3143)
|
||||
* Add focus border to edit composer
|
||||
[\#3145](https://github.com/matrix-org/matrix-react-sdk/pull/3145)
|
||||
* Supply oobData to RoomPreviewBar
|
||||
[\#3141](https://github.com/matrix-org/matrix-react-sdk/pull/3141)
|
||||
* Don't boost trackpad users in breadcrumbs
|
||||
[\#3140](https://github.com/matrix-org/matrix-react-sdk/pull/3140)
|
||||
* Fix room upgrade warning being chopped off and a spelling mistake
|
||||
[\#3139](https://github.com/matrix-org/matrix-react-sdk/pull/3139)
|
||||
* Add quick reaction buttons in tooltip
|
||||
[\#3138](https://github.com/matrix-org/matrix-react-sdk/pull/3138)
|
||||
* When joining from room directory, use auto_join
|
||||
[\#3136](https://github.com/matrix-org/matrix-react-sdk/pull/3136)
|
||||
* Improve API and interactivity of new tooltip
|
||||
[\#3137](https://github.com/matrix-org/matrix-react-sdk/pull/3137)
|
||||
* Use feature flag for displaying edits as well
|
||||
[\#3132](https://github.com/matrix-org/matrix-react-sdk/pull/3132)
|
||||
* Add interactive tooltip style
|
||||
[\#3131](https://github.com/matrix-org/matrix-react-sdk/pull/3131)
|
||||
* Remove redundant extra chevrons from ContextualMenu
|
||||
[\#3129](https://github.com/matrix-org/matrix-react-sdk/pull/3129)
|
||||
* Editor caret improvements
|
||||
[\#3126](https://github.com/matrix-org/matrix-react-sdk/pull/3126)
|
||||
* Disable left/right arrow navigating completions for now
|
||||
[\#3130](https://github.com/matrix-org/matrix-react-sdk/pull/3130)
|
||||
* Take list nesting into account for indenting
|
||||
[\#3128](https://github.com/matrix-org/matrix-react-sdk/pull/3128)
|
||||
* Add file size to UploadConfirmDialog
|
||||
[\#3127](https://github.com/matrix-org/matrix-react-sdk/pull/3127)
|
||||
* Consider cancelled verifications when mounting IncomingSasDialog
|
||||
[\#3123](https://github.com/matrix-org/matrix-react-sdk/pull/3123)
|
||||
* Make the verification cancelled dialog say OK instead of Cancel
|
||||
[\#3124](https://github.com/matrix-org/matrix-react-sdk/pull/3124)
|
||||
* Update from Weblate
|
||||
[\#3125](https://github.com/matrix-org/matrix-react-sdk/pull/3125)
|
||||
* Remove unused ContextualMenu features
|
||||
[\#3122](https://github.com/matrix-org/matrix-react-sdk/pull/3122)
|
||||
* Fix casing of TooltipButton
|
||||
[\#3119](https://github.com/matrix-org/matrix-react-sdk/pull/3119)
|
||||
* De-duplicate notif badge code
|
||||
[\#3120](https://github.com/matrix-org/matrix-react-sdk/pull/3120)
|
||||
* Fix favicon/title badge count
|
||||
[\#3121](https://github.com/matrix-org/matrix-react-sdk/pull/3121)
|
||||
* Switch ugly password boxes to Field or styled input
|
||||
[\#3071](https://github.com/matrix-org/matrix-react-sdk/pull/3071)
|
||||
* Restore warning for if you're already logged in
|
||||
[\#3118](https://github.com/matrix-org/matrix-react-sdk/pull/3118)
|
||||
* Provide default name if device label is missing
|
||||
[\#3113](https://github.com/matrix-org/matrix-react-sdk/pull/3113)
|
||||
* Support @room pills while editing
|
||||
[\#3108](https://github.com/matrix-org/matrix-react-sdk/pull/3108)
|
||||
|
||||
Changes in [1.2.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.2.2) (2019-06-19)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.2.2-rc.2...v1.2.2)
|
||||
|
||||
No changes since rc.2
|
||||
|
||||
Changes in [1.2.2-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.2.2-rc.2) (2019-06-18)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.2.2-rc.1...v1.2.2-rc.2)
|
||||
|
||||
* Defer scalar API calls until they are needed
|
||||
[\#3115](https://github.com/matrix-org/matrix-react-sdk/pull/3115)
|
||||
* Blend pending redactions
|
||||
[\#3117](https://github.com/matrix-org/matrix-react-sdk/pull/3117)
|
||||
* Keep old arrow-up behaviour when editing is not enabled
|
||||
[\#3116](https://github.com/matrix-org/matrix-react-sdk/pull/3116)
|
||||
* Restore Composer History under shift-up & down
|
||||
[\#3098](https://github.com/matrix-org/matrix-react-sdk/pull/3098)
|
||||
* Allow changing server if validation has failed
|
||||
[\#3114](https://github.com/matrix-org/matrix-react-sdk/pull/3114)
|
||||
* Add Upload All button to UploadConfirmDialog
|
||||
[\#3109](https://github.com/matrix-org/matrix-react-sdk/pull/3109)
|
||||
* Re-enable register button
|
||||
[\#3112](https://github.com/matrix-org/matrix-react-sdk/pull/3112)
|
||||
* keep mx_Field stretching
|
||||
[\#3111](https://github.com/matrix-org/matrix-react-sdk/pull/3111)
|
||||
* Fix double-spinner
|
||||
[\#3107](https://github.com/matrix-org/matrix-react-sdk/pull/3107)
|
||||
* Fix display of canonicalAlias in group room info
|
||||
[\#3110](https://github.com/matrix-org/matrix-react-sdk/pull/3110)
|
||||
* Fix welcome user
|
||||
[\#3106](https://github.com/matrix-org/matrix-react-sdk/pull/3106)
|
||||
* Support editing emote messages
|
||||
[\#3105](https://github.com/matrix-org/matrix-react-sdk/pull/3105)
|
||||
* Use flex: 1 for mx_Field to replace all the calc(100% - 20px) and more
|
||||
[\#3104](https://github.com/matrix-org/matrix-react-sdk/pull/3104)
|
||||
* Use overflow on MemberInfo name/mxid so that the back button stays
|
||||
[\#3099](https://github.com/matrix-org/matrix-react-sdk/pull/3099)
|
||||
* Allow changing servers on nonfatal errors
|
||||
[\#3102](https://github.com/matrix-org/matrix-react-sdk/pull/3102)
|
||||
* Simplify email registration
|
||||
[\#3101](https://github.com/matrix-org/matrix-react-sdk/pull/3101)
|
||||
* Allow arrow keys navigation in autocomplete list
|
||||
[\#2966](https://github.com/matrix-org/matrix-react-sdk/pull/2966)
|
||||
* Edit unsent messages
|
||||
[\#3097](https://github.com/matrix-org/matrix-react-sdk/pull/3097)
|
||||
* Fix registration with email + non-default HS
|
||||
[\#3096](https://github.com/matrix-org/matrix-react-sdk/pull/3096)
|
||||
* Raise action bar above read marker
|
||||
[\#3095](https://github.com/matrix-org/matrix-react-sdk/pull/3095)
|
||||
* Console log more helpfully
|
||||
[\#3094](https://github.com/matrix-org/matrix-react-sdk/pull/3094)
|
||||
|
||||
Changes in [1.2.2-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.2.2-rc.1) (2019-06-12)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.2.1...v1.2.2-rc.1)
|
||||
|
||||
* Align message context menu to right and vertically where space available
|
||||
[\#3087](https://github.com/matrix-org/matrix-react-sdk/pull/3087)
|
||||
* Allow registration to submit for non-fatal errors
|
||||
[\#3093](https://github.com/matrix-org/matrix-react-sdk/pull/3093)
|
||||
* Clear the login busy state after .well-known discovery
|
||||
[\#3092](https://github.com/matrix-org/matrix-react-sdk/pull/3092)
|
||||
* Update from Weblate
|
||||
[\#3091](https://github.com/matrix-org/matrix-react-sdk/pull/3091)
|
||||
* Fix registration after fail-fast
|
||||
[\#3090](https://github.com/matrix-org/matrix-react-sdk/pull/3090)
|
||||
* Use setBusy interface of js-sdk interactive auth
|
||||
[\#3085](https://github.com/matrix-org/matrix-react-sdk/pull/3085)
|
||||
* Don't handle identity server failure as fatal, and use the right message
|
||||
[\#3088](https://github.com/matrix-org/matrix-react-sdk/pull/3088)
|
||||
* Recheck message actions on decrypt
|
||||
[\#3084](https://github.com/matrix-org/matrix-react-sdk/pull/3084)
|
||||
* Fix exception on logout
|
||||
[\#3086](https://github.com/matrix-org/matrix-react-sdk/pull/3086)
|
||||
* Remember we were trying to accept an invite
|
||||
[\#3083](https://github.com/matrix-org/matrix-react-sdk/pull/3083)
|
||||
* Add funding details for GitHub sponsor button
|
||||
[\#3079](https://github.com/matrix-org/matrix-react-sdk/pull/3079)
|
||||
* Remove highlight from reactions
|
||||
[\#3081](https://github.com/matrix-org/matrix-react-sdk/pull/3081)
|
||||
* Clarify that only lowercase letters are allowed
|
||||
[\#3080](https://github.com/matrix-org/matrix-react-sdk/pull/3080)
|
||||
* Don't handle identity server liveliness errors as fatal
|
||||
[\#3082](https://github.com/matrix-org/matrix-react-sdk/pull/3082)
|
||||
* truncate long display names in timeline headings
|
||||
[\#3078](https://github.com/matrix-org/matrix-react-sdk/pull/3078)
|
||||
* Fail more softly on homeserver liveliness errors
|
||||
[\#3067](https://github.com/matrix-org/matrix-react-sdk/pull/3067)
|
||||
* Fix AddressPickerDialog adding wrong entry to selected list case
|
||||
[\#3076](https://github.com/matrix-org/matrix-react-sdk/pull/3076)
|
||||
* change profile keybind to backtick from i due to italics conflict
|
||||
[\#3077](https://github.com/matrix-org/matrix-react-sdk/pull/3077)
|
||||
* Look busy whilst requesting the email token
|
||||
[\#3075](https://github.com/matrix-org/matrix-react-sdk/pull/3075)
|
||||
* Fix email invites address-match checking
|
||||
[\#3074](https://github.com/matrix-org/matrix-react-sdk/pull/3074)
|
||||
* Add license info for Twemoji
|
||||
[\#3073](https://github.com/matrix-org/matrix-react-sdk/pull/3073)
|
||||
* Show read receipts on top of message
|
||||
[\#3072](https://github.com/matrix-org/matrix-react-sdk/pull/3072)
|
||||
* Be somewhat fuzzier when matching emojis to complete on space
|
||||
[\#3070](https://github.com/matrix-org/matrix-react-sdk/pull/3070)
|
||||
* Restrict reactions to a single emoji
|
||||
[\#3069](https://github.com/matrix-org/matrix-react-sdk/pull/3069)
|
||||
* Fix live updates to reaction row buttons
|
||||
[\#3068](https://github.com/matrix-org/matrix-react-sdk/pull/3068)
|
||||
* Don't refresh custom status on logout
|
||||
[\#3065](https://github.com/matrix-org/matrix-react-sdk/pull/3065)
|
||||
* Add a logged in class to EmbeddedPage and react to MatrixClient changes
|
||||
[\#3066](https://github.com/matrix-org/matrix-react-sdk/pull/3066)
|
||||
* Don't show "can't redact" dialog on network error, with redaction having
|
||||
local echo & queuing now.
|
||||
[\#3058](https://github.com/matrix-org/matrix-react-sdk/pull/3058)
|
||||
* Fix login page breaking on wrong password
|
||||
[\#3062](https://github.com/matrix-org/matrix-react-sdk/pull/3062)
|
||||
* Update from Weblate
|
||||
[\#3064](https://github.com/matrix-org/matrix-react-sdk/pull/3064)
|
||||
* Install latest JS SDK when linting
|
||||
[\#3063](https://github.com/matrix-org/matrix-react-sdk/pull/3063)
|
||||
* Ensure we always show read receipts even with hidden events
|
||||
[\#3056](https://github.com/matrix-org/matrix-react-sdk/pull/3056)
|
||||
* Advance read receipts into trailing events without tiles
|
||||
[\#3059](https://github.com/matrix-org/matrix-react-sdk/pull/3059)
|
||||
* Remove unused errorText prop
|
||||
[\#3061](https://github.com/matrix-org/matrix-react-sdk/pull/3061)
|
||||
* Remove SettingsStore reference in RoomSettingsDialog
|
||||
[\#3060](https://github.com/matrix-org/matrix-react-sdk/pull/3060)
|
||||
* Custom notification sounds for rooms
|
||||
[\#2928](https://github.com/matrix-org/matrix-react-sdk/pull/2928)
|
||||
* Fix comments in unread room tracking
|
||||
[\#3054](https://github.com/matrix-org/matrix-react-sdk/pull/3054)
|
||||
* Allow source tile handler for replacements
|
||||
[\#3057](https://github.com/matrix-org/matrix-react-sdk/pull/3057)
|
||||
* Fix linting in MessagePanel
|
||||
[\#3055](https://github.com/matrix-org/matrix-react-sdk/pull/3055)
|
||||
* Convert breadcrumbs from labs to real setting
|
||||
[\#3053](https://github.com/matrix-org/matrix-react-sdk/pull/3053)
|
||||
* Add local echo on badges in breadcrumbs
|
||||
[\#3052](https://github.com/matrix-org/matrix-react-sdk/pull/3052)
|
||||
* Counteract smooth scrolling on breadcrumbs
|
||||
[\#3051](https://github.com/matrix-org/matrix-react-sdk/pull/3051)
|
||||
* add sbix fallback twemoji font (and bump to emoji 12)
|
||||
[\#3050](https://github.com/matrix-org/matrix-react-sdk/pull/3050)
|
||||
* Add option to change the default country code
|
||||
[\#3049](https://github.com/matrix-org/matrix-react-sdk/pull/3049)
|
||||
* Accept JSX into the GenericErrorPage and expose local session vars
|
||||
[\#3043](https://github.com/matrix-org/matrix-react-sdk/pull/3043)
|
||||
* Don't try and low encryption info when signing out in low bandwidth mode
|
||||
[\#3048](https://github.com/matrix-org/matrix-react-sdk/pull/3048)
|
||||
* only capture enter if something was selected in completions
|
||||
[\#3047](https://github.com/matrix-org/matrix-react-sdk/pull/3047)
|
||||
* Fix: better HTML > MD conversion for editing, including lists and quotes
|
||||
[\#3040](https://github.com/matrix-org/matrix-react-sdk/pull/3040)
|
||||
* Native emoji require extra line-height
|
||||
[\#3044](https://github.com/matrix-org/matrix-react-sdk/pull/3044)
|
||||
* port over low_bandwidth mode to develop
|
||||
[\#2598](https://github.com/matrix-org/matrix-react-sdk/pull/2598)
|
||||
* Fix: maintain caret at current line when position is on newline part
|
||||
[\#3029](https://github.com/matrix-org/matrix-react-sdk/pull/3029)
|
||||
* Remove username on HS input label
|
||||
[\#3042](https://github.com/matrix-org/matrix-react-sdk/pull/3042)
|
||||
* Exclude chrome in ua from safari version check for colr support
|
||||
[\#3038](https://github.com/matrix-org/matrix-react-sdk/pull/3038)
|
||||
* fix COLR font check being racy
|
||||
[\#3034](https://github.com/matrix-org/matrix-react-sdk/pull/3034)
|
||||
* Override font for usercontent download link
|
||||
[\#3035](https://github.com/matrix-org/matrix-react-sdk/pull/3035)
|
||||
* Revert "Make the timeline less noisy for screen readers (mk II) #3019"
|
||||
[\#3033](https://github.com/matrix-org/matrix-react-sdk/pull/3033)
|
||||
* Hide autocomplete on Enter key press instead of sending message
|
||||
[\#2968](https://github.com/matrix-org/matrix-react-sdk/pull/2968)
|
||||
* Message editing: arrow key (up/down) navigation between editable events
|
||||
[\#3025](https://github.com/matrix-org/matrix-react-sdk/pull/3025)
|
||||
* Message editing: fix reply text appearing in edit
|
||||
[\#3032](https://github.com/matrix-org/matrix-react-sdk/pull/3032)
|
||||
* Do not try to request thumbnails with non-integer widths
|
||||
[\#3031](https://github.com/matrix-org/matrix-react-sdk/pull/3031)
|
||||
* Message editing: preserve strikethrough as well
|
||||
[\#3030](https://github.com/matrix-org/matrix-react-sdk/pull/3030)
|
||||
* Add some logging for COLR checks
|
||||
[\#3027](https://github.com/matrix-org/matrix-react-sdk/pull/3027)
|
||||
* Fixup for tab completion: take part length into account as well
|
||||
[\#3026](https://github.com/matrix-org/matrix-react-sdk/pull/3026)
|
||||
* Message editing: tab completion
|
||||
[\#3024](https://github.com/matrix-org/matrix-react-sdk/pull/3024)
|
||||
* Message editing: dont jump to next part when inserting at *start* of
|
||||
uneditable part
|
||||
[\#3021](https://github.com/matrix-org/matrix-react-sdk/pull/3021)
|
||||
* Message editing: preserve and re-apply formatting
|
||||
[\#3013](https://github.com/matrix-org/matrix-react-sdk/pull/3013)
|
||||
* Fix relationship between guests, .well-known, and auth
|
||||
[\#3001](https://github.com/matrix-org/matrix-react-sdk/pull/3001)
|
||||
* Restore use of full mxid login
|
||||
[\#2972](https://github.com/matrix-org/matrix-react-sdk/pull/2972)
|
||||
* Only expose the fallback_hs_url if the homeserver is the default homeserver
|
||||
[\#2971](https://github.com/matrix-org/matrix-react-sdk/pull/2971)
|
||||
* Refactor "Next" button into ServerConfig components
|
||||
[\#2964](https://github.com/matrix-org/matrix-react-sdk/pull/2964)
|
||||
* Render underlines and tooltips on custom server names in auth pages
|
||||
[\#2965](https://github.com/matrix-org/matrix-react-sdk/pull/2965)
|
||||
* Use validated server config for login, registration, and password reset
|
||||
[\#2941](https://github.com/matrix-org/matrix-react-sdk/pull/2941)
|
||||
|
||||
Changes in [1.2.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.2.1) (2019-05-31)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.2.0...v1.2.1)
|
||||
|
||||
* Upgrade to JS SDK 2.0.0 which fixes an error during key backup
|
||||
* Native emoji require extra line-height for release
|
||||
[\#3045](https://github.com/matrix-org/matrix-react-sdk/pull/3045)
|
||||
|
||||
Changes in [1.2.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.2.0) (2019-05-29)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.2.0-rc.1...v1.2.0)
|
||||
|
||||
* COLR font check fixes for release
|
||||
[\#3041](https://github.com/matrix-org/matrix-react-sdk/pull/3041)
|
||||
* Revert "Make the timeline less noisy for screen readers (mk II) #3019" for
|
||||
release
|
||||
[\#3036](https://github.com/matrix-org/matrix-react-sdk/pull/3036)
|
||||
* Override font for usercontent download link for release
|
||||
[\#3037](https://github.com/matrix-org/matrix-react-sdk/pull/3037)
|
||||
|
||||
Changes in [1.2.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.2.0-rc.1) (2019-05-23)
|
||||
=============================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.1.2...v1.2.0-rc.1)
|
||||
|
||||
* Update from Weblate
|
||||
[\#3023](https://github.com/matrix-org/matrix-react-sdk/pull/3023)
|
||||
* Use the correct line-height for bold emoji
|
||||
[\#3022](https://github.com/matrix-org/matrix-react-sdk/pull/3022)
|
||||
* Make the timeline less noisy for screen readers (mk II)
|
||||
[\#3019](https://github.com/matrix-org/matrix-react-sdk/pull/3019)
|
||||
* Label message edit field as such for screen readers
|
||||
[\#3020](https://github.com/matrix-org/matrix-react-sdk/pull/3020)
|
||||
* Move checkmark to the front of key backup message
|
||||
[\#3014](https://github.com/matrix-org/matrix-react-sdk/pull/3014)
|
||||
* Revert "Make the timeline less noisy for screen readers"
|
||||
[\#3017](https://github.com/matrix-org/matrix-react-sdk/pull/3017)
|
||||
* Translate scroll movement if the deltaX is the same as the threshold
|
||||
[\#3016](https://github.com/matrix-org/matrix-react-sdk/pull/3016)
|
||||
* Make the timeline less noisy for screen readers
|
||||
[\#3007](https://github.com/matrix-org/matrix-react-sdk/pull/3007)
|
||||
* Windows emoji tweaks
|
||||
[\#3015](https://github.com/matrix-org/matrix-react-sdk/pull/3015)
|
||||
* Message editing: update link previews after editing
|
||||
[\#3004](https://github.com/matrix-org/matrix-react-sdk/pull/3004)
|
||||
* js-sdk interactive auth now sends email token
|
||||
[\#3010](https://github.com/matrix-org/matrix-react-sdk/pull/3010)
|
||||
* remove SBIX font and fallback to native emoji
|
||||
[\#3011](https://github.com/matrix-org/matrix-react-sdk/pull/3011)
|
||||
* Update from Weblate
|
||||
[\#3012](https://github.com/matrix-org/matrix-react-sdk/pull/3012)
|
||||
* load twemoji dynamically as colr or sbix; fix monospace
|
||||
[\#3008](https://github.com/matrix-org/matrix-react-sdk/pull/3008)
|
||||
* Guard against null rooms in `onEventDecrypted`
|
||||
[\#3009](https://github.com/matrix-org/matrix-react-sdk/pull/3009)
|
||||
* Only show reactions in main message timeline
|
||||
[\#3005](https://github.com/matrix-org/matrix-react-sdk/pull/3005)
|
||||
* Add voice labels for quick add room buttons
|
||||
[\#3006](https://github.com/matrix-org/matrix-react-sdk/pull/3006)
|
||||
* Update TopLeftMenu for accessibility: Keyboard shortcut, reduced screen
|
||||
reader noise
|
||||
[\#2994](https://github.com/matrix-org/matrix-react-sdk/pull/2994)
|
||||
* Remove reacted with text when shortcode missing
|
||||
[\#3003](https://github.com/matrix-org/matrix-react-sdk/pull/3003)
|
||||
* Fixup: also change editor margin when last event and buttons are not
|
||||
overlaying
|
||||
[\#3002](https://github.com/matrix-org/matrix-react-sdk/pull/3002)
|
||||
* Message editing: render avatars for pills in the editor
|
||||
[\#2997](https://github.com/matrix-org/matrix-react-sdk/pull/2997)
|
||||
* Replace emojione with twemoji + emojibase
|
||||
[\#2995](https://github.com/matrix-org/matrix-react-sdk/pull/2995)
|
||||
* Hide WhoIsTyping component if the MessagePanel is shaped e.g file grid
|
||||
[\#3000](https://github.com/matrix-org/matrix-react-sdk/pull/3000)
|
||||
* Close copy tooltip in edge cases correctly
|
||||
[\#2999](https://github.com/matrix-org/matrix-react-sdk/pull/2999)
|
||||
* Limit reaction sender tooltip to 6 people
|
||||
[\#2998](https://github.com/matrix-org/matrix-react-sdk/pull/2998)
|
||||
* Message editing: apply design
|
||||
[\#2996](https://github.com/matrix-org/matrix-react-sdk/pull/2996)
|
||||
* Add debug feature to show hidden events in timeline
|
||||
[\#2993](https://github.com/matrix-org/matrix-react-sdk/pull/2993)
|
||||
* Mute screen readers over reactions
|
||||
[\#2986](https://github.com/matrix-org/matrix-react-sdk/pull/2986)
|
||||
* Fix not being able to edit already edited messages
|
||||
[\#2992](https://github.com/matrix-org/matrix-react-sdk/pull/2992)
|
||||
* Add a basic tooltip showing who reacted
|
||||
[\#2991](https://github.com/matrix-org/matrix-react-sdk/pull/2991)
|
||||
* Message editing: show (edited) marker on edited messages, with tooltip
|
||||
[\#2990](https://github.com/matrix-org/matrix-react-sdk/pull/2990)
|
||||
* Update from Weblate
|
||||
[\#2989](https://github.com/matrix-org/matrix-react-sdk/pull/2989)
|
||||
* Message editing: only allow editing of text messages
|
||||
[\#2988](https://github.com/matrix-org/matrix-react-sdk/pull/2988)
|
||||
* Message editing: shift+enter for newline, enter to send
|
||||
[\#2987](https://github.com/matrix-org/matrix-react-sdk/pull/2987)
|
||||
* Apply Flex voodoo for devtools send event dialog
|
||||
[\#2985](https://github.com/matrix-org/matrix-react-sdk/pull/2985)
|
||||
* Fix some source strings noticed as incorrect by translators
|
||||
[\#2984](https://github.com/matrix-org/matrix-react-sdk/pull/2984)
|
||||
* Message editing: fix some bugs in cursor behaviour
|
||||
[\#2983](https://github.com/matrix-org/matrix-react-sdk/pull/2983)
|
||||
* Message editing: local echo & back-pagination
|
||||
[\#2982](https://github.com/matrix-org/matrix-react-sdk/pull/2982)
|
||||
* Listen for removed relations
|
||||
[\#2981](https://github.com/matrix-org/matrix-react-sdk/pull/2981)
|
||||
* Update from Weblate
|
||||
[\#2980](https://github.com/matrix-org/matrix-react-sdk/pull/2980)
|
||||
* Use `getRelation` helper
|
||||
[\#2977](https://github.com/matrix-org/matrix-react-sdk/pull/2977)
|
||||
* Add tooltips to rotate and close buttons in ImageView (#9686)
|
||||
[\#2979](https://github.com/matrix-org/matrix-react-sdk/pull/2979)
|
||||
* Message editing: smaller fixes
|
||||
[\#2978](https://github.com/matrix-org/matrix-react-sdk/pull/2978)
|
||||
* Message editing: adjust to js-sdk changes of marking original event as
|
||||
replaced
|
||||
[\#2973](https://github.com/matrix-org/matrix-react-sdk/pull/2973)
|
||||
* Fix Single Sign-on
|
||||
[\#2974](https://github.com/matrix-org/matrix-react-sdk/pull/2974)
|
||||
* Initial support for editing messages
|
||||
[\#2952](https://github.com/matrix-org/matrix-react-sdk/pull/2952)
|
||||
* Check permission to invite before showing invite buttons/disable them
|
||||
[\#2957](https://github.com/matrix-org/matrix-react-sdk/pull/2957)
|
||||
* Support a backup room ID in PermalinkCreator
|
||||
[\#2963](https://github.com/matrix-org/matrix-react-sdk/pull/2963)
|
||||
* Always thumbnail for GIFs
|
||||
[\#2962](https://github.com/matrix-org/matrix-react-sdk/pull/2962)
|
||||
* Fix registration with email
|
||||
[\#2967](https://github.com/matrix-org/matrix-react-sdk/pull/2967)
|
||||
* Add configuration flag to disable minimum password requirements
|
||||
[\#2947](https://github.com/matrix-org/matrix-react-sdk/pull/2947)
|
||||
* Send and undo reaction events
|
||||
[\#2954](https://github.com/matrix-org/matrix-react-sdk/pull/2954)
|
||||
* Fix bug where email was not required where it shouldn't have been
|
||||
[\#2961](https://github.com/matrix-org/matrix-react-sdk/pull/2961)
|
||||
* add /rainbow and /rainbowme Slash Commands
|
||||
[\#2958](https://github.com/matrix-org/matrix-react-sdk/pull/2958)
|
||||
* Fix invite via MemberInfo
|
||||
[\#2956](https://github.com/matrix-org/matrix-react-sdk/pull/2956)
|
||||
* Close Room Settings upon Leave Room
|
||||
[\#2955](https://github.com/matrix-org/matrix-react-sdk/pull/2955)
|
||||
* Command to change avatar for a single room, including upload of mxc res
|
||||
[\#2953](https://github.com/matrix-org/matrix-react-sdk/pull/2953)
|
||||
* Add View Servers in Room to Devtools
|
||||
[\#2804](https://github.com/matrix-org/matrix-react-sdk/pull/2804)
|
||||
* Update 'Rooms' import RoomView.js file
|
||||
[\#2951](https://github.com/matrix-org/matrix-react-sdk/pull/2951)
|
||||
* Extract `ReactionDimension` out of `MessageActionBar`
|
||||
[\#2950](https://github.com/matrix-org/matrix-react-sdk/pull/2950)
|
||||
* Always default to the registration form
|
||||
[\#2942](https://github.com/matrix-org/matrix-react-sdk/pull/2942)
|
||||
* Check for `room` in all `Room.timeline*` handlers
|
||||
[\#2945](https://github.com/matrix-org/matrix-react-sdk/pull/2945)
|
||||
* Remove the karma junit reporter
|
||||
[\#2944](https://github.com/matrix-org/matrix-react-sdk/pull/2944)
|
||||
* yarn upgrade
|
||||
[\#2943](https://github.com/matrix-org/matrix-react-sdk/pull/2943)
|
||||
* Support changing options for .m.rule.tombstone push rule
|
||||
[\#2798](https://github.com/matrix-org/matrix-react-sdk/pull/2798)
|
||||
* Remove timeline explosion rageshake prompt
|
||||
[\#2939](https://github.com/matrix-org/matrix-react-sdk/pull/2939)
|
||||
* Add existing reactions below message
|
||||
[\#2940](https://github.com/matrix-org/matrix-react-sdk/pull/2940)
|
||||
* Fix lint errors in TimelinePanel
|
||||
[\#2938](https://github.com/matrix-org/matrix-react-sdk/pull/2938)
|
||||
* Add primary reactions to action bar
|
||||
[\#2937](https://github.com/matrix-org/matrix-react-sdk/pull/2937)
|
||||
|
||||
Changes in [1.1.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.1.2) (2019-05-15)
|
||||
===================================================================================================
|
||||
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.1.1...v1.1.2)
|
||||
|
|
72
docs/ciderEditor.md
Normal file
72
docs/ciderEditor.md
Normal file
|
@ -0,0 +1,72 @@
|
|||
# The CIDER (Contenteditable-Input-Diff-Error-Reconcile) editor
|
||||
|
||||
The CIDER editor is a custom editor written for Riot.
|
||||
Most of the code can be found in the `/editor/` directory of the `matrix-react-sdk` project.
|
||||
It is used to power the composer to edit messages,
|
||||
and will soon be used as the main composer to send messages as well.
|
||||
|
||||
## High-level overview.
|
||||
|
||||
The editor is backed by a model that contains parts.
|
||||
A part has some text and a type (plain text, pill, ...). When typing in the editor,
|
||||
the model validates the input and updates the parts.
|
||||
The parts are then reconciled with the DOM.
|
||||
|
||||
## Inner workings
|
||||
|
||||
When typing in the `contenteditable` element, the `input` event fires and
|
||||
the DOM of the editor is turned into a string. The way this is done has
|
||||
some logic to it to deal with adding newlines for block elements, to make sure
|
||||
the caret offset is calculated in the same way as the content string, and to ignore
|
||||
caret nodes (more on that later).
|
||||
For these reasons it doesn't use `innerText`, `textContent` or anything similar.
|
||||
The model addresses any content in the editor within as an offset within this string.
|
||||
The caret position is thus also converted from a position in the DOM tree
|
||||
to an offset in the content string. This happens in `getCaretOffsetAndText` in `dom.js`.
|
||||
|
||||
Once the content string and caret offset is calculated, it is passed to the `update()`
|
||||
method of the model. The model first calculates the same content string of its current parts,
|
||||
basically just concatenating their text. It then looks for differences between
|
||||
the current and the new content string. The diffing algorithm is very basic,
|
||||
and assumes there is only one change around the caret offset,
|
||||
so this should be very inexpensive. See `diff.js` for details.
|
||||
|
||||
The result of the diffing is the strings that were added and/or removed from
|
||||
the current content. These differences are then applied to the parts,
|
||||
where parts can apply validation logic to these changes.
|
||||
|
||||
For example, if you type an @ in some plain text, the plain text part rejects
|
||||
that character, and this character is then presented to the part creator,
|
||||
which will turn it into a pill candidate part.
|
||||
Pill candidate parts are what opens the auto completion, and upon picking a completion,
|
||||
replace themselves with an actual pill which can't be edited anymore.
|
||||
|
||||
The diffing is needed to preserve state in the parts apart from their text
|
||||
(which is the only thing the model receives from the DOM), e.g. to build
|
||||
the model incrementally. Any text that didn't change is assumed
|
||||
to leave the parts it intersects alone.
|
||||
|
||||
The benefit of this is that we can use the `input` event, which is broadly supported,
|
||||
to find changes in the editor. We don't have to rely on keyboard events,
|
||||
which relate poorly to text input or changes, and don't need the `beforeinput` event,
|
||||
which isn't broadly supported yet.
|
||||
|
||||
Once the parts of the model are updated, the DOM of the editor is then reconciled
|
||||
with the new model state, see `renderModel` in `render.js` for this.
|
||||
If the model didn't reject the input and didn't make any additional changes,
|
||||
this won't make any changes to the DOM at all, and should thus be fairly efficient.
|
||||
|
||||
For the browser to allow the user to place the caret between two pills,
|
||||
or between a pill and the start and end of the line, we need some extra DOM nodes.
|
||||
These DOM nodes are called caret nodes, and contain an invisble character, so
|
||||
the caret can be placed into them. The model is unaware of caret nodes, and they
|
||||
are only added to the DOM during the render phase. Likewise, when calculating
|
||||
the content string, caret nodes need to be ignored, as they would confuse the model.
|
||||
|
||||
As part of the reconciliation, the caret position is also adjusted to any changes
|
||||
the model made to the input. The caret is passed around in two formats.
|
||||
The model receives the caret *offset* within the content string (which includes
|
||||
an atNodeEnd flag to make it unambiguous if it is at a part and or the next part start).
|
||||
The model converts this to a caret *position* internally, which has a partIndex
|
||||
and an offset within the part text, which is more natural to work with.
|
||||
From there on, the caret *position* is used, also during reconciliation.
|
|
@ -28,7 +28,7 @@ process.env.PHANTOMJS_BIN = 'node_modules/.bin/phantomjs';
|
|||
|
||||
function fileExists(name) {
|
||||
try {
|
||||
fs.statSync(gsCss);
|
||||
fs.statSync(name);
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
|
@ -166,7 +166,7 @@ module.exports = function (config) {
|
|||
]
|
||||
},
|
||||
{
|
||||
test: /\.(gif|png|svg|ttf)$/,
|
||||
test: /\.(gif|png|svg|ttf|woff2)$/,
|
||||
loader: 'file-loader',
|
||||
},
|
||||
],
|
||||
|
|
24
package.json
24
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "matrix-react-sdk",
|
||||
"version": "1.1.2",
|
||||
"version": "1.5.1",
|
||||
"description": "SDK for matrix.org using React",
|
||||
"author": "matrix.org",
|
||||
"repository": {
|
||||
|
@ -40,6 +40,7 @@
|
|||
"rethemendex": "res/css/rethemendex.sh",
|
||||
"i18n": "matrix-gen-i18n",
|
||||
"prunei18n": "matrix-prune-i18n",
|
||||
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && ./scripts/gen-i18n.js && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
|
||||
"build": "yarn reskindex && yarn start:init",
|
||||
"build:watch": "babel src -w --skip-initial-build -d lib --source-maps --copy-files",
|
||||
"emoji-data-strip": "node scripts/emoji-data-strip.js",
|
||||
|
@ -49,7 +50,7 @@
|
|||
"lint": "eslint src/",
|
||||
"lintall": "eslint src/ test/",
|
||||
"lintwithexclusions": "eslint --max-warnings 0 --ignore-path .eslintignore.errorfiles src test",
|
||||
"stylelint": "stylelint res/css/**/*.scss",
|
||||
"stylelint": "stylelint 'res/css/**/*.scss'",
|
||||
"clean": "rimraf lib",
|
||||
"prepare": "yarn clean && yarn build && git rev-parse HEAD > git-revision.txt",
|
||||
"test": "karma start --single-run=true --browsers VectorChromeHeadless",
|
||||
|
@ -65,23 +66,26 @@
|
|||
"classnames": "^2.1.2",
|
||||
"commonmark": "^0.28.1",
|
||||
"counterpart": "^0.18.0",
|
||||
"emojibase-data": "^4.0.0",
|
||||
"create-react-class": "^15.6.0",
|
||||
"diff-dom": "^4.1.3",
|
||||
"diff-match-patch": "^1.0.4",
|
||||
"emojibase-data": "^4.0.1",
|
||||
"emojibase-regex": "^3.0.0",
|
||||
"file-saver": "^1.3.3",
|
||||
"filesize": "3.5.6",
|
||||
"flux": "2.1.1",
|
||||
"focus-trap-react": "^3.0.5",
|
||||
"fuse.js": "^2.2.0",
|
||||
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279",
|
||||
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#91e1e566",
|
||||
"gfm.css": "^1.1.1",
|
||||
"glob": "^5.0.14",
|
||||
"highlight.js": "9.14.2",
|
||||
"highlight.js": "^9.15.8",
|
||||
"is-ip": "^2.0.0",
|
||||
"isomorphic-fetch": "^2.2.1",
|
||||
"linkifyjs": "^2.1.6",
|
||||
"lodash": "^4.13.1",
|
||||
"lodash": "^4.17.14",
|
||||
"lolex": "2.3.2",
|
||||
"matrix-js-sdk": "1.1.0",
|
||||
"matrix-js-sdk": "2.3.0",
|
||||
"optimist": "^0.6.1",
|
||||
"pako": "^1.0.5",
|
||||
"png-chunks-extract": "^1.0.0",
|
||||
|
@ -93,7 +97,7 @@
|
|||
"react-addons-css-transition-group": "15.3.2",
|
||||
"react-beautiful-dnd": "^4.0.1",
|
||||
"react-dom": "^15.6.0",
|
||||
"react-gemini-scrollbar": "github:matrix-org/react-gemini-scrollbar#5e97aef",
|
||||
"react-gemini-scrollbar": "github:matrix-org/react-gemini-scrollbar#f644523",
|
||||
"resize-observer-polyfill": "^1.5.0",
|
||||
"sanitize-html": "^1.18.4",
|
||||
"slate": "^0.41.2",
|
||||
|
@ -144,15 +148,15 @@
|
|||
"karma-summary-reporter": "^1.5.1",
|
||||
"karma-webpack": "^4.0.0-beta.0",
|
||||
"matrix-mock-request": "^1.2.3",
|
||||
"matrix-react-test-utils": "^0.1.1",
|
||||
"matrix-react-test-utils": "^0.2.2",
|
||||
"mocha": "^5.0.5",
|
||||
"react-addons-test-utils": "^15.4.0",
|
||||
"require-json": "0.0.1",
|
||||
"rimraf": "^2.4.3",
|
||||
"sinon": "^5.0.7",
|
||||
"source-map-loader": "^0.2.3",
|
||||
"stylelint": "^9.10.1",
|
||||
"stylelint-config-standard": "^18.2.0",
|
||||
"stylelint-scss": "^3.9.0",
|
||||
"walk": "^2.3.9",
|
||||
"webpack": "^4.20.2",
|
||||
"webpack-cli": "^3.1.1"
|
||||
|
|
|
@ -104,17 +104,17 @@ input[type=text], input[type=password], textarea {
|
|||
color: $primary-fg-color;
|
||||
}
|
||||
|
||||
input[type=text]:focus, input[type=password]:focus, textarea:focus {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Required by Firefox */
|
||||
textarea {
|
||||
font-family: $font-family;
|
||||
color: $primary-fg-color;
|
||||
}
|
||||
|
||||
input[type=text]:focus, input[type=password]:focus, textarea:focus {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
// This is used to hide the standard outline added by browsers for
|
||||
// accessible (focusable) components. Not intended for buttons, but
|
||||
// should be used on things like focusable containers where the outline
|
||||
|
@ -129,6 +129,13 @@ textarea {
|
|||
// appear to be part of the input
|
||||
|
||||
.mx_Dialog, .mx_MatrixChat {
|
||||
.mx_textinput > input[type=text],
|
||||
.mx_textinput > input[type=search] {
|
||||
border: none;
|
||||
flex: 1;
|
||||
color: $primary-fg-color;
|
||||
}
|
||||
|
||||
:not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=text],
|
||||
:not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=search],
|
||||
.mx_textinput {
|
||||
|
@ -147,13 +154,6 @@ textarea {
|
|||
.mx_textinput {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
> input[type=text],
|
||||
> input[type=search] {
|
||||
border: none;
|
||||
flex: 1;
|
||||
color: $primary-fg-color;
|
||||
}
|
||||
}
|
||||
|
||||
:not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=text]::placeholder,
|
||||
|
@ -166,9 +166,7 @@ textarea {
|
|||
/*** panels ***/
|
||||
.dark-panel {
|
||||
background-color: $dark-panel-bg-color;
|
||||
}
|
||||
|
||||
.dark-panel {
|
||||
:not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=text],
|
||||
:not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type=search],
|
||||
.mx_textinput {
|
||||
|
@ -209,25 +207,25 @@ textarea {
|
|||
|
||||
/* Expand thumbs on hoverover */
|
||||
.gm-scrollbar {
|
||||
border-radius: 5px ! important;
|
||||
border-radius: 5px !important;
|
||||
}
|
||||
.gm-scrollbar.-vertical {
|
||||
width: 6px;
|
||||
transition: width 120ms ease-out ! important;
|
||||
transition: width 120ms ease-out !important;
|
||||
}
|
||||
.gm-scrollbar.-vertical:hover,
|
||||
.gm-scrollbar.-vertical:active {
|
||||
width: 8px;
|
||||
transition: width 120ms ease-out ! important;
|
||||
transition: width 120ms ease-out !important;
|
||||
}
|
||||
.gm-scrollbar.-horizontal {
|
||||
height: 6px;
|
||||
transition: height 120ms ease-out ! important;
|
||||
transition: height 120ms ease-out !important;
|
||||
}
|
||||
.gm-scrollbar.-horizontal:hover,
|
||||
.gm-scrollbar.-horizontal:active {
|
||||
height: 8px;
|
||||
transition: height 120ms ease-out ! important;
|
||||
transition: height 120ms ease-out !important;
|
||||
}
|
||||
|
||||
// These are magic constants which are excluded from tinting, to let themes
|
||||
|
@ -271,14 +269,6 @@ textarea {
|
|||
justify-content: center;
|
||||
}
|
||||
|
||||
/* Spinner Dialog overide */
|
||||
.mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog {
|
||||
width: auto;
|
||||
border-radius: 8px;
|
||||
padding: 0px;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.mx_Dialog {
|
||||
background-color: $primary-bg-color;
|
||||
color: $light-fg-color;
|
||||
|
@ -390,7 +380,7 @@ textarea {
|
|||
|
||||
// flip colours for the secondary ones
|
||||
font-weight: 600;
|
||||
border: 1px solid $accent-color ! important;
|
||||
border: 1px solid $accent-color;
|
||||
color: $accent-color;
|
||||
background-color: $button-secondary-bg-color;
|
||||
}
|
||||
|
@ -407,7 +397,7 @@ textarea {
|
|||
filter: brightness($focus-brightness);
|
||||
}
|
||||
|
||||
.mx_Dialog button.mx_Dialog_primary, .mx_Dialog input[type="submit"].mx_Dialog_primary {
|
||||
.mx_Dialog button.mx_Dialog_primary, .mx_Dialog input[type="submit"].mx_Dialog_primary {
|
||||
color: $accent-fg-color;
|
||||
background-color: $accent-color;
|
||||
min-width: 156px;
|
||||
|
@ -425,6 +415,14 @@ textarea {
|
|||
opacity: 0.7;
|
||||
}
|
||||
|
||||
/* Spinner Dialog overide */
|
||||
.mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog {
|
||||
width: auto;
|
||||
border-radius: 8px;
|
||||
padding: 0px;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
// TODO: Review mx_GeneralButton usage to see if it can use a different class
|
||||
// These classes were brought in from the old UserSettings and are included here to avoid
|
||||
// breaking the app.
|
||||
|
@ -561,3 +559,12 @@ textarea {
|
|||
.mx_Username_color8 {
|
||||
color: $username-variant8-color;
|
||||
}
|
||||
|
||||
@define-mixin mx_Settings_fullWidthField {
|
||||
margin-right: 100px;
|
||||
}
|
||||
|
||||
@define-mixin mx_Settings_tooltip {
|
||||
// So it fits in the space provided by the page
|
||||
max-width: 120px;
|
||||
}
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
@import "./views/context_menus/_TopLeftMenu.scss";
|
||||
@import "./views/dialogs/_AddressPickerDialog.scss";
|
||||
@import "./views/dialogs/_Analytics.scss";
|
||||
@import "./views/dialogs/_BugReportDialog.scss";
|
||||
@import "./views/dialogs/_ChangelogDialog.scss";
|
||||
@import "./views/dialogs/_ChatCreateOrReuseChatDialog.scss";
|
||||
@import "./views/dialogs/_ConfirmUserActionDialog.scss";
|
||||
|
@ -62,6 +61,7 @@
|
|||
@import "./views/dialogs/_EncryptedEventDialog.scss";
|
||||
@import "./views/dialogs/_GroupAddressPicker.scss";
|
||||
@import "./views/dialogs/_IncomingSasDialog.scss";
|
||||
@import "./views/dialogs/_MessageEditHistoryDialog.scss";
|
||||
@import "./views/dialogs/_RestoreKeyBackupDialog.scss";
|
||||
@import "./views/dialogs/_RoomSettingsDialog.scss";
|
||||
@import "./views/dialogs/_RoomUpgradeDialog.scss";
|
||||
|
@ -70,6 +70,9 @@
|
|||
@import "./views/dialogs/_SetPasswordDialog.scss";
|
||||
@import "./views/dialogs/_SettingsDialog.scss";
|
||||
@import "./views/dialogs/_ShareDialog.scss";
|
||||
@import "./views/dialogs/_SlashCommandHelpDialog.scss";
|
||||
@import "./views/dialogs/_TabbedIntegrationManagerDialog.scss";
|
||||
@import "./views/dialogs/_TermsDialog.scss";
|
||||
@import "./views/dialogs/_UnknownDeviceDialog.scss";
|
||||
@import "./views/dialogs/_UploadConfirmDialog.scss";
|
||||
@import "./views/dialogs/_UserSettingsDialog.scss";
|
||||
|
@ -87,9 +90,9 @@
|
|||
@import "./views/elements/_Field.scss";
|
||||
@import "./views/elements/_ImageView.scss";
|
||||
@import "./views/elements/_InlineSpinner.scss";
|
||||
@import "./views/elements/_InteractiveTooltip.scss";
|
||||
@import "./views/elements/_ManageIntegsButton.scss";
|
||||
@import "./views/elements/_MemberEventListSummary.scss";
|
||||
@import "./views/elements/_MessageEditor.scss";
|
||||
@import "./views/elements/_PowerSelector.scss";
|
||||
@import "./views/elements/_ProgressBar.scss";
|
||||
@import "./views/elements/_ReplyThread.scss";
|
||||
|
@ -98,9 +101,10 @@
|
|||
@import "./views/elements/_RoleButton.scss";
|
||||
@import "./views/elements/_Spinner.scss";
|
||||
@import "./views/elements/_SyntaxHighlight.scss";
|
||||
@import "./views/elements/_TextWithTooltip.scss";
|
||||
@import "./views/elements/_ToggleSwitch.scss";
|
||||
@import "./views/elements/_ToolTipButton.scss";
|
||||
@import "./views/elements/_Tooltip.scss";
|
||||
@import "./views/elements/_TooltipButton.scss";
|
||||
@import "./views/elements/_Validation.scss";
|
||||
@import "./views/globals/_MatrixToolbar.scss";
|
||||
@import "./views/groups/_GroupPublicityToggle.scss";
|
||||
|
@ -116,7 +120,8 @@
|
|||
@import "./views/messages/_MTextBody.scss";
|
||||
@import "./views/messages/_MessageActionBar.scss";
|
||||
@import "./views/messages/_MessageTimestamp.scss";
|
||||
@import "./views/messages/_ReactionDimension.scss";
|
||||
@import "./views/messages/_ReactionQuickTooltip.scss";
|
||||
@import "./views/messages/_ReactionTooltipButton.scss";
|
||||
@import "./views/messages/_ReactionsRow.scss";
|
||||
@import "./views/messages/_ReactionsRowButton.scss";
|
||||
@import "./views/messages/_ReactionsRowButtonTooltip.scss";
|
||||
|
@ -130,7 +135,9 @@
|
|||
@import "./views/rooms/_AppsDrawer.scss";
|
||||
@import "./views/rooms/_Autocomplete.scss";
|
||||
@import "./views/rooms/_AuxPanel.scss";
|
||||
@import "./views/rooms/_BasicMessageComposer.scss";
|
||||
@import "./views/rooms/_E2EIcon.scss";
|
||||
@import "./views/rooms/_EditMessageComposer.scss";
|
||||
@import "./views/rooms/_EntityTile.scss";
|
||||
@import "./views/rooms/_EventTile.scss";
|
||||
@import "./views/rooms/_JumpToBottomButton.scss";
|
||||
|
@ -153,6 +160,7 @@
|
|||
@import "./views/rooms/_RoomUpgradeWarningBar.scss";
|
||||
@import "./views/rooms/_SearchBar.scss";
|
||||
@import "./views/rooms/_SearchableEntityList.scss";
|
||||
@import "./views/rooms/_SendMessageComposer.scss";
|
||||
@import "./views/rooms/_Stickers.scss";
|
||||
@import "./views/rooms/_TopUnreadMessagesBar.scss";
|
||||
@import "./views/rooms/_WhoIsTypingTile.scss";
|
||||
|
@ -163,6 +171,8 @@
|
|||
@import "./views/settings/_Notifications.scss";
|
||||
@import "./views/settings/_PhoneNumbers.scss";
|
||||
@import "./views/settings/_ProfileSettings.scss";
|
||||
@import "./views/settings/_SetIdServer.scss";
|
||||
@import "./views/settings/_SetIntegrationManager.scss";
|
||||
@import "./views/settings/tabs/_SettingsTab.scss";
|
||||
@import "./views/settings/tabs/room/_GeneralRoomSettingsTab.scss";
|
||||
@import "./views/settings/tabs/room/_RolesRoomSettingsTab.scss";
|
||||
|
@ -173,6 +183,7 @@
|
|||
@import "./views/settings/tabs/user/_PreferencesUserSettingsTab.scss";
|
||||
@import "./views/settings/tabs/user/_SecurityUserSettingsTab.scss";
|
||||
@import "./views/settings/tabs/user/_VoiceUserSettingsTab.scss";
|
||||
@import "./views/terms/_InlineTermsAgreement.scss";
|
||||
@import "./views/verification/_VerificationShowSas.scss";
|
||||
@import "./views/voip/_CallView.scss";
|
||||
@import "./views/voip/_IncomingCallbox.scss";
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -39,7 +40,11 @@ limitations under the License.
|
|||
z-index: 5001;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu.mx_ContextualMenu_right {
|
||||
.mx_ContextualMenu_right {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu.mx_ContextualMenu_withChevron_right {
|
||||
right: 8px;
|
||||
}
|
||||
|
||||
|
@ -54,19 +59,11 @@ limitations under the License.
|
|||
border-bottom: 8px solid transparent;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu_chevron_right::after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 7px solid transparent;
|
||||
border-left: 7px solid $menu-bg-color;
|
||||
border-bottom: 7px solid transparent;
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
right: 1px;
|
||||
.mx_ContextualMenu_left {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu.mx_ContextualMenu_left {
|
||||
.mx_ContextualMenu.mx_ContextualMenu_withChevron_left {
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
|
@ -81,19 +78,11 @@ limitations under the License.
|
|||
border-bottom: 8px solid transparent;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu_chevron_left::after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 7px solid transparent;
|
||||
border-right: 7px solid $menu-bg-color;
|
||||
border-bottom: 7px solid transparent;
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 1px;
|
||||
.mx_ContextualMenu_top {
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu.mx_ContextualMenu_top {
|
||||
.mx_ContextualMenu.mx_ContextualMenu_withChevron_top {
|
||||
top: 8px;
|
||||
}
|
||||
|
||||
|
@ -108,19 +97,11 @@ limitations under the License.
|
|||
border-right: 8px solid transparent;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu_chevron_top::after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 7px solid transparent;
|
||||
border-bottom: 7px solid $menu-bg-color;
|
||||
border-right: 7px solid transparent;
|
||||
position: absolute;
|
||||
left: -7px;
|
||||
top: 1px;
|
||||
.mx_ContextualMenu_bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu.mx_ContextualMenu_bottom {
|
||||
.mx_ContextualMenu.mx_ContextualMenu_withChevron_bottom {
|
||||
bottom: 8px;
|
||||
}
|
||||
|
||||
|
@ -135,24 +116,6 @@ limitations under the License.
|
|||
border-right: 8px solid transparent;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu_chevron_bottom::after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 7px solid transparent;
|
||||
border-top: 7px solid $menu-bg-color;
|
||||
border-right: 7px solid transparent;
|
||||
position: absolute;
|
||||
left: -7px;
|
||||
bottom: 1px;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu_field {
|
||||
padding: 3px 6px 3px 6px;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.mx_ContextualMenu_spinner {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
|
|
|
@ -2,18 +2,16 @@
|
|||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.mx_GenericErrorPage_box {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
display: inline;
|
||||
width: 500px;
|
||||
height: 200px;
|
||||
min-height: 125px;
|
||||
border: 1px solid #f22;
|
||||
padding: 10px;
|
||||
padding: 10px 10px 20px;
|
||||
background-color: #fcc;
|
||||
}
|
||||
|
|
|
@ -24,13 +24,13 @@ limitations under the License.
|
|||
|
||||
.mx_LeftPanel_container.collapsed {
|
||||
min-width: unset;
|
||||
/* Collapsed LeftPanel 70px */
|
||||
flex: 0 0 70px;
|
||||
/* Collapsed LeftPanel 50px */
|
||||
flex: 0 0 50px;
|
||||
}
|
||||
|
||||
.mx_LeftPanel_container.collapsed.mx_LeftPanel_container_hasTagPanel {
|
||||
/* TagPanel 70px + Collapsed LeftPanel 70px */
|
||||
flex: 0 0 140px;
|
||||
/* TagPanel 70px + Collapsed LeftPanel 50px */
|
||||
flex: 0 0 120px;
|
||||
}
|
||||
|
||||
.mx_LeftPanel_tagPanelContainer {
|
||||
|
|
|
@ -35,13 +35,6 @@ limitations under the License.
|
|||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_RoomDirectory .gm-scroll-view {
|
||||
// little hack because gemini doesn't seem to detect
|
||||
// the scrollbar width well in this instance
|
||||
// when using css scrollbars
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
.mx_RoomDirectory_createRoom {
|
||||
background-color: $button-bg-color;
|
||||
border-radius: 4px;
|
||||
|
|
|
@ -143,7 +143,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_RoomSubList_labelContainer {
|
||||
margin-right: 14px;
|
||||
margin-right: 8px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,7 +63,6 @@ limitations under the License.
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 5px;
|
||||
|
||||
height: 100%;
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ limitations under the License.
|
|||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
padding: 0 7px;
|
||||
padding: 0 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ limitations under the License.
|
|||
|
||||
.mx_Login_submit:disabled {
|
||||
opacity: 0.3;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.mx_AuthBody a.mx_Login_sso_link:link,
|
||||
|
@ -62,6 +63,15 @@ limitations under the License.
|
|||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.mx_Login_error.mx_Login_serverError {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.mx_Login_error.mx_Login_serverError.mx_Login_serverErrorNonFatal {
|
||||
color: $orange-warning-color;
|
||||
}
|
||||
|
||||
.mx_Login_type_container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -73,9 +83,9 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_Login_type_label {
|
||||
flex-grow: 1;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_Login_type_dropdown {
|
||||
min-width: 200px;
|
||||
.mx_Login_underlinedServerName {
|
||||
border-bottom: 1px dashed $accent-color;
|
||||
}
|
||||
|
|
|
@ -58,12 +58,12 @@ limitations under the License.
|
|||
color: $authpage-primary-color;
|
||||
}
|
||||
|
||||
.mx_Field_labelAlwaysTopLeft label,
|
||||
.mx_Field select + label /* Always show a select's label on top to not collide with the value */,
|
||||
.mx_Field input:focus + label,
|
||||
.mx_Field input:not(:placeholder-shown) + label,
|
||||
.mx_Field textarea:focus + label,
|
||||
.mx_Field textarea:not(:placeholder-shown) + label,
|
||||
.mx_Field select + label /* Always show a select's label on top to not collide with the value */,
|
||||
.mx_Field_labelAlwaysTopLeft label {
|
||||
.mx_Field textarea:not(:placeholder-shown) + label {
|
||||
background-color: $authpage-body-bg-color;
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,6 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_Field input {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
@ -110,7 +109,6 @@ limitations under the License.
|
|||
|
||||
.mx_AuthBody_fieldRow > .mx_Field {
|
||||
margin: 0 5px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_AuthBody_fieldRow > .mx_Field:first-child {
|
||||
|
|
|
@ -49,10 +49,14 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_InteractiveAuthEntryComponents_termsSubmit:disabled {
|
||||
background-color: $accent-color-50pct;
|
||||
background-color: $accent-color-darker;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.mx_InteractiveAuthEntryComponents_termsPolicy {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_InteractiveAuthEntryComponents_passwordSection {
|
||||
width: 300px;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,24 +15,21 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_ServerConfig_fields {
|
||||
display: flex;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.mx_ServerConfig_fields .mx_Field {
|
||||
flex: 1;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
.mx_ServerConfig_fields .mx_Field:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.mx_ServerConfig_fields .mx_Field:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.mx_ServerConfig_help:link {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.mx_ServerConfig_error {
|
||||
display: block;
|
||||
color: $warning-color;
|
||||
}
|
||||
|
||||
.mx_ServerConfig_identityServer {
|
||||
transform: scaleY(0);
|
||||
transform-origin: top;
|
||||
transition: transform 0.25s;
|
||||
|
||||
&.mx_ServerConfig_identityServer_shown {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,18 @@ limitations under the License.
|
|||
padding: 6px;
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_tag_icon {
|
||||
padding-right: 8px;
|
||||
padding-left: 4px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_tag_icon_set {
|
||||
padding-right: 8px;
|
||||
padding-left: 4px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_tag_field, .mx_RoomTileContextMenu_leave {
|
||||
padding-top: 8px;
|
||||
padding-right: 20px;
|
||||
|
@ -45,18 +57,6 @@ limitations under the License.
|
|||
color: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_tag_icon {
|
||||
padding-right: 8px;
|
||||
padding-left: 4px;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_tag_icon_set {
|
||||
padding-right: 8px;
|
||||
padding-left: 4px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_separator {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
|
@ -72,10 +72,6 @@ limitations under the License.
|
|||
color: $warning-color;
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_tag_fieldSet .mx_RoomTileContextMenu_tag_icon {
|
||||
/* Something to indicate that the icon is the set tag */
|
||||
}
|
||||
|
||||
.mx_RoomTileContextMenu_notif_picker {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
|
|
|
@ -33,7 +33,7 @@ limitations under the License.
|
|||
.mx_TagTileContextMenu_item_icon {
|
||||
padding-right: 8px;
|
||||
padding-left: 4px;
|
||||
display: inline-block
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.mx_TagTileContextMenu_separator {
|
||||
|
|
|
@ -89,5 +89,4 @@ limitations under the License.
|
|||
background-color: $menu-selected-color;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,8 +17,7 @@ limitations under the License.
|
|||
|
||||
/* Using a textarea for this element, to circumvent autofill */
|
||||
.mx_AddressPickerDialog_input,
|
||||
.mx_AddressPickerDialog_input:focus
|
||||
{
|
||||
.mx_AddressPickerDialog_input:focus {
|
||||
height: 26px;
|
||||
font-size: 14px;
|
||||
font-family: $font-family;
|
||||
|
@ -36,7 +35,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_AddressPickerDialog .mx_Dialog_content {
|
||||
min-height: 50px
|
||||
min-height: 50px;
|
||||
}
|
||||
|
||||
.mx_AddressPickerDialog_inputContainer {
|
||||
|
|
|
@ -21,3 +21,7 @@ limitations under the License.
|
|||
.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section {
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section .mx_Field {
|
||||
width: 300px;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,11 @@ limitations under the License.
|
|||
cursor: default !important;
|
||||
}
|
||||
|
||||
.mx_DevTools_RoomStateExplorer_button, .mx_DevTools_ServersInRoomList_button, .mx_DevTools_RoomStateExplorer_query {
|
||||
.mx_DevTools_RoomStateExplorer_query {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.mx_DevTools_RoomStateExplorer_button, .mx_DevTools_ServersInRoomList_button {
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -41,13 +45,11 @@ limitations under the License.
|
|||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
|
||||
.mx_DevTools_inputRow
|
||||
{
|
||||
.mx_DevTools_inputRow {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.mx_DevTools_inputLabelCell
|
||||
{
|
||||
.mx_DevTools_inputLabelCell {
|
||||
display: table-cell;
|
||||
font-weight: bold;
|
||||
padding-right: 24px;
|
||||
|
@ -58,8 +60,7 @@ limitations under the License.
|
|||
width: 240px;
|
||||
}
|
||||
|
||||
.mx_DevTools_inputCell input
|
||||
{
|
||||
.mx_DevTools_inputCell input {
|
||||
display: inline-block;
|
||||
border: 0;
|
||||
border-bottom: 1px solid $input-underline-color;
|
||||
|
@ -75,11 +76,6 @@ limitations under the License.
|
|||
max-width: 684px;
|
||||
min-height: 250px;
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mx_DevTools_content .mx_Field_input {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.mx_DevTools_eventTypeStateKeyGroup {
|
||||
|
@ -96,11 +92,11 @@ limitations under the License.
|
|||
|
||||
// add default box-sizing for this scope
|
||||
&,
|
||||
&:after,
|
||||
&:before,
|
||||
&::after,
|
||||
&::before,
|
||||
& *,
|
||||
& *:after,
|
||||
& *:before,
|
||||
& *::after,
|
||||
& *::before,
|
||||
& + .mx_DevTools_tgl-btn {
|
||||
box-sizing: border-box;
|
||||
&::selection {
|
||||
|
@ -116,8 +112,8 @@ limitations under the License.
|
|||
position: relative;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
&:after,
|
||||
&:before {
|
||||
&::after,
|
||||
&::before {
|
||||
position: relative;
|
||||
display: block;
|
||||
content: "";
|
||||
|
@ -125,28 +121,31 @@ limitations under the License.
|
|||
height: 100%;
|
||||
}
|
||||
|
||||
&:after {
|
||||
&::after {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
&:before {
|
||||
&::before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:checked + .mx_DevTools_tgl-btn:after {
|
||||
&:checked + .mx_DevTools_tgl-btn::after {
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
/* Ordering this block by specificity would require breaking it up into several
|
||||
chunks, which seems like it would be more confusing to read. */
|
||||
/* stylelint-disable no-descending-specificity */
|
||||
.mx_DevTools_tgl-flip {
|
||||
+ .mx_DevTools_tgl-btn {
|
||||
padding: 2px;
|
||||
transition: all .2s ease;
|
||||
font-family: sans-serif;
|
||||
perspective: 100px;
|
||||
&:after,
|
||||
&:before {
|
||||
&::after,
|
||||
&::before {
|
||||
display: inline-block;
|
||||
transition: all .4s ease;
|
||||
width: 100%;
|
||||
|
@ -161,35 +160,36 @@ limitations under the License.
|
|||
border-radius: 4px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
&::after {
|
||||
content: attr(data-tg-on);
|
||||
background: #02C66F;
|
||||
background: #02c66f;
|
||||
transform: rotateY(-180deg);
|
||||
}
|
||||
|
||||
&:before {
|
||||
background: #FF3A19;
|
||||
&::before {
|
||||
background: #ff3a19;
|
||||
content: attr(data-tg-off);
|
||||
}
|
||||
|
||||
&:active:before {
|
||||
&:active::before {
|
||||
transform: rotateY(-20deg);
|
||||
}
|
||||
}
|
||||
|
||||
&:checked + .mx_DevTools_tgl-btn {
|
||||
&:before {
|
||||
&::before {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
&:after {
|
||||
&::after {
|
||||
transform: rotateY(0);
|
||||
left: 0;
|
||||
background: #7FC6A6;
|
||||
background: #7fc6a6;
|
||||
}
|
||||
|
||||
&:active:after {
|
||||
&:active::after {
|
||||
transform: rotateY(20deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* stylelint-enable no-descending-specificity */
|
||||
|
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_GroupAddressPicker_checkboxContainer{
|
||||
.mx_GroupAddressPicker_checkboxContainer {
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
}
|
||||
|
|
67
res/css/views/dialogs/_MessageEditHistoryDialog.scss
Normal file
67
res/css/views/dialogs/_MessageEditHistoryDialog.scss
Normal file
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_MessageEditHistoryDialog .mx_Dialog_header > .mx_Dialog_title {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mx_MessageEditHistoryDialog {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-height: 60vh;
|
||||
}
|
||||
|
||||
.mx_MessageEditHistoryDialog_scrollPanel {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.mx_MessageEditHistoryDialog_error {
|
||||
color: $warning-color;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mx_MessageEditHistoryDialog_edits {
|
||||
list-style-type: none;
|
||||
font-size: 14px;
|
||||
padding: 0;
|
||||
color: $primary-fg-color;
|
||||
|
||||
span.mx_EditHistoryMessage_deletion, span.mx_EditHistoryMessage_insertion {
|
||||
padding: 0px 2px;
|
||||
}
|
||||
|
||||
.mx_EditHistoryMessage_deletion {
|
||||
color: rgb(255, 76, 85);
|
||||
background-color: rgba(255, 76, 85, 0.1);
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.mx_EditHistoryMessage_insertion {
|
||||
color: rgb(26, 169, 123);
|
||||
background-color: rgba(26, 169, 123, 0.1);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.mx_EventTile_line, .mx_EventTile_content {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
.mx_MessageActionBar .mx_AccessibleButton {
|
||||
font-size: 10px;
|
||||
padding: 0 8px;
|
||||
}
|
||||
}
|
||||
|
|
@ -17,19 +17,19 @@ limitations under the License.
|
|||
// ICONS
|
||||
// ==========================================================
|
||||
|
||||
.mx_RoomSettingsDialog_settingsIcon:before {
|
||||
.mx_RoomSettingsDialog_settingsIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/settings.svg');
|
||||
}
|
||||
|
||||
.mx_RoomSettingsDialog_securityIcon:before {
|
||||
.mx_RoomSettingsDialog_securityIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/lock.svg');
|
||||
}
|
||||
|
||||
.mx_RoomSettingsDialog_rolesIcon:before {
|
||||
.mx_RoomSettingsDialog_rolesIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/users-sm.svg');
|
||||
}
|
||||
|
||||
.mx_RoomSettingsDialog_warningIcon:before {
|
||||
.mx_RoomSettingsDialog_warningIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/warning-triangle.svg');
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,3 @@ limitations under the License.
|
|||
box-shadow: none;
|
||||
border: 1px solid $accent-color;
|
||||
}
|
||||
|
||||
.mx_SetEmailDialog_email_input_placeholder {
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ limitations under the License.
|
|||
color: $primary-fg-color;
|
||||
background-color: $primary-bg-color;
|
||||
font-size: 15px;
|
||||
width: 100%;
|
||||
max-width: 280px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2017 OpenMarket Ltd
|
||||
Copyright Michael Telatynski <7t3chguy@gmail.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,12 +14,11 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_BugReportDialog .mx_Field {
|
||||
flex: 1;
|
||||
.mx_SlashCommandHelpDialog .mx_SlashCommandHelpDialog_headerRow h2 {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.mx_BugReportDialog_field_input {
|
||||
// TODO: We should really apply this to all .mx_Field inputs.
|
||||
// See https://github.com/vector-im/riot-web/issues/9344.
|
||||
flex: 1;
|
||||
.mx_SlashCommandHelpDialog .mx_Dialog_content {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 34px;
|
||||
}
|
62
res/css/views/dialogs/_TabbedIntegrationManagerDialog.scss
Normal file
62
res/css/views/dialogs/_TabbedIntegrationManagerDialog.scss
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_TabbedIntegrationManagerDialog .mx_Dialog {
|
||||
width: 60%;
|
||||
height: 70%;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
max-width: initial;
|
||||
max-height: initial;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mx_TabbedIntegrationManagerDialog_container {
|
||||
// Full size of the dialog, whatever it is
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
|
||||
.mx_TabbedIntegrationManagerDialog_currentManager {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-top: 1px solid $accent-color;
|
||||
|
||||
iframe {
|
||||
background-color: #fff;
|
||||
border: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mx_TabbedIntegrationManagerDialog_tab {
|
||||
display: inline-block;
|
||||
border: 1px solid $accent-color;
|
||||
border-bottom: 0;
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
padding: 10px 8px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.mx_TabbedIntegrationManagerDialog_currentTab {
|
||||
background-color: $accent-color;
|
||||
color: $accent-fg-color;
|
||||
}
|
47
res/css/views/dialogs/_TermsDialog.scss
Normal file
47
res/css/views/dialogs/_TermsDialog.scss
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* To avoid visual glitching of two modals stacking briefly, we customise the
|
||||
* terms dialog sizing when it will appear for the integrations manager so that
|
||||
* it gets the same basic size as the IM's own modal.
|
||||
*/
|
||||
.mx_TermsDialog_forIntegrationsManager .mx_Dialog {
|
||||
width: 60%;
|
||||
height: 70%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.mx_TermsDialog_termsTableHeader {
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.mx_TermsDialog_termsTable {
|
||||
font-size: 12px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mx_TermsDialog_service, .mx_TermsDialog_summary {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.mx_TermsDialog_link {
|
||||
mask-image: url('$(res)/img/external-link.svg');
|
||||
background-color: $accent-color;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
|
@ -17,34 +17,34 @@ limitations under the License.
|
|||
// ICONS
|
||||
// ==========================================================
|
||||
|
||||
.mx_UserSettingsDialog_settingsIcon:before {
|
||||
.mx_UserSettingsDialog_settingsIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/settings.svg');
|
||||
}
|
||||
|
||||
.mx_UserSettingsDialog_voiceIcon:before {
|
||||
.mx_UserSettingsDialog_voiceIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/phone.svg');
|
||||
}
|
||||
|
||||
.mx_UserSettingsDialog_bellIcon:before {
|
||||
.mx_UserSettingsDialog_bellIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/notifications.svg');
|
||||
}
|
||||
|
||||
.mx_UserSettingsDialog_preferencesIcon:before {
|
||||
.mx_UserSettingsDialog_preferencesIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/sliders.svg');
|
||||
}
|
||||
|
||||
.mx_UserSettingsDialog_securityIcon:before {
|
||||
.mx_UserSettingsDialog_securityIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/lock.svg');
|
||||
}
|
||||
|
||||
.mx_UserSettingsDialog_helpIcon:before {
|
||||
.mx_UserSettingsDialog_helpIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/help-circle.svg');
|
||||
}
|
||||
|
||||
.mx_UserSettingsDialog_labsIcon:before {
|
||||
.mx_UserSettingsDialog_labsIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/flag.svg');
|
||||
}
|
||||
|
||||
.mx_UserSettingsDialog_flairIcon:before {
|
||||
.mx_UserSettingsDialog_flairIcon::before {
|
||||
mask-image: url('$(res)/img/feather-customised/flair.svg');
|
||||
}
|
||||
|
|
|
@ -20,8 +20,8 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_CreateKeyBackupDialog_primaryContainer {
|
||||
/*FIXME: plinth colour in new theme(s). background-color: $accent-color;*/
|
||||
padding: 20px
|
||||
/* FIXME: plinth colour in new theme(s). background-color: $accent-color; */
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.mx_CreateKeyBackupDialog_primaryContainer::after {
|
||||
|
|
|
@ -23,7 +23,7 @@ limitations under the License.
|
|||
padding-left: 45px;
|
||||
padding-bottom: 10px;
|
||||
|
||||
&:before {
|
||||
&::before {
|
||||
mask: url("$(res)/img/e2e/lock-warning-filled.svg");
|
||||
mask-repeat: no-repeat;
|
||||
background-color: $primary-fg-color;
|
||||
|
|
|
@ -13,10 +13,10 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
.mx_RestoreKeyBackupDialog_primaryContainer {
|
||||
/*FIXME: plinth colour in new theme(s). background-color: $accent-color;*/
|
||||
padding: 20px
|
||||
/* FIXME: plinth colour in new theme(s). background-color: $accent-color; */
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.mx_RestoreKeyBackupDialog_passPhraseInput,
|
||||
|
|
|
@ -36,7 +36,7 @@ limitations under the License.
|
|||
position: absolute;
|
||||
right: 10px;
|
||||
top: 16px;
|
||||
width: 0
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.mx_NetworkDropdown_networkoption {
|
||||
|
|
|
@ -14,14 +14,14 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_AccessibleButton:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.mx_AccessibleButton {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_AccessibleButton:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.mx_AccessibleButton_disabled {
|
||||
cursor: default;
|
||||
}
|
||||
|
@ -79,3 +79,22 @@ limitations under the License.
|
|||
color: $button-danger-disabled-fg-color;
|
||||
background-color: $button-danger-disabled-bg-color;
|
||||
}
|
||||
|
||||
.mx_AccessibleButton_kind_link {
|
||||
color: $button-link-fg-color;
|
||||
background-color: $button-link-bg-color;
|
||||
}
|
||||
|
||||
.mx_AccessibleButton_kind_link.mx_AccessibleButton_disabled {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link_sm {
|
||||
padding: 5px 12px;
|
||||
color: $button-link-fg-color;
|
||||
background-color: $button-link-bg-color;
|
||||
}
|
||||
|
||||
.mx_AccessibleButton_kind_link_sm.mx_AccessibleButton_disabled {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
|
|
@ -20,9 +20,8 @@ limitations under the License.
|
|||
width: 485px;
|
||||
max-height: 116px;
|
||||
overflow-y: auto;
|
||||
border-radius: 3px;
|
||||
background-color: $primary-bg-color;
|
||||
border: solid 1px $accent-color;
|
||||
border-radius: 3px;
|
||||
border: solid 1px $accent-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
|
|
@ -51,13 +51,6 @@ limitations under the License.
|
|||
background: $primary-fg-color;
|
||||
}
|
||||
|
||||
.mx_Dropdown_input > .mx_Dropdown_option {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_Dropdown_option {
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
|
@ -65,6 +58,13 @@ limitations under the License.
|
|||
padding-right: 8px;
|
||||
}
|
||||
|
||||
.mx_Dropdown_input > .mx_Dropdown_option {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_Dropdown_option div {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
|
|
@ -42,12 +42,6 @@ limitations under the License.
|
|||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.mx_EditableItemList_newItem .mx_Field input {
|
||||
// Use 100% of the space available for the input, but don't let the 10px
|
||||
// padding on either side of the input to push it out of alignment.
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
.mx_EditableItemList_label {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,8 @@ limitations under the License.
|
|||
|
||||
.mx_Field {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
position: relative;
|
||||
margin: 1em 0;
|
||||
border-radius: 4px;
|
||||
|
@ -42,6 +44,7 @@ limitations under the License.
|
|||
padding: 8px 9px;
|
||||
color: $primary-fg-color;
|
||||
background-color: $primary-bg-color;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_Field select {
|
||||
|
@ -107,12 +110,12 @@ limitations under the License.
|
|||
max-width: calc(100% - 20px); // 100% of parent minus margin and padding
|
||||
}
|
||||
|
||||
.mx_Field_labelAlwaysTopLeft label,
|
||||
.mx_Field select + label /* Always show a select's label on top to not collide with the value */,
|
||||
.mx_Field input:focus + label,
|
||||
.mx_Field input:not(:placeholder-shown) + label,
|
||||
.mx_Field textarea:focus + label,
|
||||
.mx_Field textarea:not(:placeholder-shown) + label,
|
||||
.mx_Field select + label /* Always show a select's label on top to not collide with the value */,
|
||||
.mx_Field_labelAlwaysTopLeft label {
|
||||
.mx_Field textarea:not(:placeholder-shown) + label {
|
||||
transition:
|
||||
font-size 0.25s ease-out 0s,
|
||||
color 0.25s ease-out 0s,
|
||||
|
@ -141,6 +144,9 @@ limitations under the License.
|
|||
color: $greyed-fg-color;
|
||||
}
|
||||
|
||||
/* Ordering this block by specificity would require breaking it up into several
|
||||
chunks, which seems like it would be more confusing to read. */
|
||||
/* stylelint-disable no-descending-specificity */
|
||||
.mx_Field_valid {
|
||||
&.mx_Field,
|
||||
&.mx_Field:focus-within {
|
||||
|
@ -164,6 +170,7 @@ limitations under the License.
|
|||
color: $input-invalid-border-color;
|
||||
}
|
||||
}
|
||||
/* stylelint-enable no-descending-specificity */
|
||||
|
||||
.mx_Field_tooltip {
|
||||
margin-top: -12px;
|
||||
|
|
|
@ -128,8 +128,8 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_ImageView_link {
|
||||
color: $lightbox-fg-color ! important;
|
||||
text-decoration: none ! important;
|
||||
color: $lightbox-fg-color !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.mx_ImageView_button {
|
||||
|
|
91
res/css/views/elements/_InteractiveTooltip.scss
Normal file
91
res/css/views/elements/_InteractiveTooltip.scss
Normal file
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_InteractiveTooltip_wrapper {
|
||||
position: fixed;
|
||||
z-index: 5000;
|
||||
}
|
||||
|
||||
.mx_InteractiveTooltip {
|
||||
border-radius: 3px;
|
||||
background-color: $interactive-tooltip-bg-color;
|
||||
color: $interactive-tooltip-fg-color;
|
||||
position: absolute;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
padding: 6px;
|
||||
z-index: 5001;
|
||||
}
|
||||
|
||||
.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_top {
|
||||
top: 10px; // 8px chevron + 2px spacing
|
||||
}
|
||||
|
||||
.mx_InteractiveTooltip_chevron_top {
|
||||
position: absolute;
|
||||
left: calc(50% - 8px);
|
||||
top: -8px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 8px solid transparent;
|
||||
border-bottom: 8px solid $interactive-tooltip-bg-color;
|
||||
border-right: 8px solid transparent;
|
||||
}
|
||||
|
||||
// Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path
|
||||
// by Sebastiano Guerriero (@guerriero_se)
|
||||
@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
|
||||
.mx_InteractiveTooltip_chevron_top {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
background-color: inherit;
|
||||
border: none;
|
||||
clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
|
||||
transform: rotate(135deg);
|
||||
border-radius: 0 0 0 3px;
|
||||
top: calc(-8px / 1.414); // sqrt(2) because of rotation
|
||||
}
|
||||
}
|
||||
|
||||
.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_bottom {
|
||||
bottom: 10px; // 8px chevron + 2px spacing
|
||||
}
|
||||
|
||||
.mx_InteractiveTooltip_chevron_bottom {
|
||||
position: absolute;
|
||||
left: calc(50% - 8px);
|
||||
bottom: -8px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 8px solid transparent;
|
||||
border-top: 8px solid $interactive-tooltip-bg-color;
|
||||
border-right: 8px solid transparent;
|
||||
}
|
||||
|
||||
// Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path
|
||||
// by Sebastiano Guerriero (@guerriero_se)
|
||||
@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
|
||||
.mx_InteractiveTooltip_chevron_bottom {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
background-color: inherit;
|
||||
border: none;
|
||||
clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
|
||||
transform: rotate(-45deg);
|
||||
border-radius: 0 0 0 3px;
|
||||
bottom: calc(-8px / 1.414); // sqrt(2) because of rotation
|
||||
}
|
||||
}
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
|||
|
||||
.mx_ManageIntegsButton_error {
|
||||
position: relative;
|
||||
float: right;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
|
@ -25,18 +26,6 @@ limitations under the License.
|
|||
top: -5px;
|
||||
}
|
||||
|
||||
.mx_ManageIntegsButton_error {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.mx_ManageIntegsButton_error .mx_ManageIntegsButton_errorPopup {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_ManageIntegsButton_error:hover .mx_ManageIntegsButton_errorPopup {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.mx_ManageIntegsButton_errorPopup {
|
||||
position: absolute;
|
||||
top: 110%;
|
||||
|
@ -51,3 +40,11 @@ limitations under the License.
|
|||
text-align: center;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.mx_ManageIntegsButton_error .mx_ManageIntegsButton_errorPopup {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_ManageIntegsButton_error:hover .mx_ManageIntegsButton_errorPopup {
|
||||
display: inline;
|
||||
}
|
||||
|
|
|
@ -20,6 +20,5 @@ limitations under the License.
|
|||
|
||||
.mx_PowerSelector .mx_Field select,
|
||||
.mx_PowerSelector .mx_Field input {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
|
|
@ -13,12 +13,6 @@
|
|||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.mx_EventTile_body .mx_UserPill,
|
||||
.mx_EventTile_body .mx_RoomPill,
|
||||
.mx_EventTile_body .mx_GroupPill {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* More specific to override `.markdown-body a` text-decoration */
|
||||
.mx_EventTile_content .markdown-body a.mx_Pill {
|
||||
text-decoration: none;
|
||||
|
@ -33,7 +27,7 @@
|
|||
}
|
||||
|
||||
.mx_UserPill_selected {
|
||||
background-color: $accent-color ! important;
|
||||
background-color: $accent-color !important;
|
||||
}
|
||||
|
||||
/* More specific to override `.markdown-body a` color */
|
||||
|
@ -64,6 +58,12 @@
|
|||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.mx_EventTile_body .mx_UserPill,
|
||||
.mx_EventTile_body .mx_RoomPill,
|
||||
.mx_EventTile_body .mx_GroupPill {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_UserPill .mx_BaseAvatar,
|
||||
.mx_RoomPill .mx_BaseAvatar,
|
||||
.mx_GroupPill .mx_BaseAvatar,
|
||||
|
@ -79,7 +79,7 @@
|
|||
|
||||
.mx_Markdown_ITALIC {
|
||||
font-style: italic;
|
||||
/*
|
||||
/*
|
||||
// interestingly, *not* using the explicit italic font
|
||||
// variant seems yield better results.
|
||||
|
||||
|
@ -87,7 +87,7 @@
|
|||
// https://github.com/google/fonts/issues/1726
|
||||
transform: skewX(-14deg);
|
||||
display: inline-block;
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
||||
.mx_Markdown_CODE {
|
||||
|
|
|
@ -25,4 +25,4 @@ limitations under the License.
|
|||
|
||||
.mx_MatrixChat_middlePanel .mx_Spinner {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
|
19
res/css/views/elements/_TextWithTooltip.scss
Normal file
19
res/css/views/elements/_TextWithTooltip.scss
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
Copyright 2019 New Vector Ltd.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_TextWithTooltip_tooltip {
|
||||
display: none;
|
||||
}
|
|
@ -44,10 +44,10 @@ limitations under the License.
|
|||
top: 0;
|
||||
}
|
||||
|
||||
.mx_ToggleSwitch:not(.mx_ToggleSwitch_on) > .mx_ToggleSwitch_ball {
|
||||
left: 2px;
|
||||
}
|
||||
|
||||
.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
|
||||
left: 23px; // 48px switch - 20px ball - 5px padding = 23px
|
||||
}
|
||||
|
||||
.mx_ToggleSwitch:not(.mx_ToggleSwitch_on) > .mx_ToggleSwitch_ball {
|
||||
left: 2px;
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@ limitations under the License.
|
|||
border-bottom: 7px solid transparent;
|
||||
}
|
||||
|
||||
.mx_Tooltip_chevron:after {
|
||||
content:'';
|
||||
.mx_Tooltip_chevron::after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 6px solid transparent;
|
||||
|
@ -55,7 +55,7 @@ limitations under the License.
|
|||
border-radius: 4px;
|
||||
box-shadow: 4px 4px 12px 0 $menu-box-shadow-color;
|
||||
background-color: $menu-bg-color;
|
||||
z-index: 2000;
|
||||
z-index: 4000; // Higher than dialogs so tooltips can be used in dialogs
|
||||
padding: 10px;
|
||||
pointer-events: none;
|
||||
line-height: 14px;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2017 New Vector Ltd.
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,7 +15,7 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_ToolTipButton {
|
||||
.mx_TooltipButton {
|
||||
display: inline-block;
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
|
@ -33,17 +34,17 @@ limitations under the License.
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_ToolTipButton:hover {
|
||||
.mx_TooltipButton:hover {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.mx_ToolTipButton_container {
|
||||
.mx_TooltipButton_container {
|
||||
position: relative;
|
||||
top: -18px;
|
||||
left: 4px;
|
||||
}
|
||||
|
||||
.mx_ToolTipButton_helpText {
|
||||
.mx_TooltipButton_helpText {
|
||||
width: 400px;
|
||||
text-align: start;
|
||||
line-height: 17px !important;
|
|
@ -44,10 +44,9 @@ limitations under the License.
|
|||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_MatrixToolbar_link
|
||||
{
|
||||
color: $accent-fg-color ! important;
|
||||
text-decoration: underline ! important;
|
||||
.mx_MatrixToolbar_link {
|
||||
color: $accent-fg-color !important;
|
||||
text-decoration: underline !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,3 @@ limitations under the License.
|
|||
.mx_CreateEvent_header {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.mx_CreateEvent_link {
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ limitations under the License.
|
|||
border-bottom: 1px solid $panel-divider-color;
|
||||
}
|
||||
|
||||
.mx_DateSeparator > date {
|
||||
.mx_DateSeparator > div {
|
||||
margin: 0 25px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2019 New Vector Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -26,11 +27,30 @@ limitations under the License.
|
|||
top: -18px;
|
||||
right: 8px;
|
||||
user-select: none;
|
||||
// Ensure the action bar appears above over things, like the read marker.
|
||||
z-index: 1;
|
||||
|
||||
// Adds a previous event safe area so that you can't accidentally hover the
|
||||
// previous event while trying to mouse into the action bar or from the
|
||||
// react button to its tooltip.
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
// tooltip safe mousing area + tooltip overhang +
|
||||
// action bar + action bar offset from event
|
||||
width: calc(10px + 48px + 100% + 8px);
|
||||
// safe area + action bar
|
||||
height: calc(20px + 100%);
|
||||
top: -20px;
|
||||
left: -58px;
|
||||
z-index: -1;
|
||||
cursor: initial;
|
||||
}
|
||||
|
||||
> * {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 27px;
|
||||
border: 1px solid $message-action-bar-border-color;
|
||||
margin-left: -1px;
|
||||
|
||||
|
@ -53,6 +73,11 @@ limitations under the License.
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
.mx_MessageActionBar_maskButton {
|
||||
width: 27px;
|
||||
}
|
||||
|
||||
.mx_MessageActionBar_maskButton::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
|
@ -65,6 +90,10 @@ limitations under the License.
|
|||
background-color: $message-action-bar-fg-color;
|
||||
}
|
||||
|
||||
.mx_MessageActionBar_reactButton::after {
|
||||
mask-image: url('$(res)/img/react.svg');
|
||||
}
|
||||
|
||||
.mx_MessageActionBar_replyButton::after {
|
||||
mask-image: url('$(res)/img/reply.svg');
|
||||
}
|
||||
|
|
|
@ -15,4 +15,6 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
.mx_MessageTimestamp {
|
||||
color: $event-timestamp-color;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
|
29
res/css/views/messages/_ReactionQuickTooltip.scss
Normal file
29
res/css/views/messages/_ReactionQuickTooltip.scss
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_ReactionsQuickTooltip_buttons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, auto);
|
||||
}
|
||||
|
||||
.mx_ReactionsQuickTooltip_label {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mx_ReactionsQuickTooltip_shortcode {
|
||||
padding-left: 6px;
|
||||
opacity: 0.7;
|
||||
}
|
31
res/css/views/messages/_ReactionTooltipButton.scss
Normal file
31
res/css/views/messages/_ReactionTooltipButton.scss
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_ReactionTooltipButton {
|
||||
font-size: 16px;
|
||||
padding: 6px;
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
transition: transform 0.25s;
|
||||
|
||||
&:hover {
|
||||
transform: scale(1.2);
|
||||
}
|
||||
}
|
||||
|
||||
.mx_ReactionTooltipButton_selected {
|
||||
opacity: 0.4;
|
||||
}
|
|
@ -16,4 +16,19 @@ limitations under the License.
|
|||
|
||||
.mx_ReactionsRow {
|
||||
margin: 6px 0;
|
||||
color: $primary-fg-color;
|
||||
}
|
||||
|
||||
.mx_ReactionsRow_showAll {
|
||||
text-decoration: none;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
margin-left: 6px;
|
||||
vertical-align: top;
|
||||
|
||||
&:hover,
|
||||
&:link,
|
||||
&:visited {
|
||||
color: $accent-color;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
.mx_ReactionsRowButton {
|
||||
display: inline-block;
|
||||
display: inline-flex;
|
||||
height: 20px;
|
||||
line-height: 21px;
|
||||
margin-right: 6px;
|
||||
|
@ -35,3 +35,11 @@ limitations under the License.
|
|||
border-color: $reaction-row-button-selected-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_ReactionsRowButton_content {
|
||||
max-width: 100px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
|
|
@ -23,4 +23,4 @@ limitations under the License.
|
|||
display: inline;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ limitations under the License.
|
|||
position: absolute;
|
||||
left: 10px;
|
||||
top: 4px;
|
||||
cursor: default ! important;
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
.mx_ColorSettings_roomColorPrimary {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -42,7 +43,6 @@ $AppsDrawerBodyHeight: 273px;
|
|||
.mx_AddWidget_button {
|
||||
order: 2;
|
||||
cursor: pointer;
|
||||
padding-right: 12px;
|
||||
padding: 0;
|
||||
margin: 5px auto 5px auto;
|
||||
color: $accent-color;
|
||||
|
@ -198,7 +198,7 @@ $AppsDrawerBodyHeight: 273px;
|
|||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.mx_AppTileBody{
|
||||
.mx_AppTileBody {
|
||||
height: $AppsDrawerBodyHeight;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
|
@ -234,7 +234,7 @@ $AppsDrawerBodyHeight: 273px;
|
|||
background-color: $lightbox-bg-color;
|
||||
border: 1px solid rgba(0, 0, 0, 0);
|
||||
width: 200px;
|
||||
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
|
||||
transition: 0.3s;
|
||||
border-radius: 3px;
|
||||
margin: 5px;
|
||||
|
@ -248,7 +248,7 @@ $AppsDrawerBodyHeight: 273px;
|
|||
|
||||
.mx_AppIconTile:hover {
|
||||
border: 1px solid $accent-color;
|
||||
box-shadow: 0 0 10px 5px rgba(200,200,200,0.5);
|
||||
box-shadow: 0 0 10px 5px rgba(200, 200, 200, 0.5);
|
||||
}
|
||||
|
||||
.mx_AppIconTile_content {
|
||||
|
@ -270,9 +270,8 @@ $AppsDrawerBodyHeight: 273px;
|
|||
|
||||
.mx_AppIconTile_image {
|
||||
padding: 10px;
|
||||
width: 75%;
|
||||
max-width:100px;
|
||||
max-height:100px;
|
||||
max-width: 100px;
|
||||
max-height: 100px;
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
@ -312,7 +311,7 @@ form.mx_Custom_Widget_Form div {
|
|||
}
|
||||
|
||||
.mx_AppPermissionWarningText {
|
||||
max-width: 400px;
|
||||
max-width: 90%;
|
||||
margin: 10px auto 10px auto;
|
||||
color: $primary-fg-color;
|
||||
}
|
||||
|
@ -323,7 +322,12 @@ form.mx_Custom_Widget_Form div {
|
|||
}
|
||||
|
||||
.mx_AppPermissionWarningTextURL {
|
||||
display: inline-block;
|
||||
max-width: 100%;
|
||||
color: $accent-color;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.mx_AppPermissionButton {
|
||||
|
@ -361,11 +365,11 @@ form.mx_Custom_Widget_Form div {
|
|||
}
|
||||
|
||||
@keyframes mx_AppLoading_spinner_fadeIn_animation {
|
||||
from { opacity: 0 }
|
||||
to { opacity: 1 }
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
|
||||
|
||||
.mx_AppLoading iframe {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -8,18 +8,13 @@
|
|||
border-bottom: none;
|
||||
border-radius: 4px 4px 0 0;
|
||||
max-height: 50vh;
|
||||
overflow: auto
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_ProviderSection {
|
||||
border-bottom: 1px solid $primary-hairline-color;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_Completion_container_pill {
|
||||
margin: 12px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* a "block" completion takes up a whole line */
|
||||
.mx_Autocomplete_Completion_block {
|
||||
height: 34px;
|
||||
|
@ -32,7 +27,7 @@
|
|||
}
|
||||
|
||||
.mx_Autocomplete_Completion_block * {
|
||||
margin: 0 3px;
|
||||
margin: 0 3px;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_Completion_pill {
|
||||
|
@ -50,11 +45,27 @@
|
|||
margin: 0 3px;
|
||||
}
|
||||
|
||||
/* styling for common completion elements */
|
||||
.mx_Autocomplete_Completion_subtitle {
|
||||
font-style: italic;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_Completion_description {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_Completion_container_pill {
|
||||
margin: 12px;
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_Completion_container_truncate {
|
||||
.mx_Autocomplete_Completion_title,
|
||||
.mx_Autocomplete_Completion_subtitle,
|
||||
.mx_Autocomplete_Completion_description {
|
||||
/* Ellipsis for long names/subtitles/descriptions*/
|
||||
/* Ellipsis for long names/subtitles/descriptions */
|
||||
max-width: 150px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
|
@ -62,13 +73,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* container for pill-style completions */
|
||||
.mx_Autocomplete_Completion_container_pill {
|
||||
margin: 12px;
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_Completion.selected,
|
||||
.mx_Autocomplete_Completion:hover {
|
||||
background: $selected-color;
|
||||
|
@ -81,14 +85,3 @@
|
|||
font-weight: 400;
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
/* styling for common completion elements */
|
||||
.mx_Autocomplete_Completion_subtitle {
|
||||
font-style: italic;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mx_Autocomplete_Completion_description {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2019 New Vector Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,24 +15,31 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_MessageEditor {
|
||||
border-radius: 4px;
|
||||
padding: 3px;
|
||||
// this is to try not make the text move but still have some
|
||||
// padding around and in the editor.
|
||||
// Actual values from fiddling around in inspector
|
||||
margin: -7px -10px -5px -10px;
|
||||
overflow: visible !important; // override mx_EventTile_content
|
||||
.mx_BasicMessageComposer {
|
||||
.mx_BasicMessageComposer_inputEmpty > :first-child::before {
|
||||
content: var(--placeholder);
|
||||
opacity: 0.333;
|
||||
width: 0;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
display: inline-block;
|
||||
pointer-events: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.mx_MessageEditor_editor {
|
||||
border-radius: 4px;
|
||||
border: solid 1px $primary-hairline-color;
|
||||
background-color: $primary-bg-color;
|
||||
padding: 3px 6px;
|
||||
@keyframes visualbell {
|
||||
from { background-color: $visual-bell-bg-color; }
|
||||
to { background-color: $primary-bg-color; }
|
||||
}
|
||||
|
||||
&.mx_BasicMessageComposer_input_error {
|
||||
animation: 0.2s visualbell;
|
||||
}
|
||||
|
||||
.mx_BasicMessageComposer_input {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
outline: none;
|
||||
max-height: 200px;
|
||||
overflow-x: auto;
|
||||
|
||||
span.mx_UserPill, span.mx_RoomPill {
|
||||
|
@ -59,32 +67,8 @@ limitations under the License.
|
|||
}
|
||||
}
|
||||
|
||||
.mx_MessageEditor_buttons {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
padding: 5px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
background: $header-panel-bg-color;
|
||||
z-index: 100;
|
||||
right: 0;
|
||||
margin: 0 -110px 0 0;
|
||||
padding-right: 147px;
|
||||
|
||||
.mx_AccessibleButton {
|
||||
margin-left: 5px;
|
||||
padding: 5px 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_MessageEditor_AutoCompleteWrapper {
|
||||
.mx_BasicMessageComposer_AutoCompleteWrapper {
|
||||
position: relative;
|
||||
height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_EventTile_last .mx_MessageEditor_buttons {
|
||||
position: static;
|
||||
margin-right: -147px;
|
||||
}
|
63
res/css/views/rooms/_EditMessageComposer.scss
Normal file
63
res/css/views/rooms/_EditMessageComposer.scss
Normal file
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
Copyright 2019 New Vector Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_EditMessageComposer {
|
||||
|
||||
padding: 3px;
|
||||
// this is to try not make the text move but still have some
|
||||
// padding around and in the editor.
|
||||
// Actual values from fiddling around in inspector
|
||||
margin: -7px -10px -5px -10px;
|
||||
overflow: visible !important; // override mx_EventTile_content
|
||||
|
||||
|
||||
.mx_BasicMessageComposer_input {
|
||||
border-radius: 4px;
|
||||
border: solid 1px $primary-hairline-color;
|
||||
background-color: $primary-bg-color;
|
||||
max-height: 200px;
|
||||
padding: 3px 6px;
|
||||
|
||||
&:focus {
|
||||
border-color: $accent-color-50pct;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_EditMessageComposer_buttons {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
padding: 5px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
background: $header-panel-bg-color;
|
||||
z-index: 100;
|
||||
right: 0;
|
||||
margin: 0 -110px 0 0;
|
||||
padding-right: 147px;
|
||||
|
||||
.mx_AccessibleButton {
|
||||
margin-left: 5px;
|
||||
padding: 5px 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mx_EventTile_last .mx_EditMessageComposer_buttons {
|
||||
position: static;
|
||||
margin-right: -147px;
|
||||
}
|
|
@ -85,10 +85,6 @@ limitations under the License.
|
|||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mx_EntityTile:not(.mx_EntityTile_noHover):hover .mx_EntityTile_name {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.mx_EntityTile_ellipsis .mx_EntityTile_name {
|
||||
font-style: italic;
|
||||
color: $primary-fg-color;
|
||||
|
@ -102,23 +98,24 @@ limitations under the License.
|
|||
.mx_EntityTile_unavailable .mx_EntityTile_avatar,
|
||||
.mx_EntityTile_unavailable .mx_EntityTile_name,
|
||||
.mx_EntityTile_offline_beenactive .mx_EntityTile_avatar,
|
||||
.mx_EntityTile_offline_beenactive .mx_EntityTile_name
|
||||
{
|
||||
.mx_EntityTile_offline_beenactive .mx_EntityTile_name {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.mx_EntityTile_offline_neveractive .mx_EntityTile_avatar,
|
||||
.mx_EntityTile_offline_neveractive .mx_EntityTile_name
|
||||
{
|
||||
.mx_EntityTile_offline_neveractive .mx_EntityTile_name {
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
.mx_EntityTile_unknown .mx_EntityTile_avatar,
|
||||
.mx_EntityTile_unknown .mx_EntityTile_name
|
||||
{
|
||||
.mx_EntityTile_unknown .mx_EntityTile_name {
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
.mx_EntityTile:not(.mx_EntityTile_noHover):hover .mx_EntityTile_name {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.mx_EntityTile_subtext {
|
||||
font-size: 11px;
|
||||
opacity: 0.5;
|
||||
|
|
|
@ -56,13 +56,17 @@ limitations under the License.
|
|||
color: $primary-fg-color;
|
||||
font-size: 14px;
|
||||
display: inline-block; /* anti-zalgo, with overflow hidden */
|
||||
overflow-y: hidden;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
padding-left: 65px; /* left gutter */
|
||||
padding-bottom: 0px;
|
||||
padding-top: 0px;
|
||||
margin: 0px;
|
||||
line-height: 17px;
|
||||
/* the next three lines, along with overflow hidden, truncate long display names */
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
max-width: calc(100% - 65px);
|
||||
}
|
||||
|
||||
.mx_EventTile .mx_SenderProfile .mx_Flair {
|
||||
|
@ -89,8 +93,6 @@ limitations under the License.
|
|||
display: block;
|
||||
visibility: hidden;
|
||||
white-space: nowrap;
|
||||
color: $event-timestamp-color;
|
||||
font-size: 10px;
|
||||
left: 0px;
|
||||
width: 46px; /* 8 + 30 (avatar) + 8 */
|
||||
text-align: center;
|
||||
|
@ -120,8 +122,29 @@ limitations under the License.
|
|||
|
||||
/* HACK to override line-height which is already marked important elsewhere */
|
||||
.mx_EventTile_bigEmoji.mx_EventTile_bigEmoji {
|
||||
font-size: 48px ! important;
|
||||
line-height: 52px ! important;
|
||||
font-size: 48px !important;
|
||||
line-height: 57px !important;
|
||||
}
|
||||
|
||||
.mx_MessagePanel_alwaysShowTimestamps .mx_MessageTimestamp {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.mx_EventTile_selected > div > a > .mx_MessageTimestamp {
|
||||
left: 3px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
// Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies)
|
||||
.mx_EventTile_last > div > a > .mx_MessageTimestamp,
|
||||
.mx_EventTile:hover > div > a > .mx_MessageTimestamp,
|
||||
.mx_EventTile.mx_EventTile_actionBarFocused > div > a > .mx_MessageTimestamp {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover .mx_MessageActionBar,
|
||||
.mx_EventTile.mx_EventTile_actionBarFocused .mx_MessageActionBar {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
/* this is used for the tile for the event which is selected via the URL.
|
||||
|
@ -133,9 +156,17 @@ limitations under the License.
|
|||
background-color: $event-selected-color;
|
||||
}
|
||||
|
||||
.mx_EventTile_highlight,
|
||||
.mx_EventTile_highlight .markdown-body {
|
||||
color: $event-highlight-fg-color;
|
||||
|
||||
.mx_EventTile_line {
|
||||
background-color: $event-highlight-bg-color;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_EventTile:hover .mx_EventTile_line,
|
||||
.mx_EventTile.mx_EventTile_actionBarFocused .mx_EventTile_line
|
||||
{
|
||||
.mx_EventTile.mx_EventTile_actionBarFocused .mx_EventTile_line {
|
||||
background-color: $event-selected-color;
|
||||
}
|
||||
|
||||
|
@ -154,7 +185,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_EventTile_encrypting {
|
||||
color: $event-encrypting-color ! important;
|
||||
color: $event-encrypting-color !important;
|
||||
}
|
||||
|
||||
.mx_EventTile_sending {
|
||||
|
@ -172,25 +203,30 @@ limitations under the License.
|
|||
|
||||
.mx_EventTile_redacted .mx_EventTile_line .mx_UnknownBody,
|
||||
.mx_EventTile_redacted .mx_EventTile_reply .mx_UnknownBody {
|
||||
--lozenge-color: $event-redacted-fg-color;
|
||||
--lozenge-border-color: $event-redacted-border-color;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 22px;
|
||||
width: 250px;
|
||||
border-radius: 11px;
|
||||
background: repeating-linear-gradient(
|
||||
-45deg,
|
||||
$event-redacted-fg-color,
|
||||
$event-redacted-fg-color 3px,
|
||||
transparent 3px,
|
||||
transparent 6px
|
||||
);
|
||||
box-shadow: 0px 0px 3px $event-redacted-border-color inset;
|
||||
background:
|
||||
repeating-linear-gradient(
|
||||
-45deg,
|
||||
var(--lozenge-color),
|
||||
var(--lozenge-color) 3px,
|
||||
transparent 3px,
|
||||
transparent 6px
|
||||
);
|
||||
box-shadow: 0px 0px 3px var(--lozenge-border-color) inset;
|
||||
}
|
||||
|
||||
.mx_EventTile_highlight,
|
||||
.mx_EventTile_highlight .markdown-body
|
||||
{
|
||||
color: $warning-color;
|
||||
.mx_EventTile_sending.mx_EventTile_redacted .mx_UnknownBody {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
|
||||
--lozenge-color: $event-notsent-color;
|
||||
--lozenge-border-color: $event-notsent-color;
|
||||
}
|
||||
|
||||
.mx_EventTile_contextual {
|
||||
|
@ -215,27 +251,6 @@ limitations under the License.
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
// Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies)
|
||||
.mx_EventTile_last > div > a > .mx_MessageTimestamp,
|
||||
.mx_EventTile:hover > div > a > .mx_MessageTimestamp,
|
||||
.mx_EventTile.mx_EventTile_actionBarFocused > div > a > .mx_MessageTimestamp {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.mx_MessagePanel_alwaysShowTimestamps .mx_MessageTimestamp {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.mx_EventTile_selected > div > a > .mx_MessageTimestamp {
|
||||
left: 3px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover .mx_MessageActionBar,
|
||||
.mx_EventTile.mx_EventTile_actionBarFocused .mx_MessageActionBar {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.mx_EventTile_readAvatars {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
|
@ -243,6 +258,7 @@ limitations under the License.
|
|||
height: 14px;
|
||||
top: 29px;
|
||||
user-select: none;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.mx_EventTile_continuation .mx_EventTile_readAvatars,
|
||||
|
@ -299,11 +315,6 @@ limitations under the License.
|
|||
filter: none;
|
||||
}
|
||||
|
||||
/* End to end encryption stuff */
|
||||
.mx_EventTile:hover .mx_EventTile_e2eIcon {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.mx_EventTile_e2eIcon {
|
||||
display: block;
|
||||
position: absolute;
|
||||
|
@ -370,22 +381,31 @@ limitations under the License.
|
|||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.mx_EventTile_selected.mx_EventTile_info .mx_EventTile_line {
|
||||
padding-left: 78px;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line,
|
||||
.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line {
|
||||
padding-left: 60px;
|
||||
}
|
||||
|
||||
.mx_EventTile_selected.mx_EventTile_info .mx_EventTile_line,
|
||||
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line {
|
||||
border-left: $e2e-verified-color 5px solid;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line {
|
||||
border-left: $e2e-unverified-color 5px solid;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover.mx_EventTile_verified.mx_EventTile_info .mx_EventTile_line,
|
||||
.mx_EventTile:hover.mx_EventTile_unverified.mx_EventTile_info .mx_EventTile_line {
|
||||
padding-left: 78px;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line {
|
||||
border-left: $e2e-verified-color 5px solid;
|
||||
}
|
||||
.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line {
|
||||
border-left: $e2e-unverified-color 5px solid;
|
||||
/* End to end encryption stuff */
|
||||
.mx_EventTile:hover .mx_EventTile_e2eIcon {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
// Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies)
|
||||
|
@ -395,12 +415,6 @@ limitations under the License.
|
|||
width: auto;
|
||||
}
|
||||
|
||||
/*
|
||||
.mx_EventTile_verified .mx_EventTile_e2eIcon {
|
||||
display: none;
|
||||
}
|
||||
*/
|
||||
|
||||
// Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies)
|
||||
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line > .mx_EventTile_e2eIcon,
|
||||
.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line > .mx_EventTile_e2eIcon {
|
||||
|
@ -414,39 +428,45 @@ limitations under the License.
|
|||
color: $roomtopic-color;
|
||||
display: inline-block;
|
||||
margin-left: 9px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Various markdown overrides */
|
||||
|
||||
.mx_EventTile_body pre {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
.mx_EventTile_content .markdown-body {
|
||||
font-family: inherit ! important;
|
||||
white-space: normal ! important;
|
||||
line-height: inherit ! important;
|
||||
font-family: inherit !important;
|
||||
white-space: normal !important;
|
||||
line-height: inherit !important;
|
||||
color: inherit; // inherit the colour from the dark or light theme by default (but not for code blocks)
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* have to use overlay rather than auto otherwise Linux and Windows
|
||||
Chrome gets very confused about vertical spacing:
|
||||
https://github.com/vector-im/vector-web/issues/754
|
||||
*/
|
||||
.mx_EventTile_content .markdown-body pre {
|
||||
overflow-x: overlay;
|
||||
overflow-y: visible;
|
||||
max-height: 30vh;
|
||||
}
|
||||
|
||||
.mx_EventTile_content .markdown-body code {
|
||||
// deliberate constants as we're behind an invert filter
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
.mx_EventTile_content .markdown-body {
|
||||
pre, code {
|
||||
font-family: $monospace-font-family ! important;
|
||||
font-family: $monospace-font-family !important;
|
||||
// deliberate constants as we're behind an invert filter
|
||||
color: #333;
|
||||
}
|
||||
|
||||
pre {
|
||||
// have to use overlay rather than auto otherwise Linux and Windows
|
||||
// Chrome gets very confused about vertical spacing:
|
||||
// https://github.com/vector-im/vector-web/issues/754
|
||||
overflow-x: overlay;
|
||||
overflow-y: visible;
|
||||
max-height: 30vh;
|
||||
}
|
||||
|
||||
code {
|
||||
// deliberate constants as we're behind an invert filter
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_EventTile:hover .mx_EventTile_body pre {
|
||||
border: 1px solid #e5e5e5; // deliberate constant as we're behind an invert filter
|
||||
}
|
||||
|
||||
.mx_EventTile_pre_container {
|
||||
|
@ -467,17 +487,7 @@ limitations under the License.
|
|||
background-image: url($copy-button-url);
|
||||
}
|
||||
|
||||
.mx_EventTile_body pre {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover .mx_EventTile_body pre
|
||||
{
|
||||
border: 1px solid #e5e5e5; // deliberate constant as we're behind an invert filter
|
||||
}
|
||||
|
||||
.mx_EventTile_body .mx_EventTile_pre_container:hover .mx_EventTile_copyButton
|
||||
{
|
||||
.mx_EventTile_body .mx_EventTile_pre_container:hover .mx_EventTile_copyButton {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
|
@ -486,19 +496,17 @@ limitations under the License.
|
|||
.mx_EventTile_content .markdown-body h3,
|
||||
.mx_EventTile_content .markdown-body h4,
|
||||
.mx_EventTile_content .markdown-body h5,
|
||||
.mx_EventTile_content .markdown-body h6
|
||||
{
|
||||
font-family: inherit ! important;
|
||||
.mx_EventTile_content .markdown-body h6 {
|
||||
font-family: inherit !important;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
/* Make h1 and h2 the same size as h3. */
|
||||
.mx_EventTile_content .markdown-body h1,
|
||||
.mx_EventTile_content .markdown-body h2
|
||||
{
|
||||
.mx_EventTile_content .markdown-body h2 {
|
||||
font-size: 1.5em;
|
||||
border-bottom: none ! important; // override GFM
|
||||
border-bottom: none !important; // override GFM
|
||||
}
|
||||
|
||||
.mx_EventTile_content .markdown-body a {
|
||||
|
@ -507,7 +515,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_EventTile_content .markdown-body .hljs {
|
||||
display: inline ! important;
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -524,6 +532,9 @@ limitations under the License.
|
|||
|
||||
/* end of overrides */
|
||||
|
||||
/* Ordering this block by specificity would require breaking it up into several
|
||||
chunks, which seems like it would be more confusing to read. */
|
||||
/* stylelint-disable no-descending-specificity */
|
||||
.mx_MatrixChat_useCompactLayout {
|
||||
.mx_EventTile {
|
||||
padding-top: 4px;
|
||||
|
@ -596,8 +607,9 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_EventTile_content .markdown-body {
|
||||
p, ul, ol, dl, blockquote, pre, table {
|
||||
margin-bottom: 4px; // 1/4 of the non-compact margin-bottom
|
||||
}
|
||||
p, ul, ol, dl, blockquote, pre, table {
|
||||
margin-bottom: 4px; // 1/4 of the non-compact margin-bottom
|
||||
}
|
||||
}
|
||||
}
|
||||
/* stylelint-enable no-descending-specificity */
|
||||
|
|
|
@ -55,7 +55,7 @@ limitations under the License.
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_JumpToBottomButton_scrollDown:before {
|
||||
.mx_JumpToBottomButton_scrollDown::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
|
|
@ -57,6 +57,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_MemberDeviceInfo_deviceId {
|
||||
word-break: break-word;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
|
|
|
@ -43,6 +43,8 @@ limitations under the License.
|
|||
|
||||
.mx_MemberInfo_name h2 {
|
||||
flex: 1;
|
||||
overflow-x: auto;
|
||||
max-height: 50px;
|
||||
}
|
||||
|
||||
.mx_MemberInfo h2 {
|
||||
|
@ -80,9 +82,6 @@ limitations under the License.
|
|||
display: block;
|
||||
}
|
||||
|
||||
.mx_MemberInfo_avatar .mx_BaseAvatar {
|
||||
}
|
||||
|
||||
.mx_MemberInfo_avatar .mx_BaseAvatar.mx_BaseAvatar_image {
|
||||
cursor: zoom-in;
|
||||
}
|
||||
|
@ -124,7 +123,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_MemberInfo_createRoom_label {
|
||||
width: initial ! important;
|
||||
width: initial !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_MemberList_invite.mx_AccessibleButton_disabled {
|
||||
background-color: $greyed-fg-color;;
|
||||
background-color: $greyed-fg-color;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
|
@ -97,5 +97,4 @@ limitations under the License.
|
|||
background-repeat: no-repeat;
|
||||
background-position: center left;
|
||||
padding-left: 25px;
|
||||
|
||||
}
|
||||
|
|
|
@ -122,16 +122,15 @@ limitations under the License.
|
|||
// FIXME: rather unpleasant hack to get rid of <p/> margins.
|
||||
// really we should be mixing in markdown-body from gfm.css instead
|
||||
.mx_MessageComposer_editor > :first-child {
|
||||
margin-top: 0 ! important;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.mx_MessageComposer_editor > :last-child {
|
||||
margin-bottom: 0 ! important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
@keyframes visualbell
|
||||
{
|
||||
from { background-color: #faa }
|
||||
to { background-color: $primary-bg-color }
|
||||
@keyframes visualbell {
|
||||
from { background-color: $visual-bell-bg-color; }
|
||||
to { background-color: $primary-bg-color; }
|
||||
}
|
||||
|
||||
.mx_MessageComposer_input_error {
|
||||
|
|
|
@ -44,6 +44,12 @@ limitations under the License.
|
|||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.mx_PinnedEventTile_actions {
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_PinnedEventTile:hover .mx_PinnedEventTile_timestamp {
|
||||
display: inline-block;
|
||||
}
|
||||
|
@ -52,12 +58,6 @@ limitations under the License.
|
|||
display: block;
|
||||
}
|
||||
|
||||
.mx_PinnedEventTile_actions {
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_PinnedEventTile_unpinButton {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
|
@ -74,4 +74,4 @@ limitations under the License.
|
|||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,4 +17,4 @@ limitations under the License.
|
|||
.mx_PresenceLabel {
|
||||
font-size: 11px;
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ limitations under the License.
|
|||
border-bottom: none;
|
||||
border-radius: 4px 4px 0 0;
|
||||
max-height: 50vh;
|
||||
overflow: auto
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.mx_ReplyPreview_section {
|
||||
|
|
|
@ -78,6 +78,14 @@ limitations under the License.
|
|||
display: none;
|
||||
}
|
||||
|
||||
.mx_IndicatorScrollbar_leftOverflowIndicator {
|
||||
background: linear-gradient(to left, $panel-gradient);
|
||||
}
|
||||
|
||||
.mx_IndicatorScrollbar_rightOverflowIndicator {
|
||||
background: linear-gradient(to right, $panel-gradient);
|
||||
}
|
||||
|
||||
&.mx_IndicatorScrollbar_leftOverflow .mx_IndicatorScrollbar_leftOverflowIndicator,
|
||||
&.mx_IndicatorScrollbar_rightOverflow .mx_IndicatorScrollbar_rightOverflowIndicator {
|
||||
position: absolute;
|
||||
|
@ -88,13 +96,4 @@ limitations under the License.
|
|||
pointer-events: none;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.mx_IndicatorScrollbar_leftOverflowIndicator {
|
||||
background: linear-gradient(to left, $panel-gradient);
|
||||
}
|
||||
|
||||
.mx_IndicatorScrollbar_rightOverflowIndicator {
|
||||
background: linear-gradient(to right, $panel-gradient);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ limitations under the License.
|
|||
.mx_RoomHeader_wrapper {
|
||||
margin: auto;
|
||||
height: 52px;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
|
@ -107,7 +106,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_RoomHeader_settingsHint {
|
||||
color: $settings-grey-fg-color ! important;
|
||||
color: $settings-grey-fg-color !important;
|
||||
}
|
||||
|
||||
.mx_RoomHeader_searchStatus {
|
||||
|
@ -134,17 +133,17 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_RoomHeader_placeholder {
|
||||
color: $settings-grey-fg-color ! important;
|
||||
color: $settings-grey-fg-color !important;
|
||||
}
|
||||
|
||||
.mx_RoomHeader_editable {
|
||||
border-bottom: 1px solid $strong-input-border-color ! important;
|
||||
border-bottom: 1px solid $strong-input-border-color !important;
|
||||
min-width: 150px;
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
.mx_RoomHeader_editable:focus {
|
||||
border-bottom: 1px solid $accent-color ! important;
|
||||
border-bottom: 1px solid $accent-color !important;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
/* hide resize handles next to collapsed / empty sublists */
|
||||
.mx_RoomList .mx_RoomSubList:not(.mx_RoomSubList_nonEmpty) + .mx_ResizeHandle {
|
||||
.mx_RoomList .mx_RoomSubList:not(.mx_RoomSubList_nonEmpty) + .mx_ResizeHandle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,16 @@ limitations under the License.
|
|||
margin: 10px 10px 10px 0;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.mx_RoomPreviewBar_footer {
|
||||
font-size: 12px;
|
||||
line-height: 20px;
|
||||
|
||||
.mx_Spinner {
|
||||
vertical-align: middle;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mx_RoomPreviewBar_dark {
|
||||
|
@ -70,7 +80,7 @@ limitations under the License.
|
|||
flex-direction: row;
|
||||
padding: 3px 8px;
|
||||
|
||||
&>* {
|
||||
& > * {
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +91,7 @@ limitations under the License.
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
&>* {
|
||||
& > * {
|
||||
margin: 4px;
|
||||
}
|
||||
}
|
||||
|
@ -99,7 +109,7 @@ limitations under the License.
|
|||
.mx_RoomPreviewBar_message {
|
||||
flex-direction: column;
|
||||
|
||||
&>* {
|
||||
& > * {
|
||||
margin: 5px 0 20px 0;
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +120,7 @@ limitations under the License.
|
|||
padding: 7px 50px;//extra wide
|
||||
}
|
||||
|
||||
&>* {
|
||||
& > * {
|
||||
margin-top: 12px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,6 +25,11 @@ limitations under the License.
|
|||
position: relative;
|
||||
}
|
||||
|
||||
.mx_RoomTile:focus {
|
||||
filter: none !important;
|
||||
background-color: $roomtile-focused-bg-color;
|
||||
}
|
||||
|
||||
.mx_RoomTile_menuButton {
|
||||
display: none;
|
||||
flex: 0 0 16px;
|
||||
|
@ -34,13 +39,6 @@ limitations under the License.
|
|||
background-position: center;
|
||||
}
|
||||
|
||||
// toggle menuButton and badge on hover/menu displayed
|
||||
.mx_LeftPanel_container:not(.collapsed) .mx_RoomTile:hover, .mx_RoomTile_menuDisplayed {
|
||||
.mx_RoomTile_menuButton {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_RoomTile_tooltip {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
|
@ -48,7 +46,6 @@ limitations under the License.
|
|||
left: -12px;
|
||||
}
|
||||
|
||||
|
||||
.mx_RoomTile_nameContainer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -109,9 +106,18 @@ limitations under the License.
|
|||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.mx_RoomTile_badge {
|
||||
flex: 0 1 content;
|
||||
border-radius: 0.8em;
|
||||
padding: 0 0.4em;
|
||||
color: $accent-fg-color;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.collapsed {
|
||||
.mx_RoomTile {
|
||||
margin: 0 2px;
|
||||
margin: 0 6px;
|
||||
padding: 0 2px;
|
||||
position: relative;
|
||||
justify-content: center;
|
||||
|
@ -135,13 +141,12 @@ limitations under the License.
|
|||
}
|
||||
}
|
||||
|
||||
.mx_RoomTile_badge {
|
||||
flex: 0 1 content;
|
||||
border-radius: 0.8em;
|
||||
padding: 0 0.4em;
|
||||
color: $accent-fg-color;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
// toggle menuButton and badge on hover/menu displayed
|
||||
.mx_RoomTile_menuDisplayed,
|
||||
.mx_LeftPanel_container:not(.collapsed) .mx_RoomTile:hover {
|
||||
.mx_RoomTile_menuButton {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_RoomTile_unreadNotify .mx_RoomTile_badge,
|
||||
|
@ -150,8 +155,7 @@ limitations under the License.
|
|||
}
|
||||
|
||||
.mx_RoomTile_highlight .mx_RoomTile_badge,
|
||||
.mx_RoomTile_badge.mx_RoomTile_badgeRed
|
||||
{
|
||||
.mx_RoomTile_badge.mx_RoomTile_badgeRed {
|
||||
background-color: $warning-color;
|
||||
}
|
||||
|
||||
|
@ -176,11 +180,6 @@ limitations under the License.
|
|||
transform: scale(1.05, 1.05);
|
||||
}
|
||||
|
||||
.mx_RoomTile:focus {
|
||||
filter: none !important;
|
||||
background-color: $roomtile-focused-bg-color;
|
||||
}
|
||||
|
||||
.mx_RoomTile_arrow {
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
|
|
|
@ -15,17 +15,22 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
.mx_RoomUpgradeWarningBar {
|
||||
max-height: 235px;
|
||||
background-color: $preview-bar-bg-color;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
.mx_RoomUpgradeWarningBar_wrapped {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
text-align: center;
|
||||
height: 235px;
|
||||
background-color: $event-selected-color;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
background-color: $preview-bar-bg-color;
|
||||
-webkit-align-items: center;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.mx_RoomUpgradeWarningBar_header {
|
||||
|
|
53
res/css/views/rooms/_SendMessageComposer.scss
Normal file
53
res/css/views/rooms/_SendMessageComposer.scss
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_SendMessageComposer {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-size: 14px;
|
||||
justify-content: center;
|
||||
margin-right: 6px;
|
||||
// don't grow wider than available space
|
||||
min-width: 0;
|
||||
|
||||
.mx_BasicMessageComposer {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
// min-height at this level so the mx_BasicMessageComposer_input
|
||||
// still stays vertically centered when less than 50px
|
||||
min-height: 50px;
|
||||
|
||||
.mx_BasicMessageComposer_input {
|
||||
padding: 3px 0;
|
||||
// this will center the contenteditable
|
||||
// in it's parent vertically
|
||||
// while keeping the autocomplete at the top
|
||||
// of the composer. The parent needs to be a flex container for this to work.
|
||||
margin: auto 0;
|
||||
// max-height at this level so autocomplete doesn't get scrolled too
|
||||
max-height: 140px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_SendMessageComposer_overlayWrapper {
|
||||
position: relative;
|
||||
height: 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@ limitations under the License.
|
|||
width: 38px;
|
||||
}
|
||||
|
||||
.mx_TopUnreadMessagesBar:after {
|
||||
.mx_TopUnreadMessagesBar::after {
|
||||
content: "·";
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
|
@ -49,7 +49,7 @@ limitations under the License.
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_TopUnreadMessagesBar_scrollUp:before {
|
||||
.mx_TopUnreadMessagesBar_scrollUp::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 38px;
|
||||
|
|
|
@ -26,8 +26,13 @@ limitations under the License.
|
|||
font-weight: bold;
|
||||
}
|
||||
|
||||
.mx_DevicesPanel_header > .mx_DevicesPanel_deviceButtons {
|
||||
height: 48px; // make this tall so the table doesn't move down when the delete button appears
|
||||
}
|
||||
|
||||
.mx_DevicesPanel_header > div {
|
||||
display: table-cell;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.mx_DevicesPanel_header .mx_DevicesPanel_deviceLastSeen {
|
||||
|
@ -48,4 +53,4 @@ limitations under the License.
|
|||
|
||||
.mx_DevicesPanel_myDevice {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2019 New Vector Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -15,6 +16,8 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
.mx_ExistingEmailAddress {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
|
@ -24,20 +27,12 @@ limitations under the License.
|
|||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.mx_ExistingEmailAddress_email {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.mx_ExistingEmailAddress_email,
|
||||
.mx_ExistingEmailAddress_promptText {
|
||||
flex: 1;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.mx_ExistingEmailAddress_confirmBtn {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.mx_EmailAddresses_new .mx_Field input {
|
||||
// Use 100% of the space available for the input, but don't let the 10px
|
||||
// padding on either side of the input to push it out of alignment.
|
||||
width: calc(100% - 20px);
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
|
|
@ -29,3 +29,16 @@ limitations under the License.
|
|||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.mx_IntegrationsManager_loading h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mx_IntegrationsManager_error {
|
||||
text-align: center;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.mx_IntegrationsManager_error h3 {
|
||||
color: $warning-color;
|
||||
}
|
||||
|
|
|
@ -14,8 +14,7 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_UserNotifSettings_tableRow
|
||||
{
|
||||
.mx_UserNotifSettings_tableRow {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
|
@ -26,8 +25,7 @@ limitations under the License.
|
|||
width: 16px;
|
||||
}
|
||||
|
||||
.mx_UserNotifSettings_labelCell
|
||||
{
|
||||
.mx_UserNotifSettings_labelCell {
|
||||
padding-bottom: 8px;
|
||||
width: 400px;
|
||||
display: table-cell;
|
||||
|
@ -71,3 +69,26 @@ limitations under the License.
|
|||
.mx_UserNotifSettings_notifTable .mx_Spinner {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mx_NotificationSound_soundUpload {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_NotificationSound_browse {
|
||||
color: $accent-color;
|
||||
border: 1px solid $accent-color;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.mx_NotificationSound_save {
|
||||
margin-left: 5px;
|
||||
color: white;
|
||||
background-color: $accent-color;
|
||||
}
|
||||
|
||||
.mx_NotificationSound_resetSound {
|
||||
margin-top: 5px;
|
||||
color: white;
|
||||
border: $warning-color;
|
||||
background-color: $warning-color;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2019 New Vector Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -15,6 +16,8 @@ limitations under the License.
|
|||
*/
|
||||
|
||||
.mx_ExistingPhoneNumber {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
|
@ -24,22 +27,23 @@ limitations under the License.
|
|||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.mx_ExistingPhoneNumber_address {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.mx_ExistingPhoneNumber_address,
|
||||
.mx_ExistingPhoneNumber_promptText {
|
||||
flex: 1;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.mx_ExistingPhoneNumber_confirmBtn {
|
||||
margin-right: 5px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.mx_PhoneNumbers_new .mx_Field input {
|
||||
// Use 100% of the space available for the input, but don't let the 10px
|
||||
// padding on either side of the input to push it out of alignment.
|
||||
width: calc(100% - 20px);
|
||||
.mx_ExistingPhoneNumber_verification {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
|
||||
.mx_Field {
|
||||
margin: 0 0 0 1em;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_PhoneNumbers_input {
|
||||
|
|
|
@ -22,11 +22,6 @@ limitations under the License.
|
|||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.mx_ProfileSettings_controls .mx_Field #profileDisplayName,
|
||||
.mx_ProfileSettings_controls .mx_Field #profileTopic {
|
||||
width: calc(100% - 20px); // subtract 10px padding on left and right
|
||||
}
|
||||
|
||||
.mx_ProfileSettings_controls .mx_Field #profileTopic {
|
||||
height: 4em;
|
||||
}
|
||||
|
@ -48,7 +43,6 @@ limitations under the License.
|
|||
height: 88px;
|
||||
margin-left: 13px;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_ProfileSettings_avatar > * {
|
||||
|
@ -76,6 +70,7 @@ limitations under the License.
|
|||
text-align: center;
|
||||
vertical-align: middle;
|
||||
font-size: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_ProfileSettings_avatar:hover .mx_ProfileSettings_avatarOverlay:not(.mx_ProfileSettings_avatarOverlay_disabled) {
|
||||
|
@ -110,7 +105,7 @@ limitations under the License.
|
|||
margin: auto;
|
||||
}
|
||||
|
||||
.mx_ProfileSettings_avatarOverlayImg:before {
|
||||
.mx_ProfileSettings_avatarOverlayImg::before {
|
||||
background-color: $settings-profile-overlay-placeholder-fg-color;
|
||||
mask: url("$(res)/img/feather-customised/upload.svg");
|
||||
mask-repeat: no-repeat;
|
||||
|
@ -124,7 +119,7 @@ limitations under the License.
|
|||
right: 0;
|
||||
}
|
||||
|
||||
.mx_ProfileSettings_avatar:hover .mx_ProfileSettings_avatarOverlayImg:before {
|
||||
.mx_ProfileSettings_avatar:hover .mx_ProfileSettings_avatarOverlayImg::before {
|
||||
background-color: $settings-profile-overlay-fg-color !important;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2019 New Vector Ltd
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,12 +14,10 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_ReactionDimension {
|
||||
width: 42px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
.mx_SetIdServer .mx_Field_input {
|
||||
@mixin mx_Settings_fullWidthField;
|
||||
}
|
||||
|
||||
.mx_ReactionDimension_disabled {
|
||||
opacity: 0.4;
|
||||
.mx_SetIdServer_tooltip {
|
||||
@mixin mx_Settings_tooltip;
|
||||
}
|
37
res/css/views/settings/_SetIntegrationManager.scss
Normal file
37
res/css/views/settings/_SetIntegrationManager.scss
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_SetIntegrationManager .mx_Field_input {
|
||||
@mixin mx_Settings_fullWidthField;
|
||||
}
|
||||
|
||||
.mx_SetIntegrationManager {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.mx_SetIntegrationManager > .mx_SettingsTab_heading {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.mx_SetIntegrationManager > .mx_SettingsTab_heading > .mx_SettingsTab_subheading {
|
||||
display: inline-block;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.mx_SetIntegrationManager_tooltip {
|
||||
@mixin mx_Settings_tooltip;
|
||||
}
|
|
@ -24,6 +24,10 @@ limitations under the License.
|
|||
color: $primary-fg-color;
|
||||
}
|
||||
|
||||
.mx_SettingsTab_heading:nth-child(n + 2) {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.mx_SettingsTab_subheading {
|
||||
font-size: 16px;
|
||||
display: block;
|
||||
|
@ -37,9 +41,8 @@ limitations under the License.
|
|||
.mx_SettingsTab_subsectionText {
|
||||
color: $settings-subsection-fg-color;
|
||||
font-size: 14px;
|
||||
padding-bottom: 12px;
|
||||
display: block;
|
||||
margin: 0 100px 0 0; // Align with the rest of the view
|
||||
margin: 10px 100px 10px 0; // Align with the rest of the view
|
||||
}
|
||||
|
||||
.mx_SettingsTab_section .mx_SettingsFlag {
|
||||
|
@ -67,12 +70,6 @@ limitations under the License.
|
|||
word-break: break-all;
|
||||
}
|
||||
|
||||
.mx_SettingsTab .mx_SettingsTab_subheading:nth-child(n + 2) {
|
||||
// These views have a lot of the same repetitive information on it, so
|
||||
// give them more visual distinction between the sections.
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.mx_SettingsTab a {
|
||||
color: $accent-color-alt;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,3 @@ limitations under the License.
|
|||
.mx_GeneralRoomSettingsTab_profileSection {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.mx_GeneralRoomSettingsTab .mx_AliasSettings .mx_Field select {
|
||||
width: 100%;
|
||||
}
|
||||
|
|
|
@ -21,4 +21,4 @@ limitations under the License.
|
|||
.mx_RolesRoomSettingsTab_unbanBtn {
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,4 +31,4 @@ limitations under the License.
|
|||
|
||||
.mx_SecurityRoomSettingsTab_encryptionSection {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue