diff --git a/apps/admin/app/(all)/(dashboard)/ai/form.tsx b/apps/admin/app/(all)/(dashboard)/ai/form.tsx index 8b7d036ad..227067a4a 100644 --- a/apps/admin/app/(all)/(dashboard)/ai/form.tsx +++ b/apps/admin/app/(all)/(dashboard)/ai/form.tsx @@ -2,8 +2,9 @@ import { FC } from "react"; import { useForm } from "react-hook-form"; import { Lightbulb } from "lucide-react"; +import { Button } from "@plane/propel/button"; import { IFormattedInstanceConfiguration, TInstanceAIConfigurationKeys } from "@plane/types"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // components import { ControllerInput, TControllerInputFormField } from "@/components/common/controller-input"; // hooks diff --git a/apps/admin/app/(all)/(dashboard)/authentication/github/form.tsx b/apps/admin/app/(all)/(dashboard)/authentication/github/form.tsx index 5e75529c9..6a521b2a3 100644 --- a/apps/admin/app/(all)/(dashboard)/authentication/github/form.tsx +++ b/apps/admin/app/(all)/(dashboard)/authentication/github/form.tsx @@ -6,8 +6,9 @@ import Link from "next/link"; import { useForm } from "react-hook-form"; // plane internal packages import { API_BASE_URL } from "@plane/constants"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { IFormattedInstanceConfiguration, TInstanceGithubAuthenticationConfigurationKeys } from "@plane/types"; -import { Button, TOAST_TYPE, getButtonStyling, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { CodeBlock } from "@/components/common/code-block"; diff --git a/apps/admin/app/(all)/(dashboard)/authentication/gitlab/form.tsx b/apps/admin/app/(all)/(dashboard)/authentication/gitlab/form.tsx index ed5ef1fe0..d309c40da 100644 --- a/apps/admin/app/(all)/(dashboard)/authentication/gitlab/form.tsx +++ b/apps/admin/app/(all)/(dashboard)/authentication/gitlab/form.tsx @@ -4,8 +4,9 @@ import Link from "next/link"; import { useForm } from "react-hook-form"; // plane internal packages import { API_BASE_URL } from "@plane/constants"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { IFormattedInstanceConfiguration, TInstanceGitlabAuthenticationConfigurationKeys } from "@plane/types"; -import { Button, TOAST_TYPE, getButtonStyling, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { CodeBlock } from "@/components/common/code-block"; diff --git a/apps/admin/app/(all)/(dashboard)/authentication/google/form.tsx b/apps/admin/app/(all)/(dashboard)/authentication/google/form.tsx index 585b1c2b1..e4b7fd628 100644 --- a/apps/admin/app/(all)/(dashboard)/authentication/google/form.tsx +++ b/apps/admin/app/(all)/(dashboard)/authentication/google/form.tsx @@ -5,8 +5,9 @@ import Link from "next/link"; import { useForm } from "react-hook-form"; // plane internal packages import { API_BASE_URL } from "@plane/constants"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { IFormattedInstanceConfiguration, TInstanceGoogleAuthenticationConfigurationKeys } from "@plane/types"; -import { Button, TOAST_TYPE, getButtonStyling, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { CodeBlock } from "@/components/common/code-block"; diff --git a/apps/admin/app/(all)/(dashboard)/email/email-config-form.tsx b/apps/admin/app/(all)/(dashboard)/email/email-config-form.tsx index 2bfcc4287..78bdf2078 100644 --- a/apps/admin/app/(all)/(dashboard)/email/email-config-form.tsx +++ b/apps/admin/app/(all)/(dashboard)/email/email-config-form.tsx @@ -3,9 +3,10 @@ import React, { FC, useMemo, useState } from "react"; import { useForm } from "react-hook-form"; // types +import { Button } from "@plane/propel/button"; import { IFormattedInstanceConfiguration, TInstanceEmailConfigurationKeys } from "@plane/types"; // ui -import { Button, CustomSelect, TOAST_TYPE, setToast } from "@plane/ui"; +import { CustomSelect, TOAST_TYPE, setToast } from "@plane/ui"; // components import { ControllerInput, TControllerInputFormField } from "@/components/common/controller-input"; // hooks diff --git a/apps/admin/app/(all)/(dashboard)/email/test-email-modal.tsx b/apps/admin/app/(all)/(dashboard)/email/test-email-modal.tsx index 676f3b685..4d99f096f 100644 --- a/apps/admin/app/(all)/(dashboard)/email/test-email-modal.tsx +++ b/apps/admin/app/(all)/(dashboard)/email/test-email-modal.tsx @@ -1,9 +1,10 @@ import React, { FC, useEffect, useState } from "react"; import { Dialog, Transition } from "@headlessui/react"; // plane imports +import { Button } from "@plane/propel/button"; import { InstanceService } from "@plane/services"; // ui -import { Button, Input } from "@plane/ui"; +import { Input } from "@plane/ui"; type Props = { isOpen: boolean; diff --git a/apps/admin/app/(all)/(dashboard)/general/form.tsx b/apps/admin/app/(all)/(dashboard)/general/form.tsx index 0700c4d0d..836f1f019 100644 --- a/apps/admin/app/(all)/(dashboard)/general/form.tsx +++ b/apps/admin/app/(all)/(dashboard)/general/form.tsx @@ -4,9 +4,10 @@ import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { Telescope } from "lucide-react"; // types +import { Button } from "@plane/propel/button"; import { IInstance, IInstanceAdmin } from "@plane/types"; // ui -import { Button, Input, TOAST_TYPE, ToggleSwitch, setToast } from "@plane/ui"; +import { Input, TOAST_TYPE, ToggleSwitch, setToast } from "@plane/ui"; // components import { ControllerInput } from "@/components/common/controller-input"; import { useInstance } from "@/hooks/store"; diff --git a/apps/admin/app/(all)/(dashboard)/image/form.tsx b/apps/admin/app/(all)/(dashboard)/image/form.tsx index be77983ec..4bc01101f 100644 --- a/apps/admin/app/(all)/(dashboard)/image/form.tsx +++ b/apps/admin/app/(all)/(dashboard)/image/form.tsx @@ -1,8 +1,9 @@ "use client"; import { FC } from "react"; import { useForm } from "react-hook-form"; +import { Button } from "@plane/propel/button"; import { IFormattedInstanceConfiguration, TInstanceImageConfigurationKeys } from "@plane/types"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // components import { ControllerInput } from "@/components/common/controller-input"; // hooks diff --git a/apps/admin/app/(all)/(dashboard)/workspace/create/form.tsx b/apps/admin/app/(all)/(dashboard)/workspace/create/form.tsx index d086777fc..b459bb42b 100644 --- a/apps/admin/app/(all)/(dashboard)/workspace/create/form.tsx +++ b/apps/admin/app/(all)/(dashboard)/workspace/create/form.tsx @@ -4,10 +4,11 @@ import { useRouter } from "next/navigation"; import { Controller, useForm } from "react-hook-form"; // plane imports import { WEB_BASE_URL, ORGANIZATION_SIZE, RESTRICTED_URLS } from "@plane/constants"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { InstanceWorkspaceService } from "@plane/services"; import { IWorkspace } from "@plane/types"; // components -import { Button, CustomSelect, getButtonStyling, Input, setToast, TOAST_TYPE } from "@plane/ui"; +import { CustomSelect, Input, setToast, TOAST_TYPE } from "@plane/ui"; // hooks import { useWorkspace } from "@/hooks/store"; diff --git a/apps/admin/app/(all)/(dashboard)/workspace/page.tsx b/apps/admin/app/(all)/(dashboard)/workspace/page.tsx index b8f79db04..984587882 100644 --- a/apps/admin/app/(all)/(dashboard)/workspace/page.tsx +++ b/apps/admin/app/(all)/(dashboard)/workspace/page.tsx @@ -6,8 +6,9 @@ import Link from "next/link"; import useSWR from "swr"; import { Loader as LoaderIcon } from "lucide-react"; // types +import { Button, getButtonStyling } from "@plane/propel/button"; import { TInstanceConfigurationKeys } from "@plane/types"; -import { Button, getButtonStyling, Loader, setPromiseToast, ToggleSwitch } from "@plane/ui"; +import { Loader, setPromiseToast, ToggleSwitch } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { WorkspaceListItem } from "@/components/workspace/list-item"; diff --git a/apps/admin/app/(all)/(home)/sign-in-form.tsx b/apps/admin/app/(all)/(home)/sign-in-form.tsx index a5a6ca3e3..41b924fe2 100644 --- a/apps/admin/app/(all)/(home)/sign-in-form.tsx +++ b/apps/admin/app/(all)/(home)/sign-in-form.tsx @@ -5,8 +5,9 @@ import { useSearchParams } from "next/navigation"; import { Eye, EyeOff } from "lucide-react"; // plane internal packages import { API_BASE_URL, EAdminAuthErrorCodes, TAdminAuthErrorInfo } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { AuthService } from "@plane/services"; -import { Button, Input, Spinner } from "@plane/ui"; +import { Input, Spinner } from "@plane/ui"; // components import { Banner } from "@/components/common/banner"; // local components diff --git a/apps/admin/ce/components/common/upgrade-button.tsx b/apps/admin/ce/components/common/upgrade-button.tsx index 208225e0c..14a955f21 100644 --- a/apps/admin/ce/components/common/upgrade-button.tsx +++ b/apps/admin/ce/components/common/upgrade-button.tsx @@ -4,7 +4,7 @@ import React from "react"; // icons import { SquareArrowOutUpRight } from "lucide-react"; // plane internal packages -import { getButtonStyling } from "@plane/ui"; +import { getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; export const UpgradeButton: React.FC = () => ( diff --git a/apps/admin/core/components/authentication/github-config.tsx b/apps/admin/core/components/authentication/github-config.tsx index 249f1ebc4..d4bf9f2e1 100644 --- a/apps/admin/core/components/authentication/github-config.tsx +++ b/apps/admin/core/components/authentication/github-config.tsx @@ -6,8 +6,9 @@ import Link from "next/link"; // icons import { Settings2 } from "lucide-react"; // plane internal packages +import { getButtonStyling } from "@plane/propel/button"; import { TInstanceAuthenticationMethodKeys } from "@plane/types"; -import { ToggleSwitch, getButtonStyling } from "@plane/ui"; +import { ToggleSwitch } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useInstance } from "@/hooks/store"; diff --git a/apps/admin/core/components/authentication/gitlab-config.tsx b/apps/admin/core/components/authentication/gitlab-config.tsx index f5586f3f3..a94768c9b 100644 --- a/apps/admin/core/components/authentication/gitlab-config.tsx +++ b/apps/admin/core/components/authentication/gitlab-config.tsx @@ -6,8 +6,9 @@ import Link from "next/link"; // icons import { Settings2 } from "lucide-react"; // plane internal packages +import { getButtonStyling } from "@plane/propel/button"; import { TInstanceAuthenticationMethodKeys } from "@plane/types"; -import { ToggleSwitch, getButtonStyling } from "@plane/ui"; +import { ToggleSwitch } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useInstance } from "@/hooks/store"; diff --git a/apps/admin/core/components/authentication/google-config.tsx b/apps/admin/core/components/authentication/google-config.tsx index ec7501b34..a1a243ecc 100644 --- a/apps/admin/core/components/authentication/google-config.tsx +++ b/apps/admin/core/components/authentication/google-config.tsx @@ -6,8 +6,9 @@ import Link from "next/link"; // icons import { Settings2 } from "lucide-react"; // plane internal packages +import { getButtonStyling } from "@plane/propel/button"; import { TInstanceAuthenticationMethodKeys } from "@plane/types"; -import { ToggleSwitch, getButtonStyling } from "@plane/ui"; +import { ToggleSwitch } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useInstance } from "@/hooks/store"; diff --git a/apps/admin/core/components/common/confirm-discard-modal.tsx b/apps/admin/core/components/common/confirm-discard-modal.tsx index d0ca21fc2..d1931f06f 100644 --- a/apps/admin/core/components/common/confirm-discard-modal.tsx +++ b/apps/admin/core/components/common/confirm-discard-modal.tsx @@ -5,7 +5,7 @@ import Link from "next/link"; // headless ui import { Dialog, Transition } from "@headlessui/react"; // ui -import { Button, getButtonStyling } from "@plane/ui"; +import { Button, getButtonStyling } from "@plane/propel/button"; type Props = { isOpen: boolean; diff --git a/apps/admin/core/components/common/copy-field.tsx b/apps/admin/core/components/common/copy-field.tsx index cd8cfee53..80cbacc4e 100644 --- a/apps/admin/core/components/common/copy-field.tsx +++ b/apps/admin/core/components/common/copy-field.tsx @@ -3,7 +3,8 @@ import React from "react"; // ui import { Copy } from "lucide-react"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // icons type Props = { diff --git a/apps/admin/core/components/common/empty-state.tsx b/apps/admin/core/components/common/empty-state.tsx index 57489ccc6..4bf291f5c 100644 --- a/apps/admin/core/components/common/empty-state.tsx +++ b/apps/admin/core/components/common/empty-state.tsx @@ -2,7 +2,7 @@ import React from "react"; import Image from "next/image"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { title: string; diff --git a/apps/admin/core/components/instance/failure.tsx b/apps/admin/core/components/instance/failure.tsx index fac8287a5..2601934bc 100644 --- a/apps/admin/core/components/instance/failure.tsx +++ b/apps/admin/core/components/instance/failure.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; import { useTheme } from "next-themes"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // assets import { AuthHeader } from "@/app/(all)/(home)/auth-header"; import InstanceFailureDarkImage from "@/public/instance/instance-failure-dark.svg"; diff --git a/apps/admin/core/components/instance/instance-not-ready.tsx b/apps/admin/core/components/instance/instance-not-ready.tsx index 2940e81e7..272a3808b 100644 --- a/apps/admin/core/components/instance/instance-not-ready.tsx +++ b/apps/admin/core/components/instance/instance-not-ready.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import Image from "next/image"; import Link from "next/link"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // assets import PlaneTakeOffImage from "@/public/images/plane-takeoff.png"; diff --git a/apps/admin/core/components/instance/setup-form.tsx b/apps/admin/core/components/instance/setup-form.tsx index 0dbec972d..a883c3167 100644 --- a/apps/admin/core/components/instance/setup-form.tsx +++ b/apps/admin/core/components/instance/setup-form.tsx @@ -6,8 +6,9 @@ import { useSearchParams } from "next/navigation"; import { Eye, EyeOff } from "lucide-react"; // plane internal packages import { API_BASE_URL, E_PASSWORD_STRENGTH } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { AuthService } from "@plane/services"; -import { Button, Checkbox, Input, PasswordStrengthIndicator, Spinner } from "@plane/ui"; +import { Checkbox, Input, PasswordStrengthIndicator, Spinner } from "@plane/ui"; import { getPasswordStrength } from "@plane/utils"; // components import { AuthHeader } from "@/app/(all)/(home)/auth-header"; diff --git a/apps/admin/core/components/new-user-popup.tsx b/apps/admin/core/components/new-user-popup.tsx index 0b974b38c..4f0e0236b 100644 --- a/apps/admin/core/components/new-user-popup.tsx +++ b/apps/admin/core/components/new-user-popup.tsx @@ -6,7 +6,7 @@ import Image from "next/image"; import Link from "next/link"; import { useTheme as nextUseTheme } from "next-themes"; // ui -import { Button, getButtonStyling } from "@plane/ui"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { resolveGeneralTheme } from "@plane/utils"; // hooks import { useTheme } from "@/hooks/store"; diff --git a/apps/space/app/error.tsx b/apps/space/app/error.tsx index 1f9e1ca19..98fe1cd0a 100644 --- a/apps/space/app/error.tsx +++ b/apps/space/app/error.tsx @@ -1,7 +1,7 @@ "use client"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; const ErrorPage = () => { const handleRetry = () => { diff --git a/apps/space/core/components/account/auth-forms/email.tsx b/apps/space/core/components/account/auth-forms/email.tsx index 6fb08ff7a..867b1efe5 100644 --- a/apps/space/core/components/account/auth-forms/email.tsx +++ b/apps/space/core/components/account/auth-forms/email.tsx @@ -5,9 +5,10 @@ import { observer } from "mobx-react"; // icons import { CircleAlert, XCircle } from "lucide-react"; // types +import { Button } from "@plane/propel/button"; import { IEmailCheckData } from "@plane/types"; // ui -import { Button, Input, Spinner } from "@plane/ui"; +import { Input, Spinner } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; import { checkEmailValidity } from "@/helpers/string.helper"; diff --git a/apps/space/core/components/account/auth-forms/password.tsx b/apps/space/core/components/account/auth-forms/password.tsx index 9b3397cd5..acd081bfc 100644 --- a/apps/space/core/components/account/auth-forms/password.tsx +++ b/apps/space/core/components/account/auth-forms/password.tsx @@ -5,8 +5,9 @@ import { observer } from "mobx-react"; import { Eye, EyeOff, XCircle } from "lucide-react"; // plane imports import { API_BASE_URL, E_PASSWORD_STRENGTH } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { AuthService } from "@plane/services"; -import { Button, Input, Spinner, PasswordStrengthIndicator } from "@plane/ui"; +import { Input, Spinner, PasswordStrengthIndicator } from "@plane/ui"; import { getPasswordStrength } from "@plane/utils"; // types import { EAuthModes, EAuthSteps } from "@/types/auth"; diff --git a/apps/space/core/components/account/auth-forms/unique-code.tsx b/apps/space/core/components/account/auth-forms/unique-code.tsx index ef96fb280..8e691cf8e 100644 --- a/apps/space/core/components/account/auth-forms/unique-code.tsx +++ b/apps/space/core/components/account/auth-forms/unique-code.tsx @@ -4,8 +4,9 @@ import React, { useEffect, useState } from "react"; import { CircleCheck, XCircle } from "lucide-react"; // plane imports import { API_BASE_URL } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { AuthService } from "@plane/services"; -import { Button, Input, Spinner } from "@plane/ui"; +import { Input, Spinner } from "@plane/ui"; // hooks import useTimer from "@/hooks/use-timer"; // types diff --git a/apps/space/core/components/editor/toolbar.tsx b/apps/space/core/components/editor/toolbar.tsx index 48fec23ea..b838aee0f 100644 --- a/apps/space/core/components/editor/toolbar.tsx +++ b/apps/space/core/components/editor/toolbar.tsx @@ -3,8 +3,8 @@ import React, { useEffect, useState, useCallback } from "react"; // plane imports import { TOOLBAR_ITEMS, type ToolbarMenuItem, type EditorRefApi } from "@plane/editor"; +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; -import { Button } from "@plane/ui"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/space/core/components/instance/instance-failure-view.tsx b/apps/space/core/components/instance/instance-failure-view.tsx index ed4c36f35..d5c18de7e 100644 --- a/apps/space/core/components/instance/instance-failure-view.tsx +++ b/apps/space/core/components/instance/instance-failure-view.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import Image from "next/image"; import { useTheme } from "next-themes"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // assets import InstanceFailureDarkImage from "public/instance/instance-failure-dark.svg"; import InstanceFailureImage from "public/instance/instance-failure.svg"; diff --git a/apps/space/core/components/issues/filters/helpers/dropdown.tsx b/apps/space/core/components/issues/filters/helpers/dropdown.tsx index a5e257e07..176ad6de7 100644 --- a/apps/space/core/components/issues/filters/helpers/dropdown.tsx +++ b/apps/space/core/components/issues/filters/helpers/dropdown.tsx @@ -5,7 +5,7 @@ import { Placement } from "@popperjs/core"; import { usePopper } from "react-popper"; import { Popover, Transition } from "@headlessui/react"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { children: React.ReactNode; diff --git a/apps/space/core/components/issues/navbar/user-avatar.tsx b/apps/space/core/components/issues/navbar/user-avatar.tsx index 0ac09b59b..49dea2132 100644 --- a/apps/space/core/components/issues/navbar/user-avatar.tsx +++ b/apps/space/core/components/issues/navbar/user-avatar.tsx @@ -9,8 +9,9 @@ import { LogOut } from "lucide-react"; import { Popover, Transition } from "@headlessui/react"; // plane imports import { API_BASE_URL } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { AuthService } from "@plane/services"; -import { Avatar, Button } from "@plane/ui"; +import { Avatar } from "@plane/ui"; import { getFileURL } from "@plane/utils"; // helpers import { queryParamGenerator } from "@/helpers/query-param-generator"; diff --git a/apps/space/core/components/issues/peek-overview/issue-activity.tsx b/apps/space/core/components/issues/peek-overview/issue-activity.tsx index f63af3b53..1f67db95c 100644 --- a/apps/space/core/components/issues/peek-overview/issue-activity.tsx +++ b/apps/space/core/components/issues/peek-overview/issue-activity.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import Link from "next/link"; import { usePathname } from "next/navigation"; // plane imports -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // components import { AddComment } from "@/components/issues/peek-overview/comment/add-comment"; import { CommentCard } from "@/components/issues/peek-overview/comment/comment-detail-card"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/header.tsx index 14d7b6555..b54a78252 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/header.tsx @@ -6,8 +6,9 @@ import { PenSquare } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui +import { Button } from "@plane/propel/button"; import { EIssuesStoreType } from "@plane/types"; -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { CountChip } from "@/components/common/count-chip"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx index 27ef0ad42..2d5786bb1 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/header.tsx @@ -4,7 +4,8 @@ import { observer } from "mobx-react"; import { Home, Shapes } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; // hooks 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 31c96cd43..cc9a789ec 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 @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // components import { PageHead } from "@/components/core/page-title"; import { DownloadActivityButton } from "@/components/profile/activity/download-button"; 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 0dcf1f534..3ff62390b 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 @@ -16,6 +16,7 @@ import { } from "@plane/constants"; import { usePlatformOS } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { ContrastIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { @@ -25,7 +26,7 @@ import { IIssueDisplayProperties, EIssueLayoutTypes, } from "@plane/types"; -import { Breadcrumbs, Button, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui"; +import { Breadcrumbs, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { WorkItemsModal } from "@/components/analytics/work-items/modal"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx index 5c2359d08..5cfa9e8d6 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; // ui import { EProjectFeatureKey, EUserPermissions, EUserPermissionsLevel, CYCLE_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { CyclesViewHeader } from "@/components/cycles/cycles-view-header"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx index f1dc7fecd..8b72f6589 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx @@ -14,6 +14,7 @@ import { EProjectFeatureKey, WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { DiceIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { @@ -23,7 +24,7 @@ import { IIssueDisplayProperties, EIssueLayoutTypes, } from "@plane/types"; -import { Breadcrumbs, Button, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; +import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { WorkItemsModal } from "@/components/analytics/work-items/modal"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/header.tsx index 6ec9d10ad..fbb40e3b4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/header.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; import { EProjectFeatureKey, EUserPermissions, EUserPermissionsLevel, MODULE_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { ModuleViewHeader } from "@/components/modules"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx index 1ae3317b9..761dc7560 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx @@ -6,9 +6,9 @@ import Link from "next/link"; import { useParams } from "next/navigation"; import useSWR from "swr"; // plane types +import { getButtonStyling } from "@plane/propel/button"; import { EFileAssetType, TSearchEntityRequestPayload, TWebhookConnectionQueryParams } from "@plane/types"; // plane ui -import { getButtonStyling } from "@plane/ui"; // plane utils import { cn } from "@plane/utils"; // components 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 ba3314eb8..0240acf92 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 @@ -11,9 +11,10 @@ import { PROJECT_TRACKER_ELEMENTS, } from "@plane/constants"; // plane types +import { Button } from "@plane/propel/button"; import { TPage } from "@plane/types"; // plane ui -import { Breadcrumbs, Button, Header, setToast, TOAST_TYPE } from "@plane/ui"; +import { Breadcrumbs, Header, setToast, TOAST_TYPE } from "@plane/ui"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx index 66416cd43..83d94e5dc 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx @@ -14,6 +14,7 @@ import { WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; // types +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssuesStoreType, @@ -24,7 +25,7 @@ import { EIssueLayoutTypes, } from "@plane/types"; // ui -import { Breadcrumbs, Button, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; +import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; // components import { SwitcherIcon, SwitcherLabel } from "@/components/common/switcher-label"; import { DisplayFiltersSelection, FiltersDropdown, LayoutSelection } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx index 848707a20..1ac783ebd 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/header.tsx @@ -4,7 +4,8 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // ui import { EProjectFeatureKey, PROJECT_VIEW_TRACKER_ELEMENTS } from "@plane/constants"; -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { ViewListHeader } from "@/components/views/view-list-header"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx index 08a216ab1..49b76da57 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx @@ -3,8 +3,9 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports +import { Button } from "@plane/propel/button"; import { RecentStickyIcon } from "@plane/propel/icons"; -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { StickySearch } from "@/components/stickies/modal/search"; 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 68e954121..04d5fc2c7 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx @@ -12,6 +12,7 @@ import { DEFAULT_GLOBAL_VIEWS_LIST, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EIssuesStoreType, IIssueDisplayFilterOptions, @@ -19,7 +20,7 @@ import { ICustomSearchSelectOption, EIssueLayoutTypes, } from "@plane/types"; -import { Breadcrumbs, Button, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; +import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { SwitcherLabel } from "@/components/common/switcher-label"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx index d5f9de0af..86c8940ac 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx @@ -12,9 +12,10 @@ import { MEMBER_TRACKER_EVENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IWorkspaceBulkInviteFormData } from "@plane/types"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/activity/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/activity/page.tsx index 8d4f8b133..799c29e17 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/activity/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/activity/page.tsx @@ -4,7 +4,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // components import { PageHead } from "@/components/core/page-title"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx index 3d0c29858..82ffcd283 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx @@ -7,7 +7,8 @@ import { Eye, EyeOff } from "lucide-react"; // plane imports import { E_PASSWORD_STRENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, Input, PasswordStrengthIndicator, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Input, PasswordStrengthIndicator, TOAST_TYPE, setToast } from "@plane/ui"; import { getPasswordStrength } from "@plane/utils"; // components import { PageHead } from "@/components/core/page-title"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx index 7715afecd..2812d278e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx @@ -3,7 +3,7 @@ import Image from "next/image"; import Link from "next/link"; import { useTheme } from "next-themes"; import { PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; -import { Button, getButtonStyling } from "@plane/ui"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; import { useCommandPalette } from "@/hooks/store/use-command-palette"; diff --git a/apps/web/app/(all)/create-workspace/page.tsx b/apps/web/app/(all)/create-workspace/page.tsx index 92c2ba3e1..84a9653d6 100644 --- a/apps/web/app/(all)/create-workspace/page.tsx +++ b/apps/web/app/(all)/create-workspace/page.tsx @@ -6,9 +6,9 @@ import Image from "next/image"; import Link from "next/link"; // plane imports import { useTranslation } from "@plane/i18n"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { PlaneLogo } from "@plane/propel/icons"; import { IWorkspace } from "@plane/types"; -import { Button, getButtonStyling } from "@plane/ui"; // components import { CreateWorkspaceForm } from "@/components/workspace/create-workspace-form"; // hooks diff --git a/apps/web/app/(all)/invitations/page.tsx b/apps/web/app/(all)/invitations/page.tsx index 82201b0f2..5aa4fd3d9 100644 --- a/apps/web/app/(all)/invitations/page.tsx +++ b/apps/web/app/(all)/invitations/page.tsx @@ -10,10 +10,11 @@ import { CheckCircle2 } from "lucide-react"; import { ROLE, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS, GROUP_WORKSPACE_TRACKER_EVENT } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types +import { Button } from "@plane/propel/button"; import { PlaneLogo } from "@plane/propel/icons"; import type { IWorkspaceMemberInvitation } from "@plane/types"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { truncateText } from "@plane/utils"; // components import { EmptyState } from "@/components/common/empty-state"; diff --git a/apps/web/app/(all)/profile/activity/page.tsx b/apps/web/app/(all)/profile/activity/page.tsx index 4fa1039ca..d978b9a04 100644 --- a/apps/web/app/(all)/profile/activity/page.tsx +++ b/apps/web/app/(all)/profile/activity/page.tsx @@ -4,7 +4,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // components import { PageHead } from "@/components/core/page-title"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; diff --git a/apps/web/app/(all)/profile/security/page.tsx b/apps/web/app/(all)/profile/security/page.tsx index cff764ca8..5787209b0 100644 --- a/apps/web/app/(all)/profile/security/page.tsx +++ b/apps/web/app/(all)/profile/security/page.tsx @@ -7,7 +7,8 @@ import { Eye, EyeOff } from "lucide-react"; // plane imports import { E_PASSWORD_STRENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, Input, PasswordStrengthIndicator, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Input, PasswordStrengthIndicator, TOAST_TYPE, setToast } from "@plane/ui"; // components import { getPasswordStrength } from "@plane/utils"; import { PageHead } from "@/components/core/page-title"; diff --git a/apps/web/app/error.tsx b/apps/web/app/error.tsx index 7e383ce2b..a6fa660a7 100644 --- a/apps/web/app/error.tsx +++ b/apps/web/app/error.tsx @@ -3,7 +3,7 @@ import Image from "next/image"; import { useTheme } from "next-themes"; // layouts -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; import { useAppRouter } from "@/hooks/use-app-router"; import DefaultLayout from "@/layouts/default-layout"; // images diff --git a/apps/web/app/not-found.tsx b/apps/web/app/not-found.tsx index 1f1ec0e2c..268d4d7b6 100644 --- a/apps/web/app/not-found.tsx +++ b/apps/web/app/not-found.tsx @@ -5,7 +5,7 @@ import { Metadata } from "next"; import Image from "next/image"; import Link from "next/link"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // images import Image404 from "@/public/404.svg"; diff --git a/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx b/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx index 9e0289a3c..1ce060b01 100644 --- a/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx +++ b/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx @@ -7,7 +7,8 @@ import { AlertOctagon, BarChart4, CircleDashed, Folder, Microscope, Search } fro // plane imports import { MARKETING_PRICING_PAGE_LINK } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ContentWrapper, getButtonStyling } from "@plane/ui"; +import { getButtonStyling } from "@plane/propel/button"; +import { ContentWrapper } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { ProIcon } from "@/components/common/pro-icon"; diff --git a/apps/web/ce/components/issues/header.tsx b/apps/web/ce/components/issues/header.tsx index 8bdcc3292..58f699be5 100644 --- a/apps/web/ce/components/issues/header.tsx +++ b/apps/web/ce/components/issues/header.tsx @@ -14,9 +14,10 @@ import { EProjectFeatureKey, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssuesStoreType } from "@plane/types"; -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { CountChip } from "@/components/common/count-chip"; // constants diff --git a/apps/web/ce/components/pages/editor/embed/issue-embed-upgrade-card.tsx b/apps/web/ce/components/pages/editor/embed/issue-embed-upgrade-card.tsx index f1ed1787b..bd61ceaa8 100644 --- a/apps/web/ce/components/pages/editor/embed/issue-embed-upgrade-card.tsx +++ b/apps/web/ce/components/pages/editor/embed/issue-embed-upgrade-card.tsx @@ -1,5 +1,5 @@ // plane imports -import { getButtonStyling } from "@plane/ui"; +import { getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; // components import { ProIcon } from "@/components/common/pro-icon"; diff --git a/apps/web/ce/components/projects/settings/intake/header.tsx b/apps/web/ce/components/projects/settings/intake/header.tsx index 75c8bc535..0c8f61c96 100644 --- a/apps/web/ce/components/projects/settings/intake/header.tsx +++ b/apps/web/ce/components/projects/settings/intake/header.tsx @@ -7,7 +7,8 @@ import { RefreshCcw } from "lucide-react"; // ui import { EProjectFeatureKey, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { InboxIssueCreateModalRoot } from "@/components/inbox/modals/create-modal"; // hooks diff --git a/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx b/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx index 9067e124e..f7612e911 100644 --- a/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx +++ b/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx @@ -9,8 +9,9 @@ import { WORKSPACE_SETTINGS_TRACKER_EVENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { getButtonStyling } from "@plane/propel/button"; import { EProductSubscriptionEnum, TBillingFrequency } from "@plane/types"; -import { getButtonStyling, getUpgradeButtonStyle } from "@plane/ui"; +import { getUpgradeButtonStyle } from "@plane/ui"; import { cn, getSubscriptionName } from "@plane/utils"; // components import { DiscountInfo } from "@/components/license/modal/card/discount-info"; diff --git a/apps/web/ce/components/workspace/delete-workspace-section.tsx b/apps/web/ce/components/workspace/delete-workspace-section.tsx index 33c85e5a9..17b4632cb 100644 --- a/apps/web/ce/components/workspace/delete-workspace-section.tsx +++ b/apps/web/ce/components/workspace/delete-workspace-section.tsx @@ -4,9 +4,10 @@ import { ChevronDown, ChevronUp } from "lucide-react"; // types import { WORKSPACE_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IWorkspace } from "@plane/types"; // ui -import { Button, Collapsible } from "@plane/ui"; +import { Collapsible } from "@plane/ui"; import { DeleteWorkspaceModal } from "./delete-workspace-modal"; // components diff --git a/apps/web/ce/components/workspace/edition-badge.tsx b/apps/web/ce/components/workspace/edition-badge.tsx index 7af2cf71e..bd846c932 100644 --- a/apps/web/ce/components/workspace/edition-badge.tsx +++ b/apps/web/ce/components/workspace/edition-badge.tsx @@ -2,8 +2,8 @@ import { useState } from "react"; import { observer } from "mobx-react"; // ui import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; -import { Button } from "@plane/ui"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; import packageJson from "package.json"; diff --git a/apps/web/core/components/account/auth-forms/email.tsx b/apps/web/core/components/account/auth-forms/email.tsx index c4d3d890e..d9ee4ccc9 100644 --- a/apps/web/core/components/account/auth-forms/email.tsx +++ b/apps/web/core/components/account/auth-forms/email.tsx @@ -6,8 +6,9 @@ import { observer } from "mobx-react"; import { CircleAlert, XCircle } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IEmailCheckData } from "@plane/types"; -import { Button, Input, Spinner } from "@plane/ui"; +import { Input, Spinner } from "@plane/ui"; import { cn, checkEmailValidity } from "@plane/utils"; // helpers type TAuthEmailForm = { 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 39ac9b9f3..06cc24b3a 100644 --- a/apps/web/core/components/account/auth-forms/forgot-password.tsx +++ b/apps/web/core/components/account/auth-forms/forgot-password.tsx @@ -9,7 +9,8 @@ import { CircleCheck } from "lucide-react"; // plane imports import { AUTH_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, Input, TOAST_TYPE, getButtonStyling, setToast } from "@plane/ui"; +import { Button, getButtonStyling } from "@plane/propel/button"; +import { Input, TOAST_TYPE, setToast } from "@plane/ui"; import { cn, checkEmailValidity } from "@plane/utils"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/account/auth-forms/password.tsx b/apps/web/core/components/account/auth-forms/password.tsx index 578c47ed3..52d32dc5d 100644 --- a/apps/web/core/components/account/auth-forms/password.tsx +++ b/apps/web/core/components/account/auth-forms/password.tsx @@ -8,7 +8,8 @@ import { Eye, EyeOff, Info, X, XCircle } from "lucide-react"; // plane imports import { API_BASE_URL, E_PASSWORD_STRENGTH, AUTH_TRACKER_EVENTS, AUTH_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, Input, PasswordStrengthIndicator, Spinner } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Input, PasswordStrengthIndicator, Spinner } from "@plane/ui"; import { getPasswordStrength } from "@plane/utils"; // components import { ForgotPasswordPopover } from "@/components/account/auth-forms/forgot-password-popover"; 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 be9c734e9..b80a941cb 100644 --- a/apps/web/core/components/account/auth-forms/reset-password.tsx +++ b/apps/web/core/components/account/auth-forms/reset-password.tsx @@ -8,7 +8,8 @@ import { Eye, EyeOff } from "lucide-react"; // ui import { API_BASE_URL, E_PASSWORD_STRENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, Input, PasswordStrengthIndicator } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Input, PasswordStrengthIndicator } from "@plane/ui"; // components import { getPasswordStrength } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/account/auth-forms/set-password.tsx b/apps/web/core/components/account/auth-forms/set-password.tsx index 8c5ee1ee3..5939b6f19 100644 --- a/apps/web/core/components/account/auth-forms/set-password.tsx +++ b/apps/web/core/components/account/auth-forms/set-password.tsx @@ -8,7 +8,8 @@ import { Eye, EyeOff } from "lucide-react"; // plane imports import { AUTH_TRACKER_ELEMENTS, AUTH_TRACKER_EVENTS, E_PASSWORD_STRENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, Input, PasswordStrengthIndicator, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Input, PasswordStrengthIndicator, TOAST_TYPE, setToast } from "@plane/ui"; // components import { getPasswordStrength } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/account/auth-forms/unique-code.tsx b/apps/web/core/components/account/auth-forms/unique-code.tsx index a8aac8dfb..c009fdf17 100644 --- a/apps/web/core/components/account/auth-forms/unique-code.tsx +++ b/apps/web/core/components/account/auth-forms/unique-code.tsx @@ -4,7 +4,8 @@ import React, { useEffect, useState } from "react"; import { CircleCheck, XCircle } from "lucide-react"; import { API_BASE_URL, AUTH_TRACKER_ELEMENTS, AUTH_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, Input, Spinner } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Input, Spinner } from "@plane/ui"; // constants // helpers import { EAuthModes } from "@/helpers/authentication.helper"; diff --git a/apps/web/core/components/account/deactivate-account-modal.tsx b/apps/web/core/components/account/deactivate-account-modal.tsx index 97ad8139d..3a4b8c668 100644 --- a/apps/web/core/components/account/deactivate-account-modal.tsx +++ b/apps/web/core/components/account/deactivate-account-modal.tsx @@ -6,7 +6,8 @@ import { Dialog, Transition } from "@headlessui/react"; import { PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/analytics/insight-table/root.tsx b/apps/web/core/components/analytics/insight-table/root.tsx index 2fd19393b..4b376dee6 100644 --- a/apps/web/core/components/analytics/insight-table/root.tsx +++ b/apps/web/core/components/analytics/insight-table/root.tsx @@ -1,8 +1,8 @@ import { ColumnDef, Row, Table } from "@tanstack/react-table"; import { Download } from "lucide-react"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { AnalyticsTableDataMap, TAnalyticsTabsBase } from "@plane/types"; -import { Button } from "@plane/ui"; import { DataTable } from "./data-table"; import { TableLoader } from "./loader"; interface InsightTableProps> { 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 bedb357ca..8fdf94dac 100644 --- a/apps/web/core/components/analytics/work-items/priority-chart.tsx +++ b/apps/web/core/components/analytics/work-items/priority-chart.tsx @@ -14,10 +14,10 @@ import { EChartModels, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { BarChart } from "@plane/propel/charts/bar-chart"; import { TBarItem, TChart, TChartDatum, ChartXAxisProperty, ChartYAxisMetric } from "@plane/types"; // plane web components -import { Button } from "@plane/ui"; import { generateExtendedColors, parseChartData } from "@/components/chart/utils"; // hooks import { useAnalytics } from "@/hooks/store/use-analytics"; diff --git a/apps/web/core/components/api-token/empty-state.tsx b/apps/web/core/components/api-token/empty-state.tsx index 9c2da3bb7..194966df5 100644 --- a/apps/web/core/components/api-token/empty-state.tsx +++ b/apps/web/core/components/api-token/empty-state.tsx @@ -3,7 +3,7 @@ import React from "react"; import Image from "next/image"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // assets import emptyApiTokens from "@/public/empty-state/api-token.svg"; diff --git a/apps/web/core/components/api-token/modal/form.tsx b/apps/web/core/components/api-token/modal/form.tsx index 57f74cd53..3770aec5a 100644 --- a/apps/web/core/components/api-token/modal/form.tsx +++ b/apps/web/core/components/api-token/modal/form.tsx @@ -6,9 +6,10 @@ import { Controller, useForm } from "react-hook-form"; import { Calendar } from "lucide-react"; // types import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IApiToken } from "@plane/types"; // ui -import { Button, CustomSelect, Input, TextArea, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; +import { CustomSelect, Input, TextArea, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; import { cn, renderFormattedDate, renderFormattedTime } from "@plane/utils"; // components import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/api-token/modal/generated-token-details.tsx b/apps/web/core/components/api-token/modal/generated-token-details.tsx index 6f4254833..3996b7382 100644 --- a/apps/web/core/components/api-token/modal/generated-token-details.tsx +++ b/apps/web/core/components/api-token/modal/generated-token-details.tsx @@ -2,10 +2,11 @@ import { Copy } from "lucide-react"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { IApiToken } from "@plane/types"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { renderFormattedDate, renderFormattedTime, copyTextToClipboard } from "@plane/utils"; // helpers // types diff --git a/apps/web/core/components/auth-screens/project/join-project.tsx b/apps/web/core/components/auth-screens/project/join-project.tsx index ba5c6c561..39fbaba35 100644 --- a/apps/web/core/components/auth-screens/project/join-project.tsx +++ b/apps/web/core/components/auth-screens/project/join-project.tsx @@ -4,7 +4,7 @@ import Image from "next/image"; import { useParams } from "next/navigation"; import { ClipboardList } from "lucide-react"; // plane imports -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/auth-screens/workspace/not-a-member.tsx b/apps/web/core/components/auth-screens/workspace/not-a-member.tsx index 404709846..115718d75 100644 --- a/apps/web/core/components/auth-screens/workspace/not-a-member.tsx +++ b/apps/web/core/components/auth-screens/workspace/not-a-member.tsx @@ -2,7 +2,7 @@ import Link from "next/link"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // layouts import DefaultLayout from "@/layouts/default-layout"; diff --git a/apps/web/core/components/automation/select-month-modal.tsx b/apps/web/core/components/automation/select-month-modal.tsx index b35b9885e..4ed121e10 100644 --- a/apps/web/core/components/automation/select-month-modal.tsx +++ b/apps/web/core/components/automation/select-month-modal.tsx @@ -6,9 +6,10 @@ import { useParams } from "next/navigation"; import { Controller, useForm } from "react-hook-form"; // headless ui import { Dialog, Transition } from "@headlessui/react"; +import { Button } from "@plane/propel/button"; import type { IProject } from "@plane/types"; // ui -import { Button, Input } from "@plane/ui"; +import { Input } from "@plane/ui"; // types // types diff --git a/apps/web/core/components/common/empty-state.tsx b/apps/web/core/components/common/empty-state.tsx index 5fdd210d9..f83b3e204 100644 --- a/apps/web/core/components/common/empty-state.tsx +++ b/apps/web/core/components/common/empty-state.tsx @@ -4,7 +4,7 @@ import React from "react"; import Image from "next/image"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { title: string; diff --git a/apps/web/core/components/common/new-empty-state.tsx b/apps/web/core/components/common/new-empty-state.tsx index e04cb3ed0..9e9137266 100644 --- a/apps/web/core/components/common/new-empty-state.tsx +++ b/apps/web/core/components/common/new-empty-state.tsx @@ -4,7 +4,7 @@ import React, { useState } from "react"; import Image from "next/image"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { title: string; diff --git a/apps/web/core/components/core/description-versions/modal.tsx b/apps/web/core/components/core/description-versions/modal.tsx index dedd69cab..4efd3c3f5 100644 --- a/apps/web/core/components/core/description-versions/modal.tsx +++ b/apps/web/core/components/core/description-versions/modal.tsx @@ -4,19 +4,10 @@ import { ChevronLeft, ChevronRight, Copy } from "lucide-react"; // plane imports import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { TDescriptionVersion } from "@plane/types"; -import { - Avatar, - Button, - EModalPosition, - EModalWidth, - getButtonStyling, - Loader, - ModalCore, - setToast, - TOAST_TYPE, -} from "@plane/ui"; +import { Avatar, EModalPosition, EModalWidth, Loader, ModalCore, setToast, TOAST_TYPE } from "@plane/ui"; import { calculateTimeAgo, cn, copyTextToClipboard, getFileURL } from "@plane/utils"; // components import { RichTextEditor } from "@/components/editor/rich-text"; 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 244aa69ea..334d15ae4 100644 --- a/apps/web/core/components/core/filters/date-filter-modal.tsx +++ b/apps/web/core/components/core/filters/date-filter-modal.tsx @@ -5,8 +5,8 @@ import { Controller, useForm } from "react-hook-form"; import { X } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; +import { Button } from "@plane/propel/button"; import { Calendar } from "@plane/propel/calendar"; -import { Button } from "@plane/ui"; import { renderFormattedPayloadDate, renderFormattedDate, getDate } from "@plane/utils"; import { DateFilterSelect } from "./date-filter-select"; diff --git a/apps/web/core/components/core/image-picker-popover.tsx b/apps/web/core/components/core/image-picker-popover.tsx index 925e24b89..301b9befb 100644 --- a/apps/web/core/components/core/image-picker-popover.tsx +++ b/apps/web/core/components/core/image-picker-popover.tsx @@ -11,8 +11,9 @@ import { Tab, Popover } from "@headlessui/react"; // plane imports import { ACCEPTED_COVER_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants"; import { useOutsideClickDetector } from "@plane/hooks"; +import { Button } from "@plane/propel/button"; import { EFileAssetType } from "@plane/types"; -import { Button, Input, Loader, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, Loader, TOAST_TYPE, setToast } from "@plane/ui"; // helpers import { getFileURL } from "@plane/utils"; // hooks 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 0e7a6d454..64c34a2e5 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 @@ -8,8 +8,9 @@ import { Search } from "lucide-react"; import { Combobox, Dialog, Transition } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EIssuesStoreType, ISearchIssueResponse, IUser } from "@plane/types"; -import { Button, Loader, TOAST_TYPE, setToast } from "@plane/ui"; +import { Loader, TOAST_TYPE, setToast } from "@plane/ui"; // components import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root"; // hooks 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 1aa9ef018..8dc7c173e 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 @@ -6,10 +6,11 @@ import { Combobox, Dialog, Transition } from "@headlessui/react"; // i18n import { useTranslation } from "@plane/i18n"; // types +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { ISearchIssueResponse, TProjectIssuesSearchParams } from "@plane/types"; // ui -import { Button, Loader, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; +import { Loader, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; import { generateWorkItemLink, getTabIndex } from "@plane/utils"; // helpers // hooks 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 2a554f96b..5ee202d94 100644 --- a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx +++ b/apps/web/core/components/core/modals/gpt-assistant-popover.tsx @@ -8,7 +8,8 @@ import { AlertCircle } from "lucide-react"; import { Popover, Transition } from "@headlessui/react"; // plane imports import type { EditorRefApi } from "@plane/editor"; -import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Input, TOAST_TYPE, setToast } from "@plane/ui"; // components import { RichTextEditor } from "@/components/editor/rich-text"; // services 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 e411c0234..ebe826926 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 @@ -7,8 +7,9 @@ import { UserCircle2 } from "lucide-react"; import { Transition, Dialog } from "@headlessui/react"; // plane imports import { ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { EFileAssetType } from "@plane/types"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { getAssetIdFromUrl, getFileURL, checkURLValidity } from "@plane/utils"; // helpers // services 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 be0e91fae..b2dd9d881 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 @@ -7,8 +7,9 @@ import { UserCircle2 } from "lucide-react"; import { Transition, Dialog } from "@headlessui/react"; // plane imports import { ACCEPTED_AVATAR_IMAGE_MIME_TYPES_FOR_REACT_DROPZONE, MAX_FILE_SIZE } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { EFileAssetType } from "@plane/types"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { getAssetIdFromUrl, getFileURL, checkURLValidity } from "@plane/utils"; // helpers // hooks 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 ca1907bad..f285e5425 100644 --- a/apps/web/core/components/core/theme/custom-theme-selector.tsx +++ b/apps/web/core/components/core/theme/custom-theme-selector.tsx @@ -6,9 +6,10 @@ import { Controller, useForm } from "react-hook-form"; // types import { PROFILE_SETTINGS_TRACKER_ELEMENTS, PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IUserTheme } from "@plane/types"; // ui -import { Button, InputColorPicker, setPromiseToast } from "@plane/ui"; +import { InputColorPicker, setPromiseToast } from "@plane/ui"; // hooks import { captureElementAndEvent } from "@/helpers/event-tracker.helper"; import { useUserProfile } from "@/hooks/store/user"; diff --git a/apps/web/core/components/cycles/archived-cycles/modal.tsx b/apps/web/core/components/cycles/archived-cycles/modal.tsx index 5b0f98f0f..9d089d8cb 100644 --- a/apps/web/core/components/cycles/archived-cycles/modal.tsx +++ b/apps/web/core/components/cycles/archived-cycles/modal.tsx @@ -4,7 +4,8 @@ import { useState, Fragment } from "react"; import { Dialog, Transition } from "@headlessui/react"; // ui import { CYCLE_TRACKER_EVENTS } from "@plane/constants"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useCycle } from "@/hooks/store/use-cycle"; diff --git a/apps/web/core/components/cycles/form.tsx b/apps/web/core/components/cycles/form.tsx index 6efbb8140..86122719e 100644 --- a/apps/web/core/components/cycles/form.tsx +++ b/apps/web/core/components/cycles/form.tsx @@ -6,9 +6,10 @@ import { Controller, useForm } from "react-hook-form"; import { ETabIndices } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { ICycle } from "@plane/types"; // ui -import { Button, Input, TextArea } from "@plane/ui"; +import { Input, TextArea } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; diff --git a/apps/web/core/components/cycles/transfer-issues.tsx b/apps/web/core/components/cycles/transfer-issues.tsx index 467ec3082..bcc1b7615 100644 --- a/apps/web/core/components/cycles/transfer-issues.tsx +++ b/apps/web/core/components/cycles/transfer-issues.tsx @@ -2,8 +2,8 @@ import React from "react"; import { AlertCircle } from "lucide-react"; // ui +import { Button } from "@plane/propel/button"; import { TransferIcon } from "@plane/propel/icons"; -import { Button } from "@plane/ui"; type Props = { handleClick: () => void; diff --git a/apps/web/core/components/editor/lite-text/toolbar.tsx b/apps/web/core/components/editor/lite-text/toolbar.tsx index 9b230f01c..07e5686d7 100644 --- a/apps/web/core/components/editor/lite-text/toolbar.tsx +++ b/apps/web/core/components/editor/lite-text/toolbar.tsx @@ -8,8 +8,8 @@ import type { EditorRefApi } from "@plane/editor"; // i18n import { useTranslation } from "@plane/i18n"; // ui +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; -import { Button } from "@plane/ui"; // constants import { cn } from "@plane/utils"; import { TOOLBAR_ITEMS, ToolbarMenuItem } from "@/constants/editor"; 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 6a1a1e59c..9c10a5fc6 100644 --- a/apps/web/core/components/empty-state/comic-box-button.tsx +++ b/apps/web/core/components/empty-state/comic-box-button.tsx @@ -5,7 +5,7 @@ import { usePopper } from "react-popper"; import { Popover } from "@headlessui/react"; // popper // helper -import { getButtonStyling } from "@plane/ui"; +import { getButtonStyling } from "@plane/propel/button"; type Props = { label: string; diff --git a/apps/web/core/components/empty-state/detailed-empty-state-root.tsx b/apps/web/core/components/empty-state/detailed-empty-state-root.tsx index 4ae97e839..1776e72ae 100644 --- a/apps/web/core/components/empty-state/detailed-empty-state-root.tsx +++ b/apps/web/core/components/empty-state/detailed-empty-state-root.tsx @@ -4,7 +4,7 @@ import React from "react"; import { observer } from "mobx-react"; import Image from "next/image"; // ui -import { Button } from "@plane/ui/src/button"; +import { Button } from "@plane/propel/button"; // utils import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/estimates/create/modal.tsx b/apps/web/core/components/estimates/create/modal.tsx index 396ba572e..f72f0ae64 100644 --- a/apps/web/core/components/estimates/create/modal.tsx +++ b/apps/web/core/components/estimates/create/modal.tsx @@ -6,8 +6,9 @@ import { ChevronLeft } from "lucide-react"; // plane imports import { EEstimateSystem, ESTIMATE_SYSTEMS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IEstimateFormData, TEstimateSystemKeys, TEstimatePointsObject, TEstimateTypeError } from "@plane/types"; -import { Button, EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui"; +import { EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useProjectEstimates } from "@/hooks/store/estimates"; // local imports diff --git a/apps/web/core/components/estimates/delete/modal.tsx b/apps/web/core/components/estimates/delete/modal.tsx index 152133802..22d13ffa0 100644 --- a/apps/web/core/components/estimates/delete/modal.tsx +++ b/apps/web/core/components/estimates/delete/modal.tsx @@ -4,7 +4,8 @@ import { FC, useState } from "react"; import { observer } from "mobx-react"; // ui import { PROJECT_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; -import { Button, EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useProjectEstimates } from "@/hooks/store/estimates"; diff --git a/apps/web/core/components/estimates/points/create-root.tsx b/apps/web/core/components/estimates/points/create-root.tsx index 9d10c5582..9c2ec6623 100644 --- a/apps/web/core/components/estimates/points/create-root.tsx +++ b/apps/web/core/components/estimates/points/create-root.tsx @@ -5,8 +5,9 @@ import { observer } from "mobx-react"; import { Plus } from "lucide-react"; // plane imports import { estimateCount } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeError } from "@plane/types"; -import { Button, Sortable } from "@plane/ui"; +import { Sortable } from "@plane/ui"; // local imports import { EstimatePointCreate } from "./create"; import { EstimatePointItemPreview } from "./preview"; diff --git a/apps/web/core/components/exporter/export-form.tsx b/apps/web/core/components/exporter/export-form.tsx index f021a1afe..04179f85d 100644 --- a/apps/web/core/components/exporter/export-form.tsx +++ b/apps/web/core/components/exporter/export-form.tsx @@ -9,7 +9,8 @@ import { WORKSPACE_SETTINGS_TRACKER_ELEMENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, CustomSearchSelect, CustomSelect, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { CustomSearchSelect, CustomSelect, TOAST_TYPE, setToast } from "@plane/ui"; import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useProject } from "@/hooks/store/use-project"; import { useUser, useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/exporter/export-modal.tsx b/apps/web/core/components/exporter/export-modal.tsx index 81c356427..982ea29fe 100644 --- a/apps/web/core/components/exporter/export-modal.tsx +++ b/apps/web/core/components/exporter/export-modal.tsx @@ -7,9 +7,10 @@ import { useParams } from "next/navigation"; import { Dialog, Transition } from "@headlessui/react"; // types import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IUser, IImporterService } from "@plane/types"; // ui -import { Button, CustomSearchSelect, TOAST_TYPE, setToast } from "@plane/ui"; +import { CustomSearchSelect, TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/exporter/single-export.tsx b/apps/web/core/components/exporter/single-export.tsx index 6e8dde3da..fa3d1a7f3 100644 --- a/apps/web/core/components/exporter/single-export.tsx +++ b/apps/web/core/components/exporter/single-export.tsx @@ -2,8 +2,8 @@ import { useState, FC } from "react"; // ui +import { Button } from "@plane/propel/button"; import { IExportData } from "@plane/types"; -import { Button } from "@plane/ui"; // helpers import { getDate, renderFormattedDate } from "@plane/utils"; // types diff --git a/apps/web/core/components/global/product-updates/footer.tsx b/apps/web/core/components/global/product-updates/footer.tsx index ab679d56a..9c21ea785 100644 --- a/apps/web/core/components/global/product-updates/footer.tsx +++ b/apps/web/core/components/global/product-updates/footer.tsx @@ -1,8 +1,8 @@ import { USER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui +import { getButtonStyling } from "@plane/propel/button"; import { PlaneLogo } from "@plane/propel/icons"; -import { getButtonStyling } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; 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 354fdae0c..8757c79e9 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 @@ -6,8 +6,9 @@ import { Controller, useForm } from "react-hook-form"; // plane types // plane ui import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { TLink, TLinkEditableFields } from "@plane/types"; -import { Button, Input, ModalCore } from "@plane/ui"; +import { Input, ModalCore } from "@plane/ui"; import { TLinkOperations } from "./use-links"; export type TLinkOperationsModal = Exclude; 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 bb68cdba6..a565a542f 100644 --- a/apps/web/core/components/inbox/content/inbox-issue-header.tsx +++ b/apps/web/core/components/inbox/content/inbox-issue-header.tsx @@ -18,8 +18,9 @@ import { // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EInboxIssueStatus, TNameDescriptionLoader } from "@plane/types"; -import { Button, ControlLink, CustomMenu, Row, TOAST_TYPE, setToast } from "@plane/ui"; +import { ControlLink, CustomMenu, Row, TOAST_TYPE, setToast } from "@plane/ui"; import { copyUrlToClipboard, findHowManyDaysLeft, generateWorkItemLink } from "@plane/utils"; // components import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; diff --git a/apps/web/core/components/inbox/inbox-filter/root.tsx b/apps/web/core/components/inbox/inbox-filter/root.tsx index d6d8567d4..4a1ee84ec 100644 --- a/apps/web/core/components/inbox/inbox-filter/root.tsx +++ b/apps/web/core/components/inbox/inbox-filter/root.tsx @@ -1,7 +1,7 @@ import { FC } from "react"; import { ChevronDown, ListFilter } from "lucide-react"; // plane imports -import { getButtonStyling } from "@plane/ui"; +import { getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; // components import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; 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 fc984c0f0..1b8d8e14c 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 @@ -5,8 +5,9 @@ import { observer } from "mobx-react"; import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "lucide-react"; 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 { TInboxIssueSortingOrderByKeys, TInboxIssueSortingSortByKeys } from "@plane/types"; -import { CustomMenu, getButtonStyling } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; // constants // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/inbox/modals/create-modal/create-root.tsx b/apps/web/core/components/inbox/modals/create-modal/create-root.tsx index 66eb349ae..df04cb533 100644 --- a/apps/web/core/components/inbox/modals/create-modal/create-root.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/create-root.tsx @@ -6,8 +6,9 @@ import { observer } from "mobx-react"; import { ETabIndices, WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { TIssue } from "@plane/types"; -import { Button, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; +import { ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; import { renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; 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 d137f6a03..267971f25 100644 --- a/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx +++ b/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx @@ -4,8 +4,8 @@ import { FC, Fragment, useState } from "react"; import { Dialog, Transition } from "@headlessui/react"; // ui import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { Calendar } from "@plane/propel/calendar"; -import { Button } from "@plane/ui"; export type InboxIssueSnoozeModalProps = { isOpen: boolean; diff --git a/apps/web/core/components/instance/not-ready-view.tsx b/apps/web/core/components/instance/not-ready-view.tsx index ccbb2377f..1313c3e0d 100644 --- a/apps/web/core/components/instance/not-ready-view.tsx +++ b/apps/web/core/components/instance/not-ready-view.tsx @@ -5,7 +5,7 @@ import Image from "next/image"; import Link from "next/link"; import { useTheme } from "next-themes"; import { GOD_MODE_URL } from "@plane/constants"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // helpers // images // assets diff --git a/apps/web/core/components/integration/delete-import-modal.tsx b/apps/web/core/components/integration/delete-import-modal.tsx index 772538188..8d78a9914 100644 --- a/apps/web/core/components/integration/delete-import-modal.tsx +++ b/apps/web/core/components/integration/delete-import-modal.tsx @@ -10,8 +10,9 @@ import { mutate } from "swr"; import { AlertTriangle } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // services +import { Button } from "@plane/propel/button"; import { IUser, IImporterService } from "@plane/types"; -import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, TOAST_TYPE, setToast } from "@plane/ui"; import { IMPORTER_SERVICES_LIST } from "@/constants/fetch-keys"; import { IntegrationService } from "@/services/integrations/integration.service"; // ui diff --git a/apps/web/core/components/integration/github/auth.tsx b/apps/web/core/components/integration/github/auth.tsx index b141ff798..4b3081752 100644 --- a/apps/web/core/components/integration/github/auth.tsx +++ b/apps/web/core/components/integration/github/auth.tsx @@ -2,9 +2,9 @@ import { observer } from "mobx-react"; // types +import { Button } from "@plane/propel/button"; import { IWorkspaceIntegration } from "@plane/types"; // ui -import { Button } from "@plane/ui"; // hooks import { useInstance } from "@/hooks/store/use-instance"; import useIntegrationPopup from "@/hooks/use-integration-popup"; diff --git a/apps/web/core/components/integration/github/import-configure.tsx b/apps/web/core/components/integration/github/import-configure.tsx index 851c20655..458be3ef5 100644 --- a/apps/web/core/components/integration/github/import-configure.tsx +++ b/apps/web/core/components/integration/github/import-configure.tsx @@ -1,8 +1,8 @@ "use client"; // components +import { Button } from "@plane/propel/button"; import { IAppIntegration, IWorkspaceIntegration } from "@plane/types"; -import { Button } from "@plane/ui"; import { GithubAuth, TIntegrationSteps } from "@/components/integration"; // types diff --git a/apps/web/core/components/integration/github/import-confirm.tsx b/apps/web/core/components/integration/github/import-confirm.tsx index 94b25a2a2..21afa4ed8 100644 --- a/apps/web/core/components/integration/github/import-confirm.tsx +++ b/apps/web/core/components/integration/github/import-confirm.tsx @@ -5,7 +5,7 @@ import { FC } from "react"; // react-hook-form import { UseFormWatch } from "react-hook-form"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // types import { TFormValues, TIntegrationSteps } from "@/components/integration"; diff --git a/apps/web/core/components/integration/github/import-data.tsx b/apps/web/core/components/integration/github/import-data.tsx index 082a0ac22..a03c3f706 100644 --- a/apps/web/core/components/integration/github/import-data.tsx +++ b/apps/web/core/components/integration/github/import-data.tsx @@ -3,10 +3,11 @@ import { FC } from "react"; import { observer } from "mobx-react"; import { Control, Controller, UseFormWatch } from "react-hook-form"; +import { Button } from "@plane/propel/button"; import { IWorkspaceIntegration } from "@plane/types"; // hooks // components -import { Button, CustomSearchSelect, ToggleSwitch } from "@plane/ui"; +import { CustomSearchSelect, ToggleSwitch } from "@plane/ui"; import { truncateText } from "@plane/utils"; import { SelectRepository, TFormValues, TIntegrationSteps } from "@/components/integration"; // ui diff --git a/apps/web/core/components/integration/github/import-users.tsx b/apps/web/core/components/integration/github/import-users.tsx index 4387e8749..2a61a6f8f 100644 --- a/apps/web/core/components/integration/github/import-users.tsx +++ b/apps/web/core/components/integration/github/import-users.tsx @@ -5,7 +5,7 @@ import { FC } from "react"; // react-hook-form import { UseFormWatch } from "react-hook-form"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // types import { IUserDetails, SingleUserSelect, TFormValues, TIntegrationSteps } from "@/components/integration"; diff --git a/apps/web/core/components/integration/github/repo-details.tsx b/apps/web/core/components/integration/github/repo-details.tsx index 5d58ab4c9..0ce25bd11 100644 --- a/apps/web/core/components/integration/github/repo-details.tsx +++ b/apps/web/core/components/integration/github/repo-details.tsx @@ -9,7 +9,8 @@ import { UseFormSetValue } from "react-hook-form"; import useSWR from "swr"; // services // ui -import { Button, Loader } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Loader } from "@plane/ui"; // types import { IUserDetails, TFormValues, TIntegrationSteps } from "@/components/integration"; // fetch-keys diff --git a/apps/web/core/components/integration/guide.tsx b/apps/web/core/components/integration/guide.tsx index d6e216109..fa9b4e4d1 100644 --- a/apps/web/core/components/integration/guide.tsx +++ b/apps/web/core/components/integration/guide.tsx @@ -12,9 +12,9 @@ import { RefreshCw } from "lucide-react"; import { IMPORTERS_LIST } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types +import { Button } from "@plane/propel/button"; import { IImporterService } from "@plane/types"; // ui -import { Button } from "@plane/ui"; // components import { DeleteImportModal, GithubImporterRoot, JiraImporterRoot, SingleImport } from "@/components/integration"; import { ImportExportSettingsLoader } from "@/components/ui/loader/settings/import-and-export"; diff --git a/apps/web/core/components/integration/jira/root.tsx b/apps/web/core/components/integration/jira/root.tsx index 22ba3407d..cdfe74e4c 100644 --- a/apps/web/core/components/integration/jira/root.tsx +++ b/apps/web/core/components/integration/jira/root.tsx @@ -9,9 +9,9 @@ import { mutate } from "swr"; // icons import { ArrowLeft, Check, List, Settings, Users } from "lucide-react"; // types +import { Button } from "@plane/propel/button"; import { IJiraImporterForm } from "@plane/types"; // ui -import { Button } from "@plane/ui"; // fetch keys import { IMPORTER_SERVICES_LIST } from "@/constants/fetch-keys"; // hooks diff --git a/apps/web/core/components/integration/single-integration-card.tsx b/apps/web/core/components/integration/single-integration-card.tsx index b4ce693d8..79795ef01 100644 --- a/apps/web/core/components/integration/single-integration-card.tsx +++ b/apps/web/core/components/integration/single-integration-card.tsx @@ -7,10 +7,11 @@ import { useParams } from "next/navigation"; import useSWR, { mutate } from "swr"; import { CheckCircle } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { IAppIntegration, IWorkspaceIntegration } from "@plane/types"; // ui -import { Button, Loader, TOAST_TYPE, setToast } from "@plane/ui"; +import { Loader, TOAST_TYPE, setToast } from "@plane/ui"; // constants import { WORKSPACE_INTEGRATIONS } from "@/constants/fetch-keys"; // hooks diff --git a/apps/web/core/components/issues/archive-issue-modal.tsx b/apps/web/core/components/issues/archive-issue-modal.tsx index b4f12c375..0fb8b02fb 100644 --- a/apps/web/core/components/issues/archive-issue-modal.tsx +++ b/apps/web/core/components/issues/archive-issue-modal.tsx @@ -5,9 +5,10 @@ import { Dialog, Transition } from "@headlessui/react"; // i18n import { useTranslation } from "@plane/i18n"; // types +import { Button } from "@plane/propel/button"; import { TDeDupeIssue, TIssue } from "@plane/types"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/issues/bulk-operations/upgrade-banner.tsx b/apps/web/core/components/issues/bulk-operations/upgrade-banner.tsx index b7ecc9cf9..d53da7dfb 100644 --- a/apps/web/core/components/issues/bulk-operations/upgrade-banner.tsx +++ b/apps/web/core/components/issues/bulk-operations/upgrade-banner.tsx @@ -1,7 +1,7 @@ "use client"; import { MARKETING_PLANE_ONE_PAGE_LINK } from "@plane/constants"; -import { getButtonStyling } from "@plane/ui"; +import { getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/web/core/components/issues/confirm-issue-discard.tsx b/apps/web/core/components/issues/confirm-issue-discard.tsx index 5e6f06fa1..d5bb1bcac 100644 --- a/apps/web/core/components/issues/confirm-issue-discard.tsx +++ b/apps/web/core/components/issues/confirm-issue-discard.tsx @@ -5,7 +5,7 @@ import React, { useState } from "react"; // headless ui import { Dialog, Transition } from "@headlessui/react"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { isOpen: boolean; diff --git a/apps/web/core/components/issues/filters.tsx b/apps/web/core/components/issues/filters.tsx index 320d4481c..e42c2e70c 100644 --- a/apps/web/core/components/issues/filters.tsx +++ b/apps/web/core/components/issues/filters.tsx @@ -6,8 +6,8 @@ import { ChartNoAxesColumn, SlidersHorizontal } from "lucide-react"; // plane imports import { EIssueFilterType, ISSUE_STORE_TO_FILTERS_MAP } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EIssueLayoutTypes, EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; -import { Button } from "@plane/ui"; // hooks import { useIssues } from "@/hooks/store/use-issues"; // plane web imports diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx index 4526632a4..773d3ca2e 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx @@ -3,6 +3,7 @@ import { observer } from "mobx-react"; // plane imports import { ListFilter } from "lucide-react"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EIssueServiceType, EIssuesStoreType, @@ -12,7 +13,6 @@ import { TSubIssueOperations, } from "@plane/types"; // hooks -import { Button } from "@plane/ui"; import { SectionEmptyState } from "@/components/empty-state/section-empty-state-root"; import { getGroupByColumns, isWorkspaceLevel } from "@/components/issues/issue-layouts/utils"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; 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 88bd2ac86..3ac354db9 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 @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; import { Check, ListFilter } from "lucide-react"; import { TActivityFilters, TActivityFilterOption } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button, PopoverMenu } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { PopoverMenu } from "@plane/ui"; // helper import { cn } from "@plane/utils"; // constants 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 702cd4018..a46564b46 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 @@ -4,7 +4,7 @@ import { FC, memo } from "react"; import { ArrowUpWideNarrow, ArrowDownWideNarrow } from "lucide-react"; // plane package imports import { E_SORT_ORDER } from "@plane/constants"; -import { getButtonStyling } from "@plane/ui"; +import { getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; export type TActivitySortRoot = { 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 eede4642f..39b370ed7 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 @@ -5,9 +5,10 @@ import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { useTranslation } from "@plane/i18n"; // plane types +import { Button } from "@plane/propel/button"; import type { TIssueLinkEditableFields, TIssueServiceType } from "@plane/types"; // plane ui -import { Button, Input, ModalCore } from "@plane/ui"; +import { Input, ModalCore } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // types diff --git a/apps/web/core/components/issues/issue-detail/subscription.tsx b/apps/web/core/components/issues/issue-detail/subscription.tsx index 31a8a9625..016261f57 100644 --- a/apps/web/core/components/issues/issue-detail/subscription.tsx +++ b/apps/web/core/components/issues/issue-detail/subscription.tsx @@ -8,8 +8,9 @@ import { Bell, BellOff } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // UI +import { Button } from "@plane/propel/button"; import { EIssueServiceType } from "@plane/types"; -import { Button, Loader, TOAST_TYPE, setToast } from "@plane/ui"; +import { Loader, TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx index c831b647e..7d1c72697 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx @@ -8,7 +8,7 @@ import { ChevronUp } from "lucide-react"; // headless ui import { Popover, Transition } from "@headlessui/react"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { children: React.ReactNode; 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 93d02aaf4..bd3354fc4 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 @@ -1,8 +1,9 @@ import { ChevronDown } from "lucide-react"; import { ISSUE_LAYOUTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EIssueLayoutTypes } from "@plane/types"; -import { Button, CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; import { IssueLayoutIcon } from "../../layout-icon"; export const MobileLayoutSelection = ({ diff --git a/apps/web/core/components/issues/issue-modal/form.tsx b/apps/web/core/components/issues/issue-modal/form.tsx index c4fbb6d41..04595785e 100644 --- a/apps/web/core/components/issues/issue-modal/form.tsx +++ b/apps/web/core/components/issues/issue-modal/form.tsx @@ -9,9 +9,10 @@ import { ETabIndices, DEFAULT_WORK_ITEM_FORM_VALUES } from "@plane/constants"; import type { EditorRefApi } from "@plane/editor"; // i18n import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EIssuesStoreType, TIssue, TWorkspaceDraftIssue } from "@plane/types"; // hooks -import { Button, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; +import { ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; import { convertWorkItemDataToSearchResponse, getUpdateFormDataForReset, diff --git a/apps/web/core/components/labels/create-update-label-inline.tsx b/apps/web/core/components/labels/create-update-label-inline.tsx index faf5b8ca5..05092e8bb 100644 --- a/apps/web/core/components/labels/create-update-label-inline.tsx +++ b/apps/web/core/components/labels/create-update-label-inline.tsx @@ -8,8 +8,9 @@ import { Popover, Transition } from "@headlessui/react"; // plane imports import { getRandomLabelColor, LABEL_COLOR_OPTIONS, PROJECT_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IIssueLabel } from "@plane/types"; -import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, TOAST_TYPE, setToast } from "@plane/ui"; import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; export type TLabelOperationsCallbacks = { diff --git a/apps/web/core/components/license/modal/card/checkout-button.tsx b/apps/web/core/components/license/modal/card/checkout-button.tsx index 6ab4d23a3..9a6b9d613 100644 --- a/apps/web/core/components/license/modal/card/checkout-button.tsx +++ b/apps/web/core/components/license/modal/card/checkout-button.tsx @@ -2,8 +2,9 @@ import { FC } from "react"; import { observer } from "mobx-react"; // plane imports +import { getButtonStyling } from "@plane/propel/button"; import { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; -import { getButtonStyling, getUpgradeButtonStyle, Loader } from "@plane/ui"; +import { getUpgradeButtonStyle, Loader } from "@plane/ui"; import { cn } from "@plane/utils"; // local imports import { DiscountInfo } from "./discount-info"; 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 792ef501c..85dac6224 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 @@ -4,8 +4,9 @@ import { FC } from "react"; import { observer } from "mobx-react"; // types // plane imports +import { getButtonStyling } from "@plane/propel/button"; import { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; -import { getButtonStyling, getUpgradeButtonStyle, Loader } from "@plane/ui"; +import { getUpgradeButtonStyle, Loader } from "@plane/ui"; import { cn } from "@plane/utils"; // local imports import { BasePaidPlanCard } from "./base-paid-plan-card"; diff --git a/apps/web/core/components/modules/archived-modules/modal.tsx b/apps/web/core/components/modules/archived-modules/modal.tsx index 2bc35b053..c00cd747f 100644 --- a/apps/web/core/components/modules/archived-modules/modal.tsx +++ b/apps/web/core/components/modules/archived-modules/modal.tsx @@ -3,7 +3,8 @@ import { useState, Fragment } from "react"; import { Dialog, Transition } from "@headlessui/react"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useModule } from "@/hooks/store/use-module"; import { useAppRouter } from "@/hooks/use-app-router"; diff --git a/apps/web/core/components/modules/dropdowns/order-by.tsx b/apps/web/core/components/modules/dropdowns/order-by.tsx index 4fe3b3c70..dd73cb889 100644 --- a/apps/web/core/components/modules/dropdowns/order-by.tsx +++ b/apps/web/core/components/modules/dropdowns/order-by.tsx @@ -3,9 +3,10 @@ import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "lucide-react"; import { MODULE_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { getButtonStyling } from "@plane/propel/button"; import { TModuleOrderByOptions } from "@plane/types"; // ui -import { CustomMenu, getButtonStyling } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; // types diff --git a/apps/web/core/components/modules/form.tsx b/apps/web/core/components/modules/form.tsx index 59b42a6a5..ff4d5d295 100644 --- a/apps/web/core/components/modules/form.tsx +++ b/apps/web/core/components/modules/form.tsx @@ -5,9 +5,10 @@ import { Controller, useForm } from "react-hook-form"; // plane imports import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IModule } from "@plane/types"; // ui -import { Button, Input, TextArea } from "@plane/ui"; +import { Input, TextArea } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; 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 0018b2eb6..81794b5df 100644 --- a/apps/web/core/components/modules/links/create-update-modal.tsx +++ b/apps/web/core/components/modules/links/create-update-modal.tsx @@ -3,9 +3,10 @@ import { FC, useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; // plane types +import { Button } from "@plane/propel/button"; import type { ILinkDetails, ModuleLink } from "@plane/types"; // plane ui -import { Button, Input, ModalCore, setToast, TOAST_TYPE } from "@plane/ui"; +import { Input, ModalCore, setToast, TOAST_TYPE } from "@plane/ui"; type Props = { createLink: (formData: ModuleLink) => Promise; diff --git a/apps/web/core/components/onboarding/create-workspace.tsx b/apps/web/core/components/onboarding/create-workspace.tsx index b59e44767..46ddd6e07 100644 --- a/apps/web/core/components/onboarding/create-workspace.tsx +++ b/apps/web/core/components/onboarding/create-workspace.tsx @@ -12,9 +12,10 @@ import { } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IUser, IWorkspace, TOnboardingSteps } from "@plane/types"; // ui -import { Button, CustomSelect, Input, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; +import { CustomSelect, Input, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/core/components/onboarding/invitations.tsx b/apps/web/core/components/onboarding/invitations.tsx index c1bb29008..f7922a692 100644 --- a/apps/web/core/components/onboarding/invitations.tsx +++ b/apps/web/core/components/onboarding/invitations.tsx @@ -4,9 +4,10 @@ import React, { useState } from "react"; // plane imports import { ROLE, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; // types +import { Button } from "@plane/propel/button"; import { IWorkspaceMemberInvitation } from "@plane/types"; // ui -import { Button, Checkbox, Spinner } from "@plane/ui"; +import { Checkbox, Spinner } from "@plane/ui"; import { truncateText } from "@plane/utils"; // constants // helpers diff --git a/apps/web/core/components/onboarding/invite-members.tsx b/apps/web/core/components/onboarding/invite-members.tsx index 239089aca..12a0c0522 100644 --- a/apps/web/core/components/onboarding/invite-members.tsx +++ b/apps/web/core/components/onboarding/invite-members.tsx @@ -21,9 +21,10 @@ import { Listbox } from "@headlessui/react"; import { ROLE, ROLE_DETAILS, EUserPermissions, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types +import { Button } from "@plane/propel/button"; import { IUser, IWorkspace } from "@plane/types"; // ui -import { Button, Input, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; // constants // helpers // hooks diff --git a/apps/web/core/components/onboarding/profile-setup.tsx b/apps/web/core/components/onboarding/profile-setup.tsx index b25e9a6bd..ed9b79d3c 100644 --- a/apps/web/core/components/onboarding/profile-setup.tsx +++ b/apps/web/core/components/onboarding/profile-setup.tsx @@ -12,9 +12,10 @@ import { } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IUser, TUserProfile, TOnboardingSteps } from "@plane/types"; // ui -import { Button, Input, PasswordStrengthIndicator, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, PasswordStrengthIndicator, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; // components import { getFileURL, getPasswordStrength } from "@plane/utils"; import { UserImageUploadModal } from "@/components/core/modals/user-image-upload-modal"; diff --git a/apps/web/core/components/onboarding/steps/profile/root.tsx b/apps/web/core/components/onboarding/steps/profile/root.tsx index 90fc135d7..cb9484d46 100644 --- a/apps/web/core/components/onboarding/steps/profile/root.tsx +++ b/apps/web/core/components/onboarding/steps/profile/root.tsx @@ -6,8 +6,9 @@ import { Controller, useForm } from "react-hook-form"; import { ImageIcon } from "lucide-react"; // plane imports import { E_PASSWORD_STRENGTH, ONBOARDING_TRACKER_ELEMENTS, USER_TRACKER_EVENTS } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { EOnboardingSteps, IUser } from "@plane/types"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { cn, getFileURL, getPasswordStrength } from "@plane/utils"; // components import { UserImageUploadModal } from "@/components/core/modals/user-image-upload-modal"; diff --git a/apps/web/core/components/onboarding/steps/role/root.tsx b/apps/web/core/components/onboarding/steps/role/root.tsx index fb0e0d2b6..973efa3aa 100644 --- a/apps/web/core/components/onboarding/steps/role/root.tsx +++ b/apps/web/core/components/onboarding/steps/role/root.tsx @@ -6,8 +6,9 @@ import { Controller, useForm } from "react-hook-form"; import { Box, Check, PenTool, Rocket, Monitor, RefreshCw, Layers } from "lucide-react"; // plane imports import { ONBOARDING_TRACKER_ELEMENTS, USER_TRACKER_EVENTS } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { EOnboardingSteps, TUserProfile } from "@plane/types"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // helpers import { captureError, captureSuccess, captureView } from "@/helpers/event-tracker.helper"; // hooks diff --git a/apps/web/core/components/onboarding/steps/team/root.tsx b/apps/web/core/components/onboarding/steps/team/root.tsx index 049935d49..72e367c79 100644 --- a/apps/web/core/components/onboarding/steps/team/root.tsx +++ b/apps/web/core/components/onboarding/steps/team/root.tsx @@ -21,9 +21,10 @@ import { Listbox } from "@headlessui/react"; import { ROLE, ROLE_DETAILS, EUserPermissions, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types +import { Button } from "@plane/propel/button"; import { EOnboardingSteps, IWorkspace } from "@plane/types"; // ui -import { Button, Input, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; // constants // helpers diff --git a/apps/web/core/components/onboarding/steps/usecase/root.tsx b/apps/web/core/components/onboarding/steps/usecase/root.tsx index d4ce0c348..fff97a63d 100644 --- a/apps/web/core/components/onboarding/steps/usecase/root.tsx +++ b/apps/web/core/components/onboarding/steps/usecase/root.tsx @@ -6,8 +6,9 @@ import { Controller, useForm } from "react-hook-form"; import { Check } from "lucide-react"; // plane imports import { ONBOARDING_TRACKER_ELEMENTS, USER_TRACKER_EVENTS, USE_CASES } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { EOnboardingSteps, TUserProfile } from "@plane/types"; -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // helpers import { captureError, captureSuccess, captureView } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/onboarding/steps/workspace/create.tsx b/apps/web/core/components/onboarding/steps/workspace/create.tsx index 1dde7636c..fe16f0910 100644 --- a/apps/web/core/components/onboarding/steps/workspace/create.tsx +++ b/apps/web/core/components/onboarding/steps/workspace/create.tsx @@ -12,8 +12,9 @@ import { WORKSPACE_TRACKER_EVENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IUser, IWorkspace } from "@plane/types"; -import { Button, Spinner, TOAST_TYPE, setToast } from "@plane/ui"; +import { Spinner, TOAST_TYPE, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; 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 765b99fbb..c30adc5ec 100644 --- a/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx +++ b/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx @@ -3,8 +3,9 @@ import React, { useState } from "react"; // plane imports import { MEMBER_TRACKER_ELEMENTS, MEMBER_TRACKER_EVENTS, ROLE } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { IWorkspaceMemberInvitation } from "@plane/types"; -import { Button, Checkbox, Spinner } from "@plane/ui"; +import { Checkbox, Spinner } from "@plane/ui"; import { truncateText } from "@plane/utils"; // constants import { WorkspaceLogo } from "@/components/workspace/logo"; diff --git a/apps/web/core/components/onboarding/switch-account-modal.tsx b/apps/web/core/components/onboarding/switch-account-modal.tsx index 323f67a62..db4aa8cd5 100644 --- a/apps/web/core/components/onboarding/switch-account-modal.tsx +++ b/apps/web/core/components/onboarding/switch-account-modal.tsx @@ -6,7 +6,8 @@ import { useTheme } from "next-themes"; import { ArrowRightLeft } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useUser } from "@/hooks/store/user"; import { useAppRouter } from "@/hooks/use-app-router"; diff --git a/apps/web/core/components/onboarding/tour/root.tsx b/apps/web/core/components/onboarding/tour/root.tsx index 86fe84c10..3769851cb 100644 --- a/apps/web/core/components/onboarding/tour/root.tsx +++ b/apps/web/core/components/onboarding/tour/root.tsx @@ -6,8 +6,8 @@ import Image, { StaticImageData } from "next/image"; import { X } from "lucide-react"; // plane imports import { PRODUCT_TOUR_TRACKER_ELEMENTS } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { PlaneLockup } from "@plane/propel/icons"; -import { Button } from "@plane/ui"; // helpers import { captureClick } from "@/helpers/event-tracker.helper"; // hooks diff --git a/apps/web/core/components/pages/list/order-by.tsx b/apps/web/core/components/pages/list/order-by.tsx index 37f5827da..f2c19f3a7 100644 --- a/apps/web/core/components/pages/list/order-by.tsx +++ b/apps/web/core/components/pages/list/order-by.tsx @@ -2,9 +2,10 @@ import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "lucide-react"; // types +import { getButtonStyling } from "@plane/propel/button"; import { TPageFiltersSortBy, TPageFiltersSortKey } from "@plane/types"; // ui -import { CustomMenu, getButtonStyling } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/pages/modals/export-page-modal.tsx b/apps/web/core/components/pages/modals/export-page-modal.tsx index ad519094b..ad7c87f87 100644 --- a/apps/web/core/components/pages/modals/export-page-modal.tsx +++ b/apps/web/core/components/pages/modals/export-page-modal.tsx @@ -6,7 +6,8 @@ import { Controller, useForm } from "react-hook-form"; // plane editor import type { EditorRefApi } from "@plane/editor"; // plane ui -import { Button, CustomSelect, EModalPosition, EModalWidth, ModalCore, setToast, TOAST_TYPE } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { CustomSelect, EModalPosition, EModalWidth, ModalCore, setToast, TOAST_TYPE } from "@plane/ui"; // components import { PDFDocument } from "@/components/editor/pdf"; // hooks diff --git a/apps/web/core/components/pages/modals/page-form.tsx b/apps/web/core/components/pages/modals/page-form.tsx index f1c4c0721..6748db5d0 100644 --- a/apps/web/core/components/pages/modals/page-form.tsx +++ b/apps/web/core/components/pages/modals/page-form.tsx @@ -5,8 +5,9 @@ import { FileText, Globe2, Lock, LucideIcon } from "lucide-react"; // plane imports import { ETabIndices, EPageAccess } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import type { TPage } from "@plane/types"; -import { Button, EmojiIconPicker, EmojiIconPickerTypes, Input } from "@plane/ui"; +import { EmojiIconPicker, EmojiIconPickerTypes, Input } from "@plane/ui"; import { convertHexEmojiToDecimal, getTabIndex } from "@plane/utils"; // components import { AccessField } from "@/components/common/access-field"; diff --git a/apps/web/core/components/pages/version/main-content.tsx b/apps/web/core/components/pages/version/main-content.tsx index 100fa9b0a..2a43be42e 100644 --- a/apps/web/core/components/pages/version/main-content.tsx +++ b/apps/web/core/components/pages/version/main-content.tsx @@ -3,8 +3,9 @@ import { observer } from "mobx-react"; import useSWR from "swr"; import { EyeIcon, TriangleAlert } from "lucide-react"; // plane imports +import { Button } from "@plane/propel/button"; import { TPageVersion } from "@plane/types"; -import { Button, setToast, TOAST_TYPE } from "@plane/ui"; +import { setToast, TOAST_TYPE } from "@plane/ui"; import { renderFormattedDate, renderFormattedTime } from "@plane/utils"; // helpers import { EPageStoreType } from "@/plane-web/hooks/store"; diff --git a/apps/web/core/components/profile/activity/download-button.tsx b/apps/web/core/components/profile/activity/download-button.tsx index f8595cae8..40140a2a2 100644 --- a/apps/web/core/components/profile/activity/download-button.tsx +++ b/apps/web/core/components/profile/activity/download-button.tsx @@ -5,7 +5,7 @@ import { useParams } from "next/navigation"; // services // ui import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // helpers import { renderFormattedPayloadDate } from "@plane/utils"; import { UserService } from "@/services/user.service"; diff --git a/apps/web/core/components/profile/form.tsx b/apps/web/core/components/profile/form.tsx index 03791472b..8a92ca1c2 100644 --- a/apps/web/core/components/profile/form.tsx +++ b/apps/web/core/components/profile/form.tsx @@ -8,8 +8,9 @@ import { Disclosure, Transition } from "@headlessui/react"; // plane imports import { PROFILE_SETTINGS_TRACKER_ELEMENTS, PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button, getButtonStyling } from "@plane/propel/button"; import type { IUser, TUserProfile } from "@plane/types"; -import { Button, Input, TOAST_TYPE, getButtonStyling, setPromiseToast, setToast } from "@plane/ui"; +import { Input, TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui"; import { cn, getFileURL } from "@plane/utils"; // components import { DeactivateAccountModal } from "@/components/account/deactivate-account-modal"; diff --git a/apps/web/core/components/project-states/create-update/form.tsx b/apps/web/core/components/project-states/create-update/form.tsx index 2b985edd9..588e6c9b6 100644 --- a/apps/web/core/components/project-states/create-update/form.tsx +++ b/apps/web/core/components/project-states/create-update/form.tsx @@ -2,8 +2,9 @@ import { FC, useEffect, useState, useMemo } from "react"; import { TwitterPicker } from "react-color"; +import { Button } from "@plane/propel/button"; import { IState } from "@plane/types"; -import { Button, Popover, Input, TextArea } from "@plane/ui"; +import { Popover, Input, TextArea } from "@plane/ui"; type TStateForm = { data: Partial; diff --git a/apps/web/core/components/project/card.tsx b/apps/web/core/components/project/card.tsx index a87d0828b..b8291faf8 100644 --- a/apps/web/core/components/project/card.tsx +++ b/apps/web/core/components/project/card.tsx @@ -8,12 +8,12 @@ import { ArchiveRestoreIcon, Check, ExternalLink, LinkIcon, Lock, Settings, Tras // plane imports import { EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import type { IProject } from "@plane/types"; import { Avatar, AvatarGroup, - Button, TOAST_TYPE, setToast, setPromiseToast, 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 89fc5d0e3..eb2231e2e 100644 --- a/apps/web/core/components/project/confirm-project-member-remove.tsx +++ b/apps/web/core/components/project/confirm-project-member-remove.tsx @@ -7,9 +7,9 @@ import { AlertTriangle } from "lucide-react"; // headless ui import { Dialog, Transition } from "@headlessui/react"; // types +import { Button } from "@plane/propel/button"; import { IUserLite } from "@plane/types"; // ui -import { Button } from "@plane/ui"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useUser } from "@/hooks/store/user"; 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 e30370757..5b4f988ec 100644 --- a/apps/web/core/components/project/create/project-create-buttons.tsx +++ b/apps/web/core/components/project/create/project-create-buttons.tsx @@ -2,9 +2,9 @@ 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 { IProject } from "@plane/types"; // ui -import { Button } from "@plane/ui"; // helpers import { getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/project/delete-project-modal.tsx b/apps/web/core/components/project/delete-project-modal.tsx index d7b89e186..d76caef53 100644 --- a/apps/web/core/components/project/delete-project-modal.tsx +++ b/apps/web/core/components/project/delete-project-modal.tsx @@ -7,9 +7,10 @@ import { AlertTriangle } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // types import { PROJECT_TRACKER_EVENTS } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import type { IProject } from "@plane/types"; // ui -import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, TOAST_TYPE, setToast } from "@plane/ui"; // constants // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; 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 e0aff0cf1..95ae83c1c 100644 --- a/apps/web/core/components/project/dropdowns/filters/member-list.tsx +++ b/apps/web/core/components/project/dropdowns/filters/member-list.tsx @@ -2,9 +2,10 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { ChevronDown } from "lucide-react"; // plane imports +import { Button } from "@plane/propel/button"; import { EUserProjectRoles, EUserWorkspaceRoles } from "@plane/types"; // plane ui -import { Button, CustomMenu } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; // components 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 e75e256f0..71dd9cac1 100644 --- a/apps/web/core/components/project/dropdowns/order-by.tsx +++ b/apps/web/core/components/project/dropdowns/order-by.tsx @@ -3,9 +3,10 @@ import { ArrowDownWideNarrow, Check, ChevronDown } from "lucide-react"; import { PROJECT_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { getButtonStyling } from "@plane/propel/button"; import { TProjectOrderByOptions } from "@plane/types"; // ui -import { CustomMenu, getButtonStyling } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; // types diff --git a/apps/web/core/components/project/empty-state.tsx b/apps/web/core/components/project/empty-state.tsx index beedc0d70..17abb3c3c 100644 --- a/apps/web/core/components/project/empty-state.tsx +++ b/apps/web/core/components/project/empty-state.tsx @@ -5,7 +5,7 @@ import React from "react"; import Image from "next/image"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { title: string; diff --git a/apps/web/core/components/project/form.tsx b/apps/web/core/components/project/form.tsx index 1e35f65dd..aa250e987 100644 --- a/apps/web/core/components/project/form.tsx +++ b/apps/web/core/components/project/form.tsx @@ -6,10 +6,11 @@ import { Info, Lock } from "lucide-react"; import { NETWORK_CHOICES, PROJECT_TRACKER_ELEMENTS, PROJECT_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // plane imports +import { Button } from "@plane/propel/button"; import { EmojiPicker } from "@plane/propel/emoji-icon-picker"; import { Tooltip } from "@plane/propel/tooltip"; import { IProject, IWorkspace } from "@plane/types"; -import { Button, CustomSelect, Input, TextArea, TOAST_TYPE, setToast, EmojiIconPickerTypes } from "@plane/ui"; +import { CustomSelect, Input, TextArea, TOAST_TYPE, setToast, EmojiIconPickerTypes } from "@plane/ui"; import { renderFormattedDate, getFileURL } from "@plane/utils"; // components import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/project/header.tsx b/apps/web/core/components/project/header.tsx index 4dd27fbed..1a9785023 100644 --- a/apps/web/core/components/project/header.tsx +++ b/apps/web/core/components/project/header.tsx @@ -7,7 +7,8 @@ import { Briefcase } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel, PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { Breadcrumbs, Button, Header } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; // hooks diff --git a/apps/web/core/components/project/join-project-modal.tsx b/apps/web/core/components/project/join-project-modal.tsx index 37753f6d3..d4ee8ae10 100644 --- a/apps/web/core/components/project/join-project-modal.tsx +++ b/apps/web/core/components/project/join-project-modal.tsx @@ -4,9 +4,9 @@ import { useState, Fragment } from "react"; import { Transition, Dialog } from "@headlessui/react"; // types +import { Button } from "@plane/propel/button"; import type { IProject } from "@plane/types"; // ui -import { Button } from "@plane/ui"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/project/leave-project-modal.tsx b/apps/web/core/components/project/leave-project-modal.tsx index 7de4a02d3..d396d6821 100644 --- a/apps/web/core/components/project/leave-project-modal.tsx +++ b/apps/web/core/components/project/leave-project-modal.tsx @@ -9,9 +9,10 @@ import { AlertTriangleIcon } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // types import { MEMBER_TRACKER_EVENTS } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { IProject } from "@plane/types"; // ui -import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, TOAST_TYPE, setToast } from "@plane/ui"; // constants // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/project/member-list.tsx b/apps/web/core/components/project/member-list.tsx index 47f2f5fec..8f527b475 100644 --- a/apps/web/core/components/project/member-list.tsx +++ b/apps/web/core/components/project/member-list.tsx @@ -6,7 +6,7 @@ import { Search } from "lucide-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // components import { MembersSettingsLoader } from "@/components/ui/loader/settings/members"; // hooks diff --git a/apps/web/core/components/project/multi-select-modal.tsx b/apps/web/core/components/project/multi-select-modal.tsx index b6012ccf6..5a0e7b85b 100644 --- a/apps/web/core/components/project/multi-select-modal.tsx +++ b/apps/web/core/components/project/multi-select-modal.tsx @@ -5,7 +5,8 @@ import { Search, X } from "lucide-react"; import { Combobox } from "@headlessui/react"; // plane ui import { useTranslation } from "@plane/i18n"; -import { Button, Checkbox, EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Checkbox, EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // components import { cn } from "@plane/utils"; import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/project/project-feature-update.tsx b/apps/web/core/components/project/project-feature-update.tsx index 3ed701a1b..ca43e2851 100644 --- a/apps/web/core/components/project/project-feature-update.tsx +++ b/apps/web/core/components/project/project-feature-update.tsx @@ -5,7 +5,8 @@ import { observer } from "mobx-react"; import Link from "next/link"; import { useTranslation } from "@plane/i18n"; // ui -import { Button, getButtonStyling, Row } from "@plane/ui"; +import { Button, getButtonStyling } from "@plane/propel/button"; +import { Row } from "@plane/ui"; // components import { Logo } from "@/components/common/logo"; import { ProjectFeaturesList } from "@/components/project/settings/features-list"; diff --git a/apps/web/core/components/project/publish-project/modal.tsx b/apps/web/core/components/project/publish-project/modal.tsx index 06489e9d8..130926ba6 100644 --- a/apps/web/core/components/project/publish-project/modal.tsx +++ b/apps/web/core/components/project/publish-project/modal.tsx @@ -7,9 +7,10 @@ import { Controller, useForm } from "react-hook-form"; import { Check, ExternalLink, Globe2 } from "lucide-react"; // types import { SPACE_BASE_PATH, SPACE_BASE_URL } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { TProjectPublishLayouts, TProjectPublishSettings } from "@plane/types"; // ui -import { Button, Loader, ToggleSwitch, TOAST_TYPE, setToast, CustomSelect, ModalCore, EModalWidth } from "@plane/ui"; +import { Loader, ToggleSwitch, TOAST_TYPE, setToast, CustomSelect, ModalCore, EModalWidth } from "@plane/ui"; // helpers import { copyTextToClipboard } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/project/send-project-invitation-modal.tsx b/apps/web/core/components/project/send-project-invitation-modal.tsx index bb0b16819..22538843a 100644 --- a/apps/web/core/components/project/send-project-invitation-modal.tsx +++ b/apps/web/core/components/project/send-project-invitation-modal.tsx @@ -8,7 +8,8 @@ import { Dialog, Transition } from "@headlessui/react"; // plane imports import { ROLE, EUserPermissions, MEMBER_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { Avatar, Button, CustomSelect, CustomSearchSelect, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { Avatar, CustomSelect, CustomSearchSelect, TOAST_TYPE, setToast } from "@plane/ui"; // helpers import { getFileURL } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/project/settings/archive-project/archive-restore-modal.tsx b/apps/web/core/components/project/settings/archive-project/archive-restore-modal.tsx index 661b2d6a1..4a1972d26 100644 --- a/apps/web/core/components/project/settings/archive-project/archive-restore-modal.tsx +++ b/apps/web/core/components/project/settings/archive-project/archive-restore-modal.tsx @@ -3,7 +3,8 @@ import { useState, Fragment } from "react"; import { Dialog, Transition } from "@headlessui/react"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useAppRouter } from "@/hooks/use-app-router"; diff --git a/apps/web/core/components/project/settings/archive-project/selection.tsx b/apps/web/core/components/project/settings/archive-project/selection.tsx index 60963ead7..954833841 100644 --- a/apps/web/core/components/project/settings/archive-project/selection.tsx +++ b/apps/web/core/components/project/settings/archive-project/selection.tsx @@ -4,9 +4,10 @@ import React from "react"; import { ChevronRight, ChevronUp } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; // types +import { Button } from "@plane/propel/button"; import { IProject } from "@plane/types"; // ui -import { Button, Loader } from "@plane/ui"; +import { Loader } from "@plane/ui"; export interface IArchiveProject { projectDetails: IProject; diff --git a/apps/web/core/components/project/settings/delete-project-section.tsx b/apps/web/core/components/project/settings/delete-project-section.tsx index 540a77f09..5fb3eeba9 100644 --- a/apps/web/core/components/project/settings/delete-project-section.tsx +++ b/apps/web/core/components/project/settings/delete-project-section.tsx @@ -5,9 +5,10 @@ import { ChevronRight, ChevronUp } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; // types import { PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; +import { Button } from "@plane/propel/button"; import { IProject } from "@plane/types"; // ui -import { Button, Loader } from "@plane/ui"; +import { Loader } from "@plane/ui"; export interface IDeleteProjectSection { projectDetails: IProject; diff --git a/apps/web/core/components/rich-filters/add-filters-button.tsx b/apps/web/core/components/rich-filters/add-filters-button.tsx index 52a87b37d..06cf5e6b4 100644 --- a/apps/web/core/components/rich-filters/add-filters-button.tsx +++ b/apps/web/core/components/rich-filters/add-filters-button.tsx @@ -2,9 +2,10 @@ import React from "react"; import { observer } from "mobx-react"; import { ListFilter } from "lucide-react"; // plane imports +import { getButtonStyling } from "@plane/propel/button"; import { IFilterInstance } from "@plane/shared-state"; import { LOGICAL_OPERATOR, TExternalFilter, TFilterProperty } from "@plane/types"; -import { CustomSearchSelect, getButtonStyling, setToast, TButtonVariant, TOAST_TYPE } from "@plane/ui"; +import { CustomSearchSelect, setToast, TButtonVariant, TOAST_TYPE } from "@plane/ui"; import { cn, getOperatorForPayload } from "@plane/utils"; export type TAddFilterButtonProps

= { diff --git a/apps/web/core/components/rich-filters/filters-row.tsx b/apps/web/core/components/rich-filters/filters-row.tsx index 8749bde8a..cf7cd7821 100644 --- a/apps/web/core/components/rich-filters/filters-row.tsx +++ b/apps/web/core/components/rich-filters/filters-row.tsx @@ -2,9 +2,10 @@ import React, { useCallback, useState } from "react"; import { observer } from "mobx-react"; import { Transition } from "@headlessui/react"; // plane imports +import { Button } from "@plane/propel/button"; import { IFilterInstance } from "@plane/shared-state"; import { TExternalFilter, TFilterProperty } from "@plane/types"; -import { Button, EHeaderVariant, Header } from "@plane/ui"; +import { EHeaderVariant, Header } from "@plane/ui"; // local imports import { AddFilterButton, TAddFilterButtonProps } from "./add-filters-button"; import { FilterItem } from "./filter-item"; diff --git a/apps/web/core/components/settings/header.tsx b/apps/web/core/components/settings/header.tsx index 29f2cd404..4f2e2128d 100644 --- a/apps/web/core/components/settings/header.tsx +++ b/apps/web/core/components/settings/header.tsx @@ -6,7 +6,7 @@ import { useTheme } from "next-themes"; import { ChevronLeftIcon } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { getButtonStyling } from "@plane/ui/src/button"; +import { getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/core/components/settings/heading.tsx b/apps/web/core/components/settings/heading.tsx index b9b332c7a..9ab0315f9 100644 --- a/apps/web/core/components/settings/heading.tsx +++ b/apps/web/core/components/settings/heading.tsx @@ -1,4 +1,5 @@ -import { Button, cn } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { cn } from "@plane/ui"; type Props = { title: string | React.ReactNode; diff --git a/apps/web/core/components/views/filters/order-by.tsx b/apps/web/core/components/views/filters/order-by.tsx index 399bf56d1..f0cb6eff0 100644 --- a/apps/web/core/components/views/filters/order-by.tsx +++ b/apps/web/core/components/views/filters/order-by.tsx @@ -4,9 +4,10 @@ import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "luci // types import { VIEW_SORT_BY_OPTIONS, VIEW_SORTING_KEY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { getButtonStyling } from "@plane/propel/button"; import { TViewFiltersSortBy, TViewFiltersSortKey } from "@plane/types"; // ui -import { CustomMenu, getButtonStyling } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; // constants type Props = { diff --git a/apps/web/core/components/views/form.tsx b/apps/web/core/components/views/form.tsx index afda65cd2..7ce906a30 100644 --- a/apps/web/core/components/views/form.tsx +++ b/apps/web/core/components/views/form.tsx @@ -7,6 +7,7 @@ import { Layers } from "lucide-react"; // plane imports import { ETabIndices, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EmojiPicker, EmojiIconPickerTypes } from "@plane/propel/emoji-icon-picker"; import { EViewAccess, @@ -17,7 +18,7 @@ import { EIssuesStoreType, IIssueFilters, } from "@plane/types"; -import { Button, Input, TextArea } from "@plane/ui"; +import { Input, TextArea } from "@plane/ui"; import { getComputedDisplayFilters, getComputedDisplayProperties, getTabIndex } from "@plane/utils"; // components import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/web-hooks/empty-state.tsx b/apps/web/core/components/web-hooks/empty-state.tsx index 0d640873e..88ab56001 100644 --- a/apps/web/core/components/web-hooks/empty-state.tsx +++ b/apps/web/core/components/web-hooks/empty-state.tsx @@ -3,7 +3,7 @@ import React from "react"; import Image from "next/image"; // ui -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // assets import EmptyWebhook from "@/public/empty-state/web-hook.svg"; 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 8201804a1..226b241f6 100644 --- a/apps/web/core/components/web-hooks/form/delete-section.tsx +++ b/apps/web/core/components/web-hooks/form/delete-section.tsx @@ -3,7 +3,7 @@ import { ChevronDown, ChevronUp } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; import { WORKSPACE_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; type Props = { openDeleteModal: () => void; diff --git a/apps/web/core/components/web-hooks/form/form.tsx b/apps/web/core/components/web-hooks/form/form.tsx index ad2265cbf..ae29d910c 100644 --- a/apps/web/core/components/web-hooks/form/form.tsx +++ b/apps/web/core/components/web-hooks/form/form.tsx @@ -5,9 +5,9 @@ import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { WORKSPACE_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IWebhook, TWebhookEventTypes } from "@plane/types"; // hooks -import { Button } from "@plane/ui"; import { WebhookIndividualEventOptions, WebhookInput, 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 7f0dffba2..7000e82ed 100644 --- a/apps/web/core/components/web-hooks/form/secret-key.tsx +++ b/apps/web/core/components/web-hooks/form/secret-key.tsx @@ -7,10 +7,11 @@ import { useParams } from "next/navigation"; // icons import { Copy, Eye, EyeOff, RefreshCw } from "lucide-react"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { IWebhook } from "@plane/types"; // ui -import { Button, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { csvDownload, copyTextToClipboard } from "@plane/utils"; // helpers // hooks 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 66dc2c9e5..66a916b16 100644 --- a/apps/web/core/components/web-hooks/generated-hook-details.tsx +++ b/apps/web/core/components/web-hooks/generated-hook-details.tsx @@ -3,8 +3,8 @@ // components // ui import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IWebhook } from "@plane/types"; -import { Button } from "@plane/ui"; // types import { WebhookSecretKey } from "./form"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx index 24d7d09c6..f3da6b40e 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx @@ -7,7 +7,8 @@ import { X } from "lucide-react"; import { Transition, Dialog } from "@headlessui/react"; // plane imports import { allTimeIn30MinutesInterval12HoursFormat } from "@plane/constants"; -import { Button, CustomSelect } from "@plane/ui"; +import { Button } from "@plane/propel/button"; +import { CustomSelect } from "@plane/ui"; // components import { getDate } from "@plane/utils"; import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx b/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx index 6006bf54c..2a4d30275 100644 --- a/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx +++ b/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx @@ -4,7 +4,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { AlertTriangle } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; import { useUser } from "@/hooks/store/user"; import { Props } from "./confirm-workspace-member-remove"; diff --git a/apps/web/core/components/workspace/billing/comparison/base.tsx b/apps/web/core/components/workspace/billing/comparison/base.tsx index d653b14af..eda42d13d 100644 --- a/apps/web/core/components/workspace/billing/comparison/base.tsx +++ b/apps/web/core/components/workspace/billing/comparison/base.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; import { ArrowDown, ArrowUp } from "lucide-react"; // plane imports -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; import { cn } from "@plane/utils"; // constants import { ComingSoonBadge, PLANE_PLANS, PLANS_LIST, TPlanePlans } from "@/constants/plans"; 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 201a02921..bf1dc3d0d 100644 --- a/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx +++ b/apps/web/core/components/workspace/confirm-workspace-member-remove.tsx @@ -6,7 +6,7 @@ import { AlertTriangle } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // ui import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; // hooks import { useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/workspace/create-workspace-form.tsx b/apps/web/core/components/workspace/create-workspace-form.tsx index a36d8cc88..3aafd5cc1 100644 --- a/apps/web/core/components/workspace/create-workspace-form.tsx +++ b/apps/web/core/components/workspace/create-workspace-form.tsx @@ -12,9 +12,10 @@ import { import { useTranslation } from "@plane/i18n"; // constants // types +import { Button } from "@plane/propel/button"; import { IWorkspace } from "@plane/types"; // ui -import { Button, CustomSelect, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { CustomSelect, Input, TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/core/components/workspace/delete-workspace-form.tsx b/apps/web/core/components/workspace/delete-workspace-form.tsx index 5dd64711c..1d69dd707 100644 --- a/apps/web/core/components/workspace/delete-workspace-form.tsx +++ b/apps/web/core/components/workspace/delete-workspace-form.tsx @@ -7,9 +7,10 @@ import { AlertTriangle } from "lucide-react"; // types import { WORKSPACE_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import type { IWorkspace } from "@plane/types"; // ui -import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { Input, TOAST_TYPE, setToast } from "@plane/ui"; // constants // hooks import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace/invite-modal/actions.tsx b/apps/web/core/components/workspace/invite-modal/actions.tsx index e6c535282..13330aa67 100644 --- a/apps/web/core/components/workspace/invite-modal/actions.tsx +++ b/apps/web/core/components/workspace/invite-modal/actions.tsx @@ -2,7 +2,7 @@ import { observer } from "mobx-react"; import { Plus } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { Button } from "@plane/ui"; +import { Button } from "@plane/propel/button"; import { cn } from "@plane/utils"; type TInvitationModalActionsProps = { diff --git a/apps/web/core/components/workspace/settings/workspace-details.tsx b/apps/web/core/components/workspace/settings/workspace-details.tsx index 8073601b0..3a4c2f459 100644 --- a/apps/web/core/components/workspace/settings/workspace-details.tsx +++ b/apps/web/core/components/workspace/settings/workspace-details.tsx @@ -13,8 +13,9 @@ import { WORKSPACE_TRACKER_ELEMENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { IWorkspace } from "@plane/types"; -import { Button, CustomSelect, Input, TOAST_TYPE, setToast } from "@plane/ui"; +import { CustomSelect, Input, TOAST_TYPE, setToast } from "@plane/ui"; import { copyUrlToClipboard, getFileURL } from "@plane/utils"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; diff --git a/apps/web/core/components/workspace/views/form.tsx b/apps/web/core/components/workspace/views/form.tsx index 202e1e508..9e79404dc 100644 --- a/apps/web/core/components/workspace/views/form.tsx +++ b/apps/web/core/components/workspace/views/form.tsx @@ -5,6 +5,7 @@ import { Controller, useForm } from "react-hook-form"; // plane imports import { ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { Button } from "@plane/propel/button"; import { EViewAccess, IIssueDisplayFilterOptions, @@ -14,7 +15,7 @@ import { EIssuesStoreType, IIssueFilters, } from "@plane/types"; -import { Button, Input, TextArea } from "@plane/ui"; +import { Input, TextArea } from "@plane/ui"; import { getComputedDisplayFilters, getComputedDisplayProperties } from "@plane/utils"; // components import { DisplayFiltersSelection, FiltersDropdown } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx index dfe7748a4..424bc451c 100644 --- a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx +++ b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx @@ -11,9 +11,10 @@ import useSWRImmutable from "swr/immutable"; // ui import { LogOut } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; +import { Button, getButtonStyling } from "@plane/propel/button"; import { PlaneLogo } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { Button, getButtonStyling, setToast, TOAST_TYPE } from "@plane/ui"; +import { setToast, TOAST_TYPE } from "@plane/ui"; // components import { cn } from "@plane/utils"; import { LogoSpinner } from "@/components/common/logo-spinner"; diff --git a/packages/propel/src/button/button.stories.tsx b/packages/propel/src/button/button.stories.tsx index 4f0170992..129cdf4f7 100644 --- a/packages/propel/src/button/button.stories.tsx +++ b/packages/propel/src/button/button.stories.tsx @@ -1,5 +1,22 @@ import type { Meta, StoryObj } from "@storybook/react-vite"; -import { Button, EButtonVariant, EButtonSize } from "./button"; +import { Button } from "./button"; +import type { TButtonVariant, TButtonSizes } from "./helper"; + +const buttonVariants: TButtonVariant[] = [ + "primary", + "accent-primary", + "outline-primary", + "neutral-primary", + "link-primary", + "danger", + "accent-danger", + "outline-danger", + "link-danger", + "tertiary-danger", + "link-neutral", +]; + +const buttonSizes: TButtonSizes[] = ["sm", "md", "lg", "xl"]; const meta: Meta = { title: "Components/Button", @@ -11,11 +28,17 @@ const meta: Meta = { argTypes: { variant: { control: "select", - options: Object.values(EButtonVariant), + options: buttonVariants, }, size: { control: "select", - options: Object.values(EButtonSize), + options: buttonSizes, + }, + loading: { + control: "boolean", + }, + disabled: { + control: "boolean", }, }, }; @@ -31,60 +54,116 @@ export const Default: Story = { export const Primary: Story = { args: { - variant: EButtonVariant.PRIMARY, + variant: "primary", children: "Primary Button", }, }; -export const Secondary: Story = { +export const AccentPrimary: Story = { args: { - variant: EButtonVariant.SECONDARY, - children: "Secondary Button", + variant: "accent-primary", + children: "Accent Primary Button", }, }; -export const Outline: Story = { +export const OutlinePrimary: Story = { args: { - variant: EButtonVariant.OUTLINE, - children: "Outline Button", + variant: "outline-primary", + children: "Outline Primary Button", }, }; -export const Ghost: Story = { +export const NeutralPrimary: Story = { args: { - variant: EButtonVariant.GHOST, - children: "Ghost Button", + variant: "neutral-primary", + children: "Neutral Primary Button", }, }; -export const Destructive: Story = { +export const LinkPrimary: Story = { args: { - variant: EButtonVariant.DESTRUCTIVE, - children: "Destructive Button", + variant: "link-primary", + children: "Link Primary Button", + }, +}; + +export const Danger: Story = { + args: { + variant: "danger", + children: "Danger Button", + }, +}; + +export const AccentDanger: Story = { + args: { + variant: "accent-danger", + children: "Accent Danger Button", + }, +}; + +export const OutlineDanger: Story = { + args: { + variant: "outline-danger", + children: "Outline Danger Button", + }, +}; + +export const LinkDanger: Story = { + args: { + variant: "link-danger", + children: "Link Danger Button", + }, +}; + +export const TertiaryDanger: Story = { + args: { + variant: "tertiary-danger", + children: "Tertiary Danger Button", + }, +}; + +export const LinkNeutral: Story = { + args: { + variant: "link-neutral", + children: "Link Neutral Button", }, }; export const Small: Story = { args: { - size: EButtonSize.SM, + size: "sm", children: "Small Button", }, }; export const Medium: Story = { args: { - size: EButtonSize.MD, + size: "md", children: "Medium Button", }, }; export const Large: Story = { args: { - size: EButtonSize.LG, + size: "lg", children: "Large Button", }, }; +export const ExtraLarge: Story = { + args: { + size: "xl", + children: "Extra Large Button", + }, +}; + +export const Loading: Story = { + args: { + loading: true, + children: "Loading Button", + }, +}; + export const Disabled: Story = { args: { disabled: true, @@ -92,15 +171,74 @@ export const Disabled: Story = { }, }; +export const WithPrependIcon: Story = { + args: { + prependIcon: ( + + + + ), + children: "With Prepend Icon", + }, +}; + +export const WithAppendIcon: Story = { + args: { + appendIcon: ( + + + + ), + children: "With Append Icon", + }, +}; + export const AllVariants: Story = { render: () => (

-
- - - - - +
+

Primary Variants

+
+ + + + + +
+
+
+

Danger Variants

+
+ + + + + +
+
+
+

Other Variants

+
+ +
), @@ -110,9 +248,25 @@ export const AllSizes: Story = { render: () => (
- - - + + + + +
+
+ ), +}; + +export const AllStates: Story = { + render: () => ( +
+
+

Button States

+
+ + + +
), diff --git a/packages/propel/src/button/button.tsx b/packages/propel/src/button/button.tsx index 995b5d3da..4ade94817 100644 --- a/packages/propel/src/button/button.tsx +++ b/packages/propel/src/button/button.tsx @@ -1,73 +1,44 @@ import * as React from "react"; import { cn } from "../utils"; - -export enum EButtonVariant { - PRIMARY = "primary", - SECONDARY = "secondary", - OUTLINE = "outline", - GHOST = "ghost", - DESTRUCTIVE = "destructive", -} - -export enum EButtonSize { - SM = "sm", - MD = "md", - LG = "lg", -} - -export type TButtonVariant = - | EButtonVariant.PRIMARY - | EButtonVariant.SECONDARY - | EButtonVariant.OUTLINE - | EButtonVariant.GHOST - | EButtonVariant.DESTRUCTIVE; -export type TButtonSize = EButtonSize.SM | EButtonSize.MD | EButtonSize.LG; +import { getIconStyling, getButtonStyling, TButtonVariant, TButtonSizes } from "./helper"; export interface ButtonProps extends React.ButtonHTMLAttributes { variant?: TButtonVariant; - size?: TButtonSize; + size?: TButtonSizes; className?: string; + loading?: boolean; + disabled?: boolean; + appendIcon?: any; + prependIcon?: any; children: React.ReactNode; } -const buttonVariants = { - [EButtonVariant.PRIMARY]: "bg-custom-primary-100 text-white hover:bg-custom-primary-200 focus:bg-custom-primary-200", - [EButtonVariant.SECONDARY]: - "bg-custom-background-100 text-custom-text-200 border border-custom-border-200 hover:bg-custom-background-90 focus:bg-custom-background-90", - [EButtonVariant.OUTLINE]: - "border border-custom-primary-100 text-custom-primary-100 bg-transparent hover:bg-custom-primary-100/10 focus:bg-custom-primary-100/20", - [EButtonVariant.GHOST]: "text-custom-text-200 hover:bg-custom-background-90 focus:bg-custom-background-90", - [EButtonVariant.DESTRUCTIVE]: "bg-red-500 text-white hover:bg-red-600 focus:bg-red-600", -}; +const Button = React.forwardRef((props, ref) => { + const { + variant = "primary", + size = "md", + className = "", + type = "button", + loading = false, + disabled = false, + prependIcon = null, + appendIcon = null, + children, + ...rest + } = props; -const buttonSizes = { - [EButtonSize.SM]: "px-3 py-1.5 text-xs font-medium", - [EButtonSize.MD]: "px-4 py-2 text-sm font-medium", - [EButtonSize.LG]: "px-6 py-2.5 text-base font-medium", -}; + const buttonStyle = getButtonStyling(variant, size, disabled || loading); + const buttonIconStyle = getIconStyling(size); -const Button = React.forwardRef( - ({ variant = EButtonVariant.PRIMARY, size = EButtonSize.MD, className, children, ...props }, ref) => ( - - ) -); + ); +}); -Button.displayName = "Button"; +Button.displayName = "plane-ui-button"; export { Button }; diff --git a/packages/propel/src/button/helper.tsx b/packages/propel/src/button/helper.tsx new file mode 100644 index 000000000..4a823aad7 --- /dev/null +++ b/packages/propel/src/button/helper.tsx @@ -0,0 +1,126 @@ +export type TButtonVariant = + | "primary" + | "accent-primary" + | "outline-primary" + | "neutral-primary" + | "link-primary" + | "danger" + | "accent-danger" + | "outline-danger" + | "link-danger" + | "tertiary-danger" + | "link-neutral"; + +export type TButtonSizes = "sm" | "md" | "lg" | "xl"; + +export interface IButtonStyling { + [key: string]: { + default: string; + hover: string; + pressed: string; + disabled: string; + }; +} + +enum buttonSizeStyling { + sm = `px-3 py-1.5 font-medium text-xs rounded flex items-center gap-1.5 whitespace-nowrap transition-all justify-center`, + md = `px-4 py-1.5 font-medium text-sm rounded flex items-center gap-1.5 whitespace-nowrap transition-all justify-center`, + lg = `px-5 py-2 font-medium text-sm rounded flex items-center gap-1.5 whitespace-nowrap transition-all justify-center`, + xl = `px-5 py-3.5 font-medium text-sm rounded flex items-center gap-1.5 whitespace-nowrap transition-all justify-center`, +} + +enum buttonIconStyling { + sm = "h-3 w-3 flex justify-center items-center overflow-hidden my-0.5 flex-shrink-0", + md = "h-3.5 w-3.5 flex justify-center items-center overflow-hidden my-0.5 flex-shrink-0", + lg = "h-4 w-4 flex justify-center items-center overflow-hidden my-0.5 flex-shrink-0", + xl = "h-4 w-4 flex justify-center items-center overflow-hidden my-0.5 flex-shrink-0 ", +} + +export const buttonStyling: IButtonStyling = { + primary: { + default: `text-white bg-custom-primary-100`, + hover: `hover:bg-custom-primary-200`, + pressed: `focus:text-custom-brand-40 focus:bg-custom-primary-200`, + disabled: `cursor-not-allowed !bg-custom-primary-60 hover:bg-custom-primary-60`, + }, + "accent-primary": { + default: `bg-custom-primary-100/20 text-custom-primary-100`, + hover: `hover:bg-custom-primary-100/10 hover:text-custom-primary-200`, + pressed: `focus:bg-custom-primary-100/10`, + disabled: `cursor-not-allowed !text-custom-primary-60`, + }, + "outline-primary": { + default: `text-custom-primary-100 bg-transparent border border-custom-primary-100`, + hover: `hover:bg-custom-primary-100/20`, + pressed: `focus:text-custom-primary-100 focus:bg-custom-primary-100/30`, + disabled: `cursor-not-allowed !text-custom-primary-60 !border-custom-primary-60 `, + }, + "neutral-primary": { + default: `text-custom-text-200 bg-custom-background-100 border border-custom-border-200`, + hover: `hover:bg-custom-background-90`, + pressed: `focus:text-custom-text-300 focus:bg-custom-background-90`, + disabled: `cursor-not-allowed !text-custom-text-400`, + }, + "link-primary": { + default: `text-custom-primary-100 bg-custom-background-100`, + hover: `hover:text-custom-primary-200`, + pressed: `focus:text-custom-primary-80 `, + disabled: `cursor-not-allowed !text-custom-primary-60`, + }, + + danger: { + default: `text-white bg-red-500`, + hover: ` hover:bg-red-600`, + pressed: `focus:text-red-200 focus:bg-red-600`, + disabled: `cursor-not-allowed !bg-red-300`, + }, + "accent-danger": { + default: `text-red-500 bg-red-50`, + hover: `hover:text-red-600 hover:bg-red-100`, + pressed: `focus:text-red-500 focus:bg-red-100`, + disabled: `cursor-not-allowed !text-red-300`, + }, + "outline-danger": { + default: `text-red-500 bg-transparent border border-red-500`, + hover: `hover:text-red-400 hover:border-red-400`, + pressed: `focus:text-red-400 focus:border-red-400`, + disabled: `cursor-not-allowed !text-red-300 !border-red-300`, + }, + "link-danger": { + default: `text-red-500 bg-custom-background-100`, + hover: `hover:text-red-400`, + pressed: `focus:text-red-400`, + disabled: `cursor-not-allowed !text-red-300`, + }, + "tertiary-danger": { + default: `text-red-500 bg-custom-background-100 border border-red-200`, + hover: `hover:bg-red-50 hover:border-red-300`, + pressed: `focus:text-red-400`, + disabled: `cursor-not-allowed !text-red-300`, + }, + "link-neutral": { + default: `text-custom-text-300`, + hover: `hover:text-custom-text-200`, + pressed: `focus:text-custom-text-100`, + disabled: `cursor-not-allowed !text-custom-text-400`, + }, +}; + +export const getButtonStyling = (variant: TButtonVariant, size: TButtonSizes, disabled: boolean = false): string => { + let tempVariant: string = ``; + const currentVariant = buttonStyling[variant]; + + tempVariant = `${currentVariant.default} ${disabled ? currentVariant.disabled : currentVariant.hover} ${ + currentVariant.pressed + }`; + + let tempSize: string = ``; + if (size) tempSize = buttonSizeStyling[size]; + return `${tempVariant} ${tempSize}`; +}; + +export const getIconStyling = (size: TButtonSizes): string => { + let icon: string = ``; + if (size) icon = buttonIconStyling[size]; + return icon; +}; diff --git a/packages/propel/src/button/index.ts b/packages/propel/src/button/index.ts index 8827201b5..9596f2440 100644 --- a/packages/propel/src/button/index.ts +++ b/packages/propel/src/button/index.ts @@ -1,2 +1,3 @@ export { Button } from "./button"; +export * from "./helper"; export type { ButtonProps } from "./button";