diff --git a/packages/grafana-ui/src/components/Button/Button.story.tsx b/packages/grafana-ui/src/components/Button/Button.story.tsx index 07d70050bac..010b9d5a10a 100644 --- a/packages/grafana-ui/src/components/Button/Button.story.tsx +++ b/packages/grafana-ui/src/components/Button/Button.story.tsx @@ -71,7 +71,7 @@ export const Variants: Story = ({ children, ...args }) => {
Inside ButtonGroup
- + @@ -65,31 +73,76 @@ export const ToolbarButton = forwardRef( } ); +function renderIcon(icon: IconName | React.ReactNode) { + if (!icon) { + return null; + } + + if (isString(icon)) { + return ; + } + + return icon; +} + const getStyles = (theme: GrafanaTheme) => { const primaryVariant = getPropertiesForVariant(theme, 'primary'); const destructiveVariant = getPropertiesForVariant(theme, 'destructive'); return { button: css` - background: ${theme.colors.bg1}; - border: 1px solid ${theme.colors.border2}; - height: ${theme.height.md}px; - padding: 0 ${theme.spacing.sm}; - color: ${theme.colors.textWeak}; - border-radius: ${theme.border.radius.sm}; - line-height: ${theme.height.md - 2}px; + label: toolbar-button; display: flex; align-items: center; + height: ${theme.height.md}px; + padding: 0 ${theme.spacing.sm}; + border-radius: ${theme.border.radius.sm}; + line-height: ${theme.height.md - 2}px; + font-weight: ${theme.typography.weight.semibold}; + border: 1px solid ${theme.colors.border2}; &:focus { outline: none; } + &[disabled], + &:disabled { + cursor: not-allowed; + opacity: 0.5; + + &:hover { + color: ${theme.colors.textWeak}; + background: ${theme.colors.bg1}; + } + } + `, + default: css` + color: ${theme.colors.textWeak}; + background-color: ${theme.colors.bg1}; + &:hover { color: ${theme.colors.text}; background: ${styleMixins.hoverColor(theme.colors.bg1, theme)}; } `, + active: css` + color: ${theme.palette.orangeDark}; + border-color: ${theme.palette.orangeDark}; + background-color: transparent; + + &:hover { + color: ${theme.colors.text}; + background: ${styleMixins.hoverColor(theme.colors.bg1, theme)}; + } + `, + primary: css` + border-color: ${primaryVariant.borderColor}; + ${primaryVariant.variantStyles} + `, + destructive: css` + border-color: ${destructiveVariant.borderColor}; + ${destructiveVariant.variantStyles} + `, narrow: css` padding: 0 ${theme.spacing.xs}; `, @@ -103,6 +156,11 @@ const getStyles = (theme: GrafanaTheme) => { `, content: css` flex-grow: 1; + display: none; + + @media only screen and (min-width: ${theme.breakpoints.md}) { + display: block; + } `, contentWithIcon: css` padding-left: ${theme.spacing.sm}; @@ -110,13 +168,5 @@ const getStyles = (theme: GrafanaTheme) => { contentWithRightIcon: css` padding-right: ${theme.spacing.xs}; `, - primaryVariant: css` - border-color: ${primaryVariant.borderColor}; - ${primaryVariant.variantStyles} - `, - destructiveVariant: css` - border-color: ${destructiveVariant.borderColor}; - ${destructiveVariant.variantStyles} - `, }; }; diff --git a/packages/grafana-ui/src/components/Button/ToolbarButtonRow.tsx b/packages/grafana-ui/src/components/Button/ToolbarButtonRow.tsx new file mode 100644 index 00000000000..001179052e7 --- /dev/null +++ b/packages/grafana-ui/src/components/Button/ToolbarButtonRow.tsx @@ -0,0 +1,35 @@ +import React, { forwardRef, HTMLAttributes } from 'react'; +import { css, cx } from 'emotion'; +import { GrafanaTheme } from '@grafana/data'; +import { useStyles } from '../../themes'; + +export interface Props extends HTMLAttributes { + className?: string; +} + +export const ToolbarButtonRow = forwardRef(({ className, children, ...rest }, ref) => { + const styles = useStyles(getStyles); + + return ( +
+ {children} +
+ ); +}); + +ToolbarButtonRow.displayName = 'ToolbarButtonRow'; + +const getStyles = (theme: GrafanaTheme) => ({ + wrapper: css` + display: flex; + + .button-group, + .toolbar-button { + margin-left: ${theme.spacing.sm}; + + &:first-child { + margin-left: 0; + } + } + `, +}); diff --git a/packages/grafana-ui/src/components/Button/index.ts b/packages/grafana-ui/src/components/Button/index.ts index bf3af6dca9b..cc6da63a2d4 100644 --- a/packages/grafana-ui/src/components/Button/index.ts +++ b/packages/grafana-ui/src/components/Button/index.ts @@ -1,3 +1,4 @@ export * from './Button'; export { ButtonGroup } from './ButtonGroup'; -export { ToolbarButton } from './ToolbarButton'; +export { ToolbarButton, ToolbarButtonVariant } from './ToolbarButton'; +export { ToolbarButtonRow } from './ToolbarButtonRow'; diff --git a/packages/grafana-ui/src/components/Dropdown/ButtonSelect.tsx b/packages/grafana-ui/src/components/Dropdown/ButtonSelect.tsx index d3c16bc5e61..785648345b6 100644 --- a/packages/grafana-ui/src/components/Dropdown/ButtonSelect.tsx +++ b/packages/grafana-ui/src/components/Dropdown/ButtonSelect.tsx @@ -1,7 +1,7 @@ import React, { useState, HTMLAttributes } from 'react'; import { PopoverContent } from '../Tooltip/Tooltip'; import { GrafanaTheme, SelectableValue } from '@grafana/data'; -import { ButtonVariant, ToolbarButton } from '../Button'; +import { ToolbarButtonVariant, ToolbarButton } from '../Button'; import { ClickOutsideWrapper } from '../ClickOutsideWrapper/ClickOutsideWrapper'; import { css } from 'emotion'; import { useStyles } from '../../themes/ThemeContext'; @@ -15,7 +15,7 @@ export interface Props extends HTMLAttributes { onChange: (item: SelectableValue) => void; tooltipContent?: PopoverContent; narrow?: boolean; - variant?: ButtonVariant; + variant?: ToolbarButtonVariant; } /** diff --git a/packages/grafana-ui/src/components/RefreshPicker/RefreshPicker.tsx b/packages/grafana-ui/src/components/RefreshPicker/RefreshPicker.tsx index 9e6b87d7fe3..af0dbc8fefe 100644 --- a/packages/grafana-ui/src/components/RefreshPicker/RefreshPicker.tsx +++ b/packages/grafana-ui/src/components/RefreshPicker/RefreshPicker.tsx @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import { SelectableValue } from '@grafana/data'; import { Tooltip } from '../Tooltip/Tooltip'; import { ButtonSelect } from '../Dropdown/ButtonSelect'; -import { ButtonGroup, ButtonVariant, ToolbarButton } from '../Button'; +import { ButtonGroup, ToolbarButton, ToolbarButtonVariant } from '../Button'; import { selectors } from '@grafana/e2e-selectors'; // Default intervals used in the refresh picker component @@ -39,7 +39,7 @@ export class RefreshPicker extends PureComponent { } }; - getVariant(): ButtonVariant | undefined { + getVariant(): ToolbarButtonVariant { if (this.props.isLive) { return 'primary'; } @@ -49,7 +49,7 @@ export class RefreshPicker extends PureComponent { if (this.props.primary) { return 'primary'; } - return undefined; + return 'default'; } render() { @@ -67,7 +67,7 @@ export class RefreshPicker extends PureComponent { return (
- + { justify-content: space-between; cursor: pointer; padding-right: 0; + line-height: ${theme.spacing.formInputHeight - 2}px; ${getFocusStyle(theme)}; ` ), diff --git a/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.story.tsx b/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.story.tsx index 90b4b5ba15c..a08fd639a8c 100644 --- a/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.story.tsx +++ b/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.story.tsx @@ -7,6 +7,8 @@ import { UseState } from '../../utils/storybook/UseState'; import { withCenteredStory } from '../../utils/storybook/withCenteredStory'; import { dateTime, TimeRange, DefaultTimeZone, TimeZone, isDateTime } from '@grafana/data'; import { TimeRangePickerProps } from './TimeRangePicker'; +import { DashboardStoryCanvas } from '../../utils/storybook/DashboardStoryCanvas'; +import { HorizontalGroup, VerticalGroup } from '../Layout/Layout'; export default { title: 'Pickers and Editors/TimePickers/TimeRangePicker', @@ -24,49 +26,58 @@ const getComponentWithState = (initialState: State, props: TimeRangePickerProps) {(state, updateValue) => { return ( - <> - { - action('onChange fired')(value); - updateValue({ - ...state, - value, - history: - isDateTime(value.raw.from) && isDateTime(value.raw.to) ? [...state.history, value] : state.history, - }); - }} - onChangeTimeZone={(timeZone) => { - action('onChangeTimeZone fired')(timeZone); - updateValue({ - ...state, - timeZone, - }); - }} - onMoveBackward={() => { - action('onMoveBackward fired')(); - }} - onMoveForward={() => { - action('onMoveForward fired')(); - }} - onZoom={() => { - action('onZoom fired')(); - }} - /> - - + + + + { + action('onChange fired')(value); + updateValue({ + ...state, + value, + history: + isDateTime(value.raw.from) && isDateTime(value.raw.to) + ? [...state.history, value] + : state.history, + }); + }} + onChangeTimeZone={(timeZone) => { + action('onChangeTimeZone fired')(timeZone); + updateValue({ + ...state, + timeZone, + }); + }} + onMoveBackward={() => { + action('onMoveBackward fired')(); + }} + onMoveForward={() => { + action('onMoveForward fired')(); + }} + onZoom={() => { + action('onZoom fired')(); + }} + /> + +
+
+
+ +
+
); }}
diff --git a/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.tsx b/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.tsx index 017a8f0ebfd..457075c7efd 100644 --- a/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.tsx +++ b/packages/grafana-ui/src/components/TimePicker/TimeRangePicker.tsx @@ -1,10 +1,9 @@ // Libraries import React, { PureComponent, memo, FormEvent } from 'react'; -import { css, cx } from 'emotion'; +import { css } from 'emotion'; // Components import { Tooltip } from '../Tooltip/Tooltip'; -import { Icon } from '../Icon/Icon'; import { TimePickerContent } from './TimeRangePicker/TimePickerContent'; import { ClickOutsideWrapper } from '../ClickOutsideWrapper/ClickOutsideWrapper'; @@ -17,44 +16,7 @@ import { isDateTime, rangeUtil, GrafanaTheme, dateTimeFormat, timeZoneFormatUser import { TimeRange, TimeZone, dateMath } from '@grafana/data'; import { Themeable } from '../../types'; import { otherOptions, quickOptions } from './rangeOptions'; - -const getStyles = stylesFactory((theme: GrafanaTheme) => { - return { - container: css` - position: relative; - display: flex; - flex-flow: column nowrap; - `, - buttons: css` - display: flex; - `, - caretIcon: css` - margin-left: ${theme.spacing.xs}; - `, - clockIcon: css` - margin-left: ${theme.spacing.xs}; - margin-right: ${theme.spacing.xs}; - `, - noRightBorderStyle: css` - label: noRightBorderStyle; - border-right: 0; - `, - }; -}); - -const getLabelStyles = stylesFactory((theme: GrafanaTheme) => { - return { - container: css` - display: inline-block; - `, - utc: css` - color: ${theme.palette.orange}; - font-size: 75%; - padding: 3px; - font-weight: ${theme.typography.weight.semibold}; - `, - }; -}); +import { ButtonGroup, ToolbarButton } from '../Button'; export interface TimeRangePickerProps extends Themeable { hideText?: boolean; @@ -114,61 +76,47 @@ export class UnthemedTimeRangePicker extends PureComponent -
- {hasAbsolute && ( - - )} -
- } placement="bottom"> - - - {isOpen && ( - - - - )} -
+ + {hasAbsolute && } - {timeSyncButton} + } placement="bottom"> + + + + + {isOpen && ( + + + + )} - {hasAbsolute && ( - - )} + {timeSyncButton} - - - -
-
+ {hasAbsolute && } + + + + +
); } } @@ -224,3 +172,29 @@ const formattedRange = (value: TimeRange, timeZone?: TimeZone) => { }; export const TimeRangePicker = withTheme(UnthemedTimeRangePicker); + +const getStyles = stylesFactory((theme: GrafanaTheme) => { + return { + container: css` + position: relative; + display: flex; + vertical-align: middle; + `, + }; +}); + +const getLabelStyles = stylesFactory((theme: GrafanaTheme) => { + return { + container: css` + display: inline-block; + `, + utc: css` + color: ${theme.palette.orange}; + font-size: ${theme.typography.size.sm}; + padding-left: 6px; + line-height: 28px; + vertical-align: bottom; + font-weight: ${theme.typography.weight.semibold}; + `, + }; +}); diff --git a/packages/grafana-ui/src/components/TimePicker/TimeRangePicker/TimePickerContent.tsx b/packages/grafana-ui/src/components/TimePicker/TimeRangePicker/TimePickerContent.tsx index 2b410286d6f..3b3e3214c5a 100644 --- a/packages/grafana-ui/src/components/TimePicker/TimeRangePicker/TimePickerContent.tsx +++ b/packages/grafana-ui/src/components/TimePicker/TimeRangePicker/TimePickerContent.tsx @@ -91,6 +91,7 @@ const getFullScreenStyles = stylesFactory((theme: GrafanaTheme, hideQuickRanges? display: flex; flex-direction: column; justify-content: flex-end; + padding-top: ${theme.spacing.sm}; `, }; }); diff --git a/packages/grafana-ui/src/components/index.ts b/packages/grafana-ui/src/components/index.ts index 9511b05b21e..e6062c01aef 100644 --- a/packages/grafana-ui/src/components/index.ts +++ b/packages/grafana-ui/src/components/index.ts @@ -132,7 +132,7 @@ export { FieldConfigItemHeaderTitle } from './FieldConfigs/FieldConfigItemHeader // Next-gen forms export { Form } from './Forms/Form'; export { InputControl } from './InputControl'; -export { Button, LinkButton, ButtonVariant, ToolbarButton, ButtonGroup } from './Button'; +export { Button, LinkButton, ButtonVariant, ToolbarButton, ButtonGroup, ToolbarButtonRow } from './Button'; export { ValuePicker } from './ValuePicker/ValuePicker'; export { fieldMatchersUI } from './MatchersUI/fieldMatchersUI'; export { getFormStyles } from './Forms/getFormStyles'; diff --git a/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx b/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx index 49dd693756d..6923444507c 100644 --- a/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx +++ b/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx @@ -16,15 +16,6 @@ import { TimePickerWithHistory } from 'app/core/components/TimePicker/TimePicker import { getTimeSrv } from 'app/features/dashboard/services/TimeSrv'; import { appEvents } from 'app/core/core'; -const getStyles = stylesFactory((theme: GrafanaTheme) => { - return { - container: css` - position: relative; - display: flex; - `, - }; -}); - export interface Props extends Themeable { dashboard: DashboardModel; location: LocationState; @@ -126,3 +117,12 @@ class UnthemedDashNavTimeControls extends Component { } export const DashNavTimeControls = withTheme(UnthemedDashNavTimeControls); + +const getStyles = stylesFactory((theme: GrafanaTheme) => { + return { + container: css` + position: relative; + display: flex; + `, + }; +}); diff --git a/public/app/features/explore/ExploreToolbar.tsx b/public/app/features/explore/ExploreToolbar.tsx index 12bd8a9d927..90d34da3da1 100644 --- a/public/app/features/explore/ExploreToolbar.tsx +++ b/public/app/features/explore/ExploreToolbar.tsx @@ -1,12 +1,11 @@ import React, { PureComponent } from 'react'; import { connect } from 'react-redux'; import { hot } from 'react-hot-loader'; -import memoizeOne from 'memoize-one'; import classNames from 'classnames'; import { css } from 'emotion'; import { ExploreId, ExploreItemState } from 'app/types/explore'; -import { Icon, IconButton, SetInterval, Tooltip } from '@grafana/ui'; +import { Icon, IconButton, SetInterval, ToolbarButton, ToolbarButtonRow, Tooltip } from '@grafana/ui'; import { DataSourceInstanceSettings, RawTimeRange, TimeRange, TimeZone } from '@grafana/data'; import { DataSourcePicker } from 'app/core/components/Select/DataSourcePicker'; import { StoreState } from 'app/types/store'; @@ -18,23 +17,11 @@ import { getTimeZone } from '../profile/state/selectors'; import { updateTimeZoneForSession } from '../profile/state/reducers'; import { ExploreTimeControls } from './ExploreTimeControls'; import { LiveTailButton } from './LiveTailButton'; -import { ResponsiveButton } from './ResponsiveButton'; import { RunButton } from './RunButton'; import { LiveTailControls } from './useLiveTailControls'; import { cancelQueries, clearQueries, runQueries } from './state/query'; import ReturnToDashboardButton from './ReturnToDashboardButton'; -const getStyles = memoizeOne(() => { - return { - liveTailButtons: css` - margin-left: 10px; - @media (max-width: 1110px) { - margin-left: 4px; - } - `, - }; -}); - interface OwnProps { exploreId: ExploreId; onChangeTime: (range: RawTimeRange, changedByScanner?: boolean) => void; @@ -117,7 +104,6 @@ export class UnConnectedExploreToolbar extends PureComponent { onChangeTimeZone, } = this.props; - const styles = getStyles(); const showSmallDataSourcePicker = (splitted ? containerWidth < 700 : containerWidth < 800) || false; const showSmallTimePicker = splitted || containerWidth < 1210; @@ -163,31 +149,29 @@ export class UnConnectedExploreToolbar extends PureComponent {
) : null} - - {exploreId === 'left' && !splitted ? ( -
- + + + {exploreId === 'left' && !splitted ? ( + split()} icon="columns" - iconClassName="icon-margin-right" disabled={isLive} - /> -
- ) : null} -
+ > + Split + + ) : null} + - + createAndCopyShortLink(window.location.href)} /> -
- {!isLive && ( -
+ + {!isLive && ( { hideText={showSmallTimePicker} onChangeTimeZone={onChangeTimeZone} /> -
- )} + )} + + {!isLive && ( + + Clear all + + )} - {!isLive && ( -
- -
- )} -
{ onRun={this.onRunQuery} showDropdown={!isLive} /> - {refreshInterval && } -
- {hasLiveOption && ( -
+ {refreshInterval && } + + {hasLiveOption && ( {(controls) => ( { /> )} -
- )} + )} + diff --git a/public/app/features/explore/LiveTailButton.tsx b/public/app/features/explore/LiveTailButton.tsx index 64cdfc8ad32..429874cec1c 100644 --- a/public/app/features/explore/LiveTailButton.tsx +++ b/public/app/features/explore/LiveTailButton.tsx @@ -1,27 +1,16 @@ import React from 'react'; -import classNames from 'classnames'; import tinycolor from 'tinycolor2'; import { css } from 'emotion'; import { CSSTransition } from 'react-transition-group'; -import { useTheme, Tooltip, stylesFactory, selectThemeVariant, Icon } from '@grafana/ui'; +import { useTheme, Tooltip, stylesFactory, selectThemeVariant, ButtonGroup, ToolbarButton } from '@grafana/ui'; import { GrafanaTheme } from '@grafana/data'; -//Components -import { ResponsiveButton } from './ResponsiveButton'; - const getStyles = stylesFactory((theme: GrafanaTheme) => { const bgColor = selectThemeVariant({ light: theme.palette.gray5, dark: theme.palette.dark1 }, theme.type); const orangeLighter = tinycolor(theme.palette.orangeDark).lighten(10).toString(); const pulseTextColor = tinycolor(theme.palette.orangeDark).desaturate(90).toString(); + return { - noRightBorderStyle: css` - label: noRightBorderStyle; - border-right: 0; - `, - liveButton: css` - label: liveButton; - margin: 0; - `, isLive: css` label: isLive; border-color: ${theme.palette.orangeDark}; @@ -107,25 +96,25 @@ export function LiveTailButton(props: LiveTailButtonProps) { const { start, pause, resume, isLive, isPaused, stop, splitted } = props; const theme = useTheme(); const styles = getStyles(theme); - + const buttonVariant = isLive && !isPaused ? 'active' : 'default'; const onClickMain = isLive ? (isPaused ? resume : pause) : start; return ( - <> - Pause the live stream : <>Live stream your logs} placement="bottom"> - + Pause the live stream : <>Start live stream your logs} + placement="bottom" + > + + > + {isLive && isPaused ? 'Paused' : 'Live'} + + -
- Stop and exit the live stream} placement="bottom"> - - -
+ Stop and exit the live stream} placement="bottom"> + +
- + ); } diff --git a/public/app/features/explore/ResponsiveButton.tsx b/public/app/features/explore/ResponsiveButton.tsx deleted file mode 100644 index 86c721c2ec1..00000000000 --- a/public/app/features/explore/ResponsiveButton.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import React, { forwardRef } from 'react'; -import { IconName, Icon } from '@grafana/ui'; - -export enum IconSide { - left = 'left', - right = 'right', -} - -interface Props extends React.HTMLAttributes { - splitted: boolean; - title: string; - onClick?: () => void; - buttonClassName?: string; - icon?: IconName; - iconClassName?: string; - iconSide?: IconSide; - disabled?: boolean; -} - -function formatBtnTitle(title: string, iconSide?: string): string { - return iconSide === IconSide.left ? '\xA0' + title : iconSide === IconSide.right ? title + '\xA0' : title; -} - -export const ResponsiveButton = forwardRef((props, ref) => { - const defaultProps = { - iconSide: IconSide.left, - }; - - props = { ...defaultProps, ...props }; - const { - title, - onClick, - buttonClassName, - icon, - iconClassName, - splitted, - iconSide, - disabled, - ...divElementProps - } = props; - - return ( -
- -
- ); -}); - -ResponsiveButton.displayName = 'ResponsiveButton'; diff --git a/public/app/features/explore/ReturnToDashboardButton.tsx b/public/app/features/explore/ReturnToDashboardButton.tsx index 9d079842d6d..faacc252db6 100644 --- a/public/app/features/explore/ReturnToDashboardButton.tsx +++ b/public/app/features/explore/ReturnToDashboardButton.tsx @@ -66,7 +66,7 @@ export const UnconnectedReturnToDashboardButton: FC = ({ }; return ( - + returnToPanel()}> diff --git a/public/app/features/explore/TimeSyncButton.tsx b/public/app/features/explore/TimeSyncButton.tsx index 88e63456942..87cfe5bc4f4 100644 --- a/public/app/features/explore/TimeSyncButton.tsx +++ b/public/app/features/explore/TimeSyncButton.tsx @@ -1,6 +1,5 @@ import React from 'react'; -import classNames from 'classnames'; -import { Tooltip, Icon } from '@grafana/ui'; +import { Tooltip, ToolbarButton } from '@grafana/ui'; interface TimeSyncButtonProps { isSynced: boolean; @@ -18,15 +17,12 @@ export function TimeSyncButton(props: TimeSyncButtonProps) { return ( - + onClick={onClick} + /> ); } diff --git a/public/sass/pages/_explore.scss b/public/sass/pages/_explore.scss index 2987ce6e541..19d30a3fd01 100644 --- a/public/sass/pages/_explore.scss +++ b/public/sass/pages/_explore.scss @@ -114,33 +114,7 @@ } } -@media only screen and (max-width: 1545px) { - .explore-toolbar.splitted { - .timepicker-rangestring { - display: none; - } - } -} - -@media only screen and (max-width: 1400px) { - .explore-toolbar.splitted { - .explore-toolbar-content-item { - .navbar-button { - span { - display: none; - } - } - } - } -} - @media only screen and (max-width: 1070px) { - .timepicker { - .timepicker-rangestring { - display: none; - } - } - .explore-toolbar-content { justify-content: flex-start; } @@ -152,16 +126,6 @@ } } -@media only screen and (max-width: 897px) { - .explore-toolbar { - .explore-toolbar-content-item { - .navbar-button span { - display: none; - } - } - } -} - @media only screen and (max-width: 810px) { .explore-toolbar { .explore-toolbar-content-item { @@ -173,29 +137,6 @@ } } -.explore-icon-align { - .navbar-button { - i { - position: relative; - top: -1px; - - @media only screen and (max-width: 1320px) { - margin: 0 -3px; - } - } - } -} - -.explore-toolbar.splitted { - .explore-icon-align { - .navbar-button { - i { - margin: 0 -3px; - } - } - } -} - .explore { display: flex; flex: 1 1 auto;