diff --git a/apps/web/components/EnterprisePage.tsx b/apps/web/components/EnterprisePage.tsx index 5996a4af34..5e969c201c 100644 --- a/apps/web/components/EnterprisePage.tsx +++ b/apps/web/components/EnterprisePage.tsx @@ -15,7 +15,7 @@ export default function EnterprisePage() { description: t("branded_subdomain_description"), }, { - icon: , + icon: , title: t("org_insights"), description: t("org_insights_description"), }, diff --git a/apps/web/components/apps/installation/ConfigureStepCard.tsx b/apps/web/components/apps/installation/ConfigureStepCard.tsx index a6f762baae..282b01ecbd 100644 --- a/apps/web/components/apps/installation/ConfigureStepCard.tsx +++ b/apps/web/components/apps/installation/ConfigureStepCard.tsx @@ -1,6 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; import type { TEventType, TEventTypesForm } from "@pages/apps/installation/[[...step]]"; -import { X } from "lucide-react"; import type { Dispatch, SetStateAction } from "react"; import type { FC } from "react"; import React, { forwardRef, useEffect, useRef, useState } from "react"; @@ -13,7 +12,7 @@ import type { LocationObject } from "@calcom/core/location"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import type { AppCategories } from "@calcom/prisma/enums"; import type { EventTypeMetaDataSchema, eventTypeBookingFields } from "@calcom/prisma/zod-utils"; -import { Button, Form } from "@calcom/ui"; +import { Button, Form, Icon } from "@calcom/ui"; import EventTypeAppSettingsWrapper from "@components/apps/installation/EventTypeAppSettingsWrapper"; import EventTypeConferencingAppSettings from "@components/apps/installation/EventTypeConferencingAppSettings"; @@ -101,7 +100,8 @@ const EventTypeAppSettingsForm = forwardRef )} - !loading && handleDelete()} diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 2b7d2ecb0b..f27194dce9 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -205,7 +205,6 @@ const nextConfig = { "@calcom/prisma", "@calcom/trpc", "@calcom/ui", - "lucide-react", ], modularizeImports: { "@calcom/features/insights/components": { @@ -445,6 +444,10 @@ const nextConfig = { source: "/avatar.svg", headers: [CORP_CROSS_ORIGIN_HEADER], }, + { + source: "/icons/sprite.svg", + headers: [CORP_CROSS_ORIGIN_HEADER], + }, ], ...(isOrganizationsEnabled ? [ diff --git a/apps/web/package.json b/apps/web/package.json index f21ce96504..d4f9afb06d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -112,7 +112,6 @@ "react-digit-input": "^2.1.0", "react-dom": "^18.2.0", "react-easy-crop": "^3.5.2", - "react-feather": "^2.0.10", "react-hook-form": "^7.43.3", "react-hot-toast": "^2.3.0", "react-intl": "^5.25.1", diff --git a/apps/web/pages/apps/installed/[category].tsx b/apps/web/pages/apps/installed/[category].tsx index 009a96f0e8..3ed57baea2 100644 --- a/apps/web/pages/apps/installed/[category].tsx +++ b/apps/web/pages/apps/installed/[category].tsx @@ -43,7 +43,7 @@ const IntegrationsContainer = ({ calendar: "calendar", conferencing: "video", automation: "share-2", - analytics: "bar-chart", + analytics: "chart-bar", payment: "credit-card", other: "grid-3x3", web3: "credit-card", // deprecated diff --git a/apps/web/public/icons/sprite.svg b/apps/web/public/icons/sprite.svg new file mode 100644 index 0000000000..0ae3cf4bf0 --- /dev/null +++ b/apps/web/public/icons/sprite.svg @@ -0,0 +1,653 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/app-store/_utils/getAppCategories.ts b/packages/app-store/_utils/getAppCategories.ts index a0cfb36d19..115634d79c 100644 --- a/packages/app-store/_utils/getAppCategories.ts +++ b/packages/app-store/_utils/getAppCategories.ts @@ -21,7 +21,7 @@ const getAppCategories = (baseURL: string, useQueryParam: boolean): AppCategoryE { name: "analytics", href: getHref(baseURL, "analytics", useQueryParam), - icon: "bar-chart", + icon: "chart-bar", }, { name: "automation", diff --git a/packages/app-store/routing-forms/pages/forms/[...appPages].tsx b/packages/app-store/routing-forms/pages/forms/[...appPages].tsx index c2686af6a7..eee295013e 100644 --- a/packages/app-store/routing-forms/pages/forms/[...appPages].tsx +++ b/packages/app-store/routing-forms/pages/forms/[...appPages].tsx @@ -104,7 +104,7 @@ export default function RoutingForms({ description: t("route_to_the_right_person"), }, { - icon: , + icon: , title: t("reporting"), description: t("reporting_feature"), }, diff --git a/packages/features/ee/teams/components/TeamList.tsx b/packages/features/ee/teams/components/TeamList.tsx index b6c797ea6b..dce38b05f4 100644 --- a/packages/features/ee/teams/components/TeamList.tsx +++ b/packages/features/ee/teams/components/TeamList.tsx @@ -91,7 +91,7 @@ export default function TeamList(props: Props) { }} /> } + icon={} variant="basic" title={t("Admin tools and analytics")} description={t( diff --git a/packages/features/shell/Shell.tsx b/packages/features/shell/Shell.tsx index c35a901857..84cacb4dd6 100644 --- a/packages/features/shell/Shell.tsx +++ b/packages/features/shell/Shell.tsx @@ -658,7 +658,7 @@ const navigation: NavigationItemType[] = [ { name: "insights", href: "/insights", - icon: "bar-chart", + icon: "chart-bar", }, ]; @@ -671,7 +671,7 @@ const platformNavigation: NavigationItemType[] = [ { name: "Documentation", href: "https://docs.cal.com/docs/platform", - icon: "bar-chart", + icon: "chart-bar", target: "_blank", }, { diff --git a/packages/features/users/components/UserTable/BulkActions/EventTypesList.tsx b/packages/features/users/components/UserTable/BulkActions/EventTypesList.tsx index 566bd84564..6374bda939 100644 --- a/packages/features/users/components/UserTable/BulkActions/EventTypesList.tsx +++ b/packages/features/users/components/UserTable/BulkActions/EventTypesList.tsx @@ -1,5 +1,4 @@ import type { Table } from "@tanstack/react-table"; -import { Check } from "lucide-react"; import type { Dispatch, SetStateAction } from "react"; import { useState } from "react"; @@ -20,6 +19,7 @@ import { showToast, PopoverContent, PopoverTrigger, + Icon, } from "@calcom/ui"; import type { User } from "../UserListTable"; @@ -255,7 +255,7 @@ const ListItem = ({ onSelect, text, isSelected, isTeam }: ListItemProps) => { "border-subtle ml-auto flex h-4 w-4 items-center justify-center rounded-sm border", isSelected ? "text-emphasis" : "opacity-50 [&_svg]:invisible" )}> - + ); diff --git a/packages/platform/atoms/package.json b/packages/platform/atoms/package.json index ab8cc4823c..67163992b7 100644 --- a/packages/platform/atoms/package.json +++ b/packages/platform/atoms/package.json @@ -61,7 +61,6 @@ "@tanstack/react-query": "^5.17.15", "class-variance-authority": "^0.4.0", "clsx": "^2.0.0", - "lucide-react": "^0.364.0", "react-use": "^17.4.2", "tailwind-merge": "^1.13.2", "tailwindcss": "^3.3.3", diff --git a/packages/platform/examples/base/src/pages/[bookingUid].tsx b/packages/platform/examples/base/src/pages/[bookingUid].tsx index a7f8186793..eca7906e0d 100644 --- a/packages/platform/examples/base/src/pages/[bookingUid].tsx +++ b/packages/platform/examples/base/src/pages/[bookingUid].tsx @@ -1,12 +1,11 @@ import { Navbar } from "@/components/Navbar"; -import { CheckCircle2Icon } from "lucide-react"; -import { X } from "lucide-react"; import { Inter } from "next/font/google"; // eslint-disable-next-line @calcom/eslint/deprecated-imports-next-router import { useRouter } from "next/router"; import { useGetBooking, useCancelBooking } from "@calcom/atoms"; import dayjs from "@calcom/dayjs"; +import { Icon } from "@calcom/ui"; const inter = Inter({ subsets: ["latin"] }); @@ -38,13 +37,16 @@ export default function Bookings(props: { calUsername: string; calEmail: string className="my-10 w-[440px] overflow-hidden rounded-md border-[0.7px] border-black px-10 py-5"> {booking.status === "ACCEPTED" ? (
- +

This meeting is scheduled

We sent an email with a calendar invitation with the details to everyone.

) : (
- +

This event is cancelled

)} diff --git a/packages/types/SVGComponent.d.ts b/packages/types/SVGComponent.d.ts deleted file mode 100644 index 5e7911bd89..0000000000 --- a/packages/types/SVGComponent.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { LucideProps } from "lucide-react"; - -export type SVGComponent = (props: Omit) => JSX.Element; diff --git a/packages/ui/.gitignore b/packages/ui/.gitignore new file mode 100644 index 0000000000..e00a51c1d8 --- /dev/null +++ b/packages/ui/.gitignore @@ -0,0 +1 @@ +/svg-icons/ \ No newline at end of file diff --git a/packages/ui/components/data-table/DataTableFilter.tsx b/packages/ui/components/data-table/DataTableFilter.tsx index 39d0b44957..cce9bef556 100644 --- a/packages/ui/components/data-table/DataTableFilter.tsx +++ b/packages/ui/components/data-table/DataTableFilter.tsx @@ -1,8 +1,8 @@ import type { Column } from "@tanstack/react-table"; -import type { LucideIcon } from "lucide-react"; import { classNames } from "@calcom/lib"; +import type { IconName } from "../.."; import { Icon } from "../.."; import { Badge } from "../badge"; import { Button } from "../button"; @@ -23,7 +23,7 @@ interface DataTableFilter { options: { label: string; value: string; - icon?: LucideIcon; + icon?: IconName; }[]; } export function DataTableFilter({ column, title, options }: DataTableFilter) { @@ -85,7 +85,7 @@ export function DataTableFilter({ column, title, options }: DataT )}> - {option.icon && } + {option.icon && } {option.label} {facets?.get(option.value) && ( diff --git a/packages/ui/components/data-table/DataTableToolbar.tsx b/packages/ui/components/data-table/DataTableToolbar.tsx index 4e684d4cd2..aaebbb3de0 100644 --- a/packages/ui/components/data-table/DataTableToolbar.tsx +++ b/packages/ui/components/data-table/DataTableToolbar.tsx @@ -1,7 +1,6 @@ "use client"; import type { Table } from "@tanstack/react-table"; -import type { LucideIcon } from "lucide-react"; import { useEffect, useState } from "react"; import { useDebounce } from "@calcom/lib/hooks/useDebounce"; @@ -9,6 +8,7 @@ import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Button } from "../button"; import { Input } from "../form"; +import type { IconName } from "../icon/icon-names"; import { DataTableFilter } from "./DataTableFilter"; export type FilterableItems = { @@ -17,7 +17,7 @@ export type FilterableItems = { options: { label: string; value: string; - icon?: LucideIcon; + icon?: IconName; }[]; }[]; diff --git a/packages/ui/components/icon/Icon.tsx b/packages/ui/components/icon/Icon.tsx index 4e4e666ad7..e9242c7ec0 100644 --- a/packages/ui/components/icon/Icon.tsx +++ b/packages/ui/components/icon/Icon.tsx @@ -1,23 +1,20 @@ -// find all lucide icons at https://lucide.dev/ -// github https://github.com/lucide-icons/lucide -import type { LucideProps } from "lucide-react"; -import dynamic from "next/dynamic"; -import { memo } from "react"; +import { type SVGProps } from "react"; -import type { IconName } from "./dynamicIconImports"; +import type { IconName } from "./icon-names"; -interface IconProps extends Omit { +function Icon({ + name, + size, + ...props +}: SVGProps & { name: IconName; + size?: number | string; +}) { + return ( + + + + ); } - -const IconLazy = dynamic( - // Fast refresh doesn't play nice with dynamic imports - // This prevent slowdowns in development mode - process.env.NODE_ENV === "production" ? () => import("./IconProd") : () => import("./IconDev") -); - -const Icon = memo((props: IconProps) => ); - -Icon.displayName = "Icon"; - +export { IconName }; export default Icon; diff --git a/packages/ui/components/icon/IconDev.tsx b/packages/ui/components/icon/IconDev.tsx deleted file mode 100644 index b6e0311623..0000000000 --- a/packages/ui/components/icon/IconDev.tsx +++ /dev/null @@ -1,22 +0,0 @@ -// find all lucide icons at https://lucide.dev/ -// github https://github.com/lucide-icons/lucide -import type { LucideProps } from "lucide-react"; -import { icons } from "lucide-react"; - -import type { IconName } from "./dynamicIconImports"; - -interface IconProps extends Omit { - name: IconName; -} - -const clearAndUpper = (text: string) => text.replace(/-/, "").toUpperCase(); -const toPascalCase = (text: string) => text.replace(/(^\w|-\w)/g, clearAndUpper); - -const IconDev = ({ name, ...props }: IconProps) => { - const CamelCaseName = toPascalCase(name); - const LucideIcon = icons[CamelCaseName as keyof typeof icons]; - if (!LucideIcon) return null; - return ; -}; - -export default IconDev; diff --git a/packages/ui/components/icon/IconProd.tsx b/packages/ui/components/icon/IconProd.tsx deleted file mode 100644 index 9c3f083509..0000000000 --- a/packages/ui/components/icon/IconProd.tsx +++ /dev/null @@ -1,30 +0,0 @@ -"use client"; - -// find all lucide icons at https://lucide.dev/ -// github https://github.com/lucide-icons/lucide -import type { LucideProps } from "lucide-react"; -import { memo } from "react"; - -import { dynamicIconImports } from "./dynamicIconImports"; - -export type IconName = keyof typeof dynamicIconImports; - -interface IconProps extends Omit { - name: IconName; -} - -const fallback =
; - -const LazyIcon = memo(({ name, ...props }: IconProps) => { - const LucideIcon = dynamicIconImports[name]; - - // This should never happen, but just in case - if (!LucideIcon) return fallback; - - // @ts-expect-error - LucideIcon is a lazy loaded component - return ; -}); - -LazyIcon.displayName = "LazyIcon"; - -export default LazyIcon; diff --git a/packages/ui/components/icon/README.md b/packages/ui/components/icon/README.md new file mode 100644 index 0000000000..6c6816ddaf --- /dev/null +++ b/packages/ui/components/icon/README.md @@ -0,0 +1,5 @@ +# Icons + +This directory contains SVG icons that are used by the app. + +Everything in this directory is generated by `yarn run build:icons`. diff --git a/packages/ui/components/icon/dynamicIconImports.tsx b/packages/ui/components/icon/dynamicIconImports.tsx deleted file mode 100644 index 7159c8b789..0000000000 --- a/packages/ui/components/icon/dynamicIconImports.tsx +++ /dev/null @@ -1,1461 +0,0 @@ -// @ts-nocheck -// This file is not meant to be type checked, it will hog the TS server. -// TODO: Make a PR to lucide so this comes out of the box optimized for Next.js -// @see https://github.com/lucide-icons/lucide/pull/2030 -import dynamic from "next/dynamic"; - -const loading = () =>
; - -export type IconName = keyof typeof dynamicIconImports; - -export const dynamicIconImports = { - "a-arrow-down": dynamic(() => import("lucide-react/dist/esm/icons/a-arrow-down"), { loading }), - "a-arrow-up": dynamic(() => import("lucide-react/dist/esm/icons/a-arrow-up"), { loading }), - "a-large-small": dynamic(() => import("lucide-react/dist/esm/icons/a-large-small"), { loading }), - accessibility: dynamic(() => import("lucide-react/dist/esm/icons/accessibility"), { loading }), - activity: dynamic(() => import("lucide-react/dist/esm/icons/activity"), { loading }), - "air-vent": dynamic(() => import("lucide-react/dist/esm/icons/air-vent"), { loading }), - airplay: dynamic(() => import("lucide-react/dist/esm/icons/airplay"), { loading }), - "alarm-clock-check": dynamic(() => import("lucide-react/dist/esm/icons/alarm-clock-check"), { loading }), - "alarm-clock-minus": dynamic(() => import("lucide-react/dist/esm/icons/alarm-clock-minus"), { loading }), - "alarm-clock-off": dynamic(() => import("lucide-react/dist/esm/icons/alarm-clock-off"), { loading }), - "alarm-clock-plus": dynamic(() => import("lucide-react/dist/esm/icons/alarm-clock-plus"), { loading }), - "alarm-clock": dynamic(() => import("lucide-react/dist/esm/icons/alarm-clock"), { loading }), - "alarm-smoke": dynamic(() => import("lucide-react/dist/esm/icons/alarm-smoke"), { loading }), - album: dynamic(() => import("lucide-react/dist/esm/icons/album"), { loading }), - "align-center-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/align-center-horizontal"), { loading }), - "align-center-vertical": dynamic(() => import("lucide-react/dist/esm/icons/align-center-vertical"), { loading }), - "align-center": dynamic(() => import("lucide-react/dist/esm/icons/align-center"), { loading }), - "align-end-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/align-end-horizontal"), { loading }), - "align-end-vertical": dynamic(() => import("lucide-react/dist/esm/icons/align-end-vertical"), { loading }), - "align-horizontal-distribute-center": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-distribute-center"), { loading }), - "align-horizontal-distribute-end": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-distribute-end"), { loading }), - "align-horizontal-distribute-start": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-distribute-start"), { loading }), - "align-horizontal-justify-center": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-justify-center"), { loading }), - "align-horizontal-justify-end": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-justify-end"), { loading }), - "align-horizontal-justify-start": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-justify-start"), { loading }), - "align-horizontal-space-around": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-space-around"), { loading }), - "align-horizontal-space-between": () => dynamic(() => import("lucide-react/dist/esm/icons/align-horizontal-space-between"), { loading }), - "align-justify": dynamic(() => import("lucide-react/dist/esm/icons/align-justify"), { loading }), - "align-left": dynamic(() => import("lucide-react/dist/esm/icons/align-left"), { loading }), - "align-right": dynamic(() => import("lucide-react/dist/esm/icons/align-right"), { loading }), - "align-start-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/align-start-horizontal"), { loading }), - "align-start-vertical": dynamic(() => import("lucide-react/dist/esm/icons/align-start-vertical"), { loading }), - "align-vertical-distribute-center": () => dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-distribute-center"), { loading }), - "align-vertical-distribute-end": () => dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-distribute-end"), { loading }), - "align-vertical-distribute-start": () => dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-distribute-start"), { loading }), - "align-vertical-justify-center": () => dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-justify-center"), { loading }), - "align-vertical-justify-end": dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-justify-end"), { loading }), - "align-vertical-justify-start": () => dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-justify-start"), { loading }), - "align-vertical-space-around": dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-space-around"), { loading }), - "align-vertical-space-between": () => dynamic(() => import("lucide-react/dist/esm/icons/align-vertical-space-between"), { loading }), - ambulance: dynamic(() => import("lucide-react/dist/esm/icons/ambulance"), { loading }), - ampersand: dynamic(() => import("lucide-react/dist/esm/icons/ampersand"), { loading }), - ampersands: dynamic(() => import("lucide-react/dist/esm/icons/ampersands"), { loading }), - anchor: dynamic(() => import("lucide-react/dist/esm/icons/anchor"), { loading }), - angry: dynamic(() => import("lucide-react/dist/esm/icons/angry"), { loading }), - annoyed: dynamic(() => import("lucide-react/dist/esm/icons/annoyed"), { loading }), - antenna: dynamic(() => import("lucide-react/dist/esm/icons/antenna"), { loading }), - anvil: dynamic(() => import("lucide-react/dist/esm/icons/anvil"), { loading }), - aperture: dynamic(() => import("lucide-react/dist/esm/icons/aperture"), { loading }), - "app-window-mac": dynamic(() => import("lucide-react/dist/esm/icons/app-window-mac"), { loading }), - "app-window": dynamic(() => import("lucide-react/dist/esm/icons/app-window"), { loading }), - apple: dynamic(() => import("lucide-react/dist/esm/icons/apple"), { loading }), - "archive-restore": dynamic(() => import("lucide-react/dist/esm/icons/archive-restore"), { loading }), - "archive-x": dynamic(() => import("lucide-react/dist/esm/icons/archive-x"), { loading }), - archive: dynamic(() => import("lucide-react/dist/esm/icons/archive"), { loading }), - "area-chart": dynamic(() => import("lucide-react/dist/esm/icons/area-chart"), { loading }), - armchair: dynamic(() => import("lucide-react/dist/esm/icons/armchair"), { loading }), - "arrow-big-down-dash": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-down-dash"), { loading }), - "arrow-big-down": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-down"), { loading }), - "arrow-big-left-dash": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-left-dash"), { loading }), - "arrow-big-left": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-left"), { loading }), - "arrow-big-right-dash": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-right-dash"), { loading }), - "arrow-big-right": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-right"), { loading }), - "arrow-big-up-dash": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-up-dash"), { loading }), - "arrow-big-up": dynamic(() => import("lucide-react/dist/esm/icons/arrow-big-up"), { loading }), - "arrow-down-0-1": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-0-1"), { loading }), - "arrow-down-1-0": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-1-0"), { loading }), - "arrow-down-a-z": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-a-z"), { loading }), - "arrow-down-from-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-from-line"), { loading }), - "arrow-down-left": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-left"), { loading }), - "arrow-down-narrow-wide": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-narrow-wide"), { loading }), - "arrow-down-right": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-right"), { loading }), - "arrow-down-to-dot": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-to-dot"), { loading }), - "arrow-down-to-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-to-line"), { loading }), - "arrow-down-up": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-up"), { loading }), - "arrow-down-wide-narrow": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-wide-narrow"), { loading }), - "arrow-down-z-a": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down-z-a"), { loading }), - "arrow-down": dynamic(() => import("lucide-react/dist/esm/icons/arrow-down"), { loading }), - "arrow-left-from-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-left-from-line"), { loading }), - "arrow-left-right": dynamic(() => import("lucide-react/dist/esm/icons/arrow-left-right"), { loading }), - "arrow-left-to-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-left-to-line"), { loading }), - "arrow-left": dynamic(() => import("lucide-react/dist/esm/icons/arrow-left"), { loading }), - "arrow-right-from-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-right-from-line"), { loading }), - "arrow-right-left": dynamic(() => import("lucide-react/dist/esm/icons/arrow-right-left"), { loading }), - "arrow-right-to-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-right-to-line"), { loading }), - "arrow-right": dynamic(() => import("lucide-react/dist/esm/icons/arrow-right"), { loading }), - "arrow-up-0-1": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-0-1"), { loading }), - "arrow-up-1-0": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-1-0"), { loading }), - "arrow-up-a-z": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-a-z"), { loading }), - "arrow-up-down": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-down"), { loading }), - "arrow-up-from-dot": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-from-dot"), { loading }), - "arrow-up-from-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-from-line"), { loading }), - "arrow-up-left": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-left"), { loading }), - "arrow-up-narrow-wide": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-narrow-wide"), { loading }), - "arrow-up-right": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-right"), { loading }), - "arrow-up-to-line": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-to-line"), { loading }), - "arrow-up-wide-narrow": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-wide-narrow"), { loading }), - "arrow-up-z-a": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up-z-a"), { loading }), - "arrow-up": dynamic(() => import("lucide-react/dist/esm/icons/arrow-up"), { loading }), - "arrows-up-from-line": dynamic(() => import("lucide-react/dist/esm/icons/arrows-up-from-line"), { loading }), - asterisk: dynamic(() => import("lucide-react/dist/esm/icons/asterisk"), { loading }), - "at-sign": dynamic(() => import("lucide-react/dist/esm/icons/at-sign"), { loading }), - atom: dynamic(() => import("lucide-react/dist/esm/icons/atom"), { loading }), - "audio-lines": dynamic(() => import("lucide-react/dist/esm/icons/audio-lines"), { loading }), - "audio-waveform": dynamic(() => import("lucide-react/dist/esm/icons/audio-waveform"), { loading }), - award: dynamic(() => import("lucide-react/dist/esm/icons/award"), { loading }), - axe: dynamic(() => import("lucide-react/dist/esm/icons/axe"), { loading }), - "axis-3d": dynamic(() => import("lucide-react/dist/esm/icons/axis-3d"), { loading }), - baby: dynamic(() => import("lucide-react/dist/esm/icons/baby"), { loading }), - backpack: dynamic(() => import("lucide-react/dist/esm/icons/backpack"), { loading }), - "badge-alert": dynamic(() => import("lucide-react/dist/esm/icons/badge-alert"), { loading }), - "badge-cent": dynamic(() => import("lucide-react/dist/esm/icons/badge-cent"), { loading }), - "badge-check": dynamic(() => import("lucide-react/dist/esm/icons/badge-check"), { loading }), - "badge-dollar-sign": dynamic(() => import("lucide-react/dist/esm/icons/badge-dollar-sign"), { loading }), - "badge-euro": dynamic(() => import("lucide-react/dist/esm/icons/badge-euro"), { loading }), - "badge-help": dynamic(() => import("lucide-react/dist/esm/icons/badge-help"), { loading }), - "badge-indian-rupee": dynamic(() => import("lucide-react/dist/esm/icons/badge-indian-rupee"), { loading }), - "badge-info": dynamic(() => import("lucide-react/dist/esm/icons/badge-info"), { loading }), - "badge-japanese-yen": dynamic(() => import("lucide-react/dist/esm/icons/badge-japanese-yen"), { loading }), - "badge-minus": dynamic(() => import("lucide-react/dist/esm/icons/badge-minus"), { loading }), - "badge-percent": dynamic(() => import("lucide-react/dist/esm/icons/badge-percent"), { loading }), - "badge-plus": dynamic(() => import("lucide-react/dist/esm/icons/badge-plus"), { loading }), - "badge-pound-sterling": dynamic(() => import("lucide-react/dist/esm/icons/badge-pound-sterling"), { loading }), - "badge-russian-ruble": dynamic(() => import("lucide-react/dist/esm/icons/badge-russian-ruble"), { loading }), - "badge-swiss-franc": dynamic(() => import("lucide-react/dist/esm/icons/badge-swiss-franc"), { loading }), - "badge-x": dynamic(() => import("lucide-react/dist/esm/icons/badge-x"), { loading }), - badge: dynamic(() => import("lucide-react/dist/esm/icons/badge"), { loading }), - "baggage-claim": dynamic(() => import("lucide-react/dist/esm/icons/baggage-claim"), { loading }), - ban: dynamic(() => import("lucide-react/dist/esm/icons/ban"), { loading }), - banana: dynamic(() => import("lucide-react/dist/esm/icons/banana"), { loading }), - banknote: dynamic(() => import("lucide-react/dist/esm/icons/banknote"), { loading }), - "bar-chart-2": dynamic(() => import("lucide-react/dist/esm/icons/bar-chart-2"), { loading }), - "bar-chart-3": dynamic(() => import("lucide-react/dist/esm/icons/bar-chart-3"), { loading }), - "bar-chart-4": dynamic(() => import("lucide-react/dist/esm/icons/bar-chart-4"), { loading }), - "bar-chart-big": dynamic(() => import("lucide-react/dist/esm/icons/bar-chart-big"), { loading }), - "bar-chart-horizontal-big": dynamic(() => import("lucide-react/dist/esm/icons/bar-chart-horizontal-big"), { loading }), - "bar-chart-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/bar-chart-horizontal"), { loading }), - "bar-chart": dynamic(() => import("lucide-react/dist/esm/icons/bar-chart"), { loading }), - barcode: dynamic(() => import("lucide-react/dist/esm/icons/barcode"), { loading }), - baseline: dynamic(() => import("lucide-react/dist/esm/icons/baseline"), { loading }), - bath: dynamic(() => import("lucide-react/dist/esm/icons/bath"), { loading }), - "battery-charging": dynamic(() => import("lucide-react/dist/esm/icons/battery-charging"), { loading }), - "battery-full": dynamic(() => import("lucide-react/dist/esm/icons/battery-full"), { loading }), - "battery-low": dynamic(() => import("lucide-react/dist/esm/icons/battery-low"), { loading }), - "battery-medium": dynamic(() => import("lucide-react/dist/esm/icons/battery-medium"), { loading }), - "battery-warning": dynamic(() => import("lucide-react/dist/esm/icons/battery-warning"), { loading }), - battery: dynamic(() => import("lucide-react/dist/esm/icons/battery"), { loading }), - beaker: dynamic(() => import("lucide-react/dist/esm/icons/beaker"), { loading }), - "bean-off": dynamic(() => import("lucide-react/dist/esm/icons/bean-off"), { loading }), - bean: dynamic(() => import("lucide-react/dist/esm/icons/bean"), { loading }), - "bed-double": dynamic(() => import("lucide-react/dist/esm/icons/bed-double"), { loading }), - "bed-single": dynamic(() => import("lucide-react/dist/esm/icons/bed-single"), { loading }), - bed: dynamic(() => import("lucide-react/dist/esm/icons/bed"), { loading }), - beef: dynamic(() => import("lucide-react/dist/esm/icons/beef"), { loading }), - "beer-off": dynamic(() => import("lucide-react/dist/esm/icons/beer-off"), { loading }), - beer: dynamic(() => import("lucide-react/dist/esm/icons/beer"), { loading }), - "bell-dot": dynamic(() => import("lucide-react/dist/esm/icons/bell-dot"), { loading }), - "bell-electric": dynamic(() => import("lucide-react/dist/esm/icons/bell-electric"), { loading }), - "bell-minus": dynamic(() => import("lucide-react/dist/esm/icons/bell-minus"), { loading }), - "bell-off": dynamic(() => import("lucide-react/dist/esm/icons/bell-off"), { loading }), - "bell-plus": dynamic(() => import("lucide-react/dist/esm/icons/bell-plus"), { loading }), - "bell-ring": dynamic(() => import("lucide-react/dist/esm/icons/bell-ring"), { loading }), - bell: dynamic(() => import("lucide-react/dist/esm/icons/bell"), { loading }), - "between-horizontal-end": dynamic(() => import("lucide-react/dist/esm/icons/between-horizontal-end"), { loading }), - "between-horizontal-start": dynamic(() => import("lucide-react/dist/esm/icons/between-horizontal-start"), { loading }), - "between-vertical-end": dynamic(() => import("lucide-react/dist/esm/icons/between-vertical-end"), { loading }), - "between-vertical-start": dynamic(() => import("lucide-react/dist/esm/icons/between-vertical-start"), { loading }), - bike: dynamic(() => import("lucide-react/dist/esm/icons/bike"), { loading }), - binary: dynamic(() => import("lucide-react/dist/esm/icons/binary"), { loading }), - biohazard: dynamic(() => import("lucide-react/dist/esm/icons/biohazard"), { loading }), - bird: dynamic(() => import("lucide-react/dist/esm/icons/bird"), { loading }), - bitcoin: dynamic(() => import("lucide-react/dist/esm/icons/bitcoin"), { loading }), - blend: dynamic(() => import("lucide-react/dist/esm/icons/blend"), { loading }), - blinds: dynamic(() => import("lucide-react/dist/esm/icons/blinds"), { loading }), - blocks: dynamic(() => import("lucide-react/dist/esm/icons/blocks"), { loading }), - "bluetooth-connected": dynamic(() => import("lucide-react/dist/esm/icons/bluetooth-connected"), { loading }), - "bluetooth-off": dynamic(() => import("lucide-react/dist/esm/icons/bluetooth-off"), { loading }), - "bluetooth-searching": dynamic(() => import("lucide-react/dist/esm/icons/bluetooth-searching"), { loading }), - bluetooth: dynamic(() => import("lucide-react/dist/esm/icons/bluetooth"), { loading }), - bold: dynamic(() => import("lucide-react/dist/esm/icons/bold"), { loading }), - bolt: dynamic(() => import("lucide-react/dist/esm/icons/bolt"), { loading }), - bomb: dynamic(() => import("lucide-react/dist/esm/icons/bomb"), { loading }), - bone: dynamic(() => import("lucide-react/dist/esm/icons/bone"), { loading }), - "book-a": dynamic(() => import("lucide-react/dist/esm/icons/book-a"), { loading }), - "book-audio": dynamic(() => import("lucide-react/dist/esm/icons/book-audio"), { loading }), - "book-check": dynamic(() => import("lucide-react/dist/esm/icons/book-check"), { loading }), - "book-copy": dynamic(() => import("lucide-react/dist/esm/icons/book-copy"), { loading }), - "book-dashed": dynamic(() => import("lucide-react/dist/esm/icons/book-dashed"), { loading }), - "book-down": dynamic(() => import("lucide-react/dist/esm/icons/book-down"), { loading }), - "book-headphones": dynamic(() => import("lucide-react/dist/esm/icons/book-headphones"), { loading }), - "book-heart": dynamic(() => import("lucide-react/dist/esm/icons/book-heart"), { loading }), - "book-image": dynamic(() => import("lucide-react/dist/esm/icons/book-image"), { loading }), - "book-key": dynamic(() => import("lucide-react/dist/esm/icons/book-key"), { loading }), - "book-lock": dynamic(() => import("lucide-react/dist/esm/icons/book-lock"), { loading }), - "book-marked": dynamic(() => import("lucide-react/dist/esm/icons/book-marked"), { loading }), - "book-minus": dynamic(() => import("lucide-react/dist/esm/icons/book-minus"), { loading }), - "book-open-check": dynamic(() => import("lucide-react/dist/esm/icons/book-open-check"), { loading }), - "book-open-text": dynamic(() => import("lucide-react/dist/esm/icons/book-open-text"), { loading }), - "book-open": dynamic(() => import("lucide-react/dist/esm/icons/book-open"), { loading }), - "book-plus": dynamic(() => import("lucide-react/dist/esm/icons/book-plus"), { loading }), - "book-text": dynamic(() => import("lucide-react/dist/esm/icons/book-text"), { loading }), - "book-type": dynamic(() => import("lucide-react/dist/esm/icons/book-type"), { loading }), - "book-up-2": dynamic(() => import("lucide-react/dist/esm/icons/book-up-2"), { loading }), - "book-up": dynamic(() => import("lucide-react/dist/esm/icons/book-up"), { loading }), - "book-user": dynamic(() => import("lucide-react/dist/esm/icons/book-user"), { loading }), - "book-x": dynamic(() => import("lucide-react/dist/esm/icons/book-x"), { loading }), - book: dynamic(() => import("lucide-react/dist/esm/icons/book"), { loading }), - "bookmark-check": dynamic(() => import("lucide-react/dist/esm/icons/bookmark-check"), { loading }), - "bookmark-minus": dynamic(() => import("lucide-react/dist/esm/icons/bookmark-minus"), { loading }), - "bookmark-plus": dynamic(() => import("lucide-react/dist/esm/icons/bookmark-plus"), { loading }), - "bookmark-x": dynamic(() => import("lucide-react/dist/esm/icons/bookmark-x"), { loading }), - bookmark: dynamic(() => import("lucide-react/dist/esm/icons/bookmark"), { loading }), - "boom-box": dynamic(() => import("lucide-react/dist/esm/icons/boom-box"), { loading }), - "bot-message-square": dynamic(() => import("lucide-react/dist/esm/icons/bot-message-square"), { loading }), - bot: dynamic(() => import("lucide-react/dist/esm/icons/bot"), { loading }), - "box-select": dynamic(() => import("lucide-react/dist/esm/icons/box-select"), { loading }), - box: dynamic(() => import("lucide-react/dist/esm/icons/box"), { loading }), - boxes: dynamic(() => import("lucide-react/dist/esm/icons/boxes"), { loading }), - braces: dynamic(() => import("lucide-react/dist/esm/icons/braces"), { loading }), - brackets: dynamic(() => import("lucide-react/dist/esm/icons/brackets"), { loading }), - "brain-circuit": dynamic(() => import("lucide-react/dist/esm/icons/brain-circuit"), { loading }), - "brain-cog": dynamic(() => import("lucide-react/dist/esm/icons/brain-cog"), { loading }), - brain: dynamic(() => import("lucide-react/dist/esm/icons/brain"), { loading }), - "brick-wall": dynamic(() => import("lucide-react/dist/esm/icons/brick-wall"), { loading }), - "briefcase-business": dynamic(() => import("lucide-react/dist/esm/icons/briefcase-business"), { loading }), - "briefcase-medical": dynamic(() => import("lucide-react/dist/esm/icons/briefcase-medical"), { loading }), - briefcase: dynamic(() => import("lucide-react/dist/esm/icons/briefcase"), { loading }), - "bring-to-front": dynamic(() => import("lucide-react/dist/esm/icons/bring-to-front"), { loading }), - brush: dynamic(() => import("lucide-react/dist/esm/icons/brush"), { loading }), - "bug-off": dynamic(() => import("lucide-react/dist/esm/icons/bug-off"), { loading }), - "bug-play": dynamic(() => import("lucide-react/dist/esm/icons/bug-play"), { loading }), - bug: dynamic(() => import("lucide-react/dist/esm/icons/bug"), { loading }), - "building-2": dynamic(() => import("lucide-react/dist/esm/icons/building-2"), { loading }), - building: dynamic(() => import("lucide-react/dist/esm/icons/building"), { loading }), - "bus-front": dynamic(() => import("lucide-react/dist/esm/icons/bus-front"), { loading }), - bus: dynamic(() => import("lucide-react/dist/esm/icons/bus"), { loading }), - "cable-car": dynamic(() => import("lucide-react/dist/esm/icons/cable-car"), { loading }), - cable: dynamic(() => import("lucide-react/dist/esm/icons/cable"), { loading }), - "cake-slice": dynamic(() => import("lucide-react/dist/esm/icons/cake-slice"), { loading }), - cake: dynamic(() => import("lucide-react/dist/esm/icons/cake"), { loading }), - calculator: dynamic(() => import("lucide-react/dist/esm/icons/calculator"), { loading }), - "calendar-check-2": dynamic(() => import("lucide-react/dist/esm/icons/calendar-check-2"), { loading }), - "calendar-check": dynamic(() => import("lucide-react/dist/esm/icons/calendar-check"), { loading }), - "calendar-clock": dynamic(() => import("lucide-react/dist/esm/icons/calendar-clock"), { loading }), - "calendar-days": dynamic(() => import("lucide-react/dist/esm/icons/calendar-days"), { loading }), - "calendar-fold": dynamic(() => import("lucide-react/dist/esm/icons/calendar-fold"), { loading }), - "calendar-heart": dynamic(() => import("lucide-react/dist/esm/icons/calendar-heart"), { loading }), - "calendar-minus-2": dynamic(() => import("lucide-react/dist/esm/icons/calendar-minus-2"), { loading }), - "calendar-minus": dynamic(() => import("lucide-react/dist/esm/icons/calendar-minus"), { loading }), - "calendar-off": dynamic(() => import("lucide-react/dist/esm/icons/calendar-off"), { loading }), - "calendar-plus-2": dynamic(() => import("lucide-react/dist/esm/icons/calendar-plus-2"), { loading }), - "calendar-plus": dynamic(() => import("lucide-react/dist/esm/icons/calendar-plus"), { loading }), - "calendar-range": dynamic(() => import("lucide-react/dist/esm/icons/calendar-range"), { loading }), - "calendar-search": dynamic(() => import("lucide-react/dist/esm/icons/calendar-search"), { loading }), - "calendar-x-2": dynamic(() => import("lucide-react/dist/esm/icons/calendar-x-2"), { loading }), - "calendar-x": dynamic(() => import("lucide-react/dist/esm/icons/calendar-x"), { loading }), - calendar: dynamic(() => import("lucide-react/dist/esm/icons/calendar"), { loading }), - "camera-off": dynamic(() => import("lucide-react/dist/esm/icons/camera-off"), { loading }), - camera: dynamic(() => import("lucide-react/dist/esm/icons/camera"), { loading }), - "candlestick-chart": dynamic(() => import("lucide-react/dist/esm/icons/candlestick-chart"), { loading }), - "candy-cane": dynamic(() => import("lucide-react/dist/esm/icons/candy-cane"), { loading }), - "candy-off": dynamic(() => import("lucide-react/dist/esm/icons/candy-off"), { loading }), - candy: dynamic(() => import("lucide-react/dist/esm/icons/candy"), { loading }), - cannabis: dynamic(() => import("lucide-react/dist/esm/icons/cannabis"), { loading }), - "captions-off": dynamic(() => import("lucide-react/dist/esm/icons/captions-off"), { loading }), - captions: dynamic(() => import("lucide-react/dist/esm/icons/captions"), { loading }), - "car-front": dynamic(() => import("lucide-react/dist/esm/icons/car-front"), { loading }), - "car-taxi-front": dynamic(() => import("lucide-react/dist/esm/icons/car-taxi-front"), { loading }), - car: dynamic(() => import("lucide-react/dist/esm/icons/car"), { loading }), - caravan: dynamic(() => import("lucide-react/dist/esm/icons/caravan"), { loading }), - carrot: dynamic(() => import("lucide-react/dist/esm/icons/carrot"), { loading }), - "case-lower": dynamic(() => import("lucide-react/dist/esm/icons/case-lower"), { loading }), - "case-sensitive": dynamic(() => import("lucide-react/dist/esm/icons/case-sensitive"), { loading }), - "case-upper": dynamic(() => import("lucide-react/dist/esm/icons/case-upper"), { loading }), - "cassette-tape": dynamic(() => import("lucide-react/dist/esm/icons/cassette-tape"), { loading }), - cast: dynamic(() => import("lucide-react/dist/esm/icons/cast"), { loading }), - castle: dynamic(() => import("lucide-react/dist/esm/icons/castle"), { loading }), - cat: dynamic(() => import("lucide-react/dist/esm/icons/cat"), { loading }), - cctv: dynamic(() => import("lucide-react/dist/esm/icons/cctv"), { loading }), - "check-check": dynamic(() => import("lucide-react/dist/esm/icons/check-check"), { loading }), - check: dynamic(() => import("lucide-react/dist/esm/icons/check"), { loading }), - "chef-hat": dynamic(() => import("lucide-react/dist/esm/icons/chef-hat"), { loading }), - cherry: dynamic(() => import("lucide-react/dist/esm/icons/cherry"), { loading }), - "chevron-down": dynamic(() => import("lucide-react/dist/esm/icons/chevron-down"), { loading }), - "chevron-first": dynamic(() => import("lucide-react/dist/esm/icons/chevron-first"), { loading }), - "chevron-last": dynamic(() => import("lucide-react/dist/esm/icons/chevron-last"), { loading }), - "chevron-left": dynamic(() => import("lucide-react/dist/esm/icons/chevron-left"), { loading }), - "chevron-right": dynamic(() => import("lucide-react/dist/esm/icons/chevron-right"), { loading }), - "chevron-up": dynamic(() => import("lucide-react/dist/esm/icons/chevron-up"), { loading }), - "chevrons-down-up": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-down-up"), { loading }), - "chevrons-down": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-down"), { loading }), - "chevrons-left-right": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-left-right"), { loading }), - "chevrons-left": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-left"), { loading }), - "chevrons-right-left": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-right-left"), { loading }), - "chevrons-right": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-right"), { loading }), - "chevrons-up-down": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-up-down"), { loading }), - "chevrons-up": dynamic(() => import("lucide-react/dist/esm/icons/chevrons-up"), { loading }), - chrome: dynamic(() => import("lucide-react/dist/esm/icons/chrome"), { loading }), - church: dynamic(() => import("lucide-react/dist/esm/icons/church"), { loading }), - "cigarette-off": dynamic(() => import("lucide-react/dist/esm/icons/cigarette-off"), { loading }), - cigarette: dynamic(() => import("lucide-react/dist/esm/icons/cigarette"), { loading }), - "circle-alert": dynamic(() => import("lucide-react/dist/esm/icons/circle-alert"), { loading }), - "circle-arrow-down": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-down"), { loading }), - "circle-arrow-left": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-left"), { loading }), - "circle-arrow-out-down-left": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-out-down-left"), { loading }), - "circle-arrow-out-down-right": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-out-down-right"), { loading }), - "circle-arrow-out-up-left": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-out-up-left"), { loading }), - "circle-arrow-out-up-right": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-out-up-right"), { loading }), - "circle-arrow-right": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-right"), { loading }), - "circle-arrow-up": dynamic(() => import("lucide-react/dist/esm/icons/circle-arrow-up"), { loading }), - "circle-check-big": dynamic(() => import("lucide-react/dist/esm/icons/circle-check-big"), { loading }), - "circle-check": dynamic(() => import("lucide-react/dist/esm/icons/circle-check"), { loading }), - "circle-chevron-down": dynamic(() => import("lucide-react/dist/esm/icons/circle-chevron-down"), { loading }), - "circle-chevron-left": dynamic(() => import("lucide-react/dist/esm/icons/circle-chevron-left"), { loading }), - "circle-chevron-right": dynamic(() => import("lucide-react/dist/esm/icons/circle-chevron-right"), { loading }), - "circle-chevron-up": dynamic(() => import("lucide-react/dist/esm/icons/circle-chevron-up"), { loading }), - "circle-dashed": dynamic(() => import("lucide-react/dist/esm/icons/circle-dashed"), { loading }), - "circle-divide": dynamic(() => import("lucide-react/dist/esm/icons/circle-divide"), { loading }), - "circle-dollar-sign": dynamic(() => import("lucide-react/dist/esm/icons/circle-dollar-sign"), { loading }), - "circle-dot-dashed": dynamic(() => import("lucide-react/dist/esm/icons/circle-dot-dashed"), { loading }), - "circle-dot": dynamic(() => import("lucide-react/dist/esm/icons/circle-dot"), { loading }), - "circle-ellipsis": dynamic(() => import("lucide-react/dist/esm/icons/circle-ellipsis"), { loading }), - "circle-equal": dynamic(() => import("lucide-react/dist/esm/icons/circle-equal"), { loading }), - "circle-fading-plus": dynamic(() => import("lucide-react/dist/esm/icons/circle-fading-plus"), { loading }), - "circle-gauge": dynamic(() => import("lucide-react/dist/esm/icons/circle-gauge"), { loading }), - "circle-help": dynamic(() => import("lucide-react/dist/esm/icons/circle-help"), { loading }), - "circle-minus": dynamic(() => import("lucide-react/dist/esm/icons/circle-minus"), { loading }), - "circle-off": dynamic(() => import("lucide-react/dist/esm/icons/circle-off"), { loading }), - "circle-parking-off": dynamic(() => import("lucide-react/dist/esm/icons/circle-parking-off"), { loading }), - "circle-parking": dynamic(() => import("lucide-react/dist/esm/icons/circle-parking"), { loading }), - "circle-pause": dynamic(() => import("lucide-react/dist/esm/icons/circle-pause"), { loading }), - "circle-percent": dynamic(() => import("lucide-react/dist/esm/icons/circle-percent"), { loading }), - "circle-play": dynamic(() => import("lucide-react/dist/esm/icons/circle-play"), { loading }), - "circle-plus": dynamic(() => import("lucide-react/dist/esm/icons/circle-plus"), { loading }), - "circle-power": dynamic(() => import("lucide-react/dist/esm/icons/circle-power"), { loading }), - "circle-slash-2": dynamic(() => import("lucide-react/dist/esm/icons/circle-slash-2"), { loading }), - "circle-slash": dynamic(() => import("lucide-react/dist/esm/icons/circle-slash"), { loading }), - "circle-stop": dynamic(() => import("lucide-react/dist/esm/icons/circle-stop"), { loading }), - "circle-user-round": dynamic(() => import("lucide-react/dist/esm/icons/circle-user-round"), { loading }), - "circle-user": dynamic(() => import("lucide-react/dist/esm/icons/circle-user"), { loading }), - "circle-x": dynamic(() => import("lucide-react/dist/esm/icons/circle-x"), { loading }), - circle: dynamic(() => import("lucide-react/dist/esm/icons/circle"), { loading }), - "circuit-board": dynamic(() => import("lucide-react/dist/esm/icons/circuit-board"), { loading }), - citrus: dynamic(() => import("lucide-react/dist/esm/icons/citrus"), { loading }), - clapperboard: dynamic(() => import("lucide-react/dist/esm/icons/clapperboard"), { loading }), - "clipboard-check": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-check"), { loading }), - "clipboard-copy": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-copy"), { loading }), - "clipboard-list": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-list"), { loading }), - "clipboard-minus": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-minus"), { loading }), - "clipboard-paste": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-paste"), { loading }), - "clipboard-pen-line": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-pen-line"), { loading }), - "clipboard-pen": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-pen"), { loading }), - "clipboard-plus": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-plus"), { loading }), - "clipboard-type": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-type"), { loading }), - "clipboard-x": dynamic(() => import("lucide-react/dist/esm/icons/clipboard-x"), { loading }), - clipboard: dynamic(() => import("lucide-react/dist/esm/icons/clipboard"), { loading }), - "clock-1": dynamic(() => import("lucide-react/dist/esm/icons/clock-1"), { loading }), - "clock-10": dynamic(() => import("lucide-react/dist/esm/icons/clock-10"), { loading }), - "clock-11": dynamic(() => import("lucide-react/dist/esm/icons/clock-11"), { loading }), - "clock-12": dynamic(() => import("lucide-react/dist/esm/icons/clock-12"), { loading }), - "clock-2": dynamic(() => import("lucide-react/dist/esm/icons/clock-2"), { loading }), - "clock-3": dynamic(() => import("lucide-react/dist/esm/icons/clock-3"), { loading }), - "clock-4": dynamic(() => import("lucide-react/dist/esm/icons/clock-4"), { loading }), - "clock-5": dynamic(() => import("lucide-react/dist/esm/icons/clock-5"), { loading }), - "clock-6": dynamic(() => import("lucide-react/dist/esm/icons/clock-6"), { loading }), - "clock-7": dynamic(() => import("lucide-react/dist/esm/icons/clock-7"), { loading }), - "clock-8": dynamic(() => import("lucide-react/dist/esm/icons/clock-8"), { loading }), - "clock-9": dynamic(() => import("lucide-react/dist/esm/icons/clock-9"), { loading }), - clock: dynamic(() => import("lucide-react/dist/esm/icons/clock"), { loading }), - "cloud-cog": dynamic(() => import("lucide-react/dist/esm/icons/cloud-cog"), { loading }), - "cloud-download": dynamic(() => import("lucide-react/dist/esm/icons/cloud-download"), { loading }), - "cloud-drizzle": dynamic(() => import("lucide-react/dist/esm/icons/cloud-drizzle"), { loading }), - "cloud-fog": dynamic(() => import("lucide-react/dist/esm/icons/cloud-fog"), { loading }), - "cloud-hail": dynamic(() => import("lucide-react/dist/esm/icons/cloud-hail"), { loading }), - "cloud-lightning": dynamic(() => import("lucide-react/dist/esm/icons/cloud-lightning"), { loading }), - "cloud-moon-rain": dynamic(() => import("lucide-react/dist/esm/icons/cloud-moon-rain"), { loading }), - "cloud-moon": dynamic(() => import("lucide-react/dist/esm/icons/cloud-moon"), { loading }), - "cloud-off": dynamic(() => import("lucide-react/dist/esm/icons/cloud-off"), { loading }), - "cloud-rain-wind": dynamic(() => import("lucide-react/dist/esm/icons/cloud-rain-wind"), { loading }), - "cloud-rain": dynamic(() => import("lucide-react/dist/esm/icons/cloud-rain"), { loading }), - "cloud-snow": dynamic(() => import("lucide-react/dist/esm/icons/cloud-snow"), { loading }), - "cloud-sun-rain": dynamic(() => import("lucide-react/dist/esm/icons/cloud-sun-rain"), { loading }), - "cloud-sun": dynamic(() => import("lucide-react/dist/esm/icons/cloud-sun"), { loading }), - "cloud-upload": dynamic(() => import("lucide-react/dist/esm/icons/cloud-upload"), { loading }), - cloud: dynamic(() => import("lucide-react/dist/esm/icons/cloud"), { loading }), - cloudy: dynamic(() => import("lucide-react/dist/esm/icons/cloudy"), { loading }), - clover: dynamic(() => import("lucide-react/dist/esm/icons/clover"), { loading }), - club: dynamic(() => import("lucide-react/dist/esm/icons/club"), { loading }), - "code-xml": dynamic(() => import("lucide-react/dist/esm/icons/code-xml"), { loading }), - code: dynamic(() => import("lucide-react/dist/esm/icons/code"), { loading }), - codepen: dynamic(() => import("lucide-react/dist/esm/icons/codepen"), { loading }), - codesandbox: dynamic(() => import("lucide-react/dist/esm/icons/codesandbox"), { loading }), - coffee: dynamic(() => import("lucide-react/dist/esm/icons/coffee"), { loading }), - cog: dynamic(() => import("lucide-react/dist/esm/icons/cog"), { loading }), - coins: dynamic(() => import("lucide-react/dist/esm/icons/coins"), { loading }), - "columns-2": dynamic(() => import("lucide-react/dist/esm/icons/columns-2"), { loading }), - "columns-3": dynamic(() => import("lucide-react/dist/esm/icons/columns-3"), { loading }), - "columns-4": dynamic(() => import("lucide-react/dist/esm/icons/columns-4"), { loading }), - combine: dynamic(() => import("lucide-react/dist/esm/icons/combine"), { loading }), - command: dynamic(() => import("lucide-react/dist/esm/icons/command"), { loading }), - compass: dynamic(() => import("lucide-react/dist/esm/icons/compass"), { loading }), - component: dynamic(() => import("lucide-react/dist/esm/icons/component"), { loading }), - computer: dynamic(() => import("lucide-react/dist/esm/icons/computer"), { loading }), - "concierge-bell": dynamic(() => import("lucide-react/dist/esm/icons/concierge-bell"), { loading }), - cone: dynamic(() => import("lucide-react/dist/esm/icons/cone"), { loading }), - construction: dynamic(() => import("lucide-react/dist/esm/icons/construction"), { loading }), - "contact-round": dynamic(() => import("lucide-react/dist/esm/icons/contact-round"), { loading }), - contact: dynamic(() => import("lucide-react/dist/esm/icons/contact"), { loading }), - container: dynamic(() => import("lucide-react/dist/esm/icons/container"), { loading }), - contrast: dynamic(() => import("lucide-react/dist/esm/icons/contrast"), { loading }), - cookie: dynamic(() => import("lucide-react/dist/esm/icons/cookie"), { loading }), - "cooking-pot": dynamic(() => import("lucide-react/dist/esm/icons/cooking-pot"), { loading }), - "copy-check": dynamic(() => import("lucide-react/dist/esm/icons/copy-check"), { loading }), - "copy-minus": dynamic(() => import("lucide-react/dist/esm/icons/copy-minus"), { loading }), - "copy-plus": dynamic(() => import("lucide-react/dist/esm/icons/copy-plus"), { loading }), - "copy-slash": dynamic(() => import("lucide-react/dist/esm/icons/copy-slash"), { loading }), - "copy-x": dynamic(() => import("lucide-react/dist/esm/icons/copy-x"), { loading }), - copy: dynamic(() => import("lucide-react/dist/esm/icons/copy"), { loading }), - copyleft: dynamic(() => import("lucide-react/dist/esm/icons/copyleft"), { loading }), - copyright: dynamic(() => import("lucide-react/dist/esm/icons/copyright"), { loading }), - "corner-down-left": dynamic(() => import("lucide-react/dist/esm/icons/corner-down-left"), { loading }), - "corner-down-right": dynamic(() => import("lucide-react/dist/esm/icons/corner-down-right"), { loading }), - "corner-left-down": dynamic(() => import("lucide-react/dist/esm/icons/corner-left-down"), { loading }), - "corner-left-up": dynamic(() => import("lucide-react/dist/esm/icons/corner-left-up"), { loading }), - "corner-right-down": dynamic(() => import("lucide-react/dist/esm/icons/corner-right-down"), { loading }), - "corner-right-up": dynamic(() => import("lucide-react/dist/esm/icons/corner-right-up"), { loading }), - "corner-up-left": dynamic(() => import("lucide-react/dist/esm/icons/corner-up-left"), { loading }), - "corner-up-right": dynamic(() => import("lucide-react/dist/esm/icons/corner-up-right"), { loading }), - cpu: dynamic(() => import("lucide-react/dist/esm/icons/cpu"), { loading }), - "creative-commons": dynamic(() => import("lucide-react/dist/esm/icons/creative-commons"), { loading }), - "credit-card": dynamic(() => import("lucide-react/dist/esm/icons/credit-card"), { loading }), - croissant: dynamic(() => import("lucide-react/dist/esm/icons/croissant"), { loading }), - crop: dynamic(() => import("lucide-react/dist/esm/icons/crop"), { loading }), - cross: dynamic(() => import("lucide-react/dist/esm/icons/cross"), { loading }), - crosshair: dynamic(() => import("lucide-react/dist/esm/icons/crosshair"), { loading }), - crown: dynamic(() => import("lucide-react/dist/esm/icons/crown"), { loading }), - cuboid: dynamic(() => import("lucide-react/dist/esm/icons/cuboid"), { loading }), - "cup-soda": dynamic(() => import("lucide-react/dist/esm/icons/cup-soda"), { loading }), - currency: dynamic(() => import("lucide-react/dist/esm/icons/currency"), { loading }), - cylinder: dynamic(() => import("lucide-react/dist/esm/icons/cylinder"), { loading }), - "database-backup": dynamic(() => import("lucide-react/dist/esm/icons/database-backup"), { loading }), - "database-zap": dynamic(() => import("lucide-react/dist/esm/icons/database-zap"), { loading }), - database: dynamic(() => import("lucide-react/dist/esm/icons/database"), { loading }), - delete: dynamic(() => import("lucide-react/dist/esm/icons/delete"), { loading }), - dessert: dynamic(() => import("lucide-react/dist/esm/icons/dessert"), { loading }), - diameter: dynamic(() => import("lucide-react/dist/esm/icons/diameter"), { loading }), - "diamond-percent": dynamic(() => import("lucide-react/dist/esm/icons/diamond-percent"), { loading }), - diamond: dynamic(() => import("lucide-react/dist/esm/icons/diamond"), { loading }), - "dice-1": dynamic(() => import("lucide-react/dist/esm/icons/dice-1"), { loading }), - "dice-2": dynamic(() => import("lucide-react/dist/esm/icons/dice-2"), { loading }), - "dice-3": dynamic(() => import("lucide-react/dist/esm/icons/dice-3"), { loading }), - "dice-4": dynamic(() => import("lucide-react/dist/esm/icons/dice-4"), { loading }), - "dice-5": dynamic(() => import("lucide-react/dist/esm/icons/dice-5"), { loading }), - "dice-6": dynamic(() => import("lucide-react/dist/esm/icons/dice-6"), { loading }), - dices: dynamic(() => import("lucide-react/dist/esm/icons/dices"), { loading }), - diff: dynamic(() => import("lucide-react/dist/esm/icons/diff"), { loading }), - "disc-2": dynamic(() => import("lucide-react/dist/esm/icons/disc-2"), { loading }), - "disc-3": dynamic(() => import("lucide-react/dist/esm/icons/disc-3"), { loading }), - "disc-album": dynamic(() => import("lucide-react/dist/esm/icons/disc-album"), { loading }), - disc: dynamic(() => import("lucide-react/dist/esm/icons/disc"), { loading }), - divide: dynamic(() => import("lucide-react/dist/esm/icons/divide"), { loading }), - "dna-off": dynamic(() => import("lucide-react/dist/esm/icons/dna-off"), { loading }), - dna: dynamic(() => import("lucide-react/dist/esm/icons/dna"), { loading }), - dock: dynamic(() => import("lucide-react/dist/esm/icons/dock"), { loading }), - dog: dynamic(() => import("lucide-react/dist/esm/icons/dog"), { loading }), - "dollar-sign": dynamic(() => import("lucide-react/dist/esm/icons/dollar-sign"), { loading }), - donut: dynamic(() => import("lucide-react/dist/esm/icons/donut"), { loading }), - "door-closed": dynamic(() => import("lucide-react/dist/esm/icons/door-closed"), { loading }), - "door-open": dynamic(() => import("lucide-react/dist/esm/icons/door-open"), { loading }), - dot: dynamic(() => import("lucide-react/dist/esm/icons/dot"), { loading }), - download: dynamic(() => import("lucide-react/dist/esm/icons/download"), { loading }), - "drafting-compass": dynamic(() => import("lucide-react/dist/esm/icons/drafting-compass"), { loading }), - drama: dynamic(() => import("lucide-react/dist/esm/icons/drama"), { loading }), - dribbble: dynamic(() => import("lucide-react/dist/esm/icons/dribbble"), { loading }), - drill: dynamic(() => import("lucide-react/dist/esm/icons/drill"), { loading }), - droplet: dynamic(() => import("lucide-react/dist/esm/icons/droplet"), { loading }), - droplets: dynamic(() => import("lucide-react/dist/esm/icons/droplets"), { loading }), - drum: dynamic(() => import("lucide-react/dist/esm/icons/drum"), { loading }), - drumstick: dynamic(() => import("lucide-react/dist/esm/icons/drumstick"), { loading }), - dumbbell: dynamic(() => import("lucide-react/dist/esm/icons/dumbbell"), { loading }), - "ear-off": dynamic(() => import("lucide-react/dist/esm/icons/ear-off"), { loading }), - ear: dynamic(() => import("lucide-react/dist/esm/icons/ear"), { loading }), - "earth-lock": dynamic(() => import("lucide-react/dist/esm/icons/earth-lock"), { loading }), - earth: dynamic(() => import("lucide-react/dist/esm/icons/earth"), { loading }), - eclipse: dynamic(() => import("lucide-react/dist/esm/icons/eclipse"), { loading }), - "egg-fried": dynamic(() => import("lucide-react/dist/esm/icons/egg-fried"), { loading }), - "egg-off": dynamic(() => import("lucide-react/dist/esm/icons/egg-off"), { loading }), - egg: dynamic(() => import("lucide-react/dist/esm/icons/egg"), { loading }), - "ellipsis-vertical": dynamic(() => import("lucide-react/dist/esm/icons/ellipsis-vertical"), { loading }), - ellipsis: dynamic(() => import("lucide-react/dist/esm/icons/ellipsis"), { loading }), - "equal-not": dynamic(() => import("lucide-react/dist/esm/icons/equal-not"), { loading }), - equal: dynamic(() => import("lucide-react/dist/esm/icons/equal"), { loading }), - eraser: dynamic(() => import("lucide-react/dist/esm/icons/eraser"), { loading }), - euro: dynamic(() => import("lucide-react/dist/esm/icons/euro"), { loading }), - expand: dynamic(() => import("lucide-react/dist/esm/icons/expand"), { loading }), - "external-link": dynamic(() => import("lucide-react/dist/esm/icons/external-link"), { loading }), - "eye-off": dynamic(() => import("lucide-react/dist/esm/icons/eye-off"), { loading }), - eye: dynamic(() => import("lucide-react/dist/esm/icons/eye"), { loading }), - facebook: dynamic(() => import("lucide-react/dist/esm/icons/facebook"), { loading }), - factory: dynamic(() => import("lucide-react/dist/esm/icons/factory"), { loading }), - fan: dynamic(() => import("lucide-react/dist/esm/icons/fan"), { loading }), - "fast-forward": dynamic(() => import("lucide-react/dist/esm/icons/fast-forward"), { loading }), - feather: dynamic(() => import("lucide-react/dist/esm/icons/feather"), { loading }), - fence: dynamic(() => import("lucide-react/dist/esm/icons/fence"), { loading }), - "ferris-wheel": dynamic(() => import("lucide-react/dist/esm/icons/ferris-wheel"), { loading }), - figma: dynamic(() => import("lucide-react/dist/esm/icons/figma"), { loading }), - "file-archive": dynamic(() => import("lucide-react/dist/esm/icons/file-archive"), { loading }), - "file-audio-2": dynamic(() => import("lucide-react/dist/esm/icons/file-audio-2"), { loading }), - "file-audio": dynamic(() => import("lucide-react/dist/esm/icons/file-audio"), { loading }), - "file-axis-3d": dynamic(() => import("lucide-react/dist/esm/icons/file-axis-3d"), { loading }), - "file-badge-2": dynamic(() => import("lucide-react/dist/esm/icons/file-badge-2"), { loading }), - "file-badge": dynamic(() => import("lucide-react/dist/esm/icons/file-badge"), { loading }), - "file-bar-chart-2": dynamic(() => import("lucide-react/dist/esm/icons/file-bar-chart-2"), { loading }), - "file-bar-chart": dynamic(() => import("lucide-react/dist/esm/icons/file-bar-chart"), { loading }), - "file-box": dynamic(() => import("lucide-react/dist/esm/icons/file-box"), { loading }), - "file-check-2": dynamic(() => import("lucide-react/dist/esm/icons/file-check-2"), { loading }), - "file-check": dynamic(() => import("lucide-react/dist/esm/icons/file-check"), { loading }), - "file-clock": dynamic(() => import("lucide-react/dist/esm/icons/file-clock"), { loading }), - "file-code-2": dynamic(() => import("lucide-react/dist/esm/icons/file-code-2"), { loading }), - "file-code": dynamic(() => import("lucide-react/dist/esm/icons/file-code"), { loading }), - "file-cog": dynamic(() => import("lucide-react/dist/esm/icons/file-cog"), { loading }), - "file-diff": dynamic(() => import("lucide-react/dist/esm/icons/file-diff"), { loading }), - "file-digit": dynamic(() => import("lucide-react/dist/esm/icons/file-digit"), { loading }), - "file-down": dynamic(() => import("lucide-react/dist/esm/icons/file-down"), { loading }), - "file-heart": dynamic(() => import("lucide-react/dist/esm/icons/file-heart"), { loading }), - "file-image": dynamic(() => import("lucide-react/dist/esm/icons/file-image"), { loading }), - "file-input": dynamic(() => import("lucide-react/dist/esm/icons/file-input"), { loading }), - "file-json-2": dynamic(() => import("lucide-react/dist/esm/icons/file-json-2"), { loading }), - "file-json": dynamic(() => import("lucide-react/dist/esm/icons/file-json"), { loading }), - "file-key-2": dynamic(() => import("lucide-react/dist/esm/icons/file-key-2"), { loading }), - "file-key": dynamic(() => import("lucide-react/dist/esm/icons/file-key"), { loading }), - "file-line-chart": dynamic(() => import("lucide-react/dist/esm/icons/file-line-chart"), { loading }), - "file-lock-2": dynamic(() => import("lucide-react/dist/esm/icons/file-lock-2"), { loading }), - "file-lock": dynamic(() => import("lucide-react/dist/esm/icons/file-lock"), { loading }), - "file-minus-2": dynamic(() => import("lucide-react/dist/esm/icons/file-minus-2"), { loading }), - "file-minus": dynamic(() => import("lucide-react/dist/esm/icons/file-minus"), { loading }), - "file-music": dynamic(() => import("lucide-react/dist/esm/icons/file-music"), { loading }), - "file-output": dynamic(() => import("lucide-react/dist/esm/icons/file-output"), { loading }), - "file-pen-line": dynamic(() => import("lucide-react/dist/esm/icons/file-pen-line"), { loading }), - "file-pen": dynamic(() => import("lucide-react/dist/esm/icons/file-pen"), { loading }), - "file-pie-chart": dynamic(() => import("lucide-react/dist/esm/icons/file-pie-chart"), { loading }), - "file-plus-2": dynamic(() => import("lucide-react/dist/esm/icons/file-plus-2"), { loading }), - "file-plus": dynamic(() => import("lucide-react/dist/esm/icons/file-plus"), { loading }), - "file-question": dynamic(() => import("lucide-react/dist/esm/icons/file-question"), { loading }), - "file-scan": dynamic(() => import("lucide-react/dist/esm/icons/file-scan"), { loading }), - "file-search-2": dynamic(() => import("lucide-react/dist/esm/icons/file-search-2"), { loading }), - "file-search": dynamic(() => import("lucide-react/dist/esm/icons/file-search"), { loading }), - "file-sliders": dynamic(() => import("lucide-react/dist/esm/icons/file-sliders"), { loading }), - "file-spreadsheet": dynamic(() => import("lucide-react/dist/esm/icons/file-spreadsheet"), { loading }), - "file-stack": dynamic(() => import("lucide-react/dist/esm/icons/file-stack"), { loading }), - "file-symlink": dynamic(() => import("lucide-react/dist/esm/icons/file-symlink"), { loading }), - "file-terminal": dynamic(() => import("lucide-react/dist/esm/icons/file-terminal"), { loading }), - "file-text": dynamic(() => import("lucide-react/dist/esm/icons/file-text"), { loading }), - "file-type-2": dynamic(() => import("lucide-react/dist/esm/icons/file-type-2"), { loading }), - "file-type": dynamic(() => import("lucide-react/dist/esm/icons/file-type"), { loading }), - "file-up": dynamic(() => import("lucide-react/dist/esm/icons/file-up"), { loading }), - "file-video-2": dynamic(() => import("lucide-react/dist/esm/icons/file-video-2"), { loading }), - "file-video": dynamic(() => import("lucide-react/dist/esm/icons/file-video"), { loading }), - "file-volume-2": dynamic(() => import("lucide-react/dist/esm/icons/file-volume-2"), { loading }), - "file-volume": dynamic(() => import("lucide-react/dist/esm/icons/file-volume"), { loading }), - "file-warning": dynamic(() => import("lucide-react/dist/esm/icons/file-warning"), { loading }), - "file-x-2": dynamic(() => import("lucide-react/dist/esm/icons/file-x-2"), { loading }), - "file-x": dynamic(() => import("lucide-react/dist/esm/icons/file-x"), { loading }), - file: dynamic(() => import("lucide-react/dist/esm/icons/file"), { loading }), - files: dynamic(() => import("lucide-react/dist/esm/icons/files"), { loading }), - film: dynamic(() => import("lucide-react/dist/esm/icons/film"), { loading }), - "filter-x": dynamic(() => import("lucide-react/dist/esm/icons/filter-x"), { loading }), - filter: dynamic(() => import("lucide-react/dist/esm/icons/filter"), { loading }), - fingerprint: dynamic(() => import("lucide-react/dist/esm/icons/fingerprint"), { loading }), - "fire-extinguisher": dynamic(() => import("lucide-react/dist/esm/icons/fire-extinguisher"), { loading }), - "fish-off": dynamic(() => import("lucide-react/dist/esm/icons/fish-off"), { loading }), - "fish-symbol": dynamic(() => import("lucide-react/dist/esm/icons/fish-symbol"), { loading }), - fish: dynamic(() => import("lucide-react/dist/esm/icons/fish"), { loading }), - "flag-off": dynamic(() => import("lucide-react/dist/esm/icons/flag-off"), { loading }), - "flag-triangle-left": dynamic(() => import("lucide-react/dist/esm/icons/flag-triangle-left"), { loading }), - "flag-triangle-right": dynamic(() => import("lucide-react/dist/esm/icons/flag-triangle-right"), { loading }), - flag: dynamic(() => import("lucide-react/dist/esm/icons/flag"), { loading }), - "flame-kindling": dynamic(() => import("lucide-react/dist/esm/icons/flame-kindling"), { loading }), - flame: dynamic(() => import("lucide-react/dist/esm/icons/flame"), { loading }), - "flashlight-off": dynamic(() => import("lucide-react/dist/esm/icons/flashlight-off"), { loading }), - flashlight: dynamic(() => import("lucide-react/dist/esm/icons/flashlight"), { loading }), - "flask-conical-off": dynamic(() => import("lucide-react/dist/esm/icons/flask-conical-off"), { loading }), - "flask-conical": dynamic(() => import("lucide-react/dist/esm/icons/flask-conical"), { loading }), - "flask-round": dynamic(() => import("lucide-react/dist/esm/icons/flask-round"), { loading }), - "flip-horizontal-2": dynamic(() => import("lucide-react/dist/esm/icons/flip-horizontal-2"), { loading }), - "flip-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/flip-horizontal"), { loading }), - "flip-vertical-2": dynamic(() => import("lucide-react/dist/esm/icons/flip-vertical-2"), { loading }), - "flip-vertical": dynamic(() => import("lucide-react/dist/esm/icons/flip-vertical"), { loading }), - "flower-2": dynamic(() => import("lucide-react/dist/esm/icons/flower-2"), { loading }), - flower: dynamic(() => import("lucide-react/dist/esm/icons/flower"), { loading }), - focus: dynamic(() => import("lucide-react/dist/esm/icons/focus"), { loading }), - "fold-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/fold-horizontal"), { loading }), - "fold-vertical": dynamic(() => import("lucide-react/dist/esm/icons/fold-vertical"), { loading }), - "folder-archive": dynamic(() => import("lucide-react/dist/esm/icons/folder-archive"), { loading }), - "folder-check": dynamic(() => import("lucide-react/dist/esm/icons/folder-check"), { loading }), - "folder-clock": dynamic(() => import("lucide-react/dist/esm/icons/folder-clock"), { loading }), - "folder-closed": dynamic(() => import("lucide-react/dist/esm/icons/folder-closed"), { loading }), - "folder-cog": dynamic(() => import("lucide-react/dist/esm/icons/folder-cog"), { loading }), - "folder-dot": dynamic(() => import("lucide-react/dist/esm/icons/folder-dot"), { loading }), - "folder-down": dynamic(() => import("lucide-react/dist/esm/icons/folder-down"), { loading }), - "folder-git-2": dynamic(() => import("lucide-react/dist/esm/icons/folder-git-2"), { loading }), - "folder-git": dynamic(() => import("lucide-react/dist/esm/icons/folder-git"), { loading }), - "folder-heart": dynamic(() => import("lucide-react/dist/esm/icons/folder-heart"), { loading }), - "folder-input": dynamic(() => import("lucide-react/dist/esm/icons/folder-input"), { loading }), - "folder-kanban": dynamic(() => import("lucide-react/dist/esm/icons/folder-kanban"), { loading }), - "folder-key": dynamic(() => import("lucide-react/dist/esm/icons/folder-key"), { loading }), - "folder-lock": dynamic(() => import("lucide-react/dist/esm/icons/folder-lock"), { loading }), - "folder-minus": dynamic(() => import("lucide-react/dist/esm/icons/folder-minus"), { loading }), - "folder-open-dot": dynamic(() => import("lucide-react/dist/esm/icons/folder-open-dot"), { loading }), - "folder-open": dynamic(() => import("lucide-react/dist/esm/icons/folder-open"), { loading }), - "folder-output": dynamic(() => import("lucide-react/dist/esm/icons/folder-output"), { loading }), - "folder-pen": dynamic(() => import("lucide-react/dist/esm/icons/folder-pen"), { loading }), - "folder-plus": dynamic(() => import("lucide-react/dist/esm/icons/folder-plus"), { loading }), - "folder-root": dynamic(() => import("lucide-react/dist/esm/icons/folder-root"), { loading }), - "folder-search-2": dynamic(() => import("lucide-react/dist/esm/icons/folder-search-2"), { loading }), - "folder-search": dynamic(() => import("lucide-react/dist/esm/icons/folder-search"), { loading }), - "folder-symlink": dynamic(() => import("lucide-react/dist/esm/icons/folder-symlink"), { loading }), - "folder-sync": dynamic(() => import("lucide-react/dist/esm/icons/folder-sync"), { loading }), - "folder-tree": dynamic(() => import("lucide-react/dist/esm/icons/folder-tree"), { loading }), - "folder-up": dynamic(() => import("lucide-react/dist/esm/icons/folder-up"), { loading }), - "folder-x": dynamic(() => import("lucide-react/dist/esm/icons/folder-x"), { loading }), - folder: dynamic(() => import("lucide-react/dist/esm/icons/folder"), { loading }), - folders: dynamic(() => import("lucide-react/dist/esm/icons/folders"), { loading }), - footprints: dynamic(() => import("lucide-react/dist/esm/icons/footprints"), { loading }), - forklift: dynamic(() => import("lucide-react/dist/esm/icons/forklift"), { loading }), - forward: dynamic(() => import("lucide-react/dist/esm/icons/forward"), { loading }), - frame: dynamic(() => import("lucide-react/dist/esm/icons/frame"), { loading }), - framer: dynamic(() => import("lucide-react/dist/esm/icons/framer"), { loading }), - frown: dynamic(() => import("lucide-react/dist/esm/icons/frown"), { loading }), - fuel: dynamic(() => import("lucide-react/dist/esm/icons/fuel"), { loading }), - fullscreen: dynamic(() => import("lucide-react/dist/esm/icons/fullscreen"), { loading }), - "gallery-horizontal-end": dynamic(() => import("lucide-react/dist/esm/icons/gallery-horizontal-end"), { loading }), - "gallery-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/gallery-horizontal"), { loading }), - "gallery-thumbnails": dynamic(() => import("lucide-react/dist/esm/icons/gallery-thumbnails"), { loading }), - "gallery-vertical-end": dynamic(() => import("lucide-react/dist/esm/icons/gallery-vertical-end"), { loading }), - "gallery-vertical": dynamic(() => import("lucide-react/dist/esm/icons/gallery-vertical"), { loading }), - "gamepad-2": dynamic(() => import("lucide-react/dist/esm/icons/gamepad-2"), { loading }), - gamepad: dynamic(() => import("lucide-react/dist/esm/icons/gamepad"), { loading }), - "gantt-chart": dynamic(() => import("lucide-react/dist/esm/icons/gantt-chart"), { loading }), - gauge: dynamic(() => import("lucide-react/dist/esm/icons/gauge"), { loading }), - gavel: dynamic(() => import("lucide-react/dist/esm/icons/gavel"), { loading }), - gem: dynamic(() => import("lucide-react/dist/esm/icons/gem"), { loading }), - ghost: dynamic(() => import("lucide-react/dist/esm/icons/ghost"), { loading }), - gift: dynamic(() => import("lucide-react/dist/esm/icons/gift"), { loading }), - "git-branch-plus": dynamic(() => import("lucide-react/dist/esm/icons/git-branch-plus"), { loading }), - "git-branch": dynamic(() => import("lucide-react/dist/esm/icons/git-branch"), { loading }), - "git-commit-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/git-commit-horizontal"), { loading }), - "git-commit-vertical": dynamic(() => import("lucide-react/dist/esm/icons/git-commit-vertical"), { loading }), - "git-compare-arrows": dynamic(() => import("lucide-react/dist/esm/icons/git-compare-arrows"), { loading }), - "git-compare": dynamic(() => import("lucide-react/dist/esm/icons/git-compare"), { loading }), - "git-fork": dynamic(() => import("lucide-react/dist/esm/icons/git-fork"), { loading }), - "git-graph": dynamic(() => import("lucide-react/dist/esm/icons/git-graph"), { loading }), - "git-merge": dynamic(() => import("lucide-react/dist/esm/icons/git-merge"), { loading }), - "git-pull-request-arrow": dynamic(() => import("lucide-react/dist/esm/icons/git-pull-request-arrow"), { loading }), - "git-pull-request-closed": dynamic(() => import("lucide-react/dist/esm/icons/git-pull-request-closed"), { loading }), - "git-pull-request-create-arrow": () => dynamic(() => import("lucide-react/dist/esm/icons/git-pull-request-create-arrow"), { loading }), - "git-pull-request-create": dynamic(() => import("lucide-react/dist/esm/icons/git-pull-request-create"), { loading }), - "git-pull-request-draft": dynamic(() => import("lucide-react/dist/esm/icons/git-pull-request-draft"), { loading }), - "git-pull-request": dynamic(() => import("lucide-react/dist/esm/icons/git-pull-request"), { loading }), - github: dynamic(() => import("lucide-react/dist/esm/icons/github"), { loading }), - gitlab: dynamic(() => import("lucide-react/dist/esm/icons/gitlab"), { loading }), - "glass-water": dynamic(() => import("lucide-react/dist/esm/icons/glass-water"), { loading }), - glasses: dynamic(() => import("lucide-react/dist/esm/icons/glasses"), { loading }), - "globe-lock": dynamic(() => import("lucide-react/dist/esm/icons/globe-lock"), { loading }), - globe: dynamic(() => import("lucide-react/dist/esm/icons/globe"), { loading }), - goal: dynamic(() => import("lucide-react/dist/esm/icons/goal"), { loading }), - grab: dynamic(() => import("lucide-react/dist/esm/icons/grab"), { loading }), - "graduation-cap": dynamic(() => import("lucide-react/dist/esm/icons/graduation-cap"), { loading }), - grape: dynamic(() => import("lucide-react/dist/esm/icons/grape"), { loading }), - "grid-2x2": dynamic(() => import("lucide-react/dist/esm/icons/grid-2x2"), { loading }), - "grid-3x3": dynamic(() => import("lucide-react/dist/esm/icons/grid-3x3"), { loading }), - "grip-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/grip-horizontal"), { loading }), - "grip-vertical": dynamic(() => import("lucide-react/dist/esm/icons/grip-vertical"), { loading }), - grip: dynamic(() => import("lucide-react/dist/esm/icons/grip"), { loading }), - group: dynamic(() => import("lucide-react/dist/esm/icons/group"), { loading }), - guitar: dynamic(() => import("lucide-react/dist/esm/icons/guitar"), { loading }), - ham: dynamic(() => import("lucide-react/dist/esm/icons/ham"), { loading }), - hammer: dynamic(() => import("lucide-react/dist/esm/icons/hammer"), { loading }), - "hand-coins": dynamic(() => import("lucide-react/dist/esm/icons/hand-coins"), { loading }), - "hand-heart": dynamic(() => import("lucide-react/dist/esm/icons/hand-heart"), { loading }), - "hand-helping": dynamic(() => import("lucide-react/dist/esm/icons/hand-helping"), { loading }), - "hand-metal": dynamic(() => import("lucide-react/dist/esm/icons/hand-metal"), { loading }), - "hand-platter": dynamic(() => import("lucide-react/dist/esm/icons/hand-platter"), { loading }), - hand: dynamic(() => import("lucide-react/dist/esm/icons/hand"), { loading }), - handshake: dynamic(() => import("lucide-react/dist/esm/icons/handshake"), { loading }), - "hard-drive-download": dynamic(() => import("lucide-react/dist/esm/icons/hard-drive-download"), { loading }), - "hard-drive-upload": dynamic(() => import("lucide-react/dist/esm/icons/hard-drive-upload"), { loading }), - "hard-drive": dynamic(() => import("lucide-react/dist/esm/icons/hard-drive"), { loading }), - "hard-hat": dynamic(() => import("lucide-react/dist/esm/icons/hard-hat"), { loading }), - hash: dynamic(() => import("lucide-react/dist/esm/icons/hash"), { loading }), - haze: dynamic(() => import("lucide-react/dist/esm/icons/haze"), { loading }), - "hdmi-port": dynamic(() => import("lucide-react/dist/esm/icons/hdmi-port"), { loading }), - "heading-1": dynamic(() => import("lucide-react/dist/esm/icons/heading-1"), { loading }), - "heading-2": dynamic(() => import("lucide-react/dist/esm/icons/heading-2"), { loading }), - "heading-3": dynamic(() => import("lucide-react/dist/esm/icons/heading-3"), { loading }), - "heading-4": dynamic(() => import("lucide-react/dist/esm/icons/heading-4"), { loading }), - "heading-5": dynamic(() => import("lucide-react/dist/esm/icons/heading-5"), { loading }), - "heading-6": dynamic(() => import("lucide-react/dist/esm/icons/heading-6"), { loading }), - heading: dynamic(() => import("lucide-react/dist/esm/icons/heading"), { loading }), - headphones: dynamic(() => import("lucide-react/dist/esm/icons/headphones"), { loading }), - headset: dynamic(() => import("lucide-react/dist/esm/icons/headset"), { loading }), - "heart-crack": dynamic(() => import("lucide-react/dist/esm/icons/heart-crack"), { loading }), - "heart-handshake": dynamic(() => import("lucide-react/dist/esm/icons/heart-handshake"), { loading }), - "heart-off": dynamic(() => import("lucide-react/dist/esm/icons/heart-off"), { loading }), - "heart-pulse": dynamic(() => import("lucide-react/dist/esm/icons/heart-pulse"), { loading }), - heart: dynamic(() => import("lucide-react/dist/esm/icons/heart"), { loading }), - heater: dynamic(() => import("lucide-react/dist/esm/icons/heater"), { loading }), - hexagon: dynamic(() => import("lucide-react/dist/esm/icons/hexagon"), { loading }), - highlighter: dynamic(() => import("lucide-react/dist/esm/icons/highlighter"), { loading }), - history: dynamic(() => import("lucide-react/dist/esm/icons/history"), { loading }), - home: dynamic(() => import("lucide-react/dist/esm/icons/home"), { loading }), - "hop-off": dynamic(() => import("lucide-react/dist/esm/icons/hop-off"), { loading }), - hop: dynamic(() => import("lucide-react/dist/esm/icons/hop"), { loading }), - hospital: dynamic(() => import("lucide-react/dist/esm/icons/hospital"), { loading }), - hotel: dynamic(() => import("lucide-react/dist/esm/icons/hotel"), { loading }), - hourglass: dynamic(() => import("lucide-react/dist/esm/icons/hourglass"), { loading }), - "ice-cream-bowl": dynamic(() => import("lucide-react/dist/esm/icons/ice-cream-bowl"), { loading }), - "ice-cream-cone": dynamic(() => import("lucide-react/dist/esm/icons/ice-cream-cone"), { loading }), - "image-down": dynamic(() => import("lucide-react/dist/esm/icons/image-down"), { loading }), - "image-minus": dynamic(() => import("lucide-react/dist/esm/icons/image-minus"), { loading }), - "image-off": dynamic(() => import("lucide-react/dist/esm/icons/image-off"), { loading }), - "image-plus": dynamic(() => import("lucide-react/dist/esm/icons/image-plus"), { loading }), - "image-up": dynamic(() => import("lucide-react/dist/esm/icons/image-up"), { loading }), - image: dynamic(() => import("lucide-react/dist/esm/icons/image"), { loading }), - images: dynamic(() => import("lucide-react/dist/esm/icons/images"), { loading }), - import: dynamic(() => import("lucide-react/dist/esm/icons/import"), { loading }), - inbox: dynamic(() => import("lucide-react/dist/esm/icons/inbox"), { loading }), - "indent-decrease": dynamic(() => import("lucide-react/dist/esm/icons/indent-decrease"), { loading }), - "indent-increase": dynamic(() => import("lucide-react/dist/esm/icons/indent-increase"), { loading }), - "indian-rupee": dynamic(() => import("lucide-react/dist/esm/icons/indian-rupee"), { loading }), - infinity: dynamic(() => import("lucide-react/dist/esm/icons/infinity"), { loading }), - info: dynamic(() => import("lucide-react/dist/esm/icons/info"), { loading }), - "inspection-panel": dynamic(() => import("lucide-react/dist/esm/icons/inspection-panel"), { loading }), - instagram: dynamic(() => import("lucide-react/dist/esm/icons/instagram"), { loading }), - italic: dynamic(() => import("lucide-react/dist/esm/icons/italic"), { loading }), - "iteration-ccw": dynamic(() => import("lucide-react/dist/esm/icons/iteration-ccw"), { loading }), - "iteration-cw": dynamic(() => import("lucide-react/dist/esm/icons/iteration-cw"), { loading }), - "japanese-yen": dynamic(() => import("lucide-react/dist/esm/icons/japanese-yen"), { loading }), - joystick: dynamic(() => import("lucide-react/dist/esm/icons/joystick"), { loading }), - kanban: dynamic(() => import("lucide-react/dist/esm/icons/kanban"), { loading }), - "key-round": dynamic(() => import("lucide-react/dist/esm/icons/key-round"), { loading }), - "key-square": dynamic(() => import("lucide-react/dist/esm/icons/key-square"), { loading }), - key: dynamic(() => import("lucide-react/dist/esm/icons/key"), { loading }), - "keyboard-music": dynamic(() => import("lucide-react/dist/esm/icons/keyboard-music"), { loading }), - keyboard: dynamic(() => import("lucide-react/dist/esm/icons/keyboard"), { loading }), - "lamp-ceiling": dynamic(() => import("lucide-react/dist/esm/icons/lamp-ceiling"), { loading }), - "lamp-desk": dynamic(() => import("lucide-react/dist/esm/icons/lamp-desk"), { loading }), - "lamp-floor": dynamic(() => import("lucide-react/dist/esm/icons/lamp-floor"), { loading }), - "lamp-wall-down": dynamic(() => import("lucide-react/dist/esm/icons/lamp-wall-down"), { loading }), - "lamp-wall-up": dynamic(() => import("lucide-react/dist/esm/icons/lamp-wall-up"), { loading }), - lamp: dynamic(() => import("lucide-react/dist/esm/icons/lamp"), { loading }), - "land-plot": dynamic(() => import("lucide-react/dist/esm/icons/land-plot"), { loading }), - landmark: dynamic(() => import("lucide-react/dist/esm/icons/landmark"), { loading }), - languages: dynamic(() => import("lucide-react/dist/esm/icons/languages"), { loading }), - "laptop-minimal": dynamic(() => import("lucide-react/dist/esm/icons/laptop-minimal"), { loading }), - laptop: dynamic(() => import("lucide-react/dist/esm/icons/laptop"), { loading }), - "lasso-select": dynamic(() => import("lucide-react/dist/esm/icons/lasso-select"), { loading }), - lasso: dynamic(() => import("lucide-react/dist/esm/icons/lasso"), { loading }), - laugh: dynamic(() => import("lucide-react/dist/esm/icons/laugh"), { loading }), - "layers-2": dynamic(() => import("lucide-react/dist/esm/icons/layers-2"), { loading }), - "layers-3": dynamic(() => import("lucide-react/dist/esm/icons/layers-3"), { loading }), - layers: dynamic(() => import("lucide-react/dist/esm/icons/layers"), { loading }), - "layout-dashboard": dynamic(() => import("lucide-react/dist/esm/icons/layout-dashboard"), { loading }), - "layout-grid": dynamic(() => import("lucide-react/dist/esm/icons/layout-grid"), { loading }), - "layout-list": dynamic(() => import("lucide-react/dist/esm/icons/layout-list"), { loading }), - "layout-panel-left": dynamic(() => import("lucide-react/dist/esm/icons/layout-panel-left"), { loading }), - "layout-panel-top": dynamic(() => import("lucide-react/dist/esm/icons/layout-panel-top"), { loading }), - "layout-template": dynamic(() => import("lucide-react/dist/esm/icons/layout-template"), { loading }), - leaf: dynamic(() => import("lucide-react/dist/esm/icons/leaf"), { loading }), - "leafy-green": dynamic(() => import("lucide-react/dist/esm/icons/leafy-green"), { loading }), - "library-big": dynamic(() => import("lucide-react/dist/esm/icons/library-big"), { loading }), - library: dynamic(() => import("lucide-react/dist/esm/icons/library"), { loading }), - "life-buoy": dynamic(() => import("lucide-react/dist/esm/icons/life-buoy"), { loading }), - ligature: dynamic(() => import("lucide-react/dist/esm/icons/ligature"), { loading }), - "lightbulb-off": dynamic(() => import("lucide-react/dist/esm/icons/lightbulb-off"), { loading }), - lightbulb: dynamic(() => import("lucide-react/dist/esm/icons/lightbulb"), { loading }), - "line-chart": dynamic(() => import("lucide-react/dist/esm/icons/line-chart"), { loading }), - "link-2-off": dynamic(() => import("lucide-react/dist/esm/icons/link-2-off"), { loading }), - "link-2": dynamic(() => import("lucide-react/dist/esm/icons/link-2"), { loading }), - link: dynamic(() => import("lucide-react/dist/esm/icons/link"), { loading }), - linkedin: dynamic(() => import("lucide-react/dist/esm/icons/linkedin"), { loading }), - "list-checks": dynamic(() => import("lucide-react/dist/esm/icons/list-checks"), { loading }), - "list-collapse": dynamic(() => import("lucide-react/dist/esm/icons/list-collapse"), { loading }), - "list-end": dynamic(() => import("lucide-react/dist/esm/icons/list-end"), { loading }), - "list-filter": dynamic(() => import("lucide-react/dist/esm/icons/list-filter"), { loading }), - "list-minus": dynamic(() => import("lucide-react/dist/esm/icons/list-minus"), { loading }), - "list-music": dynamic(() => import("lucide-react/dist/esm/icons/list-music"), { loading }), - "list-ordered": dynamic(() => import("lucide-react/dist/esm/icons/list-ordered"), { loading }), - "list-plus": dynamic(() => import("lucide-react/dist/esm/icons/list-plus"), { loading }), - "list-restart": dynamic(() => import("lucide-react/dist/esm/icons/list-restart"), { loading }), - "list-start": dynamic(() => import("lucide-react/dist/esm/icons/list-start"), { loading }), - "list-todo": dynamic(() => import("lucide-react/dist/esm/icons/list-todo"), { loading }), - "list-tree": dynamic(() => import("lucide-react/dist/esm/icons/list-tree"), { loading }), - "list-video": dynamic(() => import("lucide-react/dist/esm/icons/list-video"), { loading }), - "list-x": dynamic(() => import("lucide-react/dist/esm/icons/list-x"), { loading }), - list: dynamic(() => import("lucide-react/dist/esm/icons/list"), { loading }), - "loader-circle": dynamic(() => import("lucide-react/dist/esm/icons/loader-circle"), { loading }), - loader: dynamic(() => import("lucide-react/dist/esm/icons/loader"), { loading }), - "locate-fixed": dynamic(() => import("lucide-react/dist/esm/icons/locate-fixed"), { loading }), - "locate-off": dynamic(() => import("lucide-react/dist/esm/icons/locate-off"), { loading }), - locate: dynamic(() => import("lucide-react/dist/esm/icons/locate"), { loading }), - "lock-keyhole-open": dynamic(() => import("lucide-react/dist/esm/icons/lock-keyhole-open"), { loading }), - "lock-keyhole": dynamic(() => import("lucide-react/dist/esm/icons/lock-keyhole"), { loading }), - "lock-open": dynamic(() => import("lucide-react/dist/esm/icons/lock-open"), { loading }), - lock: dynamic(() => import("lucide-react/dist/esm/icons/lock"), { loading }), - "log-in": dynamic(() => import("lucide-react/dist/esm/icons/log-in"), { loading }), - "log-out": dynamic(() => import("lucide-react/dist/esm/icons/log-out"), { loading }), - lollipop: dynamic(() => import("lucide-react/dist/esm/icons/lollipop"), { loading }), - luggage: dynamic(() => import("lucide-react/dist/esm/icons/luggage"), { loading }), - magnet: dynamic(() => import("lucide-react/dist/esm/icons/magnet"), { loading }), - "mail-check": dynamic(() => import("lucide-react/dist/esm/icons/mail-check"), { loading }), - "mail-minus": dynamic(() => import("lucide-react/dist/esm/icons/mail-minus"), { loading }), - "mail-open": dynamic(() => import("lucide-react/dist/esm/icons/mail-open"), { loading }), - "mail-plus": dynamic(() => import("lucide-react/dist/esm/icons/mail-plus"), { loading }), - "mail-question": dynamic(() => import("lucide-react/dist/esm/icons/mail-question"), { loading }), - "mail-search": dynamic(() => import("lucide-react/dist/esm/icons/mail-search"), { loading }), - "mail-warning": dynamic(() => import("lucide-react/dist/esm/icons/mail-warning"), { loading }), - "mail-x": dynamic(() => import("lucide-react/dist/esm/icons/mail-x"), { loading }), - mail: dynamic(() => import("lucide-react/dist/esm/icons/mail"), { loading }), - mailbox: dynamic(() => import("lucide-react/dist/esm/icons/mailbox"), { loading }), - mails: dynamic(() => import("lucide-react/dist/esm/icons/mails"), { loading }), - "map-pin-off": dynamic(() => import("lucide-react/dist/esm/icons/map-pin-off"), { loading }), - "map-pin": dynamic(() => import("lucide-react/dist/esm/icons/map-pin"), { loading }), - "map-pinned": dynamic(() => import("lucide-react/dist/esm/icons/map-pinned"), { loading }), - map: dynamic(() => import("lucide-react/dist/esm/icons/map"), { loading }), - martini: dynamic(() => import("lucide-react/dist/esm/icons/martini"), { loading }), - "maximize-2": dynamic(() => import("lucide-react/dist/esm/icons/maximize-2"), { loading }), - maximize: dynamic(() => import("lucide-react/dist/esm/icons/maximize"), { loading }), - medal: dynamic(() => import("lucide-react/dist/esm/icons/medal"), { loading }), - "megaphone-off": dynamic(() => import("lucide-react/dist/esm/icons/megaphone-off"), { loading }), - megaphone: dynamic(() => import("lucide-react/dist/esm/icons/megaphone"), { loading }), - meh: dynamic(() => import("lucide-react/dist/esm/icons/meh"), { loading }), - "memory-stick": dynamic(() => import("lucide-react/dist/esm/icons/memory-stick"), { loading }), - menu: dynamic(() => import("lucide-react/dist/esm/icons/menu"), { loading }), - merge: dynamic(() => import("lucide-react/dist/esm/icons/merge"), { loading }), - "message-circle-code": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-code"), { loading }), - "message-circle-dashed": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-dashed"), { loading }), - "message-circle-heart": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-heart"), { loading }), - "message-circle-more": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-more"), { loading }), - "message-circle-off": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-off"), { loading }), - "message-circle-plus": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-plus"), { loading }), - "message-circle-question": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-question"), { loading }), - "message-circle-reply": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-reply"), { loading }), - "message-circle-warning": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-warning"), { loading }), - "message-circle-x": dynamic(() => import("lucide-react/dist/esm/icons/message-circle-x"), { loading }), - "message-circle": dynamic(() => import("lucide-react/dist/esm/icons/message-circle"), { loading }), - "message-square-code": dynamic(() => import("lucide-react/dist/esm/icons/message-square-code"), { loading }), - "message-square-dashed": dynamic(() => import("lucide-react/dist/esm/icons/message-square-dashed"), { loading }), - "message-square-diff": dynamic(() => import("lucide-react/dist/esm/icons/message-square-diff"), { loading }), - "message-square-dot": dynamic(() => import("lucide-react/dist/esm/icons/message-square-dot"), { loading }), - "message-square-heart": dynamic(() => import("lucide-react/dist/esm/icons/message-square-heart"), { loading }), - "message-square-more": dynamic(() => import("lucide-react/dist/esm/icons/message-square-more"), { loading }), - "message-square-off": dynamic(() => import("lucide-react/dist/esm/icons/message-square-off"), { loading }), - "message-square-plus": dynamic(() => import("lucide-react/dist/esm/icons/message-square-plus"), { loading }), - "message-square-quote": dynamic(() => import("lucide-react/dist/esm/icons/message-square-quote"), { loading }), - "message-square-reply": dynamic(() => import("lucide-react/dist/esm/icons/message-square-reply"), { loading }), - "message-square-share": dynamic(() => import("lucide-react/dist/esm/icons/message-square-share"), { loading }), - "message-square-text": dynamic(() => import("lucide-react/dist/esm/icons/message-square-text"), { loading }), - "message-square-warning": dynamic(() => import("lucide-react/dist/esm/icons/message-square-warning"), { loading }), - "message-square-x": dynamic(() => import("lucide-react/dist/esm/icons/message-square-x"), { loading }), - "message-square": dynamic(() => import("lucide-react/dist/esm/icons/message-square"), { loading }), - "messages-square": dynamic(() => import("lucide-react/dist/esm/icons/messages-square"), { loading }), - "mic-off": dynamic(() => import("lucide-react/dist/esm/icons/mic-off"), { loading }), - "mic-vocal": dynamic(() => import("lucide-react/dist/esm/icons/mic-vocal"), { loading }), - mic: dynamic(() => import("lucide-react/dist/esm/icons/mic"), { loading }), - microscope: dynamic(() => import("lucide-react/dist/esm/icons/microscope"), { loading }), - microwave: dynamic(() => import("lucide-react/dist/esm/icons/microwave"), { loading }), - milestone: dynamic(() => import("lucide-react/dist/esm/icons/milestone"), { loading }), - "milk-off": dynamic(() => import("lucide-react/dist/esm/icons/milk-off"), { loading }), - milk: dynamic(() => import("lucide-react/dist/esm/icons/milk"), { loading }), - "minimize-2": dynamic(() => import("lucide-react/dist/esm/icons/minimize-2"), { loading }), - minimize: dynamic(() => import("lucide-react/dist/esm/icons/minimize"), { loading }), - minus: dynamic(() => import("lucide-react/dist/esm/icons/minus"), { loading }), - "monitor-check": dynamic(() => import("lucide-react/dist/esm/icons/monitor-check"), { loading }), - "monitor-dot": dynamic(() => import("lucide-react/dist/esm/icons/monitor-dot"), { loading }), - "monitor-down": dynamic(() => import("lucide-react/dist/esm/icons/monitor-down"), { loading }), - "monitor-off": dynamic(() => import("lucide-react/dist/esm/icons/monitor-off"), { loading }), - "monitor-pause": dynamic(() => import("lucide-react/dist/esm/icons/monitor-pause"), { loading }), - "monitor-play": dynamic(() => import("lucide-react/dist/esm/icons/monitor-play"), { loading }), - "monitor-smartphone": dynamic(() => import("lucide-react/dist/esm/icons/monitor-smartphone"), { loading }), - "monitor-speaker": dynamic(() => import("lucide-react/dist/esm/icons/monitor-speaker"), { loading }), - "monitor-stop": dynamic(() => import("lucide-react/dist/esm/icons/monitor-stop"), { loading }), - "monitor-up": dynamic(() => import("lucide-react/dist/esm/icons/monitor-up"), { loading }), - "monitor-x": dynamic(() => import("lucide-react/dist/esm/icons/monitor-x"), { loading }), - monitor: dynamic(() => import("lucide-react/dist/esm/icons/monitor"), { loading }), - "moon-star": dynamic(() => import("lucide-react/dist/esm/icons/moon-star"), { loading }), - moon: dynamic(() => import("lucide-react/dist/esm/icons/moon"), { loading }), - "mountain-snow": dynamic(() => import("lucide-react/dist/esm/icons/mountain-snow"), { loading }), - mountain: dynamic(() => import("lucide-react/dist/esm/icons/mountain"), { loading }), - "mouse-off": dynamic(() => import("lucide-react/dist/esm/icons/mouse-off"), { loading }), - "mouse-pointer-2": dynamic(() => import("lucide-react/dist/esm/icons/mouse-pointer-2"), { loading }), - "mouse-pointer-click": dynamic(() => import("lucide-react/dist/esm/icons/mouse-pointer-click"), { loading }), - "mouse-pointer": dynamic(() => import("lucide-react/dist/esm/icons/mouse-pointer"), { loading }), - mouse: dynamic(() => import("lucide-react/dist/esm/icons/mouse"), { loading }), - "move-3d": dynamic(() => import("lucide-react/dist/esm/icons/move-3d"), { loading }), - "move-diagonal-2": dynamic(() => import("lucide-react/dist/esm/icons/move-diagonal-2"), { loading }), - "move-diagonal": dynamic(() => import("lucide-react/dist/esm/icons/move-diagonal"), { loading }), - "move-down-left": dynamic(() => import("lucide-react/dist/esm/icons/move-down-left"), { loading }), - "move-down-right": dynamic(() => import("lucide-react/dist/esm/icons/move-down-right"), { loading }), - "move-down": dynamic(() => import("lucide-react/dist/esm/icons/move-down"), { loading }), - "move-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/move-horizontal"), { loading }), - "move-left": dynamic(() => import("lucide-react/dist/esm/icons/move-left"), { loading }), - "move-right": dynamic(() => import("lucide-react/dist/esm/icons/move-right"), { loading }), - "move-up-left": dynamic(() => import("lucide-react/dist/esm/icons/move-up-left"), { loading }), - "move-up-right": dynamic(() => import("lucide-react/dist/esm/icons/move-up-right"), { loading }), - "move-up": dynamic(() => import("lucide-react/dist/esm/icons/move-up"), { loading }), - "move-vertical": dynamic(() => import("lucide-react/dist/esm/icons/move-vertical"), { loading }), - move: dynamic(() => import("lucide-react/dist/esm/icons/move"), { loading }), - "music-2": dynamic(() => import("lucide-react/dist/esm/icons/music-2"), { loading }), - "music-3": dynamic(() => import("lucide-react/dist/esm/icons/music-3"), { loading }), - "music-4": dynamic(() => import("lucide-react/dist/esm/icons/music-4"), { loading }), - music: dynamic(() => import("lucide-react/dist/esm/icons/music"), { loading }), - "navigation-2-off": dynamic(() => import("lucide-react/dist/esm/icons/navigation-2-off"), { loading }), - "navigation-2": dynamic(() => import("lucide-react/dist/esm/icons/navigation-2"), { loading }), - "navigation-off": dynamic(() => import("lucide-react/dist/esm/icons/navigation-off"), { loading }), - navigation: dynamic(() => import("lucide-react/dist/esm/icons/navigation"), { loading }), - network: dynamic(() => import("lucide-react/dist/esm/icons/network"), { loading }), - newspaper: dynamic(() => import("lucide-react/dist/esm/icons/newspaper"), { loading }), - nfc: dynamic(() => import("lucide-react/dist/esm/icons/nfc"), { loading }), - "notebook-pen": dynamic(() => import("lucide-react/dist/esm/icons/notebook-pen"), { loading }), - "notebook-tabs": dynamic(() => import("lucide-react/dist/esm/icons/notebook-tabs"), { loading }), - "notebook-text": dynamic(() => import("lucide-react/dist/esm/icons/notebook-text"), { loading }), - notebook: dynamic(() => import("lucide-react/dist/esm/icons/notebook"), { loading }), - "notepad-text-dashed": dynamic(() => import("lucide-react/dist/esm/icons/notepad-text-dashed"), { loading }), - "notepad-text": dynamic(() => import("lucide-react/dist/esm/icons/notepad-text"), { loading }), - "nut-off": dynamic(() => import("lucide-react/dist/esm/icons/nut-off"), { loading }), - nut: dynamic(() => import("lucide-react/dist/esm/icons/nut"), { loading }), - "octagon-alert": dynamic(() => import("lucide-react/dist/esm/icons/octagon-alert"), { loading }), - "octagon-pause": dynamic(() => import("lucide-react/dist/esm/icons/octagon-pause"), { loading }), - "octagon-x": dynamic(() => import("lucide-react/dist/esm/icons/octagon-x"), { loading }), - octagon: dynamic(() => import("lucide-react/dist/esm/icons/octagon"), { loading }), - option: dynamic(() => import("lucide-react/dist/esm/icons/option"), { loading }), - orbit: dynamic(() => import("lucide-react/dist/esm/icons/orbit"), { loading }), - "package-2": dynamic(() => import("lucide-react/dist/esm/icons/package-2"), { loading }), - "package-check": dynamic(() => import("lucide-react/dist/esm/icons/package-check"), { loading }), - "package-minus": dynamic(() => import("lucide-react/dist/esm/icons/package-minus"), { loading }), - "package-open": dynamic(() => import("lucide-react/dist/esm/icons/package-open"), { loading }), - "package-plus": dynamic(() => import("lucide-react/dist/esm/icons/package-plus"), { loading }), - "package-search": dynamic(() => import("lucide-react/dist/esm/icons/package-search"), { loading }), - "package-x": dynamic(() => import("lucide-react/dist/esm/icons/package-x"), { loading }), - package: dynamic(() => import("lucide-react/dist/esm/icons/package"), { loading }), - "paint-bucket": dynamic(() => import("lucide-react/dist/esm/icons/paint-bucket"), { loading }), - "paint-roller": dynamic(() => import("lucide-react/dist/esm/icons/paint-roller"), { loading }), - "paintbrush-2": dynamic(() => import("lucide-react/dist/esm/icons/paintbrush-2"), { loading }), - paintbrush: dynamic(() => import("lucide-react/dist/esm/icons/paintbrush"), { loading }), - palette: dynamic(() => import("lucide-react/dist/esm/icons/palette"), { loading }), - "panel-bottom-close": dynamic(() => import("lucide-react/dist/esm/icons/panel-bottom-close"), { loading }), - "panel-bottom-dashed": dynamic(() => import("lucide-react/dist/esm/icons/panel-bottom-dashed"), { loading }), - "panel-bottom-open": dynamic(() => import("lucide-react/dist/esm/icons/panel-bottom-open"), { loading }), - "panel-bottom": dynamic(() => import("lucide-react/dist/esm/icons/panel-bottom"), { loading }), - "panel-left-close": dynamic(() => import("lucide-react/dist/esm/icons/panel-left-close"), { loading }), - "panel-left-dashed": dynamic(() => import("lucide-react/dist/esm/icons/panel-left-dashed"), { loading }), - "panel-left-open": dynamic(() => import("lucide-react/dist/esm/icons/panel-left-open"), { loading }), - "panel-left": dynamic(() => import("lucide-react/dist/esm/icons/panel-left"), { loading }), - "panel-right-close": dynamic(() => import("lucide-react/dist/esm/icons/panel-right-close"), { loading }), - "panel-right-dashed": dynamic(() => import("lucide-react/dist/esm/icons/panel-right-dashed"), { loading }), - "panel-right-open": dynamic(() => import("lucide-react/dist/esm/icons/panel-right-open"), { loading }), - "panel-right": dynamic(() => import("lucide-react/dist/esm/icons/panel-right"), { loading }), - "panel-top-close": dynamic(() => import("lucide-react/dist/esm/icons/panel-top-close"), { loading }), - "panel-top-dashed": dynamic(() => import("lucide-react/dist/esm/icons/panel-top-dashed"), { loading }), - "panel-top-open": dynamic(() => import("lucide-react/dist/esm/icons/panel-top-open"), { loading }), - "panel-top": dynamic(() => import("lucide-react/dist/esm/icons/panel-top"), { loading }), - "panels-left-bottom": dynamic(() => import("lucide-react/dist/esm/icons/panels-left-bottom"), { loading }), - "panels-right-bottom": dynamic(() => import("lucide-react/dist/esm/icons/panels-right-bottom"), { loading }), - "panels-top-left": dynamic(() => import("lucide-react/dist/esm/icons/panels-top-left"), { loading }), - paperclip: dynamic(() => import("lucide-react/dist/esm/icons/paperclip"), { loading }), - parentheses: dynamic(() => import("lucide-react/dist/esm/icons/parentheses"), { loading }), - "parking-meter": dynamic(() => import("lucide-react/dist/esm/icons/parking-meter"), { loading }), - "party-popper": dynamic(() => import("lucide-react/dist/esm/icons/party-popper"), { loading }), - pause: dynamic(() => import("lucide-react/dist/esm/icons/pause"), { loading }), - "paw-print": dynamic(() => import("lucide-react/dist/esm/icons/paw-print"), { loading }), - "pc-case": dynamic(() => import("lucide-react/dist/esm/icons/pc-case"), { loading }), - "pen-line": dynamic(() => import("lucide-react/dist/esm/icons/pen-line"), { loading }), - "pen-tool": dynamic(() => import("lucide-react/dist/esm/icons/pen-tool"), { loading }), - pen: dynamic(() => import("lucide-react/dist/esm/icons/pen"), { loading }), - "pencil-line": dynamic(() => import("lucide-react/dist/esm/icons/pencil-line"), { loading }), - "pencil-ruler": dynamic(() => import("lucide-react/dist/esm/icons/pencil-ruler"), { loading }), - pencil: dynamic(() => import("lucide-react/dist/esm/icons/pencil"), { loading }), - pentagon: dynamic(() => import("lucide-react/dist/esm/icons/pentagon"), { loading }), - percent: dynamic(() => import("lucide-react/dist/esm/icons/percent"), { loading }), - "person-standing": dynamic(() => import("lucide-react/dist/esm/icons/person-standing"), { loading }), - "phone-call": dynamic(() => import("lucide-react/dist/esm/icons/phone-call"), { loading }), - "phone-forwarded": dynamic(() => import("lucide-react/dist/esm/icons/phone-forwarded"), { loading }), - "phone-incoming": dynamic(() => import("lucide-react/dist/esm/icons/phone-incoming"), { loading }), - "phone-missed": dynamic(() => import("lucide-react/dist/esm/icons/phone-missed"), { loading }), - "phone-off": dynamic(() => import("lucide-react/dist/esm/icons/phone-off"), { loading }), - "phone-outgoing": dynamic(() => import("lucide-react/dist/esm/icons/phone-outgoing"), { loading }), - phone: dynamic(() => import("lucide-react/dist/esm/icons/phone"), { loading }), - pi: dynamic(() => import("lucide-react/dist/esm/icons/pi"), { loading }), - piano: dynamic(() => import("lucide-react/dist/esm/icons/piano"), { loading }), - pickaxe: dynamic(() => import("lucide-react/dist/esm/icons/pickaxe"), { loading }), - "picture-in-picture-2": dynamic(() => import("lucide-react/dist/esm/icons/picture-in-picture-2"), { loading }), - "picture-in-picture": dynamic(() => import("lucide-react/dist/esm/icons/picture-in-picture"), { loading }), - "pie-chart": dynamic(() => import("lucide-react/dist/esm/icons/pie-chart"), { loading }), - "piggy-bank": dynamic(() => import("lucide-react/dist/esm/icons/piggy-bank"), { loading }), - pilcrow: dynamic(() => import("lucide-react/dist/esm/icons/pilcrow"), { loading }), - pill: dynamic(() => import("lucide-react/dist/esm/icons/pill"), { loading }), - "pin-off": dynamic(() => import("lucide-react/dist/esm/icons/pin-off"), { loading }), - pin: dynamic(() => import("lucide-react/dist/esm/icons/pin"), { loading }), - pipette: dynamic(() => import("lucide-react/dist/esm/icons/pipette"), { loading }), - pizza: dynamic(() => import("lucide-react/dist/esm/icons/pizza"), { loading }), - "plane-landing": dynamic(() => import("lucide-react/dist/esm/icons/plane-landing"), { loading }), - "plane-takeoff": dynamic(() => import("lucide-react/dist/esm/icons/plane-takeoff"), { loading }), - plane: dynamic(() => import("lucide-react/dist/esm/icons/plane"), { loading }), - play: dynamic(() => import("lucide-react/dist/esm/icons/play"), { loading }), - "plug-2": dynamic(() => import("lucide-react/dist/esm/icons/plug-2"), { loading }), - "plug-zap-2": dynamic(() => import("lucide-react/dist/esm/icons/plug-zap-2"), { loading }), - "plug-zap": dynamic(() => import("lucide-react/dist/esm/icons/plug-zap"), { loading }), - plug: dynamic(() => import("lucide-react/dist/esm/icons/plug"), { loading }), - plus: dynamic(() => import("lucide-react/dist/esm/icons/plus"), { loading }), - "pocket-knife": dynamic(() => import("lucide-react/dist/esm/icons/pocket-knife"), { loading }), - pocket: dynamic(() => import("lucide-react/dist/esm/icons/pocket"), { loading }), - podcast: dynamic(() => import("lucide-react/dist/esm/icons/podcast"), { loading }), - "pointer-off": dynamic(() => import("lucide-react/dist/esm/icons/pointer-off"), { loading }), - pointer: dynamic(() => import("lucide-react/dist/esm/icons/pointer"), { loading }), - popcorn: dynamic(() => import("lucide-react/dist/esm/icons/popcorn"), { loading }), - popsicle: dynamic(() => import("lucide-react/dist/esm/icons/popsicle"), { loading }), - "pound-sterling": dynamic(() => import("lucide-react/dist/esm/icons/pound-sterling"), { loading }), - "power-off": dynamic(() => import("lucide-react/dist/esm/icons/power-off"), { loading }), - power: dynamic(() => import("lucide-react/dist/esm/icons/power"), { loading }), - presentation: dynamic(() => import("lucide-react/dist/esm/icons/presentation"), { loading }), - printer: dynamic(() => import("lucide-react/dist/esm/icons/printer"), { loading }), - projector: dynamic(() => import("lucide-react/dist/esm/icons/projector"), { loading }), - proportions: dynamic(() => import("lucide-react/dist/esm/icons/proportions"), { loading }), - puzzle: dynamic(() => import("lucide-react/dist/esm/icons/puzzle"), { loading }), - pyramid: dynamic(() => import("lucide-react/dist/esm/icons/pyramid"), { loading }), - "qr-code": dynamic(() => import("lucide-react/dist/esm/icons/qr-code"), { loading }), - quote: dynamic(() => import("lucide-react/dist/esm/icons/quote"), { loading }), - rabbit: dynamic(() => import("lucide-react/dist/esm/icons/rabbit"), { loading }), - radar: dynamic(() => import("lucide-react/dist/esm/icons/radar"), { loading }), - radiation: dynamic(() => import("lucide-react/dist/esm/icons/radiation"), { loading }), - radical: dynamic(() => import("lucide-react/dist/esm/icons/radical"), { loading }), - "radio-receiver": dynamic(() => import("lucide-react/dist/esm/icons/radio-receiver"), { loading }), - "radio-tower": dynamic(() => import("lucide-react/dist/esm/icons/radio-tower"), { loading }), - radio: dynamic(() => import("lucide-react/dist/esm/icons/radio"), { loading }), - radius: dynamic(() => import("lucide-react/dist/esm/icons/radius"), { loading }), - "rail-symbol": dynamic(() => import("lucide-react/dist/esm/icons/rail-symbol"), { loading }), - rainbow: dynamic(() => import("lucide-react/dist/esm/icons/rainbow"), { loading }), - rat: dynamic(() => import("lucide-react/dist/esm/icons/rat"), { loading }), - ratio: dynamic(() => import("lucide-react/dist/esm/icons/ratio"), { loading }), - "receipt-cent": dynamic(() => import("lucide-react/dist/esm/icons/receipt-cent"), { loading }), - "receipt-euro": dynamic(() => import("lucide-react/dist/esm/icons/receipt-euro"), { loading }), - "receipt-indian-rupee": dynamic(() => import("lucide-react/dist/esm/icons/receipt-indian-rupee"), { loading }), - "receipt-japanese-yen": dynamic(() => import("lucide-react/dist/esm/icons/receipt-japanese-yen"), { loading }), - "receipt-pound-sterling": dynamic(() => import("lucide-react/dist/esm/icons/receipt-pound-sterling"), { loading }), - "receipt-russian-ruble": dynamic(() => import("lucide-react/dist/esm/icons/receipt-russian-ruble"), { loading }), - "receipt-swiss-franc": dynamic(() => import("lucide-react/dist/esm/icons/receipt-swiss-franc"), { loading }), - "receipt-text": dynamic(() => import("lucide-react/dist/esm/icons/receipt-text"), { loading }), - receipt: dynamic(() => import("lucide-react/dist/esm/icons/receipt"), { loading }), - "rectangle-ellipsis": dynamic(() => import("lucide-react/dist/esm/icons/rectangle-ellipsis"), { loading }), - "rectangle-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/rectangle-horizontal"), { loading }), - "rectangle-vertical": dynamic(() => import("lucide-react/dist/esm/icons/rectangle-vertical"), { loading }), - recycle: dynamic(() => import("lucide-react/dist/esm/icons/recycle"), { loading }), - "redo-2": dynamic(() => import("lucide-react/dist/esm/icons/redo-2"), { loading }), - "redo-dot": dynamic(() => import("lucide-react/dist/esm/icons/redo-dot"), { loading }), - redo: dynamic(() => import("lucide-react/dist/esm/icons/redo"), { loading }), - "refresh-ccw-dot": dynamic(() => import("lucide-react/dist/esm/icons/refresh-ccw-dot"), { loading }), - "refresh-ccw": dynamic(() => import("lucide-react/dist/esm/icons/refresh-ccw"), { loading }), - "refresh-cw-off": dynamic(() => import("lucide-react/dist/esm/icons/refresh-cw-off"), { loading }), - "refresh-cw": dynamic(() => import("lucide-react/dist/esm/icons/refresh-cw"), { loading }), - refrigerator: dynamic(() => import("lucide-react/dist/esm/icons/refrigerator"), { loading }), - regex: dynamic(() => import("lucide-react/dist/esm/icons/regex"), { loading }), - "remove-formatting": dynamic(() => import("lucide-react/dist/esm/icons/remove-formatting"), { loading }), - "repeat-1": dynamic(() => import("lucide-react/dist/esm/icons/repeat-1"), { loading }), - "repeat-2": dynamic(() => import("lucide-react/dist/esm/icons/repeat-2"), { loading }), - repeat: dynamic(() => import("lucide-react/dist/esm/icons/repeat"), { loading }), - "replace-all": dynamic(() => import("lucide-react/dist/esm/icons/replace-all"), { loading }), - replace: dynamic(() => import("lucide-react/dist/esm/icons/replace"), { loading }), - "reply-all": dynamic(() => import("lucide-react/dist/esm/icons/reply-all"), { loading }), - reply: dynamic(() => import("lucide-react/dist/esm/icons/reply"), { loading }), - rewind: dynamic(() => import("lucide-react/dist/esm/icons/rewind"), { loading }), - ribbon: dynamic(() => import("lucide-react/dist/esm/icons/ribbon"), { loading }), - rocket: dynamic(() => import("lucide-react/dist/esm/icons/rocket"), { loading }), - "rocking-chair": dynamic(() => import("lucide-react/dist/esm/icons/rocking-chair"), { loading }), - "roller-coaster": dynamic(() => import("lucide-react/dist/esm/icons/roller-coaster"), { loading }), - "rotate-3d": dynamic(() => import("lucide-react/dist/esm/icons/rotate-3d"), { loading }), - "rotate-ccw-square": dynamic(() => import("lucide-react/dist/esm/icons/rotate-ccw-square"), { loading }), - "rotate-ccw": dynamic(() => import("lucide-react/dist/esm/icons/rotate-ccw"), { loading }), - "rotate-cw-square": dynamic(() => import("lucide-react/dist/esm/icons/rotate-cw-square"), { loading }), - "rotate-cw": dynamic(() => import("lucide-react/dist/esm/icons/rotate-cw"), { loading }), - "route-off": dynamic(() => import("lucide-react/dist/esm/icons/route-off"), { loading }), - route: dynamic(() => import("lucide-react/dist/esm/icons/route"), { loading }), - router: dynamic(() => import("lucide-react/dist/esm/icons/router"), { loading }), - "rows-2": dynamic(() => import("lucide-react/dist/esm/icons/rows-2"), { loading }), - "rows-3": dynamic(() => import("lucide-react/dist/esm/icons/rows-3"), { loading }), - "rows-4": dynamic(() => import("lucide-react/dist/esm/icons/rows-4"), { loading }), - rss: dynamic(() => import("lucide-react/dist/esm/icons/rss"), { loading }), - ruler: dynamic(() => import("lucide-react/dist/esm/icons/ruler"), { loading }), - "russian-ruble": dynamic(() => import("lucide-react/dist/esm/icons/russian-ruble"), { loading }), - sailboat: dynamic(() => import("lucide-react/dist/esm/icons/sailboat"), { loading }), - salad: dynamic(() => import("lucide-react/dist/esm/icons/salad"), { loading }), - sandwich: dynamic(() => import("lucide-react/dist/esm/icons/sandwich"), { loading }), - "satellite-dish": dynamic(() => import("lucide-react/dist/esm/icons/satellite-dish"), { loading }), - satellite: dynamic(() => import("lucide-react/dist/esm/icons/satellite"), { loading }), - "save-all": dynamic(() => import("lucide-react/dist/esm/icons/save-all"), { loading }), - save: dynamic(() => import("lucide-react/dist/esm/icons/save"), { loading }), - "scale-3d": dynamic(() => import("lucide-react/dist/esm/icons/scale-3d"), { loading }), - scale: dynamic(() => import("lucide-react/dist/esm/icons/scale"), { loading }), - scaling: dynamic(() => import("lucide-react/dist/esm/icons/scaling"), { loading }), - "scan-barcode": dynamic(() => import("lucide-react/dist/esm/icons/scan-barcode"), { loading }), - "scan-eye": dynamic(() => import("lucide-react/dist/esm/icons/scan-eye"), { loading }), - "scan-face": dynamic(() => import("lucide-react/dist/esm/icons/scan-face"), { loading }), - "scan-line": dynamic(() => import("lucide-react/dist/esm/icons/scan-line"), { loading }), - "scan-search": dynamic(() => import("lucide-react/dist/esm/icons/scan-search"), { loading }), - "scan-text": dynamic(() => import("lucide-react/dist/esm/icons/scan-text"), { loading }), - scan: dynamic(() => import("lucide-react/dist/esm/icons/scan"), { loading }), - "scatter-chart": dynamic(() => import("lucide-react/dist/esm/icons/scatter-chart"), { loading }), - school: dynamic(() => import("lucide-react/dist/esm/icons/school"), { loading }), - "scissors-line-dashed": dynamic(() => import("lucide-react/dist/esm/icons/scissors-line-dashed"), { loading }), - scissors: dynamic(() => import("lucide-react/dist/esm/icons/scissors"), { loading }), - "screen-share-off": dynamic(() => import("lucide-react/dist/esm/icons/screen-share-off"), { loading }), - "screen-share": dynamic(() => import("lucide-react/dist/esm/icons/screen-share"), { loading }), - "scroll-text": dynamic(() => import("lucide-react/dist/esm/icons/scroll-text"), { loading }), - scroll: dynamic(() => import("lucide-react/dist/esm/icons/scroll"), { loading }), - "search-check": dynamic(() => import("lucide-react/dist/esm/icons/search-check"), { loading }), - "search-code": dynamic(() => import("lucide-react/dist/esm/icons/search-code"), { loading }), - "search-slash": dynamic(() => import("lucide-react/dist/esm/icons/search-slash"), { loading }), - "search-x": dynamic(() => import("lucide-react/dist/esm/icons/search-x"), { loading }), - search: dynamic(() => import("lucide-react/dist/esm/icons/search"), { loading }), - "send-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/send-horizontal"), { loading }), - "send-to-back": dynamic(() => import("lucide-react/dist/esm/icons/send-to-back"), { loading }), - send: dynamic(() => import("lucide-react/dist/esm/icons/send"), { loading }), - "separator-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/separator-horizontal"), { loading }), - "separator-vertical": dynamic(() => import("lucide-react/dist/esm/icons/separator-vertical"), { loading }), - "server-cog": dynamic(() => import("lucide-react/dist/esm/icons/server-cog"), { loading }), - "server-crash": dynamic(() => import("lucide-react/dist/esm/icons/server-crash"), { loading }), - "server-off": dynamic(() => import("lucide-react/dist/esm/icons/server-off"), { loading }), - server: dynamic(() => import("lucide-react/dist/esm/icons/server"), { loading }), - "settings-2": dynamic(() => import("lucide-react/dist/esm/icons/settings-2"), { loading }), - settings: dynamic(() => import("lucide-react/dist/esm/icons/settings"), { loading }), - shapes: dynamic(() => import("lucide-react/dist/esm/icons/shapes"), { loading }), - "share-2": dynamic(() => import("lucide-react/dist/esm/icons/share-2"), { loading }), - share: dynamic(() => import("lucide-react/dist/esm/icons/share"), { loading }), - sheet: dynamic(() => import("lucide-react/dist/esm/icons/sheet"), { loading }), - shell: dynamic(() => import("lucide-react/dist/esm/icons/shell"), { loading }), - "shield-alert": dynamic(() => import("lucide-react/dist/esm/icons/shield-alert"), { loading }), - "shield-ban": dynamic(() => import("lucide-react/dist/esm/icons/shield-ban"), { loading }), - "shield-check": dynamic(() => import("lucide-react/dist/esm/icons/shield-check"), { loading }), - "shield-ellipsis": dynamic(() => import("lucide-react/dist/esm/icons/shield-ellipsis"), { loading }), - "shield-half": dynamic(() => import("lucide-react/dist/esm/icons/shield-half"), { loading }), - "shield-minus": dynamic(() => import("lucide-react/dist/esm/icons/shield-minus"), { loading }), - "shield-off": dynamic(() => import("lucide-react/dist/esm/icons/shield-off"), { loading }), - "shield-plus": dynamic(() => import("lucide-react/dist/esm/icons/shield-plus"), { loading }), - "shield-question": dynamic(() => import("lucide-react/dist/esm/icons/shield-question"), { loading }), - "shield-x": dynamic(() => import("lucide-react/dist/esm/icons/shield-x"), { loading }), - shield: dynamic(() => import("lucide-react/dist/esm/icons/shield"), { loading }), - "ship-wheel": dynamic(() => import("lucide-react/dist/esm/icons/ship-wheel"), { loading }), - ship: dynamic(() => import("lucide-react/dist/esm/icons/ship"), { loading }), - shirt: dynamic(() => import("lucide-react/dist/esm/icons/shirt"), { loading }), - "shopping-bag": dynamic(() => import("lucide-react/dist/esm/icons/shopping-bag"), { loading }), - "shopping-basket": dynamic(() => import("lucide-react/dist/esm/icons/shopping-basket"), { loading }), - "shopping-cart": dynamic(() => import("lucide-react/dist/esm/icons/shopping-cart"), { loading }), - shovel: dynamic(() => import("lucide-react/dist/esm/icons/shovel"), { loading }), - "shower-head": dynamic(() => import("lucide-react/dist/esm/icons/shower-head"), { loading }), - shrink: dynamic(() => import("lucide-react/dist/esm/icons/shrink"), { loading }), - shrub: dynamic(() => import("lucide-react/dist/esm/icons/shrub"), { loading }), - shuffle: dynamic(() => import("lucide-react/dist/esm/icons/shuffle"), { loading }), - sigma: dynamic(() => import("lucide-react/dist/esm/icons/sigma"), { loading }), - "signal-high": dynamic(() => import("lucide-react/dist/esm/icons/signal-high"), { loading }), - "signal-low": dynamic(() => import("lucide-react/dist/esm/icons/signal-low"), { loading }), - "signal-medium": dynamic(() => import("lucide-react/dist/esm/icons/signal-medium"), { loading }), - "signal-zero": dynamic(() => import("lucide-react/dist/esm/icons/signal-zero"), { loading }), - signal: dynamic(() => import("lucide-react/dist/esm/icons/signal"), { loading }), - "signpost-big": dynamic(() => import("lucide-react/dist/esm/icons/signpost-big"), { loading }), - signpost: dynamic(() => import("lucide-react/dist/esm/icons/signpost"), { loading }), - siren: dynamic(() => import("lucide-react/dist/esm/icons/siren"), { loading }), - "skip-back": dynamic(() => import("lucide-react/dist/esm/icons/skip-back"), { loading }), - "skip-forward": dynamic(() => import("lucide-react/dist/esm/icons/skip-forward"), { loading }), - skull: dynamic(() => import("lucide-react/dist/esm/icons/skull"), { loading }), - slack: dynamic(() => import("lucide-react/dist/esm/icons/slack"), { loading }), - slash: dynamic(() => import("lucide-react/dist/esm/icons/slash"), { loading }), - slice: dynamic(() => import("lucide-react/dist/esm/icons/slice"), { loading }), - "sliders-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/sliders-horizontal"), { loading }), - "sliders-vertical": dynamic(() => import("lucide-react/dist/esm/icons/sliders-vertical"), { loading }), - "smartphone-charging": dynamic(() => import("lucide-react/dist/esm/icons/smartphone-charging"), { loading }), - "smartphone-nfc": dynamic(() => import("lucide-react/dist/esm/icons/smartphone-nfc"), { loading }), - smartphone: dynamic(() => import("lucide-react/dist/esm/icons/smartphone"), { loading }), - "smile-plus": dynamic(() => import("lucide-react/dist/esm/icons/smile-plus"), { loading }), - smile: dynamic(() => import("lucide-react/dist/esm/icons/smile"), { loading }), - snail: dynamic(() => import("lucide-react/dist/esm/icons/snail"), { loading }), - snowflake: dynamic(() => import("lucide-react/dist/esm/icons/snowflake"), { loading }), - sofa: dynamic(() => import("lucide-react/dist/esm/icons/sofa"), { loading }), - soup: dynamic(() => import("lucide-react/dist/esm/icons/soup"), { loading }), - space: dynamic(() => import("lucide-react/dist/esm/icons/space"), { loading }), - spade: dynamic(() => import("lucide-react/dist/esm/icons/spade"), { loading }), - sparkle: dynamic(() => import("lucide-react/dist/esm/icons/sparkle"), { loading }), - sparkles: dynamic(() => import("lucide-react/dist/esm/icons/sparkles"), { loading }), - speaker: dynamic(() => import("lucide-react/dist/esm/icons/speaker"), { loading }), - speech: dynamic(() => import("lucide-react/dist/esm/icons/speech"), { loading }), - "spell-check-2": dynamic(() => import("lucide-react/dist/esm/icons/spell-check-2"), { loading }), - "spell-check": dynamic(() => import("lucide-react/dist/esm/icons/spell-check"), { loading }), - spline: dynamic(() => import("lucide-react/dist/esm/icons/spline"), { loading }), - split: dynamic(() => import("lucide-react/dist/esm/icons/split"), { loading }), - "spray-can": dynamic(() => import("lucide-react/dist/esm/icons/spray-can"), { loading }), - sprout: dynamic(() => import("lucide-react/dist/esm/icons/sprout"), { loading }), - "square-activity": dynamic(() => import("lucide-react/dist/esm/icons/square-activity"), { loading }), - "square-arrow-down-left": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-down-left"), { loading }), - "square-arrow-down-right": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-down-right"), { loading }), - "square-arrow-down": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-down"), { loading }), - "square-arrow-left": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-left"), { loading }), - "square-arrow-out-down-left": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-out-down-left"), { loading }), - "square-arrow-out-down-right": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-out-down-right"), { loading }), - "square-arrow-out-up-left": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-out-up-left"), { loading }), - "square-arrow-out-up-right": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-out-up-right"), { loading }), - "square-arrow-right": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-right"), { loading }), - "square-arrow-up-left": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-up-left"), { loading }), - "square-arrow-up-right": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-up-right"), { loading }), - "square-arrow-up": dynamic(() => import("lucide-react/dist/esm/icons/square-arrow-up"), { loading }), - "square-asterisk": dynamic(() => import("lucide-react/dist/esm/icons/square-asterisk"), { loading }), - "square-bottom-dashed-scissors": () => dynamic(() => import("lucide-react/dist/esm/icons/square-bottom-dashed-scissors"), { loading }), - "square-check-big": dynamic(() => import("lucide-react/dist/esm/icons/square-check-big"), { loading }), - "square-check": dynamic(() => import("lucide-react/dist/esm/icons/square-check"), { loading }), - "square-chevron-down": dynamic(() => import("lucide-react/dist/esm/icons/square-chevron-down"), { loading }), - "square-chevron-left": dynamic(() => import("lucide-react/dist/esm/icons/square-chevron-left"), { loading }), - "square-chevron-right": dynamic(() => import("lucide-react/dist/esm/icons/square-chevron-right"), { loading }), - "square-chevron-up": dynamic(() => import("lucide-react/dist/esm/icons/square-chevron-up"), { loading }), - "square-code": dynamic(() => import("lucide-react/dist/esm/icons/square-code"), { loading }), - "square-dashed-bottom-code": dynamic(() => import("lucide-react/dist/esm/icons/square-dashed-bottom-code"), { loading }), - "square-dashed-bottom": dynamic(() => import("lucide-react/dist/esm/icons/square-dashed-bottom"), { loading }), - "square-dashed-kanban": dynamic(() => import("lucide-react/dist/esm/icons/square-dashed-kanban"), { loading }), - "square-dashed-mouse-pointer": dynamic(() => import("lucide-react/dist/esm/icons/square-dashed-mouse-pointer") - ), - "square-divide": dynamic(() => import("lucide-react/dist/esm/icons/square-divide"), { loading }), - "square-dot": dynamic(() => import("lucide-react/dist/esm/icons/square-dot"), { loading }), - "square-equal": dynamic(() => import("lucide-react/dist/esm/icons/square-equal"), { loading }), - "square-function": dynamic(() => import("lucide-react/dist/esm/icons/square-function"), { loading }), - "square-gantt-chart": dynamic(() => import("lucide-react/dist/esm/icons/square-gantt-chart"), { loading }), - "square-kanban": dynamic(() => import("lucide-react/dist/esm/icons/square-kanban"), { loading }), - "square-library": dynamic(() => import("lucide-react/dist/esm/icons/square-library"), { loading }), - "square-m": dynamic(() => import("lucide-react/dist/esm/icons/square-m"), { loading }), - "square-menu": dynamic(() => import("lucide-react/dist/esm/icons/square-menu"), { loading }), - "square-minus": dynamic(() => import("lucide-react/dist/esm/icons/square-minus"), { loading }), - "square-mouse-pointer": dynamic(() => import("lucide-react/dist/esm/icons/square-mouse-pointer"), { loading }), - "square-parking-off": dynamic(() => import("lucide-react/dist/esm/icons/square-parking-off"), { loading }), - "square-parking": dynamic(() => import("lucide-react/dist/esm/icons/square-parking"), { loading }), - "square-pen": dynamic(() => import("lucide-react/dist/esm/icons/square-pen"), { loading }), - "square-percent": dynamic(() => import("lucide-react/dist/esm/icons/square-percent"), { loading }), - "square-pi": dynamic(() => import("lucide-react/dist/esm/icons/square-pi"), { loading }), - "square-pilcrow": dynamic(() => import("lucide-react/dist/esm/icons/square-pilcrow"), { loading }), - "square-play": dynamic(() => import("lucide-react/dist/esm/icons/square-play"), { loading }), - "square-plus": dynamic(() => import("lucide-react/dist/esm/icons/square-plus"), { loading }), - "square-power": dynamic(() => import("lucide-react/dist/esm/icons/square-power"), { loading }), - "square-radical": dynamic(() => import("lucide-react/dist/esm/icons/square-radical"), { loading }), - "square-scissors": dynamic(() => import("lucide-react/dist/esm/icons/square-scissors"), { loading }), - "square-sigma": dynamic(() => import("lucide-react/dist/esm/icons/square-sigma"), { loading }), - "square-slash": dynamic(() => import("lucide-react/dist/esm/icons/square-slash"), { loading }), - "square-split-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/square-split-horizontal"), { loading }), - "square-split-vertical": dynamic(() => import("lucide-react/dist/esm/icons/square-split-vertical"), { loading }), - "square-stack": dynamic(() => import("lucide-react/dist/esm/icons/square-stack"), { loading }), - "square-terminal": dynamic(() => import("lucide-react/dist/esm/icons/square-terminal"), { loading }), - "square-user-round": dynamic(() => import("lucide-react/dist/esm/icons/square-user-round"), { loading }), - "square-user": dynamic(() => import("lucide-react/dist/esm/icons/square-user"), { loading }), - "square-x": dynamic(() => import("lucide-react/dist/esm/icons/square-x"), { loading }), - square: dynamic(() => import("lucide-react/dist/esm/icons/square"), { loading }), - squircle: dynamic(() => import("lucide-react/dist/esm/icons/squircle"), { loading }), - squirrel: dynamic(() => import("lucide-react/dist/esm/icons/squirrel"), { loading }), - stamp: dynamic(() => import("lucide-react/dist/esm/icons/stamp"), { loading }), - "star-half": dynamic(() => import("lucide-react/dist/esm/icons/star-half"), { loading }), - "star-off": dynamic(() => import("lucide-react/dist/esm/icons/star-off"), { loading }), - star: dynamic(() => import("lucide-react/dist/esm/icons/star"), { loading }), - "step-back": dynamic(() => import("lucide-react/dist/esm/icons/step-back"), { loading }), - "step-forward": dynamic(() => import("lucide-react/dist/esm/icons/step-forward"), { loading }), - stethoscope: dynamic(() => import("lucide-react/dist/esm/icons/stethoscope"), { loading }), - sticker: dynamic(() => import("lucide-react/dist/esm/icons/sticker"), { loading }), - "sticky-note": dynamic(() => import("lucide-react/dist/esm/icons/sticky-note"), { loading }), - store: dynamic(() => import("lucide-react/dist/esm/icons/store"), { loading }), - "stretch-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/stretch-horizontal"), { loading }), - "stretch-vertical": dynamic(() => import("lucide-react/dist/esm/icons/stretch-vertical"), { loading }), - strikethrough: dynamic(() => import("lucide-react/dist/esm/icons/strikethrough"), { loading }), - subscript: dynamic(() => import("lucide-react/dist/esm/icons/subscript"), { loading }), - "sun-dim": dynamic(() => import("lucide-react/dist/esm/icons/sun-dim"), { loading }), - "sun-medium": dynamic(() => import("lucide-react/dist/esm/icons/sun-medium"), { loading }), - "sun-moon": dynamic(() => import("lucide-react/dist/esm/icons/sun-moon"), { loading }), - "sun-snow": dynamic(() => import("lucide-react/dist/esm/icons/sun-snow"), { loading }), - sun: dynamic(() => import("lucide-react/dist/esm/icons/sun"), { loading }), - sunrise: dynamic(() => import("lucide-react/dist/esm/icons/sunrise"), { loading }), - sunset: dynamic(() => import("lucide-react/dist/esm/icons/sunset"), { loading }), - superscript: dynamic(() => import("lucide-react/dist/esm/icons/superscript"), { loading }), - "swatch-book": dynamic(() => import("lucide-react/dist/esm/icons/swatch-book"), { loading }), - "swiss-franc": dynamic(() => import("lucide-react/dist/esm/icons/swiss-franc"), { loading }), - "switch-camera": dynamic(() => import("lucide-react/dist/esm/icons/switch-camera"), { loading }), - sword: dynamic(() => import("lucide-react/dist/esm/icons/sword"), { loading }), - swords: dynamic(() => import("lucide-react/dist/esm/icons/swords"), { loading }), - syringe: dynamic(() => import("lucide-react/dist/esm/icons/syringe"), { loading }), - "table-2": dynamic(() => import("lucide-react/dist/esm/icons/table-2"), { loading }), - "table-cells-merge": dynamic(() => import("lucide-react/dist/esm/icons/table-cells-merge"), { loading }), - "table-cells-split": dynamic(() => import("lucide-react/dist/esm/icons/table-cells-split"), { loading }), - "table-columns-split": dynamic(() => import("lucide-react/dist/esm/icons/table-columns-split"), { loading }), - "table-properties": dynamic(() => import("lucide-react/dist/esm/icons/table-properties"), { loading }), - "table-rows-split": dynamic(() => import("lucide-react/dist/esm/icons/table-rows-split"), { loading }), - table: dynamic(() => import("lucide-react/dist/esm/icons/table"), { loading }), - "tablet-smartphone": dynamic(() => import("lucide-react/dist/esm/icons/tablet-smartphone"), { loading }), - tablet: dynamic(() => import("lucide-react/dist/esm/icons/tablet"), { loading }), - tablets: dynamic(() => import("lucide-react/dist/esm/icons/tablets"), { loading }), - tag: dynamic(() => import("lucide-react/dist/esm/icons/tag"), { loading }), - tags: dynamic(() => import("lucide-react/dist/esm/icons/tags"), { loading }), - "tally-1": dynamic(() => import("lucide-react/dist/esm/icons/tally-1"), { loading }), - "tally-2": dynamic(() => import("lucide-react/dist/esm/icons/tally-2"), { loading }), - "tally-3": dynamic(() => import("lucide-react/dist/esm/icons/tally-3"), { loading }), - "tally-4": dynamic(() => import("lucide-react/dist/esm/icons/tally-4"), { loading }), - "tally-5": dynamic(() => import("lucide-react/dist/esm/icons/tally-5"), { loading }), - tangent: dynamic(() => import("lucide-react/dist/esm/icons/tangent"), { loading }), - target: dynamic(() => import("lucide-react/dist/esm/icons/target"), { loading }), - telescope: dynamic(() => import("lucide-react/dist/esm/icons/telescope"), { loading }), - "tent-tree": dynamic(() => import("lucide-react/dist/esm/icons/tent-tree"), { loading }), - tent: dynamic(() => import("lucide-react/dist/esm/icons/tent"), { loading }), - terminal: dynamic(() => import("lucide-react/dist/esm/icons/terminal"), { loading }), - "test-tube-diagonal": dynamic(() => import("lucide-react/dist/esm/icons/test-tube-diagonal"), { loading }), - "test-tube": dynamic(() => import("lucide-react/dist/esm/icons/test-tube"), { loading }), - "test-tubes": dynamic(() => import("lucide-react/dist/esm/icons/test-tubes"), { loading }), - "text-cursor-input": dynamic(() => import("lucide-react/dist/esm/icons/text-cursor-input"), { loading }), - "text-cursor": dynamic(() => import("lucide-react/dist/esm/icons/text-cursor"), { loading }), - "text-quote": dynamic(() => import("lucide-react/dist/esm/icons/text-quote"), { loading }), - "text-search": dynamic(() => import("lucide-react/dist/esm/icons/text-search"), { loading }), - "text-select": dynamic(() => import("lucide-react/dist/esm/icons/text-select"), { loading }), - text: dynamic(() => import("lucide-react/dist/esm/icons/text"), { loading }), - theater: dynamic(() => import("lucide-react/dist/esm/icons/theater"), { loading }), - "thermometer-snowflake": dynamic(() => import("lucide-react/dist/esm/icons/thermometer-snowflake"), { loading }), - "thermometer-sun": dynamic(() => import("lucide-react/dist/esm/icons/thermometer-sun"), { loading }), - thermometer: dynamic(() => import("lucide-react/dist/esm/icons/thermometer"), { loading }), - "thumbs-down": dynamic(() => import("lucide-react/dist/esm/icons/thumbs-down"), { loading }), - "thumbs-up": dynamic(() => import("lucide-react/dist/esm/icons/thumbs-up"), { loading }), - "ticket-check": dynamic(() => import("lucide-react/dist/esm/icons/ticket-check"), { loading }), - "ticket-minus": dynamic(() => import("lucide-react/dist/esm/icons/ticket-minus"), { loading }), - "ticket-percent": dynamic(() => import("lucide-react/dist/esm/icons/ticket-percent"), { loading }), - "ticket-plus": dynamic(() => import("lucide-react/dist/esm/icons/ticket-plus"), { loading }), - "ticket-slash": dynamic(() => import("lucide-react/dist/esm/icons/ticket-slash"), { loading }), - "ticket-x": dynamic(() => import("lucide-react/dist/esm/icons/ticket-x"), { loading }), - ticket: dynamic(() => import("lucide-react/dist/esm/icons/ticket"), { loading }), - "timer-off": dynamic(() => import("lucide-react/dist/esm/icons/timer-off"), { loading }), - "timer-reset": dynamic(() => import("lucide-react/dist/esm/icons/timer-reset"), { loading }), - timer: dynamic(() => import("lucide-react/dist/esm/icons/timer"), { loading }), - "toggle-left": dynamic(() => import("lucide-react/dist/esm/icons/toggle-left"), { loading }), - "toggle-right": dynamic(() => import("lucide-react/dist/esm/icons/toggle-right"), { loading }), - tornado: dynamic(() => import("lucide-react/dist/esm/icons/tornado"), { loading }), - torus: dynamic(() => import("lucide-react/dist/esm/icons/torus"), { loading }), - "touchpad-off": dynamic(() => import("lucide-react/dist/esm/icons/touchpad-off"), { loading }), - touchpad: dynamic(() => import("lucide-react/dist/esm/icons/touchpad"), { loading }), - "tower-control": dynamic(() => import("lucide-react/dist/esm/icons/tower-control"), { loading }), - "toy-brick": dynamic(() => import("lucide-react/dist/esm/icons/toy-brick"), { loading }), - tractor: dynamic(() => import("lucide-react/dist/esm/icons/tractor"), { loading }), - "traffic-cone": dynamic(() => import("lucide-react/dist/esm/icons/traffic-cone"), { loading }), - "train-front-tunnel": dynamic(() => import("lucide-react/dist/esm/icons/train-front-tunnel"), { loading }), - "train-front": dynamic(() => import("lucide-react/dist/esm/icons/train-front"), { loading }), - "train-track": dynamic(() => import("lucide-react/dist/esm/icons/train-track"), { loading }), - "tram-front": dynamic(() => import("lucide-react/dist/esm/icons/tram-front"), { loading }), - "trash-2": dynamic(() => import("lucide-react/dist/esm/icons/trash-2"), { loading }), - trash: dynamic(() => import("lucide-react/dist/esm/icons/trash"), { loading }), - "tree-deciduous": dynamic(() => import("lucide-react/dist/esm/icons/tree-deciduous"), { loading }), - "tree-palm": dynamic(() => import("lucide-react/dist/esm/icons/tree-palm"), { loading }), - "tree-pine": dynamic(() => import("lucide-react/dist/esm/icons/tree-pine"), { loading }), - trees: dynamic(() => import("lucide-react/dist/esm/icons/trees"), { loading }), - trello: dynamic(() => import("lucide-react/dist/esm/icons/trello"), { loading }), - "trending-down": dynamic(() => import("lucide-react/dist/esm/icons/trending-down"), { loading }), - "trending-up": dynamic(() => import("lucide-react/dist/esm/icons/trending-up"), { loading }), - "triangle-alert": dynamic(() => import("lucide-react/dist/esm/icons/triangle-alert"), { loading }), - "triangle-right": dynamic(() => import("lucide-react/dist/esm/icons/triangle-right"), { loading }), - triangle: dynamic(() => import("lucide-react/dist/esm/icons/triangle"), { loading }), - trophy: dynamic(() => import("lucide-react/dist/esm/icons/trophy"), { loading }), - truck: dynamic(() => import("lucide-react/dist/esm/icons/truck"), { loading }), - turtle: dynamic(() => import("lucide-react/dist/esm/icons/turtle"), { loading }), - "tv-2": dynamic(() => import("lucide-react/dist/esm/icons/tv-2"), { loading }), - tv: dynamic(() => import("lucide-react/dist/esm/icons/tv"), { loading }), - twitch: dynamic(() => import("lucide-react/dist/esm/icons/twitch"), { loading }), - twitter: dynamic(() => import("lucide-react/dist/esm/icons/twitter"), { loading }), - type: dynamic(() => import("lucide-react/dist/esm/icons/type"), { loading }), - "umbrella-off": dynamic(() => import("lucide-react/dist/esm/icons/umbrella-off"), { loading }), - umbrella: dynamic(() => import("lucide-react/dist/esm/icons/umbrella"), { loading }), - underline: dynamic(() => import("lucide-react/dist/esm/icons/underline"), { loading }), - "undo-2": dynamic(() => import("lucide-react/dist/esm/icons/undo-2"), { loading }), - "undo-dot": dynamic(() => import("lucide-react/dist/esm/icons/undo-dot"), { loading }), - undo: dynamic(() => import("lucide-react/dist/esm/icons/undo"), { loading }), - "unfold-horizontal": dynamic(() => import("lucide-react/dist/esm/icons/unfold-horizontal"), { loading }), - "unfold-vertical": dynamic(() => import("lucide-react/dist/esm/icons/unfold-vertical"), { loading }), - ungroup: dynamic(() => import("lucide-react/dist/esm/icons/ungroup"), { loading }), - university: dynamic(() => import("lucide-react/dist/esm/icons/university"), { loading }), - "unlink-2": dynamic(() => import("lucide-react/dist/esm/icons/unlink-2"), { loading }), - unlink: dynamic(() => import("lucide-react/dist/esm/icons/unlink"), { loading }), - unplug: dynamic(() => import("lucide-react/dist/esm/icons/unplug"), { loading }), - upload: dynamic(() => import("lucide-react/dist/esm/icons/upload"), { loading }), - usb: dynamic(() => import("lucide-react/dist/esm/icons/usb"), { loading }), - "user-check": dynamic(() => import("lucide-react/dist/esm/icons/user-check"), { loading }), - "user-cog": dynamic(() => import("lucide-react/dist/esm/icons/user-cog"), { loading }), - "user-minus": dynamic(() => import("lucide-react/dist/esm/icons/user-minus"), { loading }), - "user-plus": dynamic(() => import("lucide-react/dist/esm/icons/user-plus"), { loading }), - "user-round-check": dynamic(() => import("lucide-react/dist/esm/icons/user-round-check"), { loading }), - "user-round-cog": dynamic(() => import("lucide-react/dist/esm/icons/user-round-cog"), { loading }), - "user-round-minus": dynamic(() => import("lucide-react/dist/esm/icons/user-round-minus"), { loading }), - "user-round-plus": dynamic(() => import("lucide-react/dist/esm/icons/user-round-plus"), { loading }), - "user-round-search": dynamic(() => import("lucide-react/dist/esm/icons/user-round-search"), { loading }), - "user-round-x": dynamic(() => import("lucide-react/dist/esm/icons/user-round-x"), { loading }), - "user-round": dynamic(() => import("lucide-react/dist/esm/icons/user-round"), { loading }), - "user-search": dynamic(() => import("lucide-react/dist/esm/icons/user-search"), { loading }), - "user-x": dynamic(() => import("lucide-react/dist/esm/icons/user-x"), { loading }), - user: dynamic(() => import("lucide-react/dist/esm/icons/user"), { loading }), - "users-round": dynamic(() => import("lucide-react/dist/esm/icons/users-round"), { loading }), - users: dynamic(() => import("lucide-react/dist/esm/icons/users"), { loading }), - "utensils-crossed": dynamic(() => import("lucide-react/dist/esm/icons/utensils-crossed"), { loading }), - utensils: dynamic(() => import("lucide-react/dist/esm/icons/utensils"), { loading }), - "utility-pole": dynamic(() => import("lucide-react/dist/esm/icons/utility-pole"), { loading }), - variable: dynamic(() => import("lucide-react/dist/esm/icons/variable"), { loading }), - vault: dynamic(() => import("lucide-react/dist/esm/icons/vault"), { loading }), - vegan: dynamic(() => import("lucide-react/dist/esm/icons/vegan"), { loading }), - "venetian-mask": dynamic(() => import("lucide-react/dist/esm/icons/venetian-mask"), { loading }), - "vibrate-off": dynamic(() => import("lucide-react/dist/esm/icons/vibrate-off"), { loading }), - vibrate: dynamic(() => import("lucide-react/dist/esm/icons/vibrate"), { loading }), - "video-off": dynamic(() => import("lucide-react/dist/esm/icons/video-off"), { loading }), - video: dynamic(() => import("lucide-react/dist/esm/icons/video"), { loading }), - videotape: dynamic(() => import("lucide-react/dist/esm/icons/videotape"), { loading }), - view: dynamic(() => import("lucide-react/dist/esm/icons/view"), { loading }), - voicemail: dynamic(() => import("lucide-react/dist/esm/icons/voicemail"), { loading }), - "volume-1": dynamic(() => import("lucide-react/dist/esm/icons/volume-1"), { loading }), - "volume-2": dynamic(() => import("lucide-react/dist/esm/icons/volume-2"), { loading }), - "volume-x": dynamic(() => import("lucide-react/dist/esm/icons/volume-x"), { loading }), - volume: dynamic(() => import("lucide-react/dist/esm/icons/volume"), { loading }), - vote: dynamic(() => import("lucide-react/dist/esm/icons/vote"), { loading }), - "wallet-cards": dynamic(() => import("lucide-react/dist/esm/icons/wallet-cards"), { loading }), - "wallet-minimal": dynamic(() => import("lucide-react/dist/esm/icons/wallet-minimal"), { loading }), - wallet: dynamic(() => import("lucide-react/dist/esm/icons/wallet"), { loading }), - wallpaper: dynamic(() => import("lucide-react/dist/esm/icons/wallpaper"), { loading }), - "wand-sparkles": dynamic(() => import("lucide-react/dist/esm/icons/wand-sparkles"), { loading }), - wand: dynamic(() => import("lucide-react/dist/esm/icons/wand"), { loading }), - warehouse: dynamic(() => import("lucide-react/dist/esm/icons/warehouse"), { loading }), - "washing-machine": dynamic(() => import("lucide-react/dist/esm/icons/washing-machine"), { loading }), - watch: dynamic(() => import("lucide-react/dist/esm/icons/watch"), { loading }), - waves: dynamic(() => import("lucide-react/dist/esm/icons/waves"), { loading }), - waypoints: dynamic(() => import("lucide-react/dist/esm/icons/waypoints"), { loading }), - webcam: dynamic(() => import("lucide-react/dist/esm/icons/webcam"), { loading }), - "webhook-off": dynamic(() => import("lucide-react/dist/esm/icons/webhook-off"), { loading }), - webhook: dynamic(() => import("lucide-react/dist/esm/icons/webhook"), { loading }), - weight: dynamic(() => import("lucide-react/dist/esm/icons/weight"), { loading }), - "wheat-off": dynamic(() => import("lucide-react/dist/esm/icons/wheat-off"), { loading }), - wheat: dynamic(() => import("lucide-react/dist/esm/icons/wheat"), { loading }), - "whole-word": dynamic(() => import("lucide-react/dist/esm/icons/whole-word"), { loading }), - "wifi-off": dynamic(() => import("lucide-react/dist/esm/icons/wifi-off"), { loading }), - wifi: dynamic(() => import("lucide-react/dist/esm/icons/wifi"), { loading }), - wind: dynamic(() => import("lucide-react/dist/esm/icons/wind"), { loading }), - "wine-off": dynamic(() => import("lucide-react/dist/esm/icons/wine-off"), { loading }), - wine: dynamic(() => import("lucide-react/dist/esm/icons/wine"), { loading }), - workflow: dynamic(() => import("lucide-react/dist/esm/icons/workflow"), { loading }), - worm: dynamic(() => import("lucide-react/dist/esm/icons/worm"), { loading }), - "wrap-text": dynamic(() => import("lucide-react/dist/esm/icons/wrap-text"), { loading }), - wrench: dynamic(() => import("lucide-react/dist/esm/icons/wrench"), { loading }), - x: dynamic(() => import("lucide-react/dist/esm/icons/x"), { loading }), - youtube: dynamic(() => import("lucide-react/dist/esm/icons/youtube"), { loading }), - "zap-off": dynamic(() => import("lucide-react/dist/esm/icons/zap-off"), { loading }), - zap: dynamic(() => import("lucide-react/dist/esm/icons/zap"), { loading }), - "zoom-in": dynamic(() => import("lucide-react/dist/esm/icons/zoom-in"), { loading }), - "zoom-out": dynamic(() => import("lucide-react/dist/esm/icons/zoom-out"), { loading }), -}; diff --git a/packages/ui/components/icon/icon-list.mjs b/packages/ui/components/icon/icon-list.mjs new file mode 100644 index 0000000000..19196c5378 --- /dev/null +++ b/packages/ui/components/icon/icon-list.mjs @@ -0,0 +1,139 @@ +// icon name from lucide-react +// this list is extracted based on what icons are currently used +export const lucideIconList = new Set([ + "activity", + "arrow-down", + "arrow-left", + "arrow-right", + "arrow-up-right", + "arrow-up", + "asterisk", + "at-sign", + "atom", + "badge-check", + "ban", + "bell", + "bold", + "book-open-check", + "book-open", + "book-user", + "building", + "calendar-check-2", + "calendar-heart", + "calendar-search", + "calendar-x-2", + "calendar", + "chart-bar", + "chart-line", + "check-check", + "check", + "chevron-down", + "chevron-left", + "chevron-right", + "chevron-up", + "chevrons-left", + "chevrons-right", + "circle-alert", + "circle-arrow-up", + "circle-check-big", + "circle-check", + "circle-help", + "circle-x", + "circle", + "clipboard-check", + "clipboard", + "clipboard", + "clock", + "code", + "columns-3", + "command", + "contact", + "copy", + "corner-down-left", + "corner-down-right", + "credit-card", + "dot", + "download", + "ellipsis-vertical", + "ellipsis", + "external-link", + "eye-off", + "eye", + "file-down", + "file-text", + "file", + "filter", + "fingerprint", + "flag", + "folder", + "git-merge", + "github", + "globe", + "grid-3x3", + "handshake", + "info", + "italic", + "key", + "layers", + "layout-dashboard", + "link-2", + "link", + "loader", + "lock-open", + "lock", + "log-out", + "mail-open", + "mail", + "map-pin", + "map", + "menu", + "message-circle", + "messages-square", + "moon", + "paintbrush", + "paperclip", + "pencil", + "pencil", + "phone-call", + "phone", + "plus", + "refresh-ccw", + "refresh-cw", + "repeat", + "rocket", + "rotate-ccw", + "rotate-cw", + "search", + "send", + "settings", + "share-2", + "shield-check", + "shield", + "shuffle", + "sliders-vertical", + "smartphone", + "sparkles", + "square-check", + "star", + "sun", + "sunrise", + "sunset", + "terminal", + "terminal", + "trash-2", + "trash", + "trash", + "trello", + "triangle-alert", + "upload", + "user-check", + "user-plus", + "user-x", + "user", + "users", + "venetian-mask", + "video", + "webhook", + "x", + "zap", +]); diff --git a/packages/ui/components/icon/icon-names.ts b/packages/ui/components/icon/icon-names.ts new file mode 100644 index 0000000000..3862f97fec --- /dev/null +++ b/packages/ui/components/icon/icon-names.ts @@ -0,0 +1,134 @@ +// This file is generated by yarn run build:icons + +export type IconName = + | "activity" + | "arrow-down" + | "arrow-left" + | "arrow-right" + | "arrow-up-right" + | "arrow-up" + | "asterisk" + | "at-sign" + | "atom" + | "badge-check" + | "ban" + | "bell" + | "bold" + | "book-open-check" + | "book-open" + | "book-user" + | "building" + | "calendar-check-2" + | "calendar-heart" + | "calendar-search" + | "calendar-x-2" + | "calendar" + | "chart-bar" + | "chart-line" + | "check-check" + | "check" + | "chevron-down" + | "chevron-left" + | "chevron-right" + | "chevron-up" + | "chevrons-left" + | "chevrons-right" + | "circle-alert" + | "circle-arrow-up" + | "circle-check-big" + | "circle-check" + | "circle-help" + | "circle-x" + | "circle" + | "clipboard-check" + | "clipboard" + | "clock" + | "code" + | "columns-3" + | "command" + | "contact" + | "copy" + | "corner-down-left" + | "corner-down-right" + | "credit-card" + | "dot" + | "download" + | "ellipsis-vertical" + | "ellipsis" + | "external-link" + | "eye-off" + | "eye" + | "file-down" + | "file-text" + | "file" + | "filter" + | "fingerprint" + | "flag" + | "folder" + | "git-merge" + | "github" + | "globe" + | "grid-3x3" + | "handshake" + | "info" + | "italic" + | "key" + | "layers" + | "layout-dashboard" + | "link-2" + | "link" + | "loader" + | "lock-open" + | "lock" + | "log-out" + | "mail-open" + | "mail" + | "map-pin" + | "map" + | "menu" + | "message-circle" + | "messages-square" + | "moon" + | "paintbrush" + | "paperclip" + | "pencil" + | "phone-call" + | "phone" + | "plus" + | "refresh-ccw" + | "refresh-cw" + | "repeat" + | "rocket" + | "rotate-ccw" + | "rotate-cw" + | "search" + | "send" + | "settings" + | "share-2" + | "shield-check" + | "shield" + | "shuffle" + | "sliders-vertical" + | "smartphone" + | "sparkles" + | "square-check" + | "star" + | "sun" + | "sunrise" + | "sunset" + | "terminal" + | "trash-2" + | "trash" + | "trello" + | "triangle-alert" + | "upload" + | "user-check" + | "user-plus" + | "user-x" + | "user" + | "users" + | "venetian-mask" + | "video" + | "webhook" + | "x" + | "zap"; diff --git a/packages/ui/components/top-banner/TopBanner.tsx b/packages/ui/components/top-banner/TopBanner.tsx index 90e478cae8..bd21f9d63c 100644 --- a/packages/ui/components/top-banner/TopBanner.tsx +++ b/packages/ui/components/top-banner/TopBanner.tsx @@ -1,5 +1,4 @@ import classNames from "classnames"; -import type { LucideProps } from "lucide-react"; import type { ReactNode } from "react"; import { TOP_BANNER_HEIGHT } from "@calcom/lib/constants"; @@ -21,8 +20,7 @@ const variantClassName = { const defaultIconProps = { className: "text-emphasis h-4 w-4 stroke-[2.5px]", - "aria-hidden": "true", -} as LucideProps; +}; export function TopBanner(props: TopBannerProps) { const { icon, variant = "default", text, actions } = props; diff --git a/packages/ui/index.tsx b/packages/ui/index.tsx index a39b2f7417..4d1e9313c5 100644 --- a/packages/ui/index.tsx +++ b/packages/ui/index.tsx @@ -199,4 +199,4 @@ export type { OrgBannerProps } from "./components/organization-banner"; export { StorybookTrpcProvider } from "./components/mocks/trpc"; export { default as Icon } from "./components/icon/Icon"; -export type { IconName } from "./components/icon/dynamicIconImports"; +export type { IconName } from "./components/icon/icon-names"; diff --git a/packages/ui/package.json b/packages/ui/package.json index 83d892e760..bdacfbe146 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -20,7 +20,8 @@ "type-check": "tsc --pretty --noEmit", "type-check:ci": "tsc-absolute --pretty --noEmit", "lint:fix": "eslint . --fix", - "lint:report": "eslint . --format json --output-file ../../lint-results/ui.json" + "lint:report": "eslint . --format json --output-file ../../lint-results/ui.json", + "build:icons": "node ./scripts/build-icons.mjs" }, "dependencies": { "@calcom/lib": "*", @@ -41,13 +42,11 @@ "cmk": "^0.1.1", "date-fns": "^3.6.0", "downshift": "^6.1.9", - "lucide-react": "^0.364.0", "next": "^13.5.4", "next-seo": "^6.0.0", "react": "^18.2.0", "react-colorful": "^5.6.0", "react-day-picker": "^8.10.1", - "react-feather": "^2.0.10", "react-hook-form": "^7.43.3", "react-select": "^5.7.0", "react-virtual": "^2.10.4" @@ -57,6 +56,11 @@ "@calcom/tsconfig": "*", "@types/react": "18.0.26", "@types/react-dom": "^18.0.9", + "execa": "^9.3.0", + "fast-glob": "^3.3.2", + "fs-extra": "^11.2.0", + "lucide-static": "^0.424.0", + "node-html-parser": "^6.1.13", "typescript": "^4.9.4" } } diff --git a/packages/ui/scripts/build-icons.mjs b/packages/ui/scripts/build-icons.mjs new file mode 100644 index 0000000000..fabf7df0fc --- /dev/null +++ b/packages/ui/scripts/build-icons.mjs @@ -0,0 +1,126 @@ +// this script is based on https://github.com/epicweb-dev/epic-stack/blob/main/other/build-icons.ts +// +import { $ } from "execa"; +import glob from "fast-glob"; +import fsExtra from "fs-extra"; +import { parse } from "node-html-parser"; +import * as path from "node:path"; + +import { copyIcons, removeTempDir } from "./generate-icons.mjs"; + +const cwd = process.cwd(); +const inputDir = path.join(cwd, "svg-icons"); +const inputDirRelative = path.relative(cwd, inputDir); +const typesDir = path.join(cwd, "components", "icon"); +const outputDir = path.join(cwd, "../../", "apps", "web", "public", "icons"); + +const shouldVerboseLog = process.argv.includes("--log=verbose"); +const logVerbose = shouldVerboseLog ? console.log : () => {}; + +async function generateIconFiles() { + const files = glob + .sync("**/*.svg", { + cwd: inputDir, + }) + .sort((a, b) => a.localeCompare(b)); + + await fsExtra.ensureDir(outputDir); + + const spriteFilepath = path.join(outputDir, "sprite.svg"); + const typeOutputFilepath = path.join(typesDir, "icon-names.ts"); + const currentSprite = await fsExtra.readFile(spriteFilepath, "utf8").catch(() => ""); + const currentTypes = await fsExtra.readFile(typeOutputFilepath, "utf8").catch(() => ""); + + const iconNames = files.map((file) => iconName(file)); + + const spriteUpToDate = iconNames.every((name) => currentSprite.includes(`id=${name}`)); + const typesUpToDate = iconNames.every((name) => currentTypes.includes(`"${name}"`)); + + if (spriteUpToDate && typesUpToDate) { + logVerbose(`Icons are up to date`); + return; + } + + logVerbose(`Generating sprite for ${inputDirRelative}`); + + const spriteChanged = await generateSvgSprite({ + files, + inputDir, + outputPath: spriteFilepath, + }); + + for (const file of files) { + logVerbose("✅", file); + } + logVerbose(`Saved to ${path.relative(cwd, spriteFilepath)}`); + + const stringifiedIconNames = iconNames.map((name) => JSON.stringify(name)); + + const typeOutputContent = `// This file is generated by yarn run build:icons + +export type IconName = +\t| ${stringifiedIconNames.join("\n\t| ")}; +`; + const typesChanged = await writeIfChanged(typeOutputFilepath, typeOutputContent); + + logVerbose(`Manifest saved to ${path.relative(cwd, typeOutputFilepath)}`); + + if (spriteChanged || typesChanged) { + console.log(`Generated ${files.length} icons`); + } +} + +function iconName(file) { + return file.replace(/\.svg$/, ""); +} + +/** + * Creates a single SVG file that contains all the icons + */ +async function generateSvgSprite({ files, inputDir, outputPath }) { + // Each SVG becomes a symbol and we wrap them all in a single SVG + const symbols = await Promise.all( + files.map(async (file) => { + const input = await fsExtra.readFile(path.join(inputDir, file), "utf8"); + const root = parse(input); + + const svg = root.querySelector("svg"); + if (!svg) throw new Error("No SVG element found"); + + svg.tagName = "symbol"; + svg.setAttribute("id", iconName(file)); + svg.removeAttribute("xmlns"); + svg.removeAttribute("xmlns:xlink"); + svg.removeAttribute("version"); + svg.removeAttribute("width"); + svg.removeAttribute("height"); + + return svg.toString().trim(); + }) + ); + + const output = [ + ``, + ``, + ``, + ``, // for semantics: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs + ...symbols, + ``, + ``, + "", // trailing newline + ].join("\n"); + + return writeIfChanged(outputPath, output); +} + +async function writeIfChanged(filepath, newContent) { + const currentContent = await fsExtra.readFile(filepath, "utf8").catch(() => ""); + if (currentContent === newContent) return false; + await fsExtra.writeFile(filepath, newContent, "utf8"); + await $`prettier --write ${filepath} --ignore-unknown`; + return true; +} + +await copyIcons(); +await generateIconFiles(); +await removeTempDir(); diff --git a/packages/ui/scripts/generate-icons.mjs b/packages/ui/scripts/generate-icons.mjs new file mode 100644 index 0000000000..87e14831d7 --- /dev/null +++ b/packages/ui/scripts/generate-icons.mjs @@ -0,0 +1,34 @@ +import glob from "fast-glob"; +import fs from "fs-extra"; +import path from "node:path"; + +import { lucideIconList } from "../components/icon/icon-list.mjs"; + +const cwd = process.cwd(); +const inputDir = path.join(cwd, "../../", "node_modules", "lucide-static", "icons"); +const tempDir = path.join(cwd, "svg-icons"); + +export async function copyIcons() { + fs.ensureDirSync(tempDir); + + const svgIcons = glob.sync("**/*.svg", { + cwd: inputDir, + }); + + for (const icon of svgIcons) { + if (lucideIconList.has(icon.replace(".svg", ""))) { + const destinationFile = path.join(tempDir, icon); + const file = path.join(inputDir, icon); + try { + fs.copyFileSync(file, destinationFile); + console.log(`Copied icon: ${icon}`); + } catch (err) { + console.error(`Error copying file: ${icon}`, err); + } + } + } +} + +export const removeTempDir = async () => { + await fs.remove(tempDir); +}; diff --git a/yarn.lock b/yarn.lock index e2bc22e18c..fdb8746c5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4286,7 +4286,7 @@ __metadata: languageName: unknown linkType: soft -"@calcom/atoms@*, @calcom/atoms@workspace:packages/platform/atoms": +"@calcom/atoms@*, @calcom/atoms@workspace:^, @calcom/atoms@workspace:packages/platform/atoms": version: 0.0.0-use.local resolution: "@calcom/atoms@workspace:packages/platform/atoms" dependencies: @@ -4306,7 +4306,6 @@ __metadata: class-variance-authority: ^0.4.0 clsx: ^2.0.0 jest: ^29.7.0 - lucide-react: ^0.364.0 postcss: ^8.4.38 postcss-import: ^16.1.0 postcss-prefixer: ^3.0.0 @@ -4466,17 +4465,17 @@ __metadata: "@heroicons/react": ^1.0.6 "@prisma/client": ^5.4.2 "@tailwindcss/forms": ^0.5.2 - "@types/node": 16.9.1 + "@types/node": ^20.3.1 "@types/react": 18.0.26 - autoprefixer: ^10.4.12 + autoprefixer: ^10.4.19 chart.js: ^3.7.1 client-only: ^0.0.1 eslint: ^8.34.0 - next: ^13.5.4 + next: ^14.1.3 next-auth: ^4.22.1 next-i18next: ^13.2.2 - postcss: ^8.4.18 - prisma: ^5.4.2 + postcss: ^8.4.38 + prisma: ^5.7.1 prisma-field-encryption: ^1.4.0 react: ^18.2.0 react-chartjs-2: ^4.0.1 @@ -4485,7 +4484,7 @@ __metadata: react-live-chat-loader: ^2.8.1 swr: ^1.2.2 tailwindcss: ^3.3.3 - typescript: ^4.9.4 + typescript: ^5.3.3 zod: ^3.22.4 languageName: unknown linkType: soft @@ -5510,13 +5509,16 @@ __metadata: cmk: ^0.1.1 date-fns: ^3.6.0 downshift: ^6.1.9 - lucide-react: ^0.364.0 + execa: ^9.3.0 + fast-glob: ^3.3.2 + fs-extra: ^11.2.0 + lucide-static: ^0.424.0 next: ^13.5.4 next-seo: ^6.0.0 + node-html-parser: ^6.1.13 react: ^18.2.0 react-colorful: ^5.6.0 react-day-picker: ^8.10.1 - react-feather: ^2.0.10 react-hook-form: ^7.43.3 react-select: ^5.7.0 react-virtual: ^2.10.4 @@ -5688,7 +5690,6 @@ __metadata: react-digit-input: ^2.1.0 react-dom: ^18.2.0 react-easy-crop: ^3.5.2 - react-feather: ^2.0.10 react-hook-form: ^7.43.3 react-hot-toast: ^2.3.0 react-intl: ^5.25.1 @@ -5736,6 +5737,7 @@ __metadata: dependencies: "@algora/sdk": ^0.1.2 "@calcom/app-store": "*" + "@calcom/atoms": "workspace:^" "@calcom/config": "*" "@calcom/dayjs": "*" "@calcom/embed-react": "workspace:^" @@ -5766,22 +5768,23 @@ __metadata: "@radix-ui/react-tabs": ^1.0.0 "@radix-ui/react-tooltip": ^1.0.0 "@stripe/stripe-js": ^1.35.0 - "@tanstack/react-query": ^4.3.9 + "@tanstack/react-query": ^5.17.15 "@typeform/embed-react": ^1.2.4 "@types/bcryptjs": ^2.4.2 "@types/debounce": ^1.2.1 "@types/gtag.js": ^0.0.10 "@types/micro": 7.3.7 - "@types/node": 16.9.1 + "@types/node": ^20.3.1 "@types/react": 18.0.26 "@types/react-gtm-module": ^2.0.1 "@types/xml2js": ^0.4.11 "@vercel/analytics": ^0.1.6 "@vercel/edge-functions-ui": ^0.2.1 "@vercel/og": ^0.5.0 - autoprefixer: ^10.4.12 + autoprefixer: ^10.4.19 bcryptjs: ^2.4.3 - clsx: ^1.2.1 + class-variance-authority: ^0.7.0 + clsx: ^2.0.0 cobe: ^0.4.1 concurrently: ^7.6.0 cross-env: ^7.0.3 @@ -5793,6 +5796,7 @@ __metadata: env-cmd: ^10.1.0 eslint: ^8.34.0 fathom-client: ^3.5.0 + framer-motion: ^11.0.25 globby: ^13.1.3 graphql: ^16.8.0 graphql-codegen: ^0.4.0 @@ -5802,7 +5806,7 @@ __metadata: i18n-unused: ^0.13.0 iframe-resizer-react: ^1.1.0 keen-slider: ^6.8.0 - lucide-react: ^0.171.0 + lucide-react: ^0.364.0 micro: ^10.0.1 next: ^14.1.3 next-auth: ^4.22.1 @@ -5810,11 +5814,11 @@ __metadata: next-i18next: ^13.2.2 next-seo: ^6.0.0 playwright-core: ^1.38.1 - postcss: ^8.4.18 + postcss: ^8.4.38 prism-react-renderer: ^1.3.5 react: ^18.2.0 react-confetti: ^6.0.1 - react-datocms: ^3.1.0 + react-datocms: ^5.0.3 react-device-detect: ^2.2.2 react-dom: ^18.2.0 react-fast-marquee: ^1.6.4 @@ -5824,21 +5828,23 @@ __metadata: react-live-chat-loader: ^2.8.1 react-markdown: ^9.0.1 react-merge-refs: 1.1.0 + react-parallax-tilt: ^1.7.226 react-resize-detector: ^9.1.0 react-twemoji: ^0.3.0 + react-twitter-embed: ^4.0.4 react-use-measure: ^2.1.1 react-wrap-balancer: ^1.0.0 remark: ^14.0.2 remark-html: ^14.0.1 remeda: ^1.24.1 - stripe: ^9.16.0 + stripe: ^15.3.0 tailwind-merge: ^1.13.2 tailwindcss: ^3.3.3 ts-node: ^10.9.1 - typescript: ^4.9.4 + typescript: ^5.3.3 wait-on: ^7.0.1 xml2js: ^0.6.0 - zod: ^3.22.2 + zod: ^3.22.4 languageName: unknown linkType: soft @@ -7392,18 +7398,19 @@ __metadata: linkType: hard "@graphql-tools/delegate@npm:^10.0.4": - version: 10.0.17 - resolution: "@graphql-tools/delegate@npm:10.0.17" + version: 10.0.18 + resolution: "@graphql-tools/delegate@npm:10.0.18" dependencies: "@graphql-tools/batch-execute": ^9.0.4 - "@graphql-tools/executor": ^1.3.0 + "@graphql-tools/executor": ^1.3.1 "@graphql-tools/schema": ^10.0.4 - "@graphql-tools/utils": ^10.2.3 + "@graphql-tools/utils": ^10.3.4 + "@repeaterjs/repeater": ^3.0.6 dataloader: ^2.2.2 tslib: ^2.5.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: ce99b064bfb3f506df6dbe7f94358890710c8e1b4fe95cb9d59a4d6c7fc5b37aaae592d2be97747b530bf94241f45694e2ab41a32847b67f5d08fea488404795 + checksum: 7b4d52996a5dadf5d9fe72aec4d248bf2fc4a91c088d71fd0f86a04ceabe975c5eb96b8b750a621627e7528bb025d44bf67c3a63b85bf8289d51ca2bf80edeb2 languageName: node linkType: hard @@ -7467,18 +7474,18 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor@npm:^1.3.0": - version: 1.3.0 - resolution: "@graphql-tools/executor@npm:1.3.0" +"@graphql-tools/executor@npm:^1.3.1": + version: 1.3.1 + resolution: "@graphql-tools/executor@npm:1.3.1" dependencies: - "@graphql-tools/utils": ^10.2.3 + "@graphql-tools/utils": ^10.3.4 "@graphql-typed-document-node/core": 3.2.0 "@repeaterjs/repeater": ^3.0.4 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 416bd4e8d646374561fb29b243cc009217f9138ee96f4e4cbbedb6ad9fc228bea015defbf92d5389f792f4c6e66f5ac5361a7453a297e89743ff5f865e40ca56 + checksum: 709f4660850236ccfcf9ef13b0479d19cea2af9a7dd3ffe60457117c0c5e8e31e2e3d89c38183fe65062ee4e6b4f60a484b98121982c6283c4c518a2c59d2003 languageName: node linkType: hard @@ -7687,17 +7694,17 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.13, @graphql-tools/utils@npm:^10.1.1, @graphql-tools/utils@npm:^10.2.1, @graphql-tools/utils@npm:^10.2.3, @graphql-tools/utils@npm:^10.3.0, @graphql-tools/utils@npm:^10.3.2": - version: 10.3.2 - resolution: "@graphql-tools/utils@npm:10.3.2" +"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.13, @graphql-tools/utils@npm:^10.1.1, @graphql-tools/utils@npm:^10.2.1, @graphql-tools/utils@npm:^10.3.0, @graphql-tools/utils@npm:^10.3.2, @graphql-tools/utils@npm:^10.3.4": + version: 10.3.4 + resolution: "@graphql-tools/utils@npm:10.3.4" dependencies: "@graphql-typed-document-node/core": ^3.1.1 - cross-inspect: 1.0.0 + cross-inspect: 1.0.1 dset: ^3.1.2 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 58f67cc8ed4d642a0bd52e0b41c68fc055b1e71e67387926694a6b4d744f1352e9261408948528ba22cf212580c0cf4bf9f830fb8120cf56b456a2f08d20b246 + checksum: 906f58ad8c9ec18251b997f10cedbc223192f7652603cff0247ffac1d418a72429d6797c8aceee2adaab856d743fed3e044566fa49ff4ff4bf5430cda6bbc821 languageName: node linkType: hard @@ -9246,6 +9253,59 @@ __metadata: languageName: node linkType: hard +"@mux/mux-player-react@npm:*": + version: 2.9.1 + resolution: "@mux/mux-player-react@npm:2.9.1" + dependencies: + "@mux/mux-player": 2.9.1 + "@mux/playback-core": 0.25.2 + prop-types: ^15.7.2 + peerDependencies: + "@types/react": ^17.0.0 || ^18 || ^19 + react: ^17.0.2 || ^18 || ^19 + react-dom: ^17.0.2 || ^18 || ^19 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: bee10ae2a1cf3279d9180020ed4e48a878b3277db98be00c41a143bd0c046066913f030d2c0088923dbc52c2f44c4cf3b7107688caa38b5662f093397ec7ba94 + languageName: node + linkType: hard + +"@mux/mux-player@npm:2.9.1": + version: 2.9.1 + resolution: "@mux/mux-player@npm:2.9.1" + dependencies: + "@mux/mux-video": 0.20.2 + "@mux/playback-core": 0.25.2 + media-chrome: ~3.2.5 + checksum: 21315a5277f17a595741890c4b16149fb05260075f63b25a51fba568aa395de35210fda95b4321025cc3ad093507ceac2e6c4080f378a6f910cc2b37206a4160 + languageName: node + linkType: hard + +"@mux/mux-video@npm:0.20.2": + version: 0.20.2 + resolution: "@mux/mux-video@npm:0.20.2" + dependencies: + "@mux/playback-core": 0.25.2 + castable-video: ~1.0.9 + custom-media-element: ~1.3.1 + media-tracks: ~0.3.2 + checksum: 58702a90b6c75c0525ef0c533500460fe6b24e9624f4e52d9a07a8a9e2fb132d0d734e823c390fe63d220c6a7b3377422c766a17bfaafe8c9ff527dfc28a0a38 + languageName: node + linkType: hard + +"@mux/playback-core@npm:0.25.2": + version: 0.25.2 + resolution: "@mux/playback-core@npm:0.25.2" + dependencies: + hls.js: ~1.5.11 + mux-embed: ~5.2.0 + checksum: 29e1950d605f3f2cc2511f325b94d40b0467f82e7974e7619f135617e6b6dd3424da9282cb01e63a7215029dd3c9ac560b5a208b44531120835bf6244392dbb1 + languageName: node + linkType: hard + "@ndelangen/get-tarball@npm:^3.0.7": version: 3.0.9 resolution: "@ndelangen/get-tarball@npm:3.0.9" @@ -10925,10 +10985,10 @@ __metadata: languageName: node linkType: hard -"@prisma/debug@npm:5.17.0": - version: 5.17.0 - resolution: "@prisma/debug@npm:5.17.0" - checksum: 2546dc6e94d4b1b95fb78ade1a6c33fc6fed73cb8ffcd00c54a7d70a46d50f5612f892d2760b244ad5a5b5f921b6f6fcf0f32430f34b5cceef4fd7a6dbf9e451 +"@prisma/debug@npm:5.18.0": + version: 5.18.0 + resolution: "@prisma/debug@npm:5.18.0" + checksum: 893f74f20f468abd7a7151ec200c3c250c529991eb614293d983d731e1e1b800cb78161f4984dea8e847ee10c1dd9672c31dedf10e6f18d11e67700478683ac9 languageName: node linkType: hard @@ -11108,11 +11168,11 @@ __metadata: linkType: hard "@prisma/generator-helper@npm:^5.9.1": - version: 5.17.0 - resolution: "@prisma/generator-helper@npm:5.17.0" + version: 5.18.0 + resolution: "@prisma/generator-helper@npm:5.18.0" dependencies: - "@prisma/debug": 5.17.0 - checksum: 0fc35a614d7822b1fdbd84380ebe0b91d9e847fa72b01382d368f5d56ded69cd231146249d4f343b9456975a9022d69f0224b34a8620beac27a1740ec2872df6 + "@prisma/debug": 5.18.0 + checksum: 14b252e1112f107294d97539bce282214cfe2ae40a3f018b5b55e79fb126d0a5ef64879da861c60d3e288bb1a0a96442f61e7d562f584aa7e9fab86656c310e5 languageName: node linkType: hard @@ -13363,7 +13423,7 @@ __metadata: languageName: node linkType: hard -"@repeaterjs/repeater@npm:^3.0.4": +"@repeaterjs/repeater@npm:^3.0.4, @repeaterjs/repeater@npm:^3.0.6": version: 3.0.6 resolution: "@repeaterjs/repeater@npm:3.0.6" checksum: aae878b953162bec77c94b45f2236ddfc01a65308267c7cb30220fa2f8511654a302c0d32aad228c58241d685607d7bb35b6d528b2879355e6636ff08fddb266 @@ -13821,6 +13881,13 @@ __metadata: languageName: node linkType: hard +"@sec-ant/readable-stream@npm:^0.4.1": + version: 0.4.1 + resolution: "@sec-ant/readable-stream@npm:0.4.1" + checksum: eb56f72a70995f725269f1c1c206d6dbeb090e88413b1302a456c600041175a7a484c2f0172454f7bed65a8ab95ffed7647d8ad03e6c23b1e3bbc9845f78cd17 + languageName: node + linkType: hard + "@sendgrid/client@npm:^7.7.0": version: 7.7.0 resolution: "@sendgrid/client@npm:7.7.0" @@ -14326,6 +14393,13 @@ __metadata: languageName: node linkType: hard +"@sindresorhus/merge-streams@npm:^4.0.0": + version: 4.0.0 + resolution: "@sindresorhus/merge-streams@npm:4.0.0" + checksum: 5759d31dfd822999bbe3ddcf72d4b15dc3d99ea51dd5b3210888f3348234eaff0f44bc999bef6b3c328daeb34e862a63b2c4abe5590acec541f93bc6fa016c9d + languageName: node + linkType: hard + "@sinonjs/commons@npm:^3.0.0": version: 3.0.1 resolution: "@sinonjs/commons@npm:3.0.1" @@ -16087,13 +16161,6 @@ __metadata: languageName: node linkType: hard -"@tanstack/query-core@npm:4.36.1": - version: 4.36.1 - resolution: "@tanstack/query-core@npm:4.36.1" - checksum: 47672094da20d89402d9fe03bb7b0462be73a76ff9ca715169738bc600a719d064d106d083a8eedae22a2c22de22f87d5eb5d31ef447aba771d9190f2117ed10 - languageName: node - linkType: hard - "@tanstack/query-core@npm:5.17.19": version: 5.17.19 resolution: "@tanstack/query-core@npm:5.17.19" @@ -16101,25 +16168,6 @@ __metadata: languageName: node linkType: hard -"@tanstack/react-query@npm:^4.3.9": - version: 4.36.1 - resolution: "@tanstack/react-query@npm:4.36.1" - dependencies: - "@tanstack/query-core": 4.36.1 - use-sync-external-store: ^1.2.0 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-native: "*" - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - checksum: 1aff0a476859386f8d32253fa0d0bde7b81769a6d4d4d9cbd78778f0f955459a3bdb7ee27a0d2ee7373090f12998b45df80db0b5b313bd0a7a39d36c6e8e51c5 - languageName: node - linkType: hard - "@tanstack/react-query@npm:^5.17.15": version: 5.17.19 resolution: "@tanstack/react-query@npm:5.17.19" @@ -18792,14 +18840,14 @@ __metadata: linkType: hard "@whatwg-node/node-fetch@npm:^0.5.16": - version: 0.5.20 - resolution: "@whatwg-node/node-fetch@npm:0.5.20" + version: 0.5.21 + resolution: "@whatwg-node/node-fetch@npm:0.5.21" dependencies: "@kamilkisiela/fast-url-parser": ^1.1.4 busboy: ^1.6.0 fast-querystring: ^1.1.1 tslib: ^2.6.3 - checksum: b030ce2cc55d16f6434797d9d5e297c46bb17f40ef79c6818b1717a4b829f9b5b515e6a50e15fd2acec45e32aba27445e80d4060d0924d354f313249d1330a0a + checksum: 6da9497475a8d99fa22a8a1daad6a30dd693ed34692a50ab80361dffff91dc2814a541d8fca33c8fd9434b2f2ae88863391df347a4b61bb97bc7526a9e22dbcf languageName: node linkType: hard @@ -21489,9 +21537,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001649 - resolution: "caniuse-lite@npm:1.0.30001649" - checksum: 7952512a243f22c942e0e99249def19d781ad1900db101f2d8de9d83de37db000a7dc7f226c9c99134001975e22852becf1677539c24c7ecae53467b681c400f + version: 1.0.30001651 + resolution: "caniuse-lite@npm:1.0.30001651" + checksum: c31a5a01288e70cdbbfb5cd94af3df02f295791673173b8ce6d6a16db4394a6999197d44190be5a6ff06b8c2c7d2047e94dfd5e5eb4c103ab000fca2d370afc7 languageName: node linkType: hard @@ -21546,6 +21594,15 @@ __metadata: languageName: node linkType: hard +"castable-video@npm:~1.0.9": + version: 1.0.10 + resolution: "castable-video@npm:1.0.10" + dependencies: + custom-media-element: ~1.3.2 + checksum: 5b7a27aacf305f40c6867e96e773f4290260f6eb8b01fe1f209506f8f6dec4cd099f3e35ee57de098829e4bcc688ccdc2cbb2fc86c509712dd573eadf66d42cc + languageName: node + linkType: hard + "ccount@npm:^2.0.0": version: 2.0.1 resolution: "ccount@npm:2.0.1" @@ -22010,6 +22067,15 @@ __metadata: languageName: node linkType: hard +"class-variance-authority@npm:^0.7.0": + version: 0.7.0 + resolution: "class-variance-authority@npm:0.7.0" + dependencies: + clsx: 2.0.0 + checksum: e7fd1fab433ef06f52a1b7b241b70b4a185864deef199d3b0a2c3412f1cc179517288264c383f3b971a00d76811625fc8f7ffe709e6170219e88cd7368f08a20 + languageName: node + linkType: hard + "classnames@npm:^2.2.5, classnames@npm:^2.2.6": version: 2.3.2 resolution: "classnames@npm:2.3.2" @@ -22282,6 +22348,13 @@ __metadata: languageName: node linkType: hard +"clsx@npm:2.0.0": + version: 2.0.0 + resolution: "clsx@npm:2.0.0" + checksum: a2cfb2351b254611acf92faa0daf15220f4cd648bdf96ce369d729813b85336993871a4bf6978ddea2b81b5a130478339c20d9d0b5c6fc287e5147f0c059276e + languageName: node + linkType: hard + "clsx@npm:^1.1.1": version: 1.1.1 resolution: "clsx@npm:1.1.1" @@ -22289,13 +22362,6 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^1.2.1": - version: 1.2.1 - resolution: "clsx@npm:1.2.1" - checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12 - languageName: node - linkType: hard - "clsx@npm:^2.0.0": version: 2.1.0 resolution: "clsx@npm:2.1.0" @@ -23273,12 +23339,12 @@ __metadata: languageName: node linkType: hard -"cross-inspect@npm:1.0.0": - version: 1.0.0 - resolution: "cross-inspect@npm:1.0.0" +"cross-inspect@npm:1.0.1": + version: 1.0.1 + resolution: "cross-inspect@npm:1.0.1" dependencies: tslib: ^2.4.0 - checksum: 975c81799549627027254eb70f1c349cefb14435d580bea6f351f510c839dcb1a9288983407bac2ad317e6eff29cf1e99299606da21f404562bfa64cec502239 + checksum: 7c1e02e0a9670b62416a3ea1df7ae880fdad3aa0a857de8932c4e5f8acd71298c7e3db9da8e9da603f5692cd1879938f5e72e34a9f5d1345987bef656d117fc1 languageName: node linkType: hard @@ -23589,6 +23655,13 @@ __metadata: languageName: node linkType: hard +"custom-media-element@npm:~1.3.1, custom-media-element@npm:~1.3.2": + version: 1.3.2 + resolution: "custom-media-element@npm:1.3.2" + checksum: 9ec2ff88c3c5ba7d20b9484c0359b4cfe08ad6804f3116934ffbae2f2e0e04d2a832beb6f0bec56027a969ab366727d217406f750890613c988de6de5330cb4f + languageName: node + linkType: hard + "d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:^3.1.6": version: 3.2.3 resolution: "d3-array@npm:3.2.3" @@ -24839,9 +24912,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.5.4": - version: 1.5.4 - resolution: "electron-to-chromium@npm:1.5.4" - checksum: 352f13c043cb185b464efe20f9b0a1adea2b1a7dad56e41dac995d0ad060f9981e479d632ebc73a1dce3bd5c36bbceeffe0667161ce296c2488fbb95f89bc793 + version: 1.5.5 + resolution: "electron-to-chromium@npm:1.5.5" + checksum: fcdd2797ece1ece6764b88b5fc36cfc6a571e08b832c6777d8bbefa19cae22a36614411aacc5687d9fea7e1db86469f53c3952ca2579c5fe705dea7ed270d8cc languageName: node linkType: hard @@ -26537,6 +26610,26 @@ __metadata: languageName: node linkType: hard +"execa@npm:^9.3.0": + version: 9.3.0 + resolution: "execa@npm:9.3.0" + dependencies: + "@sindresorhus/merge-streams": ^4.0.0 + cross-spawn: ^7.0.3 + figures: ^6.1.0 + get-stream: ^9.0.0 + human-signals: ^7.0.0 + is-plain-obj: ^4.1.0 + is-stream: ^4.0.1 + npm-run-path: ^5.2.0 + pretty-ms: ^9.0.0 + signal-exit: ^4.1.0 + strip-final-newline: ^4.0.0 + yoctocolors: ^2.0.0 + checksum: d07b28405edf74e3db7ec63b07e54318c58f1a97522064e4e760a257b4d3a9888d9fa7add62ff28c9c26b062a3a311bceea52dea23bf27433a8a19d85a95bdf4 + languageName: node + linkType: hard + "exif-parser@npm:^0.1.12": version: 0.1.12 resolution: "exif-parser@npm:0.1.12" @@ -27073,6 +27166,15 @@ __metadata: languageName: node linkType: hard +"figures@npm:^6.1.0": + version: 6.1.0 + resolution: "figures@npm:6.1.0" + dependencies: + is-unicode-supported: ^2.0.0 + checksum: 35c81239d4fa40b75c2c7c010833b0bc8861c27187e4c9388fca1d9731103ec9989b70ee3b664ef426ddd9abe02ec5f4fd973424aa8c6fd3ea5d3bf57a2d01b4 + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -27622,6 +27724,26 @@ __metadata: languageName: node linkType: hard +"framer-motion@npm:^11.0.25": + version: 11.3.24 + resolution: "framer-motion@npm:11.3.24" + dependencies: + tslib: ^2.4.0 + peerDependencies: + "@emotion/is-prop-valid": "*" + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + "@emotion/is-prop-valid": + optional: true + react: + optional: true + react-dom: + optional: true + checksum: c036284f7adb0f8fa05624e0bfb5e0000c1a3cfdc349a01797c9f8be0fadb5b9ccdbea095abfe685cc52c94f7a69a79d98569c8f74aa1ba3bc1676624f614952 + languageName: node + linkType: hard + "fresh@npm:0.5.2, fresh@npm:^0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -28084,6 +28206,16 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^9.0.0": + version: 9.0.1 + resolution: "get-stream@npm:9.0.1" + dependencies: + "@sec-ant/readable-stream": ^0.4.1 + is-stream: ^4.0.1 + checksum: 631df71d7bd60a7f373094d3c352e2ce412b82d30b1b0ec562e5a4aced976173a4cc0dabef019050e1aceaffb1f0e086349ab3d14377b0b7280510bd75bd3e1e + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -29294,6 +29426,13 @@ __metadata: languageName: node linkType: hard +"hls.js@npm:~1.5.11": + version: 1.5.14 + resolution: "hls.js@npm:1.5.14" + checksum: 7e8385dd188cc2fbf089d3daed12a4b0905f1468be1b1598ddba07edc9d398f9639a054b8f2a73c2d09a177eecc6559c0030ee051611f109e23559004d953d3e + languageName: node + linkType: hard + "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -29719,6 +29858,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^7.0.0": + version: 7.0.0 + resolution: "human-signals@npm:7.0.0" + checksum: 5e05a7dbb6d021371ddb854c58b19aa372cc616b34e8eec0d27098d699be0571e29b2b98869053d898badb9594b7ed5058642660b04fb1e41b7bd1f83e472d16 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -30985,7 +31131,7 @@ __metadata: languageName: node linkType: hard -"is-plain-obj@npm:^4.0.0": +"is-plain-obj@npm:^4.0.0, is-plain-obj@npm:^4.1.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" checksum: 6dc45da70d04a81f35c9310971e78a6a3c7a63547ef782e3a07ee3674695081b6ca4e977fbb8efc48dae3375e0b34558d2bcd722aec9bddfa2d7db5b041be8ce @@ -31133,6 +31279,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^4.0.1": + version: 4.0.1 + resolution: "is-stream@npm:4.0.1" + checksum: cbea3f1fc271b21ceb228819d0c12a0965a02b57f39423925f99530b4eb86935235f258f06310b67cd02b2d10b49e9a0998f5ececf110ab7d3760bae4055ad23 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -33801,15 +33954,6 @@ __metadata: languageName: node linkType: hard -"lucide-react@npm:^0.171.0": - version: 0.171.0 - resolution: "lucide-react@npm:0.171.0" - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - checksum: 768ffe368c52a518ee339203d86ff4479989ab4d79c0716f721900c4bb7392ef6ff7a14807f6a685abd74d27f4c1778170bff77a0ab4c3e06c17944b557d8300 - languageName: node - linkType: hard - "lucide-react@npm:^0.364.0": version: 0.364.0 resolution: "lucide-react@npm:0.364.0" @@ -33819,6 +33963,13 @@ __metadata: languageName: node linkType: hard +"lucide-static@npm:^0.424.0": + version: 0.424.0 + resolution: "lucide-static@npm:0.424.0" + checksum: a946c8a1dc862e6321d7ff78ad6314e0424042699f0471155b73a1a981605e76386306ea5d2430f879d424201d62eb70fa7008b571024ecae9d5f9b044f9c5df + languageName: node + linkType: hard + "luxon@npm:3.3.0": version: 3.3.0 resolution: "luxon@npm:3.3.0" @@ -34350,6 +34501,20 @@ __metadata: languageName: node linkType: hard +"media-chrome@npm:~3.2.5": + version: 3.2.5 + resolution: "media-chrome@npm:3.2.5" + checksum: f1d4620d250327c0cb4872c2f7825f407b4f8086e9830a6db76f6be97d6cbed0c0779a768d1e3b2fde62a4bfa283cfadabf588985af1720af0d4c206515b3b7c + languageName: node + linkType: hard + +"media-tracks@npm:~0.3.2": + version: 0.3.3 + resolution: "media-tracks@npm:0.3.3" + checksum: 4795af3f171d7ad3a68d1ac1c1e8166a735244fe57d3fc0ec53b1c7410799e524756fc0bfb389632aebb148436b03baade36ca34a3f5377776c3968f6d2cc580 + languageName: node + linkType: hard + "media-typer@npm:0.3.0": version: 0.3.0 resolution: "media-typer@npm:0.3.0" @@ -35715,6 +35880,13 @@ __metadata: languageName: node linkType: hard +"mux-embed@npm:~5.2.0": + version: 5.2.1 + resolution: "mux-embed@npm:5.2.1" + checksum: ec34d3e003e2520be6d1386ca2383daa198a1fa3a469ca3f06c11a742d6ab136eef4944c37e8f2dcaa0585e1b0a6dfc119e3cf2302c7eb0e7f2ebc7c1fc95fbd + languageName: node + linkType: hard + "mysql2@npm:3.9.1": version: 3.9.1 resolution: "mysql2@npm:3.9.1" @@ -36453,6 +36625,16 @@ __metadata: languageName: node linkType: hard +"node-html-parser@npm:^6.1.13": + version: 6.1.13 + resolution: "node-html-parser@npm:6.1.13" + dependencies: + css-select: ^5.1.0 + he: 1.2.0 + checksum: bf172147f5bee7ab3dbef4dce0308a2c02264bac178ebd6375cd460e0a120e916451b93601aabdd59331c467bed0e3f9bb5b362a74050254846135d5cd5dd66d + languageName: node + linkType: hard + "node-ical@npm:^0.16.1": version: 0.16.1 resolution: "node-ical@npm:0.16.1" @@ -36723,7 +36905,7 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^5.1.0": +"npm-run-path@npm:^5.1.0, npm-run-path@npm:^5.2.0": version: 5.3.0 resolution: "npm-run-path@npm:5.3.0" dependencies: @@ -37845,6 +38027,13 @@ __metadata: languageName: node linkType: hard +"parse-ms@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-ms@npm:4.0.0" + checksum: 673c801d9f957ff79962d71ed5a24850163f4181a90dd30c4e3666b3a804f53b77f1f0556792e8b2adbb5d58757907d1aa51d7d7dc75997c2a56d72937cbc8b7 + languageName: node + linkType: hard + "parse-path@npm:^7.0.0": version: 7.0.0 resolution: "parse-path@npm:7.0.0" @@ -38546,7 +38735,7 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.45.3, playwright-core@npm:^1.38.1": +"playwright-core@npm:1.45.3": version: 1.45.3 resolution: "playwright-core@npm:1.45.3" bin: @@ -38555,6 +38744,15 @@ __metadata: languageName: node linkType: hard +"playwright-core@npm:^1.38.1": + version: 1.46.0 + resolution: "playwright-core@npm:1.46.0" + bin: + playwright-core: cli.js + checksum: 0af0bf8afdd2182d377137c19da870d13e0f849b12b147dce7d5273db9f3d08a6ea35ef229eeb1816b3a9eca61504596fc1171e041e666e6ebb4118e71fe83ba + languageName: node + linkType: hard + "playwright@npm:1.45.3": version: 1.45.3 resolution: "playwright@npm:1.45.3" @@ -39192,6 +39390,15 @@ __metadata: languageName: node linkType: hard +"pretty-ms@npm:^9.0.0": + version: 9.1.0 + resolution: "pretty-ms@npm:9.1.0" + dependencies: + parse-ms: ^4.0.0 + checksum: 0f66507467f2005040cccdcb36f35b82674d7809f41c4432009235ed6c920787afa17f621c25b7ccb8ccd80b0840c7b71f7f4a3addb8f0eeef3a033ff1e5cf71 + languageName: node + linkType: hard + "printj@npm:~1.3.1": version: 1.3.1 resolution: "printj@npm:1.3.1" @@ -39996,20 +40203,21 @@ __metadata: languageName: node linkType: hard -"react-datocms@npm:^3.1.0": - version: 3.1.4 - resolution: "react-datocms@npm:3.1.4" +"react-datocms@npm:^5.0.3": + version: 5.0.3 + resolution: "react-datocms@npm:5.0.3" dependencies: + "@mux/mux-player-react": "*" datocms-listen: ^0.1.9 datocms-structured-text-generic-html-renderer: ^2.0.1 datocms-structured-text-utils: ^2.0.1 - react-intersection-observer: ^8.33.1 + react-intersection-observer: ^9.4.3 react-string-replace: ^1.1.0 universal-base64: ^2.1.0 use-deep-compare-effect: ^1.6.1 peerDependencies: react: ">= 16.12.0" - checksum: 54aba12aef4937175c2011548a8a576c96c8d8a596e84d191826910624c1d596e76a49782689dc236388a10803b02e700ac820cb7500cca7fd147a81f6c544c3 + checksum: 22c20152afb54424acfe967a2c8c525cd9f132a33374f2aba0231f16ea64dade389b096e2dac8de9ffded612bc32e9891d725609ee947639fe1cef907cb143f5 languageName: node linkType: hard @@ -40151,17 +40359,6 @@ __metadata: languageName: node linkType: hard -"react-feather@npm:^2.0.10": - version: 2.0.10 - resolution: "react-feather@npm:2.0.10" - dependencies: - prop-types: ^15.7.2 - peerDependencies: - react: ">=16.8.6" - checksum: 75acb29ee4352cd4e2a509ca81e15f3b553439c069dac19035503d53c0fe2b6133d65f5e32ccdb61ed1514cfda1b615e34de6a9640973a7bda283b7eb98850a1 - languageName: node - linkType: hard - "react-fit@npm:^1.4.0": version: 1.4.0 resolution: "react-fit@npm:1.4.0" @@ -40261,12 +40458,16 @@ __metadata: languageName: node linkType: hard -"react-intersection-observer@npm:^8.33.1": - version: 8.34.0 - resolution: "react-intersection-observer@npm:8.34.0" +"react-intersection-observer@npm:^9.4.3": + version: 9.13.0 + resolution: "react-intersection-observer@npm:9.13.0" peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0|| ^18.0.0 - checksum: 7713fecfd1512c7f5a60f9f0bf15403b8f8bbd4110bcafaeaea6de36a0e0eb60368c3638f99e9c97b75ad8fc787ea48c241dcb5c694f821d7f2976f709082cc5 + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + react-dom: + optional: true + checksum: ee2a163b078923c1556814834f83d7c3ea3e8a9d3ceef974351fd52afe12163518ec57cb2eb0f6544ac255ac4b64d2e7652bc5d60c255159c0f25bda57a565b6 languageName: node linkType: hard @@ -40376,6 +40577,16 @@ __metadata: languageName: node linkType: hard +"react-parallax-tilt@npm:^1.7.226": + version: 1.7.235 + resolution: "react-parallax-tilt@npm:1.7.235" + peerDependencies: + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + checksum: 3174054dc0725ed8260d592931fbef3315f6dae636a8f88c15e68be3378d9c391edb75cdf8f48430689f5fe1db09b55e3ae302889b1a9afa68a79cc394aff1ad + languageName: node + linkType: hard + "react-phone-input-2@npm:^2.15.1": version: 2.15.1 resolution: "react-phone-input-2@npm:2.15.1" @@ -40810,6 +41021,18 @@ __metadata: languageName: node linkType: hard +"react-twitter-embed@npm:^4.0.4": + version: 4.0.4 + resolution: "react-twitter-embed@npm:4.0.4" + dependencies: + scriptjs: ^2.5.9 + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 + checksum: cdb3c5bd04c4da0efa767476be47c0a3865fb6335f2a1b9e242170167b51615c38164223278cef60c77143c4bac27ba582cbea054d0af3f138104fa5ec537c4c + languageName: node + linkType: hard + "react-universal-interface@npm:^0.6.2": version: 0.6.2 resolution: "react-universal-interface@npm:0.6.2" @@ -42634,6 +42857,13 @@ __metadata: languageName: node linkType: hard +"scriptjs@npm:^2.5.9": + version: 2.5.9 + resolution: "scriptjs@npm:2.5.9" + checksum: fc84cb6b60b6fb9aa6f1b3bc59fc94b233bd5241ed3a04233579014382b5eb60640269c87d8657902acc09f9b785ee33230c218627cea00e653564bda8f5acb6 + languageName: node + linkType: hard + "scuid@npm:^1.1.0": version: 1.1.0 resolution: "scuid@npm:1.1.0" @@ -44236,6 +44466,13 @@ __metadata: languageName: node linkType: hard +"strip-final-newline@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-final-newline@npm:4.0.0" + checksum: b5fe48f695d74863153a3b3155220e6e9bf51f4447832998c8edec38e6559b3af87a9fe5ac0df95570a78a26f5fa91701358842eab3c15480e27980b154a145f + languageName: node + linkType: hard + "strip-indent@npm:3.0.0, strip-indent@npm:^3.0.0": version: 3.0.0 resolution: "strip-indent@npm:3.0.0" @@ -47138,15 +47375,6 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:^1.2.0": - version: 1.2.2 - resolution: "use-sync-external-store@npm:1.2.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: fe07c071c4da3645f112c38c0e57beb479a8838616ff4e92598256ecce527f2888c08febc7f9b2f0ce2f0e18540ba3cde41eb2035e4fafcb4f52955037098a81 - languageName: node - linkType: hard - "utif@npm:^2.0.1": version: 2.0.1 resolution: "utif@npm:2.0.1" @@ -48809,6 +49037,13 @@ __metadata: languageName: node linkType: hard +"yoctocolors@npm:^2.0.0": + version: 2.1.1 + resolution: "yoctocolors@npm:2.1.1" + checksum: 563fbec88bce9716d1044bc98c96c329e1d7a7c503e6f1af68f1ff914adc3ba55ce953c871395e2efecad329f85f1632f51a99c362032940321ff80c42a6f74d + languageName: node + linkType: hard + "yoga-layout-prebuilt@npm:^1.9.6": version: 1.10.0 resolution: "yoga-layout-prebuilt@npm:1.10.0"