diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/pintura-modal.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/pintura-modal.tsx
index 91cc79138a9..66f528937de 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/integrations/pintura-modal.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/pintura-modal.tsx
@@ -1,8 +1,9 @@
+import BrandIcon from '../../../icons/brand-icon';
import IntegrationHeader from './integration-header';
import NiceModal from '@ebay/nice-modal-react';
import pinturaScreenshot from '../../../../assets/images/pintura-screenshot.png';
import {Dropzone, Field, FieldContent, FieldDescription, FieldLabel, Switch} from '@tryghost/shade/components';
-import {Form, Icon, Modal} from '@tryghost/admin-x-design-system';
+import {Form, Modal} from '@tryghost/admin-x-design-system';
import {type Setting, getSettingValues, useEditSettings} from '@tryghost/admin-x-framework/api/settings';
import {toast} from 'sonner';
import {useEffect, useState} from 'react';
@@ -88,7 +89,7 @@ const PinturaModal = NiceModal.create(() => {
>
diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/slack-modal.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/slack-modal.tsx
index 4a65f750fd0..e4828967b2f 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/integrations/slack-modal.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/slack-modal.tsx
@@ -1,9 +1,10 @@
+import BrandIcon from '../../../icons/brand-icon';
import IntegrationHeader from './integration-header';
import NiceModal from '@ebay/nice-modal-react';
import useSettingGroup from '../../../../hooks/use-setting-group';
import validator from 'validator';
import {Button} from '@tryghost/shade/components';
-import {Form, Icon, Modal, TextField} from '@tryghost/admin-x-design-system';
+import {Form, Modal, TextField} from '@tryghost/admin-x-design-system';
import {getSettingValues, useTestSlack} from '@tryghost/admin-x-framework/api/settings';
import {toast} from 'sonner';
import {useRouting} from '@tryghost/admin-x-framework/routing';
@@ -55,7 +56,7 @@ const SlackModal = NiceModal.create(() => {
>
}
+ icon={
}
title='Slack'
/>
diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/transistor-modal.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/transistor-modal.tsx
index 7b5313a0c64..56b45fef021 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/integrations/transistor-modal.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/transistor-modal.tsx
@@ -1,8 +1,9 @@
import APIKeys from './api-keys';
import BookmarkThumb from '../../../../assets/images/integrations/ghost-transistor.png';
+import BrandIcon from '../../../icons/brand-icon';
import IntegrationHeader from './integration-header';
import NiceModal from '@ebay/nice-modal-react';
-import {ConfirmationModal, Form, Icon, Modal} from '@tryghost/admin-x-design-system';
+import {ConfirmationModal, Form, Modal} from '@tryghost/admin-x-design-system';
import {Field, FieldContent, FieldDescription, FieldLabel, Switch} from '@tryghost/shade/components';
import {type Setting, getSettingValues, useEditSettings} from '@tryghost/admin-x-framework/api/settings';
import {getGhostPaths} from '@tryghost/admin-x-framework/helpers';
@@ -102,7 +103,7 @@ const TransistorModal = NiceModal.create(() => {
>
}
+ icon={
}
title='Transistor.fm'
/>
diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/unsplash-modal.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/unsplash-modal.tsx
index 580151b28e7..484a1032272 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/integrations/unsplash-modal.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/unsplash-modal.tsx
@@ -1,7 +1,8 @@
+import BrandIcon from '../../../icons/brand-icon';
import IntegrationHeader from './integration-header';
import NiceModal from '@ebay/nice-modal-react';
import {Field, FieldContent, FieldDescription, FieldLabel, Switch} from '@tryghost/shade/components';
-import {Form, Icon, Modal} from '@tryghost/admin-x-design-system';
+import {Form, Modal} from '@tryghost/admin-x-design-system';
import {type Setting, getSettingValues, useEditSettings} from '@tryghost/admin-x-framework/api/settings';
import {useEffect, useState} from 'react';
import {useGlobalData} from '../../../providers/global-data-provider';
@@ -58,7 +59,7 @@ const UnsplashModal = NiceModal.create(() => {
>
}
+ icon={
}
title='Unsplash'
/>
diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/webhooks-table.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/webhooks-table.tsx
index 7a180ce0c65..65887af14f0 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/integrations/webhooks-table.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/webhooks-table.tsx
@@ -1,9 +1,9 @@
import NiceModal from '@ebay/nice-modal-react';
import WebhookModal from './webhook-modal';
import {Button, Table, TableBody, TableCell, TableHead, TableHeader, TableRow} from '@tryghost/shade/components';
-import {ConfirmationModal, Icon} from '@tryghost/admin-x-design-system';
+import {ConfirmationModal} from '@tryghost/admin-x-design-system';
import {type Integration} from '@tryghost/admin-x-framework/api/integrations';
-import {formatNumber} from '@tryghost/shade/utils';
+import {LucideIcon, formatNumber} from '@tryghost/shade/utils';
import {getWebhookEventLabel} from './webhook-event-options';
import {toast} from 'sonner';
import {useDeleteWebhook} from '@tryghost/admin-x-framework/api/webhooks';
@@ -90,7 +90,7 @@ const WebhooksTable: React.FC<{integration: Integration}> = ({integration}) => {
NiceModal.show(WebhookModal, {
integrationId: integration.id
});
- }}>Add webhook
+ }}>Add webhook
);
};
diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/zapier-modal.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/zapier-modal.tsx
index 68004f6a791..7303a48d8fc 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/integrations/zapier-modal.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/zapier-modal.tsx
@@ -1,9 +1,11 @@
import APIKeys from './api-keys';
+import BrandIcon from '../../../icons/brand-icon';
import IntegrationHeader from './integration-header';
import NiceModal from '@ebay/nice-modal-react';
import ZapierLogo from '../../../../assets/images/zapier-logo.svg';
import {ActionList, ActionListItem, ActionListItemActions, ActionListItemContent, Button} from '@tryghost/shade/components';
-import {ConfirmationModal, Icon, Modal} from '@tryghost/admin-x-design-system';
+import {ConfirmationModal, Modal} from '@tryghost/admin-x-design-system';
+import {LucideIcon} from '@tryghost/shade/utils';
import {getGhostPaths} from '@tryghost/admin-x-framework/helpers';
import {useBrowseIntegrations} from '@tryghost/admin-x-framework/api/integrations';
import {useEffect, useState} from 'react';
@@ -106,7 +108,7 @@ const ZapierModal = NiceModal.create(() => {
},
{id: 'api-url', label: 'API URL', text: window.location.origin + getGhostPaths().subdir}
]} />
}
- icon={
}
+ icon={
}
title='Zapier'
/>
@@ -117,7 +119,7 @@ const ZapierModal = NiceModal.create(() => {

-
+
{template.title}
diff --git a/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-export.tsx b/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-export.tsx
index d101fe2f0ff..1b5ed1726a0 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-export.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-export.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {Button, LoadingIndicator} from '@tryghost/shade/components';
-import {Icon} from '@tryghost/admin-x-design-system';
+import {LucideIcon} from '@tryghost/shade/utils';
import {blobDownloadFromEndpoint} from '@tryghost/admin-x-framework/helpers';
import {downloadAllContent} from '@tryghost/admin-x-framework/api/db';
import {useHandleError} from '@tryghost/admin-x-framework/hooks';
@@ -27,8 +27,8 @@ const MigrationToolsExport: React.FC = () => {
return (
-
-
+
+
);
};
diff --git a/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-import.tsx b/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-import.tsx
index d28c48befd3..670f0e3699f 100644
--- a/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-import.tsx
+++ b/apps/admin-x-settings/src/components/settings/advanced/migration-tools/migration-tools-import.tsx
@@ -1,8 +1,9 @@
+import BrandIcon from '../../../icons/brand-icon';
import NiceModal from '@ebay/nice-modal-react';
import React from 'react';
import UniversalImportModal from './universal-import-modal';
import {Button} from '@tryghost/shade/components';
-import {Icon} from '@tryghost/admin-x-design-system';
+import {LucideIcon} from '@tryghost/shade/utils';
import {useRouting} from '@tryghost/admin-x-framework/routing';
const MigrationToolsImport: React.FC = () => {
@@ -13,13 +14,13 @@ const MigrationToolsImport: React.FC = () => {
};
const importers = [
- {icon:
, title: 'Substack', onClick: () => updateRoute({isExternal: true, route: '/migrate/substack'})},
- {icon:
, title: 'beehiiv', onClick: () => updateRoute({isExternal: true, route: '/migrate/beehiiv'})},
- {icon:
, title: 'WordPress', onClick: () => updateRoute({isExternal: true, route: '/migrate/wordpress'})},
- {icon:
, title: 'Squarespace', onClick: () => updateRoute({isExternal: true, route: '/migrate/squarespace'})},
- {icon:
, title: 'Medium', onClick: () => updateRoute({isExternal: true, route: '/migrate/medium'})},
- {icon:
, title: 'Mailchimp', onClick: () => updateRoute({isExternal: true, route: '/migrate/mailchimp'})},
- {icon:
, title: 'Universal import', onClick: handleImportContent}
+ {icon:
, title: 'Substack', onClick: () => updateRoute({isExternal: true, route: '/migrate/substack'})},
+ {icon:
, title: 'beehiiv', onClick: () => updateRoute({isExternal: true, route: '/migrate/beehiiv'})},
+ {icon:
, title: 'WordPress', onClick: () => updateRoute({isExternal: true, route: '/migrate/wordpress'})},
+ {icon:
, title: 'Squarespace', onClick: () => updateRoute({isExternal: true, route: '/migrate/squarespace'})},
+ {icon:
, title: 'Medium', onClick: () => updateRoute({isExternal: true, route: '/migrate/medium'})},
+ {icon:
, title: 'Mailchimp', onClick: () => updateRoute({isExternal: true, route: '/migrate/mailchimp'})},
+ {icon:
, title: 'Universal import', onClick: handleImportContent}
];
return (
diff --git a/apps/admin-x-settings/src/components/settings/email/emails.tsx b/apps/admin-x-settings/src/components/settings/email/emails.tsx
index d151a58fc91..d87a83012d9 100644
--- a/apps/admin-x-settings/src/components/settings/email/emails.tsx
+++ b/apps/admin-x-settings/src/components/settings/email/emails.tsx
@@ -10,7 +10,8 @@ import WelcomeEmailCustomizeModal from '../membership/member-emails/welcome-emai
import useQueryParams from '../../../hooks/use-query-params';
import {APIError} from '@tryghost/admin-x-framework/errors';
import {ActionList, ActionListItem, ActionListItemActions, ActionListItemContent, Button, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Tabs, TabsContent, TabsList, TabsTrigger} from '@tryghost/shade/components';
-import {ConfirmationModal, Icon} from '@tryghost/admin-x-design-system';
+import {ConfirmationModal} from '@tryghost/admin-x-design-system';
+import {LucideIcon} from '@tryghost/shade/utils';
import {getSettingValues} from '@tryghost/admin-x-framework/api/settings';
import {useGlobalData} from '../../providers/global-data-provider';
import {useHandleError} from '@tryghost/admin-x-framework/hooks';
@@ -39,7 +40,7 @@ const TransactionalTabContent: React.FC = () => {
onClick={openCustomizeModal}
>
-
+
Email design
diff --git a/apps/admin-x-settings/src/components/settings/email/enable-newsletters.tsx b/apps/admin-x-settings/src/components/settings/email/enable-newsletters.tsx
index 50359a35817..c0422c451d7 100644
--- a/apps/admin-x-settings/src/components/settings/email/enable-newsletters.tsx
+++ b/apps/admin-x-settings/src/components/settings/email/enable-newsletters.tsx
@@ -1,9 +1,10 @@
import React from 'react';
import TopLevelGroup from '../../top-level-group';
import {Banner, Switch} from '@tryghost/shade/components';
-import {Icon, SettingGroupContent} from '@tryghost/admin-x-design-system';
import {Inline} from '@tryghost/shade/primitives';
+import {LucideIcon} from '@tryghost/shade/utils';
import {type Setting, getSettingValues, useEditSettings} from '@tryghost/admin-x-framework/api/settings';
+import {SettingGroupContent} from '@tryghost/admin-x-design-system';
import {useGlobalData} from '../../providers/global-data-provider';
import {useHandleError} from '@tryghost/admin-x-framework/hooks';
import {useRouting} from '@tryghost/admin-x-framework/routing';
@@ -61,13 +62,13 @@ const EnableNewsletters: React.FC<{ keywords: string[] }> = ({keywords}) => {
key: 'private',
value: (newslettersEnabled !== 'disabled' && !isDisabled) ? (
-
+
Enabled
) :
-
+
Disabled
{isDisabled &&
diff --git a/apps/admin-x-settings/src/components/settings/email/mailgun.tsx b/apps/admin-x-settings/src/components/settings/email/mailgun.tsx
index a0e2f4792c6..92805d01fbf 100644
--- a/apps/admin-x-settings/src/components/settings/email/mailgun.tsx
+++ b/apps/admin-x-settings/src/components/settings/email/mailgun.tsx
@@ -1,9 +1,9 @@
import React from 'react';
import TopLevelGroup from '../../top-level-group';
import useSettingGroup from '../../../hooks/use-setting-group';
-import {CheckCircle} from 'lucide-react';
import {Field, FieldDescription, FieldLabel, Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from '@tryghost/shade/components';
import {Inline} from '@tryghost/shade/primitives';
+import {LucideIcon} from '@tryghost/shade/utils';
import {SettingGroupContent} from '@tryghost/admin-x-design-system';
import {getSettingValues, useEditSettings} from '@tryghost/admin-x-framework/api/settings';
import {useHandleError} from '@tryghost/admin-x-framework/hooks';
@@ -38,7 +38,7 @@ const MailGun: React.FC<{ keywords: string[] }> = ({keywords}) => {
key: 'status',
value: (
-
+
Mailgun is set up
)
diff --git a/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx b/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx
index ad059f45252..3e79cec9263 100644
--- a/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx
+++ b/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx
@@ -7,15 +7,15 @@ import useFeatureFlag from '../../../../hooks/use-feature-flag';
import useSettingGroup from '../../../../hooks/use-setting-group';
import validator from 'validator';
import {Button, Field, FieldContent, FieldDescription, FieldLabel, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipTrigger} from '@tryghost/shade/components';
-import {ConfirmationModal, Form, Icon, LimitModal, PreviewModalContent, TextField} from '@tryghost/admin-x-design-system';
+import {ConfirmationModal, Form, LimitModal, PreviewModalContent, TextField} from '@tryghost/admin-x-design-system';
import {type ErrorMessages, useForm, useHandleError} from '@tryghost/admin-x-framework/hooks';
import {HostLimitError, useLimiter} from '../../../../hooks/use-limiter';
import {ImageUpload, ImageUploadAction, ImageUploadActions, ImageUploadDropzone, ImageUploadImage, ImageUploadPreview} from '@tryghost/shade/patterns';
+import {LucideIcon, formatNumber} from '@tryghost/shade/utils';
import {type Newsletter, useBrowseNewsletters, useEditNewsletter} from '@tryghost/admin-x-framework/api/newsletters';
import {type RoutingModalProps, useRouting} from '@tryghost/admin-x-framework/routing';
import {Stack, Text} from '@tryghost/shade/primitives';
import {Trash2} from 'lucide-react';
-import {formatNumber} from '@tryghost/shade/utils';
import {getImageUrl, useUploadImage} from '@tryghost/admin-x-framework/api/images';
import {getSettingValue, getSettingValues} from '@tryghost/admin-x-framework/api/settings';
import {hasSendingDomain, isManagedEmail, sendingDomain} from '@tryghost/admin-x-framework/api/config';
@@ -27,7 +27,7 @@ import {useGlobalData} from '../../../providers/global-data-provider';
interface IconToggleOption {
value: string;
label: string;
- icon: string;
+ icon: React.ReactNode;
disabled?: boolean;
}
@@ -42,7 +42,7 @@ const IconToggleGroup: React.FC<{
-
+ {option.icon}
{option.label}
@@ -340,7 +340,7 @@ const Sidebar: React.FC<{
handleError(e);
}
}}>
-
+
)}
@@ -415,7 +415,7 @@ const Sidebar: React.FC<{
diff --git a/apps/admin-x-settings/src/components/settings/general/seo-meta.tsx b/apps/admin-x-settings/src/components/settings/general/seo-meta.tsx
index 8d6cb684dcc..b6c10975a2d 100644
--- a/apps/admin-x-settings/src/components/settings/general/seo-meta.tsx
+++ b/apps/admin-x-settings/src/components/settings/general/seo-meta.tsx
@@ -4,9 +4,10 @@ import useFeatureFlag from '../../../hooks/use-feature-flag';
import usePinturaEditor from '../../../hooks/use-pintura-editor';
import useSettingGroup from '../../../hooks/use-setting-group';
import {APIError} from '@tryghost/admin-x-framework/errors';
-import {FacebookLogo, GoogleLogo, Icon, SettingGroupContent, TextField, XLogo} from '@tryghost/admin-x-design-system';
+import {FacebookLogo, GoogleLogo, SettingGroupContent, TextField, XLogo} from '@tryghost/admin-x-design-system';
import {Field, FieldLabel, Switch, Tabs, TabsContent, TabsList, TabsTrigger} from '@tryghost/shade/components';
import {ImageUpload, ImageUploadAction, ImageUploadActions, ImageUploadDropzone, ImageUploadImage, ImageUploadPreview} from '@tryghost/shade/patterns';
+import {LucideIcon} from '@tryghost/shade/utils';
import {Pencil, Trash2} from 'lucide-react';
import {getImageUrl, useUploadImage} from '@tryghost/admin-x-framework/api/images';
import {getSettingValues} from '@tryghost/admin-x-framework/api/settings';
@@ -40,7 +41,7 @@ const SearchEnginePreview: React.FC = ({
diff --git a/apps/admin-x-settings/src/components/settings/general/user-detail-modal.tsx b/apps/admin-x-settings/src/components/settings/general/user-detail-modal.tsx
index 0c64079d440..32ae51f93cd 100644
--- a/apps/admin-x-settings/src/components/settings/general/user-detail-modal.tsx
+++ b/apps/admin-x-settings/src/components/settings/general/user-detail-modal.tsx
@@ -9,10 +9,11 @@ import useStaffUsers from '../../../hooks/use-staff-users';
import validator from 'validator';
import {APIError} from '@tryghost/admin-x-framework/errors';
import {Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Dropzone, Tabs, TabsContent, TabsList, TabsTrigger} from '@tryghost/shade/components';
-import {ConfirmationModal, Icon, LimitModal, Modal} from '@tryghost/admin-x-design-system';
+import {ConfirmationModal, LimitModal, Modal} from '@tryghost/admin-x-design-system';
import {type ErrorMessages, useForm, useHandleError} from '@tryghost/admin-x-framework/hooks';
import {HostLimitError, useLimiter} from '../../../hooks/use-limiter';
import {ImageUpload, ImageUploadAction, ImageUploadActions, ImageUploadDropzone, ImageUploadImage, ImageUploadPreview} from '@tryghost/shade/patterns';
+import {LucideIcon} from '@tryghost/shade/utils';
import {Pencil, Trash2} from 'lucide-react';
import {type RoutingModalProps, useRouting} from '@tryghost/admin-x-framework/routing';
import {SOCIAL_PLATFORM_CONFIGS, SOCIAL_PLATFORM_KEYS, getSocialValidationError} from '../../../utils/social-urls/index';
@@ -361,7 +362,7 @@ const UserDetailModalContent: React.FC<{user: User; onDeletingUserChange: (isDel
) : (
handleImageUpload('profile_image', files[0])}>
-
+
)}
@@ -388,11 +389,7 @@ const UserDetailModalContent: React.FC<{user: User; onDeletingUserChange: (isDel
type='button'
>
Actions
-
+
{/* legacy Modal overlay is z-[1000]; keep the portalled menu above it */}
diff --git a/apps/admin-x-settings/src/components/settings/growth/explore.tsx b/apps/admin-x-settings/src/components/settings/growth/explore.tsx
index 5422eb39c61..d80239bd576 100644
--- a/apps/admin-x-settings/src/components/settings/growth/explore.tsx
+++ b/apps/admin-x-settings/src/components/settings/growth/explore.tsx
@@ -5,9 +5,9 @@ import TopLevelGroup from '../../top-level-group';
import useSettingGroup from '../../../hooks/use-setting-group';
import {Button} from '@tryghost/shade/components';
import {Field, FieldContent, FieldDescription, FieldLabel, Separator, Switch} from '@tryghost/shade/components';
-import {Icon, SettingGroupContent} from '@tryghost/admin-x-design-system';
+import {LucideIcon, abbreviateNumber} from '@tryghost/shade/utils';
import {type Setting, getSettingValue, getSettingValues, useEditSettings} from '@tryghost/admin-x-framework/api/settings';
-import {abbreviateNumber} from '@tryghost/shade/utils';
+import {SettingGroupContent} from '@tryghost/admin-x-design-system';
import {useBrowseMembers} from '@tryghost/admin-x-framework/api/members';
import {useGlobalData} from '../../providers/global-data-provider';
import {useHandleError} from '@tryghost/admin-x-framework/hooks';
@@ -115,7 +115,7 @@ const Explore: React.FC<{ keywords: string[] }> = ({keywords}) => {
:
-
+
}
@@ -129,7 +129,7 @@ const Explore: React.FC<{ keywords: string[] }> = ({keywords}) => {
diff --git a/apps/admin-x-settings/src/components/settings/growth/network.tsx b/apps/admin-x-settings/src/components/settings/growth/network.tsx
index 3441ee8eaf2..7c17a9c0711 100644
--- a/apps/admin-x-settings/src/components/settings/growth/network.tsx
+++ b/apps/admin-x-settings/src/components/settings/growth/network.tsx
@@ -2,8 +2,9 @@ import React from 'react';
import SettingImg from '../../../assets/images/network.png';
import TopLevelGroup from '../../top-level-group';
import validator from 'validator';
-import {Icon, SettingGroupContent} from '@tryghost/admin-x-design-system';
+import {LucideIcon} from '@tryghost/shade/utils';
import {type Setting, getSettingValues, useEditSettings} from '@tryghost/admin-x-framework/api/settings';
+import {SettingGroupContent} from '@tryghost/admin-x-design-system';
import {Switch} from '@tryghost/shade/components';
import {getGhostPaths} from '@tryghost/admin-x-framework/helpers';
import {useGlobalData} from '../../providers/global-data-provider';
@@ -79,7 +80,7 @@ const Network: React.FC<{ keywords: string[] }> = ({keywords}) => {
value:
isDisabled &&
diff --git a/apps/admin-x-settings/src/components/settings/growth/offers/offers-index.tsx b/apps/admin-x-settings/src/components/settings/growth/offers/offers-index.tsx
index 5cb792eab0d..58e2813ab79 100644
--- a/apps/admin-x-settings/src/components/settings/growth/offers/offers-index.tsx
+++ b/apps/admin-x-settings/src/components/settings/growth/offers/offers-index.tsx
@@ -1,5 +1,4 @@
import {Badge, Button, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, Table, TableBody, TableCell, TableHead, TableHeader, TableRow} from '@tryghost/shade/components';
-import {Icon} from '@tryghost/admin-x-design-system';
import {Inline, Stack} from '@tryghost/shade/primitives';
import {LucideIcon, formatNumber} from '@tryghost/shade/utils';
import {Modal} from '@tryghost/admin-x-design-system';
@@ -86,7 +85,7 @@ const OffersFilterMenu: React.FC<{
diff --git a/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx b/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx
index 1858b497962..ae76b536c08 100644
--- a/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx
+++ b/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx
@@ -5,7 +5,8 @@ import RecommendationDescriptionForm, {validateDescriptionForm} from './recommen
import trackEvent from '../../../../utils/analytics';
import {Button} from '@tryghost/shade/components';
import {type EditOrAddRecommendation, useAddRecommendation} from '@tryghost/admin-x-framework/api/recommendations';
-import {Icon, Modal} from '@tryghost/admin-x-design-system';
+import {LucideIcon} from '@tryghost/shade/utils';
+import {Modal} from '@tryghost/admin-x-design-system';
import {toast} from 'sonner';
import {useForm, useHandleError} from '@tryghost/admin-x-framework/hooks';
import {useRouting} from '@tryghost/admin-x-framework/routing';
@@ -67,7 +68,7 @@ const AddRecommendationModalConfirm: React.FC