diff --git a/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/fraud/review-fraud-alert-sheet.tsx b/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/fraud/review-fraud-alert-sheet.tsx index c4da07013f7..3f16b1351df 100644 --- a/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/fraud/review-fraud-alert-sheet.tsx +++ b/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/fraud/review-fraud-alert-sheet.tsx @@ -23,7 +23,7 @@ import { Tooltip, useTable, } from "@dub/ui"; -import { BadgeCheck2Fill, Xmark } from "@dub/ui/icons"; +import { BadgeCheck2, Xmark } from "@dub/ui/icons"; import { cn, COUNTRIES, @@ -255,7 +255,7 @@ function SheetContent({ {value} {verified && ( - + )} } @@ -269,7 +269,7 @@ function SheetContent({ {label} {verified && ( - + )} diff --git a/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/trusted/page.tsx b/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/trusted/page.tsx index 59e44b00082..209fe0d3214 100644 --- a/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/trusted/page.tsx +++ b/apps/web/app/(ee)/admin.dub.co/(dashboard)/partners/trusted/page.tsx @@ -5,7 +5,7 @@ import { useConfirmModal } from "@/ui/modals/confirm-modal"; import { PartnerAvatar } from "@/ui/partners/partner-avatar"; import { Button, CopyText, Sheet, TimestampTooltip, Tooltip } from "@dub/ui"; import { - BadgeCheck2Fill, + BadgeCheck2, Instagram, LinkedIn, TikTok, @@ -415,7 +415,7 @@ export default function PartnersPage() { {value} {verified && ( - + )} } @@ -430,7 +430,7 @@ export default function PartnersPage() { {label} {verified && ( - + )} diff --git a/apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/rewards/form.tsx b/apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/rewards/form.tsx index bd93b3062f6..255faa3e7d9 100644 --- a/apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/rewards/form.tsx +++ b/apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/rewards/form.tsx @@ -7,7 +7,7 @@ import { ProgramData } from "@/lib/types"; import { RECURRING_MAX_DURATIONS } from "@/lib/zod/schemas/misc"; import { COMMISSION_TYPES } from "@/lib/zod/schemas/rewards"; import { RewardQualityFieldIndicator } from "@/ui/partners/rewards/reward-quality"; -import { Button, CircleCheckFill } from "@dub/ui"; +import { Button, CircleCheck } from "@dub/ui"; import { cn } from "@dub/utils"; import type { EventType } from "@prisma/client"; import { useAction } from "next-safe-action/hooks"; @@ -202,7 +202,7 @@ export function Form() { {description} - - - - - - + )} diff --git a/apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/network-approval-guide.tsx b/apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/network-approval-guide.tsx index 6ed63af370c..dc9cb462d36 100644 --- a/apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/network-approval-guide.tsx +++ b/apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/network-approval-guide.tsx @@ -5,7 +5,6 @@ import { useConfirmModal } from "@/ui/modals/confirm-modal"; import { Button, CircleCheck, - CircleCheckFill, CircleDotted, CircleHalfDottedClock, CircleXmark, @@ -175,7 +174,10 @@ export function NetworkApprovalGuide() { >
{completed ? ( - + ) : ( )} diff --git a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/invite/page.tsx b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/invite/page.tsx index feec9f6d398..e4fcc39fa5d 100644 --- a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/invite/page.tsx +++ b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/invite/page.tsx @@ -9,7 +9,7 @@ import { BLOCK_COMPONENTS } from "@/ui/partners/lander/blocks"; import { LanderHero } from "@/ui/partners/lander/lander-hero"; import { LanderRewards } from "@/ui/partners/lander/lander-rewards"; import { UserAvatar } from "@/ui/users/user-avatar"; -import { CircleCheckFill } from "@dub/ui"; +import { CircleCheck } from "@dub/ui"; import { OG_AVATAR_URL, cn } from "@dub/utils"; import { Reward } from "@prisma/client"; import { redirect } from "next/navigation"; @@ -99,7 +99,7 @@ export default async function ProgramInvitePage(props: { className="-ml-4 size-20 rotate-[15deg] rounded-full drop-shadow-md" />
- +
diff --git a/apps/web/app/[domain]/[key]/inspect/card.tsx b/apps/web/app/[domain]/[key]/inspect/card.tsx index a37c0f609f6..8c9c400d08f 100644 --- a/apps/web/app/[domain]/[key]/inspect/card.tsx +++ b/apps/web/app/[domain]/[key]/inspect/card.tsx @@ -1,4 +1,4 @@ -import { CopyButton, FlagFill, LinkLogo } from "@dub/ui"; +import { CopyButton, Flag, LinkLogo } from "@dub/ui"; import { getApexDomain, linkConstructor } from "@dub/utils"; import Link from "next/link"; @@ -47,7 +47,7 @@ export default function LinkInspectorCard({ target="_blank" className="rounded-md p-2 transition-all duration-75 hover:bg-red-100 focus:outline-none active:bg-red-200" > - + ); diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/add-edit-group-additional-link-modal.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/add-edit-group-additional-link-modal.tsx index aefa0554e26..9852adf0b5e 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/add-edit-group-additional-link-modal.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/add-edit-group-additional-link-modal.tsx @@ -11,7 +11,7 @@ import { Modal, useMediaQuery, } from "@dub/ui"; -import { CircleCheckFill } from "@dub/ui/icons"; +import { CircleCheck } from "@dub/ui/icons"; import { cn } from "@dub/utils"; import { Dispatch, SetStateAction, useEffect, useState } from "react"; import { useForm } from "react-hook-form"; @@ -283,7 +283,7 @@ function AddDestinationUrlModalContent({ {type.recommended && ( Recommended )} - Recommended )} - void; - variant?: "default" | "ignored"; }) { return ( (
{idx % 2 === 0 || isStarred ? ( - + ) : ( )} diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/network-partner-card.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/network-partner-card.tsx index e672a3e29ca..b93a474048f 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/network-partner-card.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/network-partner-card.tsx @@ -10,7 +10,7 @@ import { PartnerAvatar } from "@/ui/partners/partner-avatar"; import { PartnerStarButton } from "@/ui/partners/partner-star-button"; import { TrustedPartnerBadge } from "@/ui/partners/trusted-partner-badge"; import { - BadgeCheck2Fill, + BadgeCheck2, Button, DynamicTooltipWrapper, Tooltip, @@ -351,7 +351,7 @@ function PlatformStatCard({ className={cn("size-3.5", !value && "text-content-subtle opacity-40")} /> {verified && ( - + )}
{verifiedAt ? ( <> - + Verified {timeAgo(verifiedAt, { withAgo: true })} ) : ( diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/page-client.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/page-client.tsx index 4db6eecc29f..1e01425ae68 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/page-client.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/page-client.tsx @@ -20,7 +20,6 @@ import { Instagram, LinkedIn, Star, - StarFill, TikTok, Twitter, User, @@ -269,7 +268,7 @@ export function ProgramPartnerNetworkPageClient({ }} icon={ isStarred ? ( - + ) : ( ) @@ -385,7 +384,6 @@ export function ProgramPartnerNetworkPageClient({ isFiltered={isFiltered} isStarred={variant === "ignored" ? false : isStarred} onClearAllFilters={onRemoveAll} - variant={variant === "ignored" ? "ignored" : "default"} /> )} diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/success/page-client.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/success/page-client.tsx index 2d03e82863b..417243734a2 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/success/page-client.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/success/page-client.tsx @@ -4,7 +4,7 @@ import useProgram from "@/lib/swr/use-program"; import LayoutLoader from "@/ui/layout/layout-loader"; import { AnimatedEmptyState } from "@/ui/shared/animated-empty-state"; import { X } from "@/ui/shared/icons"; -import { buttonVariants, CircleCheckFill, Grid, Receipt2 } from "@dub/ui"; +import { buttonVariants, CircleCheck, Grid, Receipt2 } from "@dub/ui"; import { cn, currencyFormatter, @@ -111,7 +111,7 @@ export function PayoutsSuccessPageClient() { "animate-slide-up-fade motion-reduce:animate-fade-in [--offset:10px] [animation-duration:0.5s] [animation-fill-mode:both]", )} > - +

Thank you for your payout!

diff --git a/apps/web/app/app.dub.co/(invites)/[slug]/invite/page.tsx b/apps/web/app/app.dub.co/(invites)/[slug]/invite/page.tsx index 91522261d84..fc3b39b3d40 100644 --- a/apps/web/app/app.dub.co/(invites)/[slug]/invite/page.tsx +++ b/apps/web/app/app.dub.co/(invites)/[slug]/invite/page.tsx @@ -2,13 +2,13 @@ import { getSession } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; import { UserAvatar } from "@/ui/users/user-avatar"; import { - Book2Fill, - CircleCheckFill, + Book2, + CircleCheck, CircleHalfDottedClock, DubLinksIcon, DubPartnersIcon, - LifeRingFill, - MsgsFill, + LifeRing, + Msgs, Tooltip, Wordmark, } from "@dub/ui"; @@ -231,21 +231,21 @@ export default async function WorkspaceInvitePage({
{[ { - icon: LifeRingFill, + icon: LifeRing, title: "Help center", description: "Answers to your questions", href: "https://dub.co/help", cta: "Read", }, { - icon: Book2Fill, + icon: Book2, title: "Docs", description: "Platform documentation", href: "https://dub.co/docs", cta: "Learn", }, { - icon: MsgsFill, + icon: Msgs, title: "Support", description: "Product support or help requests", href: "https://dub.co/contact/support", @@ -258,7 +258,7 @@ export default async function WorkspaceInvitePage({ >
- +
@@ -326,7 +326,7 @@ function Hero({
) : ( - + )}
diff --git a/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/default-domain-selector.tsx b/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/default-domain-selector.tsx index d6f06622b8a..3daefe4e4bb 100644 --- a/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/default-domain-selector.tsx +++ b/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/default-domain-selector.tsx @@ -2,14 +2,15 @@ import { OnboardingStep } from "@/lib/onboarding/types"; import { - BoltFill, + Bolt, Button, - CircleCheckFill, + CircleCheck, Crown, CursorRays, Flask, Globe, type Icon, + withFillVariant, } from "@dub/ui"; import { capitalize, cn } from "@dub/utils"; import { usePlausible } from "next-plausible"; @@ -31,7 +32,7 @@ export function DefaultDomainSelector() { @@ -94,7 +95,7 @@ export function DefaultDomainSelector() { text: "Best for testing purposes", }, { - icon: BoltFill, + icon: withFillVariant(Bolt), text: "Instant subdomain setup", }, ]} diff --git a/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/register/page.tsx b/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/register/page.tsx index 28d7433e8ca..368621a2fd4 100644 --- a/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/register/page.tsx +++ b/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/register/page.tsx @@ -1,18 +1,15 @@ "use client"; -import { BoltFill } from "@dub/ui"; -import { useOnboardingProduct } from "../../../use-onboarding-product"; +import { Bolt, withFillVariant } from "@dub/ui"; import { StepPage } from "../../step-page"; import { Form } from "./form"; export default function Register() { - const product = useOnboardingProduct(); - return ( diff --git a/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/reward/form.tsx b/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/reward/form.tsx index c1f60dd4c0b..afbb2e4d1f6 100644 --- a/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/reward/form.tsx +++ b/apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/reward/form.tsx @@ -7,7 +7,7 @@ import { ProgramData } from "@/lib/types"; import { RECURRING_MAX_DURATIONS } from "@/lib/zod/schemas/misc"; import { COMMISSION_TYPES } from "@/lib/zod/schemas/rewards"; import { RewardQualityFieldIndicator } from "@/ui/partners/rewards/reward-quality"; -import { AnimatedSizeContainer, Button, CircleCheckFill } from "@dub/ui"; +import { AnimatedSizeContainer, Button, CircleCheck } from "@dub/ui"; import { capitalize, cn } from "@dub/utils"; import type { EventType } from "@prisma/client"; import { usePlausible } from "next-plausible"; @@ -206,7 +206,7 @@ export function Form() { {description}
- - - - +
Verified Integration @@ -36,7 +36,7 @@ export function IntegrationStatusBadge({
} > - + ); } diff --git a/apps/web/ui/modals/link-conversion-tracking-modal.tsx b/apps/web/ui/modals/link-conversion-tracking-modal.tsx index 23b787e91b6..6cbb161af63 100644 --- a/apps/web/ui/modals/link-conversion-tracking-modal.tsx +++ b/apps/web/ui/modals/link-conversion-tracking-modal.tsx @@ -1,7 +1,7 @@ import { mutatePrefix } from "@/lib/swr/mutate"; import useWorkspace from "@/lib/swr/use-workspace"; import { LinkProps } from "@/lib/types"; -import { Button, CircleCheckFill, LinkLogo, Modal } from "@dub/ui"; +import { Button, CircleCheck, LinkLogo, Modal } from "@dub/ui"; import { cn, getApexDomain, getPrettyUrl, pluralize } from "@dub/utils"; import { Dispatch, @@ -139,7 +139,7 @@ function LinkConversionTrackingModalInner({ {option.label} {option.description} - - - {label}
{description} -
- +

Potential risk detected

@@ -70,7 +70,7 @@ export function PartnerRiskBanner({ return (
- +

Potential risk detected

diff --git a/apps/web/ui/partners/fraud-risks/partner-risk-indicator.tsx b/apps/web/ui/partners/fraud-risks/partner-risk-indicator.tsx index c29cc40e977..c81ea52548f 100644 --- a/apps/web/ui/partners/fraud-risks/partner-risk-indicator.tsx +++ b/apps/web/ui/partners/fraud-risks/partner-risk-indicator.tsx @@ -2,7 +2,7 @@ import { FRAUD_SEVERITY_CONFIG } from "@/lib/api/fraud/constants"; import { useFraudGroupCount } from "@/lib/swr/use-fraud-groups-count"; import { FraudGroupCountByPartner } from "@/lib/types"; import { ButtonLink } from "@/ui/placeholders/button-link"; -import { DynamicTooltipWrapper, FlagFill } from "@dub/ui"; +import { DynamicTooltipWrapper, Flag } from "@dub/ui"; import { cn } from "@dub/utils"; import { useParams, usePathname } from "next/navigation"; @@ -70,7 +70,7 @@ export function PartnerRiskIndicator({ partnerId }: PartnerRiskIndicatorProps) { content: tooltipContent, }} > - - +
Approved Partner @@ -31,7 +31,7 @@ export function PartnerNetworkStatusBadge({
} > -
- +
)} diff --git a/apps/web/ui/partners/partner-platforms-form.tsx b/apps/web/ui/partners/partner-platforms-form.tsx index 2f8cb0fd482..306fe4d8a16 100644 --- a/apps/web/ui/partners/partner-platforms-form.tsx +++ b/apps/web/ui/partners/partner-platforms-form.tsx @@ -13,7 +13,7 @@ import { SocialVerificationByCodeModal } from "@/ui/modals/social-verification-b import { AnimatedSizeContainer, Button, - CircleCheckFill, + CircleCheck, Globe, Icon, Instagram, @@ -628,7 +628,7 @@ function VerifyButton({ text={isVerified ? "Verified" : "Verify"} icon={ isVerified ? ( - + ) : ( ) diff --git a/apps/web/ui/partners/partner-social-column.tsx b/apps/web/ui/partners/partner-social-column.tsx index f05b2dc3284..6c6c27fc6fd 100644 --- a/apps/web/ui/partners/partner-social-column.tsx +++ b/apps/web/ui/partners/partner-social-column.tsx @@ -1,5 +1,5 @@ import { PartnerPlatformProps } from "@/lib/types"; -import { BadgeCheck2Fill, TimestampTooltip } from "@dub/ui"; +import { BadgeCheck2, TimestampTooltip } from "@dub/ui"; import { getDomainWithoutWWW } from "@dub/utils"; import { PlatformType } from "@prisma/client"; @@ -46,7 +46,7 @@ export function PartnerSocialColumn({ delayDuration={150} >
- +
)} diff --git a/apps/web/ui/partners/partner-star-button.tsx b/apps/web/ui/partners/partner-star-button.tsx index 5e78d1fe64b..9bb3a20158e 100644 --- a/apps/web/ui/partners/partner-star-button.tsx +++ b/apps/web/ui/partners/partner-star-button.tsx @@ -3,7 +3,7 @@ import { mutatePrefix } from "@/lib/swr/mutate"; import useWorkspace from "@/lib/swr/use-workspace"; import { NetworkPartnerProps } from "@/lib/types"; import { Button } from "@dub/ui"; -import { Star, StarFill } from "@dub/ui/icons"; +import { Star } from "@dub/ui/icons"; import { cn } from "@dub/utils"; import { useAction } from "next-safe-action/hooks"; import { toast } from "sonner"; @@ -95,7 +95,7 @@ export function PartnerStarButton({ onClick={() => handleToggleStarred(!partner.starredAt)} icon={ partner.starredAt ? ( - + ) : ( ) diff --git a/apps/web/ui/partners/program-application-sheet.tsx b/apps/web/ui/partners/program-application-sheet.tsx index 3969911e6bc..bbac4fb78bc 100644 --- a/apps/web/ui/partners/program-application-sheet.tsx +++ b/apps/web/ui/partners/program-application-sheet.tsx @@ -15,7 +15,6 @@ import { Button, buttonVariants, CircleCheck, - CircleCheckFill, Grid, LoadingSpinner, Sheet, @@ -303,7 +302,7 @@ function ProgramApplicationSheetForm({ className="-ml-4 size-20 rotate-[15deg] drop-shadow-md" />
- +
diff --git a/apps/web/ui/shared/password-requirements.tsx b/apps/web/ui/shared/password-requirements.tsx index b54e70e18d0..90b9d62addd 100644 --- a/apps/web/ui/shared/password-requirements.tsx +++ b/apps/web/ui/shared/password-requirements.tsx @@ -1,4 +1,4 @@ -import { CircleCheckFill } from "@dub/ui"; +import { CircleCheck } from "@dub/ui"; import { cn } from "@dub/utils"; import { memo } from "react"; import { useFormContext, useWatch } from "react-hook-form"; @@ -58,7 +58,7 @@ export const PasswordRequirements = memo(function PasswordRequirements({ checked ? "text-green-600" : errors[field] && "text-red-600", )} > - - + )} diff --git a/packages/ui/package.json b/packages/ui/package.json index e236551ca20..f7c9eb86752 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,7 +1,7 @@ { "name": "@dub/ui", "description": "UI components for Dub", - "version": "0.3.4", + "version": "0.3.5", "sideEffects": false, "main": "./dist/index.js", "module": "./dist/index.mjs", diff --git a/packages/ui/src/card-selector.tsx b/packages/ui/src/card-selector.tsx index 06757811c12..a30efea18df 100644 --- a/packages/ui/src/card-selector.tsx +++ b/packages/ui/src/card-selector.tsx @@ -3,7 +3,7 @@ import { cn } from "@dub/utils"; import { ReactNode } from "react"; import { AnimatedSizeContainer } from "./animated-size-container"; -import { CircleCheckFill } from "./icons"; +import { CircleCheck } from "./icons"; export interface CardSelectorOption { key: string; @@ -79,7 +79,7 @@ export function CardSelector({ {description}
- {selected ? ( - + ) : ( - + )}
)} diff --git a/packages/ui/src/content.ts b/packages/ui/src/content.ts index 957a4a405a2..38ea1b1f73b 100644 --- a/packages/ui/src/content.ts +++ b/packages/ui/src/content.ts @@ -1,27 +1,28 @@ import { ElementType } from "react"; import { - Book2Fill, - BriefcaseFill, - BulletListFill, - DiamondTurnRightFill, + Book2, + Briefcase, + BulletList, + DiamondTurnRight, DubAnalyticsIcon, DubLinksIcon, DubPartnersIcon, - EnvelopeFill, - FeatherFill, + Envelope, + Feather, Github, Go, - LifeRingFill, + LifeRing, LinkedIn, - MicrophoneFill, + Microphone, Php, Python, Ruby, - Toggle2Fill, + Toggle2, Twitter, Typescript, - UsersFill, + Users, YouTube, + withFillVariant, } from "./icons"; import { DubApiIcon } from "./icons/dub-api"; import { Logo } from "./logo"; @@ -71,7 +72,7 @@ export const FEATURES_LIST = [ { title: "Dub Integrations", description: "Connect Dub with your favorite tools", - icon: Toggle2Fill, + icon: withFillVariant(Toggle2), href: "/integrations", }, ]; @@ -114,19 +115,19 @@ export const SDKS = [ export const SOLUTIONS: NavItemChildren = [ { - icon: DiamondTurnRightFill, + icon: withFillVariant(DiamondTurnRight), title: "Marketing Attribution", description: "Easily track and measure marketing impact", href: "/analytics", }, { - icon: MicrophoneFill, + icon: withFillVariant(Microphone), title: "Content Creators", description: "Intelligent audience insights and link tracking", href: "/solutions/creators", }, { - icon: UsersFill, + icon: withFillVariant(Users), title: "Affiliate Management", description: "Manage affiliates and automate payouts", href: "/partners", @@ -139,37 +140,37 @@ export const SOLUTIONS: NavItemChildren = [ export const RESOURCES = [ { - icon: LifeRingFill, + icon: LifeRing, title: "Help Center", description: "Answers to your questions", href: "/help", }, { - icon: Book2Fill, + icon: Book2, title: "Docs", description: "Platform documentation", href: "/docs", }, { - icon: UsersFill, + icon: withFillVariant(Users), title: "About", description: "Company, values, and team", href: "/about", }, { - icon: BriefcaseFill, + icon: Briefcase, title: "Careers", description: "Join our global, remote team", href: "/careers", }, { - icon: FeatherFill, + icon: Feather, title: "Blog", description: "Insights and stories", href: "/blog", }, { - icon: BulletListFill, + icon: BulletList, title: "Changelog", description: "Releases and updates", href: "/changelog", @@ -181,7 +182,7 @@ export const RESOURCES = [ href: "/brand", }, { - icon: EnvelopeFill, + icon: Envelope, title: "Contact", description: "Reach out to support or sales", href: "/contact", diff --git a/packages/ui/src/icons/index.tsx b/packages/ui/src/icons/index.tsx index 493ffe2ccf9..7d1a8e1ee5e 100644 --- a/packages/ui/src/icons/index.tsx +++ b/packages/ui/src/icons/index.tsx @@ -81,6 +81,8 @@ export * from "./default-domains/github-enhanced"; export * from "./default-domains/google-enhanced"; export * from "./default-domains/spotify"; +export * from "./with-fill-variant"; + // Nucleo icons export * from "./nucleo"; diff --git a/packages/ui/src/icons/nucleo/badge-check2-fill.tsx b/packages/ui/src/icons/nucleo/badge-check2-fill.tsx deleted file mode 100644 index 1052808343d..00000000000 --- a/packages/ui/src/icons/nucleo/badge-check2-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function BadgeCheck2Fill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/badge-check2.tsx b/packages/ui/src/icons/nucleo/badge-check2.tsx new file mode 100644 index 00000000000..94ae8d7c21b --- /dev/null +++ b/packages/ui/src/icons/nucleo/badge-check2.tsx @@ -0,0 +1,44 @@ +import { SVGProps } from "react"; + +export function BadgeCheck2({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { + return ( + + + {variant === "fill" ? ( + + ) : ( + <> + + + + )} + + + ); +} diff --git a/packages/ui/src/icons/nucleo/bolt-fill.tsx b/packages/ui/src/icons/nucleo/bolt-fill.tsx deleted file mode 100644 index 2348de2a8f7..00000000000 --- a/packages/ui/src/icons/nucleo/bolt-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function BoltFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/bolt.tsx b/packages/ui/src/icons/nucleo/bolt.tsx index bdc2b19bdec..08e40aab12c 100644 --- a/packages/ui/src/icons/nucleo/bolt.tsx +++ b/packages/ui/src/icons/nucleo/bolt.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Bolt(props: SVGProps) { +export function Bolt({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - + {variant === "fill" ? ( + <> + + + ) : ( + <> + + + )} ); diff --git a/packages/ui/src/icons/nucleo/book2-fill.tsx b/packages/ui/src/icons/nucleo/book2-fill.tsx deleted file mode 100644 index 430b4312b3d..00000000000 --- a/packages/ui/src/icons/nucleo/book2-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function Book2Fill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/book2.tsx b/packages/ui/src/icons/nucleo/book2.tsx index 3068fb98770..e47df771972 100644 --- a/packages/ui/src/icons/nucleo/book2.tsx +++ b/packages/ui/src/icons/nucleo/book2.tsx @@ -1,58 +1,78 @@ import { SVGProps } from "react"; -export function Book2(props: SVGProps) { +export function Book2({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( - + - - - - - + {variant === "fill" ? ( + <> + + + ) : ( + <> + + + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/briefcase-fill.tsx b/packages/ui/src/icons/nucleo/briefcase-fill.tsx deleted file mode 100644 index 33c5e9ac2d8..00000000000 --- a/packages/ui/src/icons/nucleo/briefcase-fill.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { SVGProps } from "react"; - -export function BriefcaseFill(props: SVGProps) { - return ( - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/briefcase.tsx b/packages/ui/src/icons/nucleo/briefcase.tsx new file mode 100644 index 00000000000..b909a26e979 --- /dev/null +++ b/packages/ui/src/icons/nucleo/briefcase.tsx @@ -0,0 +1,60 @@ +import { SVGProps } from "react"; + +export function Briefcase({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { + return ( + + + {variant === "fill" ? ( + <> + + + + ) : ( + <> + + + + )} + + + ); +} diff --git a/packages/ui/src/icons/nucleo/bullet-list-fill.tsx b/packages/ui/src/icons/nucleo/bullet-list-fill.tsx deleted file mode 100644 index 4b0e3b51ca1..00000000000 --- a/packages/ui/src/icons/nucleo/bullet-list-fill.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { SVGProps } from "react"; - -export function BulletListFill(props: SVGProps) { - return ( - - - - - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/bullet-list.tsx b/packages/ui/src/icons/nucleo/bullet-list.tsx index 4ea2af2beab..79f855aea1c 100644 --- a/packages/ui/src/icons/nucleo/bullet-list.tsx +++ b/packages/ui/src/icons/nucleo/bullet-list.tsx @@ -1,73 +1,107 @@ import { SVGProps } from "react"; -export function BulletList(props: SVGProps) { +export function BulletList({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( - + - - - - - - + {variant === "fill" ? ( + <> + + + + + + + + ) : ( + <> + + + + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/caret-up-fill.tsx b/packages/ui/src/icons/nucleo/caret-up-fill.tsx deleted file mode 100644 index c8c8cba3e77..00000000000 --- a/packages/ui/src/icons/nucleo/caret-up-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function CaretUpFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/caret-up.tsx b/packages/ui/src/icons/nucleo/caret-up.tsx new file mode 100644 index 00000000000..ad4313b800b --- /dev/null +++ b/packages/ui/src/icons/nucleo/caret-up.tsx @@ -0,0 +1,34 @@ +import { SVGProps } from "react"; + +export function CaretUp({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { + return ( + + + {variant === "fill" ? ( + + ) : ( + + )} + + + ); +} diff --git a/packages/ui/src/icons/nucleo/checkbox-checked-fill.tsx b/packages/ui/src/icons/nucleo/checkbox-checked-fill.tsx deleted file mode 100644 index 0f42b270a14..00000000000 --- a/packages/ui/src/icons/nucleo/checkbox-checked-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function CheckboxCheckedFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/checkbox-unchecked.tsx b/packages/ui/src/icons/nucleo/checkbox-unchecked.tsx deleted file mode 100644 index 5baca6df74b..00000000000 --- a/packages/ui/src/icons/nucleo/checkbox-unchecked.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { SVGProps } from "react"; - -export function CheckboxUnchecked(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/checkbox.tsx b/packages/ui/src/icons/nucleo/checkbox.tsx new file mode 100644 index 00000000000..634f577011c --- /dev/null +++ b/packages/ui/src/icons/nucleo/checkbox.tsx @@ -0,0 +1,39 @@ +import { SVGProps } from "react"; + +export function CheckboxIcon({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { + return ( + + + {variant === "fill" ? ( + + ) : ( + + )} + + + ); +} diff --git a/packages/ui/src/icons/nucleo/circle-check-fill.tsx b/packages/ui/src/icons/nucleo/circle-check-fill.tsx deleted file mode 100644 index f5ce1788dd1..00000000000 --- a/packages/ui/src/icons/nucleo/circle-check-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function CircleCheckFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/circle-check.tsx b/packages/ui/src/icons/nucleo/circle-check.tsx index c54bd517763..d314b277a83 100644 --- a/packages/ui/src/icons/nucleo/circle-check.tsx +++ b/packages/ui/src/icons/nucleo/circle-check.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function CircleCheck(props: SVGProps) { +export function CircleCheck({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - + {variant === "fill" ? ( + <> + + + ) : ( + <> + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/circle-play-fill.tsx b/packages/ui/src/icons/nucleo/circle-play-fill.tsx deleted file mode 100644 index b3cf2895455..00000000000 --- a/packages/ui/src/icons/nucleo/circle-play-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function CirclePlayFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/circle-play.tsx b/packages/ui/src/icons/nucleo/circle-play.tsx index 34a9356fa65..d74eb98fe56 100644 --- a/packages/ui/src/icons/nucleo/circle-play.tsx +++ b/packages/ui/src/icons/nucleo/circle-play.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function CirclePlay(props: SVGProps) { +export function CirclePlay({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - + {variant === "fill" ? ( + <> + + + ) : ( + <> + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/connected-dots-fill.tsx b/packages/ui/src/icons/nucleo/connected-dots-fill.tsx deleted file mode 100644 index 70e060345a0..00000000000 --- a/packages/ui/src/icons/nucleo/connected-dots-fill.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { SVGProps } from "react"; - -export function ConnectedDotsFill(props: SVGProps) { - return ( - - - - - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/connected-dots.tsx b/packages/ui/src/icons/nucleo/connected-dots.tsx index 1574ac2deb8..3650fd680fa 100644 --- a/packages/ui/src/icons/nucleo/connected-dots.tsx +++ b/packages/ui/src/icons/nucleo/connected-dots.tsx @@ -1,72 +1,151 @@ import { SVGProps } from "react"; -export function ConnectedDots(props: SVGProps) { +export function ConnectedDots({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( - + - - - - - - + {variant === "fill" ? ( + <> + + + + + + + + ) : ( + <> + + + + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/cube-settings-fill.tsx b/packages/ui/src/icons/nucleo/cube-settings-fill.tsx deleted file mode 100644 index ef785ee4027..00000000000 --- a/packages/ui/src/icons/nucleo/cube-settings-fill.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { SVGProps } from "react"; - -export function CubeSettingsFill(props: SVGProps) { - return ( - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/cube-settings.tsx b/packages/ui/src/icons/nucleo/cube-settings.tsx index 479e7eeecb8..d1d9184afcd 100644 --- a/packages/ui/src/icons/nucleo/cube-settings.tsx +++ b/packages/ui/src/icons/nucleo/cube-settings.tsx @@ -1,134 +1,158 @@ import { SVGProps } from "react"; -export function CubeSettings(props: SVGProps) { +export function CubeSettings({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( - + - - - - - - - - - - - - + {variant === "fill" ? ( + <> + + + + ) : ( + <> + + + + + + + + + + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/diamond-turn-right-fill.tsx b/packages/ui/src/icons/nucleo/diamond-turn-right-fill.tsx deleted file mode 100644 index ad3cd499de4..00000000000 --- a/packages/ui/src/icons/nucleo/diamond-turn-right-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function DiamondTurnRightFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/diamond-turn-right.tsx b/packages/ui/src/icons/nucleo/diamond-turn-right.tsx index 8508e8f4c97..50f86a7bd4d 100644 --- a/packages/ui/src/icons/nucleo/diamond-turn-right.tsx +++ b/packages/ui/src/icons/nucleo/diamond-turn-right.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function DiamondTurnRight(props: SVGProps) { +export function DiamondTurnRight({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - - + {variant === "fill" ? ( + <> + + + ) : ( + <> + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/envelope-fill.tsx b/packages/ui/src/icons/nucleo/envelope-fill.tsx deleted file mode 100644 index eebbdc96c7b..00000000000 --- a/packages/ui/src/icons/nucleo/envelope-fill.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { SVGProps } from "react"; - -export function EnvelopeFill(props: SVGProps) { - return ( - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/envelope.tsx b/packages/ui/src/icons/nucleo/envelope.tsx index a1bd8b4befa..849c5ab9437 100644 --- a/packages/ui/src/icons/nucleo/envelope.tsx +++ b/packages/ui/src/icons/nucleo/envelope.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Envelope(props: SVGProps) { +export function Envelope({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - + {variant === "fill" ? ( + <> + + + + ) : ( + <> + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/feather-fill.tsx b/packages/ui/src/icons/nucleo/feather-fill.tsx deleted file mode 100644 index 06fb855bf64..00000000000 --- a/packages/ui/src/icons/nucleo/feather-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function FeatherFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/feather.tsx b/packages/ui/src/icons/nucleo/feather.tsx new file mode 100644 index 00000000000..a8fca19f9ca --- /dev/null +++ b/packages/ui/src/icons/nucleo/feather.tsx @@ -0,0 +1,44 @@ +import { SVGProps } from "react"; + +export function Feather({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { + return ( + + + {variant === "fill" ? ( + + ) : ( + <> + + + + )} + + + ); +} diff --git a/packages/ui/src/icons/nucleo/flag-fill.tsx b/packages/ui/src/icons/nucleo/flag-fill.tsx deleted file mode 100644 index 23b79a7e9e7..00000000000 --- a/packages/ui/src/icons/nucleo/flag-fill.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { SVGProps } from "react"; - -export function FlagFill(props: SVGProps) { - return ( - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/flag.tsx b/packages/ui/src/icons/nucleo/flag.tsx index ecf1687faa0..2d5ee93f0b7 100644 --- a/packages/ui/src/icons/nucleo/flag.tsx +++ b/packages/ui/src/icons/nucleo/flag.tsx @@ -1,34 +1,53 @@ import { SVGProps } from "react"; -export function Flag(props: SVGProps) { +export function Flag({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( - - + + {variant === "fill" ? ( + <> + + + + ) : ( + <> + + + + )} + ); } diff --git a/packages/ui/src/icons/nucleo/gift-fill.tsx b/packages/ui/src/icons/nucleo/gift-fill.tsx deleted file mode 100644 index c5d42dee847..00000000000 --- a/packages/ui/src/icons/nucleo/gift-fill.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { SVGProps } from "react"; - -export function GiftFill(props: SVGProps) { - return ( - - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/gift.tsx b/packages/ui/src/icons/nucleo/gift.tsx index 3233819c445..39e1ff171fb 100644 --- a/packages/ui/src/icons/nucleo/gift.tsx +++ b/packages/ui/src/icons/nucleo/gift.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Gift(props: SVGProps) { +export function Gift({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - - - - + {variant === "fill" ? ( + <> + + + + + ) : ( + <> + + + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/heart-fill.tsx b/packages/ui/src/icons/nucleo/heart-fill.tsx deleted file mode 100644 index 7c959e321f2..00000000000 --- a/packages/ui/src/icons/nucleo/heart-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function HeartFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/heart.tsx b/packages/ui/src/icons/nucleo/heart.tsx index 9df44f24ce6..7a4912ba8d2 100644 --- a/packages/ui/src/icons/nucleo/heart.tsx +++ b/packages/ui/src/icons/nucleo/heart.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Heart(props: SVGProps) { +export function Heart({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - + {variant === "fill" ? ( + <> + + + ) : ( + <> + + + )} ); diff --git a/packages/ui/src/icons/nucleo/index.ts b/packages/ui/src/icons/nucleo/index.ts index 58f1e3233e0..87179e07618 100644 --- a/packages/ui/src/icons/nucleo/index.ts +++ b/packages/ui/src/icons/nucleo/index.ts @@ -11,42 +11,37 @@ export * from "./arrows-opposite-direction-x"; export * from "./arrows-opposite-direction-y"; export * from "./at-sign"; export * from "./badge-check"; -export * from "./badge-check2-fill"; +export * from "./badge-check2"; export * from "./bell"; export * from "./blog"; export * from "./bolt"; -export * from "./bolt-fill"; export * from "./book-open"; export * from "./book2"; -export * from "./book2-fill"; export * from "./book2-small"; export * from "./books2"; export * from "./box-archive"; export * from "./brackets-curly"; -export * from "./briefcase-fill"; +export * from "./briefcase"; export * from "./brush"; export * from "./bullet-list"; -export * from "./bullet-list-fill"; export * from "./calculator"; export * from "./calendar"; export * from "./calendar-days"; export * from "./calendar-refresh"; export * from "./calendar6"; export * from "./cards"; -export * from "./caret-up-fill"; +export * from "./caret-up"; export * from "./chart-activity2"; export * from "./chart-area2"; export * from "./chart-line"; export * from "./check"; export * from "./check2"; -export * from "./checkbox-checked-fill"; -export * from "./checkbox-unchecked"; +export { CheckboxIcon } from "./checkbox"; export * from "./chevron-left"; export * from "./chevron-right"; export * from "./chevron-up"; export * from "./circle-arrow-right"; export * from "./circle-check"; -export * from "./circle-check-fill"; export * from "./circle-dollar"; export * from "./circle-dollar-out"; export * from "./circle-dollar3"; @@ -56,7 +51,6 @@ export * from "./circle-half-dotted-clock"; export * from "./circle-info"; export * from "./circle-percentage"; export * from "./circle-play"; -export * from "./circle-play-fill"; export * from "./circle-question"; export * from "./circle-user"; export * from "./circle-warning"; @@ -68,7 +62,6 @@ export * from "./cloud-upload"; export * from "./code"; export * from "./color-palette2"; export * from "./connected-dots"; -export * from "./connected-dots-fill"; export * from "./connected-dots4"; export * from "./connections3"; export * from "./credit-card"; @@ -76,13 +69,11 @@ export * from "./crosshairs3"; export * from "./crown"; export * from "./cube"; export * from "./cube-settings"; -export * from "./cube-settings-fill"; export * from "./currency-dollar"; export * from "./cursor-rays"; export * from "./database-key"; export * from "./desktop"; export * from "./diamond-turn-right"; -export * from "./diamond-turn-right-fill"; export * from "./directions"; export * from "./discount"; export * from "./dots"; @@ -95,18 +86,16 @@ export * from "./envelope-alert"; export * from "./envelope-arrow-right"; export * from "./envelope-ban"; export * from "./envelope-check"; -export * from "./envelope-fill"; export * from "./envelope-open"; export * from "./eye"; export * from "./eye-slash"; export * from "./face-smile"; -export * from "./feather-fill"; +export * from "./feather"; export * from "./file-content"; export * from "./file-zip2"; export * from "./filter-bars"; export * from "./filter2"; export * from "./flag"; -export * from "./flag-fill"; export * from "./flag-wavy"; export * from "./flag2"; export * from "./flag6"; @@ -125,7 +114,6 @@ export * from "./gear2"; export * from "./gear3"; export * from "./gem"; export * from "./gift"; -export * from "./gift-fill"; export * from "./globe"; export * from "./globe-pointer"; export * from "./globe-search"; @@ -139,7 +127,6 @@ export * from "./heading-1"; export * from "./heading-2"; export * from "./headset"; export * from "./heart"; -export * from "./heart-fill"; export * from "./hexadecagon-star"; export * from "./history"; export * from "./hyperlink"; @@ -156,13 +143,11 @@ export * from "./key"; export * from "./layout-sidebar"; export * from "./license"; export * from "./life-ring"; -export * from "./life-ring-fill"; export * from "./lines-y"; export * from "./link-broken"; export * from "./link4"; export * from "./location-pin"; export * from "./lock"; -export * from "./lock-fill"; export * from "./magnifier"; export * from "./map-position"; export * from "./marketing-target"; @@ -171,7 +156,7 @@ export * from "./media-play"; export * from "./megaphone"; export * from "./menu3"; export * from "./message-smile"; -export * from "./microphone-fill"; +export * from "./microphone"; export * from "./minus"; export * from "./mobile-phone"; export * from "./money-bill"; @@ -180,7 +165,6 @@ export * from "./money-bills2"; export * from "./msg"; export * from "./msgs"; export * from "./msgs-dotted"; -export * from "./msgs-fill"; export * from "./nodes-4"; export * from "./note"; export * from "./office-building"; @@ -225,7 +209,6 @@ export * from "./square-user-sparkle2"; export * from "./square-xmark"; export * from "./stack-y-3"; export * from "./star"; -export * from "./star-fill"; export * from "./stars2"; export * from "./suitcase"; export * from "./table-icon"; @@ -237,7 +220,7 @@ export * from "./text-bold"; export * from "./text-italic"; export * from "./text-strike"; export * from "./timer2"; -export * from "./toggle2-fill"; +export * from "./toggle2"; export * from "./toggles"; export * from "./trash"; export * from "./triangle-warning"; @@ -256,7 +239,6 @@ export * from "./user-plus"; export * from "./user-search"; export * from "./user-xmark"; export * from "./users"; -export * from "./users-fill"; export * from "./users-settings"; export * from "./users2"; export * from "./users6"; diff --git a/packages/ui/src/icons/nucleo/life-ring-fill.tsx b/packages/ui/src/icons/nucleo/life-ring-fill.tsx deleted file mode 100644 index e0cfffc104c..00000000000 --- a/packages/ui/src/icons/nucleo/life-ring-fill.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { SVGProps } from "react"; - -export function LifeRingFill(props: SVGProps) { - return ( - - - - - - - - - - - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/life-ring.tsx b/packages/ui/src/icons/nucleo/life-ring.tsx index d120fd5845f..d95e6580079 100644 --- a/packages/ui/src/icons/nucleo/life-ring.tsx +++ b/packages/ui/src/icons/nucleo/life-ring.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function LifeRing(props: SVGProps) { +export function LifeRing({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - - - - - - - - - - - + {variant === "fill" ? ( + <> + + + + + + + + + + + + + + ) : ( + <> + + + + + + + + + + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/lock-fill.tsx b/packages/ui/src/icons/nucleo/lock-fill.tsx deleted file mode 100644 index 7ab2444ad9e..00000000000 --- a/packages/ui/src/icons/nucleo/lock-fill.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { SVGProps } from "react"; - -export function LockFill(props: SVGProps) { - return ( - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/lock.tsx b/packages/ui/src/icons/nucleo/lock.tsx index 8fbcdade49c..ffd0c224391 100644 --- a/packages/ui/src/icons/nucleo/lock.tsx +++ b/packages/ui/src/icons/nucleo/lock.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Lock(props: SVGProps) { +export function Lock({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - - + {variant === "fill" ? ( + <> + + + + ) : ( + <> + + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/microphone-fill.tsx b/packages/ui/src/icons/nucleo/microphone-fill.tsx deleted file mode 100644 index ac77a5f4456..00000000000 --- a/packages/ui/src/icons/nucleo/microphone-fill.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { SVGProps } from "react"; - -export function MicrophoneFill(props: SVGProps) { - return ( - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/microphone.tsx b/packages/ui/src/icons/nucleo/microphone.tsx new file mode 100644 index 00000000000..eb4b592d7ca --- /dev/null +++ b/packages/ui/src/icons/nucleo/microphone.tsx @@ -0,0 +1,66 @@ +import { SVGProps } from "react"; + +export function Microphone({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { + return ( + + + {variant === "fill" ? ( + <> + + + + ) : ( + <> + + + + + )} + + + ); +} diff --git a/packages/ui/src/icons/nucleo/msgs-fill.tsx b/packages/ui/src/icons/nucleo/msgs-fill.tsx deleted file mode 100644 index dbb1397def7..00000000000 --- a/packages/ui/src/icons/nucleo/msgs-fill.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { SVGProps } from "react"; - -export function MsgsFill(props: SVGProps) { - return ( - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/msgs.tsx b/packages/ui/src/icons/nucleo/msgs.tsx index 6a1e1e92778..7b135edcd26 100644 --- a/packages/ui/src/icons/nucleo/msgs.tsx +++ b/packages/ui/src/icons/nucleo/msgs.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Msgs(props: SVGProps) { +export function Msgs({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - + {variant === "fill" ? ( + <> + + + + ) : ( + <> + + + + )} ); diff --git a/packages/ui/src/icons/nucleo/star-fill.tsx b/packages/ui/src/icons/nucleo/star-fill.tsx deleted file mode 100644 index 3f3b9df2740..00000000000 --- a/packages/ui/src/icons/nucleo/star-fill.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export function StarFill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/star.tsx b/packages/ui/src/icons/nucleo/star.tsx index ded8288a1b8..da0cfaf9241 100644 --- a/packages/ui/src/icons/nucleo/star.tsx +++ b/packages/ui/src/icons/nucleo/star.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Star(props: SVGProps) { +export function Star({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - + {variant === "fill" ? ( + <> + + + ) : ( + <> + + + )} ); diff --git a/packages/ui/src/icons/nucleo/toggle2-fill.tsx b/packages/ui/src/icons/nucleo/toggle2-fill.tsx deleted file mode 100644 index 894a0f650ad..00000000000 --- a/packages/ui/src/icons/nucleo/toggle2-fill.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { SVGProps } from "react"; - -export function Toggle2Fill(props: SVGProps) { - return ( - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/toggle2.tsx b/packages/ui/src/icons/nucleo/toggle2.tsx new file mode 100644 index 00000000000..d4e0b7f8d98 --- /dev/null +++ b/packages/ui/src/icons/nucleo/toggle2.tsx @@ -0,0 +1,47 @@ +import { SVGProps } from "react"; + +export function Toggle2({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { + return ( + + + {variant === "fill" ? ( + + ) : ( + <> + + + + )} + + + ); +} diff --git a/packages/ui/src/icons/nucleo/users-fill.tsx b/packages/ui/src/icons/nucleo/users-fill.tsx deleted file mode 100644 index c24573b68fc..00000000000 --- a/packages/ui/src/icons/nucleo/users-fill.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { SVGProps } from "react"; - -export function UsersFill(props: SVGProps) { - return ( - - - - - - - - - ); -} diff --git a/packages/ui/src/icons/nucleo/users.tsx b/packages/ui/src/icons/nucleo/users.tsx index 57cde6e8713..9483f322132 100644 --- a/packages/ui/src/icons/nucleo/users.tsx +++ b/packages/ui/src/icons/nucleo/users.tsx @@ -1,6 +1,9 @@ import { SVGProps } from "react"; -export function Users(props: SVGProps) { +export function Users({ + variant = "outline", + ...props +}: SVGProps & { variant?: "outline" | "fill" }) { return ( ) { {...props} > - - - - + {variant === "fill" ? ( + <> + + + + + + ) : ( + <> + + + + + + )} ); diff --git a/packages/ui/src/icons/with-fill-variant.tsx b/packages/ui/src/icons/with-fill-variant.tsx new file mode 100644 index 00000000000..13a674c8477 --- /dev/null +++ b/packages/ui/src/icons/with-fill-variant.tsx @@ -0,0 +1,13 @@ +import { ComponentProps, ComponentType, SVGProps } from "react"; + +type VariantIcon = ComponentType< + SVGProps & { variant?: "outline" | "fill" } +>; + +export function withFillVariant(Icon: VariantIcon): VariantIcon { + const FillIcon = (props: ComponentProps) => ( + + ); + FillIcon.displayName = `FillVariant(${Icon.displayName || Icon.name || "Icon"})`; + return FillIcon; +} diff --git a/packages/ui/src/nav/content/resources-content.tsx b/packages/ui/src/nav/content/resources-content.tsx index ba6cefea6ec..89b494459f0 100644 --- a/packages/ui/src/nav/content/resources-content.tsx +++ b/packages/ui/src/nav/content/resources-content.tsx @@ -3,7 +3,7 @@ import { Link as NavigationMenuLink } from "@radix-ui/react-navigation-menu"; import Link from "next/link"; import { RESOURCES } from "../../content"; import { Grid } from "../../grid"; -import { Book2Fill, LifeRingFill } from "../../icons"; +import { Book2, LifeRing } from "../../icons"; import { ContentLinkCard, NAV_UTM_PARAMS, @@ -12,14 +12,14 @@ import { const mainLinks = [ { - icon: LifeRingFill, + icon: LifeRing, title: "Help Center", description: "Answers to your questions", thumbnail: "https://assets.dub.co/misc/help-thumbnail.jpg", href: "/help", }, { - icon: Book2Fill, + icon: Book2, title: "Docs", description: "Platform documentation", thumbnail: "https://assets.dub.co/misc/docs-thumbnail.jpg", @@ -62,7 +62,10 @@ export function ResourcesContent({ domain }: { domain: string }) { )} /> - +
{title} @@ -93,7 +96,10 @@ export function ResourcesContent({ domain }: { domain: string }) { })} icon={
- +
} title={title} @@ -119,7 +125,10 @@ export function ResourcesContent({ domain }: { domain: string }) { })} icon={
- +
} title={title} diff --git a/packages/ui/src/nav/content/solutions-content.tsx b/packages/ui/src/nav/content/solutions-content.tsx index cc06c808b77..d09e199e0d7 100644 --- a/packages/ui/src/nav/content/solutions-content.tsx +++ b/packages/ui/src/nav/content/solutions-content.tsx @@ -3,7 +3,7 @@ import { Link as NavigationMenuLink } from "@radix-ui/react-navigation-menu"; import Link from "next/link"; import { SDKS } from "../../content"; import { Grid } from "../../grid"; -import { DiamondTurnRightFill, MicrophoneFill, UsersFill } from "../../icons"; +import { DiamondTurnRight, Microphone, Users } from "../../icons"; import { ContentLinkCard, NAV_UTM_PARAMS, @@ -12,19 +12,19 @@ import { const mainLinks = [ { - icon: DiamondTurnRightFill, + icon: DiamondTurnRight, title: "Marketing Attribution", description: "Easily track and measure marketing impact", href: "/analytics", }, { - icon: MicrophoneFill, + icon: Microphone, title: "Content Creators", description: "Intelligent audience insights and link tracking", href: "/solutions/creators", }, { - icon: UsersFill, + icon: Users, title: "Affiliate Management", description: "Manage affiliates and automate payouts", href: "/partners", @@ -66,7 +66,10 @@ export function SolutionsContent({ domain }: { domain: string }) { )} />
- +
{title}