From aa8d63543ef44e2d04d9523071c0f648eb91ed9e Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 3 Sep 2025 20:45:22 +0530 Subject: [PATCH 1/8] chore: move icons from ui package to propel package --- packages/propel/src/icons/activity-icon.tsx | 30 +++++++ packages/propel/src/icons/ai-icon.tsx | 30 +++++++ packages/propel/src/icons/archive-icon.tsx | 32 ++++++++ packages/propel/src/icons/at-risk-icon.tsx | 21 +++++ packages/propel/src/icons/bar-icon.tsx | 20 +++++ packages/propel/src/icons/blocked-icon.tsx | 26 +++++++ packages/propel/src/icons/blocker-icon.tsx | 26 +++++++ .../propel/src/icons/brand/accenture-logo.tsx | 28 +++++++ .../propel/src/icons/brand/dolby-logo.tsx | 40 ++++++++++ packages/propel/src/icons/brand/index.ts | 7 ++ .../propel/src/icons/brand/plane-lockup.tsx | 48 ++++++++++++ .../propel/src/icons/brand/plane-logo.tsx | 19 +++++ .../propel/src/icons/brand/plane-wordmark.tsx | 37 +++++++++ packages/propel/src/icons/brand/sony-logo.tsx | 19 +++++ .../propel/src/icons/brand/zerodha-logo.tsx | 30 +++++++ .../propel/src/icons/calendar-after-icon.tsx | 19 +++++ .../propel/src/icons/calendar-before-icon.tsx | 30 +++++++ .../propel/src/icons/center-panel-icon.tsx | 30 +++++++ .../propel/src/icons/comment-fill-icon.tsx | 14 ++++ packages/propel/src/icons/create-icon.tsx | 22 ++++++ .../src/icons/cycle/circle-dot-full-icon.tsx | 10 +++ .../propel/src/icons/cycle/contrast-icon.tsx | 26 +++++++ .../src/icons/cycle/cycle-group-icon.tsx | 33 ++++++++ .../src/icons/cycle/double-circle-icon.tsx | 17 ++++ packages/propel/src/icons/cycle/helper.tsx | 27 +++++++ packages/propel/src/icons/cycle/index.ts | 6 ++ packages/propel/src/icons/dice-icon.tsx | 44 +++++++++++ packages/propel/src/icons/discord-icon.tsx | 32 ++++++++ .../propel/src/icons/display-properties.tsx | 14 ++++ packages/propel/src/icons/done-icon.tsx | 22 ++++++ packages/propel/src/icons/dropdown-icon.tsx | 15 ++++ packages/propel/src/icons/epic-icon.tsx | 28 +++++++ .../propel/src/icons/favorite-folder-icon.tsx | 30 +++++++ .../src/icons/full-screen-panel-icon.tsx | 26 +++++++ packages/propel/src/icons/github-icon.tsx | 28 +++++++ packages/propel/src/icons/gitlab-icon.tsx | 28 +++++++ .../propel/src/icons/in-progress-icon.tsx | 17 ++++ packages/propel/src/icons/index.ts | 58 ++++++++++++++ packages/propel/src/icons/info-fill-icon.tsx | 14 ++++ packages/propel/src/icons/info-icon.tsx | 21 +++++ packages/propel/src/icons/intake.tsx | 22 ++++++ packages/propel/src/icons/layer-stack.tsx | 30 +++++++ packages/propel/src/icons/layers-icon.tsx | 37 +++++++++ packages/propel/src/icons/lead-icon.tsx | 26 +++++++ packages/propel/src/icons/module/backlog.tsx | 39 ++++++++++ .../propel/src/icons/module/cancelled.tsx | 26 +++++++ .../propel/src/icons/module/completed.tsx | 19 +++++ .../propel/src/icons/module/in-progress.tsx | 43 ++++++++++ packages/propel/src/icons/module/index.ts | 7 ++ .../src/icons/module/module-status-icon.tsx | 27 +++++++ packages/propel/src/icons/module/paused.tsx | 26 +++++++ packages/propel/src/icons/module/planned.tsx | 19 +++++ packages/propel/src/icons/monospace-icon.tsx | 16 ++++ packages/propel/src/icons/multiple-sticky.tsx | 28 +++++++ packages/propel/src/icons/off-track-icon.tsx | 21 +++++ packages/propel/src/icons/on-track-icon.tsx | 42 ++++++++++ packages/propel/src/icons/overview-icon.tsx | 14 ++++ packages/propel/src/icons/pending-icon.tsx | 27 +++++++ .../propel/src/icons/photo-filter-icon.tsx | 32 ++++++++ packages/propel/src/icons/pi-chat.tsx | 21 +++++ packages/propel/src/icons/plane-icon.tsx | 35 +++++++++ packages/propel/src/icons/planned-icon.tsx | 40 ++++++++++ packages/propel/src/icons/priority-icon.tsx | 78 +++++++++++++++++++ packages/propel/src/icons/related-icon.tsx | 26 +++++++ packages/propel/src/icons/sans-serif-icon.tsx | 16 ++++ packages/propel/src/icons/serif-icon.tsx | 16 ++++ packages/propel/src/icons/side-panel-icon.tsx | 26 +++++++ .../src/icons/state/backlog-group-icon.tsx | 27 +++++++ .../src/icons/state/cancelled-group-icon.tsx | 27 +++++++ .../src/icons/state/completed-group-icon.tsx | 27 +++++++ .../propel/src/icons/state/dashed-circle.tsx | 40 ++++++++++ packages/propel/src/icons/state/helper.tsx | 31 ++++++++ packages/propel/src/icons/state/index.ts | 6 ++ .../src/icons/state/progress-circle.tsx | 32 ++++++++ .../src/icons/state/started-group-icon.tsx | 65 ++++++++++++++++ .../src/icons/state/state-group-icon.tsx | 37 +++++++++ .../src/icons/state/unstarted-group-icon.tsx | 51 ++++++++++++ .../propel/src/icons/sticky-note-icon.tsx | 36 +++++++++ packages/propel/src/icons/teams.tsx | 19 +++++ packages/propel/src/icons/transfer-icon.tsx | 9 +++ packages/propel/src/icons/tree-map-icon.tsx | 16 ++++ packages/propel/src/icons/type.ts | 4 + packages/propel/src/icons/updates-icon.tsx | 18 +++++ .../propel/src/icons/user-activity-icon.tsx | 21 +++++ packages/propel/src/icons/wiki-icon.tsx | 26 +++++++ packages/propel/src/icons/workspace-icon.tsx | 21 +++++ 86 files changed, 2296 insertions(+) create mode 100644 packages/propel/src/icons/activity-icon.tsx create mode 100644 packages/propel/src/icons/ai-icon.tsx create mode 100644 packages/propel/src/icons/archive-icon.tsx create mode 100644 packages/propel/src/icons/at-risk-icon.tsx create mode 100644 packages/propel/src/icons/bar-icon.tsx create mode 100644 packages/propel/src/icons/blocked-icon.tsx create mode 100644 packages/propel/src/icons/blocker-icon.tsx create mode 100644 packages/propel/src/icons/brand/accenture-logo.tsx create mode 100644 packages/propel/src/icons/brand/dolby-logo.tsx create mode 100644 packages/propel/src/icons/brand/index.ts create mode 100644 packages/propel/src/icons/brand/plane-lockup.tsx create mode 100644 packages/propel/src/icons/brand/plane-logo.tsx create mode 100644 packages/propel/src/icons/brand/plane-wordmark.tsx create mode 100644 packages/propel/src/icons/brand/sony-logo.tsx create mode 100644 packages/propel/src/icons/brand/zerodha-logo.tsx create mode 100644 packages/propel/src/icons/calendar-after-icon.tsx create mode 100644 packages/propel/src/icons/calendar-before-icon.tsx create mode 100644 packages/propel/src/icons/center-panel-icon.tsx create mode 100644 packages/propel/src/icons/comment-fill-icon.tsx create mode 100644 packages/propel/src/icons/create-icon.tsx create mode 100644 packages/propel/src/icons/cycle/circle-dot-full-icon.tsx create mode 100644 packages/propel/src/icons/cycle/contrast-icon.tsx create mode 100644 packages/propel/src/icons/cycle/cycle-group-icon.tsx create mode 100644 packages/propel/src/icons/cycle/double-circle-icon.tsx create mode 100644 packages/propel/src/icons/cycle/helper.tsx create mode 100644 packages/propel/src/icons/cycle/index.ts create mode 100644 packages/propel/src/icons/dice-icon.tsx create mode 100644 packages/propel/src/icons/discord-icon.tsx create mode 100644 packages/propel/src/icons/display-properties.tsx create mode 100644 packages/propel/src/icons/done-icon.tsx create mode 100644 packages/propel/src/icons/dropdown-icon.tsx create mode 100644 packages/propel/src/icons/epic-icon.tsx create mode 100644 packages/propel/src/icons/favorite-folder-icon.tsx create mode 100644 packages/propel/src/icons/full-screen-panel-icon.tsx create mode 100644 packages/propel/src/icons/github-icon.tsx create mode 100644 packages/propel/src/icons/gitlab-icon.tsx create mode 100644 packages/propel/src/icons/in-progress-icon.tsx create mode 100644 packages/propel/src/icons/index.ts create mode 100644 packages/propel/src/icons/info-fill-icon.tsx create mode 100644 packages/propel/src/icons/info-icon.tsx create mode 100644 packages/propel/src/icons/intake.tsx create mode 100644 packages/propel/src/icons/layer-stack.tsx create mode 100644 packages/propel/src/icons/layers-icon.tsx create mode 100644 packages/propel/src/icons/lead-icon.tsx create mode 100644 packages/propel/src/icons/module/backlog.tsx create mode 100644 packages/propel/src/icons/module/cancelled.tsx create mode 100644 packages/propel/src/icons/module/completed.tsx create mode 100644 packages/propel/src/icons/module/in-progress.tsx create mode 100644 packages/propel/src/icons/module/index.ts create mode 100644 packages/propel/src/icons/module/module-status-icon.tsx create mode 100644 packages/propel/src/icons/module/paused.tsx create mode 100644 packages/propel/src/icons/module/planned.tsx create mode 100644 packages/propel/src/icons/monospace-icon.tsx create mode 100644 packages/propel/src/icons/multiple-sticky.tsx create mode 100644 packages/propel/src/icons/off-track-icon.tsx create mode 100644 packages/propel/src/icons/on-track-icon.tsx create mode 100644 packages/propel/src/icons/overview-icon.tsx create mode 100644 packages/propel/src/icons/pending-icon.tsx create mode 100644 packages/propel/src/icons/photo-filter-icon.tsx create mode 100644 packages/propel/src/icons/pi-chat.tsx create mode 100644 packages/propel/src/icons/plane-icon.tsx create mode 100644 packages/propel/src/icons/planned-icon.tsx create mode 100644 packages/propel/src/icons/priority-icon.tsx create mode 100644 packages/propel/src/icons/related-icon.tsx create mode 100644 packages/propel/src/icons/sans-serif-icon.tsx create mode 100644 packages/propel/src/icons/serif-icon.tsx create mode 100644 packages/propel/src/icons/side-panel-icon.tsx create mode 100644 packages/propel/src/icons/state/backlog-group-icon.tsx create mode 100644 packages/propel/src/icons/state/cancelled-group-icon.tsx create mode 100644 packages/propel/src/icons/state/completed-group-icon.tsx create mode 100644 packages/propel/src/icons/state/dashed-circle.tsx create mode 100644 packages/propel/src/icons/state/helper.tsx create mode 100644 packages/propel/src/icons/state/index.ts create mode 100644 packages/propel/src/icons/state/progress-circle.tsx create mode 100644 packages/propel/src/icons/state/started-group-icon.tsx create mode 100644 packages/propel/src/icons/state/state-group-icon.tsx create mode 100644 packages/propel/src/icons/state/unstarted-group-icon.tsx create mode 100644 packages/propel/src/icons/sticky-note-icon.tsx create mode 100644 packages/propel/src/icons/teams.tsx create mode 100644 packages/propel/src/icons/transfer-icon.tsx create mode 100644 packages/propel/src/icons/tree-map-icon.tsx create mode 100644 packages/propel/src/icons/type.ts create mode 100644 packages/propel/src/icons/updates-icon.tsx create mode 100644 packages/propel/src/icons/user-activity-icon.tsx create mode 100644 packages/propel/src/icons/wiki-icon.tsx create mode 100644 packages/propel/src/icons/workspace-icon.tsx diff --git a/packages/propel/src/icons/activity-icon.tsx b/packages/propel/src/icons/activity-icon.tsx new file mode 100644 index 00000000000..14f3b1d421b --- /dev/null +++ b/packages/propel/src/icons/activity-icon.tsx @@ -0,0 +1,30 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const ActivityIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/ai-icon.tsx b/packages/propel/src/icons/ai-icon.tsx new file mode 100644 index 00000000000..149d9db39df --- /dev/null +++ b/packages/propel/src/icons/ai-icon.tsx @@ -0,0 +1,30 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const AiIcon: React.FC = ({ width = "16", height = "16", className, color = "currentColor" }) => ( + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/archive-icon.tsx b/packages/propel/src/icons/archive-icon.tsx new file mode 100644 index 00000000000..ae29d99f743 --- /dev/null +++ b/packages/propel/src/icons/archive-icon.tsx @@ -0,0 +1,32 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const ArchiveIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + + + +); diff --git a/packages/propel/src/icons/at-risk-icon.tsx b/packages/propel/src/icons/at-risk-icon.tsx new file mode 100644 index 00000000000..748307b3c21 --- /dev/null +++ b/packages/propel/src/icons/at-risk-icon.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const AtRiskIcon: React.FC = ({ width = "16", height = "16" }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/bar-icon.tsx b/packages/propel/src/icons/bar-icon.tsx new file mode 100644 index 00000000000..b20d5ebeaec --- /dev/null +++ b/packages/propel/src/icons/bar-icon.tsx @@ -0,0 +1,20 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const BarIcon: React.FC = ({ className = "", ...rest }) => ( + + + + + +); diff --git a/packages/propel/src/icons/blocked-icon.tsx b/packages/propel/src/icons/blocked-icon.tsx new file mode 100644 index 00000000000..18ea85f8b22 --- /dev/null +++ b/packages/propel/src/icons/blocked-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const BlockedIcon: React.FC = ({ height = "24", width = "24", className = "", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/blocker-icon.tsx b/packages/propel/src/icons/blocker-icon.tsx new file mode 100644 index 00000000000..432ef942302 --- /dev/null +++ b/packages/propel/src/icons/blocker-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const BlockerIcon: React.FC = ({ height = "24", width = "24", className = "", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/brand/accenture-logo.tsx b/packages/propel/src/icons/brand/accenture-logo.tsx new file mode 100644 index 00000000000..fa65f0124f5 --- /dev/null +++ b/packages/propel/src/icons/brand/accenture-logo.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const AccentureLogo: React.FC = ({ + width = "51", + height = "16", + className, + color = "currentColor", +}) => ( + + + + +); diff --git a/packages/propel/src/icons/brand/dolby-logo.tsx b/packages/propel/src/icons/brand/dolby-logo.tsx new file mode 100644 index 00000000000..bae0fe0c742 --- /dev/null +++ b/packages/propel/src/icons/brand/dolby-logo.tsx @@ -0,0 +1,40 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const DolbyLogo: React.FC = ({ width = "40", height = "16", className, color = "currentColor" }) => ( + + + + + + + + + +); diff --git a/packages/propel/src/icons/brand/index.ts b/packages/propel/src/icons/brand/index.ts new file mode 100644 index 00000000000..10f7c42e0d7 --- /dev/null +++ b/packages/propel/src/icons/brand/index.ts @@ -0,0 +1,7 @@ +export * from "./accenture-logo"; +export * from "./dolby-logo"; +export * from "./sony-logo"; +export * from "./zerodha-logo"; +export * from "./plane-lockup"; +export * from "./plane-logo"; +export * from "./plane-wordmark"; diff --git a/packages/propel/src/icons/brand/plane-lockup.tsx b/packages/propel/src/icons/brand/plane-lockup.tsx new file mode 100644 index 00000000000..ceb83659454 --- /dev/null +++ b/packages/propel/src/icons/brand/plane-lockup.tsx @@ -0,0 +1,48 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const PlaneLockup: React.FC = ({ + width = "253", + height = "53", + className, + color = "currentColor", +}) => ( + + + + + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/brand/plane-logo.tsx b/packages/propel/src/icons/brand/plane-logo.tsx new file mode 100644 index 00000000000..69fb95ef437 --- /dev/null +++ b/packages/propel/src/icons/brand/plane-logo.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const PlaneLogo: React.FC = ({ width = "85", height = "52", className, color = "currentColor" }) => ( + + + +); diff --git a/packages/propel/src/icons/brand/plane-wordmark.tsx b/packages/propel/src/icons/brand/plane-wordmark.tsx new file mode 100644 index 00000000000..fc31d10a648 --- /dev/null +++ b/packages/propel/src/icons/brand/plane-wordmark.tsx @@ -0,0 +1,37 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const PlaneWordmark: React.FC = ({ + width = "146", + height = "44", + className, + color = "currentColor", +}) => ( + + + + + + + +); diff --git a/packages/propel/src/icons/brand/sony-logo.tsx b/packages/propel/src/icons/brand/sony-logo.tsx new file mode 100644 index 00000000000..62e8d2b7873 --- /dev/null +++ b/packages/propel/src/icons/brand/sony-logo.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const SonyLogo: React.FC = ({ width = "44", height = "16", className, color = "currentColor" }) => ( + + + +); diff --git a/packages/propel/src/icons/brand/zerodha-logo.tsx b/packages/propel/src/icons/brand/zerodha-logo.tsx new file mode 100644 index 00000000000..21ae65bac29 --- /dev/null +++ b/packages/propel/src/icons/brand/zerodha-logo.tsx @@ -0,0 +1,30 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ZerodhaLogo: React.FC = ({ + width = "64", + height = "16", + className, + color = "currentColor", +}) => ( + + + + +); diff --git a/packages/propel/src/icons/calendar-after-icon.tsx b/packages/propel/src/icons/calendar-after-icon.tsx new file mode 100644 index 00000000000..905af07169d --- /dev/null +++ b/packages/propel/src/icons/calendar-after-icon.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const CalendarAfterIcon: React.FC = ({ className = "fill-current", ...rest }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/calendar-before-icon.tsx b/packages/propel/src/icons/calendar-before-icon.tsx new file mode 100644 index 00000000000..2e19e6f548c --- /dev/null +++ b/packages/propel/src/icons/calendar-before-icon.tsx @@ -0,0 +1,30 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const CalendarBeforeIcon: React.FC = ({ className = "fill-current", ...rest }) => ( + + + + + + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/center-panel-icon.tsx b/packages/propel/src/icons/center-panel-icon.tsx new file mode 100644 index 00000000000..4704dbf0af1 --- /dev/null +++ b/packages/propel/src/icons/center-panel-icon.tsx @@ -0,0 +1,30 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const CenterPanelIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/comment-fill-icon.tsx b/packages/propel/src/icons/comment-fill-icon.tsx new file mode 100644 index 00000000000..8825fbc7933 --- /dev/null +++ b/packages/propel/src/icons/comment-fill-icon.tsx @@ -0,0 +1,14 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const CommentFillIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + +); diff --git a/packages/propel/src/icons/create-icon.tsx b/packages/propel/src/icons/create-icon.tsx new file mode 100644 index 00000000000..34241f553a1 --- /dev/null +++ b/packages/propel/src/icons/create-icon.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const CreateIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + +); diff --git a/packages/propel/src/icons/cycle/circle-dot-full-icon.tsx b/packages/propel/src/icons/cycle/circle-dot-full-icon.tsx new file mode 100644 index 00000000000..d6cf059ef53 --- /dev/null +++ b/packages/propel/src/icons/cycle/circle-dot-full-icon.tsx @@ -0,0 +1,10 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const CircleDotFullIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/cycle/contrast-icon.tsx b/packages/propel/src/icons/cycle/contrast-icon.tsx new file mode 100644 index 00000000000..86ac3619cd0 --- /dev/null +++ b/packages/propel/src/icons/cycle/contrast-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ContrastIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/cycle/cycle-group-icon.tsx b/packages/propel/src/icons/cycle/cycle-group-icon.tsx new file mode 100644 index 00000000000..00c52f6118f --- /dev/null +++ b/packages/propel/src/icons/cycle/cycle-group-icon.tsx @@ -0,0 +1,33 @@ +import { CircleDotDashed, Circle } from "lucide-react"; +import * as React from "react"; + +import { CircleDotFullIcon } from "./circle-dot-full-icon"; +import { ContrastIcon } from "./contrast-icon"; + +import { CYCLE_GROUP_COLORS, ICycleGroupIcon } from "./helper"; + +const iconComponents = { + current: ContrastIcon, + upcoming: CircleDotDashed, + completed: CircleDotFullIcon, + draft: Circle, +}; + +export const CycleGroupIcon: React.FC = ({ + className = "", + color, + cycleGroup, + height = "12px", + width = "12px", +}) => { + const CycleIconComponent = iconComponents[cycleGroup] || ContrastIcon; + + return ( + + ); +}; diff --git a/packages/propel/src/icons/cycle/double-circle-icon.tsx b/packages/propel/src/icons/cycle/double-circle-icon.tsx new file mode 100644 index 00000000000..37d990e64e2 --- /dev/null +++ b/packages/propel/src/icons/cycle/double-circle-icon.tsx @@ -0,0 +1,17 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const DoubleCircleIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/cycle/helper.tsx b/packages/propel/src/icons/cycle/helper.tsx new file mode 100644 index 00000000000..c53069bc77e --- /dev/null +++ b/packages/propel/src/icons/cycle/helper.tsx @@ -0,0 +1,27 @@ +export interface ICycleGroupIcon { + className?: string; + color?: string; + cycleGroup: TCycleGroups; + height?: string; + width?: string; +} + +export type TCycleGroups = "current" | "upcoming" | "completed" | "draft"; + +export const CYCLE_GROUP_COLORS: { + [key in TCycleGroups]: string; +} = { + current: "#F59E0B", + upcoming: "#3F76FF", + completed: "#16A34A", + draft: "#525252", +}; + +export const CYCLE_GROUP_I18N_LABELS: { + [key in TCycleGroups]: string; +} = { + current: "current", + upcoming: "common.upcoming", + completed: "common.completed", + draft: "project_cycles.status.draft", +}; diff --git a/packages/propel/src/icons/cycle/index.ts b/packages/propel/src/icons/cycle/index.ts new file mode 100644 index 00000000000..c3a791a2ba3 --- /dev/null +++ b/packages/propel/src/icons/cycle/index.ts @@ -0,0 +1,6 @@ +export * from "./double-circle-icon"; +export * from "./circle-dot-full-icon"; +export * from "./contrast-icon"; +export * from "./circle-dot-full-icon"; +export * from "./cycle-group-icon"; +export * from "./helper"; diff --git a/packages/propel/src/icons/dice-icon.tsx b/packages/propel/src/icons/dice-icon.tsx new file mode 100644 index 00000000000..809d6614543 --- /dev/null +++ b/packages/propel/src/icons/dice-icon.tsx @@ -0,0 +1,44 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const DiceIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + + + +); diff --git a/packages/propel/src/icons/discord-icon.tsx b/packages/propel/src/icons/discord-icon.tsx new file mode 100644 index 00000000000..89f441045c0 --- /dev/null +++ b/packages/propel/src/icons/discord-icon.tsx @@ -0,0 +1,32 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const DiscordIcon: React.FC = ({ width = "24", height = "24", className }) => ( + + + + + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/display-properties.tsx b/packages/propel/src/icons/display-properties.tsx new file mode 100644 index 00000000000..cddc25a19fa --- /dev/null +++ b/packages/propel/src/icons/display-properties.tsx @@ -0,0 +1,14 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const DisplayPropertiesIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + +); diff --git a/packages/propel/src/icons/done-icon.tsx b/packages/propel/src/icons/done-icon.tsx new file mode 100644 index 00000000000..82783ea1d14 --- /dev/null +++ b/packages/propel/src/icons/done-icon.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const DoneState: React.FC = ({ width = "10", height = "11", className, color }) => ( + + + + +); diff --git a/packages/propel/src/icons/dropdown-icon.tsx b/packages/propel/src/icons/dropdown-icon.tsx new file mode 100644 index 00000000000..ed375d117ce --- /dev/null +++ b/packages/propel/src/icons/dropdown-icon.tsx @@ -0,0 +1,15 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const DropdownIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + +); diff --git a/packages/propel/src/icons/epic-icon.tsx b/packages/propel/src/icons/epic-icon.tsx new file mode 100644 index 00000000000..c78a98261ba --- /dev/null +++ b/packages/propel/src/icons/epic-icon.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; + +export type Props = { + className?: string; + width?: string | number; + height?: string | number; + color?: string; +}; + +export const EpicIcon: React.FC = ({ width = "16", height = "16", className }) => ( + + + + +); diff --git a/packages/propel/src/icons/favorite-folder-icon.tsx b/packages/propel/src/icons/favorite-folder-icon.tsx new file mode 100644 index 00000000000..2f464e815b7 --- /dev/null +++ b/packages/propel/src/icons/favorite-folder-icon.tsx @@ -0,0 +1,30 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const FavoriteFolderIcon: React.FC = ({ className = "text-current", color = "#a3a3a3", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/full-screen-panel-icon.tsx b/packages/propel/src/icons/full-screen-panel-icon.tsx new file mode 100644 index 00000000000..7b4e9f4c163 --- /dev/null +++ b/packages/propel/src/icons/full-screen-panel-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const FullScreenPanelIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/github-icon.tsx b/packages/propel/src/icons/github-icon.tsx new file mode 100644 index 00000000000..2072948849c --- /dev/null +++ b/packages/propel/src/icons/github-icon.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const GithubIcon: React.FC = ({ width = "24", height = "24", className, color }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/gitlab-icon.tsx b/packages/propel/src/icons/gitlab-icon.tsx new file mode 100644 index 00000000000..958a68641db --- /dev/null +++ b/packages/propel/src/icons/gitlab-icon.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const GitlabIcon: React.FC = ({ width = "24", height = "24", className, color }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/in-progress-icon.tsx b/packages/propel/src/icons/in-progress-icon.tsx new file mode 100644 index 00000000000..f85b7b26efb --- /dev/null +++ b/packages/propel/src/icons/in-progress-icon.tsx @@ -0,0 +1,17 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const InProgressState: React.FC = ({ width = "10", height = "11", className, color }) => ( + + + + +); diff --git a/packages/propel/src/icons/index.ts b/packages/propel/src/icons/index.ts new file mode 100644 index 00000000000..f673cf730b6 --- /dev/null +++ b/packages/propel/src/icons/index.ts @@ -0,0 +1,58 @@ +export type { ISvgIcons } from "./type"; +export * from "./cycle"; +export * from "./module"; +export * from "./state"; +export * from "./archive-icon"; +export * from "./blocked-icon"; +export * from "./blocker-icon"; +export * from "./calendar-after-icon"; +export * from "./calendar-before-icon"; +export * from "./center-panel-icon"; +export * from "./comment-fill-icon"; +export * from "./create-icon"; +export * from "./dice-icon"; +export * from "./discord-icon"; +export * from "./epic-icon"; +export * from "./full-screen-panel-icon"; +export * from "./github-icon"; +export * from "./gitlab-icon"; +export * from "./info-fill-icon"; +export * from "./info-icon"; +export * from "./layer-stack"; +export * from "./layers-icon"; +export * from "./monospace-icon"; +export * from "./photo-filter-icon"; +export * from "./priority-icon"; +export * from "./related-icon"; +export * from "./sans-serif-icon"; +export * from "./serif-icon"; +export * from "./side-panel-icon"; +export * from "./transfer-icon"; +export * from "./info-icon"; +export * from "./dropdown-icon"; +export * from "./intake"; +export * from "./user-activity-icon"; +export * from "./favorite-folder-icon"; +export * from "./planned-icon"; +export * from "./in-progress-icon"; +export * from "./done-icon"; +export * from "./pending-icon"; +export * from "./pi-chat"; +export * from "./workspace-icon"; +export * from "./teams"; +export * from "./lead-icon"; +export * from "./activity-icon"; +export * from "./updates-icon"; +export * from "./overview-icon"; +export * from "./on-track-icon"; +export * from "./off-track-icon"; +export * from "./at-risk-icon"; +export * from "./multiple-sticky"; +export * from "./sticky-note-icon"; +export * from "./bar-icon"; +export * from "./tree-map-icon"; +export * from "./display-properties"; +export * from "./ai-icon"; +export * from "./plane-icon"; +export * from "./wiki-icon"; +export * from "./brand"; diff --git a/packages/propel/src/icons/info-fill-icon.tsx b/packages/propel/src/icons/info-fill-icon.tsx new file mode 100644 index 00000000000..c7416e45d6a --- /dev/null +++ b/packages/propel/src/icons/info-fill-icon.tsx @@ -0,0 +1,14 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const InfoFillIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + +); diff --git a/packages/propel/src/icons/info-icon.tsx b/packages/propel/src/icons/info-icon.tsx new file mode 100644 index 00000000000..b71337539d4 --- /dev/null +++ b/packages/propel/src/icons/info-icon.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const InfoIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + +); diff --git a/packages/propel/src/icons/intake.tsx b/packages/propel/src/icons/intake.tsx new file mode 100644 index 00000000000..777197694d8 --- /dev/null +++ b/packages/propel/src/icons/intake.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const Intake: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + + +); diff --git a/packages/propel/src/icons/layer-stack.tsx b/packages/propel/src/icons/layer-stack.tsx new file mode 100644 index 00000000000..661eb9d0798 --- /dev/null +++ b/packages/propel/src/icons/layer-stack.tsx @@ -0,0 +1,30 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const LayerStackIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + +); diff --git a/packages/propel/src/icons/layers-icon.tsx b/packages/propel/src/icons/layers-icon.tsx new file mode 100644 index 00000000000..73f3433e163 --- /dev/null +++ b/packages/propel/src/icons/layers-icon.tsx @@ -0,0 +1,37 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const LayersIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/lead-icon.tsx b/packages/propel/src/icons/lead-icon.tsx new file mode 100644 index 00000000000..5bb9d4b819e --- /dev/null +++ b/packages/propel/src/icons/lead-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const LeadIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/module/backlog.tsx b/packages/propel/src/icons/module/backlog.tsx new file mode 100644 index 00000000000..22d87cd28b7 --- /dev/null +++ b/packages/propel/src/icons/module/backlog.tsx @@ -0,0 +1,39 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ModuleBacklogIcon: React.FC = ({ + width = "20", + height = "20", + className, + color = "#a3a3a3", +}) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/module/cancelled.tsx b/packages/propel/src/icons/module/cancelled.tsx new file mode 100644 index 00000000000..b47cc874cd5 --- /dev/null +++ b/packages/propel/src/icons/module/cancelled.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ModuleCancelledIcon: React.FC = ({ width = "20", height = "20", className }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/module/completed.tsx b/packages/propel/src/icons/module/completed.tsx new file mode 100644 index 00000000000..d6e4e0d06d9 --- /dev/null +++ b/packages/propel/src/icons/module/completed.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ModuleCompletedIcon: React.FC = ({ width = "20", height = "20", className }) => ( + + + +); diff --git a/packages/propel/src/icons/module/in-progress.tsx b/packages/propel/src/icons/module/in-progress.tsx new file mode 100644 index 00000000000..2fdcdbe6942 --- /dev/null +++ b/packages/propel/src/icons/module/in-progress.tsx @@ -0,0 +1,43 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ModuleInProgressIcon: React.FC = ({ + width = "20", + height = "20", + className, + color = "#f39e1f", +}) => ( + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/module/index.ts b/packages/propel/src/icons/module/index.ts new file mode 100644 index 00000000000..e82014b2fc7 --- /dev/null +++ b/packages/propel/src/icons/module/index.ts @@ -0,0 +1,7 @@ +export * from "./backlog"; +export * from "./cancelled"; +export * from "./completed"; +export * from "./in-progress"; +export * from "./module-status-icon"; +export * from "./paused"; +export * from "./planned"; diff --git a/packages/propel/src/icons/module/module-status-icon.tsx b/packages/propel/src/icons/module/module-status-icon.tsx new file mode 100644 index 00000000000..9b9fcddd1e9 --- /dev/null +++ b/packages/propel/src/icons/module/module-status-icon.tsx @@ -0,0 +1,27 @@ +import * as React from "react"; + +import { ModuleBacklogIcon } from "./backlog"; +import { ModuleCancelledIcon } from "./cancelled"; +import { ModuleCompletedIcon } from "./completed"; +import { ModuleInProgressIcon } from "./in-progress"; +import { ModulePausedIcon } from "./paused"; +import { ModulePlannedIcon } from "./planned"; + +export type TModuleStatus = "backlog" | "planned" | "in-progress" | "paused" | "completed" | "cancelled"; + +type Props = { + status: TModuleStatus; + className?: string; + height?: string; + width?: string; +}; + +export const ModuleStatusIcon: React.FC = ({ status, className, height = "12px", width = "12px" }) => { + if (status === "backlog") return ; + else if (status === "cancelled") return ; + else if (status === "completed") return ; + else if (status === "in-progress") + return ; + else if (status === "paused") return ; + else return ; +}; diff --git a/packages/propel/src/icons/module/paused.tsx b/packages/propel/src/icons/module/paused.tsx new file mode 100644 index 00000000000..a2d728ebfe3 --- /dev/null +++ b/packages/propel/src/icons/module/paused.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ModulePausedIcon: React.FC = ({ width = "20", height = "20", className }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/module/planned.tsx b/packages/propel/src/icons/module/planned.tsx new file mode 100644 index 00000000000..0dcc1f71b0b --- /dev/null +++ b/packages/propel/src/icons/module/planned.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const ModulePlannedIcon: React.FC = ({ width = "20", height = "20", className }) => ( + + + +); diff --git a/packages/propel/src/icons/monospace-icon.tsx b/packages/propel/src/icons/monospace-icon.tsx new file mode 100644 index 00000000000..8eb64f01c5c --- /dev/null +++ b/packages/propel/src/icons/monospace-icon.tsx @@ -0,0 +1,16 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const MonospaceIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/multiple-sticky.tsx b/packages/propel/src/icons/multiple-sticky.tsx new file mode 100644 index 00000000000..60f2eaf9bd7 --- /dev/null +++ b/packages/propel/src/icons/multiple-sticky.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const RecentStickyIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/off-track-icon.tsx b/packages/propel/src/icons/off-track-icon.tsx new file mode 100644 index 00000000000..1069d36f9c2 --- /dev/null +++ b/packages/propel/src/icons/off-track-icon.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const OffTrackIcon: React.FC = ({ width = "16", height = "16" }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/on-track-icon.tsx b/packages/propel/src/icons/on-track-icon.tsx new file mode 100644 index 00000000000..55abe8b341a --- /dev/null +++ b/packages/propel/src/icons/on-track-icon.tsx @@ -0,0 +1,42 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const OnTrackIcon: React.FC = ({ width = "16", height = "16" }) => ( + + + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/overview-icon.tsx b/packages/propel/src/icons/overview-icon.tsx new file mode 100644 index 00000000000..bcf3712444f --- /dev/null +++ b/packages/propel/src/icons/overview-icon.tsx @@ -0,0 +1,14 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const OverviewIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + +); diff --git a/packages/propel/src/icons/pending-icon.tsx b/packages/propel/src/icons/pending-icon.tsx new file mode 100644 index 00000000000..217edaf8310 --- /dev/null +++ b/packages/propel/src/icons/pending-icon.tsx @@ -0,0 +1,27 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const PendingState: React.FC = ({ width = "10", height = "11", className, color = "#455068" }) => ( + + + + +); diff --git a/packages/propel/src/icons/photo-filter-icon.tsx b/packages/propel/src/icons/photo-filter-icon.tsx new file mode 100644 index 00000000000..c7e6a540ca4 --- /dev/null +++ b/packages/propel/src/icons/photo-filter-icon.tsx @@ -0,0 +1,32 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const PhotoFilterIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + +); diff --git a/packages/propel/src/icons/pi-chat.tsx b/packages/propel/src/icons/pi-chat.tsx new file mode 100644 index 00000000000..e2e49a28f38 --- /dev/null +++ b/packages/propel/src/icons/pi-chat.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const PiChatLogo: React.FC = ({ width = "16", height = "16", className, color = "currentColor" }) => ( + + + + + +); diff --git a/packages/propel/src/icons/plane-icon.tsx b/packages/propel/src/icons/plane-icon.tsx new file mode 100644 index 00000000000..113d2dfd041 --- /dev/null +++ b/packages/propel/src/icons/plane-icon.tsx @@ -0,0 +1,35 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const PlaneNewIcon: React.FC = ({ + width = "16", + height = "16", + className, + color = "currentColor", +}) => ( + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/planned-icon.tsx b/packages/propel/src/icons/planned-icon.tsx new file mode 100644 index 00000000000..eefc7da3013 --- /dev/null +++ b/packages/propel/src/icons/planned-icon.tsx @@ -0,0 +1,40 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const PlannedState: React.FC = ({ width = "10", height = "11", className, color }) => ( + + + + + + + + + + + + +); diff --git a/packages/propel/src/icons/priority-icon.tsx b/packages/propel/src/icons/priority-icon.tsx new file mode 100644 index 00000000000..931f4272aac --- /dev/null +++ b/packages/propel/src/icons/priority-icon.tsx @@ -0,0 +1,78 @@ +import { AlertCircle, Ban, SignalHigh, SignalLow, SignalMedium } from "lucide-react"; +import * as React from "react"; +import { cn } from "../utils"; + +export type TIssuePriorities = "urgent" | "high" | "medium" | "low" | "none"; + +interface IPriorityIcon { + className?: string; + containerClassName?: string; + priority: TIssuePriorities | undefined | null; + size?: number; + withContainer?: boolean; +} + +export const PriorityIcon: React.FC = (props) => { + const { priority, className = "", containerClassName = "", size = 14, withContainer = false } = props; + + const priorityClasses = { + urgent: "bg-red-600/20 text-red-600 border-red-600", + high: "bg-orange-500/20 text-orange-500 border-orange-500", + medium: "bg-yellow-500/20 text-yellow-500 border-yellow-500", + low: "bg-custom-primary-100/20 text-custom-primary-100 border-custom-primary-100", + none: "bg-custom-background-80 text-custom-text-200 border-custom-border-300", + }; + + // get priority icon + const icons = { + urgent: AlertCircle, + high: SignalHigh, + medium: SignalMedium, + low: SignalLow, + none: Ban, + }; + const Icon = icons[priority ?? "none"]; + + if (!Icon) return null; + + return ( + <> + {withContainer ? ( +
+ +
+ ) : ( + + )} + + ); +}; diff --git a/packages/propel/src/icons/related-icon.tsx b/packages/propel/src/icons/related-icon.tsx new file mode 100644 index 00000000000..514b5e96d91 --- /dev/null +++ b/packages/propel/src/icons/related-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const RelatedIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + +); diff --git a/packages/propel/src/icons/sans-serif-icon.tsx b/packages/propel/src/icons/sans-serif-icon.tsx new file mode 100644 index 00000000000..2260130a7f7 --- /dev/null +++ b/packages/propel/src/icons/sans-serif-icon.tsx @@ -0,0 +1,16 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const SansSerifIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/serif-icon.tsx b/packages/propel/src/icons/serif-icon.tsx new file mode 100644 index 00000000000..fab5c12d335 --- /dev/null +++ b/packages/propel/src/icons/serif-icon.tsx @@ -0,0 +1,16 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const SerifIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/side-panel-icon.tsx b/packages/propel/src/icons/side-panel-icon.tsx new file mode 100644 index 00000000000..137b2d24e7f --- /dev/null +++ b/packages/propel/src/icons/side-panel-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const SidePanelIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/state/backlog-group-icon.tsx b/packages/propel/src/icons/state/backlog-group-icon.tsx new file mode 100644 index 00000000000..ebd0d05c451 --- /dev/null +++ b/packages/propel/src/icons/state/backlog-group-icon.tsx @@ -0,0 +1,27 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; +import { DashedCircle } from "./dashed-circle"; + +export const BacklogGroupIcon: React.FC = ({ + width = "20", + height = "20", + className, + color = "#60646C", +}) => { + // SVG parameters + const viewBoxSize = 16; + const center = viewBoxSize / 2; + const radius = 6; + return ( + + + + ); +}; diff --git a/packages/propel/src/icons/state/cancelled-group-icon.tsx b/packages/propel/src/icons/state/cancelled-group-icon.tsx new file mode 100644 index 00000000000..fb802523e82 --- /dev/null +++ b/packages/propel/src/icons/state/cancelled-group-icon.tsx @@ -0,0 +1,27 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const CancelledGroupIcon: React.FC = ({ + className = "", + color = "#9AA4BC", + height = "20", + width = "20", + ...rest +}) => ( + + + +); diff --git a/packages/propel/src/icons/state/completed-group-icon.tsx b/packages/propel/src/icons/state/completed-group-icon.tsx new file mode 100644 index 00000000000..c4a15f15f87 --- /dev/null +++ b/packages/propel/src/icons/state/completed-group-icon.tsx @@ -0,0 +1,27 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; + +export const CompletedGroupIcon: React.FC = ({ + className = "", + color = "#46A758", + height = "20", + width = "20", + ...rest +}) => ( + + + +); diff --git a/packages/propel/src/icons/state/dashed-circle.tsx b/packages/propel/src/icons/state/dashed-circle.tsx new file mode 100644 index 00000000000..4ee64cdf050 --- /dev/null +++ b/packages/propel/src/icons/state/dashed-circle.tsx @@ -0,0 +1,40 @@ +import * as React from "react"; + +interface DashedCircleProps { + center: number; + radius: number; + color: string; + percentage: number; + totalSegments?: number; +} + +export const DashedCircle: React.FC = ({ center, color, percentage, totalSegments = 15 }) => { + // Ensure percentage is between 0 and 100 + const validPercentage = Math.max(0, Math.min(100, percentage)); + + // Generate dashed segments for the circle + const generateDashedCircle = () => { + const segments = []; + const angleIncrement = 360 / totalSegments; + + for (let i = 0; i < totalSegments; i++) { + // Calculate the angle for this segment (starting from top/12 o'clock position) + const angle = i * angleIncrement - 90; // -90 adjusts to start from top center + + // Calculate if this segment should be hidden based on percentage + const segmentStartPercentage = (i / totalSegments) * 100; + const isSegmentVisible = segmentStartPercentage >= validPercentage; + + if (isSegmentVisible) { + segments.push( + + + + ); + } + } + return segments; + }; + + return {generateDashedCircle()}; +}; diff --git a/packages/propel/src/icons/state/helper.tsx b/packages/propel/src/icons/state/helper.tsx new file mode 100644 index 00000000000..fda3eff3452 --- /dev/null +++ b/packages/propel/src/icons/state/helper.tsx @@ -0,0 +1,31 @@ +import { EIconSize } from "@plane/constants"; + +export interface IStateGroupIcon { + className?: string; + color?: string; + stateGroup: TStateGroups; + size?: EIconSize; + percentage?: number; +} + +export type TStateGroups = "backlog" | "unstarted" | "started" | "completed" | "cancelled"; + +export const STATE_GROUP_COLORS: { + [key in TStateGroups]: string; +} = { + backlog: "#60646C", + unstarted: "#60646C", + started: "#F59E0B", + completed: "#46A758", + cancelled: "#9AA4BC", +}; + +export const STATE_GROUP_SIZES: { + [key in EIconSize]: string; +} = { + [EIconSize.XS]: "10px", + [EIconSize.SM]: "12px", + [EIconSize.MD]: "14px", + [EIconSize.LG]: "16px", + [EIconSize.XL]: "18px", +}; diff --git a/packages/propel/src/icons/state/index.ts b/packages/propel/src/icons/state/index.ts new file mode 100644 index 00000000000..0e5fdadd67a --- /dev/null +++ b/packages/propel/src/icons/state/index.ts @@ -0,0 +1,6 @@ +export * from "./backlog-group-icon"; +export * from "./cancelled-group-icon"; +export * from "./completed-group-icon"; +export * from "./started-group-icon"; +export * from "./state-group-icon"; +export * from "./unstarted-group-icon"; diff --git a/packages/propel/src/icons/state/progress-circle.tsx b/packages/propel/src/icons/state/progress-circle.tsx new file mode 100644 index 00000000000..470a560fc9d --- /dev/null +++ b/packages/propel/src/icons/state/progress-circle.tsx @@ -0,0 +1,32 @@ +import * as React from "react"; + +interface ProgressCircleProps { + center: number; + radius: number; + color: string; + strokeWidth: number; + circumference: number; + dashOffset: number; +} + +export const ProgressCircle: React.FC = ({ + center, + radius, + color, + strokeWidth, + circumference, + dashOffset, +}) => ( + +); diff --git a/packages/propel/src/icons/state/started-group-icon.tsx b/packages/propel/src/icons/state/started-group-icon.tsx new file mode 100644 index 00000000000..d924c0d6ce0 --- /dev/null +++ b/packages/propel/src/icons/state/started-group-icon.tsx @@ -0,0 +1,65 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; +import { DashedCircle } from "./dashed-circle"; +import { ProgressCircle } from "./progress-circle"; + +// StateIcon component implementation +export const StartedGroupIcon: React.FC = ({ + width = "20", + height = "20", + className, + color = "#F59E0B", + percentage = 100, +}) => { + // Ensure percentage is between 0 and 100 + const normalized = + typeof percentage === "number" + ? percentage <= 1 + ? percentage * 100 // treat 0-1 as fraction + : percentage // already 0-100 + : 100; // fallback + const validPercentage = Math.max(0, Math.min(100, normalized)); + + // SVG parameters + const viewBoxSize = 16; + const center = viewBoxSize / 2; + const radius = 6; + const strokeWidth = 1.5; + + // Calculate the circumference of the circle + const circumference = 2 * Math.PI * radius; + const dashOffset = circumference * (1 - validPercentage / 100); + const dashOffsetSmall = circumference * (1 - 100 / 100); + + return ( + + {/* Dashed background circle with segments that disappear with progress */} + + + {/* render smaller circle in the middle */} + + + {/* Solid progress circle */} + + + ); +}; diff --git a/packages/propel/src/icons/state/state-group-icon.tsx b/packages/propel/src/icons/state/state-group-icon.tsx new file mode 100644 index 00000000000..b5647ae0537 --- /dev/null +++ b/packages/propel/src/icons/state/state-group-icon.tsx @@ -0,0 +1,37 @@ +import * as React from "react"; + +import { EIconSize } from "@plane/constants"; +import { BacklogGroupIcon } from "./backlog-group-icon"; +import { CancelledGroupIcon } from "./cancelled-group-icon"; +import { CompletedGroupIcon } from "./completed-group-icon"; +import { IStateGroupIcon, STATE_GROUP_COLORS, STATE_GROUP_SIZES } from "./helper"; +import { StartedGroupIcon } from "./started-group-icon"; +import { UnstartedGroupIcon } from "./unstarted-group-icon"; + +const iconComponents = { + backlog: BacklogGroupIcon, + cancelled: CancelledGroupIcon, + completed: CompletedGroupIcon, + started: StartedGroupIcon, + unstarted: UnstartedGroupIcon, +}; + +export const StateGroupIcon: React.FC = ({ + className = "", + color, + stateGroup, + size = EIconSize.SM, + percentage, +}) => { + const StateIconComponent = iconComponents[stateGroup] || UnstartedGroupIcon; + + return ( + + ); +}; diff --git a/packages/propel/src/icons/state/unstarted-group-icon.tsx b/packages/propel/src/icons/state/unstarted-group-icon.tsx new file mode 100644 index 00000000000..9f57b698f27 --- /dev/null +++ b/packages/propel/src/icons/state/unstarted-group-icon.tsx @@ -0,0 +1,51 @@ +import * as React from "react"; + +import { ISvgIcons } from "../type"; +import { DashedCircle } from "./dashed-circle"; +import { ProgressCircle } from "./progress-circle"; + +// StateIcon component implementation +export const UnstartedGroupIcon: React.FC = ({ + width = "20", + height = "20", + className, + color = "#F59E0B", + percentage = 100, +}) => { + // Ensure percentage is between 0 and 100 + const normalized = + typeof percentage === "number" + ? percentage <= 1 + ? percentage * 100 // treat 0-1 as fraction + : percentage // already 0-100 + : 100; // fallback + const validPercentage = Math.max(0, Math.min(100, normalized)); + + // SVG parameters + const viewBoxSize = 16; + const center = viewBoxSize / 2; + const radius = 6; + const strokeWidth = 1.5; + + // Calculate the circumference of the circle + const circumference = 2 * Math.PI * radius; + + // Calculate the dash offset based on percentage + const dashOffset = circumference * (1 - validPercentage / 100); + + return ( + + + + {/* Solid progress circle */} + + + ); +}; diff --git a/packages/propel/src/icons/sticky-note-icon.tsx b/packages/propel/src/icons/sticky-note-icon.tsx new file mode 100644 index 00000000000..fd1652dad75 --- /dev/null +++ b/packages/propel/src/icons/sticky-note-icon.tsx @@ -0,0 +1,36 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const StickyNoteIcon: React.FC = ({ width = "17", height = "17", className, color }) => ( + + + + + + +); diff --git a/packages/propel/src/icons/teams.tsx b/packages/propel/src/icons/teams.tsx new file mode 100644 index 00000000000..b730555989e --- /dev/null +++ b/packages/propel/src/icons/teams.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const TeamsIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/transfer-icon.tsx b/packages/propel/src/icons/transfer-icon.tsx new file mode 100644 index 00000000000..f762f9611e0 --- /dev/null +++ b/packages/propel/src/icons/transfer-icon.tsx @@ -0,0 +1,9 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const TransferIcon: React.FC = ({ className = "fill-current", ...rest }) => ( + + + +); diff --git a/packages/propel/src/icons/tree-map-icon.tsx b/packages/propel/src/icons/tree-map-icon.tsx new file mode 100644 index 00000000000..b8de0106905 --- /dev/null +++ b/packages/propel/src/icons/tree-map-icon.tsx @@ -0,0 +1,16 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const TreeMapIcon: React.FC = ({ className = "", ...rest }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/type.ts b/packages/propel/src/icons/type.ts new file mode 100644 index 00000000000..09e60562974 --- /dev/null +++ b/packages/propel/src/icons/type.ts @@ -0,0 +1,4 @@ +export interface ISvgIcons extends React.SVGAttributes { + className?: string | undefined; + percentage?: number; +} diff --git a/packages/propel/src/icons/updates-icon.tsx b/packages/propel/src/icons/updates-icon.tsx new file mode 100644 index 00000000000..1b480f6188e --- /dev/null +++ b/packages/propel/src/icons/updates-icon.tsx @@ -0,0 +1,18 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const UpdatesIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + +); diff --git a/packages/propel/src/icons/user-activity-icon.tsx b/packages/propel/src/icons/user-activity-icon.tsx new file mode 100644 index 00000000000..9a8e691fd11 --- /dev/null +++ b/packages/propel/src/icons/user-activity-icon.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const UserActivityIcon: React.FC = ({ className = "text-current", ...rest }) => ( + + + + + +); diff --git a/packages/propel/src/icons/wiki-icon.tsx b/packages/propel/src/icons/wiki-icon.tsx new file mode 100644 index 00000000000..5a3b992c7f6 --- /dev/null +++ b/packages/propel/src/icons/wiki-icon.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const WikiIcon: React.FC = ({ width = "16", height = "16", className, color = "currentColor" }) => ( + + + + + + + + + + +); diff --git a/packages/propel/src/icons/workspace-icon.tsx b/packages/propel/src/icons/workspace-icon.tsx new file mode 100644 index 00000000000..e15d33f30b4 --- /dev/null +++ b/packages/propel/src/icons/workspace-icon.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +import { ISvgIcons } from "./type"; + +export const WorkspaceIcon: React.FC = ({ className }) => ( + + + +); From 6e5b8c0e37bfd0613204ed8e17c5686a3c4f849d Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 3 Sep 2025 20:45:52 +0530 Subject: [PATCH 2/8] chore: package and tsdown config updated --- packages/propel/package.json | 3 ++- packages/propel/tsdown.config.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/propel/package.json b/packages/propel/package.json index f5f5e39b4be..a65b6660711 100644 --- a/packages/propel/package.json +++ b/packages/propel/package.json @@ -24,6 +24,7 @@ "./command": "./dist/command/index.js", "./dialog": "./dist/dialog/index.js", "./emoji-icon-picker": "./dist/emoji-icon-picker/index.js", + "./icons": "./dist/icons/index.js", "./menu": "./dist/menu/index.js", "./popover": "./dist/popover/index.js", "./styles/fonts": "./dist/styles/fonts/index.css", @@ -62,4 +63,4 @@ "tsdown": "catalog:", "typescript": "catalog:" } -} +} \ No newline at end of file diff --git a/packages/propel/tsdown.config.ts b/packages/propel/tsdown.config.ts index 29ecdf81ae0..e9606104316 100644 --- a/packages/propel/tsdown.config.ts +++ b/packages/propel/tsdown.config.ts @@ -17,6 +17,7 @@ export default defineConfig({ "src/tabs/index.ts", "src/tooltip/index.ts", "src/utils/index.ts", + "src/icons/index.ts", ], outDir: "dist", format: ["esm", "cjs"], From 9d722abc6929d7b857d2990b31347c4fd41061d6 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Thu, 4 Sep 2025 00:37:04 +0530 Subject: [PATCH 3/8] chore: migrate all icon imports from @plane/ui to @plane/propel/icons --- apps/admin/app/(all)/(dashboard)/sidebar-help-section.tsx | 2 +- apps/admin/app/(all)/(dashboard)/sidebar-menu.tsx | 2 +- .../components/issues/filters/applied-filters/priority.tsx | 3 ++- .../core/components/issues/filters/applied-filters/state.tsx | 2 +- apps/space/core/components/issues/filters/priority.tsx | 2 +- apps/space/core/components/issues/filters/state.tsx | 3 ++- .../core/components/issues/issue-layouts/properties/cycle.tsx | 2 +- .../components/issues/issue-layouts/properties/modules.tsx | 2 +- .../components/issues/issue-layouts/properties/priority.tsx | 2 +- .../core/components/issues/issue-layouts/properties/state.tsx | 2 +- apps/space/core/components/issues/issue-layouts/utils.tsx | 3 ++- apps/space/core/components/issues/peek-overview/header.tsx | 3 ++- .../core/components/issues/peek-overview/issue-properties.tsx | 3 ++- .../(all)/[workspaceSlug]/(projects)/active-cycles/header.tsx | 3 ++- .../[workspaceSlug]/(projects)/profile/[userId]/header.tsx | 3 ++- .../projects/(detail)/[projectId]/archives/header.tsx | 3 ++- .../(detail)/[projectId]/archives/issues/(detail)/header.tsx | 3 ++- .../projects/(detail)/[projectId]/cycles/(detail)/header.tsx | 3 ++- .../projects/(detail)/[projectId]/modules/(detail)/header.tsx | 3 ++- .../app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx | 3 ++- apps/web/ce/components/breadcrumbs/project-feature.tsx | 3 ++- .../actions/work-item-actions/change-state-list.tsx | 3 ++- apps/web/ce/components/command-palette/helpers.tsx | 2 +- apps/web/ce/components/issues/issue-layouts/utils.tsx | 2 +- apps/web/ce/components/projects/navigation/helper.tsx | 3 ++- apps/web/ce/components/relations/index.tsx | 2 +- apps/web/ce/components/workspace/sidebar/helper.tsx | 2 +- apps/web/ce/constants/project/settings/features.tsx | 3 ++- apps/web/ce/constants/sidebar-favorites.ts | 3 ++- apps/web/core/components/automation/auto-close-automation.tsx | 3 ++- .../core/components/command-palette/actions/help-actions.tsx | 2 +- .../command-palette/actions/issue-actions/actions-list.tsx | 3 ++- .../command-palette/actions/issue-actions/change-priority.tsx | 2 +- .../components/command-palette/actions/project-actions.tsx | 2 +- apps/web/core/components/command-palette/command-modal.tsx | 3 ++- apps/web/core/components/common/activity/helper.tsx | 2 +- apps/web/core/components/core/activity.tsx | 3 ++- apps/web/core/components/core/filters/date-filter-select.tsx | 3 ++- apps/web/core/components/cycles/active-cycle/cycle-stats.tsx | 3 ++- .../components/cycles/analytics-sidebar/progress-stats.tsx | 3 ++- .../core/components/cycles/list/cycle-list-group-header.tsx | 3 ++- .../web/core/components/cycles/list/cycle-list-item-action.tsx | 3 ++- apps/web/core/components/cycles/quick-actions.tsx | 3 ++- apps/web/core/components/cycles/transfer-issues-modal.tsx | 3 ++- apps/web/core/components/cycles/transfer-issues.tsx | 3 ++- apps/web/core/components/dropdowns/cycle/cycle-options.tsx | 2 +- apps/web/core/components/dropdowns/cycle/index.tsx | 3 ++- apps/web/core/components/dropdowns/module/button-content.tsx | 2 +- apps/web/core/components/dropdowns/module/module-options.tsx | 2 +- apps/web/core/components/dropdowns/priority.tsx | 3 ++- apps/web/core/components/dropdowns/state/base.tsx | 3 ++- apps/web/core/components/home/widgets/empty-states/recents.tsx | 2 +- .../web/core/components/home/widgets/empty-states/stickies.tsx | 2 +- apps/web/core/components/home/widgets/recents/index.tsx | 2 +- apps/web/core/components/home/widgets/recents/issue.tsx | 2 +- apps/web/core/components/inbox/content/issue-properties.tsx | 3 ++- .../components/inbox/inbox-filter/applied-filters/priority.tsx | 3 ++- .../components/inbox/inbox-filter/applied-filters/state.tsx | 3 ++- .../core/components/inbox/inbox-filter/filters/priority.tsx | 2 +- apps/web/core/components/inbox/inbox-filter/filters/state.tsx | 3 ++- apps/web/core/components/inbox/sidebar/inbox-list-item.tsx | 3 ++- .../issue-activity/activity/actions/archived-at.tsx | 2 +- .../issue-detail/issue-activity/activity/actions/cycle.tsx | 2 +- .../issue-detail/issue-activity/activity/actions/default.tsx | 2 +- .../issue-detail/issue-activity/activity/actions/module.tsx | 2 +- .../issue-detail/issue-activity/activity/actions/state.tsx | 2 +- apps/web/core/components/issues/issue-detail/sidebar.tsx | 2 +- .../issues/issue-layouts/filters/applied-filters/cycle.tsx | 2 +- .../issues/issue-layouts/filters/applied-filters/module.tsx | 2 +- .../issues/issue-layouts/filters/applied-filters/priority.tsx | 2 +- .../issue-layouts/filters/applied-filters/state-group.tsx | 2 +- .../issues/issue-layouts/filters/applied-filters/state.tsx | 2 +- .../issues/issue-layouts/filters/header/filters/cycle.tsx | 3 ++- .../issues/issue-layouts/filters/header/filters/module.tsx | 3 ++- .../issues/issue-layouts/filters/header/filters/priority.tsx | 2 +- .../issue-layouts/filters/header/filters/state-group.tsx | 2 +- .../issues/issue-layouts/filters/header/filters/state.tsx | 3 ++- .../issues/issue-layouts/quick-action-dropdowns/helper.tsx | 3 ++- apps/web/core/components/issues/issue-layouts/utils.tsx | 3 ++- apps/web/core/components/issues/peek-overview/header.tsx | 3 ++- apps/web/core/components/issues/peek-overview/properties.tsx | 2 +- .../components/modules/analytics-sidebar/progress-stats.tsx | 3 ++- apps/web/core/components/modules/analytics-sidebar/root.tsx | 3 ++- apps/web/core/components/modules/applied-filters/status.tsx | 2 +- apps/web/core/components/modules/dropdowns/filters/status.tsx | 2 +- apps/web/core/components/modules/gantt-chart/blocks.tsx | 2 +- apps/web/core/components/modules/module-status-dropdown.tsx | 3 ++- apps/web/core/components/modules/quick-actions.tsx | 3 ++- apps/web/core/components/modules/select/status.tsx | 3 ++- .../core/components/modules/sidebar-select/select-status.tsx | 3 ++- apps/web/core/components/onboarding/tour/sidebar.tsx | 2 +- apps/web/core/components/pages/dropdowns/actions.tsx | 3 ++- apps/web/core/components/pages/header/archived-badge.tsx | 2 +- apps/web/core/components/profile/overview/stats.tsx | 3 ++- apps/web/core/components/project-states/group-item.tsx | 2 +- apps/web/core/components/project-states/state-item-title.tsx | 2 +- apps/web/core/components/stickies/action-bar.tsx | 2 +- apps/web/core/components/stickies/modal/stickies.tsx | 2 +- .../sidebar/header/options/menu-option/root.tsx | 3 ++- .../sidebar/notification-card/options/archive.tsx | 3 ++- .../components/workspace/sidebar/favorites/favorite-folder.tsx | 3 ++- .../components/workspace/sidebar/favorites/new-fav-folder.tsx | 3 ++- .../core/components/workspace/sidebar/project-navigation.tsx | 3 ++- .../core/components/workspace/sidebar/projects-list-item.tsx | 3 ++- apps/web/core/components/workspace/sidebar/user-menu.tsx | 2 +- apps/web/core/components/workspace/sidebar/workspace-menu.tsx | 2 +- apps/web/core/constants/editor.ts | 2 +- apps/web/core/constants/plans.tsx | 2 +- packages/propel/package.json | 2 +- packages/propel/src/icons/cycle/cycle-group-icon.tsx | 2 +- packages/propel/src/icons/priority-icon.tsx | 2 +- packages/utils/src/string.ts | 2 +- 112 files changed, 169 insertions(+), 112 deletions(-) diff --git a/apps/admin/app/(all)/(dashboard)/sidebar-help-section.tsx b/apps/admin/app/(all)/(dashboard)/sidebar-help-section.tsx index d75b84be5b1..c4421ae5fd9 100644 --- a/apps/admin/app/(all)/(dashboard)/sidebar-help-section.tsx +++ b/apps/admin/app/(all)/(dashboard)/sidebar-help-section.tsx @@ -7,8 +7,8 @@ import { ExternalLink, FileText, HelpCircle, MoveLeft } from "lucide-react"; import { Transition } from "@headlessui/react"; // plane internal packages import { WEB_BASE_URL } from "@plane/constants"; +import { DiscordIcon, GithubIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { DiscordIcon, GithubIcon } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useTheme } from "@/hooks/store"; diff --git a/apps/admin/app/(all)/(dashboard)/sidebar-menu.tsx b/apps/admin/app/(all)/(dashboard)/sidebar-menu.tsx index ff5aabd3ca6..b33ccecffbf 100644 --- a/apps/admin/app/(all)/(dashboard)/sidebar-menu.tsx +++ b/apps/admin/app/(all)/(dashboard)/sidebar-menu.tsx @@ -5,8 +5,8 @@ import Link from "next/link"; import { usePathname } from "next/navigation"; import { Image, BrainCog, Cog, Lock, Mail } from "lucide-react"; // plane internal packages +import { WorkspaceIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { WorkspaceIcon } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useTheme } from "@/hooks/store"; diff --git a/apps/space/core/components/issues/filters/applied-filters/priority.tsx b/apps/space/core/components/issues/filters/applied-filters/priority.tsx index 33af39e21c7..7f7abcce99e 100644 --- a/apps/space/core/components/issues/filters/applied-filters/priority.tsx +++ b/apps/space/core/components/issues/filters/applied-filters/priority.tsx @@ -1,7 +1,8 @@ "use client"; import { X } from "lucide-react"; -import { PriorityIcon, type TIssuePriorities } from "@plane/ui"; +import { PriorityIcon } from "@plane/propel/icons"; +import { type TIssuePriorities } from "@plane/ui"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/space/core/components/issues/filters/applied-filters/state.tsx b/apps/space/core/components/issues/filters/applied-filters/state.tsx index 70ebd14dd2d..c80c8688a58 100644 --- a/apps/space/core/components/issues/filters/applied-filters/state.tsx +++ b/apps/space/core/components/issues/filters/applied-filters/state.tsx @@ -4,7 +4,7 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; // plane imports import { EIconSize } from "@plane/constants"; -import { StateGroupIcon } from "@plane/ui"; +import { StateGroupIcon } from "@plane/propel/icons"; // hooks import { useStates } from "@/hooks/store/use-state"; diff --git a/apps/space/core/components/issues/filters/priority.tsx b/apps/space/core/components/issues/filters/priority.tsx index 76851ee0a3a..674b052f5b5 100644 --- a/apps/space/core/components/issues/filters/priority.tsx +++ b/apps/space/core/components/issues/filters/priority.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; // plane imports import { ISSUE_PRIORITY_FILTERS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { PriorityIcon } from "@plane/ui"; +import { PriorityIcon } from "@plane/propel/icons"; // local imports import { FilterHeader } from "./helpers/filter-header"; import { FilterOption } from "./helpers/filter-option"; diff --git a/apps/space/core/components/issues/filters/state.tsx b/apps/space/core/components/issues/filters/state.tsx index 865878c521f..a794d532af6 100644 --- a/apps/space/core/components/issues/filters/state.tsx +++ b/apps/space/core/components/issues/filters/state.tsx @@ -4,7 +4,8 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; // ui import { EIconSize } from "@plane/constants"; -import { Loader, StateGroupIcon } from "@plane/ui"; +import { StateGroupIcon } from "@plane/propel/icons"; +import { Loader } from "@plane/ui"; // hooks import { useStates } from "@/hooks/store/use-state"; // local imports diff --git a/apps/space/core/components/issues/issue-layouts/properties/cycle.tsx b/apps/space/core/components/issues/issue-layouts/properties/cycle.tsx index d9bc971a9bf..c58badcf923 100644 --- a/apps/space/core/components/issues/issue-layouts/properties/cycle.tsx +++ b/apps/space/core/components/issues/issue-layouts/properties/cycle.tsx @@ -2,8 +2,8 @@ import { observer } from "mobx-react"; // plane ui +import { ContrastIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { ContrastIcon } from "@plane/ui"; // plane utils import { cn } from "@plane/utils"; //hooks diff --git a/apps/space/core/components/issues/issue-layouts/properties/modules.tsx b/apps/space/core/components/issues/issue-layouts/properties/modules.tsx index 834cdc4ae9e..c5e250f0829 100644 --- a/apps/space/core/components/issues/issue-layouts/properties/modules.tsx +++ b/apps/space/core/components/issues/issue-layouts/properties/modules.tsx @@ -2,8 +2,8 @@ import { observer } from "mobx-react"; // plane ui +import { DiceIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { DiceIcon } from "@plane/ui"; // plane utils import { cn } from "@plane/utils"; // hooks diff --git a/apps/space/core/components/issues/issue-layouts/properties/priority.tsx b/apps/space/core/components/issues/issue-layouts/properties/priority.tsx index 36b132ea0c8..8514c059583 100644 --- a/apps/space/core/components/issues/issue-layouts/properties/priority.tsx +++ b/apps/space/core/components/issues/issue-layouts/properties/priority.tsx @@ -3,9 +3,9 @@ import { SignalHigh } from "lucide-react"; import { useTranslation } from "@plane/i18n"; // types +import { PriorityIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { TIssuePriorities } from "@plane/types"; -import { PriorityIcon } from "@plane/ui"; // constants import { cn, getIssuePriorityFilters } from "@plane/utils"; diff --git a/apps/space/core/components/issues/issue-layouts/properties/state.tsx b/apps/space/core/components/issues/issue-layouts/properties/state.tsx index 76754be3def..2613adc4d3c 100644 --- a/apps/space/core/components/issues/issue-layouts/properties/state.tsx +++ b/apps/space/core/components/issues/issue-layouts/properties/state.tsx @@ -2,8 +2,8 @@ import { observer } from "mobx-react"; // plane ui +import { StateGroupIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { StateGroupIcon } from "@plane/ui"; // plane utils import { cn } from "@plane/utils"; //hooks diff --git a/apps/space/core/components/issues/issue-layouts/utils.tsx b/apps/space/core/components/issues/issue-layouts/utils.tsx index 335c8f2100c..4733dc78a78 100644 --- a/apps/space/core/components/issues/issue-layouts/utils.tsx +++ b/apps/space/core/components/issues/issue-layouts/utils.tsx @@ -4,6 +4,7 @@ import isNil from "lodash/isNil"; import { ContrastIcon } from "lucide-react"; // types import { EIconSize, ISSUE_PRIORITIES } from "@plane/constants"; +import { CycleGroupIcon, DiceIcon, PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; import { GroupByColumnTypes, IGroupByColumn, @@ -12,7 +13,7 @@ import { TGroupedIssues, } from "@plane/types"; // ui -import { Avatar, CycleGroupIcon, DiceIcon, PriorityIcon, StateGroupIcon } from "@plane/ui"; +import { Avatar } from "@plane/ui"; // components // constants // stores diff --git a/apps/space/core/components/issues/peek-overview/header.tsx b/apps/space/core/components/issues/peek-overview/header.tsx index 9795e530f0c..4791f17490e 100644 --- a/apps/space/core/components/issues/peek-overview/header.tsx +++ b/apps/space/core/components/issues/peek-overview/header.tsx @@ -5,7 +5,8 @@ import { observer } from "mobx-react"; import { Link2, MoveRight } from "lucide-react"; import { Listbox, Transition } from "@headlessui/react"; // ui -import { CenterPanelIcon, FullScreenPanelIcon, setToast, SidePanelIcon, TOAST_TYPE } from "@plane/ui"; +import { CenterPanelIcon, FullScreenPanelIcon, SidePanelIcon } from "@plane/propel/icons"; +import { setToast, TOAST_TYPE } from "@plane/ui"; // helpers import { copyTextToClipboard } from "@/helpers/string.helper"; // hooks diff --git a/apps/space/core/components/issues/peek-overview/issue-properties.tsx b/apps/space/core/components/issues/peek-overview/issue-properties.tsx index f0e7eb77ccf..3bee765ca93 100644 --- a/apps/space/core/components/issues/peek-overview/issue-properties.tsx +++ b/apps/space/core/components/issues/peek-overview/issue-properties.tsx @@ -5,7 +5,8 @@ import { useParams } from "next/navigation"; import { CalendarCheck2, Signal } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { DoubleCircleIcon, StateGroupIcon, TOAST_TYPE, setToast } from "@plane/ui"; +import { DoubleCircleIcon, StateGroupIcon } from "@plane/propel/icons"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { cn, getIssuePriorityFilters } from "@plane/utils"; // components import { Icon } from "@/components/ui"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/header.tsx index 6215ec32847..d147d0ed123 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/header.tsx @@ -2,7 +2,8 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; // ui -import { Breadcrumbs, ContrastIcon, Header } from "@plane/ui"; +import { ContrastIcon } from "@plane/propel/icons"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; // plane web components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx index 545ad9ed3ec..8e839c0eebb 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx @@ -8,8 +8,9 @@ import { useParams } from "next/navigation"; import { ChevronDown, PanelRight } from "lucide-react"; import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { UserActivityIcon } from "@plane/propel/icons"; import { IUserProfileProjectSegregation } from "@plane/types"; -import { Breadcrumbs, Header, CustomMenu, UserActivityIcon } from "@plane/ui"; +import { Breadcrumbs, Header, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx index 466eb0f71b2..0f6606ba3b4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx @@ -3,10 +3,11 @@ import { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; +import { ArchiveIcon, ContrastIcon, DiceIcon, LayersIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssuesStoreType } from "@plane/types"; // ui -import { ArchiveIcon, Breadcrumbs, Header, ContrastIcon, DiceIcon, LayersIcon } from "@plane/ui"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx index c2e0e9c42a1..fbfce0d00d2 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx @@ -4,7 +4,8 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR from "swr"; // ui -import { ArchiveIcon, Breadcrumbs, LayersIcon, Header } from "@plane/ui"; +import { ArchiveIcon, LayersIcon } from "@plane/propel/icons"; +import { Breadcrumbs, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { IssueDetailQuickActions } from "@/components/issues/issue-detail/issue-detail-quick-actions"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx index 1d8964322c4..7fe963c8454 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 { ContrastIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssuesStoreType, @@ -25,7 +26,7 @@ import { IIssueFilterOptions, EIssueLayoutTypes, } from "@plane/types"; -import { Breadcrumbs, Button, ContrastIcon, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui"; +import { Breadcrumbs, Button, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui"; import { cn, isIssueFilterActive } 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/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx index fdeb7744948..3a1b477b521 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 { DiceIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssuesStoreType, @@ -23,7 +24,7 @@ import { IIssueFilterOptions, EIssueLayoutTypes, } from "@plane/types"; -import { Breadcrumbs, Button, DiceIcon, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; +import { Breadcrumbs, Button, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; import { cn, isIssueFilterActive } from "@plane/utils"; // components import { WorkItemsModal } from "@/components/analytics/work-items/modal"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx index 1b4b1a2360c..08a216ab19a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/header.tsx @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { Breadcrumbs, Button, Header, RecentStickyIcon } from "@plane/ui"; +import { RecentStickyIcon } from "@plane/propel/icons"; +import { Breadcrumbs, Button, Header } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { StickySearch } from "@/components/stickies/modal/search"; diff --git a/apps/web/ce/components/breadcrumbs/project-feature.tsx b/apps/web/ce/components/breadcrumbs/project-feature.tsx index db51f3e85ce..ba67aa9cbc1 100644 --- a/apps/web/ce/components/breadcrumbs/project-feature.tsx +++ b/apps/web/ce/components/breadcrumbs/project-feature.tsx @@ -4,7 +4,8 @@ import { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { EProjectFeatureKey } from "@plane/constants"; -import { BreadcrumbNavigationDropdown, Breadcrumbs, ISvgIcons } from "@plane/ui"; +import { ISvgIcons } from "@plane/propel/icons"; +import { BreadcrumbNavigationDropdown, Breadcrumbs } from "@plane/ui"; // components import { SwitcherLabel } from "@/components/common/switcher-label"; import type { TNavigationItem } from "@/components/workspace/sidebar/project-navigation"; diff --git a/apps/web/ce/components/command-palette/actions/work-item-actions/change-state-list.tsx b/apps/web/ce/components/command-palette/actions/work-item-actions/change-state-list.tsx index d5bc3aba154..fb3595d565d 100644 --- a/apps/web/ce/components/command-palette/actions/work-item-actions/change-state-list.tsx +++ b/apps/web/ce/components/command-palette/actions/work-item-actions/change-state-list.tsx @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; import { Check } from "lucide-react"; // plane imports import { EIconSize } from "@plane/constants"; -import { Spinner, StateGroupIcon } from "@plane/ui"; +import { StateGroupIcon } from "@plane/propel/icons"; +import { Spinner } from "@plane/ui"; // store hooks import { useProjectState } from "@/hooks/store/use-project-state"; diff --git a/apps/web/ce/components/command-palette/helpers.tsx b/apps/web/ce/components/command-palette/helpers.tsx index 7a5eb6802b4..d098b1a4800 100644 --- a/apps/web/ce/components/command-palette/helpers.tsx +++ b/apps/web/ce/components/command-palette/helpers.tsx @@ -2,6 +2,7 @@ // types import { Briefcase, FileText, Layers, LayoutGrid } from "lucide-react"; +import { ContrastIcon, DiceIcon } from "@plane/propel/icons"; import { IWorkspaceDefaultSearchResult, IWorkspaceIssueSearchResult, @@ -10,7 +11,6 @@ import { IWorkspaceSearchResult, } from "@plane/types"; // ui -import { ContrastIcon, DiceIcon } from "@plane/ui"; // helpers import { generateWorkItemLink } from "@plane/utils"; // plane web components diff --git a/apps/web/ce/components/issues/issue-layouts/utils.tsx b/apps/web/ce/components/issues/issue-layouts/utils.tsx index c0b82ae9558..fcf1cd91b95 100644 --- a/apps/web/ce/components/issues/issue-layouts/utils.tsx +++ b/apps/web/ce/components/issues/issue-layouts/utils.tsx @@ -13,8 +13,8 @@ import { Users, } from "lucide-react"; // types +import { DiceIcon, DoubleCircleIcon, ISvgIcons } from "@plane/propel/icons"; import { IGroupByColumn, IIssueDisplayProperties, TGetColumns, TSpreadsheetColumn } from "@plane/types"; -import { DiceIcon, DoubleCircleIcon, ISvgIcons } from "@plane/ui"; // components import { SpreadsheetAssigneeColumn, diff --git a/apps/web/ce/components/projects/navigation/helper.tsx b/apps/web/ce/components/projects/navigation/helper.tsx index ad3d4dd3b2c..f3541b5ce74 100644 --- a/apps/web/ce/components/projects/navigation/helper.tsx +++ b/apps/web/ce/components/projects/navigation/helper.tsx @@ -1,7 +1,8 @@ import { FileText, Layers } from "lucide-react"; // plane imports import { EUserPermissions, EProjectFeatureKey } from "@plane/constants"; -import { ContrastIcon, DiceIcon, Intake, LayersIcon } from "@plane/ui"; +import { ContrastIcon, DiceIcon, LayersIcon } from "@plane/propel/icons"; +import { Intake } from "@plane/ui"; // components import type { TNavigationItem } from "@/components/workspace/sidebar/project-navigation"; diff --git a/apps/web/ce/components/relations/index.tsx b/apps/web/ce/components/relations/index.tsx index b259a38d7a6..2a7ebf0ebc8 100644 --- a/apps/web/ce/components/relations/index.tsx +++ b/apps/web/ce/components/relations/index.tsx @@ -1,5 +1,5 @@ import { CircleDot, CopyPlus, XCircle } from "lucide-react"; -import { RelatedIcon } from "@plane/ui"; +import { RelatedIcon } from "@plane/propel/icons"; import type { TRelationObject } from "@/components/issues/issue-detail-widgets/relations"; import type { TIssueRelationTypes } from "../../types"; diff --git a/apps/web/ce/components/workspace/sidebar/helper.tsx b/apps/web/ce/components/workspace/sidebar/helper.tsx index d00b0c36156..0821a0ef4bb 100644 --- a/apps/web/ce/components/workspace/sidebar/helper.tsx +++ b/apps/web/ce/components/workspace/sidebar/helper.tsx @@ -1,5 +1,5 @@ import { BarChart2, Briefcase, Home, Inbox, Layers, PenSquare } from "lucide-react"; -import { ArchiveIcon, ContrastIcon, UserActivityIcon } from "@plane/ui"; +import { ArchiveIcon, ContrastIcon, UserActivityIcon } from "@plane/propel/icons"; import { cn } from "@plane/utils"; export const getSidebarNavigationItemIcon = (key: string, className: string = "") => { diff --git a/apps/web/ce/constants/project/settings/features.tsx b/apps/web/ce/constants/project/settings/features.tsx index 1441c70e2d1..67f4e15d0c6 100644 --- a/apps/web/ce/constants/project/settings/features.tsx +++ b/apps/web/ce/constants/project/settings/features.tsx @@ -1,8 +1,9 @@ import { ReactNode } from "react"; import { FileText, Layers, Timer } from "lucide-react"; // plane imports +import { ContrastIcon, DiceIcon } from "@plane/propel/icons"; import { IProject } from "@plane/types"; -import { ContrastIcon, DiceIcon, Intake } from "@plane/ui"; +import { Intake } from "@plane/ui"; export type TProperties = { key: string; diff --git a/apps/web/ce/constants/sidebar-favorites.ts b/apps/web/ce/constants/sidebar-favorites.ts index a6f49f8aaf8..9773d298638 100644 --- a/apps/web/ce/constants/sidebar-favorites.ts +++ b/apps/web/ce/constants/sidebar-favorites.ts @@ -1,7 +1,8 @@ import { Briefcase, FileText, Layers, LucideIcon } from "lucide-react"; // plane imports +import { ContrastIcon, DiceIcon, FavoriteFolderIcon } from "@plane/propel/icons"; import { IFavorite } from "@plane/types"; -import { ContrastIcon, DiceIcon, FavoriteFolderIcon, ISvgIcons } from "@plane/ui"; +import { ISvgIcons } from "@plane/ui"; export const FAVORITE_ITEM_ICONS: Record | LucideIcon> = { page: FileText, diff --git a/apps/web/core/components/automation/auto-close-automation.tsx b/apps/web/core/components/automation/auto-close-automation.tsx index 82473a7a9c6..d223ddf3cdf 100644 --- a/apps/web/core/components/automation/auto-close-automation.tsx +++ b/apps/web/core/components/automation/auto-close-automation.tsx @@ -15,9 +15,10 @@ import { PROJECT_SETTINGS_TRACKER_EVENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { StateGroupIcon, DoubleCircleIcon } from "@plane/propel/icons"; import { IProject } from "@plane/types"; // ui -import { CustomSelect, CustomSearchSelect, ToggleSwitch, StateGroupIcon, DoubleCircleIcon, Loader } from "@plane/ui"; +import { CustomSelect, CustomSearchSelect, ToggleSwitch, Loader } from "@plane/ui"; // component import { SelectMonthModal } from "@/components/automation"; // constants diff --git a/apps/web/core/components/command-palette/actions/help-actions.tsx b/apps/web/core/components/command-palette/actions/help-actions.tsx index f68164f50a1..26eb13e2945 100644 --- a/apps/web/core/components/command-palette/actions/help-actions.tsx +++ b/apps/web/core/components/command-palette/actions/help-actions.tsx @@ -3,7 +3,7 @@ import { Command } from "cmdk"; import { observer } from "mobx-react"; import { FileText, GithubIcon, MessageSquare, Rocket } from "lucide-react"; // ui -import { DiscordIcon } from "@plane/ui"; +import { DiscordIcon } from "@plane/propel/icons"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useTransient } from "@/hooks/store/use-transient"; diff --git a/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx b/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx index 009f4fa8e8e..7b75fc1bd20 100644 --- a/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx +++ b/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx @@ -4,9 +4,10 @@ import { Command } from "cmdk"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { LinkIcon, Signal, Trash2, UserMinus2, UserPlus2, Users } from "lucide-react"; +import { DoubleCircleIcon } from "@plane/propel/icons"; import { EIssueServiceType, TIssue } from "@plane/types"; // hooks -import { DoubleCircleIcon, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // helpers import { copyTextToClipboard } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx b/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx index 1eea7a3ceab..ef89a070676 100644 --- a/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx +++ b/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx @@ -7,9 +7,9 @@ import { Check } from "lucide-react"; // plane constants import { ISSUE_PRIORITIES } from "@plane/constants"; // plane types +import { PriorityIcon } from "@plane/propel/icons"; import { EIssueServiceType, TIssue, TIssuePriorities } from "@plane/types"; // mobx store -import { PriorityIcon } from "@plane/ui"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // ui // types diff --git a/apps/web/core/components/command-palette/actions/project-actions.tsx b/apps/web/core/components/command-palette/actions/project-actions.tsx index 59f77a3d644..9776db33d67 100644 --- a/apps/web/core/components/command-palette/actions/project-actions.tsx +++ b/apps/web/core/components/command-palette/actions/project-actions.tsx @@ -9,7 +9,7 @@ import { PROJECT_PAGE_TRACKER_ELEMENTS, PROJECT_VIEW_TRACKER_ELEMENTS, } from "@plane/constants"; -import { DiceIcon } from "@plane/ui"; +import { DiceIcon } from "@plane/propel/icons"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; // ui diff --git a/apps/web/core/components/command-palette/command-modal.tsx b/apps/web/core/components/command-palette/command-modal.tsx index 5cf56620a66..e482438f679 100644 --- a/apps/web/core/components/command-palette/command-modal.tsx +++ b/apps/web/core/components/command-palette/command-modal.tsx @@ -16,8 +16,9 @@ import { WORKSPACE_DEFAULT_SEARCH_RESULT, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { LayersIcon } from "@plane/propel/icons"; import { IWorkspaceSearchResults } from "@plane/types"; -import { LayersIcon, Loader, ToggleSwitch } from "@plane/ui"; +import { Loader, ToggleSwitch } from "@plane/ui"; import { cn, getTabIndex } from "@plane/utils"; // components import { diff --git a/apps/web/core/components/common/activity/helper.tsx b/apps/web/core/components/common/activity/helper.tsx index b3d16e7d047..8ce3075974a 100644 --- a/apps/web/core/components/common/activity/helper.tsx +++ b/apps/web/core/components/common/activity/helper.tsx @@ -25,7 +25,7 @@ import { } from "lucide-react"; // components -import { ArchiveIcon, DoubleCircleIcon, ContrastIcon, DiceIcon, Intake } from "@plane/ui"; +import { ArchiveIcon, DoubleCircleIcon, ContrastIcon, DiceIcon, Intake } from "@plane/propel/icons"; import { store } from "@/lib/store-context"; import { TProjectActivity } from "@/plane-web/types"; diff --git a/apps/web/core/components/core/activity.tsx b/apps/web/core/components/core/activity.tsx index e0116958a9f..639d5f6d1c3 100644 --- a/apps/web/core/components/core/activity.tsx +++ b/apps/web/core/components/core/activity.tsx @@ -20,9 +20,10 @@ import { MessageSquareIcon, UsersIcon, } from "lucide-react"; +import { BlockedIcon, BlockerIcon, RelatedIcon, LayersIcon, DiceIcon, EpicIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { IIssueActivity } from "@plane/types"; -import { BlockedIcon, BlockerIcon, RelatedIcon, LayersIcon, DiceIcon, Intake, EpicIcon } from "@plane/ui"; +import { Intake } from "@plane/ui"; import { renderFormattedDate, generateWorkItemLink, capitalizeFirstLetter } from "@plane/utils"; // helpers import { useLabel } from "@/hooks/store/use-label"; diff --git a/apps/web/core/components/core/filters/date-filter-select.tsx b/apps/web/core/components/core/filters/date-filter-select.tsx index 45c38c1c309..b3955d4eaf9 100644 --- a/apps/web/core/components/core/filters/date-filter-select.tsx +++ b/apps/web/core/components/core/filters/date-filter-select.tsx @@ -2,7 +2,8 @@ import React from "react"; import { CalendarDays } from "lucide-react"; // ui -import { CustomSelect, CalendarAfterIcon, CalendarBeforeIcon } from "@plane/ui"; +import { CalendarAfterIcon, CalendarBeforeIcon } from "@plane/propel/icons"; +import { CustomSelect } from "@plane/ui"; type Props = { title: string; diff --git a/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx b/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx index 2423abfbdba..e0f71dc3dca 100644 --- a/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx +++ b/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx @@ -8,10 +8,11 @@ import { CalendarCheck } from "lucide-react"; import { Tab } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { PriorityIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssuesStoreType, ICycle, IIssueFilterOptions } from "@plane/types"; // ui -import { Loader, PriorityIcon, Avatar } from "@plane/ui"; +import { Loader, Avatar } from "@plane/ui"; import { cn, renderFormattedDate, renderFormattedDateWithoutYear, getFileURL } from "@plane/utils"; // components import { SingleProgressStats } from "@/components/core/sidebar/single-progress-stats"; diff --git a/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx b/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx index b0de0ce2401..65a1cd10f20 100644 --- a/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx +++ b/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx @@ -6,6 +6,7 @@ import Image from "next/image"; import { Tab } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IIssueFilterOptions, IIssueFilters, @@ -14,7 +15,7 @@ import { TCyclePlotType, TStateGroups, } from "@plane/types"; -import { Avatar, StateGroupIcon } from "@plane/ui"; +import { Avatar } from "@plane/ui"; import { cn, getFileURL } from "@plane/utils"; // components import { SingleProgressStats } from "@/components/core/sidebar/single-progress-stats"; diff --git a/apps/web/core/components/cycles/list/cycle-list-group-header.tsx b/apps/web/core/components/cycles/list/cycle-list-group-header.tsx index 0d51a28ee16..11e2f3968f0 100644 --- a/apps/web/core/components/cycles/list/cycle-list-group-header.tsx +++ b/apps/web/core/components/cycles/list/cycle-list-group-header.tsx @@ -3,9 +3,10 @@ import React, { FC } from "react"; import { ChevronDown } from "lucide-react"; // types +import { CycleGroupIcon } from "@plane/propel/icons"; import { TCycleGroups } from "@plane/types"; // icons -import { Row, CycleGroupIcon } from "@plane/ui"; +import { Row } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/cycles/list/cycle-list-item-action.tsx b/apps/web/core/components/cycles/list/cycle-list-item-action.tsx index 4bb048a7d63..457854a3be7 100644 --- a/apps/web/core/components/cycles/list/cycle-list-item-action.tsx +++ b/apps/web/core/components/cycles/list/cycle-list-item-action.tsx @@ -15,9 +15,10 @@ import { } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; +import { LayersIcon, TransferIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { ICycle, TCycleGroups } from "@plane/types"; -import { Avatar, AvatarGroup, FavoriteStar, LayersIcon, TransferIcon, setPromiseToast } from "@plane/ui"; +import { Avatar, AvatarGroup, FavoriteStar, setPromiseToast } from "@plane/ui"; import { getDate, getFileURL, generateQueryParams } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; diff --git a/apps/web/core/components/cycles/quick-actions.tsx b/apps/web/core/components/cycles/quick-actions.tsx index e3d8e500bf3..778e781154e 100644 --- a/apps/web/core/components/cycles/quick-actions.tsx +++ b/apps/web/core/components/cycles/quick-actions.tsx @@ -13,7 +13,8 @@ import { CYCLE_TRACKER_ELEMENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui"; +import { ArchiveIcon } from "@plane/propel/icons"; +import { ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; // helpers // hooks diff --git a/apps/web/core/components/cycles/transfer-issues-modal.tsx b/apps/web/core/components/cycles/transfer-issues-modal.tsx index 9a96d0efea9..e3a322eec9b 100644 --- a/apps/web/core/components/cycles/transfer-issues-modal.tsx +++ b/apps/web/core/components/cycles/transfer-issues-modal.tsx @@ -5,11 +5,12 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { AlertCircle, Search, X } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; +import { ContrastIcon, TransferIcon } from "@plane/propel/icons"; import { EIssuesStoreType } from "@plane/types"; // hooks // ui //icons -import { ContrastIcon, TransferIcon, TOAST_TYPE, setToast } from "@plane/ui"; +import { TOAST_TYPE, setToast } from "@plane/ui"; import { useCycle } from "@/hooks/store/use-cycle"; import { useIssues } from "@/hooks/store/use-issues"; //icons diff --git a/apps/web/core/components/cycles/transfer-issues.tsx b/apps/web/core/components/cycles/transfer-issues.tsx index bf5be1e74bc..467ec308220 100644 --- a/apps/web/core/components/cycles/transfer-issues.tsx +++ b/apps/web/core/components/cycles/transfer-issues.tsx @@ -2,7 +2,8 @@ import React from "react"; import { AlertCircle } from "lucide-react"; // ui -import { Button, TransferIcon } from "@plane/ui"; +import { TransferIcon } from "@plane/propel/icons"; +import { Button } from "@plane/ui"; type Props = { handleClick: () => void; diff --git a/apps/web/core/components/dropdowns/cycle/cycle-options.tsx b/apps/web/core/components/dropdowns/cycle/cycle-options.tsx index b6cf96d6584..4c3a0effd8e 100644 --- a/apps/web/core/components/dropdowns/cycle/cycle-options.tsx +++ b/apps/web/core/components/dropdowns/cycle/cycle-options.tsx @@ -11,9 +11,9 @@ import { Combobox } from "@headlessui/react"; // i18n import { useTranslation } from "@plane/i18n"; // icon +import { ContrastIcon, CycleGroupIcon } from "@plane/propel/icons"; import { TCycleGroups } from "@plane/types"; // ui -import { ContrastIcon, CycleGroupIcon } from "@plane/ui"; // store hooks import { useCycle } from "@/hooks/store/use-cycle"; import { usePlatformOS } from "@/hooks/use-platform-os"; diff --git a/apps/web/core/components/dropdowns/cycle/index.tsx b/apps/web/core/components/dropdowns/cycle/index.tsx index 7a30b583b98..4326064e6eb 100644 --- a/apps/web/core/components/dropdowns/cycle/index.tsx +++ b/apps/web/core/components/dropdowns/cycle/index.tsx @@ -5,7 +5,8 @@ import { observer } from "mobx-react"; import { ChevronDown } from "lucide-react"; import { useTranslation } from "@plane/i18n"; // ui -import { ComboDropDown, ContrastIcon } from "@plane/ui"; +import { ContrastIcon } from "@plane/propel/icons"; +import { ComboDropDown } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/dropdowns/module/button-content.tsx b/apps/web/core/components/dropdowns/module/button-content.tsx index 7cf714be9f3..6b8ecc1760a 100644 --- a/apps/web/core/components/dropdowns/module/button-content.tsx +++ b/apps/web/core/components/dropdowns/module/button-content.tsx @@ -2,8 +2,8 @@ import { ChevronDown, X } from "lucide-react"; // plane imports +import { DiceIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { DiceIcon } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useModule } from "@/hooks/store/use-module"; diff --git a/apps/web/core/components/dropdowns/module/module-options.tsx b/apps/web/core/components/dropdowns/module/module-options.tsx index 28f16839b61..aab6568a294 100644 --- a/apps/web/core/components/dropdowns/module/module-options.tsx +++ b/apps/web/core/components/dropdowns/module/module-options.tsx @@ -8,8 +8,8 @@ import { Check, Search } from "lucide-react"; import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { DiceIcon } from "@plane/propel/icons"; import { IModule } from "@plane/types"; -import { DiceIcon } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; diff --git a/apps/web/core/components/dropdowns/priority.tsx b/apps/web/core/components/dropdowns/priority.tsx index 74e75d61c64..d2485d11294 100644 --- a/apps/web/core/components/dropdowns/priority.tsx +++ b/apps/web/core/components/dropdowns/priority.tsx @@ -8,10 +8,11 @@ import { Combobox } from "@headlessui/react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types +import { PriorityIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { TIssuePriorities } from "@plane/types"; // ui -import { ComboDropDown, PriorityIcon } from "@plane/ui"; +import { ComboDropDown } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/dropdowns/state/base.tsx b/apps/web/core/components/dropdowns/state/base.tsx index 3d17c0e27f8..0fd654d91ed 100644 --- a/apps/web/core/components/dropdowns/state/base.tsx +++ b/apps/web/core/components/dropdowns/state/base.tsx @@ -7,8 +7,9 @@ import { ChevronDown, Search } from "lucide-react"; import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IState } from "@plane/types"; -import { ComboDropDown, Spinner, StateGroupIcon } from "@plane/ui"; +import { ComboDropDown, Spinner } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { DropdownButton } from "@/components/dropdowns/buttons"; diff --git a/apps/web/core/components/home/widgets/empty-states/recents.tsx b/apps/web/core/components/home/widgets/empty-states/recents.tsx index 5d48d29565f..c939cae61b5 100644 --- a/apps/web/core/components/home/widgets/empty-states/recents.tsx +++ b/apps/web/core/components/home/widgets/empty-states/recents.tsx @@ -1,6 +1,6 @@ import { Briefcase, FileText, History } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { LayersIcon } from "@plane/ui"; +import { LayersIcon } from "@plane/propel/icons"; const getDisplayContent = (type: string) => { switch (type) { diff --git a/apps/web/core/components/home/widgets/empty-states/stickies.tsx b/apps/web/core/components/home/widgets/empty-states/stickies.tsx index 1210ea096ce..5a639ceef42 100644 --- a/apps/web/core/components/home/widgets/empty-states/stickies.tsx +++ b/apps/web/core/components/home/widgets/empty-states/stickies.tsx @@ -1,6 +1,6 @@ // plane ui import { useTranslation } from "@plane/i18n"; -import { RecentStickyIcon } from "@plane/ui"; +import { RecentStickyIcon } from "@plane/propel/icons"; export const StickiesEmptyState = () => { const { t } = useTranslation(); diff --git a/apps/web/core/components/home/widgets/recents/index.tsx b/apps/web/core/components/home/widgets/recents/index.tsx index 5622a2541de..f02317aa824 100644 --- a/apps/web/core/components/home/widgets/recents/index.tsx +++ b/apps/web/core/components/home/widgets/recents/index.tsx @@ -6,9 +6,9 @@ import useSWR from "swr"; import { Briefcase, FileText } from "lucide-react"; import { useTranslation } from "@plane/i18n"; // plane types +import { LayersIcon } from "@plane/propel/icons"; import { TActivityEntityData, THomeWidgetProps, TRecentActivityFilterKeys } from "@plane/types"; // plane ui -import { LayersIcon } from "@plane/ui"; // components import { ContentOverflowWrapper } from "@/components/core/content-overflow-HOC"; // plane web services diff --git a/apps/web/core/components/home/widgets/recents/issue.tsx b/apps/web/core/components/home/widgets/recents/issue.tsx index ea1cadfeff9..8cad5878502 100644 --- a/apps/web/core/components/home/widgets/recents/issue.tsx +++ b/apps/web/core/components/home/widgets/recents/issue.tsx @@ -1,9 +1,9 @@ import { observer } from "mobx-react"; // plane types +import { LayersIcon, PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssueServiceType, TActivityEntityData, TIssueEntityData } from "@plane/types"; // plane ui -import { LayersIcon, PriorityIcon, StateGroupIcon } from "@plane/ui"; import { calculateTimeAgo, generateWorkItemLink } from "@plane/utils"; // components import { ListItem } from "@/components/core/list"; diff --git a/apps/web/core/components/inbox/content/issue-properties.tsx b/apps/web/core/components/inbox/content/issue-properties.tsx index 8aeac5e9535..47ea8f6ae0b 100644 --- a/apps/web/core/components/inbox/content/issue-properties.tsx +++ b/apps/web/core/components/inbox/content/issue-properties.tsx @@ -3,9 +3,10 @@ import React from "react"; import { observer } from "mobx-react"; import { CalendarCheck2, CopyPlus, Signal, Tag, Users } from "lucide-react"; +import { DoubleCircleIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { TInboxDuplicateIssueDetails, TIssue } from "@plane/types"; -import { ControlLink, DoubleCircleIcon } from "@plane/ui"; +import { ControlLink } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, generateWorkItemLink } from "@plane/utils"; // components import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx index a2eb5246b75..d6886eaf4e8 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx @@ -5,8 +5,9 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { PriorityIcon } from "@plane/propel/icons"; import { TIssuePriorities } from "@plane/types"; -import { PriorityIcon, Tag } from "@plane/ui"; +import { Tag } from "@plane/ui"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx index b5114ccd7fb..0871a17da53 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx @@ -4,7 +4,8 @@ import { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; import { EIconSize } from "@plane/constants"; -import { StateGroupIcon, Tag } from "@plane/ui"; +import { StateGroupIcon } from "@plane/propel/icons"; +import { Tag } from "@plane/ui"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; import { useProjectState } from "@/hooks/store/use-project-state"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx index a3174f51c8c..580fa397890 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx @@ -4,8 +4,8 @@ import { FC, useState } from "react"; import { observer } from "mobx-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { PriorityIcon } from "@plane/propel/icons"; import { TIssuePriorities } from "@plane/types"; -import { PriorityIcon } from "@plane/ui"; // plane constants // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx index 7c2778db2a8..4180ec36387 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx @@ -3,8 +3,9 @@ import { FC, useState } from "react"; import { observer } from "mobx-react"; import { EIconSize } from "@plane/constants"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IState } from "@plane/types"; -import { Loader, StateGroupIcon } from "@plane/ui"; +import { Loader } from "@plane/ui"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; // hooks diff --git a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx index 5e6da4f46d3..a99e459e479 100644 --- a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx +++ b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx @@ -5,8 +5,9 @@ import { observer } from "mobx-react"; import Link from "next/link"; import { useSearchParams } from "next/navigation"; // plane imports +import { PriorityIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { PriorityIcon, Row, Avatar } from "@plane/ui"; +import { Row, Avatar } from "@plane/ui"; import { cn, renderFormattedDate, getFileURL } from "@plane/utils"; // components import { ButtonAvatars } from "@/components/dropdowns/member/avatar"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx index 22e18556e1b..2c0cc96fd97 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx @@ -4,7 +4,7 @@ import { FC } from "react"; import { observer } from "mobx-react"; import { RotateCcw } from "lucide-react"; // hooks -import { ArchiveIcon } from "@plane/ui"; +import { ArchiveIcon } from "@plane/propel/icons"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // components import { IssueActivityBlockComponent } from "./"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx index f24c9056b93..2297ccccd34 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import { observer } from "mobx-react"; // hooks -import { ContrastIcon } from "@plane/ui"; +import { ContrastIcon } from "@plane/propel/icons"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // components import { IssueActivityBlockComponent } from "./"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx index 7ef63f96ef4..39272c6cab0 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx @@ -3,8 +3,8 @@ import { FC } from "react"; import { observer } from "mobx-react"; // plane imports +import { LayersIcon } from "@plane/propel/icons"; import { EInboxIssueSource } from "@plane/types"; -import { LayersIcon } from "@plane/ui"; // hooks import { capitalizeFirstLetter } from "@plane/utils"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx index e59b52b09c0..63d748b3517 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import { observer } from "mobx-react"; // hooks -import { DiceIcon } from "@plane/ui"; +import { DiceIcon } from "@plane/propel/icons"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // components import { IssueActivityBlockComponent } from "./"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx index b441304eef2..5af66eede23 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import { observer } from "mobx-react"; // hooks -import { DoubleCircleIcon } from "@plane/ui"; +import { DoubleCircleIcon } from "@plane/propel/icons"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // components import { IssueActivityBlockComponent, IssueLink } from "./"; diff --git a/apps/web/core/components/issues/issue-detail/sidebar.tsx b/apps/web/core/components/issues/issue-detail/sidebar.tsx index 65c5803e113..141f3ed1936 100644 --- a/apps/web/core/components/issues/issue-detail/sidebar.tsx +++ b/apps/web/core/components/issues/issue-detail/sidebar.tsx @@ -6,7 +6,7 @@ import { CalendarCheck2, CalendarClock, LayoutPanelTop, Signal, Tag, Triangle, U // i18n import { useTranslation } from "@plane/i18n"; // ui -import { ContrastIcon, DiceIcon, DoubleCircleIcon } from "@plane/ui"; +import { ContrastIcon, DiceIcon, DoubleCircleIcon } from "@plane/propel/icons"; import { cn, getDate, renderFormattedPayloadDate, shouldHighlightIssueDueDate } from "@plane/utils"; // components import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx index 0a08aec5fa2..3be676baf1a 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx @@ -2,9 +2,9 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; +import { CycleGroupIcon } from "@plane/propel/icons"; import { TCycleGroups } from "@plane/types"; // hooks -import { CycleGroupIcon } from "@plane/ui"; import { useCycle } from "@/hooks/store/use-cycle"; // ui // types diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/module.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/module.tsx index 524938c4733..84e92d6336f 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/module.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/module.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; // hooks -import { DiceIcon } from "@plane/ui"; +import { DiceIcon } from "@plane/propel/icons"; import { useModule } from "@/hooks/store/use-module"; // ui diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx index 9735d244613..2dc81c2e981 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx @@ -4,8 +4,8 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; +import { PriorityIcon } from "@plane/propel/icons"; import { TIssuePriorities } from "@plane/types"; -import { PriorityIcon } from "@plane/ui"; // types type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx index 807a5b23394..6072bc92bdc 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx @@ -5,8 +5,8 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; import { EIconSize } from "@plane/constants"; +import { StateGroupIcon } from "@plane/propel/icons"; import { TStateGroups } from "@plane/types"; -import { StateGroupIcon } from "@plane/ui"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx index d02fd6dad2d..f55aca43473 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx @@ -5,8 +5,8 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; import { EIconSize } from "@plane/constants"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IState } from "@plane/types"; -import { StateGroupIcon } from "@plane/ui"; // types type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx index bfb5dfe043c..0e4b17b451c 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx @@ -4,9 +4,10 @@ import React, { useMemo, useState } from "react"; import sortBy from "lodash/sortBy"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; +import { CycleGroupIcon } from "@plane/propel/icons"; import { TCycleGroups } from "@plane/types"; // components -import { Loader, CycleGroupIcon } from "@plane/ui"; +import { Loader } from "@plane/ui"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; import { useCycle } from "@/hooks/store/use-cycle"; // ui diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/module.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/module.tsx index 7b02e9536ad..ca4b4c63b2e 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/module.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/module.tsx @@ -5,7 +5,8 @@ import sortBy from "lodash/sortBy"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // components -import { Loader, DiceIcon } from "@plane/ui"; +import { DiceIcon } from "@plane/propel/icons"; +import { Loader } from "@plane/ui"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; import { useModule } from "@/hooks/store/use-module"; // ui diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/priority.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/priority.tsx index d519f63843b..36bb16991ff 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/priority.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/priority.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { PriorityIcon } from "@plane/ui"; +import { PriorityIcon } from "@plane/propel/icons"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/state-group.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/state-group.tsx index be38f0c73dd..4896b0d7267 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/state-group.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/state-group.tsx @@ -4,7 +4,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; // plane imports import { STATE_GROUPS } from "@plane/constants"; -import { StateGroupIcon } from "@plane/ui"; +import { StateGroupIcon } from "@plane/propel/icons"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx index f8506c817d9..c7f0206b8ce 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx @@ -4,9 +4,10 @@ import React, { useMemo, useState } from "react"; import sortBy from "lodash/sortBy"; import { observer } from "mobx-react"; import { EIconSize } from "@plane/constants"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IState } from "@plane/types"; // components -import { Loader, StateGroupIcon } from "@plane/ui"; +import { Loader } from "@plane/ui"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; // ui // types diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx index 80c4ae4f37b..32e114e6eb2 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx @@ -2,8 +2,9 @@ import { useMemo } from "react"; import { Copy, ExternalLink, Link, Pencil, Trash2, XCircle, ArchiveRestoreIcon } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { ArchiveIcon } from "@plane/propel/icons"; import { EIssuesStoreType, TIssue } from "@plane/types"; -import { ArchiveIcon, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui"; +import { TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui"; import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils"; // types import { createCopyMenuWithDuplication } from "@/plane-web/components/issues/issue-layouts/quick-action-dropdowns"; diff --git a/apps/web/core/components/issues/issue-layouts/utils.tsx b/apps/web/core/components/issues/issue-layouts/utils.tsx index c63ce1b0f9f..47d2c4376c6 100644 --- a/apps/web/core/components/issues/issue-layouts/utils.tsx +++ b/apps/web/core/components/issues/issue-layouts/utils.tsx @@ -12,6 +12,7 @@ import scrollIntoView from "smooth-scroll-into-view-if-needed"; import { ContrastIcon } from "lucide-react"; // plane types import { EIconSize, ISSUE_PRIORITIES, STATE_GROUPS } from "@plane/constants"; +import { CycleGroupIcon, DiceIcon, PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; import { EIssuesStoreType, GroupByColumnTypes, @@ -30,7 +31,7 @@ import { TGetColumns, } from "@plane/types"; // plane ui -import { Avatar, CycleGroupIcon, DiceIcon, ISvgIcons, PriorityIcon, StateGroupIcon } from "@plane/ui"; +import { Avatar, ISvgIcons } from "@plane/ui"; import { renderFormattedDate, getFileURL } from "@plane/utils"; // components import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/issues/peek-overview/header.tsx b/apps/web/core/components/issues/peek-overview/header.tsx index b6ced1a9677..99c79ced4b9 100644 --- a/apps/web/core/components/issues/peek-overview/header.tsx +++ b/apps/web/core/components/issues/peek-overview/header.tsx @@ -7,9 +7,10 @@ import { Link2, MoveDiagonal, MoveRight } from "lucide-react"; // plane imports import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { CenterPanelIcon, FullScreenPanelIcon, SidePanelIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { EIssuesStoreType, TNameDescriptionLoader } from "@plane/types"; -import { CenterPanelIcon, CustomSelect, FullScreenPanelIcon, SidePanelIcon, TOAST_TYPE, setToast } from "@plane/ui"; +import { CustomSelect, TOAST_TYPE, setToast } from "@plane/ui"; import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/issues/peek-overview/properties.tsx b/apps/web/core/components/issues/peek-overview/properties.tsx index 25a33a221c4..2017de05979 100644 --- a/apps/web/core/components/issues/peek-overview/properties.tsx +++ b/apps/web/core/components/issues/peek-overview/properties.tsx @@ -6,7 +6,7 @@ import { Signal, Tag, Triangle, LayoutPanelTop, CalendarClock, CalendarCheck2, U // i18n import { useTranslation } from "@plane/i18n"; // ui icons -import { DiceIcon, DoubleCircleIcon, ContrastIcon } from "@plane/ui"; +import { DiceIcon, DoubleCircleIcon, ContrastIcon } from "@plane/propel/icons"; import { cn, getDate, renderFormattedPayloadDate, shouldHighlightIssueDueDate } from "@plane/utils"; // components import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx b/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx index 555e7e32bb2..d64c542105b 100644 --- a/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx +++ b/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx @@ -5,6 +5,7 @@ import { observer } from "mobx-react"; import Image from "next/image"; import { Tab } from "@headlessui/react"; import { useTranslation } from "@plane/i18n"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IIssueFilterOptions, IIssueFilters, @@ -13,7 +14,7 @@ import { TModulePlotType, TStateGroups, } from "@plane/types"; -import { Avatar, StateGroupIcon } from "@plane/ui"; +import { Avatar } from "@plane/ui"; import { cn, getFileURL } from "@plane/utils"; // components import { SingleProgressStats } from "@/components/core/sidebar/single-progress-stats"; diff --git a/apps/web/core/components/modules/analytics-sidebar/root.tsx b/apps/web/core/components/modules/analytics-sidebar/root.tsx index a99bfb57fc7..ab402b97ff0 100644 --- a/apps/web/core/components/modules/analytics-sidebar/root.tsx +++ b/apps/web/core/components/modules/analytics-sidebar/root.tsx @@ -16,9 +16,10 @@ import { } from "@plane/constants"; // plane types import { useTranslation } from "@plane/i18n"; +import { LayersIcon, ModuleStatusIcon } from "@plane/propel/icons"; import { ILinkDetails, IModule, ModuleLink } from "@plane/types"; // plane ui -import { Loader, LayersIcon, CustomSelect, ModuleStatusIcon, TOAST_TYPE, setToast, TextArea } from "@plane/ui"; +import { Loader, CustomSelect, TOAST_TYPE, setToast, TextArea } from "@plane/ui"; // components // helpers import { getDate, renderFormattedPayloadDate } from "@plane/utils"; diff --git a/apps/web/core/components/modules/applied-filters/status.tsx b/apps/web/core/components/modules/applied-filters/status.tsx index 15a2e8b6ee7..d5c10eea10a 100644 --- a/apps/web/core/components/modules/applied-filters/status.tsx +++ b/apps/web/core/components/modules/applied-filters/status.tsx @@ -5,7 +5,7 @@ import { X } from "lucide-react"; // ui import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ModuleStatusIcon } from "@plane/ui"; +import { ModuleStatusIcon } from "@plane/propel/icons"; // constants type Props = { diff --git a/apps/web/core/components/modules/dropdowns/filters/status.tsx b/apps/web/core/components/modules/dropdowns/filters/status.tsx index f1aa3b14dde..09ee9e494bf 100644 --- a/apps/web/core/components/modules/dropdowns/filters/status.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/status.tsx @@ -4,9 +4,9 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { ModuleStatusIcon } from "@plane/propel/icons"; import { TModuleStatus } from "@plane/types"; // components -import { ModuleStatusIcon } from "@plane/ui"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; type Props = { diff --git a/apps/web/core/components/modules/gantt-chart/blocks.tsx b/apps/web/core/components/modules/gantt-chart/blocks.tsx index dfaeb067e53..6fc10df6d23 100644 --- a/apps/web/core/components/modules/gantt-chart/blocks.tsx +++ b/apps/web/core/components/modules/gantt-chart/blocks.tsx @@ -5,8 +5,8 @@ import Link from "next/link"; import { useParams } from "next/navigation"; // ui import { MODULE_STATUS } from "@plane/constants"; +import { ModuleStatusIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { ModuleStatusIcon } from "@plane/ui"; // components import { SIDEBAR_WIDTH } from "@/components/gantt-chart/constants"; import { getBlockViewDetails } from "@/components/issues/issue-layouts/utils"; diff --git a/apps/web/core/components/modules/module-status-dropdown.tsx b/apps/web/core/components/modules/module-status-dropdown.tsx index a3b2d588172..cb134307aaf 100644 --- a/apps/web/core/components/modules/module-status-dropdown.tsx +++ b/apps/web/core/components/modules/module-status-dropdown.tsx @@ -2,8 +2,9 @@ import React, { FC } from "react"; import { observer } from "mobx-react"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { ModuleStatusIcon } from "@plane/propel/icons"; import { IModule } from "@plane/types"; -import { CustomSelect, TModuleStatus, ModuleStatusIcon } from "@plane/ui"; +import { CustomSelect, TModuleStatus } from "@plane/ui"; type Props = { isDisabled: boolean; diff --git a/apps/web/core/components/modules/quick-actions.tsx b/apps/web/core/components/modules/quick-actions.tsx index 026479cfbb3..2b79316ed1f 100644 --- a/apps/web/core/components/modules/quick-actions.tsx +++ b/apps/web/core/components/modules/quick-actions.tsx @@ -14,7 +14,8 @@ import { } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui"; +import { ArchiveIcon } from "@plane/propel/icons"; +import { ContextMenu, CustomMenu, TContextMenuItem, TOAST_TYPE, setToast } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; // components import { ArchiveModuleModal, CreateUpdateModuleModal, DeleteModuleModal } from "@/components/modules"; diff --git a/apps/web/core/components/modules/select/status.tsx b/apps/web/core/components/modules/select/status.tsx index 7da437946c1..38aee57a1ce 100644 --- a/apps/web/core/components/modules/select/status.tsx +++ b/apps/web/core/components/modules/select/status.tsx @@ -6,9 +6,10 @@ import React from "react"; import { Controller, FieldError, Control } from "react-hook-form"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { DoubleCircleIcon, ModuleStatusIcon } from "@plane/propel/icons"; import type { IModule } from "@plane/types"; // ui -import { CustomSelect, DoubleCircleIcon, ModuleStatusIcon } from "@plane/ui"; +import { CustomSelect } from "@plane/ui"; // types // constants diff --git a/apps/web/core/components/modules/sidebar-select/select-status.tsx b/apps/web/core/components/modules/sidebar-select/select-status.tsx index 9d7a7fda93d..c1bf48c074d 100644 --- a/apps/web/core/components/modules/sidebar-select/select-status.tsx +++ b/apps/web/core/components/modules/sidebar-select/select-status.tsx @@ -6,9 +6,10 @@ import React from "react"; import { Control, Controller, UseFormWatch } from "react-hook-form"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { DoubleCircleIcon } from "@plane/propel/icons"; import { IModule } from "@plane/types"; // ui -import { CustomSelect, DoubleCircleIcon } from "@plane/ui"; +import { CustomSelect } from "@plane/ui"; // types // common // constants diff --git a/apps/web/core/components/onboarding/tour/sidebar.tsx b/apps/web/core/components/onboarding/tour/sidebar.tsx index bfc3fa09e89..b416eacb10e 100644 --- a/apps/web/core/components/onboarding/tour/sidebar.tsx +++ b/apps/web/core/components/onboarding/tour/sidebar.tsx @@ -2,7 +2,7 @@ // icons import { FileText, Layers } from "lucide-react"; -import { ContrastIcon, DiceIcon, LayersIcon } from "@plane/ui"; +import { ContrastIcon, DiceIcon, LayersIcon } from "@plane/propel/icons"; // types import { TTourSteps } from "./root"; diff --git a/apps/web/core/components/pages/dropdowns/actions.tsx b/apps/web/core/components/pages/dropdowns/actions.tsx index 3b08dbef41b..5ad00a6c900 100644 --- a/apps/web/core/components/pages/dropdowns/actions.tsx +++ b/apps/web/core/components/pages/dropdowns/actions.tsx @@ -20,7 +20,8 @@ import { EPageAccess, PROJECT_PAGE_TRACKER_ELEMENTS } from "@plane/constants"; // plane editor import type { EditorRefApi } from "@plane/editor"; // plane ui -import { ArchiveIcon, ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import { ArchiveIcon } from "@plane/propel/icons"; +import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; // components import { cn } from "@plane/utils"; import { DeletePageModal } from "@/components/pages/modals/delete-page-modal"; diff --git a/apps/web/core/components/pages/header/archived-badge.tsx b/apps/web/core/components/pages/header/archived-badge.tsx index afe24fd5921..34e812eb9a2 100644 --- a/apps/web/core/components/pages/header/archived-badge.tsx +++ b/apps/web/core/components/pages/header/archived-badge.tsx @@ -1,6 +1,6 @@ import { observer } from "mobx-react"; // plane imports -import { ArchiveIcon } from "@plane/ui"; +import { ArchiveIcon } from "@plane/propel/icons"; import { renderFormattedDate } from "@plane/utils"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/profile/overview/stats.tsx b/apps/web/core/components/profile/overview/stats.tsx index cf0f15d3e1a..34da37fd32b 100644 --- a/apps/web/core/components/profile/overview/stats.tsx +++ b/apps/web/core/components/profile/overview/stats.tsx @@ -6,8 +6,9 @@ import { useParams } from "next/navigation"; // ui import { UserCircle2 } from "lucide-react"; import { useTranslation } from "@plane/i18n"; +import { CreateIcon, LayerStackIcon } from "@plane/propel/icons"; import { IUserProfileData } from "@plane/types"; -import { CreateIcon, LayerStackIcon, Loader, Card, ECardSpacing, ECardDirection } from "@plane/ui"; +import { Loader, Card, ECardSpacing, ECardDirection } from "@plane/ui"; // types type Props = { diff --git a/apps/web/core/components/project-states/group-item.tsx b/apps/web/core/components/project-states/group-item.tsx index 82a68a4d66c..45986319715 100644 --- a/apps/web/core/components/project-states/group-item.tsx +++ b/apps/web/core/components/project-states/group-item.tsx @@ -6,8 +6,8 @@ import { ChevronDown, Plus } from "lucide-react"; // plane imports import { EIconSize, STATE_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; -import { StateGroupIcon } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { StateList, StateCreate } from "@/components/project-states"; diff --git a/apps/web/core/components/project-states/state-item-title.tsx b/apps/web/core/components/project-states/state-item-title.tsx index 7bfe7fc6f3e..80027cee7d9 100644 --- a/apps/web/core/components/project-states/state-item-title.tsx +++ b/apps/web/core/components/project-states/state-item-title.tsx @@ -3,8 +3,8 @@ import { observer } from "mobx-react"; import { GripVertical, Pencil } from "lucide-react"; // plane imports import { EIconSize, STATE_TRACKER_ELEMENTS } from "@plane/constants"; +import { StateGroupIcon } from "@plane/propel/icons"; import { IState, TStateOperationsCallbacks } from "@plane/types"; -import { StateGroupIcon } from "@plane/ui"; // local imports import { useProjectState } from "@/hooks/store/use-project-state"; import { StateDelete, StateMarksAsDefault } from "./options"; diff --git a/apps/web/core/components/stickies/action-bar.tsx b/apps/web/core/components/stickies/action-bar.tsx index 9b6e1ed9268..640f615a3ef 100644 --- a/apps/web/core/components/stickies/action-bar.tsx +++ b/apps/web/core/components/stickies/action-bar.tsx @@ -6,8 +6,8 @@ import { Plus, StickyNote as StickyIcon, X } from "lucide-react"; // plane hooks import { useOutsideClickDetector } from "@plane/hooks"; // plane ui +import { RecentStickyIcon, StickyNoteIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { RecentStickyIcon, StickyNoteIcon } from "@plane/ui"; // plane utils import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/stickies/modal/stickies.tsx b/apps/web/core/components/stickies/modal/stickies.tsx index 1cc16bfc6d8..c70665e36f3 100644 --- a/apps/web/core/components/stickies/modal/stickies.tsx +++ b/apps/web/core/components/stickies/modal/stickies.tsx @@ -2,7 +2,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { Plus, X } from "lucide-react"; // plane ui -import { RecentStickyIcon } from "@plane/ui"; +import { RecentStickyIcon } from "@plane/propel/icons"; // hooks import { useSticky } from "@/hooks/use-stickies"; // components diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx index d7a298145f1..fde618e70b4 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx @@ -5,8 +5,9 @@ import { observer } from "mobx-react"; import { Check, CheckCircle, Clock } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { ArchiveIcon } from "@plane/propel/icons"; import { TNotificationFilter } from "@plane/types"; -import { ArchiveIcon, PopoverMenu } from "@plane/ui"; +import { PopoverMenu } from "@plane/ui"; // hooks import { useWorkspaceNotifications } from "@/hooks/store/notifications"; // local imports diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx index 0c6a8ab2165..b5134495c58 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx @@ -6,7 +6,8 @@ import { ArchiveRestore } from "lucide-react"; // plane imports import { NOTIFICATION_TRACKER_ELEMENTS, NOTIFICATION_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ArchiveIcon, TOAST_TYPE, setToast } from "@plane/ui"; +import { ArchiveIcon } from "@plane/propel/icons"; +import { TOAST_TYPE, setToast } from "@plane/ui"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; // hooks diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx index 14a9e9e52af..f9f5c881ffe 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx @@ -20,9 +20,10 @@ import { Disclosure, Transition } from "@headlessui/react"; // plane imports import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; +import { FavoriteFolderIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { IFavorite, InstructionType } from "@plane/types"; -import { CustomMenu, DropIndicator, FavoriteFolderIcon, DragHandle } from "@plane/ui"; +import { CustomMenu, DropIndicator, DragHandle } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx b/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx index 5412196b556..160a820ee9d 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx @@ -6,7 +6,8 @@ import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; // plane helpers // plane ui -import { FavoriteFolderIcon, Input, setToast, TOAST_TYPE } from "@plane/ui"; +import { FavoriteFolderIcon } from "@plane/propel/icons"; +import { Input, setToast, TOAST_TYPE } from "@plane/ui"; // hooks import { useFavorite } from "@/hooks/store/use-favorite"; diff --git a/apps/web/core/components/workspace/sidebar/project-navigation.tsx b/apps/web/core/components/workspace/sidebar/project-navigation.tsx index f90f5d65a68..e5aaa7a1e1e 100644 --- a/apps/web/core/components/workspace/sidebar/project-navigation.tsx +++ b/apps/web/core/components/workspace/sidebar/project-navigation.tsx @@ -7,9 +7,10 @@ import { useParams, usePathname } from "next/navigation"; import { FileText, Layers } from "lucide-react"; import { EUserPermissionsLevel, EUserPermissions } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; +import { DiceIcon, ContrastIcon, LayersIcon } from "@plane/propel/icons"; import { EUserProjectRoles } from "@plane/types"; // plane ui -import { DiceIcon, ContrastIcon, LayersIcon, Intake } from "@plane/ui"; +import { Intake } from "@plane/ui"; // components import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation"; // hooks diff --git a/apps/web/core/components/workspace/sidebar/projects-list-item.tsx b/apps/web/core/components/workspace/sidebar/projects-list-item.tsx index 09bcbec9985..3ae47541bc7 100644 --- a/apps/web/core/components/workspace/sidebar/projects-list-item.tsx +++ b/apps/web/core/components/workspace/sidebar/projects-list-item.tsx @@ -15,8 +15,9 @@ import { Disclosure, Transition } from "@headlessui/react"; import { EUserPermissions, EUserPermissionsLevel, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; +import { ArchiveIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { CustomMenu, ArchiveIcon, DropIndicator, DragHandle, ControlLink } from "@plane/ui"; +import { CustomMenu, DropIndicator, DragHandle, ControlLink } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/workspace/sidebar/user-menu.tsx b/apps/web/core/components/workspace/sidebar/user-menu.tsx index 2b9bcfcee9a..17d2dbe616e 100644 --- a/apps/web/core/components/workspace/sidebar/user-menu.tsx +++ b/apps/web/core/components/workspace/sidebar/user-menu.tsx @@ -5,8 +5,8 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { Home, Inbox, PenSquare } from "lucide-react"; // plane imports +import { UserActivityIcon } from "@plane/propel/icons"; import { EUserWorkspaceRoles } from "@plane/types"; -import { UserActivityIcon } from "@plane/ui"; // hooks import { useUserPermissions, useUser } from "@/hooks/store/user"; // local imports diff --git a/apps/web/core/components/workspace/sidebar/workspace-menu.tsx b/apps/web/core/components/workspace/sidebar/workspace-menu.tsx index a1fde4936cb..81f595d9e95 100644 --- a/apps/web/core/components/workspace/sidebar/workspace-menu.tsx +++ b/apps/web/core/components/workspace/sidebar/workspace-menu.tsx @@ -6,8 +6,8 @@ import { useParams } from "next/navigation"; import { BarChart2, Briefcase, Layers } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; // plane imports +import { ContrastIcon } from "@plane/propel/icons"; import { EUserWorkspaceRoles } from "@plane/types"; -import { ContrastIcon } from "@plane/ui"; // hooks import useLocalStorage from "@/hooks/use-local-storage"; // local imports diff --git a/apps/web/core/constants/editor.ts b/apps/web/core/constants/editor.ts index 57ef821f366..ff046b917df 100644 --- a/apps/web/core/constants/editor.ts +++ b/apps/web/core/constants/editor.ts @@ -25,7 +25,7 @@ import { } from "lucide-react"; // plane imports import type { TCommandExtraProps, TEditorCommands, TEditorFontStyle } from "@plane/editor"; -import { MonospaceIcon, SansSerifIcon, SerifIcon } from "@plane/ui"; +import { MonospaceIcon, SansSerifIcon, SerifIcon } from "@plane/propel/icons"; import { convertRemToPixel } from "@plane/utils"; type TEditorTypes = "lite" | "document" | "sticky"; diff --git a/apps/web/core/constants/plans.tsx b/apps/web/core/constants/plans.tsx index 3946f1c2645..717e2ac7d07 100644 --- a/apps/web/core/constants/plans.tsx +++ b/apps/web/core/constants/plans.tsx @@ -1,7 +1,7 @@ import { Mail, MessageCircle } from "lucide-react"; +import { DiscordIcon } from "@plane/propel/icons"; import { EProductSubscriptionEnum } from "@plane/types"; // plane imports -import { DiscordIcon } from "@plane/ui"; import { cn } from "@plane/utils"; export type TPlanFeatureData = React.ReactNode | boolean | null; diff --git a/packages/propel/package.json b/packages/propel/package.json index a65b6660711..d8887a77bb6 100644 --- a/packages/propel/package.json +++ b/packages/propel/package.json @@ -63,4 +63,4 @@ "tsdown": "catalog:", "typescript": "catalog:" } -} \ No newline at end of file +} diff --git a/packages/propel/src/icons/cycle/cycle-group-icon.tsx b/packages/propel/src/icons/cycle/cycle-group-icon.tsx index 00c52f6118f..3fc97c2a71a 100644 --- a/packages/propel/src/icons/cycle/cycle-group-icon.tsx +++ b/packages/propel/src/icons/cycle/cycle-group-icon.tsx @@ -1,5 +1,5 @@ -import { CircleDotDashed, Circle } from "lucide-react"; import * as React from "react"; +import { CircleDotDashed, Circle } from "lucide-react"; import { CircleDotFullIcon } from "./circle-dot-full-icon"; import { ContrastIcon } from "./contrast-icon"; diff --git a/packages/propel/src/icons/priority-icon.tsx b/packages/propel/src/icons/priority-icon.tsx index 931f4272aac..e7da9debba4 100644 --- a/packages/propel/src/icons/priority-icon.tsx +++ b/packages/propel/src/icons/priority-icon.tsx @@ -1,5 +1,5 @@ -import { AlertCircle, Ban, SignalHigh, SignalLow, SignalMedium } from "lucide-react"; import * as React from "react"; +import { AlertCircle, Ban, SignalHigh, SignalLow, SignalMedium } from "lucide-react"; import { cn } from "../utils"; export type TIssuePriorities = "urgent" | "high" | "medium" | "low" | "none"; diff --git a/packages/utils/src/string.ts b/packages/utils/src/string.ts index fdd0a73496f..7735011511e 100644 --- a/packages/utils/src/string.ts +++ b/packages/utils/src/string.ts @@ -1,5 +1,5 @@ -import type { Content, JSONContent } from "@plane/types"; import DOMPurify from "isomorphic-dompurify"; +import type { Content, JSONContent } from "@plane/types"; /** * @description Adds space between camelCase words From f35ab23951dd8515fe8b022560a1ea684d5dce0c Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Thu, 4 Sep 2025 00:52:20 +0530 Subject: [PATCH 4/8] chore: remove icon components from @plane/ui package (migrated to @plane/propel/icons) --- packages/ui/src/icons/activity-icon.tsx | 30 ------- packages/ui/src/icons/ai-icon.tsx | 30 ------- packages/ui/src/icons/archive-icon.tsx | 32 -------- packages/ui/src/icons/at-risk-icon.tsx | 21 ----- packages/ui/src/icons/bar-icon.tsx | 20 ----- packages/ui/src/icons/blocked-icon.tsx | 26 ------- packages/ui/src/icons/blocker-icon.tsx | 26 ------- .../ui/src/icons/brand/accenture-logo.tsx | 28 ------- packages/ui/src/icons/brand/dolby-logo.tsx | 40 ---------- packages/ui/src/icons/brand/index.ts | 7 -- packages/ui/src/icons/brand/plane-lockup.tsx | 48 ------------ packages/ui/src/icons/brand/plane-logo.tsx | 19 ----- .../ui/src/icons/brand/plane-wordmark.tsx | 37 --------- packages/ui/src/icons/brand/sony-logo.tsx | 19 ----- packages/ui/src/icons/brand/zerodha-logo.tsx | 30 ------- packages/ui/src/icons/calendar-after-icon.tsx | 19 ----- .../ui/src/icons/calendar-before-icon.tsx | 30 ------- packages/ui/src/icons/center-panel-icon.tsx | 30 ------- packages/ui/src/icons/comment-fill-icon.tsx | 14 ---- packages/ui/src/icons/create-icon.tsx | 22 ------ .../src/icons/cycle/circle-dot-full-icon.tsx | 10 --- packages/ui/src/icons/cycle/contrast-icon.tsx | 26 ------- .../ui/src/icons/cycle/cycle-group-icon.tsx | 33 -------- .../ui/src/icons/cycle/double-circle-icon.tsx | 17 ---- packages/ui/src/icons/cycle/helper.tsx | 27 ------- packages/ui/src/icons/cycle/index.ts | 6 -- packages/ui/src/icons/dice-icon.tsx | 44 ----------- packages/ui/src/icons/discord-icon.tsx | 32 -------- packages/ui/src/icons/display-properties.tsx | 14 ---- packages/ui/src/icons/done-icon.tsx | 22 ------ packages/ui/src/icons/dropdown-icon.tsx | 15 ---- packages/ui/src/icons/epic-icon.tsx | 28 ------- .../ui/src/icons/favorite-folder-icon.tsx | 30 ------- .../ui/src/icons/full-screen-panel-icon.tsx | 26 ------- packages/ui/src/icons/github-icon.tsx | 28 ------- packages/ui/src/icons/gitlab-icon.tsx | 28 ------- packages/ui/src/icons/in-progress-icon.tsx | 17 ---- packages/ui/src/icons/index.ts | 58 -------------- packages/ui/src/icons/info-fill-icon.tsx | 14 ---- packages/ui/src/icons/info-icon.tsx | 21 ----- packages/ui/src/icons/intake.tsx | 22 ------ packages/ui/src/icons/layer-stack.tsx | 30 ------- packages/ui/src/icons/layers-icon.tsx | 37 --------- packages/ui/src/icons/lead-icon.tsx | 26 ------- packages/ui/src/icons/module/backlog.tsx | 39 ---------- packages/ui/src/icons/module/cancelled.tsx | 26 ------- packages/ui/src/icons/module/completed.tsx | 19 ----- packages/ui/src/icons/module/in-progress.tsx | 43 ---------- packages/ui/src/icons/module/index.ts | 7 -- .../src/icons/module/module-status-icon.tsx | 27 ------- packages/ui/src/icons/module/paused.tsx | 26 ------- packages/ui/src/icons/module/planned.tsx | 19 ----- packages/ui/src/icons/monospace-icon.tsx | 16 ---- packages/ui/src/icons/multiple-sticky.tsx | 28 ------- packages/ui/src/icons/off-track-icon.tsx | 21 ----- packages/ui/src/icons/on-track-icon.tsx | 42 ---------- packages/ui/src/icons/overview-icon.tsx | 14 ---- packages/ui/src/icons/pending-icon.tsx | 27 ------- packages/ui/src/icons/photo-filter-icon.tsx | 32 -------- packages/ui/src/icons/pi-chat.tsx | 21 ----- packages/ui/src/icons/plane-icon.tsx | 35 --------- packages/ui/src/icons/planned-icon.tsx | 40 ---------- packages/ui/src/icons/priority-icon.tsx | 78 ------------------- packages/ui/src/icons/related-icon.tsx | 26 ------- packages/ui/src/icons/sans-serif-icon.tsx | 16 ---- packages/ui/src/icons/serif-icon.tsx | 16 ---- packages/ui/src/icons/side-panel-icon.tsx | 26 ------- .../ui/src/icons/state/backlog-group-icon.tsx | 27 ------- .../src/icons/state/cancelled-group-icon.tsx | 27 ------- .../src/icons/state/completed-group-icon.tsx | 27 ------- packages/ui/src/icons/state/dashed-circle.tsx | 40 ---------- packages/ui/src/icons/state/helper.tsx | 31 -------- packages/ui/src/icons/state/index.ts | 6 -- .../ui/src/icons/state/progress-circle.tsx | 32 -------- .../ui/src/icons/state/started-group-icon.tsx | 65 ---------------- .../ui/src/icons/state/state-group-icon.tsx | 37 --------- .../src/icons/state/unstarted-group-icon.tsx | 51 ------------ packages/ui/src/icons/sticky-note-icon.tsx | 36 --------- packages/ui/src/icons/teams.tsx | 19 ----- packages/ui/src/icons/transfer-icon.tsx | 9 --- packages/ui/src/icons/tree-map-icon.tsx | 16 ---- packages/ui/src/icons/type.ts | 4 - packages/ui/src/icons/updates-icon.tsx | 18 ----- packages/ui/src/icons/user-activity-icon.tsx | 21 ----- packages/ui/src/icons/wiki-icon.tsx | 26 ------- packages/ui/src/icons/workspace-icon.tsx | 21 ----- packages/ui/src/index.ts | 1 - 87 files changed, 2297 deletions(-) delete mode 100644 packages/ui/src/icons/activity-icon.tsx delete mode 100644 packages/ui/src/icons/ai-icon.tsx delete mode 100644 packages/ui/src/icons/archive-icon.tsx delete mode 100644 packages/ui/src/icons/at-risk-icon.tsx delete mode 100644 packages/ui/src/icons/bar-icon.tsx delete mode 100644 packages/ui/src/icons/blocked-icon.tsx delete mode 100644 packages/ui/src/icons/blocker-icon.tsx delete mode 100644 packages/ui/src/icons/brand/accenture-logo.tsx delete mode 100644 packages/ui/src/icons/brand/dolby-logo.tsx delete mode 100644 packages/ui/src/icons/brand/index.ts delete mode 100644 packages/ui/src/icons/brand/plane-lockup.tsx delete mode 100644 packages/ui/src/icons/brand/plane-logo.tsx delete mode 100644 packages/ui/src/icons/brand/plane-wordmark.tsx delete mode 100644 packages/ui/src/icons/brand/sony-logo.tsx delete mode 100644 packages/ui/src/icons/brand/zerodha-logo.tsx delete mode 100644 packages/ui/src/icons/calendar-after-icon.tsx delete mode 100644 packages/ui/src/icons/calendar-before-icon.tsx delete mode 100644 packages/ui/src/icons/center-panel-icon.tsx delete mode 100644 packages/ui/src/icons/comment-fill-icon.tsx delete mode 100644 packages/ui/src/icons/create-icon.tsx delete mode 100644 packages/ui/src/icons/cycle/circle-dot-full-icon.tsx delete mode 100644 packages/ui/src/icons/cycle/contrast-icon.tsx delete mode 100644 packages/ui/src/icons/cycle/cycle-group-icon.tsx delete mode 100644 packages/ui/src/icons/cycle/double-circle-icon.tsx delete mode 100644 packages/ui/src/icons/cycle/helper.tsx delete mode 100644 packages/ui/src/icons/cycle/index.ts delete mode 100644 packages/ui/src/icons/dice-icon.tsx delete mode 100644 packages/ui/src/icons/discord-icon.tsx delete mode 100644 packages/ui/src/icons/display-properties.tsx delete mode 100644 packages/ui/src/icons/done-icon.tsx delete mode 100644 packages/ui/src/icons/dropdown-icon.tsx delete mode 100644 packages/ui/src/icons/epic-icon.tsx delete mode 100644 packages/ui/src/icons/favorite-folder-icon.tsx delete mode 100644 packages/ui/src/icons/full-screen-panel-icon.tsx delete mode 100644 packages/ui/src/icons/github-icon.tsx delete mode 100644 packages/ui/src/icons/gitlab-icon.tsx delete mode 100644 packages/ui/src/icons/in-progress-icon.tsx delete mode 100644 packages/ui/src/icons/index.ts delete mode 100644 packages/ui/src/icons/info-fill-icon.tsx delete mode 100644 packages/ui/src/icons/info-icon.tsx delete mode 100644 packages/ui/src/icons/intake.tsx delete mode 100644 packages/ui/src/icons/layer-stack.tsx delete mode 100644 packages/ui/src/icons/layers-icon.tsx delete mode 100644 packages/ui/src/icons/lead-icon.tsx delete mode 100644 packages/ui/src/icons/module/backlog.tsx delete mode 100644 packages/ui/src/icons/module/cancelled.tsx delete mode 100644 packages/ui/src/icons/module/completed.tsx delete mode 100644 packages/ui/src/icons/module/in-progress.tsx delete mode 100644 packages/ui/src/icons/module/index.ts delete mode 100644 packages/ui/src/icons/module/module-status-icon.tsx delete mode 100644 packages/ui/src/icons/module/paused.tsx delete mode 100644 packages/ui/src/icons/module/planned.tsx delete mode 100644 packages/ui/src/icons/monospace-icon.tsx delete mode 100644 packages/ui/src/icons/multiple-sticky.tsx delete mode 100644 packages/ui/src/icons/off-track-icon.tsx delete mode 100644 packages/ui/src/icons/on-track-icon.tsx delete mode 100644 packages/ui/src/icons/overview-icon.tsx delete mode 100644 packages/ui/src/icons/pending-icon.tsx delete mode 100644 packages/ui/src/icons/photo-filter-icon.tsx delete mode 100644 packages/ui/src/icons/pi-chat.tsx delete mode 100644 packages/ui/src/icons/plane-icon.tsx delete mode 100644 packages/ui/src/icons/planned-icon.tsx delete mode 100644 packages/ui/src/icons/priority-icon.tsx delete mode 100644 packages/ui/src/icons/related-icon.tsx delete mode 100644 packages/ui/src/icons/sans-serif-icon.tsx delete mode 100644 packages/ui/src/icons/serif-icon.tsx delete mode 100644 packages/ui/src/icons/side-panel-icon.tsx delete mode 100644 packages/ui/src/icons/state/backlog-group-icon.tsx delete mode 100644 packages/ui/src/icons/state/cancelled-group-icon.tsx delete mode 100644 packages/ui/src/icons/state/completed-group-icon.tsx delete mode 100644 packages/ui/src/icons/state/dashed-circle.tsx delete mode 100644 packages/ui/src/icons/state/helper.tsx delete mode 100644 packages/ui/src/icons/state/index.ts delete mode 100644 packages/ui/src/icons/state/progress-circle.tsx delete mode 100644 packages/ui/src/icons/state/started-group-icon.tsx delete mode 100644 packages/ui/src/icons/state/state-group-icon.tsx delete mode 100644 packages/ui/src/icons/state/unstarted-group-icon.tsx delete mode 100644 packages/ui/src/icons/sticky-note-icon.tsx delete mode 100644 packages/ui/src/icons/teams.tsx delete mode 100644 packages/ui/src/icons/transfer-icon.tsx delete mode 100644 packages/ui/src/icons/tree-map-icon.tsx delete mode 100644 packages/ui/src/icons/type.ts delete mode 100644 packages/ui/src/icons/updates-icon.tsx delete mode 100644 packages/ui/src/icons/user-activity-icon.tsx delete mode 100644 packages/ui/src/icons/wiki-icon.tsx delete mode 100644 packages/ui/src/icons/workspace-icon.tsx diff --git a/packages/ui/src/icons/activity-icon.tsx b/packages/ui/src/icons/activity-icon.tsx deleted file mode 100644 index 14f3b1d421b..00000000000 --- a/packages/ui/src/icons/activity-icon.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const ActivityIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/ai-icon.tsx b/packages/ui/src/icons/ai-icon.tsx deleted file mode 100644 index 149d9db39df..00000000000 --- a/packages/ui/src/icons/ai-icon.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const AiIcon: React.FC = ({ width = "16", height = "16", className, color = "currentColor" }) => ( - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/archive-icon.tsx b/packages/ui/src/icons/archive-icon.tsx deleted file mode 100644 index ae29d99f743..00000000000 --- a/packages/ui/src/icons/archive-icon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const ArchiveIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - - - -); diff --git a/packages/ui/src/icons/at-risk-icon.tsx b/packages/ui/src/icons/at-risk-icon.tsx deleted file mode 100644 index 748307b3c21..00000000000 --- a/packages/ui/src/icons/at-risk-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const AtRiskIcon: React.FC = ({ width = "16", height = "16" }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/bar-icon.tsx b/packages/ui/src/icons/bar-icon.tsx deleted file mode 100644 index b20d5ebeaec..00000000000 --- a/packages/ui/src/icons/bar-icon.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const BarIcon: React.FC = ({ className = "", ...rest }) => ( - - - - - -); diff --git a/packages/ui/src/icons/blocked-icon.tsx b/packages/ui/src/icons/blocked-icon.tsx deleted file mode 100644 index 18ea85f8b22..00000000000 --- a/packages/ui/src/icons/blocked-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const BlockedIcon: React.FC = ({ height = "24", width = "24", className = "", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/blocker-icon.tsx b/packages/ui/src/icons/blocker-icon.tsx deleted file mode 100644 index 432ef942302..00000000000 --- a/packages/ui/src/icons/blocker-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const BlockerIcon: React.FC = ({ height = "24", width = "24", className = "", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/brand/accenture-logo.tsx b/packages/ui/src/icons/brand/accenture-logo.tsx deleted file mode 100644 index fa65f0124f5..00000000000 --- a/packages/ui/src/icons/brand/accenture-logo.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const AccentureLogo: React.FC = ({ - width = "51", - height = "16", - className, - color = "currentColor", -}) => ( - - - - -); diff --git a/packages/ui/src/icons/brand/dolby-logo.tsx b/packages/ui/src/icons/brand/dolby-logo.tsx deleted file mode 100644 index bae0fe0c742..00000000000 --- a/packages/ui/src/icons/brand/dolby-logo.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const DolbyLogo: React.FC = ({ width = "40", height = "16", className, color = "currentColor" }) => ( - - - - - - - - - -); diff --git a/packages/ui/src/icons/brand/index.ts b/packages/ui/src/icons/brand/index.ts deleted file mode 100644 index 10f7c42e0d7..00000000000 --- a/packages/ui/src/icons/brand/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from "./accenture-logo"; -export * from "./dolby-logo"; -export * from "./sony-logo"; -export * from "./zerodha-logo"; -export * from "./plane-lockup"; -export * from "./plane-logo"; -export * from "./plane-wordmark"; diff --git a/packages/ui/src/icons/brand/plane-lockup.tsx b/packages/ui/src/icons/brand/plane-lockup.tsx deleted file mode 100644 index ceb83659454..00000000000 --- a/packages/ui/src/icons/brand/plane-lockup.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const PlaneLockup: React.FC = ({ - width = "253", - height = "53", - className, - color = "currentColor", -}) => ( - - - - - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/brand/plane-logo.tsx b/packages/ui/src/icons/brand/plane-logo.tsx deleted file mode 100644 index 69fb95ef437..00000000000 --- a/packages/ui/src/icons/brand/plane-logo.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const PlaneLogo: React.FC = ({ width = "85", height = "52", className, color = "currentColor" }) => ( - - - -); diff --git a/packages/ui/src/icons/brand/plane-wordmark.tsx b/packages/ui/src/icons/brand/plane-wordmark.tsx deleted file mode 100644 index fc31d10a648..00000000000 --- a/packages/ui/src/icons/brand/plane-wordmark.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const PlaneWordmark: React.FC = ({ - width = "146", - height = "44", - className, - color = "currentColor", -}) => ( - - - - - - - -); diff --git a/packages/ui/src/icons/brand/sony-logo.tsx b/packages/ui/src/icons/brand/sony-logo.tsx deleted file mode 100644 index 62e8d2b7873..00000000000 --- a/packages/ui/src/icons/brand/sony-logo.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const SonyLogo: React.FC = ({ width = "44", height = "16", className, color = "currentColor" }) => ( - - - -); diff --git a/packages/ui/src/icons/brand/zerodha-logo.tsx b/packages/ui/src/icons/brand/zerodha-logo.tsx deleted file mode 100644 index 21ae65bac29..00000000000 --- a/packages/ui/src/icons/brand/zerodha-logo.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ZerodhaLogo: React.FC = ({ - width = "64", - height = "16", - className, - color = "currentColor", -}) => ( - - - - -); diff --git a/packages/ui/src/icons/calendar-after-icon.tsx b/packages/ui/src/icons/calendar-after-icon.tsx deleted file mode 100644 index 905af07169d..00000000000 --- a/packages/ui/src/icons/calendar-after-icon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const CalendarAfterIcon: React.FC = ({ className = "fill-current", ...rest }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/calendar-before-icon.tsx b/packages/ui/src/icons/calendar-before-icon.tsx deleted file mode 100644 index 2e19e6f548c..00000000000 --- a/packages/ui/src/icons/calendar-before-icon.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const CalendarBeforeIcon: React.FC = ({ className = "fill-current", ...rest }) => ( - - - - - - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/center-panel-icon.tsx b/packages/ui/src/icons/center-panel-icon.tsx deleted file mode 100644 index 4704dbf0af1..00000000000 --- a/packages/ui/src/icons/center-panel-icon.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const CenterPanelIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/comment-fill-icon.tsx b/packages/ui/src/icons/comment-fill-icon.tsx deleted file mode 100644 index 8825fbc7933..00000000000 --- a/packages/ui/src/icons/comment-fill-icon.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const CommentFillIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - -); diff --git a/packages/ui/src/icons/create-icon.tsx b/packages/ui/src/icons/create-icon.tsx deleted file mode 100644 index 34241f553a1..00000000000 --- a/packages/ui/src/icons/create-icon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const CreateIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - -); diff --git a/packages/ui/src/icons/cycle/circle-dot-full-icon.tsx b/packages/ui/src/icons/cycle/circle-dot-full-icon.tsx deleted file mode 100644 index d6cf059ef53..00000000000 --- a/packages/ui/src/icons/cycle/circle-dot-full-icon.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const CircleDotFullIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/cycle/contrast-icon.tsx b/packages/ui/src/icons/cycle/contrast-icon.tsx deleted file mode 100644 index 86ac3619cd0..00000000000 --- a/packages/ui/src/icons/cycle/contrast-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ContrastIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/cycle/cycle-group-icon.tsx b/packages/ui/src/icons/cycle/cycle-group-icon.tsx deleted file mode 100644 index 00c52f6118f..00000000000 --- a/packages/ui/src/icons/cycle/cycle-group-icon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { CircleDotDashed, Circle } from "lucide-react"; -import * as React from "react"; - -import { CircleDotFullIcon } from "./circle-dot-full-icon"; -import { ContrastIcon } from "./contrast-icon"; - -import { CYCLE_GROUP_COLORS, ICycleGroupIcon } from "./helper"; - -const iconComponents = { - current: ContrastIcon, - upcoming: CircleDotDashed, - completed: CircleDotFullIcon, - draft: Circle, -}; - -export const CycleGroupIcon: React.FC = ({ - className = "", - color, - cycleGroup, - height = "12px", - width = "12px", -}) => { - const CycleIconComponent = iconComponents[cycleGroup] || ContrastIcon; - - return ( - - ); -}; diff --git a/packages/ui/src/icons/cycle/double-circle-icon.tsx b/packages/ui/src/icons/cycle/double-circle-icon.tsx deleted file mode 100644 index 37d990e64e2..00000000000 --- a/packages/ui/src/icons/cycle/double-circle-icon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const DoubleCircleIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/cycle/helper.tsx b/packages/ui/src/icons/cycle/helper.tsx deleted file mode 100644 index c53069bc77e..00000000000 --- a/packages/ui/src/icons/cycle/helper.tsx +++ /dev/null @@ -1,27 +0,0 @@ -export interface ICycleGroupIcon { - className?: string; - color?: string; - cycleGroup: TCycleGroups; - height?: string; - width?: string; -} - -export type TCycleGroups = "current" | "upcoming" | "completed" | "draft"; - -export const CYCLE_GROUP_COLORS: { - [key in TCycleGroups]: string; -} = { - current: "#F59E0B", - upcoming: "#3F76FF", - completed: "#16A34A", - draft: "#525252", -}; - -export const CYCLE_GROUP_I18N_LABELS: { - [key in TCycleGroups]: string; -} = { - current: "current", - upcoming: "common.upcoming", - completed: "common.completed", - draft: "project_cycles.status.draft", -}; diff --git a/packages/ui/src/icons/cycle/index.ts b/packages/ui/src/icons/cycle/index.ts deleted file mode 100644 index c3a791a2ba3..00000000000 --- a/packages/ui/src/icons/cycle/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./double-circle-icon"; -export * from "./circle-dot-full-icon"; -export * from "./contrast-icon"; -export * from "./circle-dot-full-icon"; -export * from "./cycle-group-icon"; -export * from "./helper"; diff --git a/packages/ui/src/icons/dice-icon.tsx b/packages/ui/src/icons/dice-icon.tsx deleted file mode 100644 index 809d6614543..00000000000 --- a/packages/ui/src/icons/dice-icon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const DiceIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - - - -); diff --git a/packages/ui/src/icons/discord-icon.tsx b/packages/ui/src/icons/discord-icon.tsx deleted file mode 100644 index 89f441045c0..00000000000 --- a/packages/ui/src/icons/discord-icon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const DiscordIcon: React.FC = ({ width = "24", height = "24", className }) => ( - - - - - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/display-properties.tsx b/packages/ui/src/icons/display-properties.tsx deleted file mode 100644 index cddc25a19fa..00000000000 --- a/packages/ui/src/icons/display-properties.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const DisplayPropertiesIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - -); diff --git a/packages/ui/src/icons/done-icon.tsx b/packages/ui/src/icons/done-icon.tsx deleted file mode 100644 index 82783ea1d14..00000000000 --- a/packages/ui/src/icons/done-icon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const DoneState: React.FC = ({ width = "10", height = "11", className, color }) => ( - - - - -); diff --git a/packages/ui/src/icons/dropdown-icon.tsx b/packages/ui/src/icons/dropdown-icon.tsx deleted file mode 100644 index ed375d117ce..00000000000 --- a/packages/ui/src/icons/dropdown-icon.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const DropdownIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - -); diff --git a/packages/ui/src/icons/epic-icon.tsx b/packages/ui/src/icons/epic-icon.tsx deleted file mode 100644 index c78a98261ba..00000000000 --- a/packages/ui/src/icons/epic-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as React from "react"; - -export type Props = { - className?: string; - width?: string | number; - height?: string | number; - color?: string; -}; - -export const EpicIcon: React.FC = ({ width = "16", height = "16", className }) => ( - - - - -); diff --git a/packages/ui/src/icons/favorite-folder-icon.tsx b/packages/ui/src/icons/favorite-folder-icon.tsx deleted file mode 100644 index 2f464e815b7..00000000000 --- a/packages/ui/src/icons/favorite-folder-icon.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const FavoriteFolderIcon: React.FC = ({ className = "text-current", color = "#a3a3a3", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/full-screen-panel-icon.tsx b/packages/ui/src/icons/full-screen-panel-icon.tsx deleted file mode 100644 index 7b4e9f4c163..00000000000 --- a/packages/ui/src/icons/full-screen-panel-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const FullScreenPanelIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/github-icon.tsx b/packages/ui/src/icons/github-icon.tsx deleted file mode 100644 index 2072948849c..00000000000 --- a/packages/ui/src/icons/github-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const GithubIcon: React.FC = ({ width = "24", height = "24", className, color }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/gitlab-icon.tsx b/packages/ui/src/icons/gitlab-icon.tsx deleted file mode 100644 index 958a68641db..00000000000 --- a/packages/ui/src/icons/gitlab-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const GitlabIcon: React.FC = ({ width = "24", height = "24", className, color }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/in-progress-icon.tsx b/packages/ui/src/icons/in-progress-icon.tsx deleted file mode 100644 index f85b7b26efb..00000000000 --- a/packages/ui/src/icons/in-progress-icon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const InProgressState: React.FC = ({ width = "10", height = "11", className, color }) => ( - - - - -); diff --git a/packages/ui/src/icons/index.ts b/packages/ui/src/icons/index.ts deleted file mode 100644 index f673cf730b6..00000000000 --- a/packages/ui/src/icons/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -export type { ISvgIcons } from "./type"; -export * from "./cycle"; -export * from "./module"; -export * from "./state"; -export * from "./archive-icon"; -export * from "./blocked-icon"; -export * from "./blocker-icon"; -export * from "./calendar-after-icon"; -export * from "./calendar-before-icon"; -export * from "./center-panel-icon"; -export * from "./comment-fill-icon"; -export * from "./create-icon"; -export * from "./dice-icon"; -export * from "./discord-icon"; -export * from "./epic-icon"; -export * from "./full-screen-panel-icon"; -export * from "./github-icon"; -export * from "./gitlab-icon"; -export * from "./info-fill-icon"; -export * from "./info-icon"; -export * from "./layer-stack"; -export * from "./layers-icon"; -export * from "./monospace-icon"; -export * from "./photo-filter-icon"; -export * from "./priority-icon"; -export * from "./related-icon"; -export * from "./sans-serif-icon"; -export * from "./serif-icon"; -export * from "./side-panel-icon"; -export * from "./transfer-icon"; -export * from "./info-icon"; -export * from "./dropdown-icon"; -export * from "./intake"; -export * from "./user-activity-icon"; -export * from "./favorite-folder-icon"; -export * from "./planned-icon"; -export * from "./in-progress-icon"; -export * from "./done-icon"; -export * from "./pending-icon"; -export * from "./pi-chat"; -export * from "./workspace-icon"; -export * from "./teams"; -export * from "./lead-icon"; -export * from "./activity-icon"; -export * from "./updates-icon"; -export * from "./overview-icon"; -export * from "./on-track-icon"; -export * from "./off-track-icon"; -export * from "./at-risk-icon"; -export * from "./multiple-sticky"; -export * from "./sticky-note-icon"; -export * from "./bar-icon"; -export * from "./tree-map-icon"; -export * from "./display-properties"; -export * from "./ai-icon"; -export * from "./plane-icon"; -export * from "./wiki-icon"; -export * from "./brand"; diff --git a/packages/ui/src/icons/info-fill-icon.tsx b/packages/ui/src/icons/info-fill-icon.tsx deleted file mode 100644 index c7416e45d6a..00000000000 --- a/packages/ui/src/icons/info-fill-icon.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const InfoFillIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - -); diff --git a/packages/ui/src/icons/info-icon.tsx b/packages/ui/src/icons/info-icon.tsx deleted file mode 100644 index b71337539d4..00000000000 --- a/packages/ui/src/icons/info-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const InfoIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - -); diff --git a/packages/ui/src/icons/intake.tsx b/packages/ui/src/icons/intake.tsx deleted file mode 100644 index 777197694d8..00000000000 --- a/packages/ui/src/icons/intake.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const Intake: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - - -); diff --git a/packages/ui/src/icons/layer-stack.tsx b/packages/ui/src/icons/layer-stack.tsx deleted file mode 100644 index 661eb9d0798..00000000000 --- a/packages/ui/src/icons/layer-stack.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const LayerStackIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - -); diff --git a/packages/ui/src/icons/layers-icon.tsx b/packages/ui/src/icons/layers-icon.tsx deleted file mode 100644 index 73f3433e163..00000000000 --- a/packages/ui/src/icons/layers-icon.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const LayersIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/lead-icon.tsx b/packages/ui/src/icons/lead-icon.tsx deleted file mode 100644 index 5bb9d4b819e..00000000000 --- a/packages/ui/src/icons/lead-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const LeadIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/module/backlog.tsx b/packages/ui/src/icons/module/backlog.tsx deleted file mode 100644 index 22d87cd28b7..00000000000 --- a/packages/ui/src/icons/module/backlog.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ModuleBacklogIcon: React.FC = ({ - width = "20", - height = "20", - className, - color = "#a3a3a3", -}) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/module/cancelled.tsx b/packages/ui/src/icons/module/cancelled.tsx deleted file mode 100644 index b47cc874cd5..00000000000 --- a/packages/ui/src/icons/module/cancelled.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ModuleCancelledIcon: React.FC = ({ width = "20", height = "20", className }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/module/completed.tsx b/packages/ui/src/icons/module/completed.tsx deleted file mode 100644 index d6e4e0d06d9..00000000000 --- a/packages/ui/src/icons/module/completed.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ModuleCompletedIcon: React.FC = ({ width = "20", height = "20", className }) => ( - - - -); diff --git a/packages/ui/src/icons/module/in-progress.tsx b/packages/ui/src/icons/module/in-progress.tsx deleted file mode 100644 index 2fdcdbe6942..00000000000 --- a/packages/ui/src/icons/module/in-progress.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ModuleInProgressIcon: React.FC = ({ - width = "20", - height = "20", - className, - color = "#f39e1f", -}) => ( - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/module/index.ts b/packages/ui/src/icons/module/index.ts deleted file mode 100644 index e82014b2fc7..00000000000 --- a/packages/ui/src/icons/module/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from "./backlog"; -export * from "./cancelled"; -export * from "./completed"; -export * from "./in-progress"; -export * from "./module-status-icon"; -export * from "./paused"; -export * from "./planned"; diff --git a/packages/ui/src/icons/module/module-status-icon.tsx b/packages/ui/src/icons/module/module-status-icon.tsx deleted file mode 100644 index 9b9fcddd1e9..00000000000 --- a/packages/ui/src/icons/module/module-status-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from "react"; - -import { ModuleBacklogIcon } from "./backlog"; -import { ModuleCancelledIcon } from "./cancelled"; -import { ModuleCompletedIcon } from "./completed"; -import { ModuleInProgressIcon } from "./in-progress"; -import { ModulePausedIcon } from "./paused"; -import { ModulePlannedIcon } from "./planned"; - -export type TModuleStatus = "backlog" | "planned" | "in-progress" | "paused" | "completed" | "cancelled"; - -type Props = { - status: TModuleStatus; - className?: string; - height?: string; - width?: string; -}; - -export const ModuleStatusIcon: React.FC = ({ status, className, height = "12px", width = "12px" }) => { - if (status === "backlog") return ; - else if (status === "cancelled") return ; - else if (status === "completed") return ; - else if (status === "in-progress") - return ; - else if (status === "paused") return ; - else return ; -}; diff --git a/packages/ui/src/icons/module/paused.tsx b/packages/ui/src/icons/module/paused.tsx deleted file mode 100644 index a2d728ebfe3..00000000000 --- a/packages/ui/src/icons/module/paused.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ModulePausedIcon: React.FC = ({ width = "20", height = "20", className }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/module/planned.tsx b/packages/ui/src/icons/module/planned.tsx deleted file mode 100644 index 0dcc1f71b0b..00000000000 --- a/packages/ui/src/icons/module/planned.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const ModulePlannedIcon: React.FC = ({ width = "20", height = "20", className }) => ( - - - -); diff --git a/packages/ui/src/icons/monospace-icon.tsx b/packages/ui/src/icons/monospace-icon.tsx deleted file mode 100644 index 8eb64f01c5c..00000000000 --- a/packages/ui/src/icons/monospace-icon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const MonospaceIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/multiple-sticky.tsx b/packages/ui/src/icons/multiple-sticky.tsx deleted file mode 100644 index 60f2eaf9bd7..00000000000 --- a/packages/ui/src/icons/multiple-sticky.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const RecentStickyIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/off-track-icon.tsx b/packages/ui/src/icons/off-track-icon.tsx deleted file mode 100644 index 1069d36f9c2..00000000000 --- a/packages/ui/src/icons/off-track-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const OffTrackIcon: React.FC = ({ width = "16", height = "16" }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/on-track-icon.tsx b/packages/ui/src/icons/on-track-icon.tsx deleted file mode 100644 index 55abe8b341a..00000000000 --- a/packages/ui/src/icons/on-track-icon.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const OnTrackIcon: React.FC = ({ width = "16", height = "16" }) => ( - - - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/overview-icon.tsx b/packages/ui/src/icons/overview-icon.tsx deleted file mode 100644 index bcf3712444f..00000000000 --- a/packages/ui/src/icons/overview-icon.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const OverviewIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - -); diff --git a/packages/ui/src/icons/pending-icon.tsx b/packages/ui/src/icons/pending-icon.tsx deleted file mode 100644 index 217edaf8310..00000000000 --- a/packages/ui/src/icons/pending-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const PendingState: React.FC = ({ width = "10", height = "11", className, color = "#455068" }) => ( - - - - -); diff --git a/packages/ui/src/icons/photo-filter-icon.tsx b/packages/ui/src/icons/photo-filter-icon.tsx deleted file mode 100644 index c7e6a540ca4..00000000000 --- a/packages/ui/src/icons/photo-filter-icon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const PhotoFilterIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - -); diff --git a/packages/ui/src/icons/pi-chat.tsx b/packages/ui/src/icons/pi-chat.tsx deleted file mode 100644 index e2e49a28f38..00000000000 --- a/packages/ui/src/icons/pi-chat.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const PiChatLogo: React.FC = ({ width = "16", height = "16", className, color = "currentColor" }) => ( - - - - - -); diff --git a/packages/ui/src/icons/plane-icon.tsx b/packages/ui/src/icons/plane-icon.tsx deleted file mode 100644 index 113d2dfd041..00000000000 --- a/packages/ui/src/icons/plane-icon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const PlaneNewIcon: React.FC = ({ - width = "16", - height = "16", - className, - color = "currentColor", -}) => ( - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/planned-icon.tsx b/packages/ui/src/icons/planned-icon.tsx deleted file mode 100644 index eefc7da3013..00000000000 --- a/packages/ui/src/icons/planned-icon.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const PlannedState: React.FC = ({ width = "10", height = "11", className, color }) => ( - - - - - - - - - - - - -); diff --git a/packages/ui/src/icons/priority-icon.tsx b/packages/ui/src/icons/priority-icon.tsx deleted file mode 100644 index 931f4272aac..00000000000 --- a/packages/ui/src/icons/priority-icon.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import { AlertCircle, Ban, SignalHigh, SignalLow, SignalMedium } from "lucide-react"; -import * as React from "react"; -import { cn } from "../utils"; - -export type TIssuePriorities = "urgent" | "high" | "medium" | "low" | "none"; - -interface IPriorityIcon { - className?: string; - containerClassName?: string; - priority: TIssuePriorities | undefined | null; - size?: number; - withContainer?: boolean; -} - -export const PriorityIcon: React.FC = (props) => { - const { priority, className = "", containerClassName = "", size = 14, withContainer = false } = props; - - const priorityClasses = { - urgent: "bg-red-600/20 text-red-600 border-red-600", - high: "bg-orange-500/20 text-orange-500 border-orange-500", - medium: "bg-yellow-500/20 text-yellow-500 border-yellow-500", - low: "bg-custom-primary-100/20 text-custom-primary-100 border-custom-primary-100", - none: "bg-custom-background-80 text-custom-text-200 border-custom-border-300", - }; - - // get priority icon - const icons = { - urgent: AlertCircle, - high: SignalHigh, - medium: SignalMedium, - low: SignalLow, - none: Ban, - }; - const Icon = icons[priority ?? "none"]; - - if (!Icon) return null; - - return ( - <> - {withContainer ? ( -
- -
- ) : ( - - )} - - ); -}; diff --git a/packages/ui/src/icons/related-icon.tsx b/packages/ui/src/icons/related-icon.tsx deleted file mode 100644 index 514b5e96d91..00000000000 --- a/packages/ui/src/icons/related-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const RelatedIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - -); diff --git a/packages/ui/src/icons/sans-serif-icon.tsx b/packages/ui/src/icons/sans-serif-icon.tsx deleted file mode 100644 index 2260130a7f7..00000000000 --- a/packages/ui/src/icons/sans-serif-icon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const SansSerifIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/serif-icon.tsx b/packages/ui/src/icons/serif-icon.tsx deleted file mode 100644 index fab5c12d335..00000000000 --- a/packages/ui/src/icons/serif-icon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const SerifIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/side-panel-icon.tsx b/packages/ui/src/icons/side-panel-icon.tsx deleted file mode 100644 index 137b2d24e7f..00000000000 --- a/packages/ui/src/icons/side-panel-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const SidePanelIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/state/backlog-group-icon.tsx b/packages/ui/src/icons/state/backlog-group-icon.tsx deleted file mode 100644 index ebd0d05c451..00000000000 --- a/packages/ui/src/icons/state/backlog-group-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; -import { DashedCircle } from "./dashed-circle"; - -export const BacklogGroupIcon: React.FC = ({ - width = "20", - height = "20", - className, - color = "#60646C", -}) => { - // SVG parameters - const viewBoxSize = 16; - const center = viewBoxSize / 2; - const radius = 6; - return ( - - - - ); -}; diff --git a/packages/ui/src/icons/state/cancelled-group-icon.tsx b/packages/ui/src/icons/state/cancelled-group-icon.tsx deleted file mode 100644 index fb802523e82..00000000000 --- a/packages/ui/src/icons/state/cancelled-group-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const CancelledGroupIcon: React.FC = ({ - className = "", - color = "#9AA4BC", - height = "20", - width = "20", - ...rest -}) => ( - - - -); diff --git a/packages/ui/src/icons/state/completed-group-icon.tsx b/packages/ui/src/icons/state/completed-group-icon.tsx deleted file mode 100644 index c4a15f15f87..00000000000 --- a/packages/ui/src/icons/state/completed-group-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; - -export const CompletedGroupIcon: React.FC = ({ - className = "", - color = "#46A758", - height = "20", - width = "20", - ...rest -}) => ( - - - -); diff --git a/packages/ui/src/icons/state/dashed-circle.tsx b/packages/ui/src/icons/state/dashed-circle.tsx deleted file mode 100644 index 4ee64cdf050..00000000000 --- a/packages/ui/src/icons/state/dashed-circle.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import * as React from "react"; - -interface DashedCircleProps { - center: number; - radius: number; - color: string; - percentage: number; - totalSegments?: number; -} - -export const DashedCircle: React.FC = ({ center, color, percentage, totalSegments = 15 }) => { - // Ensure percentage is between 0 and 100 - const validPercentage = Math.max(0, Math.min(100, percentage)); - - // Generate dashed segments for the circle - const generateDashedCircle = () => { - const segments = []; - const angleIncrement = 360 / totalSegments; - - for (let i = 0; i < totalSegments; i++) { - // Calculate the angle for this segment (starting from top/12 o'clock position) - const angle = i * angleIncrement - 90; // -90 adjusts to start from top center - - // Calculate if this segment should be hidden based on percentage - const segmentStartPercentage = (i / totalSegments) * 100; - const isSegmentVisible = segmentStartPercentage >= validPercentage; - - if (isSegmentVisible) { - segments.push( - - - - ); - } - } - return segments; - }; - - return {generateDashedCircle()}; -}; diff --git a/packages/ui/src/icons/state/helper.tsx b/packages/ui/src/icons/state/helper.tsx deleted file mode 100644 index fda3eff3452..00000000000 --- a/packages/ui/src/icons/state/helper.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { EIconSize } from "@plane/constants"; - -export interface IStateGroupIcon { - className?: string; - color?: string; - stateGroup: TStateGroups; - size?: EIconSize; - percentage?: number; -} - -export type TStateGroups = "backlog" | "unstarted" | "started" | "completed" | "cancelled"; - -export const STATE_GROUP_COLORS: { - [key in TStateGroups]: string; -} = { - backlog: "#60646C", - unstarted: "#60646C", - started: "#F59E0B", - completed: "#46A758", - cancelled: "#9AA4BC", -}; - -export const STATE_GROUP_SIZES: { - [key in EIconSize]: string; -} = { - [EIconSize.XS]: "10px", - [EIconSize.SM]: "12px", - [EIconSize.MD]: "14px", - [EIconSize.LG]: "16px", - [EIconSize.XL]: "18px", -}; diff --git a/packages/ui/src/icons/state/index.ts b/packages/ui/src/icons/state/index.ts deleted file mode 100644 index 0e5fdadd67a..00000000000 --- a/packages/ui/src/icons/state/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./backlog-group-icon"; -export * from "./cancelled-group-icon"; -export * from "./completed-group-icon"; -export * from "./started-group-icon"; -export * from "./state-group-icon"; -export * from "./unstarted-group-icon"; diff --git a/packages/ui/src/icons/state/progress-circle.tsx b/packages/ui/src/icons/state/progress-circle.tsx deleted file mode 100644 index 470a560fc9d..00000000000 --- a/packages/ui/src/icons/state/progress-circle.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from "react"; - -interface ProgressCircleProps { - center: number; - radius: number; - color: string; - strokeWidth: number; - circumference: number; - dashOffset: number; -} - -export const ProgressCircle: React.FC = ({ - center, - radius, - color, - strokeWidth, - circumference, - dashOffset, -}) => ( - -); diff --git a/packages/ui/src/icons/state/started-group-icon.tsx b/packages/ui/src/icons/state/started-group-icon.tsx deleted file mode 100644 index d924c0d6ce0..00000000000 --- a/packages/ui/src/icons/state/started-group-icon.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; -import { DashedCircle } from "./dashed-circle"; -import { ProgressCircle } from "./progress-circle"; - -// StateIcon component implementation -export const StartedGroupIcon: React.FC = ({ - width = "20", - height = "20", - className, - color = "#F59E0B", - percentage = 100, -}) => { - // Ensure percentage is between 0 and 100 - const normalized = - typeof percentage === "number" - ? percentage <= 1 - ? percentage * 100 // treat 0-1 as fraction - : percentage // already 0-100 - : 100; // fallback - const validPercentage = Math.max(0, Math.min(100, normalized)); - - // SVG parameters - const viewBoxSize = 16; - const center = viewBoxSize / 2; - const radius = 6; - const strokeWidth = 1.5; - - // Calculate the circumference of the circle - const circumference = 2 * Math.PI * radius; - const dashOffset = circumference * (1 - validPercentage / 100); - const dashOffsetSmall = circumference * (1 - 100 / 100); - - return ( - - {/* Dashed background circle with segments that disappear with progress */} - - - {/* render smaller circle in the middle */} - - - {/* Solid progress circle */} - - - ); -}; diff --git a/packages/ui/src/icons/state/state-group-icon.tsx b/packages/ui/src/icons/state/state-group-icon.tsx deleted file mode 100644 index b5647ae0537..00000000000 --- a/packages/ui/src/icons/state/state-group-icon.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import * as React from "react"; - -import { EIconSize } from "@plane/constants"; -import { BacklogGroupIcon } from "./backlog-group-icon"; -import { CancelledGroupIcon } from "./cancelled-group-icon"; -import { CompletedGroupIcon } from "./completed-group-icon"; -import { IStateGroupIcon, STATE_GROUP_COLORS, STATE_GROUP_SIZES } from "./helper"; -import { StartedGroupIcon } from "./started-group-icon"; -import { UnstartedGroupIcon } from "./unstarted-group-icon"; - -const iconComponents = { - backlog: BacklogGroupIcon, - cancelled: CancelledGroupIcon, - completed: CompletedGroupIcon, - started: StartedGroupIcon, - unstarted: UnstartedGroupIcon, -}; - -export const StateGroupIcon: React.FC = ({ - className = "", - color, - stateGroup, - size = EIconSize.SM, - percentage, -}) => { - const StateIconComponent = iconComponents[stateGroup] || UnstartedGroupIcon; - - return ( - - ); -}; diff --git a/packages/ui/src/icons/state/unstarted-group-icon.tsx b/packages/ui/src/icons/state/unstarted-group-icon.tsx deleted file mode 100644 index 9f57b698f27..00000000000 --- a/packages/ui/src/icons/state/unstarted-group-icon.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "../type"; -import { DashedCircle } from "./dashed-circle"; -import { ProgressCircle } from "./progress-circle"; - -// StateIcon component implementation -export const UnstartedGroupIcon: React.FC = ({ - width = "20", - height = "20", - className, - color = "#F59E0B", - percentage = 100, -}) => { - // Ensure percentage is between 0 and 100 - const normalized = - typeof percentage === "number" - ? percentage <= 1 - ? percentage * 100 // treat 0-1 as fraction - : percentage // already 0-100 - : 100; // fallback - const validPercentage = Math.max(0, Math.min(100, normalized)); - - // SVG parameters - const viewBoxSize = 16; - const center = viewBoxSize / 2; - const radius = 6; - const strokeWidth = 1.5; - - // Calculate the circumference of the circle - const circumference = 2 * Math.PI * radius; - - // Calculate the dash offset based on percentage - const dashOffset = circumference * (1 - validPercentage / 100); - - return ( - - - - {/* Solid progress circle */} - - - ); -}; diff --git a/packages/ui/src/icons/sticky-note-icon.tsx b/packages/ui/src/icons/sticky-note-icon.tsx deleted file mode 100644 index fd1652dad75..00000000000 --- a/packages/ui/src/icons/sticky-note-icon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const StickyNoteIcon: React.FC = ({ width = "17", height = "17", className, color }) => ( - - - - - - -); diff --git a/packages/ui/src/icons/teams.tsx b/packages/ui/src/icons/teams.tsx deleted file mode 100644 index b730555989e..00000000000 --- a/packages/ui/src/icons/teams.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const TeamsIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/transfer-icon.tsx b/packages/ui/src/icons/transfer-icon.tsx deleted file mode 100644 index f762f9611e0..00000000000 --- a/packages/ui/src/icons/transfer-icon.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const TransferIcon: React.FC = ({ className = "fill-current", ...rest }) => ( - - - -); diff --git a/packages/ui/src/icons/tree-map-icon.tsx b/packages/ui/src/icons/tree-map-icon.tsx deleted file mode 100644 index b8de0106905..00000000000 --- a/packages/ui/src/icons/tree-map-icon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const TreeMapIcon: React.FC = ({ className = "", ...rest }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/type.ts b/packages/ui/src/icons/type.ts deleted file mode 100644 index 09e60562974..00000000000 --- a/packages/ui/src/icons/type.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface ISvgIcons extends React.SVGAttributes { - className?: string | undefined; - percentage?: number; -} diff --git a/packages/ui/src/icons/updates-icon.tsx b/packages/ui/src/icons/updates-icon.tsx deleted file mode 100644 index 1b480f6188e..00000000000 --- a/packages/ui/src/icons/updates-icon.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const UpdatesIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - -); diff --git a/packages/ui/src/icons/user-activity-icon.tsx b/packages/ui/src/icons/user-activity-icon.tsx deleted file mode 100644 index 9a8e691fd11..00000000000 --- a/packages/ui/src/icons/user-activity-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const UserActivityIcon: React.FC = ({ className = "text-current", ...rest }) => ( - - - - - -); diff --git a/packages/ui/src/icons/wiki-icon.tsx b/packages/ui/src/icons/wiki-icon.tsx deleted file mode 100644 index 5a3b992c7f6..00000000000 --- a/packages/ui/src/icons/wiki-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const WikiIcon: React.FC = ({ width = "16", height = "16", className, color = "currentColor" }) => ( - - - - - - - - - - -); diff --git a/packages/ui/src/icons/workspace-icon.tsx b/packages/ui/src/icons/workspace-icon.tsx deleted file mode 100644 index e15d33f30b4..00000000000 --- a/packages/ui/src/icons/workspace-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; - -import { ISvgIcons } from "./type"; - -export const WorkspaceIcon: React.FC = ({ className }) => ( - - - -); diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index acab08decd3..41f5c5e1b2d 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -17,7 +17,6 @@ export * from "./emoji"; export * from "./favorite-star"; export * from "./form-fields"; export * from "./header"; -export * from "./icons"; export * from "./link"; export * from "./loader"; export * from "./modals"; From 68ece975bab20b097607ee16ea359d178e3445e8 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Thu, 4 Sep 2025 00:56:53 +0530 Subject: [PATCH 5/8] chore: code refactoring --- apps/web/ce/constants/sidebar-favorites.ts | 3 +-- apps/web/core/components/common/switcher-label.tsx | 2 +- apps/web/core/components/issues/issue-layouts/utils.tsx | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/web/ce/constants/sidebar-favorites.ts b/apps/web/ce/constants/sidebar-favorites.ts index 9773d298638..902d5e53bd6 100644 --- a/apps/web/ce/constants/sidebar-favorites.ts +++ b/apps/web/ce/constants/sidebar-favorites.ts @@ -1,8 +1,7 @@ import { Briefcase, FileText, Layers, LucideIcon } from "lucide-react"; // plane imports -import { ContrastIcon, DiceIcon, FavoriteFolderIcon } from "@plane/propel/icons"; +import { ContrastIcon, DiceIcon, FavoriteFolderIcon,ISvgIcons } from "@plane/propel/icons"; import { IFavorite } from "@plane/types"; -import { ISvgIcons } from "@plane/ui"; export const FAVORITE_ITEM_ICONS: Record | LucideIcon> = { page: FileText, diff --git a/apps/web/core/components/common/switcher-label.tsx b/apps/web/core/components/common/switcher-label.tsx index 97f403f5507..14ed1bb54c8 100644 --- a/apps/web/core/components/common/switcher-label.tsx +++ b/apps/web/core/components/common/switcher-label.tsx @@ -1,6 +1,6 @@ import { FC } from "react"; +import { ISvgIcons } from "@plane/propel/icons"; import { TLogoProps } from "@plane/types"; -import { ISvgIcons } from "@plane/ui"; import { getFileURL, truncateText } from "@plane/utils"; import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/issues/issue-layouts/utils.tsx b/apps/web/core/components/issues/issue-layouts/utils.tsx index 47d2c4376c6..a7b0b9fc76c 100644 --- a/apps/web/core/components/issues/issue-layouts/utils.tsx +++ b/apps/web/core/components/issues/issue-layouts/utils.tsx @@ -12,7 +12,7 @@ import scrollIntoView from "smooth-scroll-into-view-if-needed"; import { ContrastIcon } from "lucide-react"; // plane types import { EIconSize, ISSUE_PRIORITIES, STATE_GROUPS } from "@plane/constants"; -import { CycleGroupIcon, DiceIcon, PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; +import { CycleGroupIcon, DiceIcon, PriorityIcon, StateGroupIcon, ISvgIcons } from "@plane/propel/icons"; import { EIssuesStoreType, GroupByColumnTypes, @@ -31,7 +31,7 @@ import { TGetColumns, } from "@plane/types"; // plane ui -import { Avatar, ISvgIcons } from "@plane/ui"; +import { Avatar } from "@plane/ui"; import { renderFormattedDate, getFileURL } from "@plane/utils"; // components import { Logo } from "@/components/common/logo"; From 169d8beb58239b8485ce149f27d6add3a693bf86 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Thu, 4 Sep 2025 01:57:36 +0530 Subject: [PATCH 6/8] chore: migrate remaining icon components from @Plane/ui to @Plane/propel/icons --- apps/admin/app/(all)/(home)/auth-header.tsx | 2 +- apps/space/core/components/account/user-logged-in.tsx | 2 +- apps/space/core/components/common/powered-by.tsx | 2 +- .../issues/filters/applied-filters/priority.tsx | 3 +-- apps/space/core/components/views/header.tsx | 2 +- apps/web/app/(all)/create-workspace/page.tsx | 3 ++- apps/web/app/(all)/invitations/page.tsx | 3 ++- .../ce/components/global/product-updates-header.tsx | 2 +- apps/web/ce/components/projects/navigation/helper.tsx | 3 +-- apps/web/ce/constants/project/settings/features.tsx | 3 +-- apps/web/ce/constants/sidebar-favorites.ts | 2 +- apps/web/core/components/auth-screens/footer.tsx | 2 +- apps/web/core/components/auth-screens/header.tsx | 2 +- apps/web/core/components/core/activity.tsx | 3 +-- .../core/components/global/product-updates/footer.tsx | 3 ++- apps/web/core/components/inbox/root.tsx | 2 +- .../issue-activity/activity/actions/inbox.tsx | 2 +- .../components/modules/dropdowns/filters/root.tsx | 2 +- apps/web/core/components/modules/module-card-item.tsx | 11 ++--------- .../components/modules/module-status-dropdown.tsx | 4 ++-- apps/web/core/components/onboarding/header.tsx | 2 +- apps/web/core/components/onboarding/tour/root.tsx | 3 ++- .../workspace/sidebar/project-navigation.tsx | 3 +-- .../core/layouts/auth-layout/workspace-wrapper.tsx | 3 ++- packages/ui/src/breadcrumbs/breadcrumbs.stories.tsx | 2 +- packages/ui/src/collapsible/collapsible-button.tsx | 2 +- packages/ui/src/emoji/icons-list.tsx | 2 +- packages/ui/src/emoji/lucide-icons-list.tsx | 2 +- 28 files changed, 35 insertions(+), 42 deletions(-) diff --git a/apps/admin/app/(all)/(home)/auth-header.tsx b/apps/admin/app/(all)/(home)/auth-header.tsx index 50fa066cd86..115c853814c 100644 --- a/apps/admin/app/(all)/(home)/auth-header.tsx +++ b/apps/admin/app/(all)/(home)/auth-header.tsx @@ -1,7 +1,7 @@ "use client"; import Link from "next/link"; -import { PlaneLockup } from "@plane/ui"; +import { PlaneLockup } from "@plane/propel/icons"; export const AuthHeader = () => (
diff --git a/apps/space/core/components/account/user-logged-in.tsx b/apps/space/core/components/account/user-logged-in.tsx index 76ab06fcf2e..51175c16aec 100644 --- a/apps/space/core/components/account/user-logged-in.tsx +++ b/apps/space/core/components/account/user-logged-in.tsx @@ -2,7 +2,7 @@ import { observer } from "mobx-react"; import Image from "next/image"; -import { PlaneLockup } from "@plane/ui"; +import { PlaneLockup } from "@plane/propel/icons"; // components import { PoweredBy } from "@/components/common/powered-by"; import { UserAvatar } from "@/components/issues/navbar/user-avatar"; diff --git a/apps/space/core/components/common/powered-by.tsx b/apps/space/core/components/common/powered-by.tsx index 073937e83e5..be4e5bf736c 100644 --- a/apps/space/core/components/common/powered-by.tsx +++ b/apps/space/core/components/common/powered-by.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import { WEBSITE_URL } from "@plane/constants"; // assets -import { PlaneLogo } from "@plane/ui"; +import { PlaneLogo } from "@plane/propel/icons"; type TPoweredBy = { disabled?: boolean; diff --git a/apps/space/core/components/issues/filters/applied-filters/priority.tsx b/apps/space/core/components/issues/filters/applied-filters/priority.tsx index 7f7abcce99e..7fdf900bb24 100644 --- a/apps/space/core/components/issues/filters/applied-filters/priority.tsx +++ b/apps/space/core/components/issues/filters/applied-filters/priority.tsx @@ -1,8 +1,7 @@ "use client"; import { X } from "lucide-react"; -import { PriorityIcon } from "@plane/propel/icons"; -import { type TIssuePriorities } from "@plane/ui"; +import { PriorityIcon, type TIssuePriorities } from "@plane/propel/icons"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/space/core/components/views/header.tsx b/apps/space/core/components/views/header.tsx index 13f037e5b2f..80ba76de916 100644 --- a/apps/space/core/components/views/header.tsx +++ b/apps/space/core/components/views/header.tsx @@ -2,7 +2,7 @@ import React from "react"; import Link from "next/link"; -import { PlaneLockup } from "@plane/ui"; +import { PlaneLockup } from "@plane/propel/icons"; export const AuthHeader = () => (
diff --git a/apps/web/app/(all)/create-workspace/page.tsx b/apps/web/app/(all)/create-workspace/page.tsx index e715f83795a..92c2ba3e1a4 100644 --- a/apps/web/app/(all)/create-workspace/page.tsx +++ b/apps/web/app/(all)/create-workspace/page.tsx @@ -6,8 +6,9 @@ import Image from "next/image"; import Link from "next/link"; // plane imports import { useTranslation } from "@plane/i18n"; +import { PlaneLogo } from "@plane/propel/icons"; import { IWorkspace } from "@plane/types"; -import { Button, getButtonStyling, PlaneLogo } from "@plane/ui"; +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 3ac1ce86e5c..82201b0f259 100644 --- a/apps/web/app/(all)/invitations/page.tsx +++ b/apps/web/app/(all)/invitations/page.tsx @@ -10,9 +10,10 @@ 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 { PlaneLogo } from "@plane/propel/icons"; import type { IWorkspaceMemberInvitation } from "@plane/types"; // ui -import { Button, TOAST_TYPE, setToast, PlaneLogo } from "@plane/ui"; +import { Button, TOAST_TYPE, setToast } from "@plane/ui"; import { truncateText } from "@plane/utils"; // components import { EmptyState } from "@/components/common/empty-state"; diff --git a/apps/web/ce/components/global/product-updates-header.tsx b/apps/web/ce/components/global/product-updates-header.tsx index 418a940a7e3..26d4ebbdefd 100644 --- a/apps/web/ce/components/global/product-updates-header.tsx +++ b/apps/web/ce/components/global/product-updates-header.tsx @@ -1,6 +1,6 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { PlaneLogo } from "@plane/ui"; +import { PlaneLogo } from "@plane/propel/icons"; // helpers import { cn } from "@plane/utils"; // package.json diff --git a/apps/web/ce/components/projects/navigation/helper.tsx b/apps/web/ce/components/projects/navigation/helper.tsx index f3541b5ce74..b4866841536 100644 --- a/apps/web/ce/components/projects/navigation/helper.tsx +++ b/apps/web/ce/components/projects/navigation/helper.tsx @@ -1,8 +1,7 @@ import { FileText, Layers } from "lucide-react"; // plane imports import { EUserPermissions, EProjectFeatureKey } from "@plane/constants"; -import { ContrastIcon, DiceIcon, LayersIcon } from "@plane/propel/icons"; -import { Intake } from "@plane/ui"; +import { ContrastIcon, DiceIcon, LayersIcon, Intake } from "@plane/propel/icons"; // components import type { TNavigationItem } from "@/components/workspace/sidebar/project-navigation"; diff --git a/apps/web/ce/constants/project/settings/features.tsx b/apps/web/ce/constants/project/settings/features.tsx index 67f4e15d0c6..3ad27ddbba6 100644 --- a/apps/web/ce/constants/project/settings/features.tsx +++ b/apps/web/ce/constants/project/settings/features.tsx @@ -1,9 +1,8 @@ import { ReactNode } from "react"; import { FileText, Layers, Timer } from "lucide-react"; // plane imports -import { ContrastIcon, DiceIcon } from "@plane/propel/icons"; +import { ContrastIcon, DiceIcon, Intake } from "@plane/propel/icons"; import { IProject } from "@plane/types"; -import { Intake } from "@plane/ui"; export type TProperties = { key: string; diff --git a/apps/web/ce/constants/sidebar-favorites.ts b/apps/web/ce/constants/sidebar-favorites.ts index 902d5e53bd6..4ad0c0463a3 100644 --- a/apps/web/ce/constants/sidebar-favorites.ts +++ b/apps/web/ce/constants/sidebar-favorites.ts @@ -1,6 +1,6 @@ import { Briefcase, FileText, Layers, LucideIcon } from "lucide-react"; // plane imports -import { ContrastIcon, DiceIcon, FavoriteFolderIcon,ISvgIcons } from "@plane/propel/icons"; +import { ContrastIcon, DiceIcon, FavoriteFolderIcon, ISvgIcons } from "@plane/propel/icons"; import { IFavorite } from "@plane/types"; export const FAVORITE_ITEM_ICONS: Record | LucideIcon> = { diff --git a/apps/web/core/components/auth-screens/footer.tsx b/apps/web/core/components/auth-screens/footer.tsx index 30ff878b583..fac043b3b35 100644 --- a/apps/web/core/components/auth-screens/footer.tsx +++ b/apps/web/core/components/auth-screens/footer.tsx @@ -1,6 +1,6 @@ "use client"; import React from "react"; -import { AccentureLogo, DolbyLogo, SonyLogo, ZerodhaLogo } from "@plane/ui"; +import { AccentureLogo, DolbyLogo, SonyLogo, ZerodhaLogo } from "@plane/propel/icons"; const BRAND_LOGOS: { id: string; diff --git a/apps/web/core/components/auth-screens/header.tsx b/apps/web/core/components/auth-screens/header.tsx index 7abaa79b0c5..c55265235df 100644 --- a/apps/web/core/components/auth-screens/header.tsx +++ b/apps/web/core/components/auth-screens/header.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import Link from "next/link"; import { AUTH_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { PlaneLockup } from "@plane/ui"; +import { PlaneLockup } from "@plane/propel/icons"; import { PageHead } from "@/components/core/page-title"; import { EAuthModes } from "@/helpers/authentication.helper"; import { useInstance } from "@/hooks/store/use-instance"; diff --git a/apps/web/core/components/core/activity.tsx b/apps/web/core/components/core/activity.tsx index 639d5f6d1c3..3c773899e68 100644 --- a/apps/web/core/components/core/activity.tsx +++ b/apps/web/core/components/core/activity.tsx @@ -20,10 +20,9 @@ import { MessageSquareIcon, UsersIcon, } from "lucide-react"; -import { BlockedIcon, BlockerIcon, RelatedIcon, LayersIcon, DiceIcon, EpicIcon } from "@plane/propel/icons"; +import { BlockedIcon, BlockerIcon, RelatedIcon, LayersIcon, DiceIcon, EpicIcon, Intake } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { IIssueActivity } from "@plane/types"; -import { Intake } from "@plane/ui"; import { renderFormattedDate, generateWorkItemLink, capitalizeFirstLetter } from "@plane/utils"; // helpers import { useLabel } from "@/hooks/store/use-label"; diff --git a/apps/web/core/components/global/product-updates/footer.tsx b/apps/web/core/components/global/product-updates/footer.tsx index 7e361b2515f..ab679d56a68 100644 --- a/apps/web/core/components/global/product-updates/footer.tsx +++ b/apps/web/core/components/global/product-updates/footer.tsx @@ -1,7 +1,8 @@ import { USER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { getButtonStyling, PlaneLogo } from "@plane/ui"; +import { PlaneLogo } from "@plane/propel/icons"; +import { getButtonStyling } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/inbox/root.tsx b/apps/web/core/components/inbox/root.tsx index aefb688614f..2b7dbe4436b 100644 --- a/apps/web/core/components/inbox/root.tsx +++ b/apps/web/core/components/inbox/root.tsx @@ -3,8 +3,8 @@ import { observer } from "mobx-react"; import { PanelLeft } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; +import { Intake } from "@plane/propel/icons"; import { EInboxIssueCurrentTab } from "@plane/types"; -import { Intake } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx index 5f3012c0ef8..86f54c00cb8 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx @@ -1,7 +1,7 @@ import { FC } from "react"; import { observer } from "mobx-react"; // hooks -import { Intake } from "@plane/ui"; +import { Intake } from "@plane/propel/icons"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // components import { IssueActivityBlockComponent } from "./"; diff --git a/apps/web/core/components/modules/dropdowns/filters/root.tsx b/apps/web/core/components/modules/dropdowns/filters/root.tsx index d2537868ace..df2f52dbf05 100644 --- a/apps/web/core/components/modules/dropdowns/filters/root.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/root.tsx @@ -4,8 +4,8 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { Search, X } from "lucide-react"; // plane imports +import { TModuleStatus } from "@plane/propel/icons"; import { TModuleDisplayFilters, TModuleFilters } from "@plane/types"; -import { TModuleStatus } from "@plane/ui"; // components import { FilterOption } from "@/components/issues/issue-layouts/filters"; import { FilterLead, FilterMembers, FilterStartDate, FilterStatus, FilterTargetDate } from "@/components/modules"; diff --git a/apps/web/core/components/modules/module-card-item.tsx b/apps/web/core/components/modules/module-card-item.tsx index beb4e91984d..39bed0337c7 100644 --- a/apps/web/core/components/modules/module-card-item.tsx +++ b/apps/web/core/components/modules/module-card-item.tsx @@ -16,17 +16,10 @@ import { MODULE_TRACKER_ELEMENTS, } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; +import { LayersIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { IModule } from "@plane/types"; -import { - Card, - FavoriteStar, - LayersIcon, - LinearProgressIndicator, - TOAST_TYPE, - setPromiseToast, - setToast, -} from "@plane/ui"; +import { Card, FavoriteStar, LinearProgressIndicator, TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, generateQueryParams } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; diff --git a/apps/web/core/components/modules/module-status-dropdown.tsx b/apps/web/core/components/modules/module-status-dropdown.tsx index cb134307aaf..fa7be76fcab 100644 --- a/apps/web/core/components/modules/module-status-dropdown.tsx +++ b/apps/web/core/components/modules/module-status-dropdown.tsx @@ -2,9 +2,9 @@ import React, { FC } from "react"; import { observer } from "mobx-react"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ModuleStatusIcon } from "@plane/propel/icons"; +import { ModuleStatusIcon, TModuleStatus } from "@plane/propel/icons"; import { IModule } from "@plane/types"; -import { CustomSelect, TModuleStatus } from "@plane/ui"; +import { CustomSelect } from "@plane/ui"; type Props = { isDisabled: boolean; diff --git a/apps/web/core/components/onboarding/header.tsx b/apps/web/core/components/onboarding/header.tsx index 0ab68fea321..bdba2cc00de 100644 --- a/apps/web/core/components/onboarding/header.tsx +++ b/apps/web/core/components/onboarding/header.tsx @@ -4,9 +4,9 @@ import { FC } from "react"; import { observer } from "mobx-react"; import { ChevronLeft } from "lucide-react"; // plane imports +import { PlaneLockup } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; import { EOnboardingSteps, TOnboardingStep } from "@plane/types"; -import { PlaneLockup } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/onboarding/tour/root.tsx b/apps/web/core/components/onboarding/tour/root.tsx index 9c7c33cf067..86fe84c101e 100644 --- a/apps/web/core/components/onboarding/tour/root.tsx +++ b/apps/web/core/components/onboarding/tour/root.tsx @@ -6,7 +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, PlaneLockup } from "@plane/ui"; +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/workspace/sidebar/project-navigation.tsx b/apps/web/core/components/workspace/sidebar/project-navigation.tsx index e5aaa7a1e1e..59313763429 100644 --- a/apps/web/core/components/workspace/sidebar/project-navigation.tsx +++ b/apps/web/core/components/workspace/sidebar/project-navigation.tsx @@ -7,10 +7,9 @@ import { useParams, usePathname } from "next/navigation"; import { FileText, Layers } from "lucide-react"; import { EUserPermissionsLevel, EUserPermissions } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { DiceIcon, ContrastIcon, LayersIcon } from "@plane/propel/icons"; +import { DiceIcon, ContrastIcon, LayersIcon, Intake } from "@plane/propel/icons"; import { EUserProjectRoles } from "@plane/types"; // plane ui -import { Intake } from "@plane/ui"; // components import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation"; // hooks diff --git a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx index cc1f4c1d616..dfe7748a458 100644 --- a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx +++ b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx @@ -11,8 +11,9 @@ import useSWRImmutable from "swr/immutable"; // ui import { LogOut } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; +import { PlaneLogo } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { Button, getButtonStyling, PlaneLogo, setToast, TOAST_TYPE } from "@plane/ui"; +import { Button, getButtonStyling, setToast, TOAST_TYPE } from "@plane/ui"; // components import { cn } from "@plane/utils"; import { LogoSpinner } from "@/components/common/logo-spinner"; diff --git a/packages/ui/src/breadcrumbs/breadcrumbs.stories.tsx b/packages/ui/src/breadcrumbs/breadcrumbs.stories.tsx index 9b8cb81408e..8f7e4d5b301 100644 --- a/packages/ui/src/breadcrumbs/breadcrumbs.stories.tsx +++ b/packages/ui/src/breadcrumbs/breadcrumbs.stories.tsx @@ -1,7 +1,7 @@ import type { Meta, StoryObj } from "@storybook/react"; import { Home, Settings, Briefcase, GridIcon, Layers2, FileIcon } from "lucide-react"; import * as React from "react"; -import { ContrastIcon, EpicIcon, LayersIcon } from "../icons"; +import { ContrastIcon, EpicIcon, LayersIcon } from "@plane/propel/icons"; import { Breadcrumbs } from "./breadcrumbs"; import { BreadcrumbNavigationDropdown } from "./navigation-dropdown"; diff --git a/packages/ui/src/collapsible/collapsible-button.tsx b/packages/ui/src/collapsible/collapsible-button.tsx index fbac7068144..43035d6a0bc 100644 --- a/packages/ui/src/collapsible/collapsible-button.tsx +++ b/packages/ui/src/collapsible/collapsible-button.tsx @@ -1,5 +1,5 @@ import React, { FC } from "react"; -import { DropdownIcon, ISvgIcons } from "../icons"; +import { DropdownIcon, ISvgIcons } from "@plane/propel/icons"; import { cn } from "../utils"; type Props = { diff --git a/packages/ui/src/emoji/icons-list.tsx b/packages/ui/src/emoji/icons-list.tsx index 8aff055628e..6a21f02cf06 100644 --- a/packages/ui/src/emoji/icons-list.tsx +++ b/packages/ui/src/emoji/icons-list.tsx @@ -4,9 +4,9 @@ import { Search } from "lucide-react"; import React, { useEffect, useState } from "react"; // icons import useFontFaceObserver from "use-font-face-observer"; +import { InfoIcon } from "@plane/propel/icons"; import { MATERIAL_ICONS_LIST } from ".."; import { Input } from "../form-fields"; -import { InfoIcon } from "../icons"; import { cn } from "../utils"; // components // hooks diff --git a/packages/ui/src/emoji/lucide-icons-list.tsx b/packages/ui/src/emoji/lucide-icons-list.tsx index e01b36bc7d3..e9f0517ee76 100644 --- a/packages/ui/src/emoji/lucide-icons-list.tsx +++ b/packages/ui/src/emoji/lucide-icons-list.tsx @@ -1,9 +1,9 @@ import { Search } from "lucide-react"; import React, { useEffect, useState } from "react"; // local imports +import { InfoIcon } from "@plane/propel/icons"; import { LUCIDE_ICONS_LIST } from ".."; import { Input } from "../form-fields"; -import { InfoIcon } from "../icons"; import { cn } from "../utils"; import { DEFAULT_COLORS, TIconsListProps, adjustColorForContrast } from "./emoji-icon-helper"; From a1aa834731dc49b511daa1caf2ab2930b93c4f8c Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Thu, 4 Sep 2025 02:26:51 +0530 Subject: [PATCH 7/8] fix: lint error --- packages/propel/src/icons/done-icon.tsx | 2 +- packages/propel/src/icons/planned-icon.tsx | 2 +- packages/propel/src/icons/updates-icon.tsx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/propel/src/icons/done-icon.tsx b/packages/propel/src/icons/done-icon.tsx index 82783ea1d14..36fc491f32c 100644 --- a/packages/propel/src/icons/done-icon.tsx +++ b/packages/propel/src/icons/done-icon.tsx @@ -2,7 +2,7 @@ import * as React from "react"; import { ISvgIcons } from "./type"; -export const DoneState: React.FC = ({ width = "10", height = "11", className, color }) => ( +export const DoneState: React.FC = ({ width = "10", height = "11", className }) => ( = ({ width = "10", height = "11", className, color }) => ( +export const PlannedState: React.FC = ({ width = "10", height = "11", className }) => ( = ({ className = "text-current", ...rest }) => ( - +export const UpdatesIcon: React.FC = ({ className = "text-current" }) => ( + Date: Thu, 4 Sep 2025 14:33:52 +0530 Subject: [PATCH 8/8] chore: code refactor --- packages/propel/tsdown.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/propel/tsdown.config.ts b/packages/propel/tsdown.config.ts index e9606104316..05d57001aea 100644 --- a/packages/propel/tsdown.config.ts +++ b/packages/propel/tsdown.config.ts @@ -10,6 +10,7 @@ export default defineConfig({ "src/command/index.ts", "src/dialog/index.ts", "src/emoji-icon-picker/index.ts", + "src/icons/index.ts", "src/menu/index.ts", "src/popover/index.ts", "src/switch/index.ts", @@ -17,7 +18,6 @@ export default defineConfig({ "src/tabs/index.ts", "src/tooltip/index.ts", "src/utils/index.ts", - "src/icons/index.ts", ], outDir: "dist", format: ["esm", "cjs"],