diff --git a/app/extensions/brave/img/tabs/close_btn.svg b/app/extensions/brave/img/tabs/close_btn.svg
deleted file mode 100644
index 926636ea455..00000000000
--- a/app/extensions/brave/img/tabs/close_btn.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/renderer/components/styles/theme.js b/app/renderer/components/styles/theme.js
index 37055c5cb7c..01d5496a469 100644
--- a/app/renderer/components/styles/theme.js
+++ b/app/renderer/components/styles/theme.js
@@ -146,6 +146,18 @@
borderWidth: 1,
color: '#333',
+ closeButton: {
+ background: 'transparent',
+ borderRadius: '2px',
+ active: {
+ background: '#cb2c00'
+ },
+ hover: {
+ color: 'white',
+ background: '#fd4f01'
+ }
+ },
+
hover: {
background: '#dbdddf',
active: {
diff --git a/app/renderer/components/tabs/content/closeTabIcon.js b/app/renderer/components/tabs/content/closeTabIcon.js
index a2e5558ee3e..d216e4596d9 100644
--- a/app/renderer/components/tabs/content/closeTabIcon.js
+++ b/app/renderer/components/tabs/content/closeTabIcon.js
@@ -4,11 +4,10 @@
const React = require('react')
const ReactDOM = require('react-dom')
-const {StyleSheet} = require('aphrodite/no-important')
+const {StyleSheet, css} = require('aphrodite/no-important')
// Components
const ReduxComponent = require('../../reduxComponent')
-const TabIcon = require('./tabIcon')
// State helpers
const tabState = require('../../../../common/state/tabState')
@@ -21,8 +20,6 @@ const globalStyles = require('../../styles/global')
const {theme} = require('../../styles/theme')
const {opacityIncreaseElementKeyframes} = require('../../styles/animations')
-const closeTabSvg = require('../../../../extensions/brave/img/tabs/close_btn.svg')
-
class CloseTabIcon extends React.Component {
constructor (props) {
super(props)
@@ -85,53 +82,78 @@ class CloseTabIcon extends React.Component {
}
render () {
- if (this.props.isPinned || !this.props.showCloseIcon) {
+ if (this.props.isPinned || !this.props.showCloseIcon) { // <-- comment out to always show, in order to view in inspector
return null
}
- return
+ >
+
+
}
}
const styles = StyleSheet.create({
- icon_close: {
+ closeIcon: {
+ '--close-line-color': 'var(--tab-color)',
+ '--close-transit-duration': theme.tab.transitionDurationOut,
+ '--close-transit-timing': theme.tab.transitionEasingOut,
+ boxSizing: 'border-box',
+ alignSelf: 'center',
+ position: 'relative',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ borderRadius: theme.tab.closeButton.borderRadius,
+ background: theme.tab.closeButton.background,
+ transition: 'background var(--close-transit-duration) var(--close-transit-timing)',
marginRight: globalStyles.spacing.defaultTabMargin,
marginBottom: 'var(--tab-contents-shim-bottom)',
- backgroundImage: `url(${closeTabSvg})`,
-
- // Override default properties
- backgroundSize: globalStyles.spacing.closeIconSize,
width: globalStyles.spacing.closeIconSize,
height: globalStyles.spacing.closeIconSize,
-
- // mask icon to gray to avoid calling another icon on hover
- transition: 'filter 120ms ease',
- filter: theme.tab.icon.close.filter,
-
+ zIndex: globalStyles.zindex.zindexTabsThumbnail,
':hover': {
- filter: 'none'
+ '--close-line-color': theme.tab.closeButton.hover.color,
+ background: theme.tab.closeButton.hover.background,
+ '--close-transit-duration': theme.tab.transitionDurationIn,
+ '--close-transit-timing': theme.tab.transitionEasingIn
+ },
+ ':active': {
+ background: theme.tab.closeButton.active.background,
+ '--close-transit-duration': theme.tab.transitionDurationIn,
+ '--close-transit-timing': theme.tab.transitionEasingIn
}
},
- icon_close_centered: {
+ closeIcon__graphic: {
+ flex: 1
+ },
+
+ closeIcon__line: {
+ transition: 'stroke var(--close-transit-duration) var(--close-transit-timing)',
+ stroke: 'var(--close-line-color)'
+ },
+
+ closeIcon_centered: {
position: 'absolute',
- left: 0,
+ left: `calc(50% - (${globalStyles.spacing.closeIconSize} / 2))`,
right: 0,
- top: 0,
+ top: `calc(50% - (${globalStyles.spacing.closeIconSize} / 2))`,
bottom: 0,
- margin: 'auto'
+ margin: 0
}
})
diff --git a/test/unit/app/renderer/components/tabs/content/closeTabIconTest.js b/test/unit/app/renderer/components/tabs/content/closeTabIconTest.js
index 76388f87a67..4c091b8b97c 100644
--- a/test/unit/app/renderer/components/tabs/content/closeTabIconTest.js
+++ b/test/unit/app/renderer/components/tabs/content/closeTabIconTest.js
@@ -64,7 +64,6 @@ describe('Tabs content - CloseTabIcon', function () {
useCleanCache: true
})
mockery.registerMock('electron', fakeElectron)
- mockery.registerMock('../../../../extensions/brave/img/tabs/close_btn.svg')
windowStore = require('../../../../../../../js/stores/windowStore')
appStore = require('../../../../../../../js/stores/appStoreRenderer')
CloseTabIcon = require('../../../../../../../app/renderer/components/tabs/content/closeTabIcon')