Updated the default class name

• Updated:
- the default class name
This commit is contained in:
mgabdev 2020-08-18 15:49:11 -05:00
parent d5ad398d53
commit 176ddc22f2
174 changed files with 812 additions and 812 deletions

View File

@ -20,21 +20,21 @@ class AboutSidebar extends ImmutablePureComponent {
} = this.props
return (
<header role='banner' className={[_s._, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
<header role='banner' className={[_s.d, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
<ResponsiveClassesComponent
classNames={[_s._, _s.w240PX].join(' ')}
classNamesXS={[_s._, _s.w100PC].join(' ')}
classNames={[_s.d, _s.w240PX].join(' ')}
classNamesXS={[_s.d, _s.w100PC].join(' ')}
>
<ResponsiveClassesComponent
classNames={[_s._, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}
classNamesXS={[_s._, _s.px15].join(' ')}
classNames={[_s.d, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}
classNamesXS={[_s.d, _s.px15].join(' ')}
>
<ResponsiveClassesComponent
classNames={[_s._, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}
classNamesXS={[_s._, _s.aiStart, _s.w100PC, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
classNames={[_s.d, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}
classNamesXS={[_s.d, _s.aiStart, _s.w100PC, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
>
<div className={[_s._, _s.w100PC].join(' ')}>
<div className={[_s._, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
<div className={[_s.d, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
{
me && <BackButton icon='arrow-left' toHome />
}
@ -44,7 +44,7 @@ class AboutSidebar extends ImmutablePureComponent {
</div>
</div>
<nav aria-label='Primary' role='navigation' className={[_s._, _s.w100PC, _s.mb15].join(' ')}>
<nav aria-label='Primary' role='navigation' className={[_s.d, _s.w100PC, _s.mb15].join(' ')}>
<SidebarSectionTitle>{intl.formatMessage(messages.menu)}</SidebarSectionTitle>
{
items.map((menuItem, i) => (

View File

@ -94,29 +94,29 @@ class Account extends ImmutablePureComponent {
const content = { __html: account.get('note_emojified') }
return (
<div className={[_s._, _s.px15, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary, _s.bgSubtle_onHover].join(' ')}>
<div className={[_s._, _s.flexRow, _s.aiStart].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10, _s.borderBottom1PX, _s.borderColorSecondary, _s.bgSubtle_onHover].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiStart].join(' ')}>
<NavLink
className={[_s._, _s.noUnderline].join(' ')}
className={[_s.d, _s.noUnderline].join(' ')}
title={account.get('acct')}
to={`/${account.get('acct')}`}
>
<Avatar account={account} size={avatarSize} />
</NavLink>
<div className={[_s._, _s.px10, _s.overflowHidden, _s.flexNormal].join(' ')}>
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.px10, _s.overflowHidden, _s.flexNormal].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<NavLink
title={account.get('acct')}
to={`/${account.get('acct')}`}
className={[_s._, _s.aiStart, _s.pt2, _s.pr5, _s.noUnderline, _s.overflowHidden, _s.flexNormal].join(' ')}
className={[_s.d, _s.aiStart, _s.pt2, _s.pr5, _s.noUnderline, _s.overflowHidden, _s.flexNormal].join(' ')}
>
<DisplayName account={account} isMultiline={compact} />
{!compact && actionButton}
</NavLink>
<div className={[_s._].join(' ')}>
<div className={[_s.d].join(' ')}>
{dismissBtn}
{compact && actionButton}
</div>

View File

@ -14,7 +14,7 @@ class AutosuggestAccount extends ImmutablePureComponent {
return (
<div
className={[_s._, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
className={[_s.d, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}
title={account.get('acct')}
>
<Avatar account={account} size={26} />

View File

@ -22,7 +22,7 @@ class AutosuggestEmoji extends React.PureComponent {
}
return (
<div className={[_s._, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
<div className={[_s.d, _s.cursorPointer, _s.bgSubtle_onHover, _s.flexRow, _s.py10, _s.aiCenter, _s.px10, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
<img className='emojione' src={url} alt={emoji.native || emoji.colons} />
<Text className={_s.ml10}>
{emoji.colons}

View File

@ -194,7 +194,7 @@ class AutosuggestTextbox extends ImmutablePureComponent {
const { suggestionsHidden } = this.state
const textareaContainerClasses = CX({
_: 1,
d: 1,
maxW100PC: 1,
flexGrow1: small,
jcCenter: small,
@ -202,7 +202,7 @@ class AutosuggestTextbox extends ImmutablePureComponent {
})
const textareaClasses = CX({
_: 1,
d: 1,
font: 1,
wrap: 1,
resizeNone: 1,
@ -272,7 +272,7 @@ class AutosuggestTextbox extends ImmutablePureComponent {
{
!small && !suggestionsHidden && !suggestions.isEmpty() &&
<div className={[_s._].join(' ')}>
<div className={[_s.d].join(' ')}>
{suggestions.map(this.renderSuggestion)}
</div>
}

View File

@ -89,7 +89,7 @@ class Avatar extends ImmutablePureComponent {
const isPro = !!account ? account.get('is_pro') : false
const alt = !account ? '' : `${account.get('display_name')} ${isPro ? '(PRO)' : ''}`.trim()
const classes = [_s._, _s.circle, _s.overflowHidden]
const classes = [_s.d, _s.circle, _s.overflowHidden]
if (isPro) {
classes.push(_s.boxShadowAvatarPro)
}

View File

@ -35,7 +35,7 @@ class BackButton extends React.PureComponent {
mr5: 1,
cursorPointer: 1,
outlineNone: 1,
_: 1,
d: 1,
jcCenter: 1,
})

View File

@ -10,7 +10,7 @@ class Block extends React.PureComponent {
const { children } = this.props
return (
<div className={[_s._, _s.boxShadowBlock, _s.bgPrimary, _s.overflowHidden, _s.radiusSmall].join(' ')}>
<div className={[_s.d, _s.boxShadowBlock, _s.bgPrimary, _s.overflowHidden, _s.radiusSmall].join(' ')}>
{children}
</div>
)

View File

@ -8,8 +8,8 @@ class BlockHeading extends React.PureComponent {
const { title } = this.props
return (
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<Heading size='h2'>{title}</Heading>
</div>
</div>

View File

@ -24,14 +24,14 @@ class BundleColumnError extends React.PureComponent {
const { intl: { formatMessage } } = this.props
return (
<div className={[_s._, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s._, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
<div className={[_s._, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
<div className={[_s.d, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
<div className={[_s.d, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<h1 className={[_s._, _s.mr15].join(' ')}>
<Button href='/' isText aria-label='Gab' className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
<h1 className={[_s.d, _s.mr15].join(' ')}>
<Button href='/' isText aria-label='Gab' className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
<Icon id='logo' className={_s.cWhite} />
</Button>
</h1>
@ -40,20 +40,20 @@ class BundleColumnError extends React.PureComponent {
</div>
</div>
<div className={[_s._, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
<Icon id='warning' size='28px' className={[_s._, _s.cSecondary, _s.mb15].join(' ')} />
<Icon id='warning' size='28px' className={[_s.d, _s.cSecondary, _s.mb15].join(' ')} />
<Text size='medium' className={_s.pt15}>
{formatMessage(messages.body)}
</Text>
<div className={[_s._, _s.py10, _s.my10].join(' ')}>
<div className={[_s.d, _s.py10, _s.my10].join(' ')}>
<Text>
{APP_NAME} ({version})
</Text>
<div className={[_s._, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
<Button
isText
href={source_url}
@ -77,7 +77,7 @@ class BundleColumnError extends React.PureComponent {
<Divider />
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<Button
icon='repost'
onClick={this.handleRetry} size={64}

View File

@ -109,7 +109,7 @@ class Button extends React.PureComponent {
// Style the component according to props
const classes = noClasses ? className : cx(className, {
_: 1,
d: 1,
noUnderline: 1,
font: 1,
cursorPointer: 1,

View File

@ -19,7 +19,7 @@ class CharacterCounter extends React.PureComponent {
const dashoffset = circumference * (1 - diff)
return (
<div className={[_s._, _s.mr10, _s.jcCenter, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.mr10, _s.jcCenter, _s.aiCenter].join(' ')}>
<svg
width={actualRadius * 2}
height={actualRadius * 2}

View File

@ -12,7 +12,7 @@ class ColumnIndicator extends React.PureComponent {
const title = type !== 'error' && !message ? intl.formatMessage(messages[type]) : message
return (
<div className={[_s._, _s.w100PC, _s.jcCenter, _s.aiCenter, _s.py15].join(' ')}>
<div className={[_s.d, _s.w100PC, _s.jcCenter, _s.aiCenter, _s.py15].join(' ')}>
<Icon id={type} size='30px' />
{
type !== 'loading' &&

View File

@ -85,7 +85,7 @@ class Comment extends ImmutablePureComponent {
}
const contentClasses = CX({
_: 1,
d: 1,
px10: 1,
pt5: 1,
pb10: 1,
@ -95,19 +95,19 @@ class Comment extends ImmutablePureComponent {
})
return (
<div className={[_s._, _s.px15, _s.mb10, _s.py5].join(' ')} data-comment={status.get('id')}>
<div className={_s._} style={style}>
<div className={[_s.d, _s.px15, _s.mb10, _s.py5].join(' ')} data-comment={status.get('id')}>
<div className={_s.d} style={style}>
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<NavLink
to={`/${status.getIn(['account', 'acct'])}`}
title={status.getIn(['account', 'acct'])}
className={[_s._, _s.mr10, _s.pt5].join(' ')}
className={[_s.d, _s.mr10, _s.pt5].join(' ')}
>
<Avatar account={status.get('account')} size={32} />
</NavLink>
<div className={[_s._, _s.flexShrink1, _s.maxW100PC42PX].join(' ')}>
<div className={[_s.d, _s.flexShrink1, _s.maxW100PC42PX].join(' ')}>
<div className={contentClasses}>
<CommentHeader
ancestorAccountId={ancestorAccountId}
@ -122,7 +122,7 @@ class Comment extends ImmutablePureComponent {
isComment
collapsable
/>
<div className={[_s._, _s.mt5].join(' ')}>
<div className={[_s.d, _s.mt5].join(' ')}>
<StatusMedia
isComment
status={status}
@ -136,7 +136,7 @@ class Comment extends ImmutablePureComponent {
</div>
</div>
<div className={[_s._, _s.flexRow, _s.mt5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.mt5].join(' ')}>
<CommentButton
title={intl.formatMessage(status.get('favourited') ? messages.unlike : messages.like)}
onClick={this.handleOnFavorite}

View File

@ -43,11 +43,11 @@ class CommentHeader extends ImmutablePureComponent {
const myComment = status.getIn(['account', 'id']) === me
return (
<div className={[_s._, _s.aiStart, _s.py2, _s.maxW100PC, _s.flexGrow1].join(' ')}>
<div className={[_s.d, _s.aiStart, _s.py2, _s.maxW100PC, _s.flexGrow1].join(' ')}>
<div className={[_s._, _s.flexRow, _s.flexWrap, _s.overflowHidden, _s.w100PC, _s.maxW100PC, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.flexWrap, _s.overflowHidden, _s.w100PC, _s.maxW100PC, _s.aiCenter].join(' ')}>
<NavLink
className={[_s._, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
className={[_s.d, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
to={`/${status.getIn(['account', 'acct'])}`}
title={status.getIn(['account', 'acct'])}
>
@ -60,7 +60,7 @@ class CommentHeader extends ImmutablePureComponent {
{
isOwner &&
<div className={[_s._, _s.aiCenter, _s.ml5].join(' ')}>
<div className={[_s.d, _s.aiCenter, _s.ml5].join(' ')}>
<span className={_s.visiblyHidden}>
{intl.formatMessage(messages.original)}
</span>

View File

@ -41,7 +41,7 @@ class CommentList extends ImmutablePureComponent {
</Wrapper>
{
size > 0 && size > max && commentsLimited &&
<div className={[_s._, _s.flexRow, _s.px15, _s.pb5, _s.mb10, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.px15, _s.pb5, _s.mb10, _s.aiCenter].join(' ')}>
<Button
isText
backgroundColor='none'
@ -52,7 +52,7 @@ class CommentList extends ImmutablePureComponent {
View more comments
</Text>
</Button>
<div className={[_s._, _s.mlAuto].join(' ')}>
<div className={[_s.d, _s.mlAuto].join(' ')}>
<Text color='tertiary'>
{max}
&nbsp;of&nbsp;

View File

@ -238,7 +238,7 @@ class Composer extends React.PureComponent {
const { editorState } = this.state
const editorContainerClasses = cx({
_: 1,
d: 1,
cursorText: 1,
text: 1,
cPrimary: 1,
@ -251,7 +251,7 @@ class Composer extends React.PureComponent {
})
return (
<div className={_s._}>
<div className={_s.d}>
{
!small && isPro &&

View File

@ -80,7 +80,7 @@ class DisplayName extends ImmutablePureComponent {
if (!account) return null
const containerClassName = CX({
_: 1,
d: 1,
maxW100PC: 1,
aiCenter: !isMultiline,
flexRow: !isMultiline,
@ -147,7 +147,7 @@ class DisplayName extends ImmutablePureComponent {
onMouseLeave={noHover ? undefined : this.handleMouseLeave}
ref={this.setRef}
>
<span className={[_s._, _s.flexRow, _s.aiCenter, _s.maxW100PC].join(' ')}>
<span className={[_s.d, _s.flexRow, _s.aiCenter, _s.maxW100PC].join(' ')}>
<bdi className={[_s.text, _s.whiteSpaceNoWrap, _s.textOverflowEllipsis].join(' ')}>
<strong
className={displayNameClasses}
@ -160,7 +160,7 @@ class DisplayName extends ImmutablePureComponent {
</bdi>
{
account.get('is_verified') &&
<Icon id='verified' size={`${iconSize}px`} className={[_s.ml5, _s._].join(' ')} />
<Icon id='verified' size={`${iconSize}px`} className={[_s.ml5, _s.d].join(' ')} />
}
</span>
{
@ -169,7 +169,7 @@ class DisplayName extends ImmutablePureComponent {
@{account.get('acct')}
{
!noRelationship && !!relationshipLabel &&
<span className={[_s._, _s.ml5, _s.jcCenter].join(' ')}>
<span className={[_s.d, _s.ml5, _s.jcCenter].join(' ')}>
<Text
size='extraSmall'
isBadge

View File

@ -13,7 +13,7 @@ class Divider extends React.PureComponent {
const { isSmall, isInvisible } = this.props
const classes = CX({
_: 1,
d: 1,
borderBottom1PX: !isInvisible,
borderColorSecondary: !isInvisible,
w100PC: 1,

View File

@ -61,14 +61,14 @@ class ErrorBoundary extends React.PureComponent {
if (!hasError) return this.props.children
return (
<div className={[_s._, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s._, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
<div className={[_s._, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
<div className={[_s.d, _s.minH100VH, _s.w100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.minH53PX, _s.bgBrand, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
<div className={[_s.d, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w1255PX].join(' ')}>
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<h1 className={[_s._, _s.mr15].join(' ')}>
<Button href='/' isText aria-label='Gab' className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
<h1 className={[_s.d, _s.mr15].join(' ')}>
<Button href='/' isText aria-label='Gab' className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}>
<Icon id='logo' className={_s.cWhite} />
</Button>
</h1>
@ -77,9 +77,9 @@ class ErrorBoundary extends React.PureComponent {
</div>
</div>
<div className={[_s._, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d, _s.maxW640PX, _s.px15, _s.py10].join(' ')}>
<Icon id='warning' size='28px' className={[_s._, _s.cSecondary, _s.mb15].join(' ')} />
<Icon id='warning' size='28px' className={[_s.d, _s.cSecondary, _s.mb15].join(' ')} />
<Text size='medium' className={_s.pt15}>
<FormattedMessage
@ -95,12 +95,12 @@ class ErrorBoundary extends React.PureComponent {
/>
</Text>
<div className={[_s._, _s.py10, _s.my10].join(' ')}>
<div className={[_s.d, _s.py10, _s.my10].join(' ')}>
<Text>
{APP_NAME} ({version})
</Text>
<div className={[_s._, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.mt10, _s.aiCenter].join(' ')}>
<Button
isText
href={source_url}
@ -141,7 +141,7 @@ class ErrorBoundary extends React.PureComponent {
<Divider />
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<Button href='/home'>
<Text align='center' color='inherit'>
<FormattedMessage

View File

@ -31,9 +31,9 @@ class ExtendedVideoPlayer extends React.PureComponent {
const { src, muted, controls, alt } = this.props
return (
<div className={[_s._, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<video
className={[_s._, _s.maxW100PC, _s.maxH100PC].join(' ')}
className={[_s.d, _s.maxW100PC, _s.maxH100PC].join(' ')}
playsInline
ref={this.setRef}
src={src}

View File

@ -41,7 +41,7 @@ class FileInput extends React.PureComponent {
const { file, hovering } = this.state
const containerClasses = CX(className, {
_: 1,
d: 1,
aiCenter: 1,
cursorPointer: 1,
jcCenter: 1,
@ -66,7 +66,7 @@ class FileInput extends React.PureComponent {
>
{
!!title &&
<div className={[_s._, _s.mb10, _s.pl15].join(' ')}>
<div className={[_s.d, _s.mb10, _s.pl15].join(' ')}>
<Text size='small' weight='medium' color='secondary'>
{title}
</Text>
@ -88,7 +88,7 @@ class FileInput extends React.PureComponent {
/>
{
(!file || hovering) &&
<div className={[_s._, _s.posAbs, _s.cursorPointer, _s.top0, _s.bottom0, _s.left0, _s.right0, _s.aiCenter, _s.jcCenter, _s.bgBlackOpaquest_onHover].join(' ')}>
<div className={[_s.d, _s.posAbs, _s.cursorPointer, _s.top0, _s.bottom0, _s.left0, _s.right0, _s.aiCenter, _s.jcCenter, _s.bgBlackOpaquest_onHover].join(' ')}>
<Icon id='add-image' size='32px' className={iconClasses} />
</div>
}

View File

@ -57,9 +57,9 @@ class FooterBar extends React.PureComponent {
]
return (
<div className={[_s._, _s.z4, _s.minH58PX, _s.w100PC].join(' ')}>
<div className={[_s._, _s.posFixed, _s.left0, _s.right0, _s.bottom0, _s.minH58PX, _s.w100PC, _s.bgPrimary, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.h100PC, _s.minH58PX, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
<div className={[_s.d, _s.z4, _s.minH58PX, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.posFixed, _s.left0, _s.right0, _s.bottom0, _s.minH58PX, _s.w100PC, _s.bgPrimary, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.h100PC, _s.minH58PX, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
{
buttons.map((props) => {
if (props.isHidden) return null

View File

@ -12,14 +12,14 @@ class Form extends React.PureComponent {
} = this.props
return (
<form onSubmit={onSubmit} className={_s._}>
<form onSubmit={onSubmit} className={_s.d}>
{
!!errorMessage &&
<Text color='danger' className={_s.my10}>
{errorMessage}
</Text>
}
<div className={_s._}>
<div className={_s.d}>
{children}
</div>
</form>

View File

@ -11,30 +11,30 @@ export default class GlobalFooter extends React.PureComponent {
render() {
return (
<div className={[_s._, _s.z4, _s.w100PC].join(' ')}>
<div className={[_s._, _s.left0, _s.right0, _s.bottom0, _s.w100PC, _s.bgSubtle, _s.borderTop1PX, _s.aiCenter, _s.borderColorSecondary].join(' ')}>
<div className={[_s.d, _s.z4, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.left0, _s.right0, _s.bottom0, _s.w100PC, _s.bgSubtle, _s.borderTop1PX, _s.aiCenter, _s.borderColorSecondary].join(' ')}>
<div className={[_s._, _s.mt15, _s.mb15].join(' ')}>
<div className={[_s.d, _s.mt15, _s.mb15].join(' ')}>
<ResponsiveClassesComponent
classNames={[_s._, _s.w1255PX, _s.flexRow, _s.py15, _s.mt15, _s.mb15].join(' ')}
classNamesSmall={[_s._, _s.w1255PX, _s.aiCenter, _s.pt15, _s.px15, _s.mt15].join(' ')}
classNames={[_s.d, _s.w1255PX, _s.flexRow, _s.py15, _s.mt15, _s.mb15].join(' ')}
classNamesSmall={[_s.d, _s.w1255PX, _s.aiCenter, _s.pt15, _s.px15, _s.mt15].join(' ')}
>
<ResponsiveClassesComponent
classNames={[_s._, _s.w330PX].join(' ')}
classNamesSmall={[_s._, _s.aiCenter].join(' ')}
classNames={[_s.d, _s.w330PX].join(' ')}
classNamesSmall={[_s.d, _s.aiCenter].join(' ')}
>
<div className={[_s._, _s.mb10].join(' ')}>
<div className={[_s.d, _s.mb10].join(' ')}>
<Icon id='logo' />
</div>
<div className={[_s._, _s.pr15, _s.maxW640PX].join(' ')}>
<div className={[_s.d, _s.pr15, _s.maxW640PX].join(' ')}>
<Text size='medium'>We build Freedom Of Speech Software. We champion free speech, individual liberty and the free flow of information online. All are welcome.</Text>
</div>
</ResponsiveClassesComponent>
<ResponsiveClassesComponent
classNames={[_s._, _s.flexRow, _s.flexGrow1, _s.pl15].join(' ')}
classNamesSmall={[_s._, _s.py15, _s.w100PC, _s.px15].join(' ')}
classNames={[_s.d, _s.flexRow, _s.flexGrow1, _s.pl15].join(' ')}
classNamesSmall={[_s.d, _s.py15, _s.w100PC, _s.px15].join(' ')}
>
<GlobalFooterColumn
@ -117,13 +117,13 @@ export default class GlobalFooter extends React.PureComponent {
</ResponsiveClassesComponent>
</div>
<div className={[_s._, _s.aiCenter, _s.bgSecondary, _s.h100PC, _s.minH58PX, _s.w100PC, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
<div className={[_s.d, _s.aiCenter, _s.bgSecondary, _s.h100PC, _s.minH58PX, _s.w100PC, _s.saveAreaInsetPB, _s.jcSpaceAround].join(' ')}>
<ResponsiveClassesComponent
classNames={[_s._, _s.w1255PX, _s.flexRow, _s.aiCenter].join(' ')}
classNamesXS={[_s._, _s.w1255PX, _s.aiCenter, _s.px15, _s.pt15].join(' ')}
classNames={[_s.d, _s.w1255PX, _s.flexRow, _s.aiCenter].join(' ')}
classNamesXS={[_s.d, _s.w1255PX, _s.aiCenter, _s.px15, _s.pt15].join(' ')}
>
<div classNames={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div classNames={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<Text weight='bold'>
© 2020
</Text>
@ -142,8 +142,8 @@ export default class GlobalFooter extends React.PureComponent {
</div>
<ResponsiveClassesComponent
classNames={[_s._, _s.aiCenter, _s.mlAuto].join(' ')}
classNamesXS={[_s._, _s.aiCenter, _s.py15].join(' ')}
classNames={[_s.d, _s.aiCenter, _s.mlAuto].join(' ')}
classNamesXS={[_s.d, _s.aiCenter, _s.py15].join(' ')}
>
<Text>
Made in USA 🇺🇸
@ -181,8 +181,8 @@ class GlobalFooterColumn extends React.PureComponent {
return (
<ResponsiveClassesComponent
classNames={[_s._, _s.flexNormal].join(' ')}
classNamesSmall={[_s._, _s.w100PC, _s.aiCenter, _s.mt15, _s.mb5, _s.pt15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
classNames={[_s.d, _s.flexNormal].join(' ')}
classNamesSmall={[_s.d, _s.w100PC, _s.aiCenter, _s.mt15, _s.mb5, _s.pt15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
>
<div className={_s.mb10}>
<Heading size='h3'>{title}</Heading>

View File

@ -42,7 +42,7 @@ class GroupCollectionItem extends ImmutablePureComponent {
}
const navLinkClasses = cx({
_: 1,
d: 1,
noUnderline: 1,
overflowHidden: 1,
borderColorSecondary: 1,
@ -57,7 +57,7 @@ class GroupCollectionItem extends ImmutablePureComponent {
})
return (
<div className={_s._}>
<div className={_s.d}>
<NavLink
to={`/groups/${group.get('id')}`}
className={navLinkClasses}
@ -73,12 +73,12 @@ class GroupCollectionItem extends ImmutablePureComponent {
{
(!coverSrc || coverMissing) && (isMember || isAdmin) &&
<div className={[_s._, _s.h40PX, _s.bgSubtle, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')} />
<div className={[_s.d, _s.h40PX, _s.bgSubtle, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')} />
}
{
(isMember || isAdmin) &&
<div className={[_s._, _s.flexRow, _s.posAbs, _s.top0, _s.right0, _s.pt10, _s.mr10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.posAbs, _s.top0, _s.right0, _s.pt10, _s.mr10].join(' ')}>
{
isMember &&
<Text
@ -104,12 +104,12 @@ class GroupCollectionItem extends ImmutablePureComponent {
</div>
}
<div className={[_s._, _s.px10, _s.my10].join(' ')}>
<div className={[_s.d, _s.px10, _s.my10].join(' ')}>
<Text color='primary' size='medium' weight='bold'>
{group.get('title')}
</Text>
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.mt5, _s.mb5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.mt5, _s.mb5].join(' ')}>
<Text color='secondary' size='small'>
{shortNumberFormat(group.get('member_count'))}
&nbsp;

View File

@ -97,25 +97,25 @@ class GroupHeader extends ImmutablePureComponent {
// {group.get('archived') && <Icon id='lock' title={intl.formatMessage(messages.group_archived)} />}
return (
<div className={[_s._, _s.z1, _s.w100PC, _s.mb15].join(' ')}>
<div className={[_s.d, _s.z1, _s.w100PC, _s.mb15].join(' ')}>
<Responsive max={BREAKPOINT_EXTRA_SMALL}>
<div className={[_s._, _s.boxShadowBlock, _s.bgPrimary].join(' ')}>
<div className={[_s._, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.boxShadowBlock, _s.bgPrimary].join(' ')}>
<div className={[_s.d, _s.w100PC].join(' ')}>
{
coverSrc && !coverSrcMissing &&
<Image className={_s.h200PX} src={coverSrc} alt={title} />
}
<div className={[_s._, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.w100PC].join(' ')}>
<div className={[_s._, _s.w100PC, _s.px15, _s.mt10, _s.py10].join(' ')}>
<div className={[_s.d, _s.w100PC, _s.px15, _s.mt10, _s.py10].join(' ')}>
{children}
</div>
{
!!me &&
<div className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter, _s.mt5, _s.pb15, _s.pt5, _s.h100PC, _s.borderBottom1PX, _s.borderColorSecondary, _s.px15].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter, _s.mt5, _s.pb15, _s.pt5, _s.h100PC, _s.borderBottom1PX, _s.borderColorSecondary, _s.px15].join(' ')}>
{
!!actionButtonTitle &&
<Button
@ -140,7 +140,7 @@ class GroupHeader extends ImmutablePureComponent {
</div>
}
<div className={[_s._, _s.flexRow, _s.h100PC, _s.mt5, _s.pt10, _s.pb5, _s.mb5, _s.px10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.h100PC, _s.mt5, _s.pt10, _s.pb5, _s.mb5, _s.px10].join(' ')}>
<Pills pills={tabs} />
@ -152,20 +152,20 @@ class GroupHeader extends ImmutablePureComponent {
{ /** desktop */}
<Responsive min={BREAKPOINT_EXTRA_SMALL}>
<div className={[_s._, _s.boxShadowBlock, _s.bgPrimary, _s.bottomLeftRadiusSmall, _s.bottomRightRadiusSmall].join(' ')}>
<div className={[_s._, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.boxShadowBlock, _s.bgPrimary, _s.bottomLeftRadiusSmall, _s.bottomRightRadiusSmall].join(' ')}>
<div className={[_s.d, _s.w100PC].join(' ')}>
{
coverSrc && !coverSrcMissing &&
<Image className={_s.h350PX} src={coverSrc} alt={title} />
}
<div className={[_s._].join(' ')}>
<div className={[_s._, _s.flexRow, _s.py10, _s.px10].join(' ')}>
<div className={[_s._, _s.w100PC].join(' ')}>
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.py10, _s.px10].join(' ')}>
<div className={[_s.d, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<Icon id='group' size='28px' />
<div className={[_s._, _s.ml7, _s.flexNormal].join(' ')}>
<div className={[_s.d, _s.ml7, _s.flexNormal].join(' ')}>
<Heading>
{title}
</Heading>
@ -179,15 +179,15 @@ class GroupHeader extends ImmutablePureComponent {
</div>
</div>
</div>
<div className={[_s._, _s.h53PX, _s.w100PC].join(' ')}>
<div className={[_s._, _s.flexRow, _s.h100PC, _s.px10].join(' ')}>
<div className={[_s.d, _s.h53PX, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.h100PC, _s.px10].join(' ')}>
<TabBar tabs={tabs} isLarge />
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.h100PC, _s.mlAuto].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.h100PC, _s.mlAuto].join(' ')}>
{
!!me &&
<div className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<Button
iconSize='18px'
color='brand'

View File

@ -56,7 +56,7 @@ class GroupListItem extends ImmutablePureComponent {
}
const containerClasses = CX({
_: 1,
d: 1,
overflowHidden: 1,
bgSubtle_onHover: 1,
borderColorSecondary: 1,
@ -67,7 +67,7 @@ class GroupListItem extends ImmutablePureComponent {
})
const containerLinkClasses = CX({
_: 1,
d: 1,
flexRow: 1,
noUnderline: 1,
w100PC: 1,
@ -98,7 +98,7 @@ class GroupListItem extends ImmutablePureComponent {
/>
}
<div className={[_s._, _s.px10, _s.mt5, _s.flexShrink1].join(' ')}>
<div className={[_s.d, _s.px10, _s.mt5, _s.flexShrink1].join(' ')}>
<Text color='brand' weight='bold'>
{group.get('title')}
</Text>
@ -113,7 +113,7 @@ class GroupListItem extends ImmutablePureComponent {
</Wrapper>
{
isAddable &&
<div className={[_s._, _s.jcCenter, _s.flexGrow1].join(' ')}>
<div className={[_s.d, _s.jcCenter, _s.flexGrow1].join(' ')}>
{
relationships &&
<Button

View File

@ -19,9 +19,9 @@ class HashtagItem extends ImmutablePureComponent {
return (
<NavLink
to={`/tags/${hashtag.get('name')}`}
className={[_s._, _s.noUnderline, _s.bgSubtle_onHover, _s.px15, _s.py5].join(' ')}
className={[_s.d, _s.noUnderline, _s.bgSubtle_onHover, _s.px15, _s.py5].join(' ')}
>
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<div>
<Text color='brand' size='medium' weight='bold' className={[_s.py2, _s.lineHeight15].join(' ')}>
#{hashtag.get('name')}

View File

@ -36,7 +36,7 @@ class Heading extends React.PureComponent {
// Each size has it's own custom style
const classes = cx({
_: 1,
d: 1,
text: 1,
textAlignCenter: isCentered,

View File

@ -28,7 +28,7 @@ class Image extends React.PureComponent {
const { error } = this.state
const classes = cx(className, {
_: 1,
d: 1,
objectFitCover: !!src && fit === 'cover',
bgSecondary: !src,
})

View File

@ -142,7 +142,7 @@ class ImageLoader extends React.PureComponent {
// }
const className = CX({
_: 1,
d: 1,
w100PC: 1,
h100PC: 1,
// 'image-loader--loading': loading,
@ -154,7 +154,7 @@ class ImageLoader extends React.PureComponent {
<LoadingBar loading={loading ? 1 : 0} className='loading-bar' style={{ width: this.state.width || width }} />
{loading ? (
<canvas
className={[_s._, _s.objectFitCover].join(' ')}
className={[_s.d, _s.objectFitCover].join(' ')}
ref={this.setCanvasRef}
width={width}
height={height}

View File

@ -34,7 +34,7 @@ class Input extends React.PureComponent {
} = this.props
const inputClasses = cx({
_: 1,
d: 1,
text: 1,
outlineNone: 1,
lineHeight125: !small,
@ -65,13 +65,13 @@ class Input extends React.PureComponent {
<React.Fragment>
{
!!title && !hideLabel &&
<div className={[_s._, _s.mb10, _s.pl15].join(' ')}>
<div className={[_s.d, _s.mb10, _s.pl15].join(' ')}>
<Text htmlFor={id} size='small' weight='medium' color='secondary' tagName='label'>
{title}
</Text>
</div>
}
<div className={[_s._, _s.flexGrow1, _s.bgPrimary, _s.border1PX, _s.borderColorSecondary, _s.flexRow, _s.circle, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexGrow1, _s.bgPrimary, _s.border1PX, _s.borderColorSecondary, _s.flexRow, _s.circle, _s.aiCenter].join(' ')}>
{
!!prependIcon &&
<Icon id={prependIcon} size='16px' className={[_s.cPrimary, _s.ml15, _s.mr5].join(' ')} />

View File

@ -72,14 +72,14 @@ class LinkFooter extends React.PureComponent {
]
const containerClasses = CX({
_: 1,
d: 1,
px10: !noPadding,
mb15: 1,
})
return (
<div className={containerClasses}>
<nav aria-label='Footer' role='navigation' className={[_s._, _s.flexWrap, _s.flexRow].join(' ')}>
<nav aria-label='Footer' role='navigation' className={[_s.d, _s.flexWrap, _s.flexRow].join(' ')}>
{
linkFooterItems.map((linkFooterItem, i) => {
if (linkFooterItem.requiresUser && !me) return null

View File

@ -35,7 +35,7 @@ class ListItem extends React.PureComponent {
if (!title) {
return (
<div className={[_s._, _s.bgSecondary, _s.w100PC, _s.h4PX].join(' ')} />
<div className={[_s.d, _s.bgSecondary, _s.w100PC, _s.h4PX].join(' ')} />
)
}
@ -56,7 +56,7 @@ class ListItem extends React.PureComponent {
const showActive = isActive !== undefined
const containerClasses = cx({
_: 1,
d: 1,
cursorPointer: 1,
noUnderline: 1,
px15: !small,
@ -81,7 +81,7 @@ class ListItem extends React.PureComponent {
})
const textContainerClasses = cx({
_: 1,
d: 1,
pr5: 1,
maxW100PC42PX: !hideArrow || showActive,
})

View File

@ -20,7 +20,7 @@ class LoadMore extends React.PureComponent {
if (!visible || disabled) return null
return (
<div className={[_s._, _s.py15, _s.px10].join(' ')}>
<div className={[_s.d, _s.py15, _s.px10].join(' ')}>
<Button
isBlock
radiusSmall

View File

@ -15,19 +15,19 @@ class LoggedOutNavigationBar extends React.PureComponent {
return (
<ResponsiveClassesComponent
classNames={[_s._, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}
classNamesXS={[_s._, _s.z4, _s.minH98PX, _s.w100PC].join(' ')}
classNames={[_s.d, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}
classNamesXS={[_s.d, _s.z4, _s.minH98PX, _s.w100PC].join(' ')}
>
<ResponsiveClassesComponent
classNames={[_s._, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
classNamesXS={[_s._, _s.minH98PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
classNames={[_s.d, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
classNamesXS={[_s.d, _s.minH98PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')}
>
<div className={[_s._, _s.w1255PX, _s.flexRow, _s.flexWrap, _s.h100PC].join(' ')}>
<div className={[_s.d, _s.w1255PX, _s.flexRow, _s.flexWrap, _s.h100PC].join(' ')}>
<ResponsiveClassesComponent
classNames={[_s._, _s.aiCenter, _s.jcCenter, _s.flexRow, _s.flexGrow1, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR].join(' ')}
classNamesXS={[_s._, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w100PC].join(' ')}
classNames={[_s.d, _s.aiCenter, _s.jcCenter, _s.flexRow, _s.flexGrow1, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR].join(' ')}
classNamesXS={[_s.d, _s.flexRow, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.w100PC].join(' ')}
>
<Button
@ -41,7 +41,7 @@ class LoggedOutNavigationBar extends React.PureComponent {
{
isProfile &&
<ResponsiveComponent min={BREAKPOINT_EXTRA_SMALL}>
<div className={[_s._, _s.flexRow, _s.mr15].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.mr15].join(' ')}>
<NavigationBarButton title='Home' icon='home' href='/home' />
<NavigationBarButton title='Explore' icon='explore' to='/explore' />
<NavigationBarButton title='News' icon='news' to='/news' />
@ -49,15 +49,15 @@ class LoggedOutNavigationBar extends React.PureComponent {
</ResponsiveComponent>
}
<div className={[_s._, _s.flexGrow1, _s.pr10, _s.mrAuto, _s.maxW640PX].join(' ')}>
<div className={[_s.d, _s.flexGrow1, _s.pr10, _s.mrAuto, _s.maxW640PX].join(' ')}>
<Search isInNav />
</div>
</ResponsiveClassesComponent>
<ResponsiveClassesComponent
classNames={[_s._, _s.flexRow, _s.py5, _s.px10, _s.w330PX, _s.mlAuto].join(' ')}
classNamesXS={[_s._, _s.flexRow, _s.pb5, _s.px10, _s.w100PC].join(' ')}
classNames={[_s.d, _s.flexRow, _s.py5, _s.px10, _s.w330PX, _s.mlAuto].join(' ')}
classNamesXS={[_s.d, _s.flexRow, _s.pb5, _s.px10, _s.w100PC].join(' ')}
>
<Button

View File

@ -65,21 +65,21 @@ class Sidebar extends React.PureComponent {
]
return (
<header role='banner' className={[_s._, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
<div className={[_s._, _s.w240PX].join(' ')}>
<div className={[_s._, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}>
<div className={[_s._, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}>
<div className={[_s._, _s.w100PC].join(' ')}>
<header role='banner' className={[_s.d, _s.flexGrow1, _s.z3, _s.aiEnd].join(' ')}>
<div className={[_s.d, _s.w240PX].join(' ')}>
<div className={[_s.d, _s.posFixed, _s.calcH53PX, _s.bottom0].join(' ')}>
<div className={[_s.d, _s.h100PC, _s.aiStart, _s.w240PX, _s.pr15, _s.py10, _s.noScrollbar, _s.overflowYScroll].join(' ')}>
<div className={[_s.d, _s.w100PC].join(' ')}>
{
!!title &&
<div className={[_s._, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.px5, _s.pt10].join(' ')}>
<Heading size='h1'>
{title}
</Heading>
</div>
}
</div>
<nav aria-label='Primary' role='navigation' className={[_s._, _s.w100PC, _s.mb15].join(' ')}>
<nav aria-label='Primary' role='navigation' className={[_s.d, _s.w100PC, _s.mb15].join(' ')}>
<SidebarSectionTitle>{intl.formatMessage(messages.menu)}</SidebarSectionTitle>
{
menuItems.map((menuItem, i) => {

View File

@ -130,9 +130,9 @@ class Item extends ImmutablePureComponent {
if (attachment.get('type') === 'unknown') {
return (
<div className={[_s._, _s.posAbs].join(' ')} key={attachment.get('id')} style={{ position, float, left, top, right, bottom, height, borderRadius, width: `${width}%` }}>
<a className={[_s._, _s.heigh100PC, _s.w100PC, _s.cursorPointer].join(' ')} href={attachment.get('remote_url')} target='_blank' rel='noreferrer noopener'>
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s._, _s.heigh100PC, _s.w100PC].join(' ')} />
<div className={[_s.d, _s.posAbs].join(' ')} key={attachment.get('id')} style={{ position, float, left, top, right, bottom, height, borderRadius, width: `${width}%` }}>
<a className={[_s.d, _s.heigh100PC, _s.w100PC, _s.cursorPointer].join(' ')} href={attachment.get('remote_url')} target='_blank' rel='noreferrer noopener'>
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s.d, _s.heigh100PC, _s.w100PC].join(' ')} />
</a>
</div>
)
@ -155,7 +155,7 @@ class Item extends ImmutablePureComponent {
thumbnail = (
<a
className={[_s._, _s.overflowHidden, _s.h100PC, _s.w100PC, _s.cursorPointer].join(' ')}
className={[_s.d, _s.overflowHidden, _s.h100PC, _s.w100PC, _s.cursorPointer].join(' ')}
href={attachment.get('remote_url') || originalUrl}
onClick={this.handleClick}
target='_blank'
@ -178,9 +178,9 @@ class Item extends ImmutablePureComponent {
const autoPlay = !isIOS() && autoPlayGif !== false;
thumbnail = (
<div className={[_s._, _s.overflowHidden, _s.heigh100PC, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.overflowHidden, _s.heigh100PC, _s.w100PC].join(' ')}>
<video
className={[_s._, _s.cursorPointer, _s.objectFitCover, _s.w100PC, _s.h100PC, _s.z1].join(' ')}
className={[_s.d, _s.cursorPointer, _s.objectFitCover, _s.w100PC, _s.h100PC, _s.z1].join(' ')}
aria-label={attachment.get('description')}
title={attachment.get('description')}
role='application'
@ -196,7 +196,7 @@ class Item extends ImmutablePureComponent {
playsInline
/>
<div className={[_s._, _s.posAbs, _s.z2, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr10, _s.mb10, _s.bottom0, _s.right0].join(' ')}>
<div className={[_s.d, _s.posAbs, _s.z2, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr10, _s.mb10, _s.bottom0, _s.right0].join(' ')}>
<Text size='extraSmall' color='white' weight='medium'>GIF</Text>
</div>
</div>
@ -207,7 +207,7 @@ class Item extends ImmutablePureComponent {
<div className={[_s.defeault, _s.posAbs].join(' ')} key={attachment.get('id')} style={{ position, float, left, top, right, bottom, height, width: `${width}%` }}>
{
!visible && !this.state.loaded &&
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s._, _s.heigh100PC, _s.w100PC].join(' ')} />
<canvas width={32} height={32} ref={this.setCanvasRef} className={[_s.d, _s.heigh100PC, _s.w100PC].join(' ')} />
}
{visible && thumbnail}
</div>
@ -515,7 +515,7 @@ class MediaGallery extends React.PureComponent {
))
const containerClasses = cx({
_: 1,
d: 1,
displayBlock: 1,
overflowHidden: 1,
borderColorSecondary: size === 1 && visible,
@ -538,7 +538,7 @@ class MediaGallery extends React.PureComponent {
{
visible &&
<div className={[_s._, _s.displayBlock, _s.w100PC, _s.h100PC, _s.overflowHidden].join(' ')}>
<div className={[_s.d, _s.displayBlock, _s.w100PC, _s.h100PC, _s.overflowHidden].join(' ')}>
{children}
</div>
}

View File

@ -77,7 +77,7 @@ class MediaItem extends ImmutablePureComponent {
}
const containerClasses = cx({
_: 1,
d: 1,
posAbs: 1,
top0: 1,
h100PC: 1,
@ -87,7 +87,7 @@ class MediaItem extends ImmutablePureComponent {
})
const linkClasses = cx({
_: 1,
d: 1,
w100PC: 1,
h100PC: 1,
overflowHidden: 1,
@ -98,7 +98,7 @@ class MediaItem extends ImmutablePureComponent {
const statusUrl = `/${account.getIn(['acct'])}/posts/${status.get('id')}`;
return (
<div className={[_s._, _s.w25PC, _s.pt25PC].join(' ')}>
<div className={[_s.d, _s.w25PC, _s.pt25PC].join(' ')}>
<div className={containerClasses}>
<NavLink
to={statusUrl}
@ -111,7 +111,7 @@ class MediaItem extends ImmutablePureComponent {
height='100%'
width='100%'
ref={this.setCanvasRef}
className={[_s._, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
className={[_s.d, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
/>
}
@ -127,7 +127,7 @@ class MediaItem extends ImmutablePureComponent {
/>
}
<div className={[_s._, _s.aiCenter, _s.jcCenter, _s.h100PC, _s.w100PC, _s.z3, _s.posAbs].join(' ')}>
<div className={[_s.d, _s.aiCenter, _s.jcCenter, _s.h100PC, _s.w100PC, _s.z3, _s.posAbs].join(' ')}>
{
!visible &&
<Icon
@ -139,7 +139,7 @@ class MediaItem extends ImmutablePureComponent {
{
!!badge &&
<div className={[_s._, _s.posAbs, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr5, _s.mt5, _s.mb5, _s.bottom0, _s.right0].join(' ')}>
<div className={[_s.d, _s.posAbs, _s.radiusSmall, _s.bgBlackOpaque, _s.px5, _s.py5, _s.mr5, _s.mt5, _s.mb5, _s.bottom0, _s.right0].join(' ')}>
<Text size='extraSmall' color='white'>
{badge}
</Text>

View File

@ -40,7 +40,7 @@ class BoostModal extends ImmutablePureComponent {
onClose={onClose}
>
<div className={[_s._, _s.px15, _s.py10, _s.mt5].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10, _s.mt5].join(' ')}>
<StatusContainer
contextType='boost-modal'
id={status.get('id')}
@ -48,11 +48,11 @@ class BoostModal extends ImmutablePureComponent {
/>
</div>
<div className={[_s._, _s.jcCenter, _s.px15, _s.mt5, _s.mb15].join(' ')}>
<div className={[_s.d, _s.jcCenter, _s.px15, _s.mt5, _s.mb15].join(' ')}>
<Text align='center'>
{intl.formatMessage(messages.combo)}
</Text>
<div className={[_s._, _s.flexRow, _s.jcCenter, _s.my10, _s.pt15, _s.pb5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.jcCenter, _s.my10, _s.pt15, _s.pb5].join(' ')}>
<Button onClick={this.handleRepost} buttonRef={this.setRef}>
<Text color='inherit' className={_s.px15}>
{intl.formatMessage(buttonText)}

View File

@ -31,7 +31,7 @@ class CommunityTimelineSettingsModal extends ImmutablePureComponent {
title={intl.formatMessage(messages.title)}
>
<div className={[_s._, _s.pb10].join(' ')}>
<div className={[_s.d, _s.pb10].join(' ')}>
<SettingSwitch
prefix='community_timeline'
settings={settings}

View File

@ -37,19 +37,19 @@ class ConfirmationModal extends React.PureComponent {
return (
<div className={_s.w330PX}>
<Block>
<div className={[_s._, _s.px15, _s.py15].join(' ')}>
<div className={[_s._, _s.px15, _s.py15].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15].join(' ')}>
<Heading size='h1' isCentered>
{title}
</Heading>
<div className={[_s._, _s.mt10].join(' ')}>
<div className={[_s.d, _s.mt10].join(' ')}>
<Text align='center' color='secondary'>
{message}
</Text>
<div className={[_s._, _s.flexRow, _s.mt10, _s.pt10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.mt10, _s.pt10].join(' ')}>
<Button
backgroundColor='tertiary'
color='primary'

View File

@ -51,19 +51,19 @@ class DisplayOptionsModal extends ImmutablePureComponent {
title={intl.formatMessage(messages.title)}
>
<div className={[_s._, _s.mb15].join(' ')}>
<div className={[_s.d, _s.mb15].join(' ')}>
<Text align='center' color='secondary' size='medium'>
{intl.formatMessage(messages.message)}
</Text>
</div>
<div className={[_s._, _s.mb15].join(' ')}>
<div className={[_s.d, _s.mb15].join(' ')}>
<Text weight='bold' size='small' color='secondary'>
Font Size
</Text>
<div className={[_s._, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<span className={[_s._, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '12px'}}>
<div className={[_s.d, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<span className={[_s.d, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '12px'}}>
Aa
</span>
<input
@ -75,18 +75,18 @@ class DisplayOptionsModal extends ImmutablePureComponent {
onChange={this.handleOnFontSizeChange}
className={[_s.flexGrow1, _s.outlineNone, _s.ml15, _s.mr15].join(' ')}
/>
<span className={[_s._, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '18px'}}>
<span className={[_s.d, _s.text, _s.cPrimary].join(' ')} style={{fontSize: '18px'}}>
Aa
</span>
</div>
</div>
</div>
<div className={[_s._, _s.mb15].join(' ')}>
<div className={[_s.d, _s.mb15].join(' ')}>
<Text weight='bold' size='small' color='secondary'>
Rounded
</Text>
<div className={[_s._, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
<div className={[_s.d, _s.radiusSmall, _s.mt10, _s.py15, _s.px15, _s.bgTertiary].join(' ')}>
<SettingSwitch
prefix='displayOptions'
settings={displayOptionsSettings}
@ -105,11 +105,11 @@ class DisplayOptionsModal extends ImmutablePureComponent {
</div>
</div>
<div className={[_s._, _s.mb10].join(' ')}>
<div className={[_s.d, _s.mb10].join(' ')}>
<Text weight='bold' size='small' color='secondary'>
Theme
</Text>
<div className={[_s._, _s.radiusSmall, _s.flexRow, _s.mt10, _s.py10, _s.bgTertiary].join(' ')}>
<div className={[_s.d, _s.radiusSmall, _s.flexRow, _s.mt10, _s.py10, _s.bgTertiary].join(' ')}>
<ThemeBlock
title='Light'
@ -186,9 +186,9 @@ class ThemeBlock extends React.PureComponent {
const id = `theme-${value}`
return (
<label className={[_s._, _s.px10, _s.flexGrow1].join(' ')} htmlFor={id}>
<label className={[_s.d, _s.px10, _s.flexGrow1].join(' ')} htmlFor={id}>
<div
className={[_s._, _s.borderBottom6PX, _s.aiCenter, _s.flexRow, _s.py10, _s.px15, _s.radiusSmall].join(' ')}
className={[_s.d, _s.borderBottom6PX, _s.aiCenter, _s.flexRow, _s.py10, _s.px15, _s.radiusSmall].join(' ')}
style={style}
>
<input

View File

@ -115,9 +115,9 @@ class EditProfileModal extends ImmutablePureComponent {
const isVerified = account.get('is_verified')
return (
<div style={{ width: '440px' }} className={[_s._, _s.modal].join(' ')}>
<div style={{ width: '440px' }} className={[_s.d, _s.modal].join(' ')}>
<Block>
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<Button
backgroundColor='none'
title={intl.formatMessage(messages.close)}
@ -138,8 +138,8 @@ class EditProfileModal extends ImmutablePureComponent {
{intl.formatMessage(messages.save)}
</Button>
</div>
<div className={[_s._, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
<div className={[_s._, _s.w100PC, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
<div className={[_s.d, _s.w100PC, _s.aiCenter].join(' ')}>
<FileInput
width='440px'
height='180px'
@ -147,7 +147,7 @@ class EditProfileModal extends ImmutablePureComponent {
onChange={this.handleCoverPhotoChange}
file={headerSrc}
/>
<div className={[_s._, _s.mtNeg50PX, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.mtNeg50PX, _s.aiCenter, _s.jcCenter].join(' ')}>
<FileInput
width='132px'
height='132px'
@ -157,7 +157,7 @@ class EditProfileModal extends ImmutablePureComponent {
onChange={this.handleProfilePhotoChange}
/>
</div>
<div className={[_s._, _s.py5, _s.px15, _s.mt5, _s.mb15, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.py5, _s.px15, _s.mt5, _s.mb15, _s.w100PC].join(' ')}>
{
!isVerified &&
<React.Fragment>
@ -182,7 +182,7 @@ class EditProfileModal extends ImmutablePureComponent {
<Divider isInvisible />
<div className={[_s._, _s.px10].join(' ')}>
<div className={[_s.d, _s.px10].join(' ')}>
<Switch
label='Private account'
checked={locked}

View File

@ -55,12 +55,12 @@ class EmbedModal extends ImmutablePureComponent {
title={intl.formatMessage(messages.embed)}
onClose={onClose}
>
<div className={_s._}>
<div className={_s.d}>
<Text className={_s.my10}>
{intl.formatMessage(messages.instructions)}
</Text>
<div className={[_s._, _s.mb10].join(' ')}>
<div className={[_s.d, _s.mb10].join(' ')}>
<Input
readOnly
type='text'
@ -76,9 +76,9 @@ class EmbedModal extends ImmutablePureComponent {
{intl.formatMessage(messages.preview)}
</Text>
<div className={[_s._, _s.w100PC, _s.bgSubtle, _s.h220PX, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.w100PC, _s.bgSubtle, _s.h220PX, _s.aiCenter, _s.jcCenter].join(' ')}>
<iframe
className={[_s._, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
className={[_s.d, _s.w100PC, _s.h100PC, _s.z2].join(' ')}
frameBorder='0'
ref={this.setIframeRef}
sandbox='allow-same-origin'

View File

@ -55,8 +55,8 @@ class GifPickerModal extends React.PureComponent {
return (
<div style={{ width: '560px' }}>
<Block>
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<div className={[_s._, _s.flexGrow1, _s.mr5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<div className={[_s.d, _s.flexGrow1, _s.mr5].join(' ')}>
<Input
onChange={this.onChange}
value={searchText}
@ -74,7 +74,7 @@ class GifPickerModal extends React.PureComponent {
iconSize='10px'
/>
</div>
<div className={[_s._, _s.minH50VH, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
<div className={[_s.d, _s.minH50VH, _s.maxH80VH, _s.overflowYScroll].join(' ')}>
{
error &&
<ColumnIndicator type='error' />
@ -86,7 +86,7 @@ class GifPickerModal extends React.PureComponent {
{
(results.length > 0 || categories.length > 0) &&
<div className={[_s._, _s.w100PC, _s.h100PC].join(' ')}>
<div className={[_s.d, _s.w100PC, _s.h100PC].join(' ')}>
{
results.length === 0 && categories.length > 0 &&
<GifCategoriesCollection categories={categories} handleSelectCategory={this.handleSelectCategory} />
@ -119,13 +119,13 @@ class GifResultsCollectionColumn extends React.PureComponent {
const { results } = this.props
return (
<div className={[_s._, _s.flexNormal].join(' ')}>
<div className={[_s.d, _s.flexNormal].join(' ')}>
{
results.map((result, i) => (
<button
key={`gif-result-item-${i}`}
onClick={() => this.onClick(result)}
className={[_s._, _s.outlineNone, _s.bgTransparent, _s.cursorPointer, _s.px2, _s.py2].join(' ')}
className={[_s.d, _s.outlineNone, _s.bgTransparent, _s.cursorPointer, _s.px2, _s.py2].join(' ')}
>
<Image
height={result.media[0].tinygif.dims[1]}
@ -155,7 +155,7 @@ class GifResultsCollection extends React.PureComponent {
const columnIndex = 10
return (
<div className={[_s._, _s.h100PC, _s.flexRow, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.h100PC, _s.flexRow, _s.w100PC].join(' ')}>
<GifResultsCollectionColumn
results={results.slice(0, columnIndex)}
handleSelectGifResult={handleSelectGifResult}
@ -187,20 +187,20 @@ class GifCategoriesCollection extends React.PureComponent {
const { categories } = this.props
return (
<div className={[_s._, _s.h100PC, _s.w100PC, _s.flexRow, _s.flexWrap].join(' ')}>
<div className={[_s.d, _s.h100PC, _s.w100PC, _s.flexRow, _s.flexWrap].join(' ')}>
{
categories.map((category, i) => (
<button
key={`gif-category-${i}`}
onClick={() => this.onClick(category.searchterm)}
className={[_s._, _s.outlineNone, _s.bgTransparent, _s.px2, _s.py2, _s.w50PC].join(' ')}
className={[_s.d, _s.outlineNone, _s.bgTransparent, _s.px2, _s.py2, _s.w50PC].join(' ')}
>
<div className={[_s._, _s.cursorPointer].join(' ')}>
<div className={[_s.d, _s.cursorPointer].join(' ')}>
<Image
height={150}
src={category.image}
/>
<div className={[_s._, _s.posAbs, _s.videoPlayerControlsBackground, _s.right0, _s.bottom0, _s.left0, _s.py10, _s.px10].join(' ')}>
<div className={[_s.d, _s.posAbs, _s.videoPlayerControlsBackground, _s.right0, _s.bottom0, _s.left0, _s.py10, _s.px10].join(' ')}>
<Text color='white' weight='bold' size='extraLarge'>
{category.searchterm}
</Text>

View File

@ -20,7 +20,7 @@ class HomeTimelineSettingsModal extends ImmutablePureComponent {
{intl.formatMessage(messages.benefits)}
</Text>
<div className={[_s._, _s.my10].join(' ')}>
<div className={[_s.d, _s.my10].join(' ')}>
<Text> Schedule Posts</Text>
<Text> Get Verified</Text>
<Text> Create Groups</Text>

View File

@ -28,7 +28,7 @@ class HashtagTimelineSettingsModal extends ImmutablePureComponent {
onClose={onClose}
>
<div className={[_s._, _s.pb10].join(' ')}>
<div className={[_s.d, _s.pb10].join(' ')}>
<SettingSwitch
prefix='community_timeline'
settings={settings}

View File

@ -26,7 +26,7 @@ class HomeTimelineSettingsModal extends ImmutablePureComponent {
onClose={onClose}
>
<div className={[_s._, _s.pb10].join(' ')}>
<div className={[_s.d, _s.pb10].join(' ')}>
{
/*
<SettingSwitch

View File

@ -16,7 +16,7 @@ class HotkeysModal extends ImmutablePureComponent {
title={intl.formatMessage(messages.heading)}
onClose={onClose}
>
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<table>
<thead>
<tr>

View File

@ -42,12 +42,12 @@ class ListAddUserModal extends ImmutablePureComponent {
title={title}
onClose={onClose}
>
<div className={[_s._, _s.boxShadowNone].join(' ')}>
<div className={[_s.d, _s.boxShadowNone].join(' ')}>
<div>
{
lists && lists.map((list) => {
return (
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.py10, _s.px15, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.py10, _s.px15, _s.borderColorSecondary, _s.borderBottom1PX].join(' ')}>
<Text color='primary' size='large' className={[_s.overflowHidden, _s.flexNormal, _s.pr5, _s.textOverflowEllipsis].join(' ')}>
{list.get('title')}
</Text>

View File

@ -26,7 +26,7 @@ class ListTimelineSettingsModal extends ImmutablePureComponent {
onClose={onClose}
>
<div className={[_s._, _s.pb10].join(' ')}>
<div className={[_s.d, _s.pb10].join(' ')}>
<SettingSwitch
prefix='list_timeline'
settings={settings}

View File

@ -5,8 +5,8 @@ import ColumnIndicator from '../column_indicator'
const LoadingModal = () => (
<div className={_s.w330PX}>
<Block>
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
<ColumnIndicator type='loading' />
</div>
</div>

View File

@ -173,14 +173,14 @@ class MediaModal extends ImmutablePureComponent {
}
const navigationClasses = CX({
_: 1,
d: 1,
displayNone: navigationHidden,
})
return (
<div className={[_s._, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.w100PC, _s.h100PC, _s.aiCenter, _s.jcCenter].join(' ')}>
<div
className={[_s._, _s.posAbs, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
className={[_s.d, _s.posAbs, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
role='presentation'
onClick={onClose}
>
@ -254,8 +254,8 @@ class MediaModal extends ImmutablePureComponent {
{
media.size > 1 &&
<div className={[_s._, _s.posAbs, _s.bottom0, _s.mb15].join(' ')}>
<div className={[_s._, _s.saveAreaInsetMB, _s.bgBlackOpaque, _s.circle, _s.py10, _s.px15].join(' ')}>
<div className={[_s.d, _s.posAbs, _s.bottom0, _s.mb15].join(' ')}>
<div className={[_s.d, _s.saveAreaInsetMB, _s.bgBlackOpaque, _s.circle, _s.py10, _s.px15].join(' ')}>
<Pagination
count={media.size}
activeIndex={index}

View File

@ -109,7 +109,7 @@ class ModalBase extends React.PureComponent {
const visible = !!children
const containerClasses = CX({
_: 1,
d: 1,
z4: 1,
h100PC: visible,
w100PC: visible,
@ -117,7 +117,7 @@ class ModalBase extends React.PureComponent {
})
const dialogClasses = CX({
_: 1,
d: 1,
posFixed: 1,
aiCenter: 1,
jcCenter: !isXS || isCenteredXS,
@ -138,7 +138,7 @@ class ModalBase extends React.PureComponent {
<React.Fragment>
<div
role='presentation'
className={[_s._, _s.bgBlackOpaque, _s.posFixed, _s.z3, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
className={[_s.d, _s.bgBlackOpaque, _s.posFixed, _s.z3, _s.top0, _s.right0, _s.bottom0, _s.left0].join(' ')}
/>
<div
ref={this.setDialog}

View File

@ -26,7 +26,7 @@ class ModalLayout extends React.PureComponent {
} = this.props
const childrenContainerClasses = cx({
_: 1,
d: 1,
maxH80VH: 1,
overflowYScroll: 1,
px15: !noPadding,
@ -34,9 +34,9 @@ class ModalLayout extends React.PureComponent {
})
return (
<div style={{width: `${width}px`}} className={[_s._, _s.modal].join(' ')}>
<div style={{width: `${width}px`}} className={[_s.d, _s.modal].join(' ')}>
<Block>
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<Heading size='h2'>
{title}
</Heading>

View File

@ -25,8 +25,8 @@ class ProUpgradeModal extends ImmutablePureComponent {
const imgSuffix = (theme === 'light' || !theme) ? 'light' : 'dark'
const title = (
<span className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<span className={[_s._, _s.mr2].join(' ')}>
<span className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<span className={[_s.d, _s.mr2].join(' ')}>
Upgrade to Gab
</span>
<span className={[_s.bgPro, _s.cBlack, _s.radiusSmall, _s.px5, _s.py5].join(' ')}>PRO</span>
@ -46,7 +46,7 @@ class ProUpgradeModal extends ImmutablePureComponent {
{intl.formatMessage(messages.benefits)}
</Text>
<div className={[_s._, _s.my10].join(' ')}>
<div className={[_s.d, _s.my10].join(' ')}>
<Image
src={`/headers/pro-features-${imgSuffix}.png`}
width='100%'
@ -56,7 +56,7 @@ class ProUpgradeModal extends ImmutablePureComponent {
/>
</div>
<div className={[_s._, _s.flexRow, _s.py10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.py10].join(' ')}>
<Button
isOutline
color='brand'

View File

@ -63,12 +63,12 @@ class ReportModal extends ImmutablePureComponent {
>
<ResponsiveClassesComponent
classNames={[_s._, _s.flexRow].join(' ')}
classNamesSmall={[_s._, _s.flexColumnReverse].join(' ')}
classNames={[_s.d, _s.flexRow].join(' ')}
classNamesSmall={[_s.d, _s.flexColumnReverse].join(' ')}
>
<ResponsiveClassesComponent
classNames={[_s._, _s.w50PC, _s.py10, _s.px15, _s.borderRight1PX, _s.borderColorSecondary].join(' ')}
classNamesSmall={[_s._, _s.w100PC, _s.py10, _s.px15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
classNames={[_s.d, _s.w50PC, _s.py10, _s.px15, _s.borderRight1PX, _s.borderColorSecondary].join(' ')}
classNamesSmall={[_s.d, _s.w100PC, _s.py10, _s.px15, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}
>
<Text color='secondary' size='small'>
{intl.formatMessage(messages.hint)}
@ -95,10 +95,10 @@ class ReportModal extends ImmutablePureComponent {
</ResponsiveClassesComponent>
<ResponsiveClassesComponent
classNames={[_s._, _s.w50PC, _s.maxH80VH].join(' ')}
classNamesSmall={[_s._, _s.w100PC, _s.h260PX].join(' ')}
classNames={[_s.d, _s.w50PC, _s.maxH80VH].join(' ')}
classNamesSmall={[_s.d, _s.w100PC, _s.h260PX].join(' ')}
>
<div className={[_s._, _s.h100PC, _s.overflowYScroll, _s.pr15, _s.py10].join(' ')}>
<div className={[_s.d, _s.h100PC, _s.overflowYScroll, _s.pr15, _s.py10].join(' ')}>
{
statusIds.map(statusId => (
<StatusCheckBox id={statusId} key={statusId} disabled={isSubmitting} />

View File

@ -32,14 +32,14 @@ class StatusRevisionsModal extends ImmutablePureComponent {
width={480}
onClose={onClose}
>
<div className={[_s._]}>
<div className={[_s.d]}>
{
revisions.map((revision, i) => {
const isFirst = i === 0
const isLast = i === revisions.size - 1
const containerClasses = cx({
_: 1,
d: 1,
pt5: 1,
pb10: 1,
mt5: !isFirst,
@ -49,12 +49,12 @@ class StatusRevisionsModal extends ImmutablePureComponent {
return (
<div key={`status-revision-${i}`} className={containerClasses}>
<div className={[_s._, _s.pb5].join(' ')}>
<div className={[_s.d, _s.pb5].join(' ')}>
<Text size='medium'>
{revision.get('text')}
</Text>
</div>
<div className={[_s._]}>
<div className={[_s.d]}>
<Text size='small' color='secondary'>
Edited on <RelativeTimestamp timestamp={revision.get('created_at')} />
</Text>

View File

@ -18,8 +18,8 @@ class UnauthorizedModal extends ImmutablePureComponent {
onClose={onClose}
width={480}
>
<div className={[_s._, _s.mt15, _s.mb15, _s.px15, _s.pb15].join(' ')}>
<div className={[_s._, _s.px15, _s.py15].join(' ')}>
<div className={[_s.d, _s.mt15, _s.mb15, _s.px15, _s.pb15].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15].join(' ')}>
<Text className={[_s.px15, _s.py15, _s.mb15]} size='medium' weight='medium' align='center'>
{intl.formatMessage(messages.text)}
</Text>

View File

@ -45,17 +45,17 @@ class NavigationBar extends ImmutablePureComponent {
} = this.props
return (
<div className={[_s._, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}>
<div className={[_s._, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
<div className={[_s.d, _s.z4, _s.minH53PX, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.minH53PX, _s.bgNavigation, _s.aiCenter, _s.z3, _s.top0, _s.right0, _s.left0, _s.posFixed].join(' ')} >
<div className={[_s._, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.flexRow, _s.w1255PX].join(' ')}>
<div className={[_s.d, _s.saveAreaInsetPT, _s.saveAreaInsetPL, _s.saveAreaInsetPR, _s.flexRow, _s.w1255PX].join(' ')}>
{ /** Default */}
<Responsive min={BREAKPOINT_EXTRA_SMALL}>
<div className={[_s._, _s.flexRow].join(' ')}>
<div className={[_s.d, _s.flexRow].join(' ')}>
<h1 className={[_s._, _s.mr15].join(' ')}>
<h1 className={[_s.d, _s.mr15].join(' ')}>
<Button
to='/'
isText
@ -63,7 +63,7 @@ class NavigationBar extends ImmutablePureComponent {
aria-label='Gab'
color='none'
backgroundColor='none'
className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
>
<Icon id='logo' className={_s.fillNavigationBrand} />
</Button>
@ -71,28 +71,28 @@ class NavigationBar extends ImmutablePureComponent {
{
!noSearch &&
<div className={[_s._, _s.w340PX, _s.mr10].join(' ')}>
<div className={[_s.d, _s.w340PX, _s.mr10].join(' ')}>
<Search isInNav />
</div>
}
</div>
<div className={[_s._, _s.mlAuto].join(' ')}>
<div className={[_s.d, _s.mlAuto].join(' ')}>
{
!noActions &&
<div className={[_s._, _s.h53PX, _s.pl15, _s.flexRow, _s.aiCenter, _s.jcSpaceBetween].join(' ')}>
<div className={[_s.d, _s.h53PX, _s.pl15, _s.flexRow, _s.aiCenter, _s.jcSpaceBetween].join(' ')}>
<NavigationBarButton title='Home' icon='home' to='/home' />
<NavigationBarButton title='Explore' icon='explore' to='/explore' />
<NavigationBarButton title='News' icon='news' to='/news' />
<div className={[_s._, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
<div className={[_s.d, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
<NavigationBarButton attrTitle='Notifications' icon='notifications' to='/notifications' />
<NavigationBarButton attrTitle='Settings' icon='cog' href='/settings/preferences' />
<div className={[_s._, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
<div className={[_s.d, _s.h20PX, _s.w1PX, _s.mr10, _s.ml10, _s.bgNavigationBlend].join(' ')} />
{
!!account &&
@ -100,7 +100,7 @@ class NavigationBar extends ImmutablePureComponent {
ref={this.setAvatarNode}
title={account.get('display_name')}
onClick={this.handleOnOpenNavSettingsPopover}
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s._, _s.jcCenter, _s.ml15].join(' ')}
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s.d, _s.jcCenter, _s.ml15].join(' ')}
>
<Avatar account={account} size={32} noHover />
</button>
@ -113,13 +113,13 @@ class NavigationBar extends ImmutablePureComponent {
{ /** Mobile */}
<Responsive max={BREAKPOINT_EXTRA_SMALL}>
<div className={[_s._, _s.w84PX, _s.aiStart, _s.pl10].join(' ')}>
<div className={[_s.d, _s.w84PX, _s.aiStart, _s.pl10].join(' ')}>
{
!!account && !showBackBtn && !noActions &&
<button
title={account.get('display_name')}
onClick={onOpenSidebar}
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s._, _s.jcCenter].join(' ')}
className={[_s.h53PX, _s.bgTransparent, _s.outlineNone, _s.cursorPointer, _s.d, _s.jcCenter].join(' ')}
>
<Avatar account={account} size={32} noHover />
</button>
@ -135,7 +135,7 @@ class NavigationBar extends ImmutablePureComponent {
}
{
noActions &&
<h1 className={[_s._, _s.mr15].join(' ')}>
<h1 className={[_s.d, _s.mr15].join(' ')}>
<Button
to='/'
isText
@ -143,7 +143,7 @@ class NavigationBar extends ImmutablePureComponent {
aria-label='Gab'
color='none'
backgroundColor='none'
className={[_s._, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
className={[_s.d, _s.jcCenter, _s.noSelect, _s.noUnderline, _s.h53PX, _s.cursorPointer, _s.px10, _s.mr15].join(' ')}
>
<Icon id='logo' className={_s.fillNavigationBrand} />
</Button>
@ -151,7 +151,7 @@ class NavigationBar extends ImmutablePureComponent {
}
</div>
<div className={[_s._, _s.h53PX, _s.jcCenter, _s.mlAuto, _s.mrAuto].join(' ')}>
<div className={[_s.d, _s.h53PX, _s.jcCenter, _s.mlAuto, _s.mrAuto].join(' ')}>
<Heading size='h1'>
<span className={_s.colorNavigation}>
{title}
@ -159,8 +159,8 @@ class NavigationBar extends ImmutablePureComponent {
</Heading>
</div>
<div className={[_s._, _s.w84PX, _s.pr15].join(' ')}>
<div className={[_s._, _s.bgTransparent, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.mlAuto].join(' ')}>
<div className={[_s.d, _s.w84PX, _s.pr15].join(' ')}>
<div className={[_s.d, _s.bgTransparent, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.mlAuto].join(' ')}>
{
actions && actions.map((action, i) => (
<Button

View File

@ -19,7 +19,7 @@ class NavigationBarButton extends React.PureComponent {
const active = false
const classes = CX({
_: 1,
d: 1,
h53PX: 1,
flexRow: 1,
aiCenter: 1,

View File

@ -91,7 +91,7 @@ class Notification extends ImmutablePureComponent {
}
const containerClasses = CX({
_: 1,
d: 1,
px10: 1,
cursorPointer: 1,
bgSubtle_onHover: !isUnread,
@ -104,15 +104,15 @@ class Notification extends ImmutablePureComponent {
tabIndex='0'
aria-label={`${message} ${createdAt}`}
>
<div className={[_s._, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
<div className={[_s._, _s.flexRow, _s.my10, _s.py10, _s.px10].join(' ')}>
<div className={[_s.d, _s.borderBottom1PX, _s.borderColorSecondary].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.my10, _s.py10, _s.px10].join(' ')}>
<Responsive min={BREAKPOINT_EXTRA_SMALL}>
<Icon id={icon} size='20px' className={[_s.cPrimary, _s.minW20PX, _s.mt5, _s.mr15].join(' ')} />
</Responsive>
<div className={[_s._, _s.flexNormal].join(' ')}>
<div className={[_s._, _s.flexRow, _s.flexWrap].join(' ')}>
<div className={[_s.d, _s.flexNormal].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.flexWrap].join(' ')}>
{
accounts && accounts.map((account, i) => (
<NavLink
@ -125,8 +125,8 @@ class Notification extends ImmutablePureComponent {
))
}
</div>
<div className={[_s._, _s.pt5].join(' ')}>
<div className={[_s._, _s.flexRow, _s.aiEnd].join(' ')}>
<div className={[_s.d, _s.pt5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiEnd].join(' ')}>
<div className={_s.text}>
{
accounts && accounts.slice(0, 1).map((account, i) => (
@ -151,7 +151,7 @@ class Notification extends ImmutablePureComponent {
</div>
{
!!statusId &&
<div className={[_s._, _s.pt10, _s.mt5].join(' ')}>
<div className={[_s.d, _s.pt10, _s.mt5].join(' ')}>
<StatusContainer
contextType='notification'
id={statusId}

View File

@ -23,13 +23,13 @@ class Pagination extends React.PureComponent {
if (isNaN(count)) return
return (
<ul className={[_s._, _s.flexRow, _s.listStyleNone].join(' ')}>
<ul className={[_s.d, _s.flexRow, _s.listStyleNone].join(' ')}>
{
Array.apply(null, {
length: count
}).map((_, i) => {
const btnClasses = CX({
_: 1,
d: 1,
w10PX: 1,
h10PX: 1,
outlineNone: 1,
@ -43,7 +43,7 @@ class Pagination extends React.PureComponent {
})
return (
<li className={[_s._, _s.px5].join(' ')} key={`pagination-${i}`}>
<li className={[_s.d, _s.px5].join(' ')} key={`pagination-${i}`}>
<button
tabIndex='0'
className={btnClasses}

View File

@ -71,7 +71,7 @@ class GroupInfoPanel extends ImmutablePureComponent {
if (noPanel) {
return (
<div className={[_s._].join(' ')}>
<div className={[_s.d].join(' ')}>
{
!!group &&
<React.Fragment>
@ -87,7 +87,7 @@ class GroupInfoPanel extends ImmutablePureComponent {
<Text className={[_s.mt10, _s.py2].join(' ')} color='secondary' size='small' align='center'>
{group.get('description')}
</Text>
<div className={[_s._, _s.mt10, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.mt10, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<Text color='secondary' size='small' align='center'>
<Icon
id={isPrivate ? 'lock-filled' : 'globe'}
@ -190,7 +190,7 @@ class GroupInfoPanel extends ImmutablePureComponent {
<React.Fragment>
<Divider isSmall />
<GroupInfoPanelRow title={intl.formatMessage(messages.tags)} icon='shop'>
<div className={[_s._, _s.flexRow, _s.jcEnd, _s.flexWrap, _s.pl5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.jcEnd, _s.flexWrap, _s.pl5].join(' ')}>
{
tags.map((tag) => (
<div className={[_s.mr5, _s.mb5].join(' ')}>
@ -223,8 +223,8 @@ class GroupInfoPanelRow extends React.PureComponent {
const { icon, title } = this.props
return (
<div className={[_s._, _s.flexRow, _s.py2].join(' ')}>
<div className={[_s._, _s.flexRow, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.py2].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.jcCenter].join(' ')}>
<Icon id={icon} size='16px' />
<Text weight='bold' size='medium' className={_s.ml10}>
{title}

View File

@ -47,9 +47,9 @@ class ListDetailsPanel extends ImmutablePureComponent {
}
{
title && createdAt &&
<div className={_s._}>
<div className={_s.d}>
<div className={_s._}>
<div className={_s.d}>
<Text weight='medium'>
{title}
</Text>
@ -57,7 +57,7 @@ class ListDetailsPanel extends ImmutablePureComponent {
<Divider isSmall />
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<Icon id='calendar' size='12px' className={_s.cSecondary} />
<Text
size='small'

View File

@ -85,7 +85,7 @@ class ListsPanel extends ImmutablePureComponent {
footerButtonTo={count > maxCount ? '/lists' : undefined}
noPadding
>
<div className={[_s._, _s.boxShadowNone].join(' ')}>
<div className={[_s.d, _s.boxShadowNone].join(' ')}>
<List
scrollKey='lists_sidebar_panel'
items={listItems}

View File

@ -70,7 +70,7 @@ class MediaGalleryPanel extends ImmutablePureComponent {
headerButtonTitle={!!account ? intl.formatMessage(messages.show_all) : undefined}
headerButtonTo={!!account ? `/${account.get('acct')}/media` : undefined}
>
<div className={[_s._, _s.flexRow, _s.flexWrap, _s.px10, _s.py10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.flexWrap, _s.px10, _s.py10].join(' ')}>
{
!!account && attachments.size > 0 &&
attachments.slice(0, 16).map((attachment, i) => (
@ -84,7 +84,7 @@ class MediaGalleryPanel extends ImmutablePureComponent {
}
{
!account || (attachments.size === 0 && isLoading) &&
<div className={[_s._, _s.w100PC].join(' ')}>
<div className={[_s.d, _s.w100PC].join(' ')}>
<MediaGalleryPanelPlaceholder />
</div>
}

View File

@ -37,18 +37,18 @@ export default class PanelLayout extends React.PureComponent {
} = this.props
return (
<aside className={[_s._, _s.mb15].join(' ')}>
<aside className={[_s.d, _s.mb15].join(' ')}>
<Block>
{
(title || subtitle) &&
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<Heading size='h2'>
{title}
</Heading>
{
(!!headerButtonTitle && (!!headerButtonAction || !!headerButtonTo)) &&
<div className={[_s._, _s.mlAuto].join(' ')}>
<div className={[_s.d, _s.mlAuto].join(' ')}>
<Button
isText
backgroundColor='none'
@ -74,7 +74,7 @@ export default class PanelLayout extends React.PureComponent {
{
!noPadding &&
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
{children}
</div>
}
@ -85,7 +85,7 @@ export default class PanelLayout extends React.PureComponent {
{
(!!footerButtonTitle && (!!footerButtonAction || !!footerButtonTo || !!footerButtonHref)) &&
<div className={_s._}>
<div className={_s.d}>
<Button
isText
color='none'

View File

@ -27,8 +27,8 @@ class ProPanel extends React.PureComponent {
if (isPro) return null
const title = (
<span className={[_s._, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<span className={[_s._, _s.mr2].join(' ')}>
<span className={[_s.d, _s.flexRow, _s.jcCenter, _s.aiCenter].join(' ')}>
<span className={[_s.d, _s.mr2].join(' ')}>
Upgrade to Gab
</span>
<span className={[_s.bgPro, _s.cBlack, _s.radiusSmall, _s.px5, _s.py5].join(' ')}>PRO</span>
@ -41,7 +41,7 @@ class ProPanel extends React.PureComponent {
subtitle={intl.formatMessage(messages.text)}
>
<div className={[_s._, _s.flexRow, _s.pb5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.pb5].join(' ')}>
<Button
isOutline
color='brand'

View File

@ -58,7 +58,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
return (
<Wrapper title={intl.formatMessage(messages.title)}>
<div className={[_s._].join(' ')}>
<div className={[_s.d].join(' ')}>
{
hasNote &&
<React.Fragment>
@ -67,7 +67,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
</React.Fragment>
}
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
<Icon id='calendar' size='12px' className={_s.cSecondary} />
<Text
size='small'
@ -86,7 +86,7 @@ class ProfileInfoPanel extends ImmutablePureComponent {
hasBadges &&
<React.Fragment>
<Divider isSmall />
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
{
isPro &&
<div className={[_s.mr5, _s.radiusSmall, _s.bgPro, _s.py2, _s.px5].join(' ')}>
@ -111,12 +111,12 @@ class ProfileInfoPanel extends ImmutablePureComponent {
{
fields.size > 0 &&
<div className={[_s._]}>
<div className={[_s.d]}>
{
fields.map((pair, i) => (
<React.Fragment>
<Divider isSmall />
<dl className={[_s._, _s.flexRow, _s.aiCenter].join(' ')} key={`profile-field-${i}`}>
<dl className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')} key={`profile-field-${i}`}>
<dt
className={[_s.text, _s.dangerousContent, _s.pr5].join(' ')}
dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }}

View File

@ -46,8 +46,8 @@ class ProfileStatsPanel extends ImmutablePureComponent {
{
!!account &&
<ResponsiveClassesComponent
classNames={[_s._, _s.flexRow].join(' ')}
classNamesXS={[_s._, _s.flexRow, _s.mt15, _s.pt10].join(' ')}
classNames={[_s.d, _s.flexRow].join(' ')}
classNamesXS={[_s.d, _s.flexRow, _s.mt15, _s.pt10].join(' ')}
>
<UserStat
title={intl.formatMessage(messages.gabs)}

View File

@ -74,7 +74,7 @@ class ShopPanel extends React.PureComponent {
footerButtonTitle={intl.formatMessage(messages.shop_now)}
footerButtonHref={URL_DISSENTER_SHOP}
>
<div className={[_s._, _s.flexRow, _s.flexWrap, _s.pl5, _s.pt5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.flexWrap, _s.pl5, _s.pt5].join(' ')}>
{
items.map((block, i) => (
<ShopItem

View File

@ -28,7 +28,7 @@ class SignUpLogInPanel extends React.PureComponent {
if (me) return null
const containerClasses = CX({
_: 1,
d: 1,
radiusSmall: 1,
overflowHidden: 1,
bgPrimary: 1,
@ -40,11 +40,11 @@ class SignUpLogInPanel extends React.PureComponent {
})
return (
<aside className={[_s._, _s.mb15].join(' ')}>
<aside className={[_s.d, _s.mb15].join(' ')}>
<div className={containerClasses}>
<div className={[_s._]}>
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
<div className={[_s._].join(' ')}>
<div className={[_s.d]}>
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d].join(' ')}>
<Text color='primary' size='extraExtraLarge' weight='bold' align='center' tag='h2'>
{intl.formatMessage(messages.title)}
</Text>
@ -57,8 +57,8 @@ class SignUpLogInPanel extends React.PureComponent {
{
!isXS &&
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
<div className={[_s._, _s.pb5].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d, _s.pb5].join(' ')}>
<Button
isOutline
color='white'

View File

@ -31,7 +31,7 @@ class SignUpPanel extends React.PureComponent {
title={intl.formatMessage(messages.title)}
subtitle={intl.formatMessage(messages.subtitle)}
>
<div className={[_s._, _s.flexRow, _s.pb5].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.pb5].join(' ')}>
<Button
isOutline
color='brand'

View File

@ -56,7 +56,7 @@ class StatusPromotionPanel extends ImmutablePureComponent {
const { status } = this.props
const containerClasses = CX({
_: 1,
d: 1,
pb10: !!status ? status.get('media_attachments').size === 0 : false,
})
@ -67,23 +67,23 @@ class StatusPromotionPanel extends ImmutablePureComponent {
}
{
!!status &&
<div className={_s._}>
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
<div className={[_s._, _s.flexRow, _s.mt5].join(' ')}>
<div className={_s.d}>
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.mt5].join(' ')}>
<NavLink
to={`/${status.getIn(['account', 'acct'])}`}
title={status.getIn(['account', 'acct'])}
className={[_s._, _s.mr10].join(' ')}
className={[_s.d, _s.mr10].join(' ')}
>
<Avatar account={status.get('account')} size={28} />
</NavLink>
<div className={[_s._, _s.aiStart, _s.flexGrow1, _s.mt5].join(' ')}>
<div className={[_s.d, _s.aiStart, _s.flexGrow1, _s.mt5].join(' ')}>
<div className={[_s._, _s.flexRow, _s.w100PC, _s.aiStart].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.w100PC, _s.aiStart].join(' ')}>
<NavLink
className={[_s._, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
className={[_s.d, _s.flexRow, _s.aiStart, _s.noUnderline].join(' ')}
to={`/${status.getIn(['account', 'acct'])}`}
title={status.getIn(['account', 'acct'])}
>

View File

@ -91,7 +91,7 @@ class UserPanel extends ImmutablePureComponent {
return (
<PanelLayout noPadding>
<div
className={[_s._, _s.h122PX].join(' ')}
className={[_s.d, _s.h122PX].join(' ')}
onMouseEnter={this.handleOnMouseEnter}
onMouseLeave={this.handleOnMouseLeave}
>
@ -112,18 +112,18 @@ class UserPanel extends ImmutablePureComponent {
</div>
<NavLink
className={[_s._, _s.flexRow, _s.py10, _s.px15, _s.noUnderline].join(' ')}
className={[_s.d, _s.flexRow, _s.py10, _s.px15, _s.noUnderline].join(' ')}
to={`/${acct}`}
>
<div className={[_s._, _s.mtNeg32PX, _s.circle, _s.borderColorPrimary, _s.border6PX].join(' ')}>
<div className={[_s.d, _s.mtNeg32PX, _s.circle, _s.borderColorPrimary, _s.border6PX].join(' ')}>
<Avatar account={account} size={62} noHover />
</div>
<div className={[_s._, _s.ml15].join(' ')}>
<div className={[_s.d, _s.ml15].join(' ')}>
<DisplayName account={account} isMultiline noRelationship noHover />
</div>
</NavLink>
<div className={[_s._, _s.mb15, _s.mt5, _s.flexRow, _s.px15].join(' ')}>
<div className={[_s.d, _s.mb15, _s.mt5, _s.flexRow, _s.px15].join(' ')}>
<UserStat
to={`/${acct}`}
title={intl.formatMessage(messages.gabs)}

View File

@ -76,7 +76,7 @@ class VerifiedAccountsPanel extends ImmutablePureComponent {
// footerButtonTitle={intl.formatMessage(messages.show_more)}
// footerButtonTo='/explore'
>
<div className={_s._}>
<div className={_s.d}>
{
suggestions.map(accountId => (
<Account

View File

@ -88,7 +88,7 @@ class WhoToFollowPanel extends ImmutablePureComponent {
footerButtonTitle={intl.formatMessage(messages.show_more)}
footerButtonTo='/explore'
>
<div className={_s._}>
<div className={_s.d}>
{
arr.map((accountId) => (
<Child

View File

@ -46,7 +46,7 @@ class PillItem extends React.PureComponent {
const active = isActive || (to === location.pathname && !location.search) || isCurrent
const containerClasses = CX({
_: 1,
d: 1,
noUnderline: 1,
text: 1,
aiCenter: 1,
@ -63,7 +63,7 @@ class PillItem extends React.PureComponent {
})
const textParentClasses = CX({
_: 1,
d: 1,
h100PC: 1,
aiCenter: 1,
jcCenter: 1,

View File

@ -14,8 +14,8 @@ class Pills extends React.PureComponent {
return (
<ResponsiveClassesComponent
classNames={[_s._, _s.flexWrap, _s.px5, _s.flexRow].join(' ')}
classNamesXS={[_s._, _s.overflowYHidden, _s.overflowXScroll, _s.noScrollbar, _s.pl10, _s.pr15, _s.flexRow].join(' ')}
classNames={[_s.d, _s.flexWrap, _s.px5, _s.flexRow].join(' ')}
classNamesXS={[_s.d, _s.overflowYHidden, _s.overflowXScroll, _s.noScrollbar, _s.pl10, _s.pr15, _s.flexRow].join(' ')}
>
{
!!pills &&

View File

@ -10,7 +10,7 @@ class AccountPlaceholder extends React.PureComponent {
const { isLast, isSmall } = this.props
const classes = CX({
_: 1,
d: 1,
px15: 1,
py7: 1,
borderColorSecondary: !isLast,

View File

@ -8,7 +8,7 @@ export default class CommentPlaceholder extends React.PureComponent {
render() {
const classes = CX({
_: 1,
d: 1,
px15: 1,
py10: 1,
})

View File

@ -10,7 +10,7 @@ class GroupListItemPlaceholder extends React.PureComponent {
const { isLast } = this.props
const classes = CX({
_: 1,
d: 1,
px15: 1,
py7: 1,
borderColorSecondary: !isLast,

View File

@ -11,7 +11,7 @@ class ListItemPlaceholder extends React.PureComponent {
const { isLast } = this.props
const classes = CX({
_: 1,
d: 1,
px15: 1,
py15: 1,
borderColorSecondary: !isLast,
@ -19,7 +19,7 @@ class ListItemPlaceholder extends React.PureComponent {
})
const classesXS = CX({
_: 1,
d: 1,
px15: 1,
py7: 1,
borderColorSecondary: !isLast,

View File

@ -6,7 +6,7 @@ export default class MediaGalleryPanelPlaceholder extends React.PureComponent {
render() {
return (
<div className={_s._}>
<div className={_s.d}>
<PlaceholderLayout viewBox='0 0 334 164'>
<rect x='0' y='0' rx='4' ry='4' width='76' height='76' />
<rect x='86' y='0' rx='4' ry='4' width='76' height='76' />

View File

@ -6,7 +6,7 @@ export default class MediaGalleryPlaceholder extends React.PureComponent {
render() {
return (
<div className={[_s._, _s.px5, _s.py5].join(' ')}>
<div className={[_s.d, _s.px5, _s.py5].join(' ')}>
<PlaceholderLayout viewBox='0 0 400 196'>
<rect x='0' y='0' rx='0' ry='0' width='96' height='96' />
<rect x='100' y='0' rx='0' ry='0' width='96' height='96' />

View File

@ -14,7 +14,7 @@ class NotificationPlaceholder extends React.PureComponent {
const { isLast } = this.props
const classes = CX({
_: 1,
d: 1,
px15: 1,
py15: 1,
borderColorSecondary: !isLast,
@ -22,7 +22,7 @@ class NotificationPlaceholder extends React.PureComponent {
})
const classesXS = CX({
_: 1,
d: 1,
px15: 1,
py15: 1,
borderColorSecondary: !isLast,
@ -37,7 +37,7 @@ class NotificationPlaceholder extends React.PureComponent {
<React.Fragment>
<ResponsiveComponent min={BREAKPOINT_EXTRA_SMALL}>
<div className={classes}>
<div className={[_s._, _s.py2, _s.px2].join(' ')}>
<div className={[_s.d, _s.py2, _s.px2].join(' ')}>
<PlaceholderLayout viewBox='0 0 400 170'>
<rect x='24' y='34' rx='4' ry='4' width={width2} height='8' />
<rect x={left} y='34' rx='4' ry='4' width='12' height='8' />
@ -61,7 +61,7 @@ class NotificationPlaceholder extends React.PureComponent {
</ResponsiveComponent>
<ResponsiveComponent max={BREAKPOINT_EXTRA_SMALL}>
<div className={classesXS}>
<div className={[_s._, _s.py2, _s.px2].join(' ')}>
<div className={[_s.d, _s.py2, _s.px2].join(' ')}>
<PlaceholderLayout viewBox='0 0 380 200'>
<circle cx='20' cy='20' r='20' />
<rect x='0' y='54' rx='5' ry='5' width={width1} height='10' />

View File

@ -6,7 +6,7 @@ export default class ProfileHeaderXSPlaceholder extends React.PureComponent {
render() {
return (
<div className={[_s._, _s.px10, _s.py10].join(' ')}>
<div className={[_s.d, _s.px10, _s.py10].join(' ')}>
<PlaceholderLayout viewBox='0 0 400 660'>
<rect x='0' y='0' rx='0' ry='0' width='400' height='202' />
<circle cx='200' cy='200' r='54' />

View File

@ -6,7 +6,7 @@ export default class ProfileInfoPanelPlaceholder extends React.PureComponent {
render() {
return (
<div className={_s._}>
<div className={_s.d}>
<PlaceholderLayout viewBox='0 0 340 108'>
<rect x='0' y='0' rx='4' ry='4' width='330' height='8' />
<rect x='0' y='18' rx='4' ry='4' width='314' height='8' />

View File

@ -6,7 +6,7 @@ export default class ProfileStatsPanelPlaceholder extends React.PureComponent {
render() {
return (
<div className={_s._}>
<div className={_s.d}>
<PlaceholderLayout viewBox='0 0 178 20'>
<rect x='2' y='2' rx='4' ry='4' width='24' height='6' />
<rect x='2' y='12' rx='4' ry='4' width='38' height='6' />

View File

@ -12,7 +12,7 @@ export default class StatusPlaceholder extends React.PureComponent {
render() {
const containerClasses = CX({
_: 1,
d: 1,
px15: 1,
mt5: 1,
mb15: 1,
@ -23,7 +23,7 @@ export default class StatusPlaceholder extends React.PureComponent {
})
const containerClassesXS = CX({
_: 1,
d: 1,
bgPrimary: 1,
boxShadowBlock: 1,
borderTop1PX: 1,

View File

@ -14,7 +14,7 @@ export default class TrendsItemPlaceholder extends React.PureComponent {
const subtitle3Width = getRandomInt(120, 225)
return (
<div className={[_s._, _s.px15, _s.py10, _s.pb5, _s.mb5].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10, _s.pb5, _s.mb5].join(' ')}>
<PlaceholderLayout viewBox='0 0 340 138'>
<rect x='0' y='0' rx='3' ry='3' width={title1Width} height='12' />
<rect x='0' y='23' rx='3' ry='3' width={title2Width} height='12' />

View File

@ -71,7 +71,7 @@ class Poll extends ImmutablePureComponent {
}
const chartClasses = cx({
_: 1,
d: 1,
posAbs: 1,
top0: 1,
left0: 1,
@ -89,7 +89,7 @@ class Poll extends ImmutablePureComponent {
})
const listItemClasses = cx({
_: 1,
d: 1,
flexRow: 1,
py10: showResults,
mb10: 1,
@ -102,7 +102,7 @@ class Poll extends ImmutablePureComponent {
})
const textContainerClasses = cx({
_: 1,
d: 1,
w100PC: 1,
px15: 1,
py10: !showResults,
@ -138,7 +138,7 @@ class Poll extends ImmutablePureComponent {
checked={active}
onChange={this.handleOptionChange}
disabled={disabled}
className={[_s._, _s.mr10].join(' ')}
className={[_s.d, _s.mr10].join(' ')}
/>
}
@ -176,14 +176,14 @@ class Poll extends ImmutablePureComponent {
const disabled = this.props.disabled || Object.entries(this.state.selected).every(item => !item)
return (
<div className={[_s._, _s.px15, _s.py10].join(' ')}>
<ul className={[_s._, _s.listStyleNone].join(' ')}>
<div className={[_s.d, _s.px15, _s.py10].join(' ')}>
<ul className={[_s.d, _s.listStyleNone].join(' ')}>
{
poll.get('options').map((option, i) => this.renderOption(option, i))
}
</ul>
<div className={[_s._, _s.flexRow, _s.aiCenter].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter].join(' ')}>
{
!showResults && me &&
<Button

View File

@ -73,7 +73,7 @@ class DatePickerPopover extends React.PureComponent {
isXS={isXS}
onClose={this.handleOnClosePopover}
>
<div className={[_s._, _s.bgSubtle].join(' ')}>
<div className={[_s.d, _s.bgSubtle].join(' ')}>
<DatePicker
inline
target={this}
@ -102,7 +102,7 @@ class DatePickerPopover extends React.PureComponent {
</div>
{
date &&
<div className={[_s._, _s.aiCenter, _s.flexRow, _s.px10, _s.py10, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
<div className={[_s.d, _s.aiCenter, _s.flexRow, _s.px10, _s.py10, _s.borderTop1PX, _s.borderColorSecondary].join(' ')}>
<Text size='extraSmall' color='secondary'>
<FormattedMessage id='scheduled_for_datetime' defaultMessage='Scheduled for {datetime}' values={{
datetime: moment.utc(date).format('lll'),

View File

@ -19,8 +19,8 @@ export default class ErrorPopover extends React.PureComponent {
isXS={isXS}
onClose={this.props.onClose}
>
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
<ColumnIndicator type='error' message='Error loading popover' />
</div>
</div>

View File

@ -19,8 +19,8 @@ export default class LoadingPopover extends React.PureComponent {
isXS={isXS}
onClose={this.props.onClose}
>
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
<div className={[_s._, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15].join(' ')}>
<div className={[_s.d, _s.px15, _s.py15, _s.mt15, _s.mb15, _s.aiCenter, _s.jcCenter].join(' ')}>
<ColumnIndicator type='loading' />
</div>
</div>

View File

@ -130,7 +130,7 @@ class PopoverBase extends ImmutablePureComponent {
} = this.props
const containerClasses = CX({
_: 1,
d: 1,
z4: 1,
boxShadowPopover: visible,
displayNone: !visible,

View File

@ -33,17 +33,17 @@ export default class PopoverLayout extends React.PureComponent {
if (isXS) {
return (
<div className={[_s._, _s.modal, _s.px10, _s.pb10].join(' ')}>
<div className={[_s._, _s.bgPrimary, _s.radiusSmall, _s.overflowHidden, _s.mb10].join(' ')}>
<div className={[_s.d, _s.modal, _s.px10, _s.pb10].join(' ')}>
<div className={[_s.d, _s.bgPrimary, _s.radiusSmall, _s.overflowHidden, _s.mb10].join(' ')}>
{
!!title &&
<div className={[_s._, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<div className={[_s.d, _s.flexRow, _s.aiCenter, _s.jcCenter, _s.borderBottom1PX, _s.borderColorSecondary, _s.h53PX, _s.px15].join(' ')}>
<Heading size='2'>
{title}
</Heading>
</div>
}
<div className={[_s._, _s.maxH80VH, _s.radiusSmall, _s.overflowYScroll].join(' ')}>
<div className={[_s.d, _s.maxH80VH, _s.radiusSmall, _s.overflowYScroll].join(' ')}>
{children}
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More