diff --git a/css/_connection-info.scss b/css/_connection-info.scss
index 97d9c1d12..51e792fe7 100644
--- a/css/_connection-info.scss
+++ b/css/_connection-info.scss
@@ -1,7 +1,6 @@
%connection-info {
font-size: 12px;
font-weight: 400;
- color: $modalTextColor;
td {
padding: 2px 0;
@@ -34,7 +33,6 @@
&__download
{
@extend .connection-info__icon;
- color: $downloadConnectionIconColor;
}
&__status
@@ -45,7 +43,6 @@
&__upload
{
@extend .connection-info__icon;
- color: $uploadConnectionIconColor;
}
.showmore {
diff --git a/css/_filmstrip.scss b/css/_filmstrip.scss
index fdd7f36a9..f755c6bb7 100644
--- a/css/_filmstrip.scss
+++ b/css/_filmstrip.scss
@@ -86,26 +86,16 @@
width: 100%;
& button {
- background: $toolbarBackground;
flex-grow: 1;
flex-shrink: 1;
overflow: hidden;
}
& > * {
- color: $toolbarButtonColor;
flex-grow: 0;
flex-shrink: 0;
margin-left: 2px;
}
-
- /**
- * Making sure any svg-s in an invite button group will be
- * colored the way we want.
- */
- & path {
- fill: $toolbarButtonColor;
- }
}
}
diff --git a/css/_popup_menu.scss b/css/_popup_menu.scss
index 7b34486a5..616b2279e 100644
--- a/css/_popup_menu.scss
+++ b/css/_popup_menu.scss
@@ -19,7 +19,6 @@
// Link Appearance
&__link,
&__contents {
- color: $modalTextColor;
display: block;
box-sizing: border-box;
text-decoration: none;
@@ -30,7 +29,6 @@
padding: 0 5px;
&.disabled {
- color: gray !important;
pointer-events: none;
}
}
diff --git a/css/_toolbars.scss b/css/_toolbars.scss
index 2a6805d08..fa6dc43c0 100644
--- a/css/_toolbars.scss
+++ b/css/_toolbars.scss
@@ -36,7 +36,6 @@
* Common toolbar styles.
*/
.toolbar {
- color: $modalTextColor;
height: 100%;
pointer-events: auto;
position: relative;
@@ -82,20 +81,21 @@
vertical-align: middle;
width: $defaultToolbarSize;
- &_hangup {
- color: $hangupColor;
- font-size: $hangupFontSize;
- }
-
&[disabled] {
opacity: 0.5;
}
&:hover, &:active {
+ color: $toolbarButtonColor;
cursor: pointer;
text-decoration: none;
}
+ &_hangup, &_hangup:hover {
+ color: $hangupColor;
+ font-size: $hangupFontSize;
+ }
+
&:not(.toggled) {
&:hover, &:active {
// sum opacity with background layer should give us 0.8
diff --git a/css/_variables.scss b/css/_variables.scss
index 8a3c6359b..04eea974e 100644
--- a/css/_variables.scss
+++ b/css/_variables.scss
@@ -64,6 +64,7 @@ $connectionIndicatorBg: #165ecc;
$audioLevelShadow: rgba(9, 36, 77, 0.9);
$videoStateIndicatorColor: $defaultColor;
$videoStateIndicatorBackground: $toolbarBackground;
+$videoStateIndicatorSize: 40px;
/**
* Feedback Modal
diff --git a/css/_videolayout_default.scss b/css/_videolayout_default.scss
index 5f903f469..352ece5c2 100644
--- a/css/_videolayout_default.scss
+++ b/css/_videolayout_default.scss
@@ -65,6 +65,15 @@
float: left;
pointer-events: all;
}
+
+ /**
+ * Need to overwrite the background for the top toolbar dark theme div
+ * wrapper needed before we're able to move all top toolbar indicators
+ * creation to react.
+ */
+ .ckAJgx {
+ background: none;
+ }
}
&__toolbar {
diff --git a/css/modals/invite/_invite.scss b/css/modals/invite/_invite.scss
index 7619b227b..4e7f297ce 100644
--- a/css/modals/invite/_invite.scss
+++ b/css/modals/invite/_invite.scss
@@ -26,17 +26,6 @@
user-select: text;
}
- .dial-in-numbers-trigger {
- position: relative;
- width: 100%;
-
- .dial-in-numbers-trigger-icon {
- position: absolute;
- right: 10px;
- top: 4px;
- }
- }
-
.is-disabled,
.is-loading {
.dial-in-numbers-trigger-icon {
@@ -62,6 +51,10 @@
&__input-container {
flex: 1;
margin-right: 10px;
+
+ .dropdown-button-trigger {
+ text-align: left;
+ }
}
}
diff --git a/css/modals/video-quality/_video-quality.scss b/css/modals/video-quality/_video-quality.scss
index 19b655ffd..736f40648 100644
--- a/css/modals/video-quality/_video-quality.scss
+++ b/css/modals/video-quality/_video-quality.scss
@@ -1,5 +1,4 @@
.video-quality-dialog {
- color: $modalTextColor;
.hide-warning {
height: 0;
@@ -12,7 +11,6 @@
.video-quality-dialog-contents {
align-items: center;
- color: $modalTextColor;
display: flex;
flex-direction: column;
padding: 10px;
@@ -29,7 +27,7 @@
@mixin sliderTrackStyles() {
height: 15px;
border-radius: 10px;
- background: black;
+ background: #0E1624;
}
&::-ms-track {
@@ -79,7 +77,6 @@
transform: translate(-50%, 0%);
&::before {
- background: rgb(140, 156, 189);
content: '';
border-radius: 50%;
left: 0;
@@ -94,10 +91,10 @@
}
.video-quality-dialog-label-container.active {
- color: $toolbarToggleBackground;
+ color: $videoQualityActive;
&::before {
- background: $toolbarToggleBackground;
+ background: $videoQualityActive;
height: 12px;
top: -19px;
width: 12px;
@@ -117,26 +114,26 @@
.video-state-indicator {
background: $videoStateIndicatorBackground;
- color: $videoStateIndicatorColor;
cursor: default;
font-size: 13px;
- height: 40px;
+ height: $videoStateIndicatorSize;
line-height: 20px;
text-align: left;
- min-width: 40px;
+ min-width: $videoStateIndicatorSize;
border-radius: 50%;
position: absolute;
box-sizing: border-box;
i {
- cursor: pointer;
+ line-height: $videoStateIndicatorSize;
}
/**
* Give the label padding so it has more volume and can be easily clicked.
*/
.video-quality-label-status {
- padding: 10px 5px;
+ line-height: $videoStateIndicatorSize;
+ min-width: $videoStateIndicatorSize;
text-align: center;
}
}
diff --git a/css/themes/_light.scss b/css/themes/_light.scss
index d045c80a8..495c18c35 100644
--- a/css/themes/_light.scss
+++ b/css/themes/_light.scss
@@ -44,12 +44,6 @@ $defaultBackground: #474747;
$filmstripOnlyOverlayBg: #000;
$reloadProgressBarBg: #0074E0;
-/**
-* Connection indicator
-**/
-$downloadConnectionIconColor: #4abd04;
-$uploadConnectionIconColor: #ffa800;
-
/**
* Dialog colors
**/
@@ -111,3 +105,8 @@ $selectFontColor: $controlColor;
$selectBg: $controlBackground;
$selectActiveBg: darken($controlBackground, 5%);
$selectActiveItemBg: darken($controlBackground, 20%);
+
+/**
+ * TODO: Replace by themed component.
+ */
+$videoQualityActive: #4C9AFF;
diff --git a/modules/UI/videolayout/RemoteVideo.js b/modules/UI/videolayout/RemoteVideo.js
index 47eb3d0dd..bda63aba1 100644
--- a/modules/UI/videolayout/RemoteVideo.js
+++ b/modules/UI/videolayout/RemoteVideo.js
@@ -5,6 +5,7 @@ import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { I18nextProvider } from 'react-i18next';
+import { AtlasKitThemeProvider } from '@atlaskit/theme';
import { i18next } from '../../../react/features/base/i18n';
import {
@@ -167,15 +168,18 @@ RemoteVideo.prototype._generatePopupContent = function() {
ReactDOM.render(
-
+
+
+
,
remoteVideoMenuContainer);
diff --git a/modules/UI/videolayout/SmallVideo.js b/modules/UI/videolayout/SmallVideo.js
index 08d4d6f09..e20bb2998 100644
--- a/modules/UI/videolayout/SmallVideo.js
+++ b/modules/UI/videolayout/SmallVideo.js
@@ -4,6 +4,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { I18nextProvider } from 'react-i18next';
+import { AtlasKitThemeProvider } from '@atlaskit/theme';
import { Provider } from 'react-redux';
import { i18next } from '../../../react/features/base/i18n';
@@ -780,30 +781,34 @@ SmallVideo.prototype.updateIndicators = function() {
const tooltipPosition = interfaceConfig.VERTICAL_FILMSTRIP ? 'left' : 'top';
ReactDOM.render(
-
-
- { this._showConnectionIndicator
- ?
- : null }
- { this._showRaisedHand
- ?
- : null }
- { this._showDominantSpeaker
- ?
- : null }
-
- ,
+
+
+
+ { this._showConnectionIndicator
+ ?
+ : null }
+ { this._showRaisedHand
+ ?
+ : null }
+ { this._showDominantSpeaker
+ ?
+ : null }
+
+
+ ,
indicatorToolbar
);
};
diff --git a/package.json b/package.json
index 5648ca0cc..ab97650ee 100644
--- a/package.json
+++ b/package.json
@@ -15,20 +15,23 @@
"author": "",
"readmeFilename": "README.md",
"dependencies": {
- "@atlaskit/avatar": "4.0.5",
- "@atlaskit/button": "3.0.0",
- "@atlaskit/button-group": "1.1.3",
- "@atlaskit/dropdown-menu": "1.4.0",
- "@atlaskit/field-text": "2.7.0",
- "@atlaskit/flag": "3.0.0",
- "@atlaskit/icon": "7.0.0",
- "@atlaskit/inline-dialog": "3.2.0",
- "@atlaskit/inline-message": "2.1.1",
- "@atlaskit/modal-dialog": "2.1.2",
- "@atlaskit/multi-select": "6.2.0",
- "@atlaskit/spinner": "2.2.3",
- "@atlaskit/tabs": "2.0.0",
- "@atlaskit/toggle": "2.0.4",
+ "@atlaskit/avatar": "8.0.5",
+ "@atlaskit/button": "5.4.2",
+ "@atlaskit/button-group": "1.5.3",
+ "@atlaskit/dropdown-menu": "3.10.2",
+ "@atlaskit/droplist": "4.11.1",
+ "@atlaskit/field-text": "4.0.1",
+ "@atlaskit/flag": "6.1.0",
+ "@atlaskit/icon": "10.0.0",
+ "@atlaskit/inline-dialog": "5.0.2",
+ "@atlaskit/inline-message": "3.0.1",
+ "@atlaskit/modal-dialog": "2.6.0",
+ "@atlaskit/multi-select": "7.1.3",
+ "@atlaskit/spinner": "4.0.0",
+ "@atlaskit/tabs": "4.0.1",
+ "@atlaskit/theme": "2.2.0",
+ "@atlaskit/toggle": "2.6.1",
+ "@atlaskit/tooltip": "6.0.0",
"@atlassian/aui": "6.0.6",
"autosize": "1.18.13",
"es6-iterator": "2.0.1",
diff --git a/react/features/app/components/AbstractApp.js b/react/features/app/components/AbstractApp.js
index 483b9025d..237950167 100644
--- a/react/features/app/components/AbstractApp.js
+++ b/react/features/app/components/AbstractApp.js
@@ -4,6 +4,7 @@ import { I18nextProvider } from 'react-i18next';
import { Provider } from 'react-redux';
import { compose, createStore } from 'redux';
import Thunk from 'redux-thunk';
+import { AtlasKitThemeProvider } from '@atlaskit/theme';
import { i18next } from '../../base/i18n';
import {
@@ -201,9 +202,11 @@ export class AbstractApp extends Component {
return (
- {
- this._createElement(component)
- }
+
+ {
+ this._createElement(component)
+ }
+
);
diff --git a/react/features/base/dialog/components/StatelessDialog.web.js b/react/features/base/dialog/components/StatelessDialog.web.js
index 57e2e98c1..260536333 100644
--- a/react/features/base/dialog/components/StatelessDialog.web.js
+++ b/react/features/base/dialog/components/StatelessDialog.web.js
@@ -1,6 +1,7 @@
import AKButton from '@atlaskit/button';
import AKButtonGroup from '@atlaskit/button-group';
import ModalDialog from '@atlaskit/modal-dialog';
+import { AtlasKitThemeProvider } from '@atlaskit/theme';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
@@ -114,25 +115,32 @@ class StatelessDialog extends Component {
*/
render() {
return (
-
+
+ /**
+ * Enabled light theme for dialogs until all in-dialog components
+ * support dark theme.
+ */
+
+
+
);
}
diff --git a/react/features/device-selection/components/DeviceSelector.web.js b/react/features/device-selection/components/DeviceSelector.web.js
index 4961444ff..613f6952b 100644
--- a/react/features/device-selection/components/DeviceSelector.web.js
+++ b/react/features/device-selection/components/DeviceSelector.web.js
@@ -1,5 +1,5 @@
import AKDropdownMenu from '@atlaskit/dropdown-menu';
-import ExpandIcon from '@atlaskit/icon/glyph/expand';
+import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
@@ -116,7 +116,7 @@ class DeviceSelector extends Component {
{ triggerText }
-
diff --git a/react/features/dial-out/components/DialOutNumbersForm.web.js b/react/features/dial-out/components/DialOutNumbersForm.web.js
index 747f417e0..6c6fee749 100644
--- a/react/features/dial-out/components/DialOutNumbersForm.web.js
+++ b/react/features/dial-out/components/DialOutNumbersForm.web.js
@@ -1,6 +1,6 @@
-import { StatelessDropdownMenu } from '@atlaskit/dropdown-menu';
-import AKFieldText, { FieldText } from '@atlaskit/field-text';
-import ExpandIcon from '@atlaskit/icon/glyph/expand';
+import { DropdownMenuStateless as DropdownMenu } from '@atlaskit/dropdown-menu';
+import { FieldTextStateless as TextField } from '@atlaskit/field-text';
+import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
@@ -149,7 +149,7 @@ class DialOutNumbersForm extends Component {
{ _dialOutCodes ? this._createDropdownMenu(
this._formatCountryCodes(_dialOutCodes)) : null }
-
-
{ this._createDropdownTrigger(dialCode, code) }
-
+
);
}
@@ -203,10 +203,10 @@ class DialOutNumbersForm extends Component {
className = 'dial-out-flag-icon'
countryCode = { `${countryCode}` } />
{ /**
- * FIXME Replace FieldText with AtlasKit Button when an issue
+ * FIXME Replace TextField with AtlasKit Button when an issue
* with icons shrinking due to button text is fixed.
*/ }
-
-
+ size = 'small' />
);
@@ -225,7 +225,7 @@ class DialOutNumbersForm extends Component {
/**
* Transforms the passed in numbers object into an array of objects that can
- * be parsed by {@code StatelessDropdownMenu}.
+ * be parsed by {@code DropdownMenu}.
*
* @param {Object} countryCodes - The list of country codes.
* @private
@@ -259,8 +259,8 @@ class DialOutNumbersForm extends Component {
}
/**
- * This is a no-op function used to stub out FieldText's onChange in order
- * to prevent FieldText from printing prop type validation errors. FieldText
+ * This is a no-op function used to stub out TextField's onChange in order
+ * to prevent TextField from printing prop type validation errors. TextField
* is used as a trigger for the dropdown in {@code DialOutNumbersForm} to
* get the desired AtlasKit input look for the UI.
*
diff --git a/react/features/display-name/components/DisplayNamePrompt.web.js b/react/features/display-name/components/DisplayNamePrompt.web.js
index 62cef420d..ea51b7c9d 100644
--- a/react/features/display-name/components/DisplayNamePrompt.web.js
+++ b/react/features/display-name/components/DisplayNamePrompt.web.js
@@ -1,7 +1,7 @@
-import AKFieldText from '@atlaskit/field-text';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
+import { FieldTextStateless as TextField } from '@atlaskit/field-text';
import { Dialog } from '../../base/dialog';
import { translate } from '../../base/i18n';
@@ -76,7 +76,7 @@ class DisplayNamePrompt extends Component {
onSubmit = { this._onSubmit }
titleKey = 'dialog.displayNameRequired'
width = 'small'>
-
-
{ t('dialog.add') }
diff --git a/react/features/invite/components/DialInNumbersForm.js b/react/features/invite/components/DialInNumbersForm.js
index daf703689..b9749b660 100644
--- a/react/features/invite/components/DialInNumbersForm.js
+++ b/react/features/invite/components/DialInNumbersForm.js
@@ -1,7 +1,6 @@
import Button from '@atlaskit/button';
-import { StatelessDropdownMenu } from '@atlaskit/dropdown-menu';
-import { FieldText } from '@atlaskit/field-text';
-import ExpandIcon from '@atlaskit/icon/glyph/expand';
+import DropdownMenu, {
+ DropdownItem, DropdownItemGroup } from '@atlaskit/dropdown-menu';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
@@ -95,8 +94,6 @@ class DialInNumbersForm extends Component {
// Bind event handlers so they are only bound once for every instance.
this._onCopyClick = this._onCopyClick.bind(this);
- this._onDropdownTriggerInputChange
- = this._onDropdownTriggerInputChange.bind(this);
this._onOpenChange = this._onOpenChange.bind(this);
this._onSelect = this._onSelect.bind(this);
this._setCopyElement = this._setCopyElement.bind(this);
@@ -147,7 +144,7 @@ class DialInNumbersForm extends Component {
return null;
}
- const items = this._formatNumbers(numbers);
+ const items = this._renderDropdownItems(numbers);
return (
@@ -158,11 +155,12 @@ class DialInNumbersForm extends Component {
- { this._createDropdownMenu(items, selectedNumber.content) }
+
+ { this._createDropdownMenu(items, selectedNumber) }
+
{ t('dialog.copy') }
@@ -178,7 +176,7 @@ class DialInNumbersForm extends Component {
}
/**
- * Creates a {@code StatelessDropdownMenu} instance.
+ * Creates a {@code DropdownMenu} instance.
*
* @param {Array} items - The content to display within the dropdown.
* @param {string} triggerText - The text to display within the
@@ -187,116 +185,32 @@ class DialInNumbersForm extends Component {
*/
_createDropdownMenu(items, triggerText) {
return (
-
- { this._createDropdownTrigger(triggerText) }
-
+ shouldFitContainer = { true }
+ trigger = { triggerText || '' }
+ triggerButtonProps = {{
+ className: 'dropdown-button-trigger',
+ shouldFitContainer: true }}
+ triggerType = 'button'>
+
+ { items }
+
+
);
}
/**
- * Creates a React {@code Component} with a readonly HTMLInputElement as a
- * trigger for displaying the dropdown menu. The {@code Component} will also
- * display the currently selected number.
+ * Formats the region and number string.
*
- * @param {string} triggerText - Text to display in the HTMLInputElement.
+ * @param {string} region - The region string.
+ * @param {string} number - The number string.
+ * @returns {string} - The new formatted string.
* @private
- * @returns {ReactElement}
*/
- _createDropdownTrigger(triggerText) {
- return (
-
- );
- }
-
- /**
- * Detects whether the response from dialInNumbersUrl returned an array or
- * an object with dial-in numbers and calls the appropriate method to
- * transform the numbers into the format expected by
- * {@code StatelessDropdownMenu}.
- *
- * @param {Array
|Object} dialInNumbers - The numbers returned from
- * requesting dialInNumbersUrl.
- * @private
- * @returns {Array}
- */
- _formatNumbers(dialInNumbers) {
- if (Array.isArray(dialInNumbers)) {
- return this._formatNumbersArray(dialInNumbers);
- }
-
- return this._formatNumbersObject(dialInNumbers);
- }
-
- /**
- * Transforms the passed in numbers array into an array of objects that can
- * be parsed by {@code StatelessDropdownMenu}.
- *
- * @param {Array} dialInNumbers - An array with dial-in numbers to
- * display and copy.
- * @private
- * @returns {Array}
- */
- _formatNumbersArray(dialInNumbers) {
- return dialInNumbers.map(number => {
- return {
- content: number,
- number
- };
- });
- }
-
- /**
- * Transforms the passed in numbers object into an array of objects that can
- * be parsed by {@code StatelessDropdownMenu}.
- *
- * @param {Object} dialInNumbers - The numbers object to parse. The
- * expected format is an object with keys being the name of the country
- * and the values being an array of numbers as strings.
- * @private
- * @returns {Array}
- */
- _formatNumbersObject(dialInNumbers) {
- const phoneRegions = Object.keys(dialInNumbers);
-
- if (!phoneRegions.length) {
- return [];
- }
-
- const formattedNumbers = phoneRegions.map(region => {
- const numbers = dialInNumbers[region];
-
- return numbers.map(number => {
- return {
- content: `${region}: ${number}`,
- number
- };
- });
- });
-
- return Array.prototype.concat(...formattedNumbers);
+ _formatRegionNumber(region, number) {
+ return `${region}: ${number}`;
}
/**
@@ -313,7 +227,7 @@ class DialInNumbersForm extends Component {
});
const callNumber = t('invite.callNumber', {
- number: this.state.selectedNumber.number
+ number: this.state.selectedNumber
});
const stepOne = `1) ${callNumber}`;
@@ -343,18 +257,6 @@ class DialInNumbersForm extends Component {
}
}
- /**
- * This is a no-op function used to stub out FieldText's onChange in order
- * to prevent FieldText from printing prop type validation errors. FieldText
- * is used as a trigger for the dropdown in {@code DialInNumbersForm} to
- * get the desired AtlasKit input look for the UI.
- *
- * @returns {void}
- */
- _onDropdownTriggerInputChange() {
- // Intentionally left empty.
- }
-
/**
* Sets the internal state to either open or close the dropdown. If the
* dropdown is disabled, the state will always be set to false.
@@ -380,10 +282,71 @@ class DialInNumbersForm extends Component {
_onSelect(selection) {
this.setState({
isDropdownOpen: false,
- selectedNumber: selection.item
+ selectedNumber: selection
});
}
+ /**
+ * Renders a DropDownItem for the given id and text.
+ *
+ * @param {string} id - The key identifier of the DropdownItem.
+ * @param {string} text - The text to display in the dropdown item.
+ * @returns {React.Component}
+ * @private
+ */
+ _renderDropDownItem(id, text) {
+ return (
+
+ /**
+ * Arrow functions are not allowed in props, but I leave this until
+ * I figure a better way to implement the same thing.
+ */
+ /* eslint-disable react/jsx-no-bind */
+ this._onSelect(text || id) }>
+ { text }
+
+ /* eslint-disable react/jsx-no-bind */
+ );
+ }
+
+ /**
+ * Detects whether the response from dialInNumbersUrl returned an array or
+ * an object with dial-in numbers and calls the appropriate method to
+ * transform the numbers into the format expected by
+ * {@code DropdownMenu}.
+ *
+ * @param {Array|Object} dialInNumbers - The numbers returned from
+ * requesting dialInNumbersUrl.
+ * @private
+ * @returns {Array}
+ */
+ _renderDropdownItems(dialInNumbers) {
+ if (Array.isArray(dialInNumbers)) {
+ return dialInNumbers.map(number =>
+ this._renderDropDownItem(number)
+ );
+ }
+
+ const phoneRegions = Object.keys(dialInNumbers);
+
+ if (!phoneRegions.length) {
+ return [];
+ }
+
+ const dropdownItems = phoneRegions.map(region => {
+ const numbers = dialInNumbers[region];
+
+ return numbers.map(number =>
+ this._renderDropDownItem(number,
+ this._formatRegionNumber(region, number))
+ );
+ });
+
+ return Array.prototype.concat(...dropdownItems);
+ }
+
/**
* Sets the internal reference to the DOM/HTML element backing the React
* {@code Component} text area.
@@ -406,10 +369,18 @@ class DialInNumbersForm extends Component {
* @returns {void}
*/
_setDefaultNumber(dialInNumbers) {
- const numbers = this._formatNumbers(dialInNumbers);
+ let number = '';
+
+ if (Array.isArray(dialInNumbers)) {
+ number = dialInNumbers[0];
+ } else if (Object.keys(dialInNumbers).length > 0) {
+ const region = Object.keys(dialInNumbers)[0];
+
+ number = this._formatRegionNumber(region, dialInNumbers[region]);
+ }
this.setState({
- selectedNumber: numbers[0]
+ selectedNumber: number
});
}
}
diff --git a/react/features/invite/components/ShareLinkForm.js b/react/features/invite/components/ShareLinkForm.js
index 24f297701..7ae9f30ae 100644
--- a/react/features/invite/components/ShareLinkForm.js
+++ b/react/features/invite/components/ShareLinkForm.js
@@ -1,5 +1,5 @@
import Button from '@atlaskit/button';
-import { FieldText } from '@atlaskit/field-text';
+import { FieldTextStateless as TextField } from '@atlaskit/field-text';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
@@ -71,8 +71,7 @@ class ShareLinkForm extends Component {
-
{ t('dialog.copy') }
@@ -114,8 +112,8 @@ class ShareLinkForm extends Component {
}
/**
- * This is a no-op function used to stub out FieldText's onChange in order
- * to prevent FieldText from printing prop type validation errors. FieldText
+ * This is a no-op function used to stub out TextField's onChange in order
+ * to prevent TextField from printing prop type validation errors. TextField
* is used as a trigger for the dropdown in {@code ShareLinkForm} to get the
* desired AtlasKit input look for the UI.
*
diff --git a/react/features/room-lock/components/PasswordRequiredPrompt.web.js b/react/features/room-lock/components/PasswordRequiredPrompt.web.js
index c5800ebcd..77e562295 100644
--- a/react/features/room-lock/components/PasswordRequiredPrompt.web.js
+++ b/react/features/room-lock/components/PasswordRequiredPrompt.web.js
@@ -1,9 +1,8 @@
// @flow
-
-import AKFieldText from '@atlaskit/field-text';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
+import { FieldTextStateless as TextField } from '@atlaskit/field-text';
import { setPassword } from '../../base/conference';
import { Dialog } from '../../base/dialog';
@@ -75,7 +74,7 @@ class PasswordRequiredPrompt extends Component {
_renderBody() {
return (
-
+ position = { tooltipPosition }>
{ this.props.children }
@@ -151,12 +127,12 @@ class ToolbarButton extends Component {
const { dataAttr, dataInterpolate, position } = popupConfig;
children = ( // eslint-disable-line no-extra-parens
-
{ buttonComponent }
-
+
);
}
@@ -176,7 +152,6 @@ class ToolbarButton extends Component {
*/
_onClick(event) {
this.props.onClick(event);
- this.setState({ showTooltip: false });
}
/**
@@ -205,31 +180,6 @@ class ToolbarButton extends Component {
});
}
- /**
- * Hides any displayed tooltip.
- *
- * @private
- * @returns {void}
- */
- _onMouseOut(): void {
- this.setState({ showTooltip: false });
- }
-
- /**
- * Hides any displayed tooltip.
- *
- * @private
- * @returns {void}
- */
- _onMouseOver(): void {
- const { button } = this.props;
-
- this.setState({
- showTooltip: isButtonEnabled(button.buttonName)
- && !button.unclickable
- });
- }
-
/**
* Sets shortcut and tooltip for current toolbar button.
*