Merge branch 'barrel' into 'main'

Remove components/ui barrel import

See merge request soapbox-pub/soapbox!3232
This commit is contained in:
Alex Gleason 2024-11-10 21:10:41 +00:00
commit e38ca91342
498 changed files with 1394 additions and 636 deletions

View File

@ -8,7 +8,8 @@ import { fetchAccountByUsername } from 'soapbox/actions/accounts.ts';
import { deactivateUsers, deleteUser, deleteStatus, toggleStatusSensitivity } from 'soapbox/actions/admin.ts'; import { deactivateUsers, deleteUser, deleteStatus, toggleStatusSensitivity } from 'soapbox/actions/admin.ts';
import { openModal } from 'soapbox/actions/modals.ts'; import { openModal } from 'soapbox/actions/modals.ts';
import OutlineBox from 'soapbox/components/outline-box.tsx'; import OutlineBox from 'soapbox/components/outline-box.tsx';
import { Stack, Text } from 'soapbox/components/ui/index.ts'; import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import AccountContainer from 'soapbox/containers/account-container.tsx'; import AccountContainer from 'soapbox/containers/account-container.tsx';
import { selectAccount } from 'soapbox/selectors/index.ts'; import { selectAccount } from 'soapbox/selectors/index.ts';
import toast from 'soapbox/toast.tsx'; import toast from 'soapbox/toast.tsx';

View File

@ -6,7 +6,7 @@ import { defineMessages, useIntl } from 'react-intl';
import AutosuggestAccountInput from 'soapbox/components/autosuggest-account-input.tsx'; import AutosuggestAccountInput from 'soapbox/components/autosuggest-account-input.tsx';
import SvgIcon from './ui/icon/svg-icon.tsx'; import SvgIcon from './ui/svg-icon.tsx';
const messages = defineMessages({ const messages = defineMessages({
placeholder: { id: 'account_search.placeholder', defaultMessage: 'Search for an account' }, placeholder: { id: 'account_search.placeholder', defaultMessage: 'Search for an account' },

View File

@ -4,6 +4,13 @@ import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
import { Link, useHistory } from 'react-router-dom'; import { Link, useHistory } from 'react-router-dom';
import HoverRefWrapper from 'soapbox/components/hover-ref-wrapper.tsx'; import HoverRefWrapper from 'soapbox/components/hover-ref-wrapper.tsx';
import Avatar from 'soapbox/components/ui/avatar.tsx';
import Emoji from 'soapbox/components/ui/emoji.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import IconButton from 'soapbox/components/ui/icon-button.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import VerificationBadge from 'soapbox/components/verification-badge.tsx'; import VerificationBadge from 'soapbox/components/verification-badge.tsx';
import ActionButton from 'soapbox/features/ui/components/action-button.tsx'; import ActionButton from 'soapbox/features/ui/components/action-button.tsx';
import { useAppSelector } from 'soapbox/hooks/index.ts'; import { useAppSelector } from 'soapbox/hooks/index.ts';
@ -12,7 +19,6 @@ import { displayFqn } from 'soapbox/utils/state.ts';
import Badge from './badge.tsx'; import Badge from './badge.tsx';
import RelativeTimestamp from './relative-timestamp.tsx'; import RelativeTimestamp from './relative-timestamp.tsx';
import { Avatar, Emoji, HStack, Icon, IconButton, Stack, Text } from './ui/index.ts';
import type { StatusApprovalStatus } from 'soapbox/normalizers/status.ts'; import type { StatusApprovalStatus } from 'soapbox/normalizers/status.ts';
import type { Account as AccountSchema } from 'soapbox/schemas/index.ts'; import type { Account as AccountSchema } from 'soapbox/schemas/index.ts';

View File

@ -1,6 +1,7 @@
import { FormattedDate } from 'react-intl'; import { FormattedDate } from 'react-intl';
import { Stack, Text } from 'soapbox/components/ui/index.ts'; import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useFeatures } from 'soapbox/hooks/index.ts'; import { useFeatures } from 'soapbox/hooks/index.ts';
import { getTextDirection } from 'soapbox/utils/rtl.ts'; import { getTextDirection } from 'soapbox/utils/rtl.ts';

View File

@ -6,7 +6,9 @@ import ReactSwipeableViews from 'react-swipeable-views';
import { createSelector } from 'reselect'; import { createSelector } from 'reselect';
import { useAnnouncements } from 'soapbox/api/hooks/announcements/index.ts'; import { useAnnouncements } from 'soapbox/api/hooks/announcements/index.ts';
import { Card, HStack, Widget } from 'soapbox/components/ui/index.ts'; import { Card } from 'soapbox/components/ui/card.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Widget from 'soapbox/components/ui/widget.tsx';
import { useAppSelector } from 'soapbox/hooks/index.ts'; import { useAppSelector } from 'soapbox/hooks/index.ts';
import Announcement from './announcement.tsx'; import Announcement from './announcement.tsx';

View File

@ -5,7 +5,9 @@ import clsx from 'clsx';
import { useEffect, useRef, useState } from 'react'; import { useEffect, useRef, useState } from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { HStack, IconButton, Text } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import IconButton from 'soapbox/components/ui/icon-button.tsx';
import Text from 'soapbox/components/ui/text.tsx';
interface IAuthorizeRejectButtons { interface IAuthorizeRejectButtons {
onAuthorize(): Promise<unknown> | unknown; onAuthorize(): Promise<unknown> | unknown;

View File

@ -7,7 +7,7 @@ import AutosuggestInput, { AutoSuggestion } from 'soapbox/components/autosuggest
import { useAppDispatch } from 'soapbox/hooks/index.ts'; import { useAppDispatch } from 'soapbox/hooks/index.ts';
import type { Menu } from 'soapbox/components/dropdown-menu/index.ts'; import type { Menu } from 'soapbox/components/dropdown-menu/index.ts';
import type { InputThemes } from 'soapbox/components/ui/input/input.tsx'; import type { InputThemes } from 'soapbox/components/ui/input.tsx';
const noOp = () => { }; const noOp = () => { };

View File

@ -4,12 +4,13 @@ import { PureComponent } from 'react';
import AutosuggestEmoji from 'soapbox/components/autosuggest-emoji.tsx'; import AutosuggestEmoji from 'soapbox/components/autosuggest-emoji.tsx';
import Icon from 'soapbox/components/icon.tsx'; import Icon from 'soapbox/components/icon.tsx';
import { Input, Portal } from 'soapbox/components/ui/index.ts'; import Input from 'soapbox/components/ui/input.tsx';
import Portal from 'soapbox/components/ui/portal.tsx';
import AutosuggestAccount from 'soapbox/features/compose/components/autosuggest-account.tsx'; import AutosuggestAccount from 'soapbox/features/compose/components/autosuggest-account.tsx';
import { textAtCursorMatchesToken } from 'soapbox/utils/suggestions.ts'; import { textAtCursorMatchesToken } from 'soapbox/utils/suggestions.ts';
import type { Menu, MenuItem } from 'soapbox/components/dropdown-menu/index.ts'; import type { Menu, MenuItem } from 'soapbox/components/dropdown-menu/index.ts';
import type { InputThemes } from 'soapbox/components/ui/input/input.tsx'; import type { InputThemes } from 'soapbox/components/ui/input.tsx';
import type { Emoji } from 'soapbox/features/emoji/index.ts'; import type { Emoji } from 'soapbox/features/emoji/index.ts';
export type AutoSuggestion = string | Emoji; export type AutoSuggestion = string | Emoji;

View File

@ -3,9 +3,12 @@ import homeIcon from '@tabler/icons/outline/home-2.svg';
import mapPinIcon from '@tabler/icons/outline/map-pin.svg'; import mapPinIcon from '@tabler/icons/outline/map-pin.svg';
import roadIcon from '@tabler/icons/outline/road.svg'; import roadIcon from '@tabler/icons/outline/road.svg';
import { useAppSelector } from 'soapbox/hooks/index.ts';
import { HStack, Icon, Stack, Text } from './ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useAppSelector } from 'soapbox/hooks/index.ts';
export const ADDRESS_ICONS: Record<string, string> = { export const ADDRESS_ICONS: Record<string, string> = {
house: homeIcon, house: homeIcon,

View File

@ -1,7 +1,8 @@
import clsx from 'clsx'; import clsx from 'clsx';
import { List as ImmutableList, OrderedSet as ImmutableOrderedSet } from 'immutable'; import { List as ImmutableList, OrderedSet as ImmutableOrderedSet } from 'immutable';
import { Avatar, HStack } from 'soapbox/components/ui/index.ts'; import Avatar from 'soapbox/components/ui/avatar.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import { useAppSelector } from 'soapbox/hooks/index.ts'; import { useAppSelector } from 'soapbox/hooks/index.ts';
import { makeGetAccount } from 'soapbox/selectors/index.ts'; import { makeGetAccount } from 'soapbox/selectors/index.ts';

View File

@ -1,7 +1,9 @@
import xIcon from '@tabler/icons/outline/x.svg'; import xIcon from '@tabler/icons/outline/x.svg';
import IconButton from 'soapbox/components/ui/icon-button/icon-button.tsx'; import { Card, CardBody } from 'soapbox/components/ui/card.tsx';
import { Card, CardBody, Stack, Text } from 'soapbox/components/ui/index.ts'; import IconButton from 'soapbox/components/ui/icon-button.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
const closeIcon = xIcon; const closeIcon = xIcon;

View File

@ -3,7 +3,7 @@ import { defineMessages, useIntl } from 'react-intl';
import { useInstance, useFeatures } from 'soapbox/hooks/index.ts'; import { useInstance, useFeatures } from 'soapbox/hooks/index.ts';
import { Datetime } from './ui/datetime/datetime.tsx'; import { Datetime } from './ui/datetime.tsx';
const messages = defineMessages({ const messages = defineMessages({
birthdayPlaceholder: { id: 'edit_profile.fields.birthday_placeholder', defaultMessage: 'Your birthday' }, birthdayPlaceholder: { id: 'edit_profile.fields.birthday_placeholder', defaultMessage: 'Your birthday' },

View File

@ -3,7 +3,7 @@ import { useEffect, useRef } from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { fetchBirthdayReminders } from 'soapbox/actions/accounts.ts'; import { fetchBirthdayReminders } from 'soapbox/actions/accounts.ts';
import { Widget } from 'soapbox/components/ui/index.ts'; import Widget from 'soapbox/components/ui/widget.tsx';
import AccountContainer from 'soapbox/containers/account-container.tsx'; import AccountContainer from 'soapbox/containers/account-container.tsx';
import { useAppDispatch, useAppSelector } from 'soapbox/hooks/index.ts'; import { useAppDispatch, useAppSelector } from 'soapbox/hooks/index.ts';

View File

@ -1,7 +1,9 @@
import { useRef } from 'react'; import { useRef } from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Button, HStack, Input } from './ui/index.ts'; import Button from 'soapbox/components/ui/button.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Input from 'soapbox/components/ui/input.tsx';
interface ICopyableInput { interface ICopyableInput {
/** Text to be copied. */ /** Text to be copied. */

View File

@ -1,8 +1,10 @@
import HStack from 'soapbox/components/ui/hstack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useSoapboxConfig } from 'soapbox/hooks/index.ts';
import { getAcct } from '../utils/accounts.ts'; import { getAcct } from '../utils/accounts.ts';
import { HStack, Text } from './ui/index.ts';
import VerificationBadge from './verification-badge.tsx'; import VerificationBadge from './verification-badge.tsx';
import type { Account } from 'soapbox/schemas/index.ts'; import type { Account } from 'soapbox/schemas/index.ts';

View File

@ -1,9 +1,11 @@
import HoverRefWrapper from 'soapbox/components/hover-ref-wrapper.tsx'; import HoverRefWrapper from 'soapbox/components/hover-ref-wrapper.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useSoapboxConfig } from 'soapbox/hooks/index.ts';
import { getAcct } from '../utils/accounts.ts'; import { getAcct } from '../utils/accounts.ts';
import { HStack, Text } from './ui/index.ts';
import VerificationBadge from './verification-badge.tsx'; import VerificationBadge from './verification-badge.tsx';
import type { Account } from 'soapbox/schemas/index.ts'; import type { Account } from 'soapbox/schemas/index.ts';

View File

@ -2,10 +2,11 @@ import lockOpenIcon from '@tabler/icons/outline/lock-open.svg';
import { defineMessages, useIntl } from 'react-intl'; import { defineMessages, useIntl } from 'react-intl';
import { unblockDomain } from 'soapbox/actions/domain-blocks.ts'; import { unblockDomain } from 'soapbox/actions/domain-blocks.ts';
import HStack from 'soapbox/components/ui/hstack.tsx';
import IconButton from 'soapbox/components/ui/icon-button.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useAppDispatch } from 'soapbox/hooks/index.ts'; import { useAppDispatch } from 'soapbox/hooks/index.ts';
import { HStack, IconButton, Text } from './ui/index.ts';
const messages = defineMessages({ const messages = defineMessages({
blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' }, blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' },
unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },

View File

@ -2,7 +2,8 @@ import clsx from 'clsx';
import { useEffect, useRef } from 'react'; import { useEffect, useRef } from 'react';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import { Counter, Icon } from 'soapbox/components/ui/index.ts'; import Counter from 'soapbox/components/ui/counter.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
export interface MenuItem { export interface MenuItem {
action?: React.EventHandler<React.KeyboardEvent | React.MouseEvent>; action?: React.EventHandler<React.KeyboardEvent | React.MouseEvent>;

View File

@ -7,11 +7,11 @@ import { useHistory } from 'react-router-dom';
import { closeDropdownMenu as closeDropdownMenuRedux, openDropdownMenu } from 'soapbox/actions/dropdown-menu.ts'; import { closeDropdownMenu as closeDropdownMenuRedux, openDropdownMenu } from 'soapbox/actions/dropdown-menu.ts';
import { closeModal, openModal } from 'soapbox/actions/modals.ts'; import { closeModal, openModal } from 'soapbox/actions/modals.ts';
import IconButton from 'soapbox/components/ui/icon-button.tsx';
import Portal from 'soapbox/components/ui/portal.tsx';
import { useAppDispatch } from 'soapbox/hooks/index.ts'; import { useAppDispatch } from 'soapbox/hooks/index.ts';
import { userTouching } from 'soapbox/is-mobile.ts'; import { userTouching } from 'soapbox/is-mobile.ts';
import { IconButton, Portal } from '../ui/index.ts';
import DropdownMenuItem, { MenuItem } from './dropdown-menu-item.tsx'; import DropdownMenuItem, { MenuItem } from './dropdown-menu-item.tsx';
import type { Status } from 'soapbox/types/entities.ts'; import type { Status } from 'soapbox/types/entities.ts';

View File

@ -1,4 +1,4 @@
import Emoji from 'soapbox/components/ui/emoji/emoji.tsx'; import Emoji from 'soapbox/components/ui/emoji.tsx';
interface IEmojiGraphic { interface IEmojiGraphic {
emoji: string; emoji: string;

View File

@ -3,12 +3,15 @@ import userIcon from '@tabler/icons/outline/user.svg';
import clsx from 'clsx'; import clsx from 'clsx';
import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import Button from 'soapbox/components/ui/button.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import EventActionButton from 'soapbox/features/event/components/event-action-button.tsx'; import EventActionButton from 'soapbox/features/event/components/event-action-button.tsx';
import EventDate from 'soapbox/features/event/components/event-date.tsx'; import EventDate from 'soapbox/features/event/components/event-date.tsx';
import { useAppSelector } from 'soapbox/hooks/index.ts'; import { useAppSelector } from 'soapbox/hooks/index.ts';
import Icon from './icon.tsx'; import Icon from './icon.tsx';
import { Button, HStack, Stack, Text } from './ui/index.ts';
import VerificationBadge from './verification-badge.tsx'; import VerificationBadge from './verification-badge.tsx';
import type { Status as StatusEntity } from 'soapbox/types/entities.ts'; import type { Status as StatusEntity } from 'soapbox/types/entities.ts';

View File

@ -2,7 +2,11 @@ import clsx from 'clsx';
import { useState } from 'react'; import { useState } from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Banner, Button, HStack, Stack, Text } from 'soapbox/components/ui/index.ts'; import Banner from 'soapbox/components/ui/banner.tsx';
import Button from 'soapbox/components/ui/button.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useInstance, useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useInstance, useSoapboxConfig } from 'soapbox/hooks/index.ts';
const acceptedGdpr = !!localStorage.getItem('soapbox:gdpr'); const acceptedGdpr = !!localStorage.getItem('soapbox:gdpr');

View File

@ -1,10 +1,12 @@
import HStack from 'soapbox/components/ui/hstack.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import GroupHeaderImage from 'soapbox/features/group/components/group-header-image.tsx'; import GroupHeaderImage from 'soapbox/features/group/components/group-header-image.tsx';
import GroupMemberCount from 'soapbox/features/group/components/group-member-count.tsx'; import GroupMemberCount from 'soapbox/features/group/components/group-member-count.tsx';
import GroupPrivacy from 'soapbox/features/group/components/group-privacy.tsx'; import GroupPrivacy from 'soapbox/features/group/components/group-privacy.tsx';
import GroupRelationship from 'soapbox/features/group/components/group-relationship.tsx'; import GroupRelationship from 'soapbox/features/group/components/group-relationship.tsx';
import GroupAvatar from './groups/group-avatar.tsx'; import GroupAvatar from './groups/group-avatar.tsx';
import { HStack, Stack, Text } from './ui/index.ts';
import type { Group as GroupEntity } from 'soapbox/types/entities.ts'; import type { Group as GroupEntity } from 'soapbox/types/entities.ts';

View File

@ -1,6 +1,6 @@
import clsx from 'clsx'; import clsx from 'clsx';
import { Avatar } from 'soapbox/components/ui/index.ts'; import Avatar from 'soapbox/components/ui/avatar.tsx';
import { GroupRoles } from 'soapbox/schemas/group-member.ts'; import { GroupRoles } from 'soapbox/schemas/group-member.ts';
import type { Group } from 'soapbox/schemas/index.ts'; import type { Group } from 'soapbox/schemas/index.ts';

View File

@ -1,7 +1,12 @@
import { defineMessages, useIntl } from 'react-intl'; import { defineMessages, useIntl } from 'react-intl';
import { Link, matchPath, useHistory } from 'react-router-dom'; import { Link, matchPath, useHistory } from 'react-router-dom';
import { Button, Divider, HStack, Popover, Stack, Text } from 'soapbox/components/ui/index.ts'; import Button from 'soapbox/components/ui/button.tsx';
import Divider from 'soapbox/components/ui/divider.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Popover from 'soapbox/components/ui/popover.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import GroupMemberCount from 'soapbox/features/group/components/group-member-count.tsx'; import GroupMemberCount from 'soapbox/features/group/components/group-member-count.tsx';
import GroupPrivacy from 'soapbox/features/group/components/group-privacy.tsx'; import GroupPrivacy from 'soapbox/features/group/components/group-privacy.tsx';

View File

@ -2,9 +2,12 @@ import { FormattedMessage } from 'react-intl';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { Sparklines, SparklinesCurve } from 'react-sparklines'; import { Sparklines, SparklinesCurve } from 'react-sparklines';
import { shortNumberFormat } from '../utils/numbers.tsx';
import { HStack, Stack, Text } from './ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { shortNumberFormat } from '../utils/numbers.tsx';
import type { Tag } from 'soapbox/types/entities.ts'; import type { Tag } from 'soapbox/types/entities.ts';

View File

@ -1,5 +1,5 @@
import Icon, { IIcon } from 'soapbox/components/icon.tsx'; import Icon, { IIcon } from 'soapbox/components/icon.tsx';
import { Counter } from 'soapbox/components/ui/index.ts'; import Counter from 'soapbox/components/ui/counter.tsx';
interface IIconWithCounter extends React.HTMLAttributes<HTMLDivElement> { interface IIconWithCounter extends React.HTMLAttributes<HTMLDivElement> {
count: number; count: number;

View File

@ -4,9 +4,12 @@ import clsx from 'clsx';
import { Children, cloneElement, isValidElement, useCallback } from 'react'; import { Children, cloneElement, isValidElement, useCallback } from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { SelectDropdown } from '../features/forms/index.tsx';
import { Icon, HStack, Select } from './ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Select from 'soapbox/components/ui/select.tsx';
import { SelectDropdown } from '../features/forms/index.tsx';
interface IList { interface IList {
children: React.ReactNode; children: React.ReactNode;

View File

@ -1,6 +1,6 @@
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Button } from 'soapbox/components/ui/index.ts'; import Button from 'soapbox/components/ui/button.tsx';
interface ILoadMore { interface ILoadMore {
onClick: React.MouseEventHandler; onClick: React.MouseEventHandler;

View File

@ -1,5 +1,5 @@
import LandingGradient from 'soapbox/components/landing-gradient.tsx'; import LandingGradient from 'soapbox/components/landing-gradient.tsx';
import { Spinner } from 'soapbox/components/ui/index.ts'; import Spinner from 'soapbox/components/ui/spinner.tsx';
/** Fullscreen loading indicator. */ /** Fullscreen loading indicator. */
const LoadingScreen: React.FC = () => { const LoadingScreen: React.FC = () => {

View File

@ -1,6 +1,6 @@
import { forwardRef } from 'react'; import { forwardRef } from 'react';
import Text, { IText } from './ui/text/text.tsx'; import Text, { IText } from './ui/text.tsx';
import './markup.css'; import './markup.css';
interface IMarkup extends IText { interface IMarkup extends IText {

View File

@ -13,7 +13,7 @@ import { truncateFilename } from 'soapbox/utils/media.ts';
import { isIOS } from '../is-mobile.ts'; import { isIOS } from '../is-mobile.ts';
import { isPanoramic, isPortrait, isNonConformingRatio, minimumAspectRatio, maximumAspectRatio } from '../utils/media-aspect-ratio.ts'; import { isPanoramic, isPortrait, isNonConformingRatio, minimumAspectRatio, maximumAspectRatio } from '../utils/media-aspect-ratio.ts';
import SvgIcon from './ui/icon/svg-icon.tsx'; import SvgIcon from './ui/svg-icon.tsx';
import type { List as ImmutableList } from 'immutable'; import type { List as ImmutableList } from 'immutable';

View File

@ -1,8 +1,8 @@
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Tooltip from 'soapbox/components/ui/tooltip.tsx';
import { shortenNostr } from 'soapbox/utils/nostr.ts'; import { shortenNostr } from 'soapbox/utils/nostr.ts';
import { Tooltip } from './ui/index.ts';
import type { Mention as MentionEntity } from 'soapbox/schemas/index.ts'; import type { Mention as MentionEntity } from 'soapbox/schemas/index.ts';

View File

@ -1,6 +1,8 @@
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Card, CardBody, Stack, Text } from './ui/index.ts'; import { Card, CardBody } from 'soapbox/components/ui/card.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
interface MissingIndicatorProps { interface MissingIndicatorProps {
nested?: boolean; nested?: boolean;

View File

@ -1,6 +1,6 @@
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { Text } from 'soapbox/components/ui/index.ts'; import Text from 'soapbox/components/ui/text.tsx';
import { useSettings, useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useSettings, useSoapboxConfig } from 'soapbox/hooks/index.ts';
interface INavlinks { interface INavlinks {

View File

@ -4,7 +4,9 @@ import clsx from 'clsx';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { HStack, Icon, Text } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Text from 'soapbox/components/ui/text.tsx';
interface IPendingItemsRow { interface IPendingItemsRow {
/** Path to navigate the user when clicked. */ /** Path to navigate the user when clicked. */

View File

@ -2,7 +2,11 @@ import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { fetchPoll, vote } from 'soapbox/actions/polls.ts'; import { fetchPoll, vote } from 'soapbox/actions/polls.ts';
import RelativeTimestamp from 'soapbox/components/relative-timestamp.tsx'; import RelativeTimestamp from 'soapbox/components/relative-timestamp.tsx';
import { Button, HStack, Stack, Text, Tooltip } from 'soapbox/components/ui/index.ts'; import Button from 'soapbox/components/ui/button.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import Tooltip from 'soapbox/components/ui/tooltip.tsx';
import { useAppDispatch } from 'soapbox/hooks/index.ts'; import { useAppDispatch } from 'soapbox/hooks/index.ts';
import type { Poll as PollEntity } from 'soapbox/types/entities.ts'; import type { Poll as PollEntity } from 'soapbox/types/entities.ts';

View File

@ -4,7 +4,9 @@ import clsx from 'clsx';
import { defineMessages, useIntl } from 'react-intl'; import { defineMessages, useIntl } from 'react-intl';
import { Motion, presets, spring } from 'react-motion'; import { Motion, presets, spring } from 'react-motion';
import { HStack, Icon, Text } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import type { import type {
Poll as PollEntity, Poll as PollEntity,

View File

@ -3,7 +3,8 @@ import { defineMessages, useIntl } from 'react-intl';
import { openModal } from 'soapbox/actions/modals.ts'; import { openModal } from 'soapbox/actions/modals.ts';
import { vote } from 'soapbox/actions/polls.ts'; import { vote } from 'soapbox/actions/polls.ts';
import { Stack, Text } from 'soapbox/components/ui/index.ts'; import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useAppDispatch, useAppSelector } from 'soapbox/hooks/index.ts'; import { useAppDispatch, useAppSelector } from 'soapbox/hooks/index.ts';
import PollFooter from './poll-footer.tsx'; import PollFooter from './poll-footer.tsx';

View File

@ -7,7 +7,10 @@ import { List as ImmutableList } from 'immutable';
import { useState, useEffect } from 'react'; import { useState, useEffect } from 'react';
import Blurhash from 'soapbox/components/blurhash.tsx'; import Blurhash from 'soapbox/components/blurhash.tsx';
import { HStack, Stack, Text, Icon } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { normalizeAttachment } from 'soapbox/normalizers/index.ts'; import { normalizeAttachment } from 'soapbox/normalizers/index.ts';
import { addAutoPlay } from 'soapbox/utils/media.ts'; import { addAutoPlay } from 'soapbox/utils/media.ts';
import { getTextDirection } from 'soapbox/utils/rtl.ts'; import { getTextDirection } from 'soapbox/utils/rtl.ts';

View File

@ -13,13 +13,17 @@ import {
} from 'soapbox/actions/profile-hover-card.ts'; } from 'soapbox/actions/profile-hover-card.ts';
import { useAccount, usePatronUser } from 'soapbox/api/hooks/index.ts'; import { useAccount, usePatronUser } from 'soapbox/api/hooks/index.ts';
import Badge from 'soapbox/components/badge.tsx'; import Badge from 'soapbox/components/badge.tsx';
import { Card, CardBody } from 'soapbox/components/ui/card.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import ActionButton from 'soapbox/features/ui/components/action-button.tsx'; import ActionButton from 'soapbox/features/ui/components/action-button.tsx';
import { UserPanel } from 'soapbox/features/ui/util/async-components.ts'; import { UserPanel } from 'soapbox/features/ui/util/async-components.ts';
import { useAppSelector, useAppDispatch } from 'soapbox/hooks/index.ts'; import { useAppSelector, useAppDispatch } from 'soapbox/hooks/index.ts';
import { showProfileHoverCard } from './hover-ref-wrapper.tsx'; import { showProfileHoverCard } from './hover-ref-wrapper.tsx';
import { dateFormatOptions } from './relative-timestamp.tsx'; import { dateFormatOptions } from './relative-timestamp.tsx';
import { Card, CardBody, HStack, Icon, Stack, Text } from './ui/index.ts';
import type { Account, PatronUser } from 'soapbox/schemas/index.ts'; import type { Account, PatronUser } from 'soapbox/schemas/index.ts';
import type { AppDispatch } from 'soapbox/store.ts'; import type { AppDispatch } from 'soapbox/store.ts';

View File

@ -1,6 +1,6 @@
import PTRComponent from 'react-simple-pull-to-refresh'; import PTRComponent from 'react-simple-pull-to-refresh';
import { Spinner } from 'soapbox/components/ui/index.ts'; import Spinner from 'soapbox/components/ui/spinner.tsx';
interface IPullToRefresh { interface IPullToRefresh {
onRefresh?: () => Promise<any>; onRefresh?: () => Promise<any>;

View File

@ -1,7 +1,9 @@
import quoteIcon from '@tabler/icons/outline/quote.svg'; import quoteIcon from '@tabler/icons/outline/quote.svg';
import { useCallback } from 'react'; import { useCallback } from 'react';
import { HStack, Icon, Text } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useAppSelector } from 'soapbox/hooks/index.ts'; import { useAppSelector } from 'soapbox/hooks/index.ts';
import { makeGetStatus } from 'soapbox/selectors/index.ts'; import { makeGetStatus } from 'soapbox/selectors/index.ts';

View File

@ -5,7 +5,7 @@ import { defineMessages, useIntl } from 'react-intl';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import StatusMedia from 'soapbox/components/status-media.tsx'; import StatusMedia from 'soapbox/components/status-media.tsx';
import { Stack } from 'soapbox/components/ui/index.ts'; import Stack from 'soapbox/components/ui/stack.tsx';
import AccountContainer from 'soapbox/containers/account-container.tsx'; import AccountContainer from 'soapbox/containers/account-container.tsx';
import { useSettings } from 'soapbox/hooks/index.ts'; import { useSettings } from 'soapbox/hooks/index.ts';
import { defaultMediaVisibility } from 'soapbox/utils/status.ts'; import { defaultMediaVisibility } from 'soapbox/utils/status.ts';

View File

@ -1,7 +1,7 @@
import { Component } from 'react'; import { Component } from 'react';
import { injectIntl, defineMessages, IntlShape, FormatDateOptions } from 'react-intl'; import { injectIntl, defineMessages, IntlShape, FormatDateOptions } from 'react-intl';
import Text, { IText } from './ui/text/text.tsx'; import Text, { IText } from './ui/text.tsx';
const messages = defineMessages({ const messages = defineMessages({
just_now: { id: 'relative_time.just_now', defaultMessage: 'now' }, just_now: { id: 'relative_time.just_now', defaultMessage: 'now' },

View File

@ -3,7 +3,8 @@ import throttle from 'lodash/throttle';
import { useState, useEffect, useCallback } from 'react'; import { useState, useEffect, useCallback } from 'react';
import { useIntl, MessageDescriptor } from 'react-intl'; import { useIntl, MessageDescriptor } from 'react-intl';
import { Icon, Text } from 'soapbox/components/ui/index.ts'; import Icon from 'soapbox/components/ui/icon.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useSettings } from 'soapbox/hooks/index.ts'; import { useSettings } from 'soapbox/hooks/index.ts';
interface IScrollTopButton { interface IScrollTopButton {

View File

@ -3,10 +3,11 @@ import { useEffect, useRef, useMemo, useCallback, forwardRef } from 'react';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import { Virtuoso, Components, VirtuosoProps, VirtuosoHandle, ListRange, IndexLocationWithAlign } from 'react-virtuoso'; import { Virtuoso, Components, VirtuosoProps, VirtuosoHandle, ListRange, IndexLocationWithAlign } from 'react-virtuoso';
import { Card } from 'soapbox/components/ui/card.tsx';
import Spinner from 'soapbox/components/ui/spinner.tsx';
import { useSettings } from 'soapbox/hooks/index.ts'; import { useSettings } from 'soapbox/hooks/index.ts';
import LoadMore from './load-more.tsx'; import LoadMore from './load-more.tsx';
import { Card, Spinner } from './ui/index.ts';
/** Custom Viruoso component context. */ /** Custom Viruoso component context. */
type Context = { type Context = {

View File

@ -1,7 +1,12 @@
import { useState } from 'react'; import { useState } from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Textarea, Form, Button, FormGroup, FormActions, Text } from 'soapbox/components/ui/index.ts'; import Button from 'soapbox/components/ui/button.tsx';
import FormActions from 'soapbox/components/ui/form-actions.tsx';
import FormGroup from 'soapbox/components/ui/form-group.tsx';
import Form from 'soapbox/components/ui/form.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import Textarea from 'soapbox/components/ui/textarea.tsx';
import { useOwnAccount } from 'soapbox/hooks/index.ts'; import { useOwnAccount } from 'soapbox/hooks/index.ts';
import { captureSentryFeedback } from 'soapbox/sentry.ts'; import { captureSentryFeedback } from 'soapbox/sentry.ts';

View File

@ -26,7 +26,12 @@ import { getSettings } from 'soapbox/actions/settings.ts';
import { closeSidebar } from 'soapbox/actions/sidebar.ts'; import { closeSidebar } from 'soapbox/actions/sidebar.ts';
import { useAccount } from 'soapbox/api/hooks/index.ts'; import { useAccount } from 'soapbox/api/hooks/index.ts';
import Account from 'soapbox/components/account.tsx'; import Account from 'soapbox/components/account.tsx';
import { Stack, Divider, HStack, Icon, IconButton, Text } from 'soapbox/components/ui/index.ts'; import Divider from 'soapbox/components/ui/divider.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import IconButton from 'soapbox/components/ui/icon-button.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import ProfileStats from 'soapbox/features/ui/components/profile-stats.tsx'; import ProfileStats from 'soapbox/features/ui/components/profile-stats.tsx';
import { useAppDispatch, useAppSelector, useFeatures, useInstance } from 'soapbox/hooks/index.ts'; import { useAppDispatch, useAppSelector, useFeatures, useInstance } from 'soapbox/hooks/index.ts';
import { useSettingsNotifications } from 'soapbox/hooks/useSettingsNotifications.ts'; import { useSettingsNotifications } from 'soapbox/hooks/useSettingsNotifications.ts';

View File

@ -2,7 +2,8 @@ import clsx from 'clsx';
import { forwardRef } from 'react'; import { forwardRef } from 'react';
import { NavLink, useLocation } from 'react-router-dom'; import { NavLink, useLocation } from 'react-router-dom';
import { Icon, Text } from './ui/index.ts'; import Icon from 'soapbox/components/ui/icon.tsx';
import Text from 'soapbox/components/ui/text.tsx';
interface ISidebarNavigationLink { interface ISidebarNavigationLink {
/** Notification count, if any. */ /** Notification count, if any. */

View File

@ -22,7 +22,7 @@ import userIcon from '@tabler/icons/outline/user.svg';
import worldIcon from '@tabler/icons/outline/world.svg'; import worldIcon from '@tabler/icons/outline/world.svg';
import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { Stack } from 'soapbox/components/ui/index.ts'; import Stack from 'soapbox/components/ui/stack.tsx';
import { useStatContext } from 'soapbox/contexts/stat-context.tsx'; import { useStatContext } from 'soapbox/contexts/stat-context.tsx';
import ComposeButton from 'soapbox/features/ui/components/compose-button.tsx'; import ComposeButton from 'soapbox/features/ui/components/compose-button.tsx';
import { useAppSelector, useFeatures, useOwnAccount, useSettings, useInstance } from 'soapbox/hooks/index.ts'; import { useAppSelector, useFeatures, useOwnAccount, useSettings, useInstance } from 'soapbox/hooks/index.ts';

View File

@ -3,7 +3,10 @@ import { ErrorBoundary } from 'react-error-boundary';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { NODE_ENV } from 'soapbox/build-config.ts'; import { NODE_ENV } from 'soapbox/build-config.ts';
import { HStack, Text, Stack, Textarea } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import Textarea from 'soapbox/components/ui/textarea.tsx';
import { useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useSoapboxConfig } from 'soapbox/hooks/index.ts';
import { captureSentryException } from 'soapbox/sentry.ts'; import { captureSentryException } from 'soapbox/sentry.ts';
import KVStore from 'soapbox/storage/kv-store.ts'; import KVStore from 'soapbox/storage/kv-store.ts';

View File

@ -49,7 +49,7 @@ import { useBlockGroupMember, useGroup, useGroupRelationship, useMuteGroup, useU
import DropdownMenu from 'soapbox/components/dropdown-menu/index.ts'; import DropdownMenu from 'soapbox/components/dropdown-menu/index.ts';
import StatusActionButton from 'soapbox/components/status-action-button.tsx'; import StatusActionButton from 'soapbox/components/status-action-button.tsx';
import StatusReactionWrapper from 'soapbox/components/status-reaction-wrapper.tsx'; import StatusReactionWrapper from 'soapbox/components/status-reaction-wrapper.tsx';
import { HStack } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import { useAppDispatch, useAppSelector, useFeatures, useOwnAccount, useSettings, useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useAppDispatch, useAppSelector, useFeatures, useOwnAccount, useSettings, useSoapboxConfig } from 'soapbox/hooks/index.ts';
import { GroupRoles } from 'soapbox/schemas/group-member.ts'; import { GroupRoles } from 'soapbox/schemas/group-member.ts';
import toast from 'soapbox/toast.tsx'; import toast from 'soapbox/toast.tsx';

View File

@ -1,7 +1,9 @@
import clsx from 'clsx'; import clsx from 'clsx';
import { forwardRef } from 'react'; import { forwardRef } from 'react';
import { Text, Icon, Emoji } from 'soapbox/components/ui/index.ts'; import Emoji from 'soapbox/components/ui/emoji.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { shortNumberFormat } from 'soapbox/utils/numbers.tsx'; import { shortNumberFormat } from 'soapbox/utils/numbers.tsx';
import type { EmojiReaction } from 'soapbox/schemas/index.ts'; import type { EmojiReaction } from 'soapbox/schemas/index.ts';

View File

@ -14,7 +14,7 @@ import Markup from './markup.tsx';
import Mention from './mention.tsx'; import Mention from './mention.tsx';
import Poll from './polls/poll.tsx'; import Poll from './polls/poll.tsx';
import type { Sizes } from 'soapbox/components/ui/text/text.tsx'; import type { Sizes } from 'soapbox/components/ui/text.tsx';
import type { Status } from 'soapbox/types/entities.ts'; import type { Status } from 'soapbox/types/entities.ts';
const MAX_HEIGHT = 642; // 20px * 32 (+ 2px padding at the top) const MAX_HEIGHT = 642; // 20px * 32 (+ 2px padding at the top)

View File

@ -8,11 +8,11 @@ import {
updateStatusHoverCard, updateStatusHoverCard,
} from 'soapbox/actions/status-hover-card.ts'; } from 'soapbox/actions/status-hover-card.ts';
import { fetchStatus } from 'soapbox/actions/statuses.ts'; import { fetchStatus } from 'soapbox/actions/statuses.ts';
import { Card, CardBody } from 'soapbox/components/ui/card.tsx';
import StatusContainer from 'soapbox/containers/status-container.tsx'; import StatusContainer from 'soapbox/containers/status-container.tsx';
import { useAppSelector, useAppDispatch } from 'soapbox/hooks/index.ts'; import { useAppSelector, useAppDispatch } from 'soapbox/hooks/index.ts';
import { showStatusHoverCard } from './hover-status-wrapper.tsx'; import { showStatusHoverCard } from './hover-status-wrapper.tsx';
import { Card, CardBody } from './ui/index.ts';
interface IStatusHoverCard { interface IStatusHoverCard {
visible?: boolean; visible?: boolean;

View File

@ -2,7 +2,8 @@ import { useState, useEffect, useRef, cloneElement } from 'react';
import { simpleEmojiReact } from 'soapbox/actions/emoji-reacts.ts'; import { simpleEmojiReact } from 'soapbox/actions/emoji-reacts.ts';
import { openModal } from 'soapbox/actions/modals.ts'; import { openModal } from 'soapbox/actions/modals.ts';
import { EmojiSelector, Portal } from 'soapbox/components/ui/index.ts'; import EmojiSelector from 'soapbox/components/ui/emoji-selector.tsx';
import Portal from 'soapbox/components/ui/portal.tsx';
import { useAppDispatch, useAppSelector, useOwnAccount, useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useAppDispatch, useAppSelector, useOwnAccount, useSoapboxConfig } from 'soapbox/hooks/index.ts';
import { userTouching } from 'soapbox/is-mobile.ts'; import { userTouching } from 'soapbox/is-mobile.ts';
import { getReactForStatus } from 'soapbox/utils/emoji-reacts.ts'; import { getReactForStatus } from 'soapbox/utils/emoji-reacts.ts';

View File

@ -11,6 +11,10 @@ import { toggleFavourite, toggleReblog } from 'soapbox/actions/interactions.ts';
import { openModal } from 'soapbox/actions/modals.ts'; import { openModal } from 'soapbox/actions/modals.ts';
import { toggleStatusHidden, unfilterStatus } from 'soapbox/actions/statuses.ts'; import { toggleStatusHidden, unfilterStatus } from 'soapbox/actions/statuses.ts';
import TranslateButton from 'soapbox/components/translate-button.tsx'; import TranslateButton from 'soapbox/components/translate-button.tsx';
import { Card } from 'soapbox/components/ui/card.tsx';
import Icon from 'soapbox/components/ui/icon.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import AccountContainer from 'soapbox/containers/account-container.tsx'; import AccountContainer from 'soapbox/containers/account-container.tsx';
import QuotedStatus from 'soapbox/features/status/containers/quoted-status-container.tsx'; import QuotedStatus from 'soapbox/features/status/containers/quoted-status-container.tsx';
import { HotKeys } from 'soapbox/features/ui/components/hotkeys.tsx'; import { HotKeys } from 'soapbox/features/ui/components/hotkeys.tsx';
@ -25,7 +29,6 @@ import StatusReplyMentions from './status-reply-mentions.tsx';
import SensitiveContentOverlay from './statuses/sensitive-content-overlay.tsx'; import SensitiveContentOverlay from './statuses/sensitive-content-overlay.tsx';
import StatusInfo from './statuses/status-info.tsx'; import StatusInfo from './statuses/status-info.tsx';
import Tombstone from './tombstone.tsx'; import Tombstone from './tombstone.tsx';
import { Card, Icon, Stack, Text } from './ui/index.ts';
import type { Status as StatusEntity } from 'soapbox/types/entities.ts'; import type { Status as StatusEntity } from 'soapbox/types/entities.ts';

View File

@ -9,12 +9,13 @@ import { defineMessages, useIntl } from 'react-intl';
import { openModal } from 'soapbox/actions/modals.ts'; import { openModal } from 'soapbox/actions/modals.ts';
import { deleteStatus } from 'soapbox/actions/statuses.ts'; import { deleteStatus } from 'soapbox/actions/statuses.ts';
import DropdownMenu from 'soapbox/components/dropdown-menu/index.ts';
import Button from 'soapbox/components/ui/button.tsx';
import HStack from 'soapbox/components/ui/hstack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useAppDispatch, useOwnAccount, useSettings, useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useAppDispatch, useOwnAccount, useSettings, useSoapboxConfig } from 'soapbox/hooks/index.ts';
import { defaultMediaVisibility } from 'soapbox/utils/status.ts'; import { defaultMediaVisibility } from 'soapbox/utils/status.ts';
import DropdownMenu from '../dropdown-menu/index.ts';
import { Button, HStack, Text } from '../ui/index.ts';
import type { Status as StatusEntity } from 'soapbox/types/entities.ts'; import type { Status as StatusEntity } from 'soapbox/types/entities.ts';
const messages = defineMessages({ const messages = defineMessages({

View File

@ -1,4 +1,5 @@
import { HStack, Text } from 'soapbox/components/ui/index.ts'; import HStack from 'soapbox/components/ui/hstack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
interface IStatusInfo { interface IStatusInfo {
avatarSize: number; avatarSize: number;

View File

@ -2,7 +2,8 @@ import clsx from 'clsx';
import { NavLink, useLocation } from 'react-router-dom'; import { NavLink, useLocation } from 'react-router-dom';
import IconWithCounter from 'soapbox/components/icon-with-counter.tsx'; import IconWithCounter from 'soapbox/components/icon-with-counter.tsx';
import { Icon, Text } from 'soapbox/components/ui/index.ts'; import Icon from 'soapbox/components/ui/icon.tsx';
import Text from 'soapbox/components/ui/text.tsx';
interface IThumbNavigationLink { interface IThumbNavigationLink {
count?: number; count?: number;

View File

@ -1,6 +1,6 @@
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { Text } from 'soapbox/components/ui/index.ts'; import Text from 'soapbox/components/ui/text.tsx';
import { HotKeys } from 'soapbox/features/ui/components/hotkeys.tsx'; import { HotKeys } from 'soapbox/features/ui/components/hotkeys.tsx';
interface ITombstone { interface ITombstone {

View File

@ -2,10 +2,11 @@ import languageIcon from '@tabler/icons/outline/language.svg';
import { FormattedMessage, useIntl } from 'react-intl'; import { FormattedMessage, useIntl } from 'react-intl';
import { translateStatus, undoStatusTranslation } from 'soapbox/actions/statuses.ts'; import { translateStatus, undoStatusTranslation } from 'soapbox/actions/statuses.ts';
import Button from 'soapbox/components/ui/button.tsx';
import Stack from 'soapbox/components/ui/stack.tsx';
import Text from 'soapbox/components/ui/text.tsx';
import { useAppDispatch, useAppSelector, useFeatures, useInstance } from 'soapbox/hooks/index.ts'; import { useAppDispatch, useAppSelector, useFeatures, useInstance } from 'soapbox/hooks/index.ts';
import { Stack, Button, Text } from './ui/index.ts';
import type { Status } from 'soapbox/types/entities.ts'; import type { Status } from 'soapbox/types/entities.ts';
interface ITranslateButton { interface ITranslateButton {

View File

@ -6,9 +6,9 @@ import { defineMessages, useIntl } from 'react-intl';
import DropdownMenu from 'soapbox/components/dropdown-menu/index.ts'; import DropdownMenu from 'soapbox/components/dropdown-menu/index.ts';
import HStack from '../hstack/hstack.tsx'; import HStack from './hstack.tsx';
import Icon from '../icon/icon.tsx'; import Icon from './icon.tsx';
import Text from '../text/text.tsx'; import Text from './text.tsx';
import type { Menu } from 'soapbox/components/dropdown-menu/index.ts'; import type { Menu } from 'soapbox/components/dropdown-menu/index.ts';

View File

@ -4,7 +4,7 @@ import { useMemo, useState } from 'react';
import StillImage, { IStillImage } from 'soapbox/components/still-image.tsx'; import StillImage, { IStillImage } from 'soapbox/components/still-image.tsx';
import Icon from '../icon/icon.tsx'; import Icon from '../icon.tsx';
const AVATAR_SIZE = 42; const AVATAR_SIZE = 42;

View File

@ -2,11 +2,10 @@ import clsx from 'clsx';
import { forwardRef, useCallback } from 'react'; import { forwardRef, useCallback } from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Icon from '../icon/icon.tsx'; import Icon from './icon.tsx';
import { useButtonStyles } from './useButtonStyles.ts'; import { useButtonStyles } from './useButtonStyles.ts';
import type { ButtonSizes, ButtonThemes } from './useButtonStyles.tsx'; import type { ButtonSizes, ButtonThemes } from './useButtonStyles.ts';
interface IButton { interface IButton {
/** Whether this button expands the width of its container. */ /** Whether this button expands the width of its container. */

View File

@ -4,10 +4,10 @@ import { forwardRef } from 'react';
import { defineMessages, useIntl } from 'react-intl'; import { defineMessages, useIntl } from 'react-intl';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import SvgIcon from 'soapbox/components/ui/icon/svg-icon.tsx'; import SvgIcon from 'soapbox/components/ui/svg-icon.tsx';
import HStack from '../hstack/hstack.tsx'; import HStack from './hstack.tsx';
import Text from '../text/text.tsx'; import Text from './text.tsx';
const sizes = { const sizes = {
md: 'p-4 sm:rounded-xl', md: 'p-4 sm:rounded-xl',

View File

@ -4,8 +4,8 @@ import { useEffect, useState } from 'react';
import { useDimensions } from 'soapbox/hooks/index.ts'; import { useDimensions } from 'soapbox/hooks/index.ts';
import HStack from '../hstack/hstack.tsx'; import HStack from './hstack.tsx';
import Icon from '../icon/icon.tsx'; import Icon from './icon.tsx';
interface ICarousel { interface ICarousel {
children: any; children: any;

View File

@ -6,7 +6,7 @@ import { useHistory } from 'react-router-dom';
import Helmet from 'soapbox/components/helmet.tsx'; import Helmet from 'soapbox/components/helmet.tsx';
import { useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useSoapboxConfig } from 'soapbox/hooks/index.ts';
import { Card, CardBody, CardHeader, CardTitle, type CardSizes } from '../card/card.tsx'; import { Card, CardBody, CardHeader, CardTitle, type CardSizes } from './card.tsx';
type IColumnHeader = Pick<IColumn, 'label' | 'backHref' | 'className' | 'action'>; type IColumnHeader = Pick<IColumn, 'label' | 'backHref' | 'className' | 'action'>;

View File

@ -1,9 +1,9 @@
import { useEffect, useMemo, useState } from 'react'; import { useEffect, useMemo, useState } from 'react';
import { FormattedMessage, useIntl } from 'react-intl'; import { FormattedMessage, useIntl } from 'react-intl';
import Select from '../select/select.tsx'; import Select from './select.tsx';
import Stack from '../stack/stack.tsx'; import Stack from './stack.tsx';
import Text from '../text/text.tsx'; import Text from './text.tsx';
const getDaysInMonth = (month: number, year: number) => new Date(year, month + 1, 0).getDate(); const getDaysInMonth = (month: number, year: number) => new Date(year, month + 1, 0).getDate();
const currentYear = new Date().getFullYear(); const currentYear = new Date().getFullYear();

View File

@ -1,4 +1,4 @@
import Input from '../input/input.tsx'; import Input from './input.tsx';
interface DatetimeProps { interface DatetimeProps {
value: Date; value: Date;

View File

@ -1,6 +1,6 @@
import Text from '../text/text.tsx'; import Text from './text.tsx';
import type { Sizes as TextSizes } from '../text/text.tsx'; import type { Sizes as TextSizes } from './text.tsx';
interface IDivider { interface IDivider {
text?: string; text?: string;

View File

@ -3,9 +3,9 @@ import dotsIcon from '@tabler/icons/outline/dots.svg';
import clsx from 'clsx'; import clsx from 'clsx';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import EmojiComponent from 'soapbox/components/ui/emoji/emoji.tsx'; import EmojiComponent from 'soapbox/components/ui/emoji.tsx';
import HStack from 'soapbox/components/ui/hstack/hstack.tsx'; import HStack from 'soapbox/components/ui/hstack.tsx';
import IconButton from 'soapbox/components/ui/icon-button/icon-button.tsx'; import IconButton from 'soapbox/components/ui/icon-button.tsx';
import EmojiPickerDropdown from 'soapbox/features/emoji/components/emoji-picker-dropdown.tsx'; import EmojiPickerDropdown from 'soapbox/features/emoji/components/emoji-picker-dropdown.tsx';
import { useClickOutside, useFeatures, useSoapboxConfig } from 'soapbox/hooks/index.ts'; import { useClickOutside, useFeatures, useSoapboxConfig } from 'soapbox/hooks/index.ts';

View File

@ -1,4 +1,4 @@
import HStack from '../hstack/hstack.tsx'; import HStack from './hstack.tsx';
interface IFormActions { interface IFormActions {
children: React.ReactNode; children: React.ReactNode;

View File

@ -1,8 +1,8 @@
import { Children, cloneElement, isValidElement, useMemo } from 'react'; import { Children, cloneElement, isValidElement, useMemo } from 'react';
import Checkbox from '../checkbox/checkbox.tsx'; import Checkbox from './checkbox.tsx';
import HStack from '../hstack/hstack.tsx'; import HStack from './hstack.tsx';
import Stack from '../stack/stack.tsx'; import Stack from './stack.tsx';
interface IFormGroup { interface IFormGroup {
/** Input label message. */ /** Input label message. */

View File

@ -1,8 +1,8 @@
import clsx from 'clsx'; import clsx from 'clsx';
import { forwardRef } from 'react'; import { forwardRef } from 'react';
import SvgIcon from '../icon/svg-icon.tsx'; import SvgIcon from './svg-icon.tsx';
import Text from '../text/text.tsx'; import Text from './text.tsx';
interface IIconButton extends React.ButtonHTMLAttributes<HTMLButtonElement> { interface IIconButton extends React.ButtonHTMLAttributes<HTMLButtonElement> {
/** Class name for the <svg> icon. */ /** Class name for the <svg> icon. */

View File

@ -1,5 +1,4 @@
import Counter from '../counter/counter.tsx'; import Counter from './counter.tsx';
import SvgIcon from './svg-icon.tsx'; import SvgIcon from './svg-icon.tsx';
interface IIcon extends Pick<React.SVGAttributes<SVGAElement>, 'strokeWidth'> { interface IIcon extends Pick<React.SVGAttributes<SVGAElement>, 'strokeWidth'> {

View File

@ -1,57 +0,0 @@
export { default as Accordion } from './accordion/accordion.tsx';
export { default as Avatar } from './avatar/avatar.tsx';
export { default as Banner } from './banner/banner.tsx';
export { default as Button } from './button/button.tsx';
export { default as Carousel } from './carousel/carousel.tsx';
export { Card, CardBody, CardHeader, CardTitle } from './card/card.tsx';
export { default as Checkbox } from './checkbox/checkbox.tsx';
export { Column, ColumnHeader } from './column/column.tsx';
export {
Combobox,
ComboboxInput,
ComboboxPopover,
ComboboxList,
ComboboxOption,
ComboboxOptionText,
} from './combobox/combobox.tsx';
export { default as Counter } from './counter/counter.tsx';
export { default as Datepicker } from './datepicker/datepicker.tsx';
export { default as Divider } from './divider/divider.tsx';
export { default as Emoji } from './emoji/emoji.tsx';
export { default as EmojiSelector } from './emoji-selector/emoji-selector.tsx';
export { default as FileInput } from './file-input/file-input.tsx';
export { default as Form } from './form/form.tsx';
export { default as FormActions } from './form-actions/form-actions.tsx';
export { default as FormGroup } from './form-group/form-group.tsx';
export { default as HStack } from './hstack/hstack.tsx';
export { default as Icon } from './icon/icon.tsx';
export { default as IconButton } from './icon-button/icon-button.tsx';
export { default as Input } from './input/input.tsx';
export { default as Layout } from './layout/layout.tsx';
export {
Menu,
MenuButton,
MenuDivider,
MenuItem,
MenuItems,
MenuLink,
MenuList,
} from './menu/menu.tsx';
export { default as Modal } from './modal/modal.tsx';
export { default as Popover } from './popover/popover.tsx';
export { default as Portal } from './portal/portal.tsx';
export { default as ProgressBar } from './progress-bar/progress-bar.tsx';
export { default as RadioButton } from './radio-button/radio-button.tsx';
export { default as Select } from './select/select.tsx';
export { default as Slider } from './slider/slider.tsx';
export { default as Spinner } from './spinner/spinner.tsx';
export { default as Stack } from './stack/stack.tsx';
export { default as Streamfield } from './streamfield/streamfield.tsx';
export { default as Tabs } from './tabs/tabs.tsx';
export { default as TagInput } from './tag-input/tag-input.tsx';
export { default as Text } from './text/text.tsx';
export { default as Textarea } from './textarea/textarea.tsx';
export { default as Toast } from './toast/toast.tsx';
export { default as Toggle } from './toggle/toggle.tsx';
export { default as Tooltip } from './tooltip/tooltip.tsx';
export { default as Widget } from './widget/widget.tsx';

View File

@ -7,9 +7,9 @@ import { defineMessages, useIntl } from 'react-intl';
import { useLocale } from 'soapbox/hooks/index.ts'; import { useLocale } from 'soapbox/hooks/index.ts';
import { getTextDirection } from 'soapbox/utils/rtl.ts'; import { getTextDirection } from 'soapbox/utils/rtl.ts';
import Icon from '../icon/icon.tsx'; import Icon from './icon.tsx';
import SvgIcon from '../icon/svg-icon.tsx'; import SvgIcon from './svg-icon.tsx';
import Tooltip from '../tooltip/tooltip.tsx'; import Tooltip from './tooltip.tsx';
const messages = defineMessages({ const messages = defineMessages({
showPassword: { id: 'input.password.show_password', defaultMessage: 'Show password' }, showPassword: { id: 'input.password.show_password', defaultMessage: 'Show password' },

View File

@ -2,7 +2,7 @@ import worldIcon from '@tabler/icons/outline/world.svg';
import { openDropdownMenu } from 'soapbox/actions/dropdown-menu.ts'; import { openDropdownMenu } from 'soapbox/actions/dropdown-menu.ts';
import DropdownMenu, { MenuItem } from 'soapbox/components/dropdown-menu/index.ts'; import DropdownMenu, { MenuItem } from 'soapbox/components/dropdown-menu/index.ts';
import SvgIcon from 'soapbox/components/ui/icon/svg-icon.tsx'; import SvgIcon from 'soapbox/components/ui/svg-icon.tsx';
import { languages } from 'soapbox/features/preferences/index.tsx'; import { languages } from 'soapbox/features/preferences/index.tsx';
import { useAppDispatch } from 'soapbox/hooks/index.ts'; import { useAppDispatch } from 'soapbox/hooks/index.ts';

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