:
}
+ icon={isSubscribed ?
:
}
variant="secondary"
size="md"
stretch="auto"
diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx
index fc4e292cb5..123ef8ed7e 100644
--- a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx
+++ b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import React, { Fragment, useState } from "react";
+import React, { cloneElement, Fragment, isValidElement, useState } from "react";
import type { Placement } from "@popperjs/core";
import { usePopper } from "react-popper";
// headless ui
@@ -12,6 +12,12 @@ import { Popover, Transition } from "@headlessui/react";
// ui
import { Button } from "@makeplane/propel/components/button";
import { IconButton } from "@makeplane/propel/components/icon-button";
+import { cn } from "@plane/utils";
+
+function withIconSize(icon: React.ReactNode, sizeClass: string) {
+ if (!isValidElement<{ className?: string }>(icon)) return icon;
+ return cloneElement(icon, { className: cn(sizeClass, icon.props.className) });
+}
type Props = {
children: React.ReactNode;
@@ -62,7 +68,7 @@ export function FiltersDropdown(props: Props) {
variant="secondary"
size="md"
stretch="auto"
- icon={icon}
+ icon={withIconSize(icon, "size-4")}
tabIndex={tabIndex}
label={title ?? ""}
/>
@@ -76,7 +82,7 @@ export function FiltersDropdown(props: Props) {
variant="secondary"
size="md"
aria-label={typeof title === "string" ? title : "Filters"}
- icon={miniIcon}
+ icon={withIconSize(miniIcon, "size-4")}
disabled={disabled}
tabIndex={tabIndex}
/>
diff --git a/apps/web/core/components/project/empty-state.tsx b/apps/web/core/components/project/empty-state.tsx
index f12a689bcc..4d7c313f4c 100644
--- a/apps/web/core/components/project/empty-state.tsx
+++ b/apps/web/core/components/project/empty-state.tsx
@@ -4,9 +4,15 @@
* See the LICENSE file for details.
*/
-import React from "react";
+import React, { cloneElement, isValidElement } from "react";
// ui
import { Button } from "@makeplane/propel/components/button";
+import { cn } from "@plane/utils";
+
+function withIconSize(icon: React.ReactNode, sizeClass: string) {
+ if (!isValidElement<{ className?: string }>(icon)) return icon;
+ return cloneElement(icon, { className: cn(sizeClass, icon.props.className) });
+}
type Props = {
title: string;
@@ -37,7 +43,7 @@ export function EmptyState({ title, description, image, primaryButton, secondary
size="lg"
stretch="auto"
label={primaryButton.text}
- icon={primaryButton.icon}
+ icon={withIconSize(primaryButton.icon, "size-4")}
onClick={primaryButton.onClick}
disabled={disabled}
/>
diff --git a/apps/web/core/components/sidebar/add-button.tsx b/apps/web/core/components/sidebar/add-button.tsx
index 1ce096c347..b1a7f36cfd 100644
--- a/apps/web/core/components/sidebar/add-button.tsx
+++ b/apps/web/core/components/sidebar/add-button.tsx
@@ -5,7 +5,14 @@
*/
import type { MouseEventHandler, ReactNode } from "react";
+import { cloneElement, isValidElement } from "react";
import { Button } from "@makeplane/propel/components/button";
+import { cn } from "@plane/utils";
+
+function withIconSize(icon: ReactNode, sizeClass: string) {
+ if (!isValidElement<{ className?: string }>(icon)) return icon;
+ return cloneElement(icon, { className: cn(sizeClass, icon.props.className) });
+}
type Props = {
label: string;
@@ -25,7 +32,7 @@ export function SidebarAddButton(props: Props) {
size="lg"
stretch="full"
label={label}
- icon={icon}
+ icon={withIconSize(icon, "size-4")}
onClick={onClick}
disabled={disabled}
/>
diff --git a/apps/web/core/components/web-hooks/form/secret-key.tsx b/apps/web/core/components/web-hooks/form/secret-key.tsx
index 390abfd7bf..97fc5f34be 100644
--- a/apps/web/core/components/web-hooks/form/secret-key.tsx
+++ b/apps/web/core/components/web-hooks/form/secret-key.tsx
@@ -138,7 +138,7 @@ export const WebhookSecretKey = observer(function WebhookSecretKey(props: Props)
size="md"
stretch="auto"
label={isRegenerating ? `${t("re_generating")}...` : t("re_generate_key")}
- icon={
}
+ icon={
}
onClick={handleRegenerateSecretKey}
loading={isRegenerating}
/>
diff --git a/apps/web/core/components/workspace/billing/comparison/base.tsx b/apps/web/core/components/workspace/billing/comparison/base.tsx
index 4c98178b65..cf7c6a032a 100644
--- a/apps/web/core/components/workspace/billing/comparison/base.tsx
+++ b/apps/web/core/components/workspace/billing/comparison/base.tsx
@@ -130,7 +130,9 @@ export const PlansComparisonBase = observer(function PlansComparisonBase(props:
size="sm"
stretch="auto"
label={isCompareAllFeaturesSectionOpen ? "Collapse comparison" : "Compare all features"}
- icon={isCompareAllFeaturesSectionOpen ?
:
}
+ icon={
+ isCompareAllFeaturesSectionOpen ?
:
+ }
iconPosition="end"
onClick={() => {
setIsCompareAllFeaturesSectionOpen(!isCompareAllFeaturesSectionOpen);