diff --git a/AGENTS.md b/AGENTS.md index f6e2b9dd3a4..5dabb62afab 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,7 +9,6 @@ - `pnpm check:types` - TypeScript type checking - `pnpm fix` - Auto-fix format and lint issues - `pnpm turbo run --filter=` - Target specific package/app -- `pnpm --filter=@plane/ui storybook` - Start Storybook on port 6006 ## Code Style @@ -21,7 +20,7 @@ - **Error Handling**: Use try-catch with proper error types, log errors appropriately - **State Management**: MobX stores in `packages/shared-state`, reactive patterns - **Testing**: All features require unit tests, use existing test framework per package -- **Components**: Build in `@plane/ui` with Storybook for isolated development +- **Components**: Primitives come from the published `@makeplane/propel` npm package (`@makeplane/propel/components/*`, `elements/*`, `icons`); composite/Plane-specific components live in `@plane/blocks` (`packages/blocks`, subpath imports only, e.g. `@plane/blocks/toast`) ## Backend tests (Docker) diff --git a/apps/admin/components/common/skeleton.tsx b/apps/admin/components/common/skeleton.tsx index 8652a3fefb0..48982f3649a 100644 --- a/apps/admin/components/common/skeleton.tsx +++ b/apps/admin/components/common/skeleton.tsx @@ -9,7 +9,7 @@ import React from "react"; import { cn } from "@plane/utils"; // Loading-placeholder skeleton. @makeplane/propel has no skeleton component yet; -// this matches the API the workspace @plane/propel skeleton exposed. +// this matches the API the legacy workspace skeleton component exposed. type SkeletonProps = { children: React.ReactNode; diff --git a/apps/admin/providers/toast.tsx b/apps/admin/providers/toast.tsx index 1042dd90bdc..ed98cb91ff2 100644 --- a/apps/admin/providers/toast.tsx +++ b/apps/admin/providers/toast.tsx @@ -10,7 +10,7 @@ import { IconButton } from "@makeplane/propel/components/icon-button"; import { Icon } from "@makeplane/propel/components/icon"; import { CloseOutline } from "@makeplane/propel/icons"; -// Keep the call-site API the workspace @plane/propel toast exposed, backed by +// Keep the call-site API the legacy workspace toast exposed, backed by // @makeplane/propel's toast manager, so consumers only change their import path. export enum TOAST_TYPE { SUCCESS = "success", diff --git a/apps/space/app/error.tsx b/apps/space/app/error.tsx index 87aa8dc1992..38322466c41 100644 --- a/apps/space/app/error.tsx +++ b/apps/space/app/error.tsx @@ -5,7 +5,7 @@ */ // ui -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; function ErrorPage() { const handleRetry = () => { @@ -31,9 +31,7 @@ function ErrorPage() {

- + */} diff --git a/apps/space/components/account/auth-forms/auth-root.tsx b/apps/space/components/account/auth-forms/auth-root.tsx index d31649f789e..aa9cb54e399 100644 --- a/apps/space/components/account/auth-forms/auth-root.tsx +++ b/apps/space/components/account/auth-forms/auth-root.tsx @@ -10,7 +10,7 @@ import { useSearchParams } from "next/navigation"; // plane imports import { SitesAuthService } from "@plane/services"; import type { IEmailCheckData } from "@plane/types"; -import { OAuthOptions } from "@plane/ui"; +import { OAuthOptions } from "@plane/blocks/oauth"; // helpers import type { TAuthErrorInfo } from "@/helpers/authentication.helper"; import { EErrorAlertType, authErrorHandler, EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; diff --git a/apps/space/components/account/auth-forms/email.tsx b/apps/space/components/account/auth-forms/email.tsx index 997c3df7d3f..bfc80c23a0b 100644 --- a/apps/space/components/account/auth-forms/email.tsx +++ b/apps/space/components/account/auth-forms/email.tsx @@ -10,10 +10,11 @@ import { observer } from "mobx-react"; // icons import { CloseCircleOutline, WarningCircleOutline } from "@makeplane/propel/icons"; // types -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import type { IEmailCheckData } from "@plane/types"; // ui -import { Input, Spinner } from "@plane/ui"; +import { Input } from "@plane/blocks/form-fields"; +import { Spinner } from "@plane/blocks/spinner"; // helpers import { cn } from "@plane/utils"; import { checkEmailValidity } from "@/helpers/string.helper"; @@ -100,7 +101,7 @@ export const AuthEmailForm = observer(function AuthEmailForm(props: TAuthEmailFo

)}
- diff --git a/apps/space/components/account/auth-forms/password.tsx b/apps/space/components/account/auth-forms/password.tsx index 3b17cdf18f9..1f91dd8ad2a 100644 --- a/apps/space/components/account/auth-forms/password.tsx +++ b/apps/space/components/account/auth-forms/password.tsx @@ -9,9 +9,11 @@ import { observer } from "mobx-react"; import { CloseCircleOutline, HideOutline, ShowOutline } from "@makeplane/propel/icons"; // plane imports import { API_BASE_URL, E_PASSWORD_STRENGTH } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; import { AuthService } from "@plane/services"; -import { Input, Spinner, PasswordStrengthIndicator } from "@plane/ui"; +import { Input, PasswordStrengthIndicator } from "@plane/blocks/form-fields"; +import { Spinner } from "@plane/blocks/spinner"; import { getPasswordStrength } from "@plane/utils"; // types import { EAuthModes, EAuthSteps } from "@/types/auth"; @@ -236,7 +238,7 @@ export const AuthPasswordForm = observer(function AuthPasswordForm(props: Props)
{mode === EAuthModes.SIGN_IN ? ( <> - + {isSMTPConfigured && ( + size="lg" + stretch="full" + label="Sign in with unique code" + onClick={redirectToUniqueCodeSignIn} + /> )} ) : ( - + )}
diff --git a/apps/space/components/account/auth-forms/unique-code.tsx b/apps/space/components/account/auth-forms/unique-code.tsx index 61f05872659..045cf2f7b76 100644 --- a/apps/space/components/account/auth-forms/unique-code.tsx +++ b/apps/space/components/account/auth-forms/unique-code.tsx @@ -8,9 +8,10 @@ import React, { useEffect, useState } from "react"; import { CloseCircleOutline, TickCircleOutline } from "@makeplane/propel/icons"; // plane imports import { API_BASE_URL } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import { AuthService } from "@plane/services"; -import { Input, Spinner } from "@plane/ui"; +import { Input } from "@plane/blocks/form-fields"; +import { Spinner } from "@plane/blocks/spinner"; // hooks import useTimer from "@/hooks/use-timer"; // types @@ -153,7 +154,7 @@ export function AuthUniqueCodeForm(props: TAuthUniqueCodeForm) {
-
diff --git a/apps/space/components/account/user-logged-in.tsx b/apps/space/components/account/user-logged-in.tsx index 42815b013b4..5b7814f3c8c 100644 --- a/apps/space/components/account/user-logged-in.tsx +++ b/apps/space/components/account/user-logged-in.tsx @@ -5,7 +5,7 @@ */ import { observer } from "mobx-react"; -import { PlaneLockup } from "@plane/propel/icons"; +import { PlaneLockup } from "@plane/blocks/icons"; // assets import UserLoggedInImage from "@/app/assets/user-logged-in.svg?url"; // components diff --git a/apps/space/components/common/powered-by.tsx b/apps/space/components/common/powered-by.tsx index 05da512100b..8e636cbf11b 100644 --- a/apps/space/components/common/powered-by.tsx +++ b/apps/space/components/common/powered-by.tsx @@ -6,7 +6,7 @@ import { WEBSITE_URL } from "@plane/constants"; // assets -import { PlaneLogo } from "@plane/propel/icons"; +import { PlaneLogo } from "@plane/blocks/icons"; type TPoweredBy = { disabled?: boolean; diff --git a/apps/space/components/editor/toolbar.tsx b/apps/space/components/editor/toolbar.tsx index ce2a0a2c6b7..4f86fec0454 100644 --- a/apps/space/components/editor/toolbar.tsx +++ b/apps/space/components/editor/toolbar.tsx @@ -8,8 +8,8 @@ import React, { useEffect, useState, useCallback } from "react"; // plane imports import { TOOLBAR_ITEMS } from "@plane/editor"; import type { ToolbarMenuItem, EditorRefApi } from "@plane/editor"; -import { Button } from "@plane/propel/button"; -import { Tooltip } from "@plane/propel/tooltip"; +import { Button } from "@makeplane/propel/components/button"; +import { Tooltip } from "@makeplane/propel/components/tooltip"; import { cn } from "@plane/utils"; type Props = { @@ -70,12 +70,8 @@ export function IssueCommentToolbar(props: Props) { return ( - {item.name} - {item.shortcut && {item.shortcut.join(" + ")}} -

- } + label={item.name} + shortcut={item.shortcut ? item.shortcut.join(" + ") : undefined} > + /> )} diff --git a/apps/space/components/instance/instance-failure-view.tsx b/apps/space/components/instance/instance-failure-view.tsx index 2bf810e9d01..92c82b94464 100644 --- a/apps/space/components/instance/instance-failure-view.tsx +++ b/apps/space/components/instance/instance-failure-view.tsx @@ -5,7 +5,7 @@ */ import { useTheme } from "next-themes"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; // assets import InstanceFailureDarkImage from "@/app/assets/instance/instance-failure-dark.svg?url"; import InstanceFailureImage from "@/app/assets/instance/instance-failure.svg?url"; @@ -31,9 +31,7 @@ export function InstanceFailureView() {

- +
diff --git a/apps/space/components/issues/filters/applied-filters/priority.tsx b/apps/space/components/issues/filters/applied-filters/priority.tsx index 1b3a03a85e4..203db5665a2 100644 --- a/apps/space/components/issues/filters/applied-filters/priority.tsx +++ b/apps/space/components/issues/filters/applied-filters/priority.tsx @@ -4,9 +4,9 @@ * See the LICENSE file for details. */ -import { PriorityIcon } from "@plane/propel/icons"; +import { PriorityIcon } from "@plane/blocks/icons"; import { CloseOutline } from "@makeplane/propel/icons"; -import type { TIssuePriorities } from "@plane/propel/icons"; +import type { TIssuePriorities } from "@plane/blocks/icons"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/space/components/issues/filters/applied-filters/state.tsx b/apps/space/components/issues/filters/applied-filters/state.tsx index 1a37861f2da..290f7ea6742 100644 --- a/apps/space/components/issues/filters/applied-filters/state.tsx +++ b/apps/space/components/issues/filters/applied-filters/state.tsx @@ -7,7 +7,7 @@ import { observer } from "mobx-react"; // plane imports import { EIconSize } from "@plane/constants"; -import { StateGroupIcon } from "@plane/propel/icons"; +import { StateGroupIcon } from "@plane/blocks/icons"; import { CloseOutline } from "@makeplane/propel/icons"; // hooks import { useStates } from "@/hooks/store/use-state"; diff --git a/apps/space/components/issues/filters/helpers/dropdown.tsx b/apps/space/components/issues/filters/helpers/dropdown.tsx index 17f7ca66b8f..89c3a1abad8 100644 --- a/apps/space/components/issues/filters/helpers/dropdown.tsx +++ b/apps/space/components/issues/filters/helpers/dropdown.tsx @@ -9,7 +9,7 @@ import type { Placement } from "@popperjs/core"; import { usePopper } from "react-popper"; import { Popover, Transition } from "@headlessui/react"; // ui -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; type Props = { children: React.ReactNode; @@ -35,7 +35,7 @@ export function FiltersDropdown(props: Props) { return ( <> - + + + /> )} diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx index 5d7c69f0852..0df7937090f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx @@ -10,9 +10,9 @@ import { useParams } from "next/navigation"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import { AddOutline, SearchOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import { copyUrlToClipboard, orderJoinedProjects } from "@plane/utils"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx index ce784524694..34e6998c37b 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx @@ -8,8 +8,9 @@ import { observer } from "mobx-react"; import { HomeOutline, WidgetOutline } from "@makeplane/propel/icons"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { Breadcrumbs, Header } from "@plane/ui"; +import { Button } from "@makeplane/propel/elements/button"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; // hooks @@ -38,11 +39,12 @@ export const WorkspaceDashboardHeader = observer(function WorkspaceDashboardHead diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx index 7bd93646c28..3696d7e49a3 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; // components import { PageHead } from "@/components/core/page-title"; import { DownloadActivityButton } from "@/components/profile/activity/download-button"; @@ -64,9 +64,13 @@ function ProfileActivityPage() { {activityPages} {pageCount < totalPages && resultsCount !== 0 && (
- +
)} diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx index 28f415bdde1..9998a520531 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx @@ -11,14 +11,16 @@ import { ChevronDownOutline, RightSidePaneOutline, YourWorkOutline } from "@make import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import type { IUserProfileProjectSegregation } from "@plane/types"; -import { Breadcrumbs, Header, CustomMenu } from "@plane/ui"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; +import { CustomMenu } from "@plane/blocks/dropdowns"; +import { Header } from "@plane/blocks/header"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { ProfileIssuesFilter } from "@/components/profile/profile-issues-filter"; // hooks import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useUser, useUserPermissions } from "@/hooks/store/user"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; type TUserProfileHeader = { userProjectsData: IUserProfileProjectSegregation | undefined; @@ -97,14 +99,14 @@ export const UserProfileHeader = observer(function UserProfileHeader(props: TUse
+ > + +
diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx index fa8b73dbbf3..6636e9bf3eb 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx @@ -22,7 +22,7 @@ import type { } from "@plane/types"; import { EIssuesStoreType } from "@plane/types"; // ui -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; // components import { DisplayFiltersSelection, FiltersDropdown } from "@/components/issues/issue-layouts/filters"; import { IssueLayoutIcon } from "@/components/issues/issue-layouts/layout-icon"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/navbar.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/navbar.tsx index 4d99983dd74..69265554da2 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/navbar.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/navbar.tsx @@ -9,7 +9,7 @@ import { useParams, usePathname } from "next/navigation"; // plane imports import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Header, EHeaderVariant } from "@plane/ui"; +import { Header, EHeaderVariant } from "@plane/blocks/header"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx index 6118a867ab1..04087cda3fa 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx @@ -9,7 +9,7 @@ import useSWR from "swr"; import { GROUP_CHOICES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import type { IUserStateDistribution, TStateGroups } from "@plane/types"; -import { ContentWrapper } from "@plane/ui"; +import { ContentWrapper } from "@plane/blocks/content-wrapper"; // components import { PageHead } from "@/components/core/page-title"; import { ProfileActivity } from "@/components/profile/overview/activity"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx index fcfdfe3b715..e5ab8082e33 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx @@ -10,7 +10,8 @@ import { ArchiveOutline, CyclesOutline, ModuleOutline, WorkItemsOutline } from " import { Tooltip } from "@makeplane/propel/components/tooltip"; import { EIssuesStoreType } from "@plane/types"; // ui -import { Breadcrumbs, Header } from "@plane/ui"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx index 135167d96ef..8bd432e5d8f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx @@ -11,8 +11,8 @@ import useSWR from "swr"; import { Banner } from "@makeplane/propel/components/banner"; import { ArchiveOutline } from "@makeplane/propel/icons"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { Loader } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { Loader } from "@plane/blocks/loader"; // components import { PageHead } from "@/components/core/page-title"; import { IssueDetailRoot } from "@/components/issues/issue-detail"; @@ -77,10 +77,11 @@ function ArchivedIssueDetailsPage({ params }: Route.ComponentProps) { actions={ + /> } />
diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx index dca11117aca..515cd710728 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx @@ -9,7 +9,8 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // ui import { ArchiveOutline, WorkItemsOutline } from "@makeplane/propel/icons"; -import { Breadcrumbs, Header } from "@plane/ui"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { IssueDetailQuickActions } from "@/components/issues/issue-detail/issue-detail-quick-actions"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx index cb5425b95e3..4a59076608d 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx @@ -18,12 +18,15 @@ import { } from "@plane/constants"; import { usePlatformOS } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { IconButton } from "@plane/propel/icon-button"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { ICustomSearchSelectOption, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; -import { Breadcrumbs, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui"; +import { Breadcrumbs, BreadcrumbNavigationSearchDropdown } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; import { cn } from "@plane/utils"; // components import { WorkItemsModal } from "@/components/analytics/work-items/modal"; @@ -230,33 +233,38 @@ export const CycleIssuesHeader = observer(function CycleIssuesHeader() { {canUserCreateIssue && ( <> - + {!isCompletedCycle && ( + /> )} )} } + aria-label="Toggle sidebar" onClick={toggleSidebar} - className={cn({ - "bg-accent-subtle text-accent-primary": !isSidebarCollapsed, - })} + render={ +
); diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx index d005cfb009b..3c238a47264 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx @@ -9,7 +9,8 @@ import { useParams } from "next/navigation"; // plane imports import { PagesOutline } from "@makeplane/propel/icons"; import type { ICustomSearchSelectOption } from "@plane/types"; -import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; +import { Breadcrumbs, BreadcrumbNavigationSearchDropdown } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; import { getPageName } from "@plane/utils"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx index 7105d1cd733..663fbc6e20d 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx @@ -10,12 +10,13 @@ import { useParams, useRouter, useSearchParams } from "next/navigation"; // constants import { EPageAccess } from "@plane/constants"; // plane types -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { PagesOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TPage } from "@plane/types"; // plane ui -import { Breadcrumbs, Header } from "@plane/ui"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; // helpers import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; // hooks @@ -79,9 +80,14 @@ export const PagesListHeader = observer(function PagesListHeader() { {canCurrentUserCreatePage && ( - + + /> )}
- +
diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/mobile-header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/mobile-header.tsx index bbe4d131aad..c5425051e0d 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/mobile-header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/mobile-header.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // icons import { ChevronDownOutline, FilterOutline } from "@makeplane/propel/icons"; // components -import { Row } from "@plane/ui"; +import { Row } from "@plane/blocks/row"; import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; import { ViewFiltersSelection } from "@/components/views/filters/filter-selection"; import { ViewOrderByDropdown } from "@/components/views/filters/order-by"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx index b8f7f3688b4..f6cda679360 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx @@ -12,7 +12,7 @@ import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import type { EViewAccess, TViewFilterProps } from "@plane/types"; import { EUserProjectRoles } from "@plane/types"; -import { Header, EHeaderVariant } from "@plane/ui"; +import { Header, EHeaderVariant } from "@plane/blocks/header"; import { calculateTotalFilters } from "@plane/utils"; // assets import darkViewsAsset from "@/app/assets/empty-state/disabled-feature/views-dark.webp?url"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx index aef45ee768b..e325570d0ba 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx @@ -7,9 +7,10 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { MultipleStickyOutline } from "@makeplane/propel/icons"; -import { Breadcrumbs, Header } from "@plane/ui"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { StickySearch } from "@/components/stickies/modal/search"; @@ -45,15 +46,15 @@ export const WorkspaceStickyHeader = observer(function WorkspaceStickyHeader() { + /> diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx index c852b4d535c..813f791b41f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx @@ -10,11 +10,12 @@ import { useParams } from "next/navigation"; // plane imports import { EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE, DEFAULT_GLOBAL_VIEWS_LIST } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { ViewsOutline } from "@makeplane/propel/icons"; import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, ICustomSearchSelectOption } from "@plane/types"; import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; -import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; +import { Breadcrumbs, BreadcrumbNavigationSearchDropdown } from "@plane/blocks/breadcrumbs"; +import { Header } from "@plane/blocks/header"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { SwitcherLabel } from "@/components/common/switcher-label"; @@ -145,9 +146,13 @@ export const GlobalIssuesHeader = observer(function GlobalIssuesHeader() { /> )} - + +
diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/header.tsx index 7c24c6ba549..7b4f4597f3f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/header.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // plane imports import { WORKSPACE_SETTINGS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Breadcrumbs } from "@plane/ui"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { SettingsPageHeader } from "@/components/settings/page-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx index 5cb9d3c17eb..a157b08b65a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx @@ -8,7 +8,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IWebhook } from "@plane/types"; // ui // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/header.tsx index 0916bf9f05f..5a0393f4dc1 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/header.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // plane imports import { WORKSPACE_SETTINGS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Breadcrumbs } from "@plane/ui"; +import { Breadcrumbs } from "@plane/blocks/breadcrumbs"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { SettingsPageHeader } from "@/components/settings/page-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx index 099a0ee40aa..813af56a24c 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx @@ -10,9 +10,9 @@ import useSWR from "swr"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; // components -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { PageHead } from "@/components/core/page-title"; import { SettingsHeading } from "@/components/settings/heading"; @@ -78,9 +78,13 @@ function WebhooksListPage({ params }: Route.ComponentProps) { title={t("workspace_settings.settings.webhooks.title")} description={t("workspace_settings.settings.webhooks.description")} control={ - + + + - + + /> - + - {onReload && ( - - )} + + + diff --git a/apps/web/core/components/account/auth-forms/forgot-password.tsx b/apps/web/core/components/account/auth-forms/forgot-password.tsx index 71ad47169f0..9846ded9d3f 100644 --- a/apps/web/core/components/account/auth-forms/forgot-password.tsx +++ b/apps/web/core/components/account/auth-forms/forgot-password.tsx @@ -14,10 +14,11 @@ import { TickCircleOutline } from "@makeplane/propel/icons"; import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { useTranslation } from "@plane/i18n"; -import { Button, getButtonStyling } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; -import { cn, checkEmailValidity } from "@plane/utils"; +import { checkEmailValidity } from "@plane/utils"; // hooks import useTimer from "@/hooks/use-timer"; // services @@ -124,18 +125,24 @@ export const ForgotPasswordForm = observer(function ForgotPasswordForm() { - {t("auth.common.back_to_sign_in")} - + ); diff --git a/apps/web/core/components/account/auth-forms/password.tsx b/apps/web/core/components/account/auth-forms/password.tsx index 9b8684cebc6..d0d893d33cc 100644 --- a/apps/web/core/components/account/auth-forms/password.tsx +++ b/apps/web/core/components/account/auth-forms/password.tsx @@ -14,8 +14,10 @@ import { Banner } from "@makeplane/propel/components/banner"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { API_BASE_URL, E_PASSWORD_STRENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { PasswordStrengthIndicator, Spinner } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; +import { PasswordStrengthIndicator } from "@plane/blocks/form-fields"; +import { Spinner } from "@plane/blocks/spinner"; import { getPasswordStrength } from "@plane/utils"; // components import { ForgotPasswordPopover } from "@/components/account/auth-forms/forgot-password-popover"; @@ -271,7 +273,7 @@ export const AuthPasswordForm = observer(function AuthPasswordForm(props: Props)
{mode === EAuthModes.SIGN_IN ? ( <> - + {isSMTPConfigured && ( + size="lg" + stretch="full" + label={t("auth.common.sign_in_with_unique_code")} + /> )} ) : ( - + )}
diff --git a/apps/web/core/components/account/auth-forms/reset-password.tsx b/apps/web/core/components/account/auth-forms/reset-password.tsx index a11b05beacb..e20f00dcd09 100644 --- a/apps/web/core/components/account/auth-forms/reset-password.tsx +++ b/apps/web/core/components/account/auth-forms/reset-password.tsx @@ -14,8 +14,8 @@ import { Banner } from "@makeplane/propel/components/banner"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { API_BASE_URL, E_PASSWORD_STRENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { PasswordStrengthIndicator } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { PasswordStrengthIndicator } from "@plane/blocks/form-fields"; // components import { getPasswordStrength } from "@plane/utils"; // helpers @@ -202,9 +202,14 @@ export const ResetPasswordForm = observer(function ResetPasswordForm() { {t("auth.common.password.errors.match")} )} - + + - + ({ columns, data, searchPlaceholder, act
- +
{table.getHeaderGroups().map((headerGroup) => ( {headerGroup.headers.map((header) => ( - + } + > {header.isPlaceholder ? null : (flexRender(header.column.columnDef.header, header.getContext()) as any)} @@ -149,7 +156,7 @@ export function DataTable({ columns, data, searchPlaceholder, act table.getRowModel().rows.map((row) => ( {row.getVisibleCells().map((cell) => ( - + {flexRender(cell.column.columnDef.cell, cell.getContext()) as any} ))} @@ -157,7 +164,7 @@ export function DataTable({ columns, data, searchPlaceholder, act )) ) : ( - + []; @@ -16,13 +16,15 @@ interface TableSkeletonProps { export function TableLoader({ columns, rows }: TableSkeletonProps) { return ( -
+
{columns.map((column, index) => ( - - {typeof column.header === "string" ? column.header : ""} - + ))} @@ -30,7 +32,7 @@ export function TableLoader({ columns, rows }: TableSkeletonProps) { {Array.from({ length: rows }).map((_, rowIndex) => ( {columns.map((_, colIndex) => ( - + ))} diff --git a/apps/web/core/components/analytics/insight-table/root.tsx b/apps/web/core/components/analytics/insight-table/root.tsx index 4a368be04b7..666ad586923 100644 --- a/apps/web/core/components/analytics/insight-table/root.tsx +++ b/apps/web/core/components/analytics/insight-table/root.tsx @@ -7,7 +7,8 @@ import type { ColumnDef, Row, Table } from "@tanstack/react-table"; import { DownloadOutline } from "@makeplane/propel/icons"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; +import { Icon } from "@makeplane/propel/components/icon"; import type { AnalyticsTableDataMap, TAnalyticsTabsBase } from "@plane/types"; import { DataTable } from "./data-table"; import { TableLoader } from "./loader"; @@ -39,11 +40,13 @@ export function InsightTable>( actions={(table: Table) => ( + /> )} /> diff --git a/apps/web/core/components/analytics/loaders.tsx b/apps/web/core/components/analytics/loaders.tsx index c298dd00158..0075294c7be 100644 --- a/apps/web/core/components/analytics/loaders.tsx +++ b/apps/web/core/components/analytics/loaders.tsx @@ -4,7 +4,7 @@ * See the LICENSE file for details. */ -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function ProjectInsightsLoader() { return ( diff --git a/apps/web/core/components/analytics/overview/active-project-item.tsx b/apps/web/core/components/analytics/overview/active-project-item.tsx index 14e97fd0faa..2af4daeadab 100644 --- a/apps/web/core/components/analytics/overview/active-project-item.tsx +++ b/apps/web/core/components/analytics/overview/active-project-item.tsx @@ -5,7 +5,7 @@ */ // plane package imports -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; import { ProjectsOutline } from "@makeplane/propel/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/analytics/overview/active-projects.tsx b/apps/web/core/components/analytics/overview/active-projects.tsx index 1ad22dc5423..2c0cc3c8318 100644 --- a/apps/web/core/components/analytics/overview/active-projects.tsx +++ b/apps/web/core/components/analytics/overview/active-projects.tsx @@ -10,7 +10,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane package imports import { useTranslation } from "@plane/i18n"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // plane web hooks import { useAnalytics } from "@/hooks/store/use-analytics"; import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/analytics/overview/project-insights.tsx b/apps/web/core/components/analytics/overview/project-insights.tsx index 6987ce19450..01f630193a6 100644 --- a/apps/web/core/components/analytics/overview/project-insights.tsx +++ b/apps/web/core/components/analytics/overview/project-insights.tsx @@ -10,7 +10,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane package imports import { useTranslation } from "@plane/i18n"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import type { TChartData } from "@plane/types"; // hooks import { useAnalytics } from "@/hooks/store/use-analytics"; @@ -21,7 +21,7 @@ import AnalyticsSectionWrapper from "../analytics-section-wrapper"; import { ProjectInsightsLoader } from "../loaders"; const RadarChart = lazy(function RadarChart() { - return import("@plane/propel/charts/radar-chart").then((mod) => ({ + return import("@plane/blocks/charts/radar-chart").then((mod) => ({ default: mod.RadarChart, })); }); diff --git a/apps/web/core/components/analytics/select/duration.tsx b/apps/web/core/components/analytics/select/duration.tsx index 7748484fc43..d32a099fe16 100644 --- a/apps/web/core/components/analytics/select/duration.tsx +++ b/apps/web/core/components/analytics/select/duration.tsx @@ -11,7 +11,7 @@ import { CalendarOutline } from "@makeplane/propel/icons"; // plane package imports import { ANALYTICS_DURATION_FILTER_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; // types import type { TDropdownProps } from "@/components/dropdowns/types"; diff --git a/apps/web/core/components/analytics/select/project.tsx b/apps/web/core/components/analytics/select/project.tsx index cc0896c8683..8208eec088e 100644 --- a/apps/web/core/components/analytics/select/project.tsx +++ b/apps/web/core/components/analytics/select/project.tsx @@ -6,11 +6,10 @@ import { observer } from "mobx-react"; // plane package imports -import { getButtonStyling } from "@plane/propel/button"; -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Button } from "@makeplane/propel/elements/button"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; import { ChevronDownOutline, ProjectsOutline } from "@makeplane/propel/icons"; -import { CustomSearchSelect } from "@plane/ui"; -import { cn } from "@plane/utils"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; // hooks import { useProject } from "@/hooks/store/use-project"; @@ -50,7 +49,7 @@ export const ProjectSelect = observer(function ProjectSelect(props: Props) { options={options} className="border-none p-0" customButton={ -
+
+ } customButtonClassName="border-none p-0 bg-transparent hover:bg-transparent w-auto h-auto" multiple diff --git a/apps/web/core/components/analytics/select/select-x-axis.tsx b/apps/web/core/components/analytics/select/select-x-axis.tsx index 6effcfa4da1..031e5e94e8e 100644 --- a/apps/web/core/components/analytics/select/select-x-axis.tsx +++ b/apps/web/core/components/analytics/select/select-x-axis.tsx @@ -6,7 +6,7 @@ // plane package imports import type { ChartXAxisProperty } from "@plane/types"; -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; type Props = { value?: ChartXAxisProperty; diff --git a/apps/web/core/components/analytics/select/select-y-axis.tsx b/apps/web/core/components/analytics/select/select-y-axis.tsx index 0d0470eebbd..8d1e7020be8 100644 --- a/apps/web/core/components/analytics/select/select-y-axis.tsx +++ b/apps/web/core/components/analytics/select/select-y-axis.tsx @@ -10,7 +10,7 @@ import { EEstimateSystem } from "@plane/constants"; import { ProjectsOutline } from "@makeplane/propel/icons"; import type { ChartYAxisMetric } from "@plane/types"; // plane package imports -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; // hooks import { useProjectEstimates } from "@/hooks/store/estimates"; // plane web constants diff --git a/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx b/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx index c4723c07b39..375304c0680 100644 --- a/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx +++ b/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx @@ -10,8 +10,8 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane package imports import { useTranslation } from "@plane/i18n"; -import { AreaChart } from "@plane/propel/charts/area-chart"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { AreaChart } from "@plane/blocks/charts/area-chart"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import type { IChartResponse, TChartData } from "@plane/types"; import { renderFormattedDate } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/analytics/work-items/modal/content.tsx b/apps/web/core/components/analytics/work-items/modal/content.tsx index 259dec20cac..097590cefe5 100644 --- a/apps/web/core/components/analytics/work-items/modal/content.tsx +++ b/apps/web/core/components/analytics/work-items/modal/content.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import { Tab } from "@headlessui/react"; // plane package imports import type { ICycle, IModule, IProject } from "@plane/types"; -import { Spinner } from "@plane/ui"; +import { Spinner } from "@plane/blocks/spinner"; // hooks import { useAnalytics } from "@/hooks/store/use-analytics"; // plane web components diff --git a/apps/web/core/components/analytics/work-items/modal/index.tsx b/apps/web/core/components/analytics/work-items/modal/index.tsx index a284ba93c89..99cdc976b26 100644 --- a/apps/web/core/components/analytics/work-items/modal/index.tsx +++ b/apps/web/core/components/analytics/work-items/modal/index.tsx @@ -7,7 +7,7 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; // plane package imports -import { ModalPortal, EPortalWidth, EPortalPosition } from "@plane/propel/portal"; +import { ModalPortal, EPortalWidth, EPortalPosition } from "@plane/blocks/portal"; import type { ICycle, IModule, IProject } from "@plane/types"; import { useAnalytics } from "@/hooks/store/use-analytics"; // plane web components diff --git a/apps/web/core/components/analytics/work-items/priority-chart.tsx b/apps/web/core/components/analytics/work-items/priority-chart.tsx index 97adc633aed..f1c97b53021 100644 --- a/apps/web/core/components/analytics/work-items/priority-chart.tsx +++ b/apps/web/core/components/analytics/work-items/priority-chart.tsx @@ -15,9 +15,10 @@ import { DownloadOutline } from "@makeplane/propel/icons"; import type { ChartXAxisDateGrouping } from "@plane/constants"; import { ANALYTICS_X_AXIS_VALUES, ANALYTICS_Y_AXIS_VALUES, CHART_COLOR_PALETTES, EChartModels } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { BarChart } from "@plane/propel/charts/bar-chart"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { Button } from "@makeplane/propel/components/button"; +import { Icon } from "@makeplane/propel/components/icon"; +import { BarChart } from "@plane/blocks/charts/bar-chart"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import type { TBarItem, TChart, TChartDatum, ChartXAxisProperty, ChartYAxisMetric } from "@plane/types"; // plane web components import { generateExtendedColors, parseChartData } from "@/components/chart/utils"; @@ -228,11 +229,13 @@ const PriorityChart = observer(function PriorityChart(props: Props) { actions={(table: Table) => ( + /> )} /> diff --git a/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx b/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx index 60dbef70dc5..47010d424e6 100644 --- a/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx +++ b/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx @@ -12,7 +12,7 @@ import useSWR from "swr"; import { ProjectsOutline, UserOutline } from "@makeplane/propel/icons"; import { Avatar } from "@makeplane/propel/components/avatar"; import { useTranslation } from "@plane/i18n"; -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; // plane package imports import type { AnalyticsTableDataMap, WorkItemInsightColumns } from "@plane/types"; // plane web components diff --git a/apps/web/core/components/api-token/delete-token-modal.tsx b/apps/web/core/components/api-token/delete-token-modal.tsx index 58a93394c1a..07a4af6e1f5 100644 --- a/apps/web/core/components/api-token/delete-token-modal.tsx +++ b/apps/web/core/components/api-token/delete-token-modal.tsx @@ -8,11 +8,11 @@ import { useState } from "react"; import { mutate } from "swr"; // types import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { APITokenService } from "@plane/services"; import type { IApiToken } from "@plane/types"; // ui -import { AlertModalCore } from "@plane/ui"; +import { AlertModalCore } from "@plane/blocks/modals"; // fetch-keys import { API_TOKENS_LIST } from "@plane/constants"; diff --git a/apps/web/core/components/api-token/empty-state.tsx b/apps/web/core/components/api-token/empty-state.tsx index 944d19e34be..c2a3470f941 100644 --- a/apps/web/core/components/api-token/empty-state.tsx +++ b/apps/web/core/components/api-token/empty-state.tsx @@ -6,7 +6,7 @@ import React from "react"; // ui -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; // assets import emptyApiTokens from "@/app/assets/empty-state/api-token.svg?url"; @@ -27,9 +27,14 @@ export function ApiTokenEmptyState(props: Props) {

Create API tokens for safe and easy data sharing with external apps, maintaining control and security.

- + - + + + + - + + /> )} {secondaryButton} diff --git a/apps/web/core/components/common/filters/created-by.tsx b/apps/web/core/components/common/filters/created-by.tsx index f70cef7ae5c..840482c2ac4 100644 --- a/apps/web/core/components/common/filters/created-by.tsx +++ b/apps/web/core/components/common/filters/created-by.tsx @@ -9,7 +9,7 @@ import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; // ui import { Avatar } from "@makeplane/propel/components/avatar"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { getFileURL } from "@plane/utils"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/common/layout-error-boundary.tsx b/apps/web/core/components/common/layout-error-boundary.tsx index ead42f58794..d94cc029e14 100644 --- a/apps/web/core/components/common/layout-error-boundary.tsx +++ b/apps/web/core/components/common/layout-error-boundary.tsx @@ -8,7 +8,7 @@ import { Component, Fragment } from "react"; import type { ErrorInfo, ReactNode } from "react"; import { WarningTriangleOutline } from "@makeplane/propel/icons"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; type Props = { children: ReactNode; @@ -26,9 +26,7 @@ function LayoutErrorFallback({ onRetry }: { onRetry: () => void }) {

{t("something_went_wrong")}

- +
); } diff --git a/apps/web/core/components/common/new-empty-state.tsx b/apps/web/core/components/common/new-empty-state.tsx index 742ea3a6a88..232bc13f35d 100644 --- a/apps/web/core/components/common/new-empty-state.tsx +++ b/apps/web/core/components/common/new-empty-state.tsx @@ -7,7 +7,7 @@ import React, { useState } from "react"; // ui -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; type Props = { title: string; @@ -50,9 +50,14 @@ export function NewEmptyState({ title, description, image, primaryButton, disabl
{primaryButton && ( + + /> )}
diff --git a/apps/web/core/components/core/filters/date-filter-modal.tsx b/apps/web/core/components/core/filters/date-filter-modal.tsx index 1fcbecbd79b..98a4e460b71 100644 --- a/apps/web/core/components/core/filters/date-filter-modal.tsx +++ b/apps/web/core/components/core/filters/date-filter-modal.tsx @@ -5,10 +5,10 @@ */ import { Controller, useForm } from "react-hook-form"; -import { Button } from "@plane/propel/button"; -import { Calendar } from "@plane/propel/calendar"; +import { Button } from "@makeplane/propel/components/button"; +import { Calendar } from "@makeplane/propel/components/calendar"; import { CloseOutline } from "@makeplane/propel/icons"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { renderFormattedPayloadDate, renderFormattedDate, getDate } from "@plane/utils"; import { DateFilterSelect } from "./date-filter-select"; type Props = { @@ -72,8 +72,6 @@ export function DateFilterModal({ title, handleClose, isOpen, onSelect }: Props) const date2Value = getDate(watch("date2")); return ( { @@ -81,6 +79,7 @@ export function DateFilterModal({ title, handleClose, isOpen, onSelect }: Props) onChange(date); }} mode="single" + showOutsideDays disabled={date2Value ? [{ after: date2Value }] : undefined} /> ); @@ -95,8 +94,6 @@ export function DateFilterModal({ title, handleClose, isOpen, onSelect }: Props) const date1Value = getDate(watch("date1")); return ( { @@ -104,6 +101,7 @@ export function DateFilterModal({ title, handleClose, isOpen, onSelect }: Props) onChange(date); }} mode="single" + showOutsideDays disabled={date1Value ? [{ before: date1Value }] : undefined} /> ); @@ -120,18 +118,16 @@ export function DateFilterModal({ title, handleClose, isOpen, onSelect }: Props) )}
- + + />
diff --git a/apps/web/core/components/core/filters/date-filter-select.tsx b/apps/web/core/components/core/filters/date-filter-select.tsx index 13c18350476..81faa5ed1e8 100644 --- a/apps/web/core/components/core/filters/date-filter-select.tsx +++ b/apps/web/core/components/core/filters/date-filter-select.tsx @@ -7,8 +7,8 @@ import React from "react"; import { CalendarOutline } from "@makeplane/propel/icons"; // ui -import { CalendarAfterIcon, CalendarBeforeIcon } from "@plane/propel/icons"; -import { CustomSelect } from "@plane/ui"; +import { CalendarAfterIcon, CalendarBeforeIcon } from "@plane/blocks/icons"; +import { CustomSelect } from "@plane/blocks/dropdowns"; type Props = { title: string; diff --git a/apps/web/core/components/core/image-picker-popover.tsx b/apps/web/core/components/core/image-picker-popover.tsx index 7b235890cc6..f4517a36026 100644 --- a/apps/web/core/components/core/image-picker-popover.tsx +++ b/apps/web/core/components/core/image-picker-popover.tsx @@ -17,10 +17,11 @@ import { Input, InputGroup } from "@makeplane/propel/components/input"; import { Tab, Tabs, TabsList, TabsPanel } from "@makeplane/propel/components/tabs"; import { ACCEPTED_COVER_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants"; import { useOutsideClickDetector } from "@plane/hooks"; -import { Button, getButtonStyling } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { EFileAssetType } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // helpers import { STATIC_COVER_IMAGES, getCoverImageDisplayURL } from "@/helpers/cover-image.helper"; // hooks @@ -193,9 +194,14 @@ function ImagePickerPopoverComponent - + } + > {label} - + {isOpen && ( )} /> - + + /> + /> diff --git a/apps/web/core/components/core/list/list-item.tsx b/apps/web/core/components/core/list/list-item.tsx index 49b49e8167f..6a42196a4b7 100644 --- a/apps/web/core/components/core/list/list-item.tsx +++ b/apps/web/core/components/core/list/list-item.tsx @@ -7,7 +7,8 @@ import React from "react"; // ui import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { ControlLink, Row } from "@plane/ui"; +import { ControlLink } from "@plane/blocks/control-link"; +import { Row } from "@plane/blocks/row"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/core/list/list-root.tsx b/apps/web/core/components/core/list/list-root.tsx index efe787e6472..66c83a9af61 100644 --- a/apps/web/core/components/core/list/list-root.tsx +++ b/apps/web/core/components/core/list/list-root.tsx @@ -5,7 +5,7 @@ */ import React from "react"; -import { Row, ERowVariant } from "@plane/ui"; +import { Row, ERowVariant } from "@plane/blocks/row"; interface IListContainer { children: React.ReactNode; diff --git a/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx b/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx index 0c89899a29a..1b895a406fa 100644 --- a/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx +++ b/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx @@ -13,12 +13,13 @@ import { useForm } from "react-hook-form"; import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { SearchOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { ISearchIssueResponse, IUser } from "@plane/types"; import { EIssuesStoreType } from "@plane/types"; -import { Loader, EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // assets import darkIssuesAsset from "@/app/assets/empty-state/search/issues-dark.webp?url"; import lightIssuesAsset from "@/app/assets/empty-state/search/issues-light.webp?url"; @@ -199,12 +200,15 @@ export const BulkDeleteIssuesModal = observer(function BulkDeleteIssuesModal(pro {issues.length > 0 && (
- - +
)} diff --git a/apps/web/core/components/core/modals/change-email-modal.tsx b/apps/web/core/components/core/modals/change-email-modal.tsx index 73cd2e546d2..85ffb294ac2 100644 --- a/apps/web/core/components/core/modals/change-email-modal.tsx +++ b/apps/web/core/components/core/modals/change-email-modal.tsx @@ -11,9 +11,9 @@ import { Controller, useForm } from "react-hook-form"; import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { cn } from "@plane/utils"; // helpers import { authErrorHandler } from "@/helpers/authentication.helper"; @@ -205,16 +205,28 @@ export const ChangeEmailModal = observer(function ChangeEmailModal(props: Props) )}
- - +
diff --git a/apps/web/core/components/core/modals/existing-issues-list-modal.tsx b/apps/web/core/components/core/modals/existing-issues-list-modal.tsx index f0967c87e04..1ae04ac58a5 100644 --- a/apps/web/core/components/core/modals/existing-issues-list-modal.tsx +++ b/apps/web/core/components/core/modals/existing-issues-list-modal.tsx @@ -10,13 +10,14 @@ import { Combobox } from "@headlessui/react"; // i18n import { useTranslation } from "@plane/i18n"; // types -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { ISearchIssueResponse, TProjectIssuesSearchParams } from "@plane/types"; // ui import { Switch } from "@makeplane/propel/components/switch"; -import { Loader, EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { generateWorkItemLink, getTabIndex } from "@plane/utils"; // helpers // hooks @@ -313,26 +314,27 @@ export function ExistingIssuesListModal(props: Props) {
+ />
- + + />
diff --git a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx b/apps/web/core/components/core/modals/gpt-assistant-popover.tsx index 58423c5f93f..2945f9b3547 100644 --- a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx +++ b/apps/web/core/components/core/modals/gpt-assistant-popover.tsx @@ -14,8 +14,8 @@ import { Popover, Transition } from "@headlessui/react"; // plane imports import { Input, InputGroup } from "@makeplane/propel/components/input"; import type { EditorRefApi } from "@plane/editor"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; // components import { RichTextEditor } from "@/components/editor/rich-text"; @@ -181,13 +181,14 @@ export function GptAssistantPopover(props: Props) { const responseActionButton = response !== "" && ( + /> ); const generateResponseButtonText = isSubmitting @@ -290,12 +291,15 @@ export function GptAssistantPopover(props: Props) { )}
- - +
diff --git a/apps/web/core/components/core/modals/user-image-upload-modal.tsx b/apps/web/core/components/core/modals/user-image-upload-modal.tsx index 5bca711edc0..66ced8d1d2a 100644 --- a/apps/web/core/components/core/modals/user-image-upload-modal.tsx +++ b/apps/web/core/components/core/modals/user-image-upload-modal.tsx @@ -9,11 +9,11 @@ import { observer } from "mobx-react"; import { useDropzone } from "react-dropzone"; // plane imports import { ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { UserOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { EFileAssetType } from "@plane/types"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { getAssetIdFromUrl, getFileURL, checkURLValidity } from "@plane/utils"; // services import { FileService } from "@/services/file.service"; @@ -69,7 +69,7 @@ export const UserImageUploadModal = observer(function UserImageUploadModal(props title: "Error!", message: error?.toString() ?? "Something went wrong. Please try again.", }); - throw new Error("Error in uploading file."); + throw new Error("Error in uploading file.", { cause: error }); } finally { setIsImageUploading(false); } @@ -143,16 +143,25 @@ export const UserImageUploadModal = observer(function UserImageUploadModal(props

File formats supported- .jpeg, .jpg, .png, .webp

- + - +
diff --git a/apps/web/core/components/core/modals/workspace-image-upload-modal.tsx b/apps/web/core/components/core/modals/workspace-image-upload-modal.tsx index 2eead1677e7..73797ae1b25 100644 --- a/apps/web/core/components/core/modals/workspace-image-upload-modal.tsx +++ b/apps/web/core/components/core/modals/workspace-image-upload-modal.tsx @@ -10,11 +10,11 @@ import { useParams } from "next/navigation"; import { useDropzone } from "react-dropzone"; // plane imports import { ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { UserOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { EFileAssetType } from "@plane/types"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { getAssetIdFromUrl, getFileURL, checkURLValidity } from "@plane/utils"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; @@ -156,16 +156,26 @@ export const WorkspaceImageUploadModal = observer(function WorkspaceImageUploadM

File formats supported- .jpeg, .jpg, .png, .webp

- + - +
diff --git a/apps/web/core/components/core/sidebar/progress-chart.tsx b/apps/web/core/components/core/sidebar/progress-chart.tsx index a5b99a9cddf..c64b34888c0 100644 --- a/apps/web/core/components/core/sidebar/progress-chart.tsx +++ b/apps/web/core/components/core/sidebar/progress-chart.tsx @@ -6,7 +6,7 @@ import React from "react"; // plane imports -import { AreaChart } from "@plane/propel/charts/area-chart"; +import { AreaChart } from "@plane/blocks/charts/area-chart"; import type { TChartData, TModuleCompletionChartDistribution } from "@plane/types"; import { renderFormattedDateWithoutYear } from "@plane/utils"; diff --git a/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx b/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx index bcc4fdb7657..bf5b4c29390 100644 --- a/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx +++ b/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // plane imports -import { StateGroupIcon } from "@plane/propel/icons"; +import { StateGroupIcon } from "@plane/blocks/icons"; import type { TStateGroups } from "@plane/types"; // components import { SingleProgressStats } from "@/components/core/sidebar/single-progress-stats"; diff --git a/apps/web/core/components/core/theme/color-inputs.tsx b/apps/web/core/components/core/theme/color-inputs.tsx index bb3f7995279..c617ba17b8c 100644 --- a/apps/web/core/components/core/theme/color-inputs.tsx +++ b/apps/web/core/components/core/theme/color-inputs.tsx @@ -9,7 +9,7 @@ import type { Control } from "react-hook-form"; import { Controller } from "react-hook-form"; // plane imports import type { IUserTheme } from "@plane/types"; -import { InputColorPicker } from "@plane/ui"; +import { InputColorPicker } from "@plane/blocks/form-fields"; type Props = { control: Control; diff --git a/apps/web/core/components/core/theme/custom-theme-selector.tsx b/apps/web/core/components/core/theme/custom-theme-selector.tsx index 47307776d85..b1e38bad6c4 100644 --- a/apps/web/core/components/core/theme/custom-theme-selector.tsx +++ b/apps/web/core/components/core/theme/custom-theme-selector.tsx @@ -9,8 +9,8 @@ import { observer } from "mobx-react"; import { useForm } from "react-hook-form"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUserTheme } from "@plane/types"; import { applyCustomTheme } from "@plane/utils"; // components @@ -116,9 +116,14 @@ export const CustomThemeSelector = observer(function CustomThemeSelector() {
{/* Save Theme Button */} - +
diff --git a/apps/web/core/components/core/theme/download-config-button.tsx b/apps/web/core/components/core/theme/download-config-button.tsx index c2ffc0bc3d8..61d753095b0 100644 --- a/apps/web/core/components/core/theme/download-config-button.tsx +++ b/apps/web/core/components/core/theme/download-config-button.tsx @@ -8,8 +8,8 @@ import { observer } from "mobx-react"; import type { UseFormGetValues } from "react-hook-form"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { setToast, TOAST_TYPE } from "@plane/blocks/toast"; import type { IUserTheme } from "@plane/types"; type Props = { @@ -58,8 +58,13 @@ export const CustomThemeDownloadConfigButton = observer(function CustomThemeDown }; return ( - + + - + - + + label="Transfer work items" + /> )} diff --git a/apps/web/core/components/dropdowns/buttons.tsx b/apps/web/core/components/dropdowns/buttons.tsx index 6bd59d701e2..7f3f8392396 100644 --- a/apps/web/core/components/dropdowns/buttons.tsx +++ b/apps/web/core/components/dropdowns/buttons.tsx @@ -6,7 +6,7 @@ import React from "react"; // helpers -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import { cn } from "@plane/utils"; // types @@ -78,14 +78,20 @@ function BorderButton(props: ButtonProps) { > @@ -104,11 +110,17 @@ function BackgroundButton(props: ButtonProps) { > @@ -127,14 +139,20 @@ function TransparentButton(props: ButtonProps) { > diff --git a/apps/web/core/components/dropdowns/cycle/cycle-options.tsx b/apps/web/core/components/dropdowns/cycle/cycle-options.tsx index a34998ffd56..04e4f82fd2d 100644 --- a/apps/web/core/components/dropdowns/cycle/cycle-options.tsx +++ b/apps/web/core/components/dropdowns/cycle/cycle-options.tsx @@ -14,7 +14,7 @@ import { Combobox } from "@headlessui/react"; // i18n import { useTranslation } from "@plane/i18n"; // icon -import { CycleGroupIcon } from "@plane/propel/icons"; +import { CycleGroupIcon } from "@plane/blocks/icons"; import { CyclesOutline, SearchOutline, TickOutline } from "@makeplane/propel/icons"; import type { TCycleGroups } from "@plane/types"; // ui diff --git a/apps/web/core/components/dropdowns/cycle/index.tsx b/apps/web/core/components/dropdowns/cycle/index.tsx index 9d0b90ee18b..7e681670f6f 100644 --- a/apps/web/core/components/dropdowns/cycle/index.tsx +++ b/apps/web/core/components/dropdowns/cycle/index.tsx @@ -10,7 +10,7 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; // ui import { ChevronDownOutline, CyclesOutline } from "@makeplane/propel/icons"; -import { ComboDropDown } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/dropdowns/date-range.tsx b/apps/web/core/components/dropdowns/date-range.tsx index 87c842b27e0..b2af2059072 100644 --- a/apps/web/core/components/dropdowns/date-range.tsx +++ b/apps/web/core/components/dropdowns/date-range.tsx @@ -14,9 +14,8 @@ import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; // ui -import type { DateRange, Matcher } from "@plane/propel/calendar"; -import { Calendar } from "@plane/propel/calendar"; -import { ComboDropDown } from "@plane/ui"; +import { Calendar } from "@makeplane/propel/components/calendar"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; import { cn, renderFormattedDate } from "@plane/utils"; // helpers // hooks @@ -28,6 +27,10 @@ import { MergedDateDisplay } from "./merged-date"; // types import type { TButtonVariants } from "./types"; +// react-day-picker types used by this dropdown (not re-exported by @makeplane/propel) +type DateRange = { from: Date | undefined; to?: Date | undefined }; +type Matcher = { before: Date } | { after: Date }; + type Props = { applyButtonText?: string; bothRequired?: boolean; @@ -263,8 +266,6 @@ export const DateRangeDropdown = observer(function DateRangeDropdown(props: Prop {...attributes.popper} > { onSelect?.(val); @@ -274,7 +275,7 @@ export const DateRangeDropdown = observer(function DateRangeDropdown(props: Prop showOutsideDays fixedWeeks weekStartsOn={startOfWeek} - initialFocus + autoFocus /> diff --git a/apps/web/core/components/dropdowns/date.tsx b/apps/web/core/components/dropdowns/date.tsx index 2deffeba084..2eed600439f 100644 --- a/apps/web/core/components/dropdowns/date.tsx +++ b/apps/web/core/components/dropdowns/date.tsx @@ -11,9 +11,8 @@ import { usePopper } from "react-popper"; import { CalendarOutline, CloseOutline } from "@makeplane/propel/icons"; import { Combobox } from "@headlessui/react"; // ui -import type { Matcher } from "@plane/propel/calendar"; -import { Calendar } from "@plane/propel/calendar"; -import { ComboDropDown } from "@plane/ui"; +import { Calendar } from "@makeplane/propel/components/calendar"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; import { cn, renderFormattedDate, getDate } from "@plane/utils"; // helpers // hooks @@ -26,6 +25,9 @@ import { BUTTON_VARIANTS_WITH_TEXT } from "./constants"; // types import type { TDropdownProps } from "./types"; +// react-day-picker matcher subset used to disable days outside the min/max range +type Matcher = { before: Date } | { after: Date }; + type Props = TDropdownProps & { clearIconClassName?: string; defaultOpen?: boolean; @@ -191,15 +193,13 @@ export const DateDropdown = observer(function DateDropdown(props: Props) { {...attributes.popper} > { dropdownOnChange(date ?? null); }} showOutsideDays - initialFocus + autoFocus disabled={disabledDays} mode="single" fixedWeeks diff --git a/apps/web/core/components/dropdowns/estimate.tsx b/apps/web/core/components/dropdowns/estimate.tsx index be37908e139..3befaae6ead 100644 --- a/apps/web/core/components/dropdowns/estimate.tsx +++ b/apps/web/core/components/dropdowns/estimate.tsx @@ -14,7 +14,7 @@ import { Combobox } from "@headlessui/react"; import { useTranslation } from "@plane/i18n"; import { ChevronDownOutline, EstimateOutline, SearchOutline, TickOutline } from "@makeplane/propel/icons"; import { EEstimateSystem } from "@plane/types"; -import { ComboDropDown } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; import { convertMinutesToHoursMinutesString, cn } from "@plane/utils"; // hooks import { useProjectEstimates } from "@/hooks/store/estimates"; diff --git a/apps/web/core/components/dropdowns/intake-state/base.tsx b/apps/web/core/components/dropdowns/intake-state/base.tsx index 8f11176d024..2290e321460 100644 --- a/apps/web/core/components/dropdowns/intake-state/base.tsx +++ b/apps/web/core/components/dropdowns/intake-state/base.tsx @@ -11,10 +11,11 @@ import { usePopper } from "react-popper"; import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { IntakeStateGroupIcon } from "@plane/propel/icons"; +import { IntakeStateGroupIcon } from "@plane/blocks/icons"; import { ChevronDownOutline, SearchOutline } from "@makeplane/propel/icons"; import type { IIntakeState } from "@plane/types"; -import { ComboDropDown, Spinner } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; +import { Spinner } from "@plane/blocks/spinner"; import { cn } from "@plane/utils"; // components import { DropdownButton } from "@/components/dropdowns/buttons"; diff --git a/apps/web/core/components/dropdowns/layout.tsx b/apps/web/core/components/dropdowns/layout.tsx index 8695f2adc00..d380621e5eb 100644 --- a/apps/web/core/components/dropdowns/layout.tsx +++ b/apps/web/core/components/dropdowns/layout.tsx @@ -11,8 +11,8 @@ import { ISSUE_LAYOUT_MAP } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TickOutline } from "@makeplane/propel/icons"; import { EIssueLayoutTypes } from "@plane/types"; -import { getButtonStyling } from "@plane/propel/button"; -import { Dropdown } from "@plane/ui"; +import { Button } from "@makeplane/propel/elements/button"; +import { Dropdown } from "@plane/blocks/dropdowns"; import { cn } from "@plane/utils"; // components import { IssueLayoutIcon } from "@/components/issues/issue-layouts/layout-icon"; @@ -45,10 +45,12 @@ export const LayoutDropDown = observer(function LayoutDropDown(props: TLayoutDro const buttonContent = useCallback((isOpen: boolean, buttonValue: string | string[] | undefined) => { const dropdownValue = ISSUE_LAYOUT_MAP[buttonValue as EIssueLayoutTypes]; return ( -
- - {t(dropdownValue.i18n_label)} -
+ ); }, []); @@ -74,7 +76,6 @@ export const LayoutDropDown = observer(function LayoutDropDown(props: TLayoutDro value={value?.toString()} keyExtractor={keyExtractor} options={options} - buttonContainerClassName={cn(getButtonStyling("secondary", "lg"))} buttonContent={buttonContent} renderItem={itemContent} disableSearch diff --git a/apps/web/core/components/dropdowns/member/base.tsx b/apps/web/core/components/dropdowns/member/base.tsx index 7a8e9d7ca8f..4abcd1ade90 100644 --- a/apps/web/core/components/dropdowns/member/base.tsx +++ b/apps/web/core/components/dropdowns/member/base.tsx @@ -11,7 +11,7 @@ import { useTranslation } from "@plane/i18n"; import { ChevronDownOutline } from "@makeplane/propel/icons"; // plane imports import type { IUserLite } from "@plane/types"; -import { ComboDropDown } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/dropdowns/member/member-options.tsx b/apps/web/core/components/dropdowns/member/member-options.tsx index 987aac87840..6e89682a8c3 100644 --- a/apps/web/core/components/dropdowns/member/member-options.tsx +++ b/apps/web/core/components/dropdowns/member/member-options.tsx @@ -15,7 +15,7 @@ import { Combobox } from "@headlessui/react"; import { Avatar } from "@makeplane/propel/components/avatar"; import { useTranslation } from "@plane/i18n"; import { DeactivatedUserOutline, SearchOutline, TickOutline } from "@makeplane/propel/icons"; -import { EPillSize, EPillVariant, Pill } from "@plane/propel/pill"; +import { Badge } from "@makeplane/propel/components/badge"; import type { IUserLite } from "@plane/types"; import { cn, getFileURL, sortByCurrentUserThenSelected } from "@plane/utils"; // hooks @@ -183,9 +183,7 @@ export const MemberOptions = observer(function MemberOptions(props: Props) { {option.content} {selected && } {isUserSuspended(option.value, workspaceSlug?.toString()) && ( - - Suspended - + )} )} diff --git a/apps/web/core/components/dropdowns/module/base.tsx b/apps/web/core/components/dropdowns/module/base.tsx index 19e0e646121..37f7c3aa9c1 100644 --- a/apps/web/core/components/dropdowns/module/base.tsx +++ b/apps/web/core/components/dropdowns/module/base.tsx @@ -10,7 +10,7 @@ import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; import type { IModule } from "@plane/types"; -import { ComboDropDown } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; import { cn } from "@plane/utils"; // hooks import { useDropdown } from "@/hooks/use-dropdown"; diff --git a/apps/web/core/components/dropdowns/priority.tsx b/apps/web/core/components/dropdowns/priority.tsx index 28c252a8376..7ecf72013ba 100644 --- a/apps/web/core/components/dropdowns/priority.tsx +++ b/apps/web/core/components/dropdowns/priority.tsx @@ -12,12 +12,12 @@ import { Combobox } from "@headlessui/react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types -import { PriorityIcon } from "@plane/propel/icons"; +import { PriorityIcon } from "@plane/blocks/icons"; import { ChevronDownOutline, SearchOutline, TickOutline } from "@makeplane/propel/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TIssuePriorities } from "@plane/types"; // ui -import { ComboDropDown } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/dropdowns/project/base.tsx b/apps/web/core/components/dropdowns/project/base.tsx index 064b19236ab..0c34aae143e 100644 --- a/apps/web/core/components/dropdowns/project/base.tsx +++ b/apps/web/core/components/dropdowns/project/base.tsx @@ -11,9 +11,9 @@ import { usePopper } from "react-popper"; import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; import { ChevronDownOutline, ProjectsOutline, SearchOutline, TickOutline } from "@makeplane/propel/icons"; -import { ComboDropDown } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; import { cn, sortBySelectedFirst } from "@plane/utils"; // components // hooks diff --git a/apps/web/core/components/dropdowns/state/base.tsx b/apps/web/core/components/dropdowns/state/base.tsx index 19570dcd9fa..04c11d25414 100644 --- a/apps/web/core/components/dropdowns/state/base.tsx +++ b/apps/web/core/components/dropdowns/state/base.tsx @@ -11,10 +11,11 @@ import { usePopper } from "react-popper"; import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { StateGroupIcon } from "@plane/propel/icons"; +import { StateGroupIcon } from "@plane/blocks/icons"; import { ChevronDownOutline, SearchOutline } from "@makeplane/propel/icons"; import type { IState } from "@plane/types"; -import { ComboDropDown, Spinner } from "@plane/ui"; +import { ComboDropDown } from "@plane/blocks/dropdowns"; +import { Spinner } from "@plane/blocks/spinner"; import { cn } from "@plane/utils"; // components import { DropdownButton } from "@/components/dropdowns/buttons"; diff --git a/apps/web/core/components/editor/embeds/mentions/user.tsx b/apps/web/core/components/editor/embeds/mentions/user.tsx index 7264570c660..396867141df 100644 --- a/apps/web/core/components/editor/embeds/mentions/user.tsx +++ b/apps/web/core/components/editor/embeds/mentions/user.tsx @@ -10,7 +10,7 @@ import { Link } from "react-router"; // plane imports import { Avatar } from "@makeplane/propel/components/avatar"; import { ROLE } from "@plane/constants"; -import { Popover } from "@plane/propel/popover"; +import { Popover, PopoverContent, PopoverTrigger } from "@makeplane/propel/components/popover"; import { cn, getFileURL } from "@plane/utils"; // hooks import { useMember } from "@/hooks/store/use-member"; @@ -54,11 +54,9 @@ export const EditorUserMention = observer(function EditorUserMention(props: Prop } )} > - - - @{userDetails?.display_name} - - + + @{userDetails?.display_name}} /> +
@@ -77,7 +75,7 @@ export const EditorUserMention = observer(function EditorUserMention(props: Prop
-
+
); diff --git a/apps/web/core/components/editor/lite-text/toolbar.tsx b/apps/web/core/components/editor/lite-text/toolbar.tsx index e67e2fc55ba..9dae6b9966e 100644 --- a/apps/web/core/components/editor/lite-text/toolbar.tsx +++ b/apps/web/core/components/editor/lite-text/toolbar.tsx @@ -13,9 +13,9 @@ import type { EditorRefApi } from "@plane/editor"; // i18n import { useTranslation } from "@plane/i18n"; // ui -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { GlobeOutline, LockOutline } from "@makeplane/propel/icons"; -import type { ISvgIcons } from "@plane/propel/icons"; +import type { ISvgIcons } from "@plane/blocks/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; // constants import { cn } from "@plane/utils"; @@ -172,13 +172,14 @@ export function IssueCommentToolbar(props: Props) { + /> )} diff --git a/apps/web/core/components/editor/rich-text/description-input/loader.tsx b/apps/web/core/components/editor/rich-text/description-input/loader.tsx index 8be09783740..4259e552b9c 100644 --- a/apps/web/core/components/editor/rich-text/description-input/loader.tsx +++ b/apps/web/core/components/editor/rich-text/description-input/loader.tsx @@ -5,7 +5,7 @@ */ // plane imports -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/web/core/components/editor/rich-text/description-input/root.tsx b/apps/web/core/components/editor/rich-text/description-input/root.tsx index ac2a39bebdc..6475903721e 100644 --- a/apps/web/core/components/editor/rich-text/description-input/root.tsx +++ b/apps/web/core/components/editor/rich-text/description-input/root.tsx @@ -274,7 +274,7 @@ export const DescriptionInput = observer(function DescriptionInput(props: Props) return asset_id; } catch (error) { console.log("Error in uploading asset:", error); - throw new Error("Asset upload failed. Please try again later."); + throw new Error("Asset upload failed. Please try again later.", { cause: error }); } }} duplicateFile={async (assetId: string) => { diff --git a/apps/web/core/components/empty-state/comic-box-button.tsx b/apps/web/core/components/empty-state/comic-box-button.tsx index 222e0531f84..b8fa0c5efc3 100644 --- a/apps/web/core/components/empty-state/comic-box-button.tsx +++ b/apps/web/core/components/empty-state/comic-box-button.tsx @@ -9,7 +9,7 @@ import { Fragment, useState } from "react"; import { usePopper } from "react-popper"; import { Popover } from "@headlessui/react"; // plane imports -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; type Props = { label: string; @@ -49,7 +49,14 @@ export function ComicBoxButton(props: Props) { return ( - + /> ); } diff --git a/apps/web/core/components/estimates/create/modal.tsx b/apps/web/core/components/estimates/create/modal.tsx index 2ef7ce6f2c5..7653d838c84 100644 --- a/apps/web/core/components/estimates/create/modal.tsx +++ b/apps/web/core/components/estimates/create/modal.tsx @@ -9,11 +9,11 @@ import { observer } from "mobx-react"; // plane imports import { EEstimateSystem, ESTIMATE_SYSTEMS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { ChevronLeftOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IEstimateFormData, TEstimateSystemKeys, TEstimatePointsObject, TEstimateTypeError } from "@plane/types"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useProjectEstimates } from "@/hooks/store/estimates"; // local imports @@ -200,13 +200,23 @@ export const CreateEstimateModal = observer(function CreateEstimateModal(props:
- + +
diff --git a/apps/web/core/components/estimates/delete/modal.tsx b/apps/web/core/components/estimates/delete/modal.tsx index e6b39fcdec2..f56d14e52a3 100644 --- a/apps/web/core/components/estimates/delete/modal.tsx +++ b/apps/web/core/components/estimates/delete/modal.tsx @@ -7,9 +7,9 @@ import { useState } from "react"; import { observer } from "mobx-react"; // ui -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useProjectEstimates } from "@/hooks/store/estimates"; import { useEstimate } from "@/hooks/store/estimates/use-estimate"; @@ -76,12 +76,22 @@ export const DeleteEstimateModal = observer(function DeleteEstimateModal(props:
- - +
diff --git a/apps/web/core/components/estimates/estimate-disable-switch.tsx b/apps/web/core/components/estimates/estimate-disable-switch.tsx index dbe77908ef5..805a9bd4ffd 100644 --- a/apps/web/core/components/estimates/estimate-disable-switch.tsx +++ b/apps/web/core/components/estimates/estimate-disable-switch.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Switch } from "@makeplane/propel/components/switch"; // hooks import { useProjectEstimates } from "@/hooks/store/estimates"; diff --git a/apps/web/core/components/estimates/loader-screen.tsx b/apps/web/core/components/estimates/loader-screen.tsx index d858df1d971..22d41ee10cb 100644 --- a/apps/web/core/components/estimates/loader-screen.tsx +++ b/apps/web/core/components/estimates/loader-screen.tsx @@ -4,7 +4,7 @@ * See the LICENSE file for details. */ -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function EstimateLoaderScreen() { return ( diff --git a/apps/web/core/components/estimates/points/create-root.tsx b/apps/web/core/components/estimates/points/create-root.tsx index ab3e984339e..b41f08d4bca 100644 --- a/apps/web/core/components/estimates/points/create-root.tsx +++ b/apps/web/core/components/estimates/points/create-root.tsx @@ -9,10 +9,11 @@ import { useCallback, useState } from "react"; import { observer } from "mobx-react"; // plane imports import { estimateCount } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; +import { Icon } from "@makeplane/propel/components/icon"; import { AddOutline } from "@makeplane/propel/icons"; import type { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeError } from "@plane/types"; -import { Sortable } from "@plane/ui"; +import { Sortable } from "@plane/blocks/sortable"; // local imports import { EstimatePointCreate } from "./create"; import { EstimatePointItemPreview } from "./preview"; @@ -171,9 +172,16 @@ export const EstimatePointCreateRoot = observer(function EstimatePointCreateRoot /> ))} {estimatePoints && estimatePoints.length + (estimatePointCreate?.length || 0) <= estimateCount.max - 1 && ( - + + - + + {Array.isArray(exporterServices?.results) && exporterServices.results.length > 0 && (
+ icon={} + iconPosition="start" + label={t("prev")} + /> + icon={} + iconPosition="end" + label={t("next")} + />
)} diff --git a/apps/web/core/components/exporter/single-export.tsx b/apps/web/core/components/exporter/single-export.tsx index 8bd05281e93..9f67e196c7e 100644 --- a/apps/web/core/components/exporter/single-export.tsx +++ b/apps/web/core/components/exporter/single-export.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; // ui -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IExportData } from "@plane/types"; // helpers import { getDate, renderFormattedDate } from "@plane/utils"; @@ -66,9 +66,7 @@ export function SingleExport({ service, refreshing }: Props) { {service.status == "completed" && ( )} diff --git a/apps/web/core/components/gantt-chart/chart/header.tsx b/apps/web/core/components/gantt-chart/chart/header.tsx index 9fcd7cf322a..9f8beb35c87 100644 --- a/apps/web/core/components/gantt-chart/chart/header.tsx +++ b/apps/web/core/components/gantt-chart/chart/header.tsx @@ -9,7 +9,7 @@ import { ArrowCollapseOutline, FullScreenOutline } from "@makeplane/propel/icons import { useTranslation } from "@plane/i18n"; // plane import type { TGanttViews } from "@plane/types"; -import { Row } from "@plane/ui"; +import { Row } from "@plane/blocks/row"; // components import { cn } from "@plane/utils"; import { VIEWS_LIST } from "@/components/gantt-chart/data"; diff --git a/apps/web/core/components/gantt-chart/helpers/blockResizables/use-gantt-resizable.ts b/apps/web/core/components/gantt-chart/helpers/blockResizables/use-gantt-resizable.ts index cb52f14ba56..96335eeb2fd 100644 --- a/apps/web/core/components/gantt-chart/helpers/blockResizables/use-gantt-resizable.ts +++ b/apps/web/core/components/gantt-chart/helpers/blockResizables/use-gantt-resizable.ts @@ -6,7 +6,7 @@ import { useRef, useState } from "react"; // Plane -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IBlockUpdateDependencyData, IGanttBlock } from "@plane/types"; // hooks import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; diff --git a/apps/web/core/components/gantt-chart/sidebar/gantt-dnd-HOC.tsx b/apps/web/core/components/gantt-chart/sidebar/gantt-dnd-HOC.tsx index fe4bf0bc5e5..feeb67091a9 100644 --- a/apps/web/core/components/gantt-chart/sidebar/gantt-dnd-HOC.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/gantt-dnd-HOC.tsx @@ -10,8 +10,8 @@ import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-d import { attachInstruction, extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; import { observer } from "mobx-react"; import { useOutsideClickDetector } from "@plane/hooks"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { DropIndicator } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; +import { DropIndicator } from "@plane/blocks/sortable"; import { HIGHLIGHT_WITH_LINE, highlightIssueOnDrop } from "@/components/issues/issue-layouts/utils"; type Props = { @@ -94,7 +94,7 @@ export const GanttDnDHOC = observer(function GanttDnDHOC(props: Props) { }, }) ); - }, [blockRef?.current, isLastChild, onDrop]); + }, [isLastChild, onDrop]); useOutsideClickDetector(blockRef, () => blockRef?.current?.classList?.remove(HIGHLIGHT_WITH_LINE)); diff --git a/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx b/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx index e7b4f279a37..651f106de6e 100644 --- a/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx @@ -7,7 +7,7 @@ import { observer } from "mobx-react"; // plane imports import type { IGanttBlock } from "@plane/types"; -import { Row } from "@plane/ui"; +import { Row } from "@plane/blocks/row"; import { cn } from "@plane/utils"; // components import { MultipleSelectEntityAction } from "@/components/core/multiple-select"; diff --git a/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx b/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx index 7178f054769..0b37fab630e 100644 --- a/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx @@ -10,7 +10,7 @@ import { observer } from "mobx-react"; // ui import { GANTT_TIMELINE_TYPE } from "@plane/types"; import type { IBlockUpdateData } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import RenderIfVisible from "@/components/core/render-if-visible-HOC"; import { GanttLayoutListItemLoader } from "@/components/ui/loader/layouts/gantt-layout-loader"; diff --git a/apps/web/core/components/gantt-chart/sidebar/modules/block.tsx b/apps/web/core/components/gantt-chart/sidebar/modules/block.tsx index 78ec85453e8..cc61def7a2f 100644 --- a/apps/web/core/components/gantt-chart/sidebar/modules/block.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/modules/block.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // Plane -import { Row } from "@plane/ui"; +import { Row } from "@plane/blocks/row"; // components import { cn } from "@plane/utils"; import { BLOCK_HEIGHT } from "@/components/gantt-chart/constants"; diff --git a/apps/web/core/components/gantt-chart/sidebar/modules/sidebar.tsx b/apps/web/core/components/gantt-chart/sidebar/modules/sidebar.tsx index 0bfaa7c80b5..8e8d20a9a0e 100644 --- a/apps/web/core/components/gantt-chart/sidebar/modules/sidebar.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/modules/sidebar.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // ui import { GANTT_TIMELINE_TYPE } from "@plane/types"; import type { IBlockUpdateData } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components // hooks import { useTimeLineChart } from "@/hooks/use-timeline-chart"; diff --git a/apps/web/core/components/gantt-chart/sidebar/root.tsx b/apps/web/core/components/gantt-chart/sidebar/root.tsx index 6d55bb3f049..cfc923ab56e 100644 --- a/apps/web/core/components/gantt-chart/sidebar/root.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/root.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; // components import type { IBlockUpdateData } from "@plane/types"; -import { Row, ERowVariant } from "@plane/ui"; +import { Row, ERowVariant } from "@plane/blocks/row"; import { cn } from "@plane/utils"; import { MultipleSelectGroupAction } from "@/components/core/multiple-select"; // helpers diff --git a/apps/web/core/components/global/product-updates/changelog.tsx b/apps/web/core/components/global/product-updates/changelog.tsx index cfddb2af4f2..4dcf7a7492a 100644 --- a/apps/web/core/components/global/product-updates/changelog.tsx +++ b/apps/web/core/components/global/product-updates/changelog.tsx @@ -7,7 +7,7 @@ import { useState, useEffect, useRef } from "react"; import { observer } from "mobx-react"; // hooks -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; import { ProductUpdatesFallback } from "@/components/global/product-updates/fallback"; import { useInstance } from "@/hooks/store/use-instance"; diff --git a/apps/web/core/components/global/product-updates/fallback.tsx b/apps/web/core/components/global/product-updates/fallback.tsx index 57ed75f9583..56ff87d1e4a 100644 --- a/apps/web/core/components/global/product-updates/fallback.tsx +++ b/apps/web/core/components/global/product-updates/fallback.tsx @@ -4,7 +4,7 @@ * See the LICENSE file for details. */ -import { EmptyStateDetailed } from "@plane/propel/empty-state"; +import { EmptyStateDetailed } from "@plane/blocks/empty-state"; type TProductUpdatesFallbackProps = { description: string; diff --git a/apps/web/core/components/global/product-updates/footer.tsx b/apps/web/core/components/global/product-updates/footer.tsx index 09965aac3e3..0713542dd11 100644 --- a/apps/web/core/components/global/product-updates/footer.tsx +++ b/apps/web/core/components/global/product-updates/footer.tsx @@ -6,10 +6,8 @@ import { useTranslation } from "@plane/i18n"; // ui -import { getButtonStyling } from "@plane/propel/button"; -import { PlaneLogo } from "@plane/propel/icons"; -// helpers -import { cn } from "@plane/utils"; +import { Button } from "@makeplane/propel/elements/button"; +import { PlaneLogo } from "@plane/blocks/icons"; export function ProductUpdatesFooter() { const { t } = useTranslation(); @@ -58,18 +56,22 @@ export function ProductUpdatesFooter() { Forum - + } > {t("powered_by_plane_pages")} - + ); } diff --git a/apps/web/core/components/global/product-updates/modal.tsx b/apps/web/core/components/global/product-updates/modal.tsx index 44100facb58..0cdb62b5707 100644 --- a/apps/web/core/components/global/product-updates/modal.tsx +++ b/apps/web/core/components/global/product-updates/modal.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // ui -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // components import { ProductUpdatesFooter } from "@/components/global"; // plane web components diff --git a/apps/web/core/components/global/timezone-select.tsx b/apps/web/core/components/global/timezone-select.tsx index a4d692a5574..2a2d826b987 100644 --- a/apps/web/core/components/global/timezone-select.tsx +++ b/apps/web/core/components/global/timezone-select.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // plane imports -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; import { cn } from "@plane/utils"; // hooks import useTimezone from "@/hooks/use-timezone"; diff --git a/apps/web/core/components/home/root.tsx b/apps/web/core/components/home/root.tsx index e01028f8f97..f57623192c1 100644 --- a/apps/web/core/components/home/root.tsx +++ b/apps/web/core/components/home/root.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR from "swr"; // plane imports -import { ContentWrapper } from "@plane/ui"; +import { ContentWrapper } from "@plane/blocks/content-wrapper"; // hooks import { useHome } from "@/hooks/store/use-home"; import { useUserProfile, useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/home/widgets/empty-states/links.tsx b/apps/web/core/components/home/widgets/empty-states/links.tsx index bd0350c6923..c5ae347e8c6 100644 --- a/apps/web/core/components/home/widgets/empty-states/links.tsx +++ b/apps/web/core/components/home/widgets/empty-states/links.tsx @@ -5,7 +5,7 @@ */ import { useTranslation } from "@plane/i18n"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; export function LinksEmptyState() { const { t } = useTranslation(); diff --git a/apps/web/core/components/home/widgets/empty-states/recents.tsx b/apps/web/core/components/home/widgets/empty-states/recents.tsx index 0b219f60f86..f6c4d6f1b0f 100644 --- a/apps/web/core/components/home/widgets/empty-states/recents.tsx +++ b/apps/web/core/components/home/widgets/empty-states/recents.tsx @@ -5,8 +5,8 @@ */ import { useTranslation } from "@plane/i18n"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; -import type { CompactAssetType } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; +import type { CompactAssetType } from "@plane/blocks/empty-state"; const getDisplayContent = (type: string): { assetKey: CompactAssetType; text: string } => { switch (type) { diff --git a/apps/web/core/components/home/widgets/empty-states/stickies.tsx b/apps/web/core/components/home/widgets/empty-states/stickies.tsx index d8798dc4f52..6f661533f9c 100644 --- a/apps/web/core/components/home/widgets/empty-states/stickies.tsx +++ b/apps/web/core/components/home/widgets/empty-states/stickies.tsx @@ -5,7 +5,7 @@ */ import { useTranslation } from "@plane/i18n"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; export function StickiesEmptyState() { const { t } = useTranslation(); diff --git a/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx b/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx index e79933fa7a5..448bda5c64d 100644 --- a/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx +++ b/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx @@ -12,9 +12,9 @@ import { Controller, useForm } from "react-hook-form"; import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { TLinkEditableFields } from "@plane/types"; -import { ModalCore } from "@plane/ui"; +import { ModalCore } from "@plane/blocks/modals"; import type { TLinkOperations } from "./use-links"; export type TLinkOperationsModal = Exclude; @@ -134,13 +134,17 @@ export const LinkCreateUpdateModal = observer(function LinkCreateUpdateModal(pro
- - +
diff --git a/apps/web/core/components/home/widgets/links/link-detail.tsx b/apps/web/core/components/home/widgets/links/link-detail.tsx index 23918166421..bbae5a5ec1a 100644 --- a/apps/web/core/components/home/widgets/links/link-detail.tsx +++ b/apps/web/core/components/home/widgets/links/link-detail.tsx @@ -9,9 +9,9 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { DeleteOutline, EditOutline, LinkOutline, NewTabOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import type { TContextMenuItem } from "@plane/ui"; -import { LinkItemBlock } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; +import type { TContextMenuItem } from "@plane/blocks/dropdowns"; +import { LinkItemBlock } from "@plane/blocks/link"; // plane utils import { copyTextToClipboard } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/home/widgets/links/use-links.tsx b/apps/web/core/components/home/widgets/links/use-links.tsx index 72da254219e..39f55ee1b32 100644 --- a/apps/web/core/components/home/widgets/links/use-links.tsx +++ b/apps/web/core/components/home/widgets/links/use-links.tsx @@ -6,7 +6,7 @@ import { useMemo } from "react"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TProjectLink } from "@plane/types"; import { useHome } from "@/hooks/store/use-home"; diff --git a/apps/web/core/components/home/widgets/loaders/home-loader.tsx b/apps/web/core/components/home/widgets/loaders/home-loader.tsx index 571ef807335..59d0716769f 100644 --- a/apps/web/core/components/home/widgets/loaders/home-loader.tsx +++ b/apps/web/core/components/home/widgets/loaders/home-loader.tsx @@ -6,7 +6,7 @@ import { range } from "lodash-es"; // ui -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function HomeLoader() { return ( diff --git a/apps/web/core/components/home/widgets/loaders/quick-links.tsx b/apps/web/core/components/home/widgets/loaders/quick-links.tsx index 4a12645af8b..1df20ee48a4 100644 --- a/apps/web/core/components/home/widgets/loaders/quick-links.tsx +++ b/apps/web/core/components/home/widgets/loaders/quick-links.tsx @@ -6,7 +6,7 @@ import { range } from "lodash-es"; // ui -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function QuickLinksWidgetLoader() { return ( diff --git a/apps/web/core/components/home/widgets/loaders/recent-activity.tsx b/apps/web/core/components/home/widgets/loaders/recent-activity.tsx index 0b513f117f3..fa4a69b7a3a 100644 --- a/apps/web/core/components/home/widgets/loaders/recent-activity.tsx +++ b/apps/web/core/components/home/widgets/loaders/recent-activity.tsx @@ -6,7 +6,7 @@ import { range } from "lodash-es"; // ui -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function RecentActivityWidgetLoader() { return ( diff --git a/apps/web/core/components/home/widgets/manage/index.tsx b/apps/web/core/components/home/widgets/manage/index.tsx index 9df07e8e680..db6f7271ef6 100644 --- a/apps/web/core/components/home/widgets/manage/index.tsx +++ b/apps/web/core/components/home/widgets/manage/index.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // plane types // plane ui import { useTranslation } from "@plane/i18n"; -import { EModalWidth, ModalCore } from "@plane/ui"; +import { EModalWidth, ModalCore } from "@plane/blocks/modals"; import { WidgetList } from "./widget-list"; export type TProps = { diff --git a/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx b/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx index fd02106f5d8..d95d363428b 100644 --- a/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx +++ b/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx @@ -7,7 +7,7 @@ import React from "react"; import { observer } from "mobx-react"; // ui -import { DragHandle } from "@plane/ui"; +import { DragHandle } from "@plane/blocks/sortable"; // helper import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/home/widgets/manage/widget-item.tsx b/apps/web/core/components/home/widgets/manage/widget-item.tsx index a1f1ab4af98..88c7cf202cf 100644 --- a/apps/web/core/components/home/widgets/manage/widget-item.tsx +++ b/apps/web/core/components/home/widgets/manage/widget-item.tsx @@ -23,7 +23,7 @@ import { useTranslation } from "@plane/i18n"; import type { InstructionType } from "@plane/types"; // plane ui import { Switch } from "@makeplane/propel/components/switch"; -import { DropIndicator } from "@plane/ui"; +import { DropIndicator } from "@plane/blocks/sortable"; // plane utils import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/home/widgets/manage/widget-list.tsx b/apps/web/core/components/home/widgets/manage/widget-list.tsx index 972c7691b63..9aa654e506a 100644 --- a/apps/web/core/components/home/widgets/manage/widget-list.tsx +++ b/apps/web/core/components/home/widgets/manage/widget-list.tsx @@ -11,7 +11,7 @@ import type { } from "@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { useHome } from "@/hooks/store/use-home"; import { WidgetItem } from "./widget-item"; import type { TargetData } from "./widget.helpers"; diff --git a/apps/web/core/components/home/widgets/recents/filters.tsx b/apps/web/core/components/home/widgets/recents/filters.tsx index 3dac629b960..2450e12eced 100644 --- a/apps/web/core/components/home/widgets/recents/filters.tsx +++ b/apps/web/core/components/home/widgets/recents/filters.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { ChevronDownOutline } from "@makeplane/propel/icons"; import type { TRecentActivityFilterKeys } from "@plane/types"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import { cn } from "@plane/utils"; export type TFiltersDropdown = { diff --git a/apps/web/core/components/home/widgets/recents/issue.tsx b/apps/web/core/components/home/widgets/recents/issue.tsx index 83aa3642ce5..a4b9d6539ae 100644 --- a/apps/web/core/components/home/widgets/recents/issue.tsx +++ b/apps/web/core/components/home/widgets/recents/issue.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // plane types -import { PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; +import { PriorityIcon, StateGroupIcon } from "@plane/blocks/icons"; import { WorkItemsOutline } from "@makeplane/propel/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TActivityEntityData, TIssueEntityData } from "@plane/types"; diff --git a/apps/web/core/components/home/widgets/recents/page.tsx b/apps/web/core/components/home/widgets/recents/page.tsx index f3e0563c138..8366a97c017 100644 --- a/apps/web/core/components/home/widgets/recents/page.tsx +++ b/apps/web/core/components/home/widgets/recents/page.tsx @@ -6,7 +6,7 @@ import { useRouter } from "next/navigation"; import { Avatar } from "@makeplane/propel/components/avatar"; -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; import { PagesOutline } from "@makeplane/propel/icons"; // plane import import type { TActivityEntityData, TPageEntityData } from "@plane/types"; diff --git a/apps/web/core/components/home/widgets/recents/project.tsx b/apps/web/core/components/home/widgets/recents/project.tsx index cb5fa3f5c02..b8b896c0ecf 100644 --- a/apps/web/core/components/home/widgets/recents/project.tsx +++ b/apps/web/core/components/home/widgets/recents/project.tsx @@ -6,7 +6,7 @@ import { useRouter } from "next/navigation"; // plane types -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; import type { TActivityEntityData, TProjectEntityData } from "@plane/types"; import { calculateTimeAgo } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/content/inbox-issue-header.tsx b/apps/web/core/components/inbox/content/inbox-issue-header.tsx index 5531638ae9b..624403d6a13 100644 --- a/apps/web/core/components/inbox/content/inbox-issue-header.tsx +++ b/apps/web/core/components/inbox/content/inbox-issue-header.tsx @@ -23,12 +23,16 @@ import { // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { IconButton, getIconButtonStyling } from "@plane/propel/icon-button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TNameDescriptionLoader } from "@plane/types"; import { EInboxIssueStatus } from "@plane/types"; -import { ControlLink, CustomMenu, Row } from "@plane/ui"; +import { ControlLink } from "@plane/blocks/control-link"; +import { CustomMenu } from "@plane/blocks/dropdowns"; +import { Row } from "@plane/blocks/row"; import { copyUrlToClipboard, findHowManyDaysLeft, generateWorkItemLink } from "@plane/utils"; // components import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; @@ -312,15 +316,15 @@ export const InboxIssueActionsHeader = observer(function InboxIssueActionsHeader
} aria-label="Previous work item" onClick={() => handleInboxIssueNavigation("prev")} /> } aria-label="Next work item" onClick={() => handleInboxIssueNavigation("next")} /> @@ -329,9 +333,11 @@ export const InboxIssueActionsHeader = observer(function InboxIssueActionsHeader
{canMarkAsAccepted && ( - + )} {canMarkAsDeclined && ( - + )} {isAcceptedOrDeclined ? (
+ label={t("inbox_issue.actions.copy")} + /> router.push(workItemLink)} target="_self"> - +
) : ( <> {isAllowed && ( } - customButtonClassName={getIconButtonStyling("secondary", "lg")} + customButton={ + } + aria-label="Work item actions" + /> + } placement="bottom-start" > {canMarkAsAccepted && ( diff --git a/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx b/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx index b1e191d22b4..d67571ee5bc 100644 --- a/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx +++ b/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx @@ -19,10 +19,12 @@ import { NewTabOutline, TickCircleFilled, } from "@makeplane/propel/icons"; -import { IconButton, getIconButtonStyling } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; import type { TNameDescriptionLoader } from "@plane/types"; -import { Header, CustomMenu, EHeaderVariant } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; +import { Header, EHeaderVariant } from "@plane/blocks/header"; import { cn, findHowManyDaysLeft, generateWorkItemLink } from "@plane/utils"; // components import { NameDescriptionUpdateStatus } from "@/components/issues/issue-update-status"; @@ -118,15 +120,15 @@ export const InboxIssueActionsMobileHeader = observer(function InboxIssueActions
} aria-label="Previous work item" onClick={() => handleInboxIssueNavigation("prev")} /> } aria-label="Next work item" onClick={() => handleInboxIssueNavigation("next")} /> @@ -139,8 +141,14 @@ export const InboxIssueActionsMobileHeader = observer(function InboxIssueActions
} - customButtonClassName={getIconButtonStyling("secondary", "lg")} + customButton={ + } + aria-label="Work item actions" + /> + } placement="bottom-start" > {isAcceptedOrDeclined && ( diff --git a/apps/web/core/components/inbox/content/issue-properties.tsx b/apps/web/core/components/inbox/content/issue-properties.tsx index f8b0c36421c..2da44f880e8 100644 --- a/apps/web/core/components/inbox/content/issue-properties.tsx +++ b/apps/web/core/components/inbox/content/issue-properties.tsx @@ -15,7 +15,7 @@ import { } from "@makeplane/propel/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TInboxDuplicateIssueDetails, TIssue } from "@plane/types"; -import { ControlLink } from "@plane/ui"; +import { ControlLink } from "@plane/blocks/control-link"; import { getDate, renderFormattedPayloadDate, generateWorkItemLink } from "@plane/utils"; // components import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/inbox/content/issue-root.tsx b/apps/web/core/components/inbox/content/issue-root.tsx index 64e1e1a08e3..42b5f76587c 100644 --- a/apps/web/core/components/inbox/content/issue-root.tsx +++ b/apps/web/core/components/inbox/content/issue-root.tsx @@ -9,7 +9,7 @@ import { useEffect, useMemo, useRef } from "react"; import { observer } from "mobx-react"; // plane imports import type { EditorRefApi } from "@plane/editor"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TIssue, TNameDescriptionLoader } from "@plane/types"; import { EFileAssetType, EInboxIssueSource, EInboxIssueStatus } from "@plane/types"; // components diff --git a/apps/web/core/components/inbox/content/root.tsx b/apps/web/core/components/inbox/content/root.tsx index 995d83b072d..5558ad6e722 100644 --- a/apps/web/core/components/inbox/content/root.tsx +++ b/apps/web/core/components/inbox/content/root.tsx @@ -10,7 +10,7 @@ import useSWR from "swr"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import type { TNameDescriptionLoader } from "@plane/types"; // components -import { ContentWrapper } from "@plane/ui"; +import { ContentWrapper } from "@plane/blocks/content-wrapper"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; import { useUser, useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx index 85069f8909e..be9ea18f756 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx @@ -7,7 +7,7 @@ import { observer } from "mobx-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { PriorityIcon } from "@plane/propel/icons"; +import { PriorityIcon } from "@plane/blocks/icons"; import { CloseOutline } from "@makeplane/propel/icons"; import type { TIssuePriorities } from "@plane/types"; // hooks diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx index 99283e6c2c9..3d7900a139b 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // plane imports -import { Header, EHeaderVariant } from "@plane/ui"; +import { Header, EHeaderVariant } from "@plane/blocks/header"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; // local imports diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx index 26a416a5486..83e01b3424b 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; import { EIconSize } from "@plane/constants"; -import { StateGroupIcon } from "@plane/propel/icons"; +import { StateGroupIcon } from "@plane/blocks/icons"; import { CloseOutline } from "@makeplane/propel/icons"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx b/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx index 23e338b1d31..28025a39a08 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx @@ -7,7 +7,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; import type { IIssueLabel } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; // hooks diff --git a/apps/web/core/components/inbox/inbox-filter/filters/members.tsx b/apps/web/core/components/inbox/inbox-filter/filters/members.tsx index 497a49f65ee..41ad98df756 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/members.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/members.tsx @@ -11,7 +11,7 @@ import { observer } from "mobx-react"; import { Avatar } from "@makeplane/propel/components/avatar"; import type { TInboxIssueFilterMemberKeys } from "@plane/types"; // plane ui -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { getFileURL } from "@plane/utils"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx index 5272e368b24..23363c0bd85 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx @@ -8,7 +8,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { PriorityIcon } from "@plane/propel/icons"; +import { PriorityIcon } from "@plane/blocks/icons"; import type { TIssuePriorities } from "@plane/types"; // plane constants // components diff --git a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx index 4a4af021fce..de1cf15cde6 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx @@ -7,9 +7,9 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { EIconSize } from "@plane/constants"; -import { StateGroupIcon } from "@plane/propel/icons"; +import { StateGroupIcon } from "@plane/blocks/icons"; import type { IState } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; // hooks diff --git a/apps/web/core/components/inbox/inbox-filter/root.tsx b/apps/web/core/components/inbox/inbox-filter/root.tsx index 5e830e3a22c..776778eee37 100644 --- a/apps/web/core/components/inbox/inbox-filter/root.tsx +++ b/apps/web/core/components/inbox/inbox-filter/root.tsx @@ -5,9 +5,8 @@ */ import { ChevronDownOutline, FilterOutline } from "@makeplane/propel/icons"; -import { getButtonStyling } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; // plane imports -import { cn } from "@plane/utils"; // components import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; // hooks @@ -19,11 +18,11 @@ import { InboxIssueOrderByDropdown } from "./sorting/order-by"; const smallButton = ; const largeButton = ( -
+
+ ); export function FiltersRoot() { const windowSize = useSize(); diff --git a/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx b/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx index da18a8bbb6b..efcf2b0a3f1 100644 --- a/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx +++ b/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx @@ -8,12 +8,10 @@ import { observer } from "mobx-react"; import { ChevronDownOutline, SortAscendingOutline, SortDescendingOutline, TickOutline } from "@makeplane/propel/icons"; import { INBOX_ISSUE_ORDER_BY_OPTIONS, INBOX_ISSUE_SORT_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { getButtonStyling } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import type { TInboxIssueSortingOrderByKeys, TInboxIssueSortingSortByKeys } from "@plane/types"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; // constants -// helpers -import { cn } from "@plane/utils"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; import useSize from "@/hooks/use-window-size"; @@ -32,7 +30,7 @@ export const InboxIssueOrderByDropdown = observer(function InboxIssueOrderByDrop ); const largeButton = ( -
+
+ ); return ( + label={t("discard")} + /> + size="md" + stretch="auto" + label={formSubmitting ? t("creating") : t("create_work_item")} + />
diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx index 12d514e9dbc..808baffc4d5 100644 --- a/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx @@ -12,7 +12,7 @@ import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; import type { TIssue } from "@plane/types"; import { EFileAssetType } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; import { getDescriptionPlaceholderI18n, getTabIndex } from "@plane/utils"; // components import { RichTextEditor } from "@/components/editor/rich-text/editor"; @@ -103,7 +103,7 @@ export const InboxIssueDescription = observer(function InboxIssueDescription(pro return asset_id; } catch (error) { console.log("Error in uploading work item asset:", error); - throw new Error("Asset upload failed. Please try again later."); + throw new Error("Asset upload failed. Please try again later.", { cause: error }); } }} duplicateFile={async (assetId: string) => { diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx index c0f76b46342..5968e8008c0 100644 --- a/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import { ETabIndices } from "@plane/constants"; import { ParentOutline } from "@makeplane/propel/icons"; import type { ISearchIssueResponse, TIssue } from "@plane/types"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import { renderFormattedPayloadDate, getDate, getTabIndex } from "@plane/utils"; // components import { CycleDropdown } from "@/components/dropdowns/cycle"; diff --git a/apps/web/core/components/inbox/modals/create-modal/modal.tsx b/apps/web/core/components/inbox/modals/create-modal/modal.tsx index 85b8a14c0ea..b51fe42dc17 100644 --- a/apps/web/core/components/inbox/modals/create-modal/modal.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/modal.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; // plane imports -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import useKeypress from "@/hooks/use-keypress"; // local imports diff --git a/apps/web/core/components/inbox/modals/decline-issue-modal.tsx b/apps/web/core/components/inbox/modals/decline-issue-modal.tsx index 7fe5a07affd..72d1630a8f7 100644 --- a/apps/web/core/components/inbox/modals/decline-issue-modal.tsx +++ b/apps/web/core/components/inbox/modals/decline-issue-modal.tsx @@ -9,7 +9,7 @@ import React, { useState } from "react"; import { useTranslation } from "@plane/i18n"; import type { TIssue } from "@plane/types"; // ui -import { AlertModalCore } from "@plane/ui"; +import { AlertModalCore } from "@plane/blocks/modals"; // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/inbox/modals/delete-issue-modal.tsx b/apps/web/core/components/inbox/modals/delete-issue-modal.tsx index c31bf98003e..dc74bf12bae 100644 --- a/apps/web/core/components/inbox/modals/delete-issue-modal.tsx +++ b/apps/web/core/components/inbox/modals/delete-issue-modal.tsx @@ -9,10 +9,10 @@ import { observer } from "mobx-react"; // types import { PROJECT_ERROR_MESSAGES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TIssue } from "@plane/types"; // ui -import { AlertModalCore } from "@plane/ui"; +import { AlertModalCore } from "@plane/blocks/modals"; // constants // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/inbox/modals/select-duplicate.tsx b/apps/web/core/components/inbox/modals/select-duplicate.tsx index 1482226608d..0aba4dff52e 100644 --- a/apps/web/core/components/inbox/modals/select-duplicate.tsx +++ b/apps/web/core/components/inbox/modals/select-duplicate.tsx @@ -11,9 +11,10 @@ import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; import { SearchOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { ISearchIssueResponse } from "@plane/types"; -import { Loader, EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // assets import darkIssuesAsset from "@/app/assets/empty-state/search/issues-dark.webp?url"; import lightIssuesAsset from "@/app/assets/empty-state/search/issues-light.webp?url"; diff --git a/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx b/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx index 1ad83a6b0e5..f5be4e47060 100644 --- a/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx +++ b/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx @@ -7,9 +7,9 @@ import { useState } from "react"; // ui import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { Calendar } from "@plane/propel/calendar"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { Calendar } from "@makeplane/propel/components/calendar"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; export type InboxIssueSnoozeModalProps = { isOpen: boolean; @@ -35,8 +35,6 @@ export function InboxIssueSnoozeModal(props: InboxIssueSnoozeModalProps) { >
{ @@ -44,6 +42,7 @@ export function InboxIssueSnoozeModal(props: InboxIssueSnoozeModalProps) { setDate(date); }} mode="single" + showOutsideDays disabled={[ { before: new Date(), @@ -52,13 +51,14 @@ export function InboxIssueSnoozeModal(props: InboxIssueSnoozeModalProps) { /> + label={t("inbox_issue.actions.snooze")} + />
); diff --git a/apps/web/core/components/inbox/root.tsx b/apps/web/core/components/inbox/root.tsx index 130d19b03cc..af0b091393b 100644 --- a/apps/web/core/components/inbox/root.tsx +++ b/apps/web/core/components/inbox/root.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import { IntakeOutline, LeftSidePaneOutline } from "@makeplane/propel/icons"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import { EInboxIssueCurrentTab } from "@plane/types"; import { cn } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx index ee577512629..a82963b44a8 100644 --- a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx +++ b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx @@ -10,9 +10,9 @@ import Link from "next/link"; import { useSearchParams } from "next/navigation"; // plane imports import { Avatar } from "@makeplane/propel/components/avatar"; -import { PriorityIcon } from "@plane/propel/icons"; +import { PriorityIcon } from "@plane/blocks/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { Row } from "@plane/ui"; +import { Row } from "@plane/blocks/row"; import { cn, renderFormattedDate } from "@plane/utils"; // components import { ButtonAvatars } from "@/components/dropdowns/member/avatar"; diff --git a/apps/web/core/components/inbox/sidebar/root.tsx b/apps/web/core/components/inbox/sidebar/root.tsx index e378c766d56..149404a673b 100644 --- a/apps/web/core/components/inbox/sidebar/root.tsx +++ b/apps/web/core/components/inbox/sidebar/root.tsx @@ -7,11 +7,12 @@ import { useCallback, useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { EmptyStateDetailed } from "@plane/propel/empty-state"; +import { EmptyStateDetailed } from "@plane/blocks/empty-state"; import type { TInboxIssueCurrentTab } from "@plane/types"; import { EInboxIssueCurrentTab } from "@plane/types"; // plane imports -import { Header, Loader, EHeaderVariant } from "@plane/ui"; +import { Header, EHeaderVariant } from "@plane/blocks/header"; +import { Loader } from "@plane/blocks/loader"; import { cn } from "@plane/utils"; // components import { InboxSidebarLoader } from "@/components/ui/loader/layouts/project-inbox/inbox-sidebar-loader"; diff --git a/apps/web/core/components/instance/not-ready-view.tsx b/apps/web/core/components/instance/not-ready-view.tsx index 850d0af2ebc..4bb38474ec7 100644 --- a/apps/web/core/components/instance/not-ready-view.tsx +++ b/apps/web/core/components/instance/not-ready-view.tsx @@ -10,8 +10,8 @@ import { GOD_MODE_URL } from "@plane/constants"; import GradientLogo from "@/app/assets/auth/gradient-logo.webp?url"; import GradientBgLogo from "@/app/assets/auth/gradient-bg-logo.webp?url"; import DefaultLayout from "@/layouts/default-layout"; -import { PlaneLockup } from "@plane/propel/icons"; -import { Button } from "@plane/propel/button"; +import { PlaneLockup } from "@plane/blocks/icons"; +import { Button } from "@makeplane/propel/components/button"; export function InstanceNotReady() { return ( @@ -46,9 +46,7 @@ export function InstanceNotReady() {
- + + label={deletingIntegration ? "Uninstalling..." : "Uninstall"} + /> ) : ( + label={isInstalling ? "Installing..." : "Install"} + /> ) ) : ( diff --git a/apps/web/core/components/integration/slack/select-channel.tsx b/apps/web/core/components/integration/slack/select-channel.tsx index 3838329220b..ce4fa428372 100644 --- a/apps/web/core/components/integration/slack/select-channel.tsx +++ b/apps/web/core/components/integration/slack/select-channel.tsx @@ -11,7 +11,7 @@ import useSWR, { mutate } from "swr"; // types import type { IWorkspaceIntegration, ISlackIntegration } from "@plane/types"; // ui -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // fetch-keys import { SLACK_CHANNEL_INFO } from "@plane/constants"; // hooks diff --git a/apps/web/core/components/issues/archive-issue-modal.tsx b/apps/web/core/components/issues/archive-issue-modal.tsx index ad487abca11..1ccc115b0ff 100644 --- a/apps/web/core/components/issues/archive-issue-modal.tsx +++ b/apps/web/core/components/issues/archive-issue-modal.tsx @@ -8,10 +8,10 @@ import { useState } from "react"; // i18n import { useTranslation } from "@plane/i18n"; // types -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TDeDupeIssue, TIssue } from "@plane/types"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useProject } from "@/hooks/store/use-project"; @@ -75,12 +75,16 @@ export function ArchiveIssueModal(props: Props) {

{t("issue.archive.confirm_message")}

- - +
diff --git a/apps/web/core/components/issues/archived-issues-header.tsx b/apps/web/core/components/issues/archived-issues-header.tsx index 8190b45853d..c4cbe4e540c 100644 --- a/apps/web/core/components/issues/archived-issues-header.tsx +++ b/apps/web/core/components/issues/archived-issues-header.tsx @@ -11,7 +11,7 @@ import { EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constant import { useTranslation } from "@plane/i18n"; import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; import { EIssuesStoreType } from "@plane/types"; -import { EHeaderVariant, Header } from "@plane/ui"; +import { EHeaderVariant, Header } from "@plane/blocks/header"; // components import { ArchiveTabsList } from "@/components/archives"; import { DisplayFiltersSelection, FiltersDropdown } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/attachment/attachment-item-list.tsx b/apps/web/core/components/issues/attachment/attachment-item-list.tsx index 4473b16f084..4933fa4739d 100644 --- a/apps/web/core/components/issues/attachment/attachment-item-list.tsx +++ b/apps/web/core/components/issues/attachment/attachment-item-list.tsx @@ -10,7 +10,7 @@ import type { FileRejection } from "react-dropzone"; import { useDropzone } from "react-dropzone"; import { UploadOutline } from "@makeplane/propel/icons"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TIssueServiceType } from "@plane/types"; import { EIssueServiceType } from "@plane/types"; // hooks diff --git a/apps/web/core/components/issues/attachment/attachment-list-item.tsx b/apps/web/core/components/issues/attachment/attachment-list-item.tsx index 962d25e4b3f..3c334aa873f 100644 --- a/apps/web/core/components/issues/attachment/attachment-list-item.tsx +++ b/apps/web/core/components/issues/attachment/attachment-list-item.tsx @@ -12,7 +12,7 @@ import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TIssueServiceType } from "@plane/types"; import { EIssueServiceType } from "@plane/types"; // ui -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import { convertBytesToSize, getFileExtension, getFileName, getFileURL, renderFormattedDate } from "@plane/utils"; // components // diff --git a/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx b/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx index 676f4e38290..f9fd9d512dc 100644 --- a/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx +++ b/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx @@ -12,7 +12,7 @@ import { useTranslation } from "@plane/i18n"; import type { TIssueServiceType } from "@plane/types"; import { EIssueServiceType } from "@plane/types"; // ui -import { AlertModalCore } from "@plane/ui"; +import { AlertModalCore } from "@plane/blocks/modals"; // helper import { getFileName } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/issues/confirm-issue-discard.tsx b/apps/web/core/components/issues/confirm-issue-discard.tsx index 9ba05b9afd8..22eaae9b0fc 100644 --- a/apps/web/core/components/issues/confirm-issue-discard.tsx +++ b/apps/web/core/components/issues/confirm-issue-discard.tsx @@ -6,8 +6,8 @@ import { useState } from "react"; // ui -import { Button } from "@plane/propel/button"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; type Props = { isOpen: boolean; @@ -48,17 +48,18 @@ export function ConfirmIssueDiscard(props: Props) {
- +
- - +
diff --git a/apps/web/core/components/issues/delete-issue-modal.tsx b/apps/web/core/components/issues/delete-issue-modal.tsx index 9b70e5c7478..5188aa0d4df 100644 --- a/apps/web/core/components/issues/delete-issue-modal.tsx +++ b/apps/web/core/components/issues/delete-issue-modal.tsx @@ -10,10 +10,10 @@ import { useParams } from "next/navigation"; // types import { PROJECT_ERROR_MESSAGES, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TDeDupeIssue, TIssue } from "@plane/types"; // ui -import { AlertModalCore } from "@plane/ui"; +import { AlertModalCore } from "@plane/blocks/modals"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/issues/filters.tsx b/apps/web/core/components/issues/filters.tsx index 6d0fb1b40b0..28fcd2ca422 100644 --- a/apps/web/core/components/issues/filters.tsx +++ b/apps/web/core/components/issues/filters.tsx @@ -10,7 +10,7 @@ import { BarOutline, PreferencesOutline } from "@makeplane/propel/icons"; // plane imports import { EIssueFilterType, ISSUE_STORE_TO_FILTERS_MAP } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; import { EIssueLayoutTypes, EIssuesStoreType } from "@plane/types"; // hooks @@ -126,7 +126,13 @@ export const HeaderFilters = observer(function HeaderFilters(props: Props) { /> {canUserCreateIssue ? ( - + diff --git a/apps/web/core/components/issues/issue-detail/identifier-text.tsx b/apps/web/core/components/issues/issue-detail/identifier-text.tsx index 25945c4130b..89de52656b9 100644 --- a/apps/web/core/components/issues/issue-detail/identifier-text.tsx +++ b/apps/web/core/components/issues/issue-detail/identifier-text.tsx @@ -4,7 +4,7 @@ * See the LICENSE file for details. */ -import { setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { setToast, TOAST_TYPE } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TIdentifierTextProps, TIdentifierTextVariant, TIssueIdentifierSize } from "@plane/types"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx index 1b4f094a738..60dd6eb8166 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx @@ -9,8 +9,9 @@ import { FilterOutline, TickOutline } from "@makeplane/propel/icons"; // plane imports import type { TActivityFilters, TActivityFilterOption } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IconButton } from "@plane/propel/icon-button"; -import { PopoverMenu } from "@plane/ui"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; +import { PopoverMenu } from "@plane/blocks/popovers"; // helper import { cn } from "@plane/utils"; // constants @@ -31,7 +32,7 @@ export const ActivityFilter = observer(function ActivityFilter(props: TActivityF buttonClassName="outline-none" button={ <> - + } aria-label="Filter activity" /> {selectedFilters.length < filterOptions.length && ( )} diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx index 8f13d0f5044..bf5c5a159b5 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx @@ -6,7 +6,7 @@ import { useMemo } from "react"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { EFileAssetType } from "@plane/types"; import type { TCommentsOperations } from "@plane/types"; import { copyUrlToClipboard, formatTextList, generateWorkItemLink } from "@plane/utils"; @@ -139,7 +139,7 @@ export const useWorkItemCommentOperations = ( return res; } catch (error) { console.log("Error in uploading comment asset:", error); - throw new Error(t("issue.comments.upload.error")); + throw new Error(t("issue.comments.upload.error"), { cause: error }); } }, duplicateCommentAsset: async (assetId, commentId) => { diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/loader.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/loader.tsx index 0e5c3347d60..87904ddcc65 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/loader.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/loader.tsx @@ -5,7 +5,7 @@ */ // plane imports -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function IssueActivityLoader() { return ( diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx index daba50e14ae..895f56ac54c 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx @@ -8,7 +8,8 @@ import { memo } from "react"; import { SortAscendingOutline, SortDescendingOutline } from "@makeplane/propel/icons"; // plane package imports import { E_SORT_ORDER } from "@plane/constants"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; export type TActivitySortRoot = { sortOrder: E_SORT_ORDER; @@ -16,7 +17,15 @@ export type TActivitySortRoot = { }; export const ActivitySortRoot = memo(function ActivitySortRoot(props: TActivitySortRoot) { const SortIcon = props.sortOrder === E_SORT_ORDER.ASC ? SortAscendingOutline : SortDescendingOutline; - return ; + return ( + } + aria-label="Toggle sort order" + onClick={props.toggleSort} + /> + ); }); ActivitySortRoot.displayName = "ActivitySortRoot"; diff --git a/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx b/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx index 6c9cc4aa0e3..26129f503d0 100644 --- a/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx @@ -9,8 +9,9 @@ import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { LinkOutline } from "@makeplane/propel/icons"; -import { IconButton } from "@plane/propel/icon-button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import { EIssuesStoreType } from "@plane/types"; import { generateWorkItemLink, copyTextToClipboard } from "@plane/utils"; @@ -148,7 +149,13 @@ export const IssueDetailQuickActions = observer(function IssueDetailQuickActions )}
- + } + aria-label={t("common.actions.copy_link")} + /> ; return ( - diff --git a/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx b/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx index 91c3e4f403c..27e81e096a0 100644 --- a/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx +++ b/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx @@ -11,10 +11,10 @@ import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { useTranslation } from "@plane/i18n"; // plane types -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { TIssueLinkEditableFields, TIssueServiceType } from "@plane/types"; // plane ui -import { ModalCore } from "@plane/ui"; +import { ModalCore } from "@plane/blocks/modals"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // types @@ -142,11 +142,14 @@ export const IssueLinkCreateUpdateModal = observer(function IssueLinkCreateUpdat
- -
diff --git a/apps/web/core/components/issues/issue-detail/links/link-detail.tsx b/apps/web/core/components/issues/issue-detail/links/link-detail.tsx index 4666eeac4d2..dfa62f949d0 100644 --- a/apps/web/core/components/issues/issue-detail/links/link-detail.tsx +++ b/apps/web/core/components/issues/issue-detail/links/link-detail.tsx @@ -5,7 +5,7 @@ */ import { DeleteOutline, EditOutline, NewTabOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import { getIconForLink, copyTextToClipboard, calculateTimeAgo } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/links/link-item.tsx b/apps/web/core/components/issues/issue-detail/links/link-item.tsx index f0b9e1bf7b3..e01ebecc056 100644 --- a/apps/web/core/components/issues/issue-detail/links/link-item.tsx +++ b/apps/web/core/components/issues/issue-detail/links/link-item.tsx @@ -8,12 +8,12 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { CopyOutline, DeleteOutline, EditOutline, LinkOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TIssueServiceType } from "@plane/types"; import { EIssueServiceType } from "@plane/types"; // ui -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import { calculateTimeAgo, copyTextToClipboard } from "@plane/utils"; // helpers // hooks diff --git a/apps/web/core/components/issues/issue-detail/links/root.tsx b/apps/web/core/components/issues/issue-detail/links/root.tsx index 038353a5cad..da8e61362b1 100644 --- a/apps/web/core/components/issues/issue-detail/links/root.tsx +++ b/apps/web/core/components/issues/issue-detail/links/root.tsx @@ -8,7 +8,7 @@ import { useCallback, useMemo, useState } from "react"; import { AddOutline } from "@makeplane/propel/icons"; // plane imports -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TIssueLink } from "@plane/types"; import { EIssueServiceType } from "@plane/types"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/parent/root.tsx b/apps/web/core/components/issues/issue-detail/parent/root.tsx index 1de73eb3b22..ac115038afd 100644 --- a/apps/web/core/components/issues/issue-detail/parent/root.tsx +++ b/apps/web/core/components/issues/issue-detail/parent/root.tsx @@ -12,7 +12,8 @@ import type { TIssue } from "@plane/types"; // component import { IssueIdentifier } from "@/components/issues/issue-detail/issue-identifier"; // ui -import { ControlLink, CustomMenu } from "@plane/ui"; +import { ControlLink } from "@plane/blocks/control-link"; +import { CustomMenu } from "@plane/blocks/dropdowns"; // helpers import { generateWorkItemLink } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx b/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx index 4b9b6a1b92e..160435e34ef 100644 --- a/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx +++ b/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // ui -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; // helpers import { generateWorkItemLink } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx b/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx index 2ece8b9b7ee..51b5bcf08a2 100644 --- a/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx +++ b/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx @@ -6,10 +6,10 @@ import { useMemo, useState } from "react"; import { observer } from "mobx-react"; -import { stringToEmoji } from "@plane/propel/emoji-icon-picker"; -import { EmojiReactionGroup, EmojiReactionPicker } from "@plane/propel/emoji-reaction"; -import type { EmojiReactionType } from "@plane/propel/emoji-reaction"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { stringToEmoji } from "@plane/blocks/emoji-icon-picker"; +import { EmojiReactionGroup, EmojiReactionPicker } from "@plane/blocks/emoji-reaction"; +import type { EmojiReactionType } from "@plane/blocks/emoji-reaction"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail/reactions/issue.tsx b/apps/web/core/components/issues/issue-detail/reactions/issue.tsx index ac1f944102b..261684542a3 100644 --- a/apps/web/core/components/issues/issue-detail/reactions/issue.tsx +++ b/apps/web/core/components/issues/issue-detail/reactions/issue.tsx @@ -6,10 +6,10 @@ import { useMemo, useState } from "react"; import { observer } from "mobx-react"; -import { stringToEmoji } from "@plane/propel/emoji-icon-picker"; -import { EmojiReactionGroup, EmojiReactionPicker } from "@plane/propel/emoji-reaction"; -import type { EmojiReactionType } from "@plane/propel/emoji-reaction"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { stringToEmoji } from "@plane/blocks/emoji-icon-picker"; +import { EmojiReactionGroup, EmojiReactionPicker } from "@plane/blocks/emoji-reaction"; +import type { EmojiReactionType } from "@plane/blocks/emoji-reaction"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser } from "@plane/types"; // hooks // ui diff --git a/apps/web/core/components/issues/issue-detail/relation-select.tsx b/apps/web/core/components/issues/issue-detail/relation-select.tsx index da0d59b3fde..82527503956 100644 --- a/apps/web/core/components/issues/issue-detail/relation-select.tsx +++ b/apps/web/core/components/issues/issue-detail/relation-select.tsx @@ -10,7 +10,7 @@ import Link from "next/link"; import { CloseOutline, EditOutline } from "@makeplane/propel/icons"; // Plane -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { ISearchIssueResponse } from "@plane/types"; import { cn, generateWorkItemLink } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-detail/root.tsx b/apps/web/core/components/issues/issue-detail/root.tsx index 72484c696ba..375be1b86c9 100644 --- a/apps/web/core/components/issues/issue-detail/root.tsx +++ b/apps/web/core/components/issues/issue-detail/root.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/blocks/toast"; import type { TIssue } from "@plane/types"; import { EIssuesStoreType } from "@plane/types"; // assets diff --git a/apps/web/core/components/issues/issue-detail/subscription.tsx b/apps/web/core/components/issues/issue-detail/subscription.tsx index 6b59dce9d88..cfe15f8ebd3 100644 --- a/apps/web/core/components/issues/issue-detail/subscription.tsx +++ b/apps/web/core/components/issues/issue-detail/subscription.tsx @@ -12,10 +12,11 @@ import { SubscribeOutline, UnsubscribeOutline } from "@makeplane/propel/icons"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // UI -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/elements/button"; +import { Icon } from "@makeplane/propel/components/icon"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { EIssueServiceType } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useUserPermissions } from "@/hooks/store/user"; @@ -82,13 +83,14 @@ export const IssueSubscription = observer(function IssueSubscription(props: TIss return (
diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx index f4b1d338f5e..d265352f738 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx @@ -6,10 +6,10 @@ import { ISSUE_LAYOUTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import { ChevronDownOutline } from "@makeplane/propel/icons"; import type { EIssueLayoutTypes } from "@plane/types"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import { IssueLayoutIcon } from "../../layout-icon"; export function MobileLayoutSelection({ @@ -29,7 +29,12 @@ export function MobileLayoutSelection({ className="flex flex-grow justify-center text-13 text-secondary" placement="bottom-start" customButton={ - + label={t("discard")} + />
+ label={isSubmitting ? primaryButtonText.loading : primaryButtonText.default} + />
{moveToIssue && ( @@ -503,10 +503,10 @@ export const IssueFormRoot = observer(function IssueFormRoot(props: IssueFormPro loading={isMoving} onClick={handleMoveToProjects} disabled={isMoving} - size="lg" - > - {t("add_to_project")} - + size="md" + stretch="auto" + label={t("add_to_project")} + /> )} diff --git a/apps/web/core/components/issues/layout-quick-actions.tsx b/apps/web/core/components/issues/layout-quick-actions.tsx index 5a326108d3f..442ba404f92 100644 --- a/apps/web/core/components/issues/layout-quick-actions.tsx +++ b/apps/web/core/components/issues/layout-quick-actions.tsx @@ -5,13 +5,14 @@ */ import { observer } from "mobx-react"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import type { TContextMenuItem } from "@plane/ui"; -import { CustomMenu } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; +import type { TContextMenuItem } from "@plane/blocks/dropdowns"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import { copyUrlToClipboard, cn } from "@plane/utils"; import { useLayoutMenuItems } from "@/components/common/quick-actions-helper"; import { MoreHorizontalOutline } from "@makeplane/propel/icons"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; type Props = { workspaceSlug: string; @@ -55,7 +56,14 @@ export const LayoutQuickActions = observer(function LayoutQuickActions(props: Pr closeOnSelect maxHeight="lg" className="flex size-[26px] flex-shrink-0 items-center justify-center rounded" - customButton={} + customButton={ + } + aria-label="Quick actions" + /> + } > {MENU_ITEMS.map((item) => { if (item.shouldRender === false) return null; diff --git a/apps/web/core/components/issues/parent-issues-list-modal.tsx b/apps/web/core/components/issues/parent-issues-list-modal.tsx index b96be7b0902..880e7e039d3 100644 --- a/apps/web/core/components/issues/parent-issues-list-modal.tsx +++ b/apps/web/core/components/issues/parent-issues-list-modal.tsx @@ -15,7 +15,8 @@ import { useTranslation } from "@plane/i18n"; // types import type { ISearchIssueResponse } from "@plane/types"; // ui -import { Loader, EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { generateWorkItemLink, getTabIndex } from "@plane/utils"; // components import { IssueSearchModalEmptyState } from "@/components/core/modals/issue-search-modal-empty-state"; diff --git a/apps/web/core/components/issues/parent-select-root.tsx b/apps/web/core/components/issues/parent-select-root.tsx index d82c770f325..0e70fc6944e 100644 --- a/apps/web/core/components/issues/parent-select-root.tsx +++ b/apps/web/core/components/issues/parent-select-root.tsx @@ -9,7 +9,7 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; // components import type { TIssueOperations } from "@/components/issues/issue-detail"; import { IssueParentSelect } from "@/components/issues/issue-detail/parent-select"; diff --git a/apps/web/core/components/issues/peek-overview/header.tsx b/apps/web/core/components/issues/peek-overview/header.tsx index 1ba6f471d19..b53da715c4b 100644 --- a/apps/web/core/components/issues/peek-overview/header.tsx +++ b/apps/web/core/components/issues/peek-overview/header.tsx @@ -17,11 +17,11 @@ import { } from "@makeplane/propel/icons"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TNameDescriptionLoader } from "@plane/types"; import { EIssuesStoreType } from "@plane/types"; -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; @@ -33,7 +33,8 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; import { IssueSubscription } from "../issue-detail/subscription"; import { WorkItemDetailQuickActions } from "../issue-layouts/quick-action-dropdowns"; import { NameDescriptionUpdateStatus } from "../issue-update-status"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; export type TPeekModes = "side-peek" | "modal" | "full-screen"; @@ -212,7 +213,13 @@ export const IssuePeekOverviewHeader = observer(function IssuePeekOverviewHeader )} - + } + aria-label={t("common.actions.copy_link")} + /> {issueDetails && ( - + + label={isUpdating ? (isSubmitting ? t("updating") : t("update")) : isSubmitting ? t("adding") : t("add")} + /> {errors.name?.message &&

{errors.name?.message}

} diff --git a/apps/web/core/components/labels/delete-label-modal.tsx b/apps/web/core/components/labels/delete-label-modal.tsx index 9adc238349e..bb062ac97f8 100644 --- a/apps/web/core/components/labels/delete-label-modal.tsx +++ b/apps/web/core/components/labels/delete-label-modal.tsx @@ -8,10 +8,10 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // types -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IIssueLabel } from "@plane/types"; // ui -import { AlertModalCore } from "@plane/ui"; +import { AlertModalCore } from "@plane/blocks/modals"; // hooks import { useLabel } from "@/hooks/store/use-label"; diff --git a/apps/web/core/components/labels/label-block/label-item-block.tsx b/apps/web/core/components/labels/label-block/label-item-block.tsx index 4dcf69237c3..6955189636f 100644 --- a/apps/web/core/components/labels/label-block/label-item-block.tsx +++ b/apps/web/core/components/labels/label-block/label-item-block.tsx @@ -9,12 +9,13 @@ import { useRef, useState } from "react"; import type { LucideIcon } from "lucide-react"; // plane helpers import { useOutsideClickDetector } from "@plane/hooks"; -import type { ISvgIcons } from "@plane/propel/icons"; +import type { ISvgIcons } from "@plane/blocks/icons"; import { CloseOutline } from "@makeplane/propel/icons"; // types import type { IIssueLabel } from "@plane/types"; // ui -import { CustomMenu, DragHandle } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; +import { DragHandle } from "@plane/blocks/sortable"; // helpers import { cn } from "@plane/utils"; // components diff --git a/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx b/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx index 483e2cfebc0..56accd60fda 100644 --- a/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx +++ b/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx @@ -17,7 +17,7 @@ import { createRoot } from "react-dom/client"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import type { IIssueLabel, InstructionType } from "@plane/types"; // ui -import { DropIndicator } from "@plane/ui"; +import { DropIndicator } from "@plane/blocks/sortable"; // components import { useUserPermissions } from "@/hooks/store/user"; import { LabelName } from "./label-block/label-name"; @@ -160,7 +160,7 @@ export const LabelDndHOC = observer(function LabelDndHOC(props: Props) { }, }) ); - }, [labelRef?.current, dragHandleRef?.current, label, isChild, isGroup, isLastChild, onDrop]); + }, [labelRef?.current, label, isChild, isGroup, isLastChild, onDrop]); const isMakeChild = instruction == "make-child"; diff --git a/apps/web/core/components/labels/project-setting-label-list.tsx b/apps/web/core/components/labels/project-setting-label-list.tsx index 6bb506970ae..92d0d0fa04c 100644 --- a/apps/web/core/components/labels/project-setting-label-list.tsx +++ b/apps/web/core/components/labels/project-setting-label-list.tsx @@ -10,10 +10,10 @@ import { useParams } from "next/navigation"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { Button } from "@makeplane/propel/components/button"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import type { IIssueLabel } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; import type { TLabelOperationsCallbacks } from "@/components/labels"; import { CreateUpdateLabelInline, @@ -85,9 +85,7 @@ export const ProjectSettingsLabelList = observer(function ProjectSettingsLabelLi description={t("project_settings.labels.description")} control={ isEditable && ( - + + label={ + upgradeLoaderType === planVariant ? "Redirecting to Stripe" : (upgradeCTA ?? `Upgrade to ${planeName}`) + } + /> {isTrialAllowed && !isSelfHosted && (
{renderTrialButton && diff --git a/apps/web/core/components/license/modal/card/discount-info.tsx b/apps/web/core/components/license/modal/card/discount-info.tsx index 7f25a2a0e3b..b49661cc416 100644 --- a/apps/web/core/components/license/modal/card/discount-info.tsx +++ b/apps/web/core/components/license/modal/card/discount-info.tsx @@ -21,7 +21,7 @@ type TDiscountInfoProps = { subscriptionType: EProductSubscriptionEnum; }; -const PLANS_WITH_DISCOUNT = [EProductSubscriptionEnum.PRO]; +const PLANS_WITH_DISCOUNT = new Set([EProductSubscriptionEnum.PRO]); const getActualPrice = (frequency: TBillingFrequency, subscriptionType: EProductSubscriptionEnum): number | null => { switch (subscriptionType) { @@ -37,7 +37,7 @@ export function DiscountInfo({ className, currency, frequency, price, subscripti // derived values const actualPrice = getActualPrice(frequency, subscriptionType); - if (!PLANS_WITH_DISCOUNT.includes(subscriptionType)) { + if (!PLANS_WITH_DISCOUNT.has(subscriptionType)) { return ( <> {currency} diff --git a/apps/web/core/components/license/modal/card/talk-to-sales.tsx b/apps/web/core/components/license/modal/card/talk-to-sales.tsx index c12ee704229..0e4fdd98280 100644 --- a/apps/web/core/components/license/modal/card/talk-to-sales.tsx +++ b/apps/web/core/components/license/modal/card/talk-to-sales.tsx @@ -7,10 +7,9 @@ import { observer } from "mobx-react"; // types // plane imports -import { getButtonStyling } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; -import { Loader } from "@plane/ui"; -import { cn } from "@plane/utils"; +import { Loader } from "@plane/blocks/loader"; // local imports import { BasePaidPlanCard } from "./base-paid-plan-card"; @@ -72,9 +71,14 @@ export const TalkToSalesCard = observer(function TalkToSalesCard(props: TalkToSa ) : (
- - Talk to Sales - + - +
diff --git a/apps/web/core/components/modules/archived-modules/root.tsx b/apps/web/core/components/modules/archived-modules/root.tsx index 716ccbcdf12..d78ec22a50d 100644 --- a/apps/web/core/components/modules/archived-modules/root.tsx +++ b/apps/web/core/components/modules/archived-modules/root.tsx @@ -10,7 +10,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EmptyStateDetailed } from "@plane/propel/empty-state"; +import { EmptyStateDetailed } from "@plane/blocks/empty-state"; import type { TModuleFilters } from "@plane/types"; // components import { calculateTotalFilters } from "@plane/utils"; diff --git a/apps/web/core/components/modules/delete-module-modal.tsx b/apps/web/core/components/modules/delete-module-modal.tsx index f3bfe380cbc..64dea0ee717 100644 --- a/apps/web/core/components/modules/delete-module-modal.tsx +++ b/apps/web/core/components/modules/delete-module-modal.tsx @@ -10,10 +10,10 @@ import { useParams } from "next/navigation"; // types import { PROJECT_ERROR_MESSAGES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IModule } from "@plane/types"; // ui -import { AlertModalCore } from "@plane/ui"; +import { AlertModalCore } from "@plane/blocks/modals"; // constants // hooks import { useModule } from "@/hooks/store/use-module"; diff --git a/apps/web/core/components/modules/dropdowns/filters/lead.tsx b/apps/web/core/components/modules/dropdowns/filters/lead.tsx index b47ec8c3678..9cc6ec30b55 100644 --- a/apps/web/core/components/modules/dropdowns/filters/lead.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/lead.tsx @@ -9,7 +9,7 @@ import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; // plane ui import { Avatar } from "@makeplane/propel/components/avatar"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { getFileURL } from "@plane/utils"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/modules/dropdowns/filters/members.tsx b/apps/web/core/components/modules/dropdowns/filters/members.tsx index b13b7e35886..f3fdc96818c 100644 --- a/apps/web/core/components/modules/dropdowns/filters/members.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/members.tsx @@ -9,7 +9,7 @@ import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; // plane ui import { Avatar } from "@makeplane/propel/components/avatar"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { getFileURL } from "@plane/utils"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/modules/dropdowns/filters/root.tsx b/apps/web/core/components/modules/dropdowns/filters/root.tsx index 857ea730028..d1dff27c414 100644 --- a/apps/web/core/components/modules/dropdowns/filters/root.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/root.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; -import type { TModuleStatus } from "@plane/propel/icons"; +import type { TModuleStatus } from "@plane/blocks/icons"; // plane imports import { CloseOutline, SearchOutline } from "@makeplane/propel/icons"; import type { TModuleDisplayFilters, TModuleFilters } from "@plane/types"; diff --git a/apps/web/core/components/modules/dropdowns/filters/status.tsx b/apps/web/core/components/modules/dropdowns/filters/status.tsx index c6759089fd9..0517eafdad0 100644 --- a/apps/web/core/components/modules/dropdowns/filters/status.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/status.tsx @@ -8,7 +8,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ModuleStatusIcon } from "@plane/propel/icons"; +import { ModuleStatusIcon } from "@plane/blocks/icons"; import type { TModuleStatus } from "@plane/types"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/modules/dropdowns/order-by.tsx b/apps/web/core/components/modules/dropdowns/order-by.tsx index cc64d76f25b..046802585fa 100644 --- a/apps/web/core/components/modules/dropdowns/order-by.tsx +++ b/apps/web/core/components/modules/dropdowns/order-by.tsx @@ -7,12 +7,10 @@ import { ChevronDownOutline, SortAscendingOutline, SortDescendingOutline, TickOutline } from "@makeplane/propel/icons"; import { MODULE_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { getButtonStyling } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import type { TModuleOrderByOptions } from "@plane/types"; // ui -import { CustomMenu } from "@plane/ui"; -// helpers -import { cn } from "@plane/utils"; +import { CustomMenu } from "@plane/blocks/dropdowns"; // types // constants @@ -34,11 +32,11 @@ export function ModuleOrderByDropdown(props: Props) { return ( + } placement="bottom-end" maxHeight="lg" diff --git a/apps/web/core/components/modules/form.tsx b/apps/web/core/components/modules/form.tsx index c799e56c03e..278b3e8a9f5 100644 --- a/apps/web/core/components/modules/form.tsx +++ b/apps/web/core/components/modules/form.tsx @@ -12,7 +12,7 @@ import { Input, InputGroup } from "@makeplane/propel/components/input"; import { TextArea, TextAreaGroup } from "@makeplane/propel/components/text-area"; import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IModule } from "@plane/types"; import { getDate, renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; // components @@ -243,18 +243,31 @@ export function ModuleForm(props: Props) {
- - +
); diff --git a/apps/web/core/components/modules/gantt-chart/blocks.tsx b/apps/web/core/components/modules/gantt-chart/blocks.tsx index 9a7b4b8679c..85b1b359a3a 100644 --- a/apps/web/core/components/modules/gantt-chart/blocks.tsx +++ b/apps/web/core/components/modules/gantt-chart/blocks.tsx @@ -9,7 +9,7 @@ import Link from "next/link"; import { useParams } from "next/navigation"; // ui import { MODULE_STATUS } from "@plane/constants"; -import { ModuleStatusIcon } from "@plane/propel/icons"; +import { ModuleStatusIcon } from "@plane/blocks/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; // components import { SIDEBAR_WIDTH } from "@/components/gantt-chart/constants"; diff --git a/apps/web/core/components/modules/links/create-update-modal.tsx b/apps/web/core/components/modules/links/create-update-modal.tsx index 3d437a07e01..8761c830955 100644 --- a/apps/web/core/components/modules/links/create-update-modal.tsx +++ b/apps/web/core/components/modules/links/create-update-modal.tsx @@ -9,11 +9,11 @@ import { Controller, useForm } from "react-hook-form"; // plane types import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { ILinkDetails, ModuleLink } from "@plane/types"; // plane ui -import { ModalCore } from "@plane/ui"; +import { ModalCore } from "@plane/blocks/modals"; type Props = { createLink: (formData: ModuleLink) => Promise; data?: ILinkDetails | null; @@ -144,12 +144,15 @@ export function CreateUpdateModuleLinkModal(props: Props) {
- - +
diff --git a/apps/web/core/components/modules/links/list-item.tsx b/apps/web/core/components/modules/links/list-item.tsx index 3bf9367547f..a84cec07bf3 100644 --- a/apps/web/core/components/modules/links/list-item.tsx +++ b/apps/web/core/components/modules/links/list-item.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; import { CopyOutline, DeleteOutline, EditOutline } from "@makeplane/propel/icons"; // plane types -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { ILinkDetails } from "@plane/types"; // plane ui diff --git a/apps/web/core/components/modules/modal.tsx b/apps/web/core/components/modules/modal.tsx index 621bfa07585..75c136e57a9 100644 --- a/apps/web/core/components/modules/modal.tsx +++ b/apps/web/core/components/modules/modal.tsx @@ -8,9 +8,9 @@ import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { useForm } from "react-hook-form"; // Plane imports -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IModule } from "@plane/types"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // components import { ModuleForm } from "@/components/modules"; // hooks diff --git a/apps/web/core/components/modules/module-card-item.tsx b/apps/web/core/components/modules/module-card-item.tsx index f657d6645df..55398c6f2cb 100644 --- a/apps/web/core/components/modules/module-card-item.tsx +++ b/apps/web/core/components/modules/module-card-item.tsx @@ -14,10 +14,11 @@ import { InfoOutline, UserAltOutline, WorkItemsOutline } from "@makeplane/propel import { MODULE_STATUS, EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; import { LinearProgress } from "@makeplane/propel/components/linear-progress"; -import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { IModule } from "@plane/types"; -import { Card, FavoriteStar } from "@plane/ui"; +import { Card } from "@plane/blocks/card"; +import { FavoriteStar } from "@plane/blocks/favorite-star"; import { getDate, renderFormattedPayloadDate, generateQueryParams } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; diff --git a/apps/web/core/components/modules/module-list-item-action.tsx b/apps/web/core/components/modules/module-list-item-action.tsx index 34c9f8db567..27f20647ae1 100644 --- a/apps/web/core/components/modules/module-list-item-action.tsx +++ b/apps/web/core/components/modules/module-list-item-action.tsx @@ -12,10 +12,10 @@ import { UserAltOutline } from "@makeplane/propel/icons"; import { MODULE_STATUS, EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { IModule } from "@plane/types"; -import { FavoriteStar } from "@plane/ui"; +import { FavoriteStar } from "@plane/blocks/favorite-star"; import { renderFormattedPayloadDate, getDate } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; diff --git a/apps/web/core/components/modules/module-status-dropdown.tsx b/apps/web/core/components/modules/module-status-dropdown.tsx index ef532e68b16..380debfb5e7 100644 --- a/apps/web/core/components/modules/module-status-dropdown.tsx +++ b/apps/web/core/components/modules/module-status-dropdown.tsx @@ -8,10 +8,10 @@ import React from "react"; import { observer } from "mobx-react"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import type { TModuleStatus } from "@plane/propel/icons"; -import { ModuleStatusIcon } from "@plane/propel/icons"; +import type { TModuleStatus } from "@plane/blocks/icons"; +import { ModuleStatusIcon } from "@plane/blocks/icons"; import type { IModule } from "@plane/types"; -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; type Props = { isDisabled: boolean; diff --git a/apps/web/core/components/modules/module-view-header.tsx b/apps/web/core/components/modules/module-view-header.tsx index 9f20e1efe90..d0ef2f7cbc4 100644 --- a/apps/web/core/components/modules/module-view-header.tsx +++ b/apps/web/core/components/modules/module-view-header.tsx @@ -28,7 +28,8 @@ import { useMember } from "@/hooks/store/use-member"; import { useModuleFilter } from "@/hooks/store/use-module-filter"; import { usePlatformOS } from "@/hooks/use-platform-os"; import { ModuleLayoutIcon } from "./module-layout-icon"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; // i18n export const ModuleViewHeader = observer(function ModuleViewHeader() { @@ -103,13 +104,14 @@ export const ModuleViewHeader = observer(function ModuleViewHeader() { {!isSearchOpen && ( } onClick={() => { setIsSearchOpen(true); inputRef.current?.focus(); }} - icon={SearchOutline} + icon={} + aria-label="Search" /> )}
} + customButton={ + } + aria-label="Module actions" + /> + } placement="bottom-end" closeOnSelect buttonClassName={customClassName} diff --git a/apps/web/core/components/modules/select/status.tsx b/apps/web/core/components/modules/select/status.tsx index 8f5817e301a..a9e670dfe45 100644 --- a/apps/web/core/components/modules/select/status.tsx +++ b/apps/web/core/components/modules/select/status.tsx @@ -11,11 +11,11 @@ import type { FieldError, Control } from "react-hook-form"; import { Controller } from "react-hook-form"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ModuleStatusIcon } from "@plane/propel/icons"; +import { ModuleStatusIcon } from "@plane/blocks/icons"; import { StateOutline } from "@makeplane/propel/icons"; import type { IModule } from "@plane/types"; // ui -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; // types // constants diff --git a/apps/web/core/components/modules/sidebar-select/select-status.tsx b/apps/web/core/components/modules/sidebar-select/select-status.tsx index 72e034931ee..765c1cf6dfb 100644 --- a/apps/web/core/components/modules/sidebar-select/select-status.tsx +++ b/apps/web/core/components/modules/sidebar-select/select-status.tsx @@ -14,7 +14,7 @@ import { useTranslation } from "@plane/i18n"; import { StateOutline } from "@makeplane/propel/icons"; import type { IModule } from "@plane/types"; // ui -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; // types // common // constants diff --git a/apps/web/core/components/navigation/app-rail-hoc.tsx b/apps/web/core/components/navigation/app-rail-hoc.tsx index 82f25e1f68d..5232d934581 100644 --- a/apps/web/core/components/navigation/app-rail-hoc.tsx +++ b/apps/web/core/components/navigation/app-rail-hoc.tsx @@ -8,7 +8,7 @@ import React from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; -import { PlaneNewIcon } from "@plane/propel/icons"; +import { PlaneNewIcon } from "@plane/blocks/icons"; import type { AppSidebarItemData } from "@/components/sidebar/sidebar-item"; import { useWorkspacePaths } from "@/hooks/use-workspace-paths"; diff --git a/apps/web/core/components/navigation/app-rail-root.tsx b/apps/web/core/components/navigation/app-rail-root.tsx index a7cd6199e22..9f90330e9c3 100644 --- a/apps/web/core/components/navigation/app-rail-root.tsx +++ b/apps/web/core/components/navigation/app-rail-root.tsx @@ -8,7 +8,13 @@ import { observer } from "mobx-react"; import { useParams, usePathname } from "next/navigation"; import { SettingsOutline, TickOutline } from "@makeplane/propel/icons"; -import { ContextMenu } from "@plane/propel/context-menu"; +import { + ContextMenu, + ContextMenuContent, + ContextMenuItem, + ContextMenuSeparator, + ContextMenuTrigger, +} from "@makeplane/propel/components/context-menu"; import { cn } from "@plane/utils"; // components import { AppSidebarItem } from "@/components/sidebar/sidebar-item"; @@ -39,7 +45,7 @@ export const AppRailRoot = observer(() => { }} > - + }>
{ />
-
- - - updateDisplayMode("icon_only")}> -
- Icon only - {preferences.displayMode === "icon_only" && } -
-
- updateDisplayMode("icon_with_label")}> -
- Icon with name - {preferences.displayMode === "icon_with_label" && } -
-
- - - {isCollapsed ? "Dock App Rail" : "Undock App Rail"} - -
-
+ + + updateDisplayMode("icon_only")} + label="Icon only" + trailing={preferences.displayMode === "icon_only" ? : undefined} + /> + updateDisplayMode("icon_with_label")} + label="Icon with name" + trailing={preferences.displayMode === "icon_with_label" ? : undefined} + /> + + +
); diff --git a/apps/web/core/components/navigation/customize-navigation-dialog.tsx b/apps/web/core/components/navigation/customize-navigation-dialog.tsx index 2682023b337..a73cf858408 100644 --- a/apps/web/core/components/navigation/customize-navigation-dialog.tsx +++ b/apps/web/core/components/navigation/customize-navigation-dialog.tsx @@ -12,7 +12,8 @@ import { CloseOutline, DragDropOutline } from "@makeplane/propel/icons"; import { WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS_LINKS, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Checkbox } from "@makeplane/propel/components/checkbox"; -import { EModalPosition, EModalWidth, ModalCore, Sortable } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; +import { Sortable } from "@plane/blocks/sortable"; import { cn } from "@plane/utils"; // hooks import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/navigation/project-actions-menu.tsx b/apps/web/core/components/navigation/project-actions-menu.tsx index 51b99f63077..30e29a13f02 100644 --- a/apps/web/core/components/navigation/project-actions-menu.tsx +++ b/apps/web/core/components/navigation/project-actions-menu.tsx @@ -16,7 +16,7 @@ import { } from "@makeplane/propel/icons"; // plane imports import { useTranslation } from "@plane/i18n"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; type Props = { workspaceSlug: string; diff --git a/apps/web/core/components/navigation/project-header-button.tsx b/apps/web/core/components/navigation/project-header-button.tsx index bb9c87ba9e2..511bfb05a39 100644 --- a/apps/web/core/components/navigation/project-header-button.tsx +++ b/apps/web/core/components/navigation/project-header-button.tsx @@ -6,7 +6,7 @@ import type { TPartialProject } from "@plane/types"; // plane propel imports -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; import { ChevronDownOutline } from "@makeplane/propel/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; diff --git a/apps/web/core/components/navigation/project-header.tsx b/apps/web/core/components/navigation/project-header.tsx index e7c7fd24e44..0b72b779777 100644 --- a/apps/web/core/components/navigation/project-header.tsx +++ b/apps/web/core/components/navigation/project-header.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; // plane imports import { ProjectsOutline } from "@makeplane/propel/icons"; import type { ICustomSearchSelectOption } from "@plane/types"; -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/navigation/tab-navigation-overflow-menu.tsx b/apps/web/core/components/navigation/tab-navigation-overflow-menu.tsx index 4375deb72b3..1fdaace612f 100644 --- a/apps/web/core/components/navigation/tab-navigation-overflow-menu.tsx +++ b/apps/web/core/components/navigation/tab-navigation-overflow-menu.tsx @@ -9,7 +9,7 @@ import { Link } from "react-router"; import { DefaultTabOutline, MoreHorizontalOutline, PinOutline } from "@makeplane/propel/icons"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Menu } from "@plane/propel/menu"; +import { Menu, MenuContent, MenuItem, MenuTrigger } from "@makeplane/propel/components/menu"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import { cn } from "@plane/utils"; // local imports @@ -33,67 +33,65 @@ export function TabNavigationOverflowMenu({ overflowItems, isActive, tabPreferen const { t } = useTranslation(); return ( - - - - } - > - {overflowItems.map((item) => { - const itemIsActive = isActive(item); - // isHidden = true only for user-hidden items (not space-constrained overflow) - const isHidden = tabPreferences.hiddenTabs.includes(item.key); - const isDefault = item.key === tabPreferences.defaultTab; + + } + > + + + + {overflowItems.map((item) => { + const itemIsActive = isActive(item); + // isHidden = true only for user-hidden items (not space-constrained overflow) + const isHidden = tabPreferences.hiddenTabs.includes(item.key); + const isDefault = item.key === tabPreferences.defaultTab; - return ( - -
- - {t(item.i18n_key)} - -
- {/* Show Eye icon ONLY for user-hidden items */} - {isHidden && ( - - )} - - - -
-
-
- ); - })} + return ( + } + label={t(item.i18n_key)} + trailing={ +
+ {/* Show Eye icon ONLY for user-hidden items */} + {isHidden && ( + + )} + + + +
+ } + /> + ); + })} +
); } diff --git a/apps/web/core/components/navigation/tab-navigation-root.tsx b/apps/web/core/components/navigation/tab-navigation-root.tsx index 26c670df03a..45f36f59e50 100644 --- a/apps/web/core/components/navigation/tab-navigation-root.tsx +++ b/apps/web/core/components/navigation/tab-navigation-root.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import { useParams, useLocation, Link, useNavigate } from "react-router"; import { EUserPermissionsLevel, EUserPermissions } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TabNavigationList, TabNavigationItem } from "@plane/propel/tab-navigation"; +import { TabNavigationList, TabNavigationItem } from "@plane/blocks/tab-navigation"; import type { EUserProjectRoles } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/navigation/tab-navigation-visible-item.tsx b/apps/web/core/components/navigation/tab-navigation-visible-item.tsx index 3a32d49635a..ed807cef2d0 100644 --- a/apps/web/core/components/navigation/tab-navigation-visible-item.tsx +++ b/apps/web/core/components/navigation/tab-navigation-visible-item.tsx @@ -8,8 +8,13 @@ import { Link } from "react-router"; import { DefaultTabOutline, UnpinOutline } from "@makeplane/propel/icons"; // plane imports import { useTranslation } from "@plane/i18n"; -import { ContextMenu } from "@plane/propel/context-menu"; -import { TabNavigationItem } from "@plane/propel/tab-navigation"; +import { + ContextMenu, + ContextMenuContent, + ContextMenuItem, + ContextMenuTrigger, +} from "@makeplane/propel/components/context-menu"; +import { TabNavigationItem } from "@plane/blocks/tab-navigation"; // local imports import type { TNavigationItem } from "./tab-navigation-root"; import type { TTabPreferences } from "./tab-navigation-utils"; @@ -45,37 +50,31 @@ export function TabNavigationVisibleItem({ )}
- + {t(item.i18n_key)} - - - - { - e.stopPropagation(); - onToggleDefault(item.key); - }} - className="flex cursor-pointer items-center gap-2 text-secondary transition-colors" - > - - {isDefault ? "Clear default" : "Set as default"} - - { - e.stopPropagation(); - onHide(item.key); - }} - className="flex cursor-pointer items-center gap-2 text-secondary transition-colors" - > - - Hide in more menu - - - + + + { + e.stopPropagation(); + onToggleDefault(item.key); + }} + icon={} + label={isDefault ? "Clear default" : "Set as default"} + /> + { + e.stopPropagation(); + onHide(item.key); + }} + icon={} + label="Hide in more menu" + /> +
diff --git a/apps/web/core/components/navigation/use-project-actions.ts b/apps/web/core/components/navigation/use-project-actions.ts index 1b881278dbb..9347d52c692 100644 --- a/apps/web/core/components/navigation/use-project-actions.ts +++ b/apps/web/core/components/navigation/use-project-actions.ts @@ -5,7 +5,7 @@ */ import { useCallback, useState } from "react"; -import { setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { setToast, TOAST_TYPE } from "@plane/blocks/toast"; import { copyUrlToClipboard } from "@plane/utils"; import type { TNavigationItem } from "@/components/navigation/tab-navigation-root"; diff --git a/apps/web/core/components/navigation/use-tab-preferences.ts b/apps/web/core/components/navigation/use-tab-preferences.ts index a29829eea9b..d8f79131536 100644 --- a/apps/web/core/components/navigation/use-tab-preferences.ts +++ b/apps/web/core/components/navigation/use-tab-preferences.ts @@ -5,7 +5,7 @@ */ import { useMemo } from "react"; -import { setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { setToast, TOAST_TYPE } from "@plane/blocks/toast"; import { useMember } from "@/hooks/store/use-member"; import { useUser } from "@/hooks/store/user"; import { DEFAULT_TAB_KEY } from "./tab-navigation-utils"; diff --git a/apps/web/core/components/onboarding/create-workspace.tsx b/apps/web/core/components/onboarding/create-workspace.tsx index b7eae164897..f4f0705b999 100644 --- a/apps/web/core/components/onboarding/create-workspace.tsx +++ b/apps/web/core/components/onboarding/create-workspace.tsx @@ -13,11 +13,12 @@ import { Input, InputGroup } from "@makeplane/propel/components/input"; import { ORGANIZATION_SIZE, RESTRICTED_URLS } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/elements/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser, IWorkspace, TOnboardingSteps } from "@plane/types"; // ui -import { CustomSelect, Spinner } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; +import { Spinner } from "@plane/blocks/spinner"; import { validateWorkspaceName, validateSlug } from "@plane/utils"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; @@ -108,9 +109,10 @@ export const CreateWorkspace = observer(function CreateWorkspace(props: Props) { <> diff --git a/apps/web/core/components/onboarding/header.tsx b/apps/web/core/components/onboarding/header.tsx index 4bb35e0be98..9fe1c9706fb 100644 --- a/apps/web/core/components/onboarding/header.tsx +++ b/apps/web/core/components/onboarding/header.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // plane imports -import { PlaneLockup } from "@plane/propel/icons"; +import { PlaneLockup } from "@plane/blocks/icons"; import { ChevronLeftOutline } from "@makeplane/propel/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { TOnboardingStep } from "@plane/types"; diff --git a/apps/web/core/components/onboarding/invitations.tsx b/apps/web/core/components/onboarding/invitations.tsx index 09152433c15..4feaf4eb8cd 100644 --- a/apps/web/core/components/onboarding/invitations.tsx +++ b/apps/web/core/components/onboarding/invitations.tsx @@ -8,11 +8,12 @@ import { useState } from "react"; // plane imports import { ROLE } from "@plane/constants"; // types -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; import type { IWorkspaceMemberInvitation } from "@plane/types"; // ui import { Checkbox } from "@makeplane/propel/components/checkbox"; -import { Spinner } from "@plane/ui"; +import { Spinner } from "@plane/blocks/spinner"; import { truncateText } from "@plane/utils"; // constants // helpers @@ -98,15 +99,16 @@ export function Invitations(props: Props) { ); })} - +

or

@@ -114,13 +116,13 @@ export function Invitations(props: Props) {
+ label="Create your own workspace" + /> ) : (
No Invitations found
diff --git a/apps/web/core/components/onboarding/invite-members.tsx b/apps/web/core/components/onboarding/invite-members.tsx index e83e5606a1a..749983cad31 100644 --- a/apps/web/core/components/onboarding/invite-members.tsx +++ b/apps/web/core/components/onboarding/invite-members.tsx @@ -26,11 +26,12 @@ import type { EUserPermissions } from "@plane/constants"; import { ROLE, ROLE_DETAILS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser, IWorkspace } from "@plane/types"; // ui -import { Spinner } from "@plane/ui"; +import { Spinner } from "@plane/blocks/spinner"; // services import { WorkspaceService } from "@/services/workspace.service"; // components @@ -387,18 +388,16 @@ export function InviteMembers(props: Props) {
- - + +
diff --git a/apps/web/core/components/onboarding/profile-setup.tsx b/apps/web/core/components/onboarding/profile-setup.tsx index d789d195ef9..de4d99be1f2 100644 --- a/apps/web/core/components/onboarding/profile-setup.tsx +++ b/apps/web/core/components/onboarding/profile-setup.tsx @@ -13,11 +13,12 @@ import { Input, InputGroup } from "@makeplane/propel/components/input"; import { E_PASSWORD_STRENGTH } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/elements/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser, TUserProfile, TOnboardingSteps } from "@plane/types"; // ui -import { PasswordStrengthIndicator, Spinner } from "@plane/ui"; +import { PasswordStrengthIndicator } from "@plane/blocks/form-fields"; +import { Spinner } from "@plane/blocks/spinner"; // components import { cn, getFileURL, getPasswordStrength, validatePersonName } from "@plane/utils"; import { UserImageUploadModal } from "@/components/core/modals/user-image-upload-modal"; @@ -552,7 +553,7 @@ export const ProfileSetup = observer(function ProfileSetup(props: Props) { )} - diff --git a/apps/web/core/components/onboarding/root.tsx b/apps/web/core/components/onboarding/root.tsx index 395e19b0957..8d9c3c6812e 100644 --- a/apps/web/core/components/onboarding/root.tsx +++ b/apps/web/core/components/onboarding/root.tsx @@ -7,7 +7,7 @@ import { useCallback, useEffect, useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IWorkspaceMemberInvitation, TOnboardingStep, TOnboardingSteps, TUserProfile } from "@plane/types"; import { EOnboardingSteps } from "@plane/types"; // hooks diff --git a/apps/web/core/components/onboarding/steps/profile/root.tsx b/apps/web/core/components/onboarding/steps/profile/root.tsx index 1b165d40bdf..1a89ad12a1f 100644 --- a/apps/web/core/components/onboarding/steps/profile/root.tsx +++ b/apps/web/core/components/onboarding/steps/profile/root.tsx @@ -10,8 +10,8 @@ import { Controller, useForm } from "react-hook-form"; import { ImageOutline } from "@makeplane/propel/icons"; // plane imports import { E_PASSWORD_STRENGTH } from "@plane/constants"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser } from "@plane/types"; import { EOnboardingSteps } from "@plane/types"; import { cn, getFileURL, getPasswordStrength, validatePersonName } from "@plane/utils"; @@ -247,9 +247,7 @@ export const ProfileSetupStep = observer(function ProfileSetupStep({ handleStepC )} {/* Continue Button */} - + - +
- - + +
); diff --git a/apps/web/core/components/onboarding/steps/usecase/root.tsx b/apps/web/core/components/onboarding/steps/usecase/root.tsx index 4f4b2ef4aeb..0a50328dd81 100644 --- a/apps/web/core/components/onboarding/steps/usecase/root.tsx +++ b/apps/web/core/components/onboarding/steps/usecase/root.tsx @@ -8,9 +8,9 @@ import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; // plane imports import { USE_CASES } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { TickOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TUserProfile } from "@plane/types"; import { EOnboardingSteps } from "@plane/types"; import { cn } from "@plane/utils"; @@ -50,10 +50,7 @@ export const UseCaseSetupStep = observer(function UseCaseSetupStep({ handleStepC use_case: formData.use_case && formData.use_case.length > 0 ? formData.use_case.join(". ") : undefined, }; try { - await Promise.all([ - updateUserProfile(profileUpdatePayload), - // totalSteps > 2 && stepChange({ profile_complete: true }), - ]); + [await updateUserProfile(profileUpdatePayload)]; setToast({ type: TOAST_TYPE.SUCCESS, title: "Success", @@ -150,12 +147,8 @@ export const UseCaseSetupStep = observer(function UseCaseSetupStep({ handleStepC {/* Action Buttons */}
- - +
); diff --git a/apps/web/core/components/onboarding/steps/workspace/create.tsx b/apps/web/core/components/onboarding/steps/workspace/create.tsx index 9d2bcf030ac..d899af1fb47 100644 --- a/apps/web/core/components/onboarding/steps/workspace/create.tsx +++ b/apps/web/core/components/onboarding/steps/workspace/create.tsx @@ -11,10 +11,11 @@ import { TickCircleOutline } from "@makeplane/propel/icons"; // plane imports import { ORGANIZATION_SIZE, RESTRICTED_URLS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser, IWorkspace } from "@plane/types"; -import { Spinner } from "@plane/ui"; +import { Spinner } from "@plane/blocks/spinner"; import { cn, validateWorkspaceName, validateSlug } from "@plane/utils"; // hooks import { useInstance } from "@/hooks/store/use-instance"; @@ -290,13 +291,17 @@ export const WorkspaceCreateStep = observer(function WorkspaceCreateStep({
- + {hasInvitations && ( - +
diff --git a/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx b/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx index 92153459c07..c775f0514f5 100644 --- a/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx +++ b/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx @@ -7,10 +7,11 @@ import { useState } from "react"; // plane imports import { ROLE } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; +import { Button as ButtonElement } from "@makeplane/propel/elements/button"; import type { IWorkspaceMemberInvitation } from "@plane/types"; import { Checkbox } from "@makeplane/propel/components/checkbox"; -import { Spinner } from "@plane/ui"; +import { Spinner } from "@plane/blocks/spinner"; import { truncateText } from "@plane/utils"; // constants import { WorkspaceLogo } from "@/components/workspace/logo"; @@ -100,24 +101,23 @@ export function WorkspaceJoinInvitesStep(props: Props) { })}
- + + />
) : ( diff --git a/apps/web/core/components/onboarding/switch-account-modal.tsx b/apps/web/core/components/onboarding/switch-account-modal.tsx index aa80f8e330a..3de0d48d420 100644 --- a/apps/web/core/components/onboarding/switch-account-modal.tsx +++ b/apps/web/core/components/onboarding/switch-account-modal.tsx @@ -10,8 +10,8 @@ import { useTheme } from "next-themes"; import { ArrowRightLeft } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // ui -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; // hooks import { useUser } from "@/hooks/store/user"; import { useAppRouter } from "@/hooks/use-app-router"; @@ -104,9 +104,14 @@ export function SwitchAccountModal(props: Props) {
- +
diff --git a/apps/web/core/components/onboarding/tour/root.tsx b/apps/web/core/components/onboarding/tour/root.tsx index a5c3389fc68..1a165f2e9a1 100644 --- a/apps/web/core/components/onboarding/tour/root.tsx +++ b/apps/web/core/components/onboarding/tour/root.tsx @@ -7,8 +7,8 @@ import { useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { Button } from "@plane/propel/button"; -import { PlaneLockup } from "@plane/propel/icons"; +import { Button } from "@makeplane/propel/components/button"; +import { PlaneLockup } from "@plane/blocks/icons"; import { CloseOutline } from "@makeplane/propel/icons"; // assets import CyclesTour from "@/app/assets/onboarding/cycles.webp?url"; @@ -110,12 +110,13 @@ export const TourRoot = observer(function TourRoot(props: TOnboardingTourProps)
+ /> + +
{currentStepIndex === TOUR_STEPS.length - 1 && ( + /> )} diff --git a/apps/web/core/components/onboarding/tour/sidebar.tsx b/apps/web/core/components/onboarding/tour/sidebar.tsx index 8ba1848e4a2..0e017e6fb79 100644 --- a/apps/web/core/components/onboarding/tour/sidebar.tsx +++ b/apps/web/core/components/onboarding/tour/sidebar.tsx @@ -6,7 +6,7 @@ // plane imports import { CyclesOutline, ModuleOutline, PagesOutline, ViewsOutline, WorkItemsOutline } from "@makeplane/propel/icons"; -import type { ISvgIcons } from "@plane/propel/icons"; +import type { ISvgIcons } from "@plane/blocks/icons"; // types import type { TTourSteps } from "./root"; diff --git a/apps/web/core/components/pages/dropdowns/actions.tsx b/apps/web/core/components/pages/dropdowns/actions.tsx index e67f64f0299..bd159e2434c 100644 --- a/apps/web/core/components/pages/dropdowns/actions.tsx +++ b/apps/web/core/components/pages/dropdowns/actions.tsx @@ -24,8 +24,8 @@ import { import { EPageAccess } from "@plane/constants"; // plane editor // plane ui -import type { TContextMenuItem } from "@plane/ui"; -import { ContextMenu, CustomMenu } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/blocks/dropdowns"; +import { ContextMenu, CustomMenu } from "@plane/blocks/dropdowns"; // components import { cn } from "@plane/utils"; import { DeletePageModal } from "@/components/pages/modals/delete-page-modal"; diff --git a/apps/web/core/components/pages/editor/editor-body.tsx b/apps/web/core/components/pages/editor/editor-body.tsx index 0e4facc0fd6..41d8f360131 100644 --- a/apps/web/core/components/pages/editor/editor-body.tsx +++ b/apps/web/core/components/pages/editor/editor-body.tsx @@ -21,7 +21,7 @@ import type { } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; import type { TSearchEntityRequestPayload, TSearchResponse, TWebhookConnectionQueryParams } from "@plane/types"; -import { ERowVariant, Row } from "@plane/ui"; +import { ERowVariant, Row } from "@plane/blocks/row"; import { cn, generateRandomColor, hslToHex } from "@plane/utils"; // components import { EditorMentionsRoot } from "@/components/editor/embeds/mentions"; diff --git a/apps/web/core/components/pages/editor/header/logo-picker.tsx b/apps/web/core/components/pages/editor/header/logo-picker.tsx index 1f037fd6ddc..6aa04b57fb1 100644 --- a/apps/web/core/components/pages/editor/header/logo-picker.tsx +++ b/apps/web/core/components/pages/editor/header/logo-picker.tsx @@ -7,7 +7,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/propel/emoji-icon-picker"; +import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/blocks/emoji-icon-picker"; import { cn } from "@plane/utils"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/editor/header/root.tsx b/apps/web/core/components/pages/editor/header/root.tsx index 05296b79478..b32a65744eb 100644 --- a/apps/web/core/components/pages/editor/header/root.tsx +++ b/apps/web/core/components/pages/editor/header/root.tsx @@ -8,7 +8,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { ReactionOutline } from "@makeplane/propel/icons"; // plane imports -import { EmojiPicker, EmojiIconPickerTypes } from "@plane/propel/emoji-icon-picker"; +import { EmojiPicker, EmojiIconPickerTypes } from "@plane/blocks/emoji-icon-picker"; import { cn } from "@plane/utils"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx index cafe0421e62..8dd5ff04693 100644 --- a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx +++ b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx @@ -8,7 +8,7 @@ import { useMemo, useState } from "react"; import { observer } from "mobx-react"; import { ClipboardOutline, ExportOutline, HistoryOutline } from "@makeplane/propel/icons"; // plane imports -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Switch } from "@makeplane/propel/components/switch"; // hooks import { useAppRouter } from "@/hooks/use-app-router"; diff --git a/apps/web/core/components/pages/editor/toolbar/toolbar.tsx b/apps/web/core/components/pages/editor/toolbar/toolbar.tsx index 92a0371c522..f9f369f8c67 100644 --- a/apps/web/core/components/pages/editor/toolbar/toolbar.tsx +++ b/apps/web/core/components/pages/editor/toolbar/toolbar.tsx @@ -9,7 +9,7 @@ import type { EditorRefApi } from "@plane/editor"; // plane imports import { ChevronDownOutline, TickOutline } from "@makeplane/propel/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import { cn } from "@plane/utils"; // constants import type { ToolbarMenuItem } from "@plane/editor"; diff --git a/apps/web/core/components/pages/header/copy-link-control.tsx b/apps/web/core/components/pages/header/copy-link-control.tsx index 4773d9b418c..a1f56b54dbd 100644 --- a/apps/web/core/components/pages/header/copy-link-control.tsx +++ b/apps/web/core/components/pages/header/copy-link-control.tsx @@ -10,7 +10,8 @@ import { observer } from "mobx-react"; import { LinkOutline, TickOutline } from "@makeplane/propel/icons"; // plane imports import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; import { cn } from "@plane/utils"; // hooks import { usePageOperations } from "@/hooks/use-page-operations"; @@ -60,11 +61,11 @@ export const PageCopyLinkControl = observer(function PageCopyLinkControl({ page } onClick={handleCopy} aria-label={isCopied ? "Copied link" : "Copy link"} - className={cn(isCopied && "text-success-primary")} + render={ } placement="bottom-end" maxHeight="lg" diff --git a/apps/web/core/components/pages/list/search-input.tsx b/apps/web/core/components/pages/list/search-input.tsx index e90d67f3bc2..9e679956251 100644 --- a/apps/web/core/components/pages/list/search-input.tsx +++ b/apps/web/core/components/pages/list/search-input.tsx @@ -7,7 +7,8 @@ import { useRef, useState } from "react"; // plane imports import { useOutsideClickDetector } from "@plane/hooks"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; import { CloseOutline, SearchOutline } from "@makeplane/propel/icons"; import { cn } from "@plane/utils"; @@ -43,13 +44,14 @@ export function PageSearchInput(props: Props) { {!isSearchOpen && ( } onClick={() => { setIsSearchOpen(true); inputRef.current?.focus(); }} - icon={SearchOutline} + icon={} + aria-label="Search pages" /> )}
).toBlob(); initiateDownload(blob, `${fileName}-${selectedPageFormat.toString().toLowerCase()}.pdf`); } catch (error) { - throw new Error(`Error in exporting as a PDF: ${error}`); + throw new Error(`Error in exporting as a PDF: ${error}`, { cause: error }); } }; // handle export as markdown @@ -171,7 +172,7 @@ export function ExportPageModal(props: Props) { const blob = new Blob([parsedMarkdownContent], { type: "text/markdown" }); initiateDownload(blob, `${fileName}.md`); } catch (error) { - throw new Error(`Error in exporting as markdown: ${error}`); + throw new Error(`Error in exporting as markdown: ${error}`, { cause: error }); } }; // handle export @@ -282,12 +283,15 @@ export function ExportPageModal(props: Props) {
- - +
diff --git a/apps/web/core/components/pages/modals/page-form.tsx b/apps/web/core/components/pages/modals/page-form.tsx index c234e91d41d..3dcc23d0b58 100644 --- a/apps/web/core/components/pages/modals/page-form.tsx +++ b/apps/web/core/components/pages/modals/page-form.tsx @@ -12,10 +12,10 @@ import type { LucideIcon } from "lucide-react"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { ETabIndices, EPageAccess } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/propel/emoji-icon-picker"; +import { Button } from "@makeplane/propel/components/button"; +import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/blocks/emoji-icon-picker"; import { GlobeOutline, LockOutline, PagesOutline } from "@makeplane/propel/icons"; -import type { ISvgIcons } from "@plane/propel/icons"; +import type { ISvgIcons } from "@plane/blocks/icons"; import type { TPage } from "@plane/types"; import { getTabIndex } from "@plane/utils"; @@ -147,19 +147,24 @@ export function PageForm(props: Props) {
{t(i18n_access_label || "")}
- + + />
diff --git a/apps/web/core/components/pages/navigation-pane/tab-panels/outline.tsx b/apps/web/core/components/pages/navigation-pane/tab-panels/outline.tsx index cb012339e61..5674df8908b 100644 --- a/apps/web/core/components/pages/navigation-pane/tab-panels/outline.tsx +++ b/apps/web/core/components/pages/navigation-pane/tab-panels/outline.tsx @@ -5,7 +5,7 @@ */ // plane imports -import { ScrollArea } from "@plane/propel/scrollarea"; +import { ScrollArea } from "@makeplane/propel/components/scroll-area"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports @@ -24,18 +24,16 @@ export function PageNavigationPaneOutlineTabPanel(props: Props) { } = page; return ( - - } - /> - +
+ +
+ } + /> +
+
+
); } diff --git a/apps/web/core/components/pages/pages-list-main-content.tsx b/apps/web/core/components/pages/pages-list-main-content.tsx index d835df658a8..10a1290b505 100644 --- a/apps/web/core/components/pages/pages-list-main-content.tsx +++ b/apps/web/core/components/pages/pages-list-main-content.tsx @@ -10,8 +10,8 @@ import { observer } from "mobx-react"; import { useParams, useRouter } from "next/navigation"; import { EUserPermissionsLevel, EPageAccess } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EmptyStateDetailed } from "@plane/propel/empty-state"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { EmptyStateDetailed } from "@plane/blocks/empty-state"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TPage, TPageNavigationTabs } from "@plane/types"; import { EUserProjectRoles } from "@plane/types"; // components diff --git a/apps/web/core/components/pages/version/editor.tsx b/apps/web/core/components/pages/version/editor.tsx index e9b36ebdd43..cba92e95f29 100644 --- a/apps/web/core/components/pages/version/editor.tsx +++ b/apps/web/core/components/pages/version/editor.tsx @@ -9,7 +9,7 @@ import { useParams } from "next/navigation"; // plane imports import type { TDisplayConfig } from "@plane/editor"; import type { JSONContent, TPageVersion } from "@plane/types"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; import { isJSONContentEmpty } from "@plane/utils"; // components import { DocumentEditor } from "@/components/editor/document/editor"; diff --git a/apps/web/core/components/pages/version/main-content.tsx b/apps/web/core/components/pages/version/main-content.tsx index bd978efd1ed..483faa434d0 100644 --- a/apps/web/core/components/pages/version/main-content.tsx +++ b/apps/web/core/components/pages/version/main-content.tsx @@ -9,8 +9,8 @@ import { observer } from "mobx-react"; import useSWR from "swr"; import { ShowOutline, WarningTriangleOutline } from "@makeplane/propel/icons"; // plane imports -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TPageVersion } from "@plane/types"; import { renderFormattedDate, renderFormattedTime } from "@plane/utils"; // helpers @@ -93,9 +93,15 @@ export const PageVersionsMainContent = observer(function PageVersionsMainContent
Something went wrong!

The version could not be loaded, please try again.

- + + + - + + + /> diff --git a/apps/web/core/components/project/card-list.tsx b/apps/web/core/components/project/card-list.tsx index 961045d6489..358a30c1b82 100644 --- a/apps/web/core/components/project/card-list.tsx +++ b/apps/web/core/components/project/card-list.tsx @@ -8,8 +8,8 @@ import { observer } from "mobx-react"; // plane imports import { EUserPermissionsLevel, EUserPermissions } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EmptyStateDetailed } from "@plane/propel/empty-state"; -import { ContentWrapper } from "@plane/ui"; +import { EmptyStateDetailed } from "@plane/blocks/empty-state"; +import { ContentWrapper } from "@plane/blocks/content-wrapper"; // components import { calculateTotalFilters } from "@plane/utils"; import { ProjectsLoader } from "@/components/ui/loader/projects-loader"; diff --git a/apps/web/core/components/project/card.tsx b/apps/web/core/components/project/card.tsx index 45dbcb1ae86..0bc5cf141c5 100644 --- a/apps/web/core/components/project/card.tsx +++ b/apps/web/core/components/project/card.tsx @@ -22,13 +22,14 @@ import { import { EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; import { Avatar } from "@makeplane/propel/components/avatar"; -import { Button } from "@plane/propel/button"; -import { Logo } from "@plane/propel/emoji-icon-picker"; -import { setPromiseToast, setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; +import { setPromiseToast, setToast, TOAST_TYPE } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { IProject } from "@plane/types"; -import type { TContextMenuItem } from "@plane/ui"; -import { ContextMenu, FavoriteStar } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/blocks/dropdowns"; +import { ContextMenu } from "@plane/blocks/dropdowns"; +import { FavoriteStar } from "@plane/blocks/favorite-star"; import { copyUrlToClipboard, cn, getFileURL, renderFormattedDate } from "@plane/utils"; // components // hooks @@ -366,16 +367,17 @@ export const ProjectCard = observer(function ProjectCard(props: Props) { {!isMemberOfProject && (
+ render={
)} diff --git a/apps/web/core/components/project/confirm-project-member-remove.tsx b/apps/web/core/components/project/confirm-project-member-remove.tsx index 04145f1a87e..f8b3e2d3028 100644 --- a/apps/web/core/components/project/confirm-project-member-remove.tsx +++ b/apps/web/core/components/project/confirm-project-member-remove.tsx @@ -9,10 +9,10 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { WarningTriangleOutline } from "@makeplane/propel/icons"; // types -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IUserLite } from "@plane/types"; // ui -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useUser } from "@/hooks/store/user"; @@ -82,12 +82,18 @@ export const ConfirmProjectMemberRemove = observer(function ConfirmProjectMember
- - +
); diff --git a/apps/web/core/components/project/create-project-modal.tsx b/apps/web/core/components/project/create-project-modal.tsx index 45e2ed517d2..6b814c154b0 100644 --- a/apps/web/core/components/project/create-project-modal.tsx +++ b/apps/web/core/components/project/create-project-modal.tsx @@ -5,7 +5,7 @@ */ import { useEffect, useState } from "react"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { getAssetIdFromUrl, checkURLValidity } from "@plane/utils"; // plane ui // helpers diff --git a/apps/web/core/components/project/create/header.tsx b/apps/web/core/components/project/create/header.tsx index 356ec1c56e2..99a056c90f4 100644 --- a/apps/web/core/components/project/create/header.tsx +++ b/apps/web/core/components/project/create/header.tsx @@ -9,7 +9,7 @@ import { Controller, useFormContext } from "react-hook-form"; // plane imports import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/propel/emoji-icon-picker"; +import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/blocks/emoji-icon-picker"; import { CloseOutline } from "@makeplane/propel/icons"; // plane types import type { IProject } from "@plane/types"; diff --git a/apps/web/core/components/project/create/project-create-buttons.tsx b/apps/web/core/components/project/create/project-create-buttons.tsx index ae66ca71919..f0eb5000d06 100644 --- a/apps/web/core/components/project/create/project-create-buttons.tsx +++ b/apps/web/core/components/project/create/project-create-buttons.tsx @@ -8,7 +8,7 @@ import { useFormContext } from "react-hook-form"; // plane imports import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IProject } from "@plane/types"; // ui // helpers @@ -30,12 +30,23 @@ function ProjectCreateButtons(props: Props) { return (
- - +
); } diff --git a/apps/web/core/components/project/delete-project-modal.tsx b/apps/web/core/components/project/delete-project-modal.tsx index b4ee30a64da..769214081b1 100644 --- a/apps/web/core/components/project/delete-project-modal.tsx +++ b/apps/web/core/components/project/delete-project-modal.tsx @@ -10,10 +10,10 @@ import { WarningTriangleOutline } from "@makeplane/propel/icons"; // Plane imports import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IProject } from "@plane/types"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useAppRouter } from "@/hooks/use-app-router"; @@ -147,12 +147,16 @@ export function DeleteProjectModal(props: DeleteProjectModal) { />
- - +
diff --git a/apps/web/core/components/project/dropdowns/filters/lead.tsx b/apps/web/core/components/project/dropdowns/filters/lead.tsx index b47ec8c3678..9cc6ec30b55 100644 --- a/apps/web/core/components/project/dropdowns/filters/lead.tsx +++ b/apps/web/core/components/project/dropdowns/filters/lead.tsx @@ -9,7 +9,7 @@ import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; // plane ui import { Avatar } from "@makeplane/propel/components/avatar"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { getFileURL } from "@plane/utils"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/project/dropdowns/filters/member-list.tsx b/apps/web/core/components/project/dropdowns/filters/member-list.tsx index 5489554a3b4..938ebdcb5ff 100644 --- a/apps/web/core/components/project/dropdowns/filters/member-list.tsx +++ b/apps/web/core/components/project/dropdowns/filters/member-list.tsx @@ -7,11 +7,11 @@ import { useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import { ChevronDownOutline } from "@makeplane/propel/icons"; import { EUserProjectRoles, EUserWorkspaceRoles } from "@plane/types"; // plane ui -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; @@ -101,7 +101,7 @@ export const MemberListFiltersDropdown = observer(function MemberListFiltersDrop - diff --git a/apps/web/core/components/project/dropdowns/filters/members.tsx b/apps/web/core/components/project/dropdowns/filters/members.tsx index b13b7e35886..f3fdc96818c 100644 --- a/apps/web/core/components/project/dropdowns/filters/members.tsx +++ b/apps/web/core/components/project/dropdowns/filters/members.tsx @@ -9,7 +9,7 @@ import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; // plane ui import { Avatar } from "@makeplane/propel/components/avatar"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // components import { getFileURL } from "@plane/utils"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/project/dropdowns/order-by.tsx b/apps/web/core/components/project/dropdowns/order-by.tsx index 1a363d1230c..b65692d4db5 100644 --- a/apps/web/core/components/project/dropdowns/order-by.tsx +++ b/apps/web/core/components/project/dropdowns/order-by.tsx @@ -8,9 +8,9 @@ import { SortDescendingOutline, TickOutline } from "@makeplane/propel/icons"; // plane imports import { PROJECT_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { getButtonStyling } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/elements/button"; import type { TProjectOrderByOptions } from "@plane/types"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; type Props = { onChange: (value: TProjectOrderByOptions) => void; @@ -18,7 +18,7 @@ type Props = { isMobile?: boolean; }; -const DISABLED_ORDERING_OPTIONS = ["sort_order"]; +const DISABLED_ORDERING_OPTIONS = new Set(["sort_order"]); export function ProjectOrderByDropdown(props: Props) { const { onChange, value, isMobile = false } = props; @@ -27,7 +27,7 @@ export function ProjectOrderByDropdown(props: Props) { const orderByDetails = PROJECT_ORDER_BY_OPTIONS.find((option) => value?.includes(option.key)); const isDescending = value?.[0] === "-"; - const isOrderingDisabled = !!value && DISABLED_ORDERING_OPTIONS.includes(value); + const isOrderingDisabled = !!value && DISABLED_ORDERING_OPTIONS.has(value); return ( {isMobile ? ( -
+
+ ) : ( -
+
+ )} } diff --git a/apps/web/core/components/project/empty-state.tsx b/apps/web/core/components/project/empty-state.tsx index 4e4bce83880..66b269b5d77 100644 --- a/apps/web/core/components/project/empty-state.tsx +++ b/apps/web/core/components/project/empty-state.tsx @@ -6,7 +6,8 @@ import React from "react"; // ui -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; +import { Icon } from "@makeplane/propel/components/icon"; type Props = { title: string; @@ -33,14 +34,15 @@ export function EmptyState({ title, description, image, primaryButton, secondary
{primaryButton && ( + /> )} {secondaryButton}
diff --git a/apps/web/core/components/project/form-loader.tsx b/apps/web/core/components/project/form-loader.tsx index a78d4d134c1..35aa315f606 100644 --- a/apps/web/core/components/project/form-loader.tsx +++ b/apps/web/core/components/project/form-loader.tsx @@ -5,7 +5,7 @@ */ // components -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function ProjectDetailsFormLoader() { return ( diff --git a/apps/web/core/components/project/form.tsx b/apps/web/core/components/project/form.tsx index e5aaab47bce..67f4ffbf2ee 100644 --- a/apps/web/core/components/project/form.tsx +++ b/apps/web/core/components/project/form.tsx @@ -13,13 +13,13 @@ import { TextArea, TextAreaGroup } from "@makeplane/propel/components/text-area" import { NETWORK_CHOICES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // plane imports -import { Button } from "@plane/propel/button"; -import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/propel/emoji-icon-picker"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/blocks/emoji-icon-picker"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import { EFileAssetType } from "@plane/types"; import type { IProject, IWorkspace } from "@plane/types"; -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; import { renderFormattedDate } from "@plane/utils"; import { CoverImage } from "@/components/common/cover-image"; import { ImagePickerPopover } from "@/components/core/image-picker-popover"; @@ -452,9 +452,15 @@ export function ProjectDetailsForm(props: IProjectDetailsForm) {
<> - + - +
); diff --git a/apps/web/core/components/project/leave-project-modal.tsx b/apps/web/core/components/project/leave-project-modal.tsx index addd3c3d2bb..9429e61c682 100644 --- a/apps/web/core/components/project/leave-project-modal.tsx +++ b/apps/web/core/components/project/leave-project-modal.tsx @@ -11,10 +11,10 @@ import { WarningTriangleOutline } from "@makeplane/propel/icons"; // Plane imports import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IProject } from "@plane/types"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useUserPermissions } from "@/hooks/store/user"; import { useAppRouter } from "@/hooks/use-app-router"; @@ -171,12 +171,15 @@ export const LeaveProjectModal = observer(function LeaveProjectModal(props: ILea />
- - +
diff --git a/apps/web/core/components/project/member-header-column.tsx b/apps/web/core/components/project/member-header-column.tsx index d333fe8c701..b29cb650a90 100644 --- a/apps/web/core/components/project/member-header-column.tsx +++ b/apps/web/core/components/project/member-header-column.tsx @@ -20,7 +20,7 @@ import { MEMBER_PROPERTY_DETAILS } from "@plane/constants"; // i18n import { useTranslation } from "@plane/i18n"; // types -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; import type { IMemberFilters } from "@/store/member/utils"; interface Props { diff --git a/apps/web/core/components/project/member-list-item.tsx b/apps/web/core/components/project/member-list-item.tsx index 19256901897..b29c63161fc 100644 --- a/apps/web/core/components/project/member-list-item.tsx +++ b/apps/web/core/components/project/member-list-item.tsx @@ -6,8 +6,8 @@ import { observer } from "mobx-react"; // plane imports -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { Table } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; +import { Table } from "@plane/blocks/tables"; // hooks import { useMember } from "@/hooks/store/use-member"; import { useUser, useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/project/member-list.tsx b/apps/web/core/components/project/member-list.tsx index d6c04a1a0d5..c92b54649f2 100644 --- a/apps/web/core/components/project/member-list.tsx +++ b/apps/web/core/components/project/member-list.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { SearchOutline } from "@makeplane/propel/icons"; // components import { MembersSettingsLoader } from "@/components/ui/loader/settings/members"; @@ -102,12 +102,13 @@ export const ProjectMemberList = observer(function ProjectMemberList(props: TPro {isAdmin && ( + /> )} diff --git a/apps/web/core/components/project/member-select.tsx b/apps/web/core/components/project/member-select.tsx index d813297d155..34e50188fa7 100644 --- a/apps/web/core/components/project/member-select.tsx +++ b/apps/web/core/components/project/member-select.tsx @@ -11,7 +11,7 @@ import { Ban } from "lucide-react"; import { Avatar } from "@makeplane/propel/components/avatar"; import { EUserProjectRoles } from "@plane/types"; // plane ui -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; // helpers import { getFileURL } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/project/multi-select-modal.tsx b/apps/web/core/components/project/multi-select-modal.tsx index ca0eeee0e93..9ded0c0e7ae 100644 --- a/apps/web/core/components/project/multi-select-modal.tsx +++ b/apps/web/core/components/project/multi-select-modal.tsx @@ -11,11 +11,11 @@ import { useTheme } from "next-themes"; import { Combobox } from "@headlessui/react"; // plane ui import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { Logo } from "@plane/propel/emoji-icon-picker"; +import { Button } from "@makeplane/propel/components/button"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; import { CloseOutline, SearchOutline } from "@makeplane/propel/icons"; import { Checkbox } from "@makeplane/propel/components/checkbox"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; import { cn } from "@plane/utils"; // assets import darkProjectAsset from "@/app/assets/empty-state/search/project-dark.webp?url"; @@ -179,19 +179,17 @@ export const ProjectMultiSelectModal = observer(function ProjectMultiSelectModal
- + + />
); diff --git a/apps/web/core/components/project/project-feature-update.tsx b/apps/web/core/components/project/project-feature-update.tsx index 931f36b3476..98104356a43 100644 --- a/apps/web/core/components/project/project-feature-update.tsx +++ b/apps/web/core/components/project/project-feature-update.tsx @@ -8,9 +8,9 @@ import { observer } from "mobx-react"; import Link from "next/link"; import { useTranslation } from "@plane/i18n"; // ui -import { Button, getButtonStyling } from "@plane/propel/button"; -import { Logo } from "@plane/propel/emoji-icon-picker"; -import { Row } from "@plane/ui"; +import { Button } from "@makeplane/propel/elements/button"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; +import { Row } from "@plane/blocks/row"; // components // hooks import { useProject } from "@/hooks/store/use-project"; @@ -46,18 +46,24 @@ export const ProjectFeatureUpdate = observer(function ProjectFeatureUpdate(props
{/* eslint-disable-next-line jsx-a11y/tabindex-no-positive */} - - + } > {t("open_project")} - +
diff --git a/apps/web/core/components/project/project-settings-member-defaults.tsx b/apps/web/core/components/project/project-settings-member-defaults.tsx index f15d6c08bc8..c18d43378d7 100644 --- a/apps/web/core/components/project/project-settings-member-defaults.tsx +++ b/apps/web/core/components/project/project-settings-member-defaults.tsx @@ -12,10 +12,10 @@ import useSWR from "swr"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IProject, IUserLite, IWorkspace } from "@plane/types"; import { Switch } from "@makeplane/propel/components/switch"; -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; // constants import { PROJECT_DETAILS } from "@plane/constants"; // hooks diff --git a/apps/web/core/components/project/publish-project/modal.tsx b/apps/web/core/components/project/publish-project/modal.tsx index c0674da21be..6202a172471 100644 --- a/apps/web/core/components/project/publish-project/modal.tsx +++ b/apps/web/core/components/project/publish-project/modal.tsx @@ -11,13 +11,15 @@ import { Controller, useForm } from "react-hook-form"; // types import { SPACE_BASE_PATH, SPACE_BASE_URL } from "@plane/constants"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { GlobeOutline, NewTabOutline, TickOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { TProjectPublishLayouts, TProjectPublishSettings } from "@plane/types"; // ui import { Switch } from "@makeplane/propel/components/switch"; -import { Loader, CustomSelect, ModalCore, EModalWidth } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; +import { Loader } from "@plane/blocks/loader"; +import { ModalCore, EModalWidth } from "@plane/blocks/modals"; // helpers import { copyTextToClipboard } from "@plane/utils"; // hooks @@ -184,13 +186,13 @@ export const PublishProjectModal = observer(function PublishProjectModal(props:
Publish project
{isProjectPublished && ( + /> )} @@ -320,19 +322,27 @@ export const PublishProjectModal = observer(function PublishProjectModal(props: {!fetchSettingsLoader && (
- + + +
)} diff --git a/apps/web/core/components/project/search-projects.tsx b/apps/web/core/components/project/search-projects.tsx index 402f88b20d8..a744ef5cb68 100644 --- a/apps/web/core/components/project/search-projects.tsx +++ b/apps/web/core/components/project/search-projects.tsx @@ -15,7 +15,8 @@ import { CloseOutline, SearchOutline } from "@makeplane/propel/icons"; import { cn } from "@plane/utils"; // hooks import { useProjectFilter } from "@/hooks/store/use-project-filter"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; export const ProjectSearch = observer(function ProjectSearch() { // i18n @@ -43,13 +44,14 @@ export const ProjectSearch = observer(function ProjectSearch() { {!isSearchOpen && ( } onClick={() => { setIsSearchOpen(true); inputRef.current?.focus(); }} - icon={SearchOutline} + icon={} + aria-label={t("common.search.label")} /> )}
- - +
diff --git a/apps/web/core/components/project/settings/control-section.tsx b/apps/web/core/components/project/settings/control-section.tsx index de56790c885..d142d74874a 100644 --- a/apps/web/core/components/project/settings/control-section.tsx +++ b/apps/web/core/components/project/settings/control-section.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import { useParams } from "react-router"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; // components import { SettingsBoxedControlItem } from "@/components/settings/boxed-control-item"; // hooks @@ -61,9 +61,13 @@ export const GeneralProjectSettingsControlSection = observer(function GeneralPro title={t("archive")} description="Archiving a project will unlist your project from your side navigation although you will still be able to access it from your projects page. You can restore the project or delete it whenever you want." control={ - + + + } /> ); diff --git a/apps/web/core/components/rich-filters/add-filters/dropdown.tsx b/apps/web/core/components/rich-filters/add-filters/dropdown.tsx index 505162b3493..36894d15dec 100644 --- a/apps/web/core/components/rich-filters/add-filters/dropdown.tsx +++ b/apps/web/core/components/rich-filters/add-filters/dropdown.tsx @@ -7,10 +7,10 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports -import { setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { setToast, TOAST_TYPE } from "@plane/blocks/toast"; import type { IFilterInstance } from "@plane/shared-state"; import type { TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; import { getOperatorForPayload } from "@plane/utils"; export type TAddFilterDropdownProps

= { diff --git a/apps/web/core/components/rich-filters/filter-item/container.tsx b/apps/web/core/components/rich-filters/filter-item/container.tsx index d956a89ad0b..05b57476a2a 100644 --- a/apps/web/core/components/rich-filters/filter-item/container.tsx +++ b/apps/web/core/components/rich-filters/filter-item/container.tsx @@ -7,7 +7,7 @@ import { useEffect, useRef } from "react"; // plane imports import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { cn } from "@plane/propel/utils"; +import { cn } from "@plane/blocks/utils"; import type { SingleOrArray, TFilterValue } from "@plane/types"; import { hasValidValue } from "@plane/utils"; diff --git a/apps/web/core/components/rich-filters/filter-item/loader.tsx b/apps/web/core/components/rich-filters/filter-item/loader.tsx index 508d7546c37..0e929bbff04 100644 --- a/apps/web/core/components/rich-filters/filter-item/loader.tsx +++ b/apps/web/core/components/rich-filters/filter-item/loader.tsx @@ -4,7 +4,7 @@ * See the LICENSE file for details. */ -import { Loader } from "@plane/ui"; +import { Loader } from "@plane/blocks/loader"; export function FilterItemLoader() { return ( diff --git a/apps/web/core/components/rich-filters/filter-item/property.tsx b/apps/web/core/components/rich-filters/filter-item/property.tsx index 8cbdefaea4a..8eea4b37018 100644 --- a/apps/web/core/components/rich-filters/filter-item/property.tsx +++ b/apps/web/core/components/rich-filters/filter-item/property.tsx @@ -7,7 +7,7 @@ import { observer } from "mobx-react"; // plane imports import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { cn } from "@plane/propel/utils"; +import { cn } from "@plane/blocks/utils"; import type { IFilterInstance } from "@plane/shared-state"; import type { TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; // local imports diff --git a/apps/web/core/components/rich-filters/filter-item/root.tsx b/apps/web/core/components/rich-filters/filter-item/root.tsx index 0970d89b844..84903202284 100644 --- a/apps/web/core/components/rich-filters/filter-item/root.tsx +++ b/apps/web/core/components/rich-filters/filter-item/root.tsx @@ -16,7 +16,7 @@ import type { TFilterConditionNodeForDisplay, TAllAvailableOperatorsForDisplay, } from "@plane/types"; -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; import { cn, getOperatorForPayload } from "@plane/utils"; // local imports import { FilterValueInput } from "../filter-value-input/root"; diff --git a/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx b/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx index 2c5fb409fa8..d1939f8eb49 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx @@ -14,7 +14,7 @@ import type { TMultiSelectFilterFieldConfig, TFilterConditionNodeForDisplay, } from "@plane/types"; -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; import { toFilterArray, getFilterValueLength } from "@plane/utils"; // local imports import { SelectedOptionsDisplay } from "./selected-options-display"; diff --git a/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx b/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx index 2e525b5d6e5..2131bb43b6c 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx @@ -13,7 +13,7 @@ import type { TSingleSelectFilterFieldConfig, TFilterConditionNodeForDisplay, } from "@plane/types"; -import { CustomSearchSelect } from "@plane/ui"; +import { CustomSearchSelect } from "@plane/blocks/dropdowns"; // local imports import { SelectedOptionsDisplay } from "./selected-options-display"; import { getCommonCustomSearchSelectProps, getFormattedOptions, loadOptions } from "./shared"; diff --git a/apps/web/core/components/rich-filters/filters-row.tsx b/apps/web/core/components/rich-filters/filters-row.tsx index 9a836fcafe6..40f60d0c4fd 100644 --- a/apps/web/core/components/rich-filters/filters-row.tsx +++ b/apps/web/core/components/rich-filters/filters-row.tsx @@ -9,10 +9,12 @@ import { observer } from "mobx-react"; import { AddFilterOutline } from "@makeplane/propel/icons"; import { Transition } from "@headlessui/react"; // plane imports -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IFilterInstance } from "@plane/shared-state"; import type { TExternalFilter, TFilterProperty } from "@plane/types"; -import { cn, EHeaderVariant, Header, Loader } from "@plane/ui"; +import { EHeaderVariant, Header } from "@plane/blocks/header"; +import { Loader } from "@plane/blocks/loader"; +import { cn } from "@plane/blocks/utils"; // local imports import type { TAddFilterButtonProps } from "./add-filters/button"; import { AddFilterButton } from "./add-filters/button"; @@ -64,7 +66,7 @@ export const FiltersRow = observer(function FiltersRow - + + + render={ + + + + + ) } placement="bottom-end" className="flex w-full justify-center" diff --git a/apps/web/core/components/views/form.tsx b/apps/web/core/components/views/form.tsx index 2f58541a351..3022a151266 100644 --- a/apps/web/core/components/views/form.tsx +++ b/apps/web/core/components/views/form.tsx @@ -13,8 +13,8 @@ import { Input, InputGroup } from "@makeplane/propel/components/input"; import { TextArea, TextAreaGroup } from "@makeplane/propel/components/text-area"; import { ETabIndices, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/propel/emoji-icon-picker"; +import { Button } from "@makeplane/propel/components/button"; +import { EmojiPicker, EmojiIconPickerTypes, Logo } from "@plane/blocks/emoji-icon-picker"; import { ViewsOutline } from "@makeplane/propel/icons"; import type { IIssueDisplayFilterOptions, @@ -290,18 +290,31 @@ export const ProjectViewForm = observer(function ProjectViewForm(props: Props) {

- - +
); diff --git a/apps/web/core/components/views/modal.tsx b/apps/web/core/components/views/modal.tsx index 0d16de1ceaf..d682b7d396a 100644 --- a/apps/web/core/components/views/modal.tsx +++ b/apps/web/core/components/views/modal.tsx @@ -6,11 +6,11 @@ import { observer } from "mobx-react"; // types -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IProjectView } from "@plane/types"; import { EIssuesStoreType } from "@plane/types"; // ui -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useProjectView } from "@/hooks/store/use-project-view"; diff --git a/apps/web/core/components/views/quick-actions.tsx b/apps/web/core/components/views/quick-actions.tsx index 94d8ba948d6..4b54649ad9e 100644 --- a/apps/web/core/components/views/quick-actions.tsx +++ b/apps/web/core/components/views/quick-actions.tsx @@ -9,12 +9,13 @@ import { observer } from "mobx-react"; import { MoreHorizontalOutline } from "@makeplane/propel/icons"; // types import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { IconButton } from "@plane/propel/icon-button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IProjectView } from "@plane/types"; // ui -import type { TContextMenuItem } from "@plane/ui"; -import { ContextMenu, CustomMenu } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/blocks/dropdowns"; +import { ContextMenu, CustomMenu } from "@plane/blocks/dropdowns"; import { copyUrlToClipboard, cn } from "@plane/utils"; // helpers import { useViewMenuItems } from "@/components/common/quick-actions-helper"; @@ -99,7 +100,14 @@ export const ViewQuickActions = observer(function ViewQuickActions(props: Props) {additionalModals} } + customButton={ + } + aria-label="View actions" + /> + } placement="bottom-end" closeOnSelect buttonClassName={customClassName} diff --git a/apps/web/core/components/views/view-list-header.tsx b/apps/web/core/components/views/view-list-header.tsx index bc5e79d97e4..1881690bfc2 100644 --- a/apps/web/core/components/views/view-list-header.tsx +++ b/apps/web/core/components/views/view-list-header.tsx @@ -18,7 +18,8 @@ import { useProjectView } from "@/hooks/store/use-project-view"; import { FiltersDropdown } from "../issues/issue-layouts/filters"; import { ViewFiltersSelection } from "./filters/filter-selection"; import { ViewOrderByDropdown } from "./filters/order-by"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; export const ViewListHeader = observer(function ViewListHeader() { // states @@ -58,13 +59,14 @@ export const ViewListHeader = observer(function ViewListHeader() { {!isSearchOpen && ( } onClick={() => { setIsSearchOpen(true); inputRef.current?.focus(); }} - icon={SearchOutline} + icon={} + aria-label="Search" /> )}
No webhooks

Create webhooks to receive real-time updates and automate actions

- +
); diff --git a/apps/web/core/components/web-hooks/form/delete-section.tsx b/apps/web/core/components/web-hooks/form/delete-section.tsx index ef4f5bd1aa4..77427fccb5e 100644 --- a/apps/web/core/components/web-hooks/form/delete-section.tsx +++ b/apps/web/core/components/web-hooks/form/delete-section.tsx @@ -5,7 +5,7 @@ */ import { Disclosure, Transition } from "@headlessui/react"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { ChevronDownOutline, ChevronUpOutline } from "@makeplane/propel/icons"; type Props = { @@ -41,9 +41,7 @@ export function WebhookDeleteSection(props: Props) { webhook.
- +
diff --git a/apps/web/core/components/web-hooks/form/form.tsx b/apps/web/core/components/web-hooks/form/form.tsx index 4800931d004..7dbfa56fdde 100644 --- a/apps/web/core/components/web-hooks/form/form.tsx +++ b/apps/web/core/components/web-hooks/form/form.tsx @@ -8,7 +8,7 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IWebhook, TWebhookEventTypes } from "@plane/types"; // hooks import { @@ -97,19 +97,28 @@ export const WebhookForm = observer(function WebhookForm(props: Props) { {data ? (
- +
) : (
- + +
)} diff --git a/apps/web/core/components/web-hooks/form/secret-key.tsx b/apps/web/core/components/web-hooks/form/secret-key.tsx index a4fe3055c2c..7d3bfdddb6c 100644 --- a/apps/web/core/components/web-hooks/form/secret-key.tsx +++ b/apps/web/core/components/web-hooks/form/secret-key.tsx @@ -11,8 +11,9 @@ import { useParams } from "next/navigation"; // icons import { CopyOutline, HideOutline, RefreshOutline, ShowOutline } from "@makeplane/propel/icons"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { Icon } from "@makeplane/propel/components/icon"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { IWebhook } from "@plane/types"; // ui @@ -133,14 +134,15 @@ export const WebhookSecretKey = observer(function WebhookSecretKey(props: Props) {data && (
+ icon={} + iconPosition="start" + />
)} diff --git a/apps/web/core/components/web-hooks/generated-hook-details.tsx b/apps/web/core/components/web-hooks/generated-hook-details.tsx index 03755264a46..795066bc4c9 100644 --- a/apps/web/core/components/web-hooks/generated-hook-details.tsx +++ b/apps/web/core/components/web-hooks/generated-hook-details.tsx @@ -7,7 +7,7 @@ // components // ui import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IWebhook } from "@plane/types"; // types import { WebhookSecretKey } from "./form"; @@ -31,9 +31,7 @@ export function GeneratedHookDetails(props: Props) {
- +
); diff --git a/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx b/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx index 5e583aaee74..431eece488a 100644 --- a/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx +++ b/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx @@ -9,7 +9,7 @@ import { isEqual, cloneDeep } from "lodash-es"; import { observer } from "mobx-react"; // plane imports import { EUserPermissionsLevel } from "@plane/constants"; -import { setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { setToast, TOAST_TYPE } from "@plane/blocks/toast"; import type { IProjectView, TWorkItemFilterExpression } from "@plane/types"; import { EUserProjectRoles, EViewAccess } from "@plane/types"; // components diff --git a/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx b/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx index bf09fd70c00..02b1bc96a22 100644 --- a/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx +++ b/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx @@ -9,7 +9,7 @@ import { isEqual, cloneDeep } from "lodash-es"; import { observer } from "mobx-react"; // plane imports import { DEFAULT_GLOBAL_VIEWS_LIST, EUserPermissionsLevel } from "@plane/constants"; -import { setToast, TOAST_TYPE } from "@plane/propel/toast"; +import { setToast, TOAST_TYPE } from "@plane/blocks/toast"; import type { IWorkspaceView, TWorkItemFilterExpression } from "@plane/types"; import { EUserProjectRoles, EViewAccess } from "@plane/types"; // components diff --git a/apps/web/core/components/workspace-notifications/root.tsx b/apps/web/core/components/workspace-notifications/root.tsx index 6a9012021c2..b8e6239cd1a 100644 --- a/apps/web/core/components/workspace-notifications/root.tsx +++ b/apps/web/core/components/workspace-notifications/root.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import useSWR from "swr"; // plane imports import { ENotificationLoader, ENotificationQueryParamType } from "@plane/constants"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; import { cn } from "@plane/utils"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx b/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx index aed3b4a0c29..743cb296ab7 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // plane imports import { ENotificationTab } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EmptyStateCompact } from "@plane/propel/empty-state"; +import { EmptyStateCompact } from "@plane/blocks/empty-state"; type TNotificationEmptyStateProps = { currentNotificationTab: ENotificationTab; diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx index 71198f63715..1f320989ff3 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx @@ -10,7 +10,7 @@ import { ENotificationFilterType, FILTER_TYPE_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { PillButton } from "@makeplane/propel/components/pill"; import { CloseOutline } from "@makeplane/propel/icons"; -import { Header, EHeaderVariant } from "@plane/ui"; +import { Header, EHeaderVariant } from "@plane/blocks/header"; // hooks import { useWorkspaceNotifications } from "@/hooks/store/notifications"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx index 789827cc41c..123b8c80a82 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx @@ -11,12 +11,13 @@ import type { ENotificationFilterType } from "@plane/constants"; import { FILTER_TYPE_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { PopoverMenu } from "@plane/ui"; +import { PopoverMenu } from "@plane/blocks/popovers"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; // local imports import { NotificationFilterOptionItem } from "./menu-option-item"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; export const NotificationFilter = observer(function NotificationFilter() { // hooks @@ -33,7 +34,12 @@ export const NotificationFilter = observer(function NotificationFilter() { data={translatedFilterTypeOptions} button={ - + } + aria-label={t("notification.options.filters")} + /> } keyExtractor={(item: { label: string; value: ENotificationFilterType }) => item.value} diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx index 39cd2deaad3..458946f1a87 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx @@ -16,12 +16,13 @@ import { import { useTranslation } from "@plane/i18n"; // plane imports import type { TNotificationFilter } from "@plane/types"; -import { PopoverMenu } from "@plane/ui"; +import { PopoverMenu } from "@plane/blocks/popovers"; // hooks import { useWorkspaceNotifications } from "@/hooks/store/notifications"; // local imports import { NotificationMenuOptionItem } from "./menu-item"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; export type TPopoverMenuOptions = { key: string; @@ -84,7 +85,14 @@ export const NotificationHeaderMenuOption = observer(function NotificationHeader return ( } + button={ + } + aria-label="Notification options" + /> + } keyExtractor={(item: TPopoverMenuOptions) => item.key} panelClassName="p-0 py-2 rounded-md border border-subtle bg-surface-1 space-y-1" render={(item: TPopoverMenuOptions) => } diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx index 02784ee4047..0e500781996 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx @@ -10,14 +10,15 @@ import { CheckDoneOutline, RefreshOutline } from "@makeplane/propel/icons"; import { ENotificationLoader, ENotificationQueryParamType } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { Spinner } from "@plane/ui"; +import { Spinner } from "@plane/blocks/spinner"; // hooks import { useWorkspaceNotifications } from "@/hooks/store/notifications"; import { usePlatformOS } from "@/hooks/use-platform-os"; // local imports import { NotificationFilter } from "../../filters/menu"; import { NotificationHeaderMenuOption } from "./menu-option"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; type TNotificationSidebarHeaderOptions = { workspaceSlug: string; @@ -56,9 +57,10 @@ export const NotificationSidebarHeaderOptions = observer(function NotificationSi {/* mark all notifications as read*/} : } + aria-label={t("notification.options.mark_all_as_read")} onClick={() => { handleMarkAllNotificationsAsRead(); }} @@ -68,10 +70,11 @@ export const NotificationSidebarHeaderOptions = observer(function NotificationSi {/* refetch current notifications */} } + aria-label={t("notification.options.refresh")} + render={ - + - + + icon={} + iconPosition="end" + /> diff --git a/apps/web/core/components/workspace/billing/comparison/plan-detail.tsx b/apps/web/core/components/workspace/billing/comparison/plan-detail.tsx index 27d2b8cf141..c0b62c1ce6a 100644 --- a/apps/web/core/components/workspace/billing/comparison/plan-detail.tsx +++ b/apps/web/core/components/workspace/billing/comparison/plan-detail.tsx @@ -12,7 +12,7 @@ import { TALK_TO_SALES_URL, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { TBillingFrequency } from "@plane/types"; import { EProductSubscriptionEnum } from "@plane/types"; import { getSubscriptionName } from "@plane/utils"; @@ -100,9 +100,13 @@ export const PlanDetail = observer(function PlanDetail(props: TPlanDetailProps) {/* Subscription button */}
- +
); diff --git a/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx b/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx index 274b65ffff2..535efb1438d 100644 --- a/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx +++ b/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx @@ -9,8 +9,8 @@ import { observer } from "mobx-react"; import { WarningTriangleOutline } from "@makeplane/propel/icons"; // ui import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Button } from "@makeplane/propel/components/button"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // hooks import { useUser } from "@/hooks/store/user"; @@ -73,18 +73,24 @@ export const ConfirmWorkspaceMemberRemove = observer(function ConfirmWorkspaceMe
- - +
); diff --git a/apps/web/core/components/workspace/create-workspace-form.tsx b/apps/web/core/components/workspace/create-workspace-form.tsx index ae73a70f7d9..a34f179fdc9 100644 --- a/apps/web/core/components/workspace/create-workspace-form.tsx +++ b/apps/web/core/components/workspace/create-workspace-form.tsx @@ -12,11 +12,11 @@ import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { ORGANIZATION_SIZE, RESTRICTED_URLS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IWorkspace } from "@plane/types"; // ui -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; import { validateWorkspaceName, validateSlug } from "@plane/utils"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; @@ -247,13 +247,24 @@ export const CreateWorkspaceForm = observer(function CreateWorkspaceForm(props:
{secondaryButton} - + +
diff --git a/apps/web/core/components/workspace/delete-workspace-form.tsx b/apps/web/core/components/workspace/delete-workspace-form.tsx index 1a837c5d830..e8bdf3cb531 100644 --- a/apps/web/core/components/workspace/delete-workspace-form.tsx +++ b/apps/web/core/components/workspace/delete-workspace-form.tsx @@ -11,8 +11,8 @@ import { WarningTriangleOutline } from "@makeplane/propel/icons"; import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Button } from "@makeplane/propel/components/button"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IWorkspace } from "@plane/types"; import { cn } from "@plane/utils"; @@ -159,12 +159,16 @@ export const DeleteWorkspaceForm = observer(function DeleteWorkspaceForm(props:
- - +
); diff --git a/apps/web/core/components/workspace/delete-workspace-modal.tsx b/apps/web/core/components/workspace/delete-workspace-modal.tsx index 19e5e5b24db..778085d502a 100644 --- a/apps/web/core/components/workspace/delete-workspace-modal.tsx +++ b/apps/web/core/components/workspace/delete-workspace-modal.tsx @@ -8,7 +8,7 @@ import React from "react"; import { observer } from "mobx-react"; import type { IWorkspace } from "@plane/types"; // ui -import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore } from "@plane/blocks/modals"; // constants // hooks diff --git a/apps/web/core/components/workspace/delete-workspace-section.tsx b/apps/web/core/components/workspace/delete-workspace-section.tsx index 6a6f845d077..e8c561c545d 100644 --- a/apps/web/core/components/workspace/delete-workspace-section.tsx +++ b/apps/web/core/components/workspace/delete-workspace-section.tsx @@ -8,7 +8,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import type { IWorkspace } from "@plane/types"; // components import { SettingsBoxedControlItem } from "@/components/settings/boxed-control-item"; @@ -37,9 +37,13 @@ export const DeleteWorkspaceSection = observer(function DeleteWorkspaceSection(p title={t("workspace_settings.settings.general.delete_workspace")} description={t("workspace_settings.settings.general.delete_workspace_description")} control={ - + + />
); diff --git a/apps/web/core/components/workspace/invite-modal/actions.tsx b/apps/web/core/components/workspace/invite-modal/actions.tsx index 17a800f1e88..fe4156759f5 100644 --- a/apps/web/core/components/workspace/invite-modal/actions.tsx +++ b/apps/web/core/components/workspace/invite-modal/actions.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { AddOutline } from "@makeplane/propel/icons"; import { cn } from "@plane/utils"; @@ -57,14 +57,26 @@ export const InvitationModalActions = observer(function InvitationModalActions(p {addMoreButtonText || t("common.add_more")}
- - +
); diff --git a/apps/web/core/components/workspace/invite-modal/fields.tsx b/apps/web/core/components/workspace/invite-modal/fields.tsx index b73f4356c9b..134fa3784d2 100644 --- a/apps/web/core/components/workspace/invite-modal/fields.tsx +++ b/apps/web/core/components/workspace/invite-modal/fields.tsx @@ -13,7 +13,7 @@ import { Input, InputGroup } from "@makeplane/propel/components/input"; import { ROLE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { CloseOutline } from "@makeplane/propel/icons"; -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; import { cn } from "@plane/utils"; // hooks import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/workspace/members/invite-modal.tsx b/apps/web/core/components/workspace/members/invite-modal.tsx index 5e97a69d929..5637b99385d 100644 --- a/apps/web/core/components/workspace/members/invite-modal.tsx +++ b/apps/web/core/components/workspace/members/invite-modal.tsx @@ -10,7 +10,7 @@ import { useParams } from "next/navigation"; // plane imports import { useTranslation } from "@plane/i18n"; import type { IWorkspaceBulkInviteFormData } from "@plane/types"; -import { EModalWidth, EModalPosition, ModalCore } from "@plane/ui"; +import { EModalWidth, EModalPosition, ModalCore } from "@plane/blocks/modals"; // components import { InvitationModalActions } from "@/components/workspace/invite-modal/actions"; import { InvitationFields } from "@/components/workspace/invite-modal/fields"; diff --git a/apps/web/core/components/workspace/settings/invitations-list-item.tsx b/apps/web/core/components/workspace/settings/invitations-list-item.tsx index 708b63d30a0..ebeae2e14db 100644 --- a/apps/web/core/components/workspace/settings/invitations-list-item.tsx +++ b/apps/web/core/components/workspace/settings/invitations-list-item.tsx @@ -11,9 +11,9 @@ import { useParams } from "next/navigation"; import { ROLE, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { ChevronDownOutline, DeleteOutline, LinkOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import type { TContextMenuItem } from "@plane/ui"; -import { CustomSelect, CustomMenu } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; +import type { TContextMenuItem } from "@plane/blocks/dropdowns"; +import { CustomSelect, CustomMenu } from "@plane/blocks/dropdowns"; import { cn, copyTextToClipboard } from "@plane/utils"; // components import { ConfirmWorkspaceMemberRemove } from "@/components/workspace/confirm-workspace-member-remove"; diff --git a/apps/web/core/components/workspace/settings/member-columns.tsx b/apps/web/core/components/workspace/settings/member-columns.tsx index 54e711804a2..522649bb2b8 100644 --- a/apps/web/core/components/workspace/settings/member-columns.tsx +++ b/apps/web/core/components/workspace/settings/member-columns.tsx @@ -12,11 +12,12 @@ import { Disclosure } from "@headlessui/react"; // plane imports import { ROLE, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { DeactivatedUserOutline, DeleteOutline } from "@makeplane/propel/icons"; -import { Pill, EPillVariant, EPillSize } from "@plane/propel/pill"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { Badge } from "@makeplane/propel/components/badge"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IUser, IWorkspaceMember } from "@plane/types"; // plane ui -import { CustomSelect, PopoverMenu } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; +import { PopoverMenu } from "@plane/blocks/popovers"; // helpers import { getFileURL } from "@plane/utils"; // hooks @@ -136,9 +137,7 @@ export const AccountTypeColumn = observer(function AccountTypeColumn(props: Acco <> {isSuspended ? (
- - Suspended - +
) : isRoleNonEditable ? (
diff --git a/apps/web/core/components/workspace/settings/members-list-item.tsx b/apps/web/core/components/workspace/settings/members-list-item.tsx index 8ae6651fe03..bd8fadb98f3 100644 --- a/apps/web/core/components/workspace/settings/members-list-item.tsx +++ b/apps/web/core/components/workspace/settings/members-list-item.tsx @@ -8,9 +8,9 @@ import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IWorkspaceMember } from "@plane/types"; -import { Table } from "@plane/ui"; +import { Table } from "@plane/blocks/tables"; // components import { MembersLayoutLoader } from "@/components/ui/loader/layouts/members-layout-loader"; import { ConfirmWorkspaceMemberRemove } from "@/components/workspace/confirm-workspace-member-remove"; diff --git a/apps/web/core/components/workspace/settings/workspace-details.tsx b/apps/web/core/components/workspace/settings/workspace-details.tsx index bf96889351b..62d8fad5630 100644 --- a/apps/web/core/components/workspace/settings/workspace-details.tsx +++ b/apps/web/core/components/workspace/settings/workspace-details.tsx @@ -12,11 +12,11 @@ import { Field } from "@makeplane/propel/components/field"; import { Input, InputGroup } from "@makeplane/propel/components/input"; import { ORGANIZATION_SIZE, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/propel/button"; +import { Button } from "@makeplane/propel/components/button"; import { EditOutline } from "@makeplane/propel/icons"; -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import type { IWorkspace } from "@plane/types"; -import { CustomSelect } from "@plane/ui"; +import { CustomSelect } from "@plane/blocks/dropdowns"; import { cn, copyUrlToClipboard, getFileURL, validateWorkspaceName } from "@plane/utils"; // components import { WorkspaceImageUploadModal } from "@/components/core/modals/workspace-image-upload-modal"; @@ -293,14 +293,14 @@ export const WorkspaceDetails = observer(function WorkspaceDetails() {
+ />
)}
diff --git a/apps/web/core/components/workspace/sidebar/extended-sidebar-item.tsx b/apps/web/core/components/workspace/sidebar/extended-sidebar-item.tsx index 952c651af61..b02a059ca27 100644 --- a/apps/web/core/components/workspace/sidebar/extended-sidebar-item.tsx +++ b/apps/web/core/components/workspace/sidebar/extended-sidebar-item.tsx @@ -17,7 +17,7 @@ import type { IWorkspaceSidebarNavigationItem } from "@plane/constants"; import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { DragHandle, DropIndicator } from "@plane/ui"; +import { DragHandle, DropIndicator } from "@plane/blocks/sortable"; import { cn } from "@plane/utils"; // components import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx index d87cb4f696b..1f0c3df553a 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx @@ -30,10 +30,11 @@ import { Disclosure, Transition } from "@headlessui/react"; // plane imports import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; -import { FavoriteFolderIcon } from "@plane/propel/icons"; +import { FavoriteFolderIcon } from "@plane/blocks/icons"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { IFavorite, InstructionType } from "@plane/types"; -import { CustomMenu, DropIndicator, DragHandle } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; +import { DropIndicator, DragHandle } from "@plane/blocks/sortable"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx index 2ae959f245b..923ae50da9b 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx @@ -8,7 +8,7 @@ import React from "react"; import { observer } from "mobx-react"; // ui import { Tooltip } from "@makeplane/propel/components/tooltip"; -import { DragHandle } from "@plane/ui"; +import { DragHandle } from "@plane/blocks/sortable"; // helper import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-icon.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-icon.tsx index a4255352efa..f0d05c8ddce 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-icon.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-icon.tsx @@ -7,10 +7,10 @@ import type { LucideIcon } from "lucide-react"; // plane imports import type { TLogoProps } from "@plane/types"; -import { FavoriteFolderIcon } from "@plane/propel/icons"; +import { FavoriteFolderIcon } from "@plane/blocks/icons"; import { CyclesOutline, ModuleOutline, PagesOutline, ProjectsOutline, ViewsOutline } from "@makeplane/propel/icons"; -import type { ISvgIcons } from "@plane/propel/icons"; -import { Logo } from "@plane/propel/emoji-icon-picker"; +import type { ISvgIcons } from "@plane/blocks/icons"; +import { Logo } from "@plane/blocks/emoji-icon-picker"; const ICON_MAP: Record | LucideIcon> = { page: PagesOutline, diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx index 75dd830d5f7..f1ad44182a8 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx @@ -10,7 +10,7 @@ import { MoreHorizontalOutline, StarFilled } from "@makeplane/propel/icons"; // plane imports import { useTranslation } from "@plane/i18n"; import type { IFavorite } from "@plane/types"; -import { CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/blocks/dropdowns"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx index 2ecba7a48fc..ae5edbfd522 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx @@ -20,7 +20,7 @@ import { createRoot } from "react-dom/client"; // plane imports import { useOutsideClickDetector } from "@plane/hooks"; import type { IFavorite, InstructionType } from "@plane/types"; -import { DropIndicator } from "@plane/ui"; +import { DropIndicator } from "@plane/blocks/sortable"; // hooks import { useFavoriteItemDetails } from "@/hooks/use-favorite-item-details"; // local imports diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx index fb0eec8ce14..954fd5656fc 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx @@ -20,7 +20,7 @@ import { Disclosure, Transition } from "@headlessui/react"; import { IS_FAVORITE_MENU_OPEN } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { TOAST_TYPE, setToast } from "@plane/propel/toast"; +import { TOAST_TYPE, setToast } from "@plane/blocks/toast"; import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { IFavorite } from "@plane/types"; // helpers @@ -34,7 +34,8 @@ import { FavoriteRoot } from "./favorite-items"; import type { TargetData } from "./favorites.helpers"; import { getInstructionFromPayload } from "./favorites.helpers"; import { NewFavoriteFolder } from "./new-fav-folder"; -import { IconButton } from "@plane/propel/icon-button"; +import { IconButton } from "@makeplane/propel/components/icon-button"; +import { Icon } from "@makeplane/propel/components/icon"; export const SidebarFavoritesMenu = observer(function SidebarFavoritesMenu() { // states @@ -208,13 +209,13 @@ export const SidebarFavoritesMenu = observer(function SidebarFavoritesMenu() { { setCreateNewFolder(true); if (!isFavoriteMenuOpen) toggleFavoriteMenu(!isFavoriteMenuOpen); }} aria-label={t("aria_labels.projects_sidebar.create_favorites_folder")} - icon={CreateFolderOutline} + icon={} /> } onClick={() => setIsMenuActive(!isMenuActive)} - className="text-placeholder" + aria-label={t("aria_labels.projects_sidebar.toggle_quick_actions_menu")} + render={ - + + + ); - if (tooltipContent && users.length > 0) { - return {button}; + if (tooltipLabel && users.length > 0) { + return ( + + {button} + + ); } return button; @@ -107,14 +104,15 @@ const EmojiReactionButton = React.forwardRef(function EmojiReactionButton( ref: React.ForwardedRef ) { return ( - + } + aria-label="Add reaction" + icon={} variant="ghost" size="sm" onClick={onAddReaction} - className={className} {...props} /> diff --git a/packages/propel/src/emoji-reaction/index.ts b/packages/blocks/src/emoji-reaction/index.ts similarity index 100% rename from packages/propel/src/emoji-reaction/index.ts rename to packages/blocks/src/emoji-reaction/index.ts diff --git a/packages/propel/src/empty-state/assets/asset-registry.tsx b/packages/blocks/src/empty-state/assets/asset-registry.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/asset-registry.tsx rename to packages/blocks/src/empty-state/assets/asset-registry.tsx diff --git a/packages/propel/src/empty-state/assets/asset-types.ts b/packages/blocks/src/empty-state/assets/asset-types.ts similarity index 100% rename from packages/propel/src/empty-state/assets/asset-types.ts rename to packages/blocks/src/empty-state/assets/asset-types.ts diff --git a/packages/propel/src/empty-state/assets/helper.tsx b/packages/blocks/src/empty-state/assets/helper.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/helper.tsx rename to packages/blocks/src/empty-state/assets/helper.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/constant.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/constant.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/constant.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/constant.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/customer.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/customer.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/customer.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/customer.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/epic.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/epic.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/epic.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/epic.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/estimate.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/estimate.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/estimate.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/estimate.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/export.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/export.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/export.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/export.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/index.ts b/packages/blocks/src/empty-state/assets/horizontal-stack/index.ts similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/index.ts rename to packages/blocks/src/empty-state/assets/horizontal-stack/index.ts diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/intake.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/intake.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/intake.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/intake.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/label.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/label.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/label.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/label.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/link.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/link.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/link.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/link.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/members.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/members.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/members.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/members.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/note.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/note.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/note.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/note.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/priority.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/priority.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/priority.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/priority.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/project.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/project.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/project.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/project.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/settings.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/settings.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/settings.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/settings.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/state.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/state.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/state.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/state.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/template.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/template.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/template.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/template.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/token.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/token.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/token.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/token.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/unknown.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/unknown.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/unknown.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/unknown.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/update.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/update.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/update.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/update.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/webhook.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/webhook.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/webhook.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/webhook.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/work-item.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/work-item.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/work-item.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/work-item.tsx diff --git a/packages/propel/src/empty-state/assets/horizontal-stack/worklog.tsx b/packages/blocks/src/empty-state/assets/horizontal-stack/worklog.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/horizontal-stack/worklog.tsx rename to packages/blocks/src/empty-state/assets/horizontal-stack/worklog.tsx diff --git a/packages/propel/src/empty-state/assets/illustration/constant.tsx b/packages/blocks/src/empty-state/assets/illustration/constant.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/illustration/constant.tsx rename to packages/blocks/src/empty-state/assets/illustration/constant.tsx diff --git a/packages/propel/src/empty-state/assets/illustration/inbox.tsx b/packages/blocks/src/empty-state/assets/illustration/inbox.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/illustration/inbox.tsx rename to packages/blocks/src/empty-state/assets/illustration/inbox.tsx diff --git a/packages/propel/src/empty-state/assets/illustration/index.ts b/packages/blocks/src/empty-state/assets/illustration/index.ts similarity index 100% rename from packages/propel/src/empty-state/assets/illustration/index.ts rename to packages/blocks/src/empty-state/assets/illustration/index.ts diff --git a/packages/propel/src/empty-state/assets/illustration/search.tsx b/packages/blocks/src/empty-state/assets/illustration/search.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/illustration/search.tsx rename to packages/blocks/src/empty-state/assets/illustration/search.tsx diff --git a/packages/propel/src/empty-state/assets/index.ts b/packages/blocks/src/empty-state/assets/index.ts similarity index 100% rename from packages/propel/src/empty-state/assets/index.ts rename to packages/blocks/src/empty-state/assets/index.ts diff --git a/packages/propel/src/empty-state/assets/vertical-stack/404-error.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/404-error.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/404-error.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/404-error.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/archived-cycle.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/archived-cycle.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/archived-cycle.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/archived-cycle.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/archived-module.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/archived-module.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/archived-module.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/archived-module.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/archived-work-item.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/archived-work-item.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/archived-work-item.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/archived-work-item.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/changelog.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/changelog.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/changelog.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/changelog.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/constant.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/constant.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/constant.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/constant.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/customer.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/customer.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/customer.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/customer.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/cycle.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/cycle.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/cycle.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/cycle.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/dashboard.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/dashboard.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/dashboard.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/dashboard.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/draft.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/draft.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/draft.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/draft.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/epic.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/epic.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/epic.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/epic.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/index.ts b/packages/blocks/src/empty-state/assets/vertical-stack/index.ts similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/index.ts rename to packages/blocks/src/empty-state/assets/vertical-stack/index.ts diff --git a/packages/propel/src/empty-state/assets/vertical-stack/initiative.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/initiative.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/initiative.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/initiative.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/invalid-link.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/invalid-link.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/invalid-link.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/invalid-link.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/module.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/module.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/module.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/module.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/no-access.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/no-access.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/no-access.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/no-access.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/page.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/page.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/page.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/page.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/project.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/project.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/project.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/project.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/server-error.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/server-error.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/server-error.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/server-error.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/teamspace.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/teamspace.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/teamspace.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/teamspace.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/view.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/view.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/view.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/view.tsx diff --git a/packages/propel/src/empty-state/assets/vertical-stack/work-item.tsx b/packages/blocks/src/empty-state/assets/vertical-stack/work-item.tsx similarity index 100% rename from packages/propel/src/empty-state/assets/vertical-stack/work-item.tsx rename to packages/blocks/src/empty-state/assets/vertical-stack/work-item.tsx diff --git a/packages/blocks/src/empty-state/button.tsx b/packages/blocks/src/empty-state/button.tsx new file mode 100644 index 00000000000..6659639218f --- /dev/null +++ b/packages/blocks/src/empty-state/button.tsx @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2023-present Plane Software, Inc. and contributors + * SPDX-License-Identifier: AGPL-3.0-only + * See the LICENSE file for details. + */ + +import { Button } from "@makeplane/propel/components/button"; +import type { ButtonVariant } from "@makeplane/propel/components/button"; +import type { TButtonVariant } from "./types"; + +/** Maps the legacy empty-state action variants onto @makeplane/propel Button variants. */ +export const getButtonVariant = (variant?: TButtonVariant): ButtonVariant => { + switch (variant) { + case "error-fill": + return "danger"; + case "error-outline": + return "danger-outline"; + case "secondary": + return "secondary"; + case "tertiary": + return "tertiary"; + case "ghost": + case "link": + return "ghost"; + case "primary": + default: + return "primary"; + } +}; + +export { Button }; diff --git a/packages/propel/src/empty-state/compact-empty-state.tsx b/packages/blocks/src/empty-state/compact-empty-state.tsx similarity index 86% rename from packages/propel/src/empty-state/compact-empty-state.tsx rename to packages/blocks/src/empty-state/compact-empty-state.tsx index 7f13486e23c..36cdef99171 100644 --- a/packages/propel/src/empty-state/compact-empty-state.tsx +++ b/packages/blocks/src/empty-state/compact-empty-state.tsx @@ -5,7 +5,7 @@ */ import React from "react"; -import { Button } from "../button/button"; +import { Button, getButtonVariant } from "./button"; import { cn } from "../utils/classname"; import { getCompactAsset } from "./assets/asset-registry"; import type { CompactAssetType } from "./assets/asset-types"; @@ -54,9 +54,14 @@ export function EmptyStateCompact({ {actions.map((action, index) => { const { label, variant, ...rest } = action; return ( - + + + {showToggle && ( - + - + - - - When using asChild, you can completely customize the trigger element without the default icon wrapper. - - - - - - - This gives you full control over the trigger styling and behavior. - - - ); - }, -}; diff --git a/packages/propel/src/accordion/accordion.tsx b/packages/propel/src/accordion/accordion.tsx deleted file mode 100644 index ac5071cf6d9..00000000000 --- a/packages/propel/src/accordion/accordion.tsx +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Copyright (c) 2023-present Plane Software, Inc. and contributors - * SPDX-License-Identifier: AGPL-3.0-only - * See the LICENSE file for details. - */ - -import * as React from "react"; -import { Accordion as BaseAccordion } from "@base-ui-components/react"; - -import { AddOutline } from "@makeplane/propel/icons"; - -export interface AccordionRootProps { - defaultValue?: string[]; - allowMultiple?: boolean; - className?: string; - children: React.ReactNode; -} - -export interface AccordionItemProps { - value: string; - disabled?: boolean; - className?: string; - children: React.ReactNode; -} - -export interface AccordionTriggerProps { - className?: string; - icon?: React.ReactNode; - children: React.ReactNode; - asChild?: boolean; - iconClassName?: string; -} - -export interface AccordionContentProps { - className?: string; - contentWrapperClassName?: string; - children: React.ReactNode; -} - -function AccordionRoot({ defaultValue = [], allowMultiple = false, className = "", children }: AccordionRootProps) { - return ( - - {children} - - ); -} - -function AccordionItem({ value, disabled, className = "", children }: AccordionItemProps) { - return ( - - {children} - - ); -} - -function AccordionTrigger({ - className = "", - icon =