diff --git a/.changeset/popular-students-divide.md b/.changeset/popular-students-divide.md new file mode 100644 index 0000000000..3de56a1ba3 --- /dev/null +++ b/.changeset/popular-students-divide.md @@ -0,0 +1,68 @@ +--- +"@heroui/use-aria-accordion-item": patch +"@heroui/use-aria-modal-overlay": patch +"@heroui/use-aria-multiselect": patch +"@heroui/react-rsc-utils": patch +"@heroui/scroll-shadow": patch +"@heroui/use-aria-accordion": patch +"@heroui/autocomplete": patch +"@heroui/number-input": patch +"@heroui/breadcrumbs": patch +"@heroui/date-picker": patch +"@heroui/framer-utils": patch +"@heroui/shared-icons": patch +"@heroui/date-input": patch +"@heroui/pagination": patch +"@heroui/use-aria-button": patch +"@heroui/react-utils": patch +"@heroui/accordion": patch +"@heroui/input-otp": patch +"@heroui/use-real-shape": patch +"@heroui/aria-utils": patch +"@heroui/test-utils": patch +"@heroui/calendar": patch +"@heroui/checkbox": patch +"@heroui/dropdown": patch +"@heroui/progress": patch +"@heroui/skeleton": patch +"@heroui/use-aria-link": patch +"@heroui/use-ref-state": patch +"@heroui/divider": patch +"@heroui/listbox": patch +"@heroui/popover": patch +"@heroui/snippet": patch +"@heroui/spinner": patch +"@heroui/tooltip": patch +"@heroui/avatar": patch +"@heroui/button": patch +"@heroui/drawer": patch +"@heroui/navbar": patch +"@heroui/ripple": patch +"@heroui/select": patch +"@heroui/slider": patch +"@heroui/spacer": patch +"@heroui/switch": patch +"@heroui/alert": patch +"@heroui/badge": patch +"@heroui/image": patch +"@heroui/input": patch +"@heroui/modal": patch +"@heroui/radio": patch +"@heroui/table": patch +"@heroui/toast": patch +"@heroui/card": patch +"@heroui/chip": patch +"@heroui/code": patch +"@heroui/form": patch +"@heroui/link": patch +"@heroui/menu": patch +"@heroui/tabs": patch +"@heroui/user": patch +"@heroui/system-rsc": patch +"@heroui/use-theme": patch +"@heroui/kbd": patch +"@heroui/system": patch +"@heroui/theme": patch +--- + +consistent type imports diff --git a/.changeset/silver-dancers-joke.md b/.changeset/silver-dancers-joke.md new file mode 100644 index 0000000000..94b8e99fdb --- /dev/null +++ b/.changeset/silver-dancers-joke.md @@ -0,0 +1,5 @@ +--- +"@heroui/system": patch +--- + +remove unncessary dependencies diff --git a/.changeset/spicy-dodos-fetch.md b/.changeset/spicy-dodos-fetch.md new file mode 100644 index 0000000000..81357f4402 --- /dev/null +++ b/.changeset/spicy-dodos-fetch.md @@ -0,0 +1,44 @@ +--- +"@heroui/accordion": patch +"@heroui/autocomplete": patch +"@heroui/breadcrumbs": patch +"@heroui/button": patch +"@heroui/calendar": patch +"@heroui/card": patch +"@heroui/checkbox": patch +"@heroui/chip": patch +"@heroui/date-picker": patch +"@heroui/divider": patch +"@heroui/drawer": patch +"@heroui/form": patch +"@heroui/kbd": patch +"@heroui/link": patch +"@heroui/listbox": patch +"@heroui/menu": patch +"@heroui/modal": patch +"@heroui/number-input": patch +"@heroui/popover": patch +"@heroui/progress": patch +"@heroui/radio": patch +"@heroui/ripple": patch +"@heroui/select": patch +"@heroui/skeleton": patch +"@heroui/slider": patch +"@heroui/snippet": patch +"@heroui/spinner": patch +"@heroui/switch": patch +"@heroui/tabs": patch +"@heroui/toast": patch +"@heroui/tooltip": patch +"@heroui/system": patch +"@heroui/use-aria-accordion": patch +"@heroui/use-aria-button": patch +"@heroui/use-aria-link": patch +"@heroui/use-aria-modal-overlay": patch +"@heroui/use-aria-multiselect": patch +"@heroui/use-intersection-observer": patch +"@heroui/aria-utils": patch +"@heroui/framer-utils": patch +--- + +remove unused dependencies diff --git a/apps/docs/app/blog/[slug]/page.tsx b/apps/docs/app/blog/[slug]/page.tsx index 093a25ef51..d04b0479d4 100644 --- a/apps/docs/app/blog/[slug]/page.tsx +++ b/apps/docs/app/blog/[slug]/page.tsx @@ -1,4 +1,5 @@ import type {Metadata} from "next"; +import type {Route} from "@/libs/docs/page"; import {notFound} from "next/navigation"; import {allBlogPosts} from "contentlayer2/generated"; @@ -10,7 +11,6 @@ import {Balancer} from "react-wrap-balancer"; import {__DEV__, __PREVIEW__} from "@/utils"; import {MDXContent} from "@/components/mdx-content"; import {siteConfig} from "@/config/site"; -import {Route} from "@/libs/docs/page"; import {ChevronRightLinearIcon} from "@/components/icons"; import {CarbonAd} from "@/components/ads/carbon-ad"; diff --git a/apps/docs/app/docs/[[...slug]]/page.tsx b/apps/docs/app/docs/[[...slug]]/page.tsx index 0d8aa28f70..65e2228335 100644 --- a/apps/docs/app/docs/[[...slug]]/page.tsx +++ b/apps/docs/app/docs/[[...slug]]/page.tsx @@ -1,4 +1,5 @@ import type {Metadata} from "next"; +import type {Route} from "@/libs/docs/page"; import {notFound} from "next/navigation"; import {allDocs} from "contentlayer2/generated"; @@ -7,7 +8,6 @@ import {Link, ToastProvider} from "@heroui/react"; import {MDXContent} from "@/components/mdx-content"; import {siteConfig} from "@/config/site"; import {DocsPager, DocsToc} from "@/components/docs"; -import {Route} from "@/libs/docs/page"; import {GITHUB_URL, REPO_NAME} from "@/libs/github/constants"; import {CONTENT_PATH, TAG} from "@/libs/docs/config"; import {getHeadings} from "@/libs/docs/utils"; diff --git a/apps/docs/app/examples/autocomplete/fully-controlled/page.tsx b/apps/docs/app/examples/autocomplete/fully-controlled/page.tsx index 1864576860..05dc09373f 100644 --- a/apps/docs/app/examples/autocomplete/fully-controlled/page.tsx +++ b/apps/docs/app/examples/autocomplete/fully-controlled/page.tsx @@ -1,7 +1,9 @@ "use client"; +import type {MenuTriggerAction} from "@heroui/react"; + import * as React from "react"; -import {Autocomplete, AutocompleteItem, MenuTriggerAction} from "@heroui/react"; +import {Autocomplete, AutocompleteItem} from "@heroui/react"; import {useFilter} from "@react-aria/i18n"; const animals = [ diff --git a/apps/docs/app/examples/modal/placement/page.tsx b/apps/docs/app/examples/modal/placement/page.tsx index 6e7e1c6dfc..0daf46e14c 100644 --- a/apps/docs/app/examples/modal/placement/page.tsx +++ b/apps/docs/app/examples/modal/placement/page.tsx @@ -1,5 +1,7 @@ "use client"; +import type {ModalProps} from "@heroui/react"; + import { Modal, ModalContent, @@ -10,7 +12,6 @@ import { useDisclosure, RadioGroup, Radio, - ModalProps, } from "@heroui/react"; import {useState} from "react"; diff --git a/apps/docs/app/examples/table/custom-styles/page.tsx b/apps/docs/app/examples/table/custom-styles/page.tsx index cb3c63319d..8c54696a6f 100644 --- a/apps/docs/app/examples/table/custom-styles/page.tsx +++ b/apps/docs/app/examples/table/custom-styles/page.tsx @@ -1,5 +1,7 @@ "use client"; +import type {Selection, ChipProps, SortDescriptor} from "@heroui/react"; + import { Table, TableHeader, @@ -13,12 +15,9 @@ import { Dropdown, DropdownMenu, DropdownItem, - Selection, Chip, User, - ChipProps, Pagination, - SortDescriptor, } from "@heroui/react"; import {ChevronDownIcon, SearchIcon} from "@heroui/shared-icons"; import {useCallback, useMemo, useState} from "react"; diff --git a/apps/docs/app/examples/table/use-case/page.tsx b/apps/docs/app/examples/table/use-case/page.tsx index e26dc60ab6..df6930a485 100644 --- a/apps/docs/app/examples/table/use-case/page.tsx +++ b/apps/docs/app/examples/table/use-case/page.tsx @@ -1,5 +1,7 @@ "use client"; +import type {Selection, ChipProps, SortDescriptor} from "@heroui/react"; + import { Table, TableHeader, @@ -13,12 +15,9 @@ import { Dropdown, DropdownMenu, DropdownItem, - Selection, Chip, User, - ChipProps, Pagination, - SortDescriptor, } from "@heroui/react"; import {ChevronDownIcon, SearchIcon} from "@heroui/shared-icons"; import {useCallback, useMemo, useState} from "react"; diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx index a870dedb48..d662d1582c 100644 --- a/apps/docs/app/layout.tsx +++ b/apps/docs/app/layout.tsx @@ -1,6 +1,7 @@ import "@/styles/globals.css"; import "@/styles/sandpack.css"; -import {Metadata, Viewport} from "next"; +import type {Metadata, Viewport} from "next"; + import {clsx} from "@heroui/shared-utils"; import {Analytics} from "@vercel/analytics/next"; diff --git a/apps/docs/app/providers.tsx b/apps/docs/app/providers.tsx index f31a0fd054..8e5da4410e 100644 --- a/apps/docs/app/providers.tsx +++ b/apps/docs/app/providers.tsx @@ -1,9 +1,10 @@ "use client"; +import type {ThemeProviderProps} from "next-themes"; + import * as React from "react"; import {HeroUIProvider} from "@heroui/react"; import {ThemeProvider as NextThemesProvider} from "next-themes"; -import {ThemeProviderProps} from "next-themes"; import {useRouter} from "next/navigation"; import {useEffect} from "react"; import posthog from "posthog-js"; diff --git a/apps/docs/components/bg-grid-container.tsx b/apps/docs/components/bg-grid-container.tsx index 9a354c58ee..af72dc3d72 100644 --- a/apps/docs/components/bg-grid-container.tsx +++ b/apps/docs/components/bg-grid-container.tsx @@ -1,4 +1,5 @@ -import {ReactNode, FC} from "react"; +import type {ReactNode, FC} from "react"; + import {clsx} from "@heroui/shared-utils"; export interface BgGridContainerProps { showGradient?: boolean; diff --git a/apps/docs/components/blog-post.tsx b/apps/docs/components/blog-post.tsx index 1111071e2c..2e375efdbe 100644 --- a/apps/docs/components/blog-post.tsx +++ b/apps/docs/components/blog-post.tsx @@ -1,6 +1,7 @@ "use client"; -import {BlogPost} from "contentlayer2/generated"; +import type {BlogPost} from "contentlayer2/generated"; + import {Card, CardFooter, CardBody, CardHeader, Link, Avatar, Image} from "@heroui/react"; import Balancer from "react-wrap-balancer"; import {format, parseISO} from "date-fns"; diff --git a/apps/docs/components/blog/video-in-view.tsx b/apps/docs/components/blog/video-in-view.tsx index 760902a910..35cb485fbe 100644 --- a/apps/docs/components/blog/video-in-view.tsx +++ b/apps/docs/components/blog/video-in-view.tsx @@ -1,7 +1,9 @@ "use client"; +import type {FC} from "react"; + import {useInView} from "framer-motion"; -import {useRef, FC, useEffect, useState, useCallback} from "react"; +import {useRef, useEffect, useState, useCallback} from "react"; import {Button, cn, Spinner, Tooltip} from "@heroui/react"; import {PlayBoldIcon, PauseBoldIcon} from "@/components/icons"; diff --git a/apps/docs/components/cmdk.tsx b/apps/docs/components/cmdk.tsx index abbf686adc..407c10feb7 100644 --- a/apps/docs/components/cmdk.tsx +++ b/apps/docs/components/cmdk.tsx @@ -1,10 +1,13 @@ /* eslint-disable jsx-a11y/no-autofocus */ "use client"; +import type {FC} from "react"; +import type {ButtonProps} from "@heroui/react"; + import {Command} from "cmdk"; -import {useEffect, useState, FC, useMemo, useCallback, useRef} from "react"; +import {useEffect, useState, useMemo, useCallback, useRef} from "react"; import {matchSorter} from "match-sorter"; -import {Button, ButtonProps, Kbd, Modal, ModalContent} from "@heroui/react"; +import {Button, Kbd, Modal, ModalContent} from "@heroui/react"; import {CloseIcon} from "@heroui/shared-icons"; import {tv} from "tailwind-variants"; import {usePathname, useRouter} from "next/navigation"; diff --git a/apps/docs/components/code-window/code-window.tsx b/apps/docs/components/code-window/code-window.tsx index e0c66e1d22..25aee902ea 100644 --- a/apps/docs/components/code-window/code-window.tsx +++ b/apps/docs/components/code-window/code-window.tsx @@ -1,9 +1,11 @@ "use client"; // Inspired by https://github.dev/modulz/stitches-site code demo +import type {CodeBlockProps} from "./code-block"; + import React from "react"; import rangeParser from "parse-numeric-range"; -import CodeBlock, {CodeBlockProps} from "./code-block"; +import CodeBlock from "./code-block"; import {CopyButton} from "@/components"; diff --git a/apps/docs/components/copy-button.tsx b/apps/docs/components/copy-button.tsx index 7a5234bda7..e732cbd4fc 100644 --- a/apps/docs/components/copy-button.tsx +++ b/apps/docs/components/copy-button.tsx @@ -1,4 +1,5 @@ -import {ButtonProps} from "@heroui/react"; +import type {ButtonProps} from "@heroui/react"; + import {useClipboard} from "@heroui/use-clipboard"; import {memo} from "react"; diff --git a/apps/docs/components/demo-code-modal.tsx b/apps/docs/components/demo-code-modal.tsx index 163cad20df..e46ad90660 100644 --- a/apps/docs/components/demo-code-modal.tsx +++ b/apps/docs/components/demo-code-modal.tsx @@ -1,6 +1,8 @@ "use client"; -import {FC, useState} from "react"; +import type {FC} from "react"; + +import {useState} from "react"; import { Modal, Button, diff --git a/apps/docs/components/demos/music-player.tsx b/apps/docs/components/demos/music-player.tsx index fe86ed0957..79c4a00cae 100644 --- a/apps/docs/components/demos/music-player.tsx +++ b/apps/docs/components/demos/music-player.tsx @@ -1,7 +1,10 @@ "use client"; -import {Card, CardBody, Button, Image, Slider, CardProps} from "@heroui/react"; -import {useState, FC} from "react"; +import type {CardProps} from "@heroui/react"; +import type {FC} from "react"; + +import {Card, CardBody, Button, Image, Slider} from "@heroui/react"; +import {useState} from "react"; import {clsx} from "@heroui/shared-utils"; import NextImage from "next/image"; diff --git a/apps/docs/components/demos/speed-progress.tsx b/apps/docs/components/demos/speed-progress.tsx index 75c088b0d4..f6b4620032 100644 --- a/apps/docs/components/demos/speed-progress.tsx +++ b/apps/docs/components/demos/speed-progress.tsx @@ -1,11 +1,7 @@ -import { - tv, - VariantProps, - CircularProgress, - CircularProgressProps, - circularProgress, -} from "@heroui/react"; -import {FC} from "react"; +import type {VariantProps, CircularProgressProps} from "@heroui/react"; +import type {FC} from "react"; + +import {tv, CircularProgress, circularProgress} from "@heroui/react"; const speedProgress = tv({ extend: circularProgress, diff --git a/apps/docs/components/docs/components/blockquote.tsx b/apps/docs/components/docs/components/blockquote.tsx index 79f9efbd4f..c15c28386c 100644 --- a/apps/docs/components/docs/components/blockquote.tsx +++ b/apps/docs/components/docs/components/blockquote.tsx @@ -1,7 +1,9 @@ "use client"; -import {FC} from "react"; -import {tv, VariantProps} from "tailwind-variants"; +import type {FC} from "react"; +import type {VariantProps} from "tailwind-variants"; + +import {tv} from "tailwind-variants"; const blockquoteStyles = tv({ base: "border px-4 bg-default-50 my-6 py-3 rounded-xl [&>p]:m-0", diff --git a/apps/docs/components/docs/components/code-demo/code-demo.tsx b/apps/docs/components/docs/components/code-demo/code-demo.tsx index a8e0e2ceba..5f2b456575 100644 --- a/apps/docs/components/docs/components/code-demo/code-demo.tsx +++ b/apps/docs/components/docs/components/code-demo/code-demo.tsx @@ -1,5 +1,9 @@ "use client"; +import type {UseCodeDemoProps} from "./use-code-demo"; +import type {WindowResizerProps} from "./window-resizer"; +import type {GradientBoxProps} from "@/components/gradient-box"; + import React, {useCallback, useMemo, useRef, useState} from "react"; import dynamic from "next/dynamic"; import {addToast, Button, Skeleton, Spinner, Tab, Tabs} from "@heroui/react"; @@ -7,11 +11,10 @@ import {useInView} from "framer-motion"; import {usePostHog} from "posthog-js/react"; import {usePathname} from "next/navigation"; -import {useCodeDemo, UseCodeDemoProps} from "./use-code-demo"; -import WindowResizer, {WindowResizerProps} from "./window-resizer"; +import {useCodeDemo} from "./use-code-demo"; +import WindowResizer from "./window-resizer"; import {parseDependencies} from "./parse-dependencies"; -import {GradientBoxProps} from "@/components/gradient-box"; import {SmallLogo} from "@/components/heroui-logo"; import {openInChat} from "@/actions/open-in-chat"; diff --git a/apps/docs/components/docs/components/code-demo/react-live-demo.tsx b/apps/docs/components/docs/components/code-demo/react-live-demo.tsx index b6447e9908..0ddab4917d 100644 --- a/apps/docs/components/docs/components/code-demo/react-live-demo.tsx +++ b/apps/docs/components/docs/components/code-demo/react-live-demo.tsx @@ -1,3 +1,6 @@ +import type {SandpackFiles} from "@codesandbox/sandpack-react/types"; +import type {GradientBoxProps} from "@/components/gradient-box"; + import React from "react"; import {LivePreview, LiveProvider, LiveError} from "react-live"; import {clsx} from "@heroui/shared-utils"; @@ -5,10 +8,9 @@ import * as HeroUI from "@heroui/react"; import * as intlDateUtils from "@internationalized/date"; import * as reactAriaI18n from "@react-aria/i18n"; import * as reactHookFormBase from "react-hook-form"; -import {SandpackFiles} from "@codesandbox/sandpack-react/types"; import {BgGridContainer} from "@/components/bg-grid-container"; -import {GradientBox, GradientBoxProps} from "@/components/gradient-box"; +import {GradientBox} from "@/components/gradient-box"; import {CopyButton} from "@/components/copy-button"; import {StackblitzButton} from "@/components/stackblitz-button"; import {PreviewButton} from "@/components/preview-button"; diff --git a/apps/docs/components/docs/components/code-demo/use-code-demo.ts b/apps/docs/components/docs/components/code-demo/use-code-demo.ts index b9dad2801d..6f7a51b0cd 100644 --- a/apps/docs/components/docs/components/code-demo/use-code-demo.ts +++ b/apps/docs/components/docs/components/code-demo/use-code-demo.ts @@ -1,9 +1,9 @@ -import {FileCode} from "./types"; +import type {FileCode} from "./types"; +import type {SandpackProps} from "@/components/sandpack"; + import {scope} from "./react-live-demo"; import {transformCode, joinCode, getFileName} from "./utils"; -import {SandpackProps} from "@/components/sandpack"; - export interface UseCodeDemoProps extends SandpackProps { code?: string; } diff --git a/apps/docs/components/docs/components/code-demo/utils.ts b/apps/docs/components/docs/components/code-demo/utils.ts index bab64fd7d0..1cb8faa7b5 100644 --- a/apps/docs/components/docs/components/code-demo/utils.ts +++ b/apps/docs/components/docs/components/code-demo/utils.ts @@ -1,4 +1,4 @@ -import {FileCode} from "./types"; +import type {FileCode} from "./types"; const importRegex = /^(import\s+(?!type\s+\{)[\s\S]*?;)/gm; diff --git a/apps/docs/components/docs/components/component-links.tsx b/apps/docs/components/docs/components/component-links.tsx index 83f43c5f6c..fd0b58e3f1 100644 --- a/apps/docs/components/docs/components/component-links.tsx +++ b/apps/docs/components/docs/components/component-links.tsx @@ -1,5 +1,7 @@ -import {Button, ButtonProps, Code, Link, Tooltip} from "@heroui/react"; -import {ReactNode} from "react"; +import type {ButtonProps} from "@heroui/react"; +import type {ReactNode} from "react"; + +import {Button, Code, Link, Tooltip} from "@heroui/react"; import Balancer from "react-wrap-balancer"; import {usePostHog} from "posthog-js/react"; diff --git a/apps/docs/components/docs/components/package-managers.tsx b/apps/docs/components/docs/components/package-managers.tsx index 6e9e9fa8db..decdb96539 100644 --- a/apps/docs/components/docs/components/package-managers.tsx +++ b/apps/docs/components/docs/components/package-managers.tsx @@ -1,7 +1,9 @@ "use client"; +import type {Key} from "react"; + import {Tabs, Tab, Snippet, Code} from "@heroui/react"; -import {Key, useState} from "react"; +import {useState} from "react"; import Codeblock from "./codeblock"; import {Blockquote} from "./blockquote"; diff --git a/apps/docs/components/docs/pager.tsx b/apps/docs/components/docs/pager.tsx index 0d5a72dc7c..497c427c6c 100644 --- a/apps/docs/components/docs/pager.tsx +++ b/apps/docs/components/docs/pager.tsx @@ -1,5 +1,7 @@ "use client"; +import type {Route} from "@/libs/docs/page"; + import * as React from "react"; import {Link} from "@heroui/react"; import {usePostHog} from "posthog-js/react"; @@ -8,7 +10,6 @@ import {ChevronIcon} from "@heroui/shared-icons"; import manifest from "@/config/routes.json"; import {removeFromLast} from "@/utils"; -import {Route} from "@/libs/docs/page"; import {useDocsRoute} from "@/hooks/use-docs-route"; export interface FooterNavProps { diff --git a/apps/docs/components/docs/sidebar.tsx b/apps/docs/components/docs/sidebar.tsx index 5297d465c3..1cbfa26a2f 100644 --- a/apps/docs/components/docs/sidebar.tsx +++ b/apps/docs/components/docs/sidebar.tsx @@ -1,22 +1,27 @@ "use client"; -import {FC, useEffect, useState, useRef, useMemo, useLayoutEffect} from "react"; +import type {FC} from "react"; +import type { + CollectionBase, + Expandable, + MultipleSelection, + Node, + ItemProps, +} from "@react-types/shared"; +import type {TreeState} from "@react-stately/tree"; +import type {SpacerProps} from "@heroui/react"; +import type {Route} from "@/libs/docs/page"; + +import {useEffect, useState, useRef, useMemo, useLayoutEffect} from "react"; import {usePostHog} from "posthog-js/react"; import {ChevronIcon} from "@heroui/shared-icons"; -import {CollectionBase, Expandable, MultipleSelection, Node, ItemProps} from "@react-types/shared"; import {BaseItem} from "@heroui/aria-utils"; import {useFocusRing} from "@react-aria/focus"; -import {TreeState, useTreeState} from "@react-stately/tree"; +import {useTreeState} from "@react-stately/tree"; import {useSelectableCollection} from "@react-aria/selection"; import {usePress} from "@react-aria/interactions"; import {clsx, dataAttr, debounce, isEmpty} from "@heroui/shared-utils"; -import { - SpacerProps, - Spacer, - Link as HeroUILink, - Chip, - dataFocusVisibleClasses, -} from "@heroui/react"; +import {Spacer, Link as HeroUILink, Chip, dataFocusVisibleClasses} from "@heroui/react"; import Link from "next/link"; import {usePathname, useRouter} from "next/navigation"; @@ -24,7 +29,6 @@ import {ScrollArea} from "../scroll-area"; import {getRoutePaths} from "./utils"; -import {Route} from "@/libs/docs/page"; import {TreeKeyboardDelegate} from "@/utils/tree-keyboard-delegate"; import emitter from "@/libs/emitter"; diff --git a/apps/docs/components/docs/toc.tsx b/apps/docs/components/docs/toc.tsx index 676eccbad2..f8ef8a2aa4 100644 --- a/apps/docs/components/docs/toc.tsx +++ b/apps/docs/components/docs/toc.tsx @@ -1,6 +1,9 @@ "use client"; -import {FC, useRef, useEffect, useState} from "react"; +import type {FC} from "react"; +import type {Heading} from "@/libs/docs/utils"; + +import {useRef, useEffect, useState} from "react"; import {clsx} from "@heroui/shared-utils"; import {Divider, Spacer} from "@heroui/react"; import {ChevronCircleTopLinearIcon} from "@heroui/shared-icons"; @@ -8,7 +11,6 @@ import scrollIntoView from "scroll-into-view-if-needed"; import {HeroUIProCallout} from "./heroui-pro-callout"; -import {Heading} from "@/libs/docs/utils"; import {useScrollSpy} from "@/hooks/use-scroll-spy"; import {useScrollPosition} from "@/hooks/use-scroll-position"; import emitter from "@/libs/emitter"; diff --git a/apps/docs/components/gradient-box.tsx b/apps/docs/components/gradient-box.tsx index 13ec32d308..75b451847e 100644 --- a/apps/docs/components/gradient-box.tsx +++ b/apps/docs/components/gradient-box.tsx @@ -1,5 +1,8 @@ -import {ReactNode, forwardRef} from "react"; -import {tv, VariantProps} from "tailwind-variants"; +import type {ReactNode} from "react"; +import type {VariantProps} from "tailwind-variants"; + +import {forwardRef} from "react"; +import {tv} from "tailwind-variants"; const styles = tv({ base: "flex relative w-full h-auto", diff --git a/apps/docs/components/heroui-logo.tsx b/apps/docs/components/heroui-logo.tsx index 465694af65..e8bd1f4425 100644 --- a/apps/docs/components/heroui-logo.tsx +++ b/apps/docs/components/heroui-logo.tsx @@ -1,7 +1,8 @@ +import type {IconSvgProps} from "@/types"; + import React from "react"; import {cn} from "@heroui/theme"; -import {IconSvgProps} from "@/types"; import {dataAttr} from "@/utils"; export interface LogoProps extends IconSvgProps { auto?: boolean; diff --git a/apps/docs/components/icons/bold/cli.tsx b/apps/docs/components/icons/bold/cli.tsx index d57d58ae9e..b67f804376 100644 --- a/apps/docs/components/icons/bold/cli.tsx +++ b/apps/docs/components/icons/bold/cli.tsx @@ -1,4 +1,4 @@ -import {IconSvgProps} from "@/types"; +import type {IconSvgProps} from "@/types"; export const CLIBoldIcon = ({...props}: IconSvgProps) => ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( = ({size = 24, width, height, ...props}) => { return ( diff --git a/apps/docs/components/icons/sponsors.tsx b/apps/docs/components/icons/sponsors.tsx index d229b545de..f1d99aeb93 100644 --- a/apps/docs/components/icons/sponsors.tsx +++ b/apps/docs/components/icons/sponsors.tsx @@ -1,4 +1,4 @@ -import {IconSvgProps} from "@/types"; +import type {IconSvgProps} from "@/types"; export const RelumeLogo = ({width = 152, height = 56, ...props}: IconSvgProps) => ( diff --git a/apps/docs/components/icons/star.tsx b/apps/docs/components/icons/star.tsx index 11146c4334..69a9db4906 100644 --- a/apps/docs/components/icons/star.tsx +++ b/apps/docs/components/icons/star.tsx @@ -1,4 +1,4 @@ -import {IconSvgProps} from "@/types"; +import type {IconSvgProps} from "@/types"; export const StarIcon = ({size = 24, width, height, fill = "none", ...props}: IconSvgProps) => ( ( ( ( ( ( = ({width = 1440, height = 1343, ...props}) => ( { const [start, end] = lines?.includes("-") ? lines?.split("-") : [0, 0]; diff --git a/apps/docs/components/sonar-pulse.tsx b/apps/docs/components/sonar-pulse.tsx index e6fe2187e8..5b5b8c30cd 100644 --- a/apps/docs/components/sonar-pulse.tsx +++ b/apps/docs/components/sonar-pulse.tsx @@ -1,4 +1,6 @@ -import {FC, ReactNode, useMemo} from "react"; +import type {FC, ReactNode} from "react"; + +import {useMemo} from "react"; import {parseToRgba} from "color2k"; import {clsx} from "@heroui/shared-utils"; import {useIsSSR} from "@react-aria/ssr"; diff --git a/apps/docs/components/stackblitz-button.tsx b/apps/docs/components/stackblitz-button.tsx index e639984cac..268868c862 100644 --- a/apps/docs/components/stackblitz-button.tsx +++ b/apps/docs/components/stackblitz-button.tsx @@ -1,12 +1,14 @@ +import type {SandpackFiles} from "@codesandbox/sandpack-react/types"; +import type {ButtonProps} from "@/../../packages/components/button/src"; + import React, {forwardRef} from "react"; import stackblitzSdk from "@stackblitz/sdk"; -import {SandpackFiles} from "@codesandbox/sandpack-react/types"; import {StackblitzIcon} from "./icons"; import {useStackblitz} from "@/hooks/use-stackblitz"; import {Tooltip} from "@/../../packages/components/tooltip/src"; -import {Button, ButtonProps} from "@/../../packages/components/button/src"; +import {Button} from "@/../../packages/components/button/src"; export interface StackblitzButtonProps extends ButtonProps { files: SandpackFiles; diff --git a/apps/docs/components/theme-switch.tsx b/apps/docs/components/theme-switch.tsx index 0c69eb96e2..3a128a521c 100644 --- a/apps/docs/components/theme-switch.tsx +++ b/apps/docs/components/theme-switch.tsx @@ -1,8 +1,10 @@ "use client"; -import {FC, ChangeEvent} from "react"; +import type {FC, ChangeEvent} from "react"; +import type {SwitchProps} from "@heroui/react"; + import {VisuallyHidden} from "@react-aria/visually-hidden"; -import {SwitchProps, useSwitch} from "@heroui/react"; +import {useSwitch} from "@heroui/react"; import {useTheme} from "next-themes"; import {clsx} from "@heroui/shared-utils"; import {useIsSSR} from "@react-aria/ssr"; diff --git a/apps/docs/components/themes/components/color-picker.tsx b/apps/docs/components/themes/components/color-picker.tsx index d041fccad8..dd7a9772b2 100644 --- a/apps/docs/components/themes/components/color-picker.tsx +++ b/apps/docs/components/themes/components/color-picker.tsx @@ -1,3 +1,5 @@ +import type {ColorPickerType, ThemeType} from "../types"; + import {useEffect, useState} from "react"; import {Button, Popover, PopoverContent, PopoverTrigger} from "@heroui/react"; import {HexColorInput, HexColorPicker} from "react-colorful"; @@ -6,7 +8,6 @@ import {readableColor} from "color2k"; import {useTheme} from "next-themes"; import {clsx} from "@heroui/shared-utils"; -import {ColorPickerType, ThemeType} from "../types"; import {colorValuesToRgb, getColorWeight} from "../utils/colors"; interface ColorPickerProps { diff --git a/apps/docs/components/themes/components/configuration/actions.tsx b/apps/docs/components/themes/components/configuration/actions.tsx index d00bcdfe5f..6c0255ea63 100644 --- a/apps/docs/components/themes/components/configuration/actions.tsx +++ b/apps/docs/components/themes/components/configuration/actions.tsx @@ -1,11 +1,11 @@ +import type {ThemeType} from "../../types"; + import {Button, Tooltip} from "@heroui/react"; import {Icon} from "@iconify/react/dist/offline"; import SunIcon from "@iconify/icons-solar/sun-linear"; import MoonIcon from "@iconify/icons-solar/moon-linear"; import UndoLeftIcon from "@iconify/icons-solar/undo-left-linear"; -import {ThemeType} from "../../types"; - interface ActionsProps { theme: ThemeType; onCopy: () => unknown; diff --git a/apps/docs/components/themes/components/configuration/base-colors.tsx b/apps/docs/components/themes/components/configuration/base-colors.tsx index fd31daec9f..88ed553a69 100644 --- a/apps/docs/components/themes/components/configuration/base-colors.tsx +++ b/apps/docs/components/themes/components/configuration/base-colors.tsx @@ -1,9 +1,10 @@ +import type {Config, ThemeType} from "../../types"; + import {Tooltip} from "@heroui/react"; import {colorsId} from "../../constants"; import {setCssColor} from "../../css-vars"; import {useThemeBuilder} from "../../provider"; -import {Config, ThemeType} from "../../types"; import {ColorPicker} from "../color-picker"; import {ConfigSection} from "../config-section"; import {templates} from "../../templates"; diff --git a/apps/docs/components/themes/components/configuration/content-colors.tsx b/apps/docs/components/themes/components/configuration/content-colors.tsx index 0788e4914c..1a3ba6db3d 100644 --- a/apps/docs/components/themes/components/configuration/content-colors.tsx +++ b/apps/docs/components/themes/components/configuration/content-colors.tsx @@ -1,9 +1,10 @@ +import type {Config, ThemeType} from "../../types"; + import {Tooltip} from "@heroui/react"; import {baseColorsId} from "../../constants"; import {setCssContentColor} from "../../css-vars"; import {useThemeBuilder} from "../../provider"; -import {Config, ThemeType} from "../../types"; import {templates} from "../../templates"; import {ColorPicker} from "../color-picker"; import {ConfigSection} from "../config-section"; diff --git a/apps/docs/components/themes/components/configuration/default-colors.tsx b/apps/docs/components/themes/components/configuration/default-colors.tsx index a5606c5d90..fc5e8ef588 100644 --- a/apps/docs/components/themes/components/configuration/default-colors.tsx +++ b/apps/docs/components/themes/components/configuration/default-colors.tsx @@ -1,8 +1,9 @@ +import type {Config, ThemeType} from "../../types"; + import {defaultColorsId} from "../../constants"; import {setCssColor} from "../../css-vars"; import {useThemeBuilder} from "../../provider"; import {templates} from "../../templates"; -import {Config, ThemeType} from "../../types"; import {ColorPicker} from "../color-picker"; import {ConfigSection} from "../config-section"; diff --git a/apps/docs/components/themes/components/configuration/disable-opacity.tsx b/apps/docs/components/themes/components/configuration/disable-opacity.tsx index 25b019d250..abbcee8455 100644 --- a/apps/docs/components/themes/components/configuration/disable-opacity.tsx +++ b/apps/docs/components/themes/components/configuration/disable-opacity.tsx @@ -1,6 +1,7 @@ +import type {Config} from "../../types"; + import {setOtherCssParams} from "../../css-vars"; import {useThemeBuilder} from "../../provider"; -import {Config} from "../../types"; import {ConfigSection} from "../config-section"; import ValueButton from "./value-button"; diff --git a/apps/docs/components/themes/components/configuration/font-button.tsx b/apps/docs/components/themes/components/configuration/font-button.tsx index 1f38852dc2..3298c77595 100644 --- a/apps/docs/components/themes/components/configuration/font-button.tsx +++ b/apps/docs/components/themes/components/configuration/font-button.tsx @@ -1,8 +1,8 @@ +import type {FontName, FontType} from "../../types"; + import {Button} from "@heroui/react"; import {clsx} from "@heroui/shared-utils"; -import {FontName, FontType} from "../../types"; - interface FontButtonProps { title: FontName; className: string; diff --git a/apps/docs/components/themes/components/configuration/index.tsx b/apps/docs/components/themes/components/configuration/index.tsx index 2bc902431d..f192902b7f 100644 --- a/apps/docs/components/themes/components/configuration/index.tsx +++ b/apps/docs/components/themes/components/configuration/index.tsx @@ -1,3 +1,5 @@ +import type {Config, Template, ThemeType} from "../../types"; + import {useEffect, useState, useMemo} from "react"; import { Card, @@ -20,7 +22,6 @@ import {ArrowLeftIcon, ChevronIcon, ChevronUpIcon, CloseIcon} from "@heroui/shar import {clsx} from "@heroui/shared-utils"; import {useThemeBuilder} from "../../provider"; -import {Config, Template, ThemeType} from "../../types"; import {configKey, syncThemesKey, initialConfig} from "../../constants"; import {SelectTemplate} from "../select-template"; import {generatePluginConfig} from "../../utils/config"; diff --git a/apps/docs/components/themes/components/configuration/layout-colors.tsx b/apps/docs/components/themes/components/configuration/layout-colors.tsx index 27e23cdd66..7188ea79a1 100644 --- a/apps/docs/components/themes/components/configuration/layout-colors.tsx +++ b/apps/docs/components/themes/components/configuration/layout-colors.tsx @@ -1,8 +1,9 @@ +import type {Config, ThemeType} from "../../types"; + import {Tooltip} from "@heroui/react"; import {otherColorsId} from "../../constants"; import {useThemeBuilder} from "../../provider"; -import {Config, ThemeType} from "../../types"; import {ColorPicker} from "../color-picker"; import {ConfigSection} from "../config-section"; import {setCssOtherColor} from "../../css-vars"; diff --git a/apps/docs/components/themes/components/configuration/other.tsx b/apps/docs/components/themes/components/configuration/other.tsx index f59134f940..d80e677910 100644 --- a/apps/docs/components/themes/components/configuration/other.tsx +++ b/apps/docs/components/themes/components/configuration/other.tsx @@ -1,6 +1,7 @@ +import type {Config} from "../../types"; + import {setOtherCssParams} from "../../css-vars"; import {useThemeBuilder} from "../../provider"; -import {Config} from "../../types"; import {ConfigSection} from "../config-section"; import {NumberInput} from "../number-input"; diff --git a/apps/docs/components/themes/components/configuration/swatch.tsx b/apps/docs/components/themes/components/configuration/swatch.tsx index 3857fc4bdd..776cdc0df5 100644 --- a/apps/docs/components/themes/components/configuration/swatch.tsx +++ b/apps/docs/components/themes/components/configuration/swatch.tsx @@ -1,6 +1,6 @@ -import {clsx} from "@heroui/shared-utils"; +import type {ConfigColors} from "../../types"; -import {ConfigColors} from "../../types"; +import {clsx} from "@heroui/shared-utils"; interface SwatchProps { colors: {background: string} & ConfigColors["baseColor"]; diff --git a/apps/docs/components/themes/components/select-template.tsx b/apps/docs/components/themes/components/select-template.tsx index 3962e5594c..c112ffcdd2 100644 --- a/apps/docs/components/themes/components/select-template.tsx +++ b/apps/docs/components/themes/components/select-template.tsx @@ -1,7 +1,8 @@ +import type {Template, TemplateType} from "../types"; + import {cn, Select, SelectItem} from "@heroui/react"; import {templates} from "../templates"; -import {Template, TemplateType} from "../types"; import Swatch from "./configuration/swatch"; diff --git a/apps/docs/components/themes/components/showcase-component.tsx b/apps/docs/components/themes/components/showcase-component.tsx index 82bd37e07a..f93756ea0b 100644 --- a/apps/docs/components/themes/components/showcase-component.tsx +++ b/apps/docs/components/themes/components/showcase-component.tsx @@ -1,3 +1,5 @@ +import type {FontName, TemplateType} from "../types"; + import {cn, Divider} from "@heroui/react"; import Link from "next/link"; import {Inter, Roboto, Outfit, Lora} from "next/font/google"; @@ -6,7 +8,6 @@ import {useTheme} from "next-themes"; import {readableColor} from "color2k"; import {useThemeBuilder} from "../provider"; -import {FontName, TemplateType} from "../types"; interface ShowcaseComponentProps { children: React.ReactElement | React.ReactElement[]; diff --git a/apps/docs/components/themes/components/showcase/avatar.tsx b/apps/docs/components/themes/components/showcase/avatar.tsx index 33d4cace00..c9eb1e56a0 100644 --- a/apps/docs/components/themes/components/showcase/avatar.tsx +++ b/apps/docs/components/themes/components/showcase/avatar.tsx @@ -1,10 +1,12 @@ +import type {AvatarProps} from "@heroui/react"; +import type {Border, HeroUIScaling} from "../../types"; + import {cloneElement} from "react"; -import {AvatarProps, Avatar as HeroUIAvatar} from "@heroui/react"; +import {Avatar as HeroUIAvatar} from "@heroui/react"; import {clsx} from "@heroui/shared-utils"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {Border, HeroUIScaling} from "../../types"; import {getBorderWidth} from "../../utils/shared"; type Color = AvatarProps["color"]; diff --git a/apps/docs/components/themes/components/showcase/breadcrumbs.tsx b/apps/docs/components/themes/components/showcase/breadcrumbs.tsx index 99ed84df25..fecccaf86f 100644 --- a/apps/docs/components/themes/components/showcase/breadcrumbs.tsx +++ b/apps/docs/components/themes/components/showcase/breadcrumbs.tsx @@ -1,12 +1,13 @@ +import type {BreadcrumbsProps} from "@heroui/react"; +import type {Border, Radius} from "../../types"; + import { - BreadcrumbsProps, Breadcrumbs as HeroUIBreadcrumbs, BreadcrumbItem as HeroUIBreadcrumbsItem, } from "@heroui/react"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {Border, Radius} from "../../types"; type Color = BreadcrumbsProps["color"]; diff --git a/apps/docs/components/themes/components/showcase/button.tsx b/apps/docs/components/themes/components/showcase/button.tsx index cfb6d1d4ff..58e8cef08f 100644 --- a/apps/docs/components/themes/components/showcase/button.tsx +++ b/apps/docs/components/themes/components/showcase/button.tsx @@ -1,10 +1,12 @@ +import type {ButtonProps} from "@heroui/react"; +import type {Border} from "../../types"; + import {cloneElement} from "react"; -import {ButtonProps, Button as HeroUIButton} from "@heroui/react"; +import {Button as HeroUIButton} from "@heroui/react"; import {clsx} from "@heroui/shared-utils"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {Border} from "../../types"; type Color = ButtonProps["color"]; type Radius = ButtonProps["radius"]; diff --git a/apps/docs/components/themes/components/showcase/checkbox.tsx b/apps/docs/components/themes/components/showcase/checkbox.tsx index 55820e1287..33caee1074 100644 --- a/apps/docs/components/themes/components/showcase/checkbox.tsx +++ b/apps/docs/components/themes/components/showcase/checkbox.tsx @@ -1,9 +1,11 @@ +import type {CheckboxProps} from "@heroui/react"; +import type {HeroUIScaling} from "../../types"; + import {cloneElement} from "react"; -import {CheckboxProps, Checkbox as HeroUICheckbox} from "@heroui/react"; +import {Checkbox as HeroUICheckbox} from "@heroui/react"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {HeroUIScaling} from "../../types"; type Color = CheckboxProps["color"]; type Radius = CheckboxProps["radius"]; diff --git a/apps/docs/components/themes/components/showcase/chip.tsx b/apps/docs/components/themes/components/showcase/chip.tsx index 0c55ba4c01..8fde59e195 100644 --- a/apps/docs/components/themes/components/showcase/chip.tsx +++ b/apps/docs/components/themes/components/showcase/chip.tsx @@ -1,10 +1,12 @@ +import type {ChipProps} from "@heroui/react"; +import type {Border, HeroUIScaling} from "../../types"; + import {cloneElement} from "react"; -import {ChipProps, Chip as HeroUIChip} from "@heroui/react"; +import {Chip as HeroUIChip} from "@heroui/react"; import {clsx} from "@heroui/shared-utils"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {Border, HeroUIScaling} from "../../types"; type Color = ChipProps["color"]; type Radius = ChipProps["radius"]; diff --git a/apps/docs/components/themes/components/showcase/code.tsx b/apps/docs/components/themes/components/showcase/code.tsx index ab8ce3dfdb..31d81426ea 100644 --- a/apps/docs/components/themes/components/showcase/code.tsx +++ b/apps/docs/components/themes/components/showcase/code.tsx @@ -1,8 +1,10 @@ -import {CodeProps, Code as HeroUICode} from "@heroui/react"; +import type {CodeProps} from "@heroui/react"; +import type {HeroUIScaling} from "../../types"; + +import {Code as HeroUICode} from "@heroui/react"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {HeroUIScaling} from "../../types"; type Color = CodeProps["color"]; type Radius = CodeProps["radius"]; diff --git a/apps/docs/components/themes/components/showcase/input.tsx b/apps/docs/components/themes/components/showcase/input.tsx index d114f31232..bbdcd29705 100644 --- a/apps/docs/components/themes/components/showcase/input.tsx +++ b/apps/docs/components/themes/components/showcase/input.tsx @@ -1,9 +1,11 @@ -import {InputProps, Input} from "@heroui/react"; +import type {InputProps} from "@heroui/react"; +import type {Border, HeroUIScaling} from "../../types"; + +import {Input} from "@heroui/react"; import {clsx} from "@heroui/shared-utils"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {Border, HeroUIScaling} from "../../types"; type Color = InputProps["color"]; type Radius = InputProps["radius"]; diff --git a/apps/docs/components/themes/components/showcase/popover.tsx b/apps/docs/components/themes/components/showcase/popover.tsx index 7913a01627..ee42b745f9 100644 --- a/apps/docs/components/themes/components/showcase/popover.tsx +++ b/apps/docs/components/themes/components/showcase/popover.tsx @@ -1,8 +1,10 @@ -import {PopoverProps, Popover, PopoverTrigger, PopoverContent, Button} from "@heroui/react"; +import type {PopoverProps} from "@heroui/react"; +import type {HeroUIScaling} from "../../types"; + +import {Popover, PopoverTrigger, PopoverContent, Button} from "@heroui/react"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {HeroUIScaling} from "../../types"; type Color = PopoverProps["color"]; type Radius = PopoverProps["radius"]; diff --git a/apps/docs/components/themes/components/showcase/switch.tsx b/apps/docs/components/themes/components/showcase/switch.tsx index f70b619466..5d6f092850 100644 --- a/apps/docs/components/themes/components/showcase/switch.tsx +++ b/apps/docs/components/themes/components/showcase/switch.tsx @@ -1,9 +1,11 @@ +import type {SwitchProps} from "@heroui/react"; +import type {HeroUIScaling} from "../../types"; + import {cloneElement} from "react"; -import {SwitchProps, Switch} from "@heroui/react"; +import {Switch} from "@heroui/react"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {HeroUIScaling} from "../../types"; type Color = SwitchProps["color"]; diff --git a/apps/docs/components/themes/components/showcase/tabs.tsx b/apps/docs/components/themes/components/showcase/tabs.tsx index 9c4ea5aca6..71bc2f7d37 100644 --- a/apps/docs/components/themes/components/showcase/tabs.tsx +++ b/apps/docs/components/themes/components/showcase/tabs.tsx @@ -1,9 +1,11 @@ +import type {TabsProps} from "@heroui/react"; +import type {Border, HeroUIScaling} from "../../types"; + import {cloneElement} from "react"; -import {TabsProps, Tabs, Tab} from "@heroui/react"; +import {Tabs, Tab} from "@heroui/react"; import {ShowcaseComponent} from "../showcase-component"; import {useThemeBuilder} from "../../provider"; -import {Border, HeroUIScaling} from "../../types"; type Color = TabsProps["color"]; type Radius = TabsProps["radius"]; diff --git a/apps/docs/components/themes/constants.ts b/apps/docs/components/themes/constants.ts index ad3fec12d8..5cc9846855 100644 --- a/apps/docs/components/themes/constants.ts +++ b/apps/docs/components/themes/constants.ts @@ -1,6 +1,6 @@ -import {colors} from "@heroui/theme"; +import type {ConfigColors, Config, ConfigLayout} from "./types"; -import {ConfigColors, Config, ConfigLayout} from "./types"; +import {colors} from "@heroui/theme"; // Colors export const defaultDarkColorWeight = 20; diff --git a/apps/docs/components/themes/css-vars.ts b/apps/docs/components/themes/css-vars.ts index 2cafc93098..7babb35b8c 100644 --- a/apps/docs/components/themes/css-vars.ts +++ b/apps/docs/components/themes/css-vars.ts @@ -1,7 +1,8 @@ +import type {ColorPickerType, Config, ConfigLayout, ThemeType, ThemeColor} from "./types"; + import {readableColor} from "color2k"; import {colorsId, baseColorsId, showcaseId, otherColorsId, defaultColorsId} from "./constants"; -import {ColorPickerType, Config, ConfigLayout, ThemeType, ThemeColor} from "./types"; import {generateThemeColor, hexToHsl} from "./utils/colors"; import {templates} from "./templates"; diff --git a/apps/docs/components/themes/provider.tsx b/apps/docs/components/themes/provider.tsx index eb8f1b3bee..dce0edfac2 100644 --- a/apps/docs/components/themes/provider.tsx +++ b/apps/docs/components/themes/provider.tsx @@ -1,8 +1,4 @@ -import {useState, createContext, useContext} from "react"; -import {useLocalStorage} from "usehooks-ts"; - -import {configKey, initialConfig} from "./constants"; -import { +import type { ConfigColors, Config, ConfigLayout, @@ -14,6 +10,11 @@ import { Border, } from "./types"; +import {useState, createContext, useContext} from "react"; +import {useLocalStorage} from "usehooks-ts"; + +import {configKey, initialConfig} from "./constants"; + export interface ThemeBuilderContextProps { config: Config; radiusValue: Radius; diff --git a/apps/docs/components/themes/templates/coffee.ts b/apps/docs/components/themes/templates/coffee.ts index 55afd40eef..de48f682e1 100644 --- a/apps/docs/components/themes/templates/coffee.ts +++ b/apps/docs/components/themes/templates/coffee.ts @@ -1,7 +1,8 @@ +import type {Config} from "../types"; + import {colors} from "@heroui/theme"; import {initialLayout} from "../constants"; -import {Config} from "../types"; export const coffee: Config = { name: "coffee", diff --git a/apps/docs/components/themes/templates/elegant.ts b/apps/docs/components/themes/templates/elegant.ts index f0cc802644..df13289170 100644 --- a/apps/docs/components/themes/templates/elegant.ts +++ b/apps/docs/components/themes/templates/elegant.ts @@ -1,7 +1,8 @@ +import type {Config} from "../types"; + import {colors} from "@heroui/theme"; import {initialLayout} from "../constants"; -import {Config} from "../types"; export const elegant: Config = { name: "elegant", diff --git a/apps/docs/components/themes/templates/emerald.ts b/apps/docs/components/themes/templates/emerald.ts index d705bd1d71..c67da6f902 100644 --- a/apps/docs/components/themes/templates/emerald.ts +++ b/apps/docs/components/themes/templates/emerald.ts @@ -1,5 +1,6 @@ +import type {Config} from "../types"; + import {initialDarkTheme, initialLayout, initialLightTheme} from "../constants"; -import {Config} from "../types"; export const emerald: Config = { name: "emerald", diff --git a/apps/docs/components/themes/templates/heroui.ts b/apps/docs/components/themes/templates/heroui.ts index 528072c6d5..9c30e3bba9 100644 --- a/apps/docs/components/themes/templates/heroui.ts +++ b/apps/docs/components/themes/templates/heroui.ts @@ -1,5 +1,6 @@ +import type {Config} from "../types"; + import {initialDarkTheme, initialLayout, initialLightTheme} from "../constants"; -import {Config} from "../types"; export const heroui: Config = { name: "heroui", diff --git a/apps/docs/components/themes/templates/index.ts b/apps/docs/components/themes/templates/index.ts index 07dee44889..c5f0a43922 100644 --- a/apps/docs/components/themes/templates/index.ts +++ b/apps/docs/components/themes/templates/index.ts @@ -1,4 +1,4 @@ -import {Template} from "../types"; +import type {Template} from "../types"; import {coffee} from "./coffee"; import {emerald} from "./emerald"; diff --git a/apps/docs/components/themes/templates/modern.ts b/apps/docs/components/themes/templates/modern.ts index c409086854..5ef2afbf4d 100644 --- a/apps/docs/components/themes/templates/modern.ts +++ b/apps/docs/components/themes/templates/modern.ts @@ -1,7 +1,8 @@ +import type {Config} from "../types"; + import {colors} from "@heroui/theme"; import {initialLayout} from "../constants"; -import {Config} from "../types"; export const modern: Config = { name: "modern", diff --git a/apps/docs/components/themes/templates/retro.ts b/apps/docs/components/themes/templates/retro.ts index b672e68e32..303d9eaecf 100644 --- a/apps/docs/components/themes/templates/retro.ts +++ b/apps/docs/components/themes/templates/retro.ts @@ -1,7 +1,8 @@ +import type {Config} from "../types"; + import {colors} from "@heroui/theme"; import {initialLayout} from "../constants"; -import {Config} from "../types"; export const retro: Config = { name: "retro", diff --git a/apps/docs/components/themes/utils/colors.ts b/apps/docs/components/themes/utils/colors.ts index da19cd3b87..72e2312150 100644 --- a/apps/docs/components/themes/utils/colors.ts +++ b/apps/docs/components/themes/utils/colors.ts @@ -1,8 +1,9 @@ +import type {ColorShades, ThemeType, ThemeColor, ColorPickerType} from "../types"; + import {swapColorValues} from "@heroui/theme/src/utils/object"; import {readableColor} from "color2k"; import Values from "values.js"; -import {ColorShades, ThemeType, ThemeColor, ColorPickerType} from "../types"; import {colorWeight, defaultDarkColorWeight, defaultLightColorWeight} from "../constants"; /** diff --git a/apps/docs/components/themes/utils/config.ts b/apps/docs/components/themes/utils/config.ts index 3775477490..7293262be3 100644 --- a/apps/docs/components/themes/utils/config.ts +++ b/apps/docs/components/themes/utils/config.ts @@ -1,7 +1,7 @@ -import {HeroUIPluginConfig} from "@heroui/theme"; -import {readableColor} from "color2k"; +import type {HeroUIPluginConfig} from "@heroui/theme"; +import type {Config, ThemeType} from "../types"; -import {Config, ThemeType} from "../types"; +import {readableColor} from "color2k"; import {generateThemeColor} from "./colors"; function generateLayoutConfig(config: Config): HeroUIPluginConfig["layout"] { diff --git a/apps/docs/components/themes/utils/shared.ts b/apps/docs/components/themes/utils/shared.ts index e4b2b14997..5760142981 100644 --- a/apps/docs/components/themes/utils/shared.ts +++ b/apps/docs/components/themes/utils/shared.ts @@ -1,4 +1,4 @@ -import {Border} from "../types"; +import type {Border} from "../types"; /** * Copy data to clipboard diff --git a/apps/docs/content/components/autocomplete/fully-controlled.raw.tsx b/apps/docs/content/components/autocomplete/fully-controlled.raw.tsx index 6c1f9cb1e3..0e68cdf4a5 100644 --- a/apps/docs/content/components/autocomplete/fully-controlled.raw.tsx +++ b/apps/docs/content/components/autocomplete/fully-controlled.raw.tsx @@ -1,5 +1,7 @@ +import type {MenuTriggerAction} from "@heroui/react"; + import React from "react"; -import {Autocomplete, AutocompleteItem, MenuTriggerAction} from "@heroui/react"; +import {Autocomplete, AutocompleteItem} from "@heroui/react"; import {useFilter} from "@react-aria/i18n"; export type FieldState = { diff --git a/apps/docs/content/components/avatar/custom-impl.raw.tsx b/apps/docs/content/components/avatar/custom-impl.raw.tsx index f6b6a76841..27da3fe4ce 100644 --- a/apps/docs/content/components/avatar/custom-impl.raw.tsx +++ b/apps/docs/content/components/avatar/custom-impl.raw.tsx @@ -1,5 +1,7 @@ +import type {AvatarProps as BaseAvatarProps} from "@heroui/react"; + import {forwardRef, useMemo} from "react"; -import {AvatarIcon, useAvatar, AvatarProps as BaseAvatarProps} from "@heroui/react"; +import {AvatarIcon, useAvatar} from "@heroui/react"; export interface AvatarProps extends BaseAvatarProps {} diff --git a/apps/docs/content/components/avatar/group-custom-impl.raw.tsx b/apps/docs/content/components/avatar/group-custom-impl.raw.tsx index 8d6127c8f0..8f5aac922d 100644 --- a/apps/docs/content/components/avatar/group-custom-impl.raw.tsx +++ b/apps/docs/content/components/avatar/group-custom-impl.raw.tsx @@ -1,10 +1,7 @@ +import type {AvatarGroupProps as BaseAvatarGroupProps} from "@heroui/react"; + import {forwardRef} from "react"; -import { - Avatar, - useAvatarGroup, - AvatarGroupProvider, - AvatarGroupProps as BaseAvatarGroupProps, -} from "@heroui/react"; +import {Avatar, useAvatarGroup, AvatarGroupProvider} from "@heroui/react"; export interface AvatarGroupProps extends BaseAvatarGroupProps {} diff --git a/apps/docs/content/components/button/custom-impl.raw.tsx b/apps/docs/content/components/button/custom-impl.raw.tsx index 03a972e81a..e3eaffd62f 100644 --- a/apps/docs/content/components/button/custom-impl.raw.tsx +++ b/apps/docs/content/components/button/custom-impl.raw.tsx @@ -1,5 +1,7 @@ +import type {ButtonProps as BaseButtonProps} from "@heroui/react"; + import {forwardRef} from "react"; -import {useButton, Ripple, Spinner, ButtonProps as BaseButtonProps} from "@heroui/react"; +import {useButton, Ripple, Spinner} from "@heroui/react"; export interface ButtonProps extends BaseButtonProps {} diff --git a/apps/docs/content/components/date-input/controlled.raw.tsx b/apps/docs/content/components/date-input/controlled.raw.tsx index f9cd963ca6..6c6d5b6a40 100644 --- a/apps/docs/content/components/date-input/controlled.raw.tsx +++ b/apps/docs/content/components/date-input/controlled.raw.tsx @@ -1,6 +1,8 @@ +import type {DateValue} from "@internationalized/date"; + import React from "react"; import {DateInput} from "@heroui/react"; -import {DateValue, parseDate, getLocalTimeZone} from "@internationalized/date"; +import {parseDate, getLocalTimeZone} from "@internationalized/date"; import {useDateFormatter} from "@react-aria/i18n"; export default function App() { diff --git a/apps/docs/content/components/date-input/granularity.raw.tsx b/apps/docs/content/components/date-input/granularity.raw.tsx index b87a252430..b7d09b6052 100644 --- a/apps/docs/content/components/date-input/granularity.raw.tsx +++ b/apps/docs/content/components/date-input/granularity.raw.tsx @@ -1,6 +1,8 @@ +import type {DateValue} from "@internationalized/date"; + import React from "react"; import {DateInput} from "@heroui/react"; -import {DateValue, now, parseAbsoluteToLocal} from "@internationalized/date"; +import {now, parseAbsoluteToLocal} from "@internationalized/date"; export default function App() { let [date, setDate] = React.useState( diff --git a/apps/docs/content/components/date-input/international-calendar.raw.tsx b/apps/docs/content/components/date-input/international-calendar.raw.tsx index a0b11151dc..1b429da5b9 100644 --- a/apps/docs/content/components/date-input/international-calendar.raw.tsx +++ b/apps/docs/content/components/date-input/international-calendar.raw.tsx @@ -1,6 +1,8 @@ +import type {DateValue} from "@internationalized/date"; + import React from "react"; import {DateInput} from "@heroui/react"; -import {DateValue, parseAbsoluteToLocal} from "@internationalized/date"; +import {parseAbsoluteToLocal} from "@internationalized/date"; import {I18nProvider} from "@react-aria/i18n"; export default function App() { diff --git a/apps/docs/content/components/date-picker/controlled.raw.tsx b/apps/docs/content/components/date-picker/controlled.raw.tsx index 7d03a7a99f..10733881ef 100644 --- a/apps/docs/content/components/date-picker/controlled.raw.tsx +++ b/apps/docs/content/components/date-picker/controlled.raw.tsx @@ -1,6 +1,8 @@ +import type {DateValue} from "@internationalized/date"; + import React from "react"; import {DatePicker} from "@heroui/react"; -import {DateValue, parseDate, getLocalTimeZone} from "@internationalized/date"; +import {parseDate, getLocalTimeZone} from "@internationalized/date"; import {useDateFormatter} from "@react-aria/i18n"; export default function App() { diff --git a/apps/docs/content/components/date-picker/granularity.raw.tsx b/apps/docs/content/components/date-picker/granularity.raw.tsx index 0bb6968ff1..73494a0026 100644 --- a/apps/docs/content/components/date-picker/granularity.raw.tsx +++ b/apps/docs/content/components/date-picker/granularity.raw.tsx @@ -1,6 +1,8 @@ +import type {DateValue} from "@internationalized/date"; + import React from "react"; import {DatePicker} from "@heroui/react"; -import {DateValue, now, parseAbsoluteToLocal} from "@internationalized/date"; +import {now, parseAbsoluteToLocal} from "@internationalized/date"; export default function App() { let [date, setDate] = React.useState( diff --git a/apps/docs/content/components/date-picker/international-calendar.raw.tsx b/apps/docs/content/components/date-picker/international-calendar.raw.tsx index dea55abd30..1f008fdedc 100644 --- a/apps/docs/content/components/date-picker/international-calendar.raw.tsx +++ b/apps/docs/content/components/date-picker/international-calendar.raw.tsx @@ -1,6 +1,8 @@ +import type {DateValue} from "@internationalized/date"; + import React from "react"; import {DatePicker} from "@heroui/react"; -import {DateValue, parseAbsoluteToLocal} from "@internationalized/date"; +import {parseAbsoluteToLocal} from "@internationalized/date"; import {I18nProvider} from "@react-aria/i18n"; export default function App() { diff --git a/apps/docs/content/components/date-picker/preset.raw.tsx b/apps/docs/content/components/date-picker/preset.raw.tsx index 69cfbcbb21..601cc8fd7f 100644 --- a/apps/docs/content/components/date-picker/preset.raw.tsx +++ b/apps/docs/content/components/date-picker/preset.raw.tsx @@ -1,12 +1,8 @@ +import type {DateValue} from "@internationalized/date"; + import React from "react"; import {DatePicker, RadioGroup, Radio, ButtonGroup, Button, cn} from "@heroui/react"; -import { - DateValue, - startOfWeek, - startOfMonth, - getLocalTimeZone, - today, -} from "@internationalized/date"; +import {startOfWeek, startOfMonth, getLocalTimeZone, today} from "@internationalized/date"; import {useLocale, useDateFormatter} from "@react-aria/i18n"; export default function App() { diff --git a/apps/docs/content/components/input-otp/form.raw.tsx b/apps/docs/content/components/input-otp/form.raw.tsx index c546f73dbe..55f8b315c7 100644 --- a/apps/docs/content/components/input-otp/form.raw.tsx +++ b/apps/docs/content/components/input-otp/form.raw.tsx @@ -1,5 +1,7 @@ +import type {SubmitHandler} from "react-hook-form"; + import {InputOtp} from "@heroui/react"; -import {useForm, Controller, SubmitHandler} from "react-hook-form"; +import {useForm, Controller} from "react-hook-form"; import {Button} from "@heroui/react"; interface FormValues { diff --git a/apps/docs/content/components/link/custom-impl.raw.tsx b/apps/docs/content/components/link/custom-impl.raw.tsx index 4f83a9b29f..84f3754cc1 100644 --- a/apps/docs/content/components/link/custom-impl.raw.tsx +++ b/apps/docs/content/components/link/custom-impl.raw.tsx @@ -1,7 +1,9 @@ +import type {LinkProps} from "@heroui/react"; + import React, {forwardRef} from "react"; import {LinkIcon} from "@heroui/shared-icons"; import {linkAnchorClasses} from "@heroui/theme"; -import {LinkProps, useLink} from "@heroui/react"; +import {useLink} from "@heroui/react"; export interface MyLinkProps extends LinkProps {} diff --git a/apps/docs/content/components/modal/overflow.raw.tsx b/apps/docs/content/components/modal/overflow.raw.tsx index b930e8a459..c91a6dd4a2 100644 --- a/apps/docs/content/components/modal/overflow.raw.tsx +++ b/apps/docs/content/components/modal/overflow.raw.tsx @@ -1,3 +1,5 @@ +import type {ModalProps} from "@heroui/react"; + import React from "react"; import { Modal, @@ -5,7 +7,6 @@ import { ModalHeader, ModalBody, ModalFooter, - ModalProps, Button, useDisclosure, RadioGroup, diff --git a/apps/docs/content/components/pagination/custom-items.raw.tsx b/apps/docs/content/components/pagination/custom-items.raw.tsx index 0a77d64c74..edb3ac62fe 100644 --- a/apps/docs/content/components/pagination/custom-items.raw.tsx +++ b/apps/docs/content/components/pagination/custom-items.raw.tsx @@ -1,5 +1,8 @@ -import React, {SVGProps} from "react"; -import {cn, Pagination, PaginationItemType, PaginationItemRenderProps} from "@heroui/react"; +import type {SVGProps} from "react"; +import type {PaginationItemRenderProps} from "@heroui/react"; + +import React from "react"; +import {cn, Pagination, PaginationItemType} from "@heroui/react"; type IconSvgProps = SVGProps; diff --git a/apps/docs/content/components/radio-group/custom-impl.raw.tsx b/apps/docs/content/components/radio-group/custom-impl.raw.tsx index 5b69433326..0dbb367633 100644 --- a/apps/docs/content/components/radio-group/custom-impl.raw.tsx +++ b/apps/docs/content/components/radio-group/custom-impl.raw.tsx @@ -1,5 +1,7 @@ +import type {RadioProps} from "@heroui/react"; + import React from "react"; -import {RadioGroup, useRadio, VisuallyHidden, RadioProps, cn} from "@heroui/react"; +import {RadioGroup, useRadio, VisuallyHidden, cn} from "@heroui/react"; export const CustomRadio = (props: RadioProps) => { const { diff --git a/apps/docs/content/components/select/custom-render-value.raw.tsx b/apps/docs/content/components/select/custom-render-value.raw.tsx index 2975588b96..21d8c6e942 100644 --- a/apps/docs/content/components/select/custom-render-value.raw.tsx +++ b/apps/docs/content/components/select/custom-render-value.raw.tsx @@ -1,5 +1,7 @@ +import type {SelectedItems} from "@heroui/react"; + import React from "react"; -import {Select, SelectItem, Avatar, SelectedItems} from "@heroui/react"; +import {Select, SelectItem, Avatar} from "@heroui/react"; export const users = [ { diff --git a/apps/docs/content/components/select/multiple-chips.raw.tsx b/apps/docs/content/components/select/multiple-chips.raw.tsx index 42db7120a1..df1217afb7 100644 --- a/apps/docs/content/components/select/multiple-chips.raw.tsx +++ b/apps/docs/content/components/select/multiple-chips.raw.tsx @@ -1,5 +1,7 @@ +import type {SelectedItems} from "@heroui/react"; + import React from "react"; -import {Select, SelectItem, Avatar, Chip, SelectedItems} from "@heroui/react"; +import {Select, SelectItem, Avatar, Chip} from "@heroui/react"; export const users = [ { diff --git a/apps/docs/content/components/switch/custom-impl.raw.tsx b/apps/docs/content/components/switch/custom-impl.raw.tsx index 0fbbd3137e..f7ae7fd783 100644 --- a/apps/docs/content/components/switch/custom-impl.raw.tsx +++ b/apps/docs/content/components/switch/custom-impl.raw.tsx @@ -1,5 +1,7 @@ +import type {SwitchProps} from "@heroui/react"; + import React from "react"; -import {useSwitch, VisuallyHidden, SwitchProps} from "@heroui/react"; +import {useSwitch, VisuallyHidden} from "@heroui/react"; export const MoonIcon = (props) => { return ( diff --git a/apps/docs/content/components/table/custom-cells.raw.tsx b/apps/docs/content/components/table/custom-cells.raw.tsx index e7d57e70d8..2d79595b18 100644 --- a/apps/docs/content/components/table/custom-cells.raw.tsx +++ b/apps/docs/content/components/table/custom-cells.raw.tsx @@ -1,4 +1,7 @@ -import React, {SVGProps} from "react"; +import type {SVGProps} from "react"; +import type {ChipProps} from "@heroui/react"; + +import React from "react"; import { Table, TableHeader, @@ -9,7 +12,6 @@ import { User, Chip, Tooltip, - ChipProps, } from "@heroui/react"; export type IconSvgProps = SVGProps & { diff --git a/apps/docs/content/components/table/custom-styles.raw.tsx b/apps/docs/content/components/table/custom-styles.raw.tsx index cab1671052..78af43a91d 100644 --- a/apps/docs/content/components/table/custom-styles.raw.tsx +++ b/apps/docs/content/components/table/custom-styles.raw.tsx @@ -1,4 +1,7 @@ -import React, {SVGProps} from "react"; +import type {SVGProps} from "react"; +import type {Selection, ChipProps, SortDescriptor} from "@heroui/react"; + +import React from "react"; import { Table, TableHeader, @@ -15,9 +18,6 @@ import { Chip, User, Pagination, - Selection, - ChipProps, - SortDescriptor, } from "@heroui/react"; export type IconSvgProps = SVGProps & { diff --git a/apps/docs/content/components/table/use-case.raw.tsx b/apps/docs/content/components/table/use-case.raw.tsx index c0644dce31..97814da05f 100644 --- a/apps/docs/content/components/table/use-case.raw.tsx +++ b/apps/docs/content/components/table/use-case.raw.tsx @@ -1,4 +1,7 @@ -import React, {SVGProps} from "react"; +import type {SVGProps} from "react"; +import type {Selection, ChipProps, SortDescriptor} from "@heroui/react"; + +import React from "react"; import { Table, TableHeader, @@ -15,9 +18,6 @@ import { Chip, User, Pagination, - Selection, - ChipProps, - SortDescriptor, } from "@heroui/react"; export type IconSvgProps = SVGProps & { diff --git a/apps/docs/hooks/use-docs-route.ts b/apps/docs/hooks/use-docs-route.ts index f1985967a7..bfa3efd4e9 100644 --- a/apps/docs/hooks/use-docs-route.ts +++ b/apps/docs/hooks/use-docs-route.ts @@ -1,4 +1,4 @@ -import {Route, RouteContext} from "@/libs/docs/page"; +import type {Route, RouteContext} from "@/libs/docs/page"; const getRouteContext = ( routes: Route[], diff --git a/apps/docs/hooks/use-stackblitz.ts b/apps/docs/hooks/use-stackblitz.ts index d78bb0322b..95990f2370 100644 --- a/apps/docs/hooks/use-stackblitz.ts +++ b/apps/docs/hooks/use-stackblitz.ts @@ -1,5 +1,5 @@ -import {Project} from "@stackblitz/sdk"; -import {SandpackFiles} from "@codesandbox/sandpack-react/types"; +import type {Project} from "@stackblitz/sdk"; +import type {SandpackFiles} from "@codesandbox/sandpack-react/types"; import {mapKeys, omit} from "@/../../packages/utilities/shared-utils/src"; import {useSandpack} from "@/components/sandpack/use-sandpack"; diff --git a/apps/docs/libs/docs/page.ts b/apps/docs/libs/docs/page.ts index 7518442416..7db12fe0e1 100644 --- a/apps/docs/libs/docs/page.ts +++ b/apps/docs/libs/docs/page.ts @@ -1,6 +1,5 @@ import type {MDX} from "contentlayer2/core"; - -import * as Local from "contentlayer2/source-files"; +import type * as Local from "contentlayer2/source-files"; import {TAG, FORCE_TAG, CONTENT_PATH, ASSETS_PATH} from "./config"; diff --git a/apps/docs/libs/docs/utils.ts b/apps/docs/libs/docs/utils.ts index 9cf6a76138..63005851e9 100644 --- a/apps/docs/libs/docs/utils.ts +++ b/apps/docs/libs/docs/utils.ts @@ -1,4 +1,4 @@ -import {ParsedUrlQuery} from "querystring"; +import type {ParsedUrlQuery} from "querystring"; import {marked} from "marked"; import Slugger from "github-slugger"; diff --git a/apps/docs/libs/prism-theme.ts b/apps/docs/libs/prism-theme.ts index aff4b51cf1..f9314dd203 100644 --- a/apps/docs/libs/prism-theme.ts +++ b/apps/docs/libs/prism-theme.ts @@ -1,4 +1,4 @@ -import {PrismTheme} from "prism-react-renderer"; +import type {PrismTheme} from "prism-react-renderer"; const codeTheme: PrismTheme = { plain: { diff --git a/apps/docs/package.json b/apps/docs/package.json index d3001ed463..79b7c95697 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -19,26 +19,16 @@ "@codesandbox/sandpack-react": "^2.6.4", "@emotion/is-prop-valid": "^1.3.1", "@heroui/aria-utils": "workspace:*", - "@heroui/badge": "workspace:*", - "@heroui/code": "workspace:*", - "@heroui/divider": "workspace:*", - "@heroui/input-otp": "workspace:*", - "@heroui/kbd": "workspace:*", - "@heroui/listbox": "workspace:*", "@heroui/react": "workspace:*", "@heroui/shared-icons": "workspace:*", "@heroui/shared-utils": "workspace:*", - "@heroui/skeleton": "workspace:*", "@heroui/spacer": "workspace:*", - "@heroui/spinner": "workspace:*", "@heroui/theme": "workspace:*", "@heroui/use-clipboard": "workspace:*", "@heroui/use-infinite-scroll": "workspace:*", - "@heroui/use-is-mobile": "workspace:*", "@iconify/icons-solar": "1.2.3", "@iconify/react": "5.0.2", "@internationalized/date": "3.8.2", - "@mapbox/rehype-prism": "^0.6.0", "@radix-ui/react-scroll-area": "^1.0.5", "@react-aria/focus": "3.20.4", "@react-aria/i18n": "3.12.10", @@ -46,14 +36,11 @@ "@react-aria/selection": "3.24.2", "@react-aria/ssr": "3.9.9", "@react-aria/utils": "3.29.1", - "@react-aria/virtualizer": "4.1.6", "@react-aria/visually-hidden": "3.8.24", "@react-stately/data": "3.13.1", - "@react-stately/layout": "4.3.1", "@react-stately/tree": "3.9.0", "@rehooks/local-storage": "^2.4.5", "@stackblitz/sdk": "^1.11.0", - "@tanstack/react-virtual": "3.11.3", "@types/lodash": "^4.17.15", "@vercel/analytics": "^1.4.1", "canvas-confetti": "^1.9.2", @@ -63,9 +50,7 @@ "contentlayer2": "0.5.3", "date-fns": "4.1.0", "framer-motion": "11.18.2", - "geist": "1.3.1", "github-slugger": "^2.0.0", - "gray-matter": "^4.0.3", "hast-util-to-html": "9.0.3", "lodash": "^4.17.21", "marked": "^5.1.0", @@ -75,23 +60,18 @@ "next": "14.3.0-canary.43", "next-contentlayer2": "0.5.3", "next-themes": "0.4.3", - "nprogress": "^0.2.0", "parse-numeric-range": "1.2.0", "posthog-js": "1.197.0", "prism-react-renderer": "^1.2.1", - "querystring": "^0.2.1", "react": "18.3.0", "react-colorful": "^5.6.1", "react-dom": "18.3.0", "react-hook-form": "^7.51.3", - "react-icons": "^4.10.1", "react-live": "^4.1.8", "react-multi-ref": "^1.0.1", "react-wrap-balancer": "^1.0.0", "refractor": "3.3.1", - "rehype": "13.0.2", "rehype-parse": "9.0.1", - "rehype-pretty-code": "^0.14.0", "rehype-slug": "6.0.0", "remark": "^15.0.1", "remark-gfm": "4.0.0", @@ -109,8 +89,6 @@ }, "devDependencies": { "@docusaurus/utils": "2.0.0-beta.3", - "@next/bundle-analyzer": "14.3.0-canary.43", - "@next/env": "14.3.0-canary.43", "@react-types/calendar": "3.7.2", "@react-types/datepicker": "3.12.2", "@react-types/shared": "3.30.0", @@ -119,7 +97,6 @@ "@types/marked": "^5.0.0", "@types/mdx": "^2.0.5", "@types/node": "20.2.5", - "@types/nprogress": "^0.2.0", "@types/parse-numeric-range": "^0.0.1", "@types/react": "18.2.8", "@types/react-dom": "18.2.4", @@ -128,15 +105,11 @@ "@types/shelljs": "^0.8.9", "@types/uuid": "^8.3.1", "algoliasearch": "^4.10.3", - "autoprefixer": "10.4.20", "dotenv": "^16.0.1", "esbuild-plugin-raw": "0.1.8", - "eslint-config-next": "15.0.3", "markdown-toc": "^1.2.0", - "mdx-bundler": "10.0.3", "next-sitemap": "4.2.3", "node-fetch": "^3.2.10", - "postcss": "8.4.49", "prettier": "^2.7.1", "tailwindcss": "3.4.14", "tsx": "^3.8.2", diff --git a/apps/docs/types/index.ts b/apps/docs/types/index.ts index 1a73f1b86d..eaa6dd973d 100644 --- a/apps/docs/types/index.ts +++ b/apps/docs/types/index.ts @@ -1,4 +1,4 @@ -import {SVGProps} from "react"; +import type {SVGProps} from "react"; export type IconSvgProps = SVGProps & { size?: number; diff --git a/apps/docs/utils/get-sponsors.ts b/apps/docs/utils/get-sponsors.ts index a1a449d7e6..80d3fb28a8 100644 --- a/apps/docs/utils/get-sponsors.ts +++ b/apps/docs/utils/get-sponsors.ts @@ -1,9 +1,11 @@ +import type {Sponsor} from "@/libs/docs/sponsors"; + import {uniqBy} from "@heroui/shared-utils"; import fetch from "node-fetch"; import {__PROD__} from "./env"; -import {mockData, Sponsor} from "@/libs/docs/sponsors"; +import {mockData} from "@/libs/docs/sponsors"; export const getSponsors = async () => { try { diff --git a/apps/docs/utils/tree-keyboard-delegate.ts b/apps/docs/utils/tree-keyboard-delegate.ts index a3861a4a4a..274d0a98f2 100644 --- a/apps/docs/utils/tree-keyboard-delegate.ts +++ b/apps/docs/utils/tree-keyboard-delegate.ts @@ -1,5 +1,5 @@ -import {Key} from "react"; -import {TreeCollection} from "@react-stately/tree"; +import type {Key} from "react"; +import type {TreeCollection} from "@react-stately/tree"; export class TreeKeyboardDelegate { collator: Intl.Collator; diff --git a/eslint.config.mjs b/eslint.config.mjs index f258d9f75b..cbce3798e6 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -156,5 +156,9 @@ export default defineConfig([globalIgnores([ }], "import/consistent-type-specifier-style": ["error", "prefer-top-level"], + + "@typescript-eslint/consistent-type-imports": ["error", { + fixStyle: "inline-type-imports", + }], }, }]); \ No newline at end of file diff --git a/packages/components/accordion/__tests__/accordion.test.tsx b/packages/components/accordion/__tests__/accordion.test.tsx index 237e3d704a..d310d2c3b8 100644 --- a/packages/components/accordion/__tests__/accordion.test.tsx +++ b/packages/components/accordion/__tests__/accordion.test.tsx @@ -1,8 +1,10 @@ import "@testing-library/jest-dom"; +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {act, render, waitFor} from "@testing-library/react"; import {focus, shouldIgnoreReactWarning, spy} from "@heroui/test-utils"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Input} from "@heroui/input"; import {Accordion, AccordionItem} from "../src"; diff --git a/packages/components/accordion/package.json b/packages/components/accordion/package.json index 99fa3249ed..bddfc2ab16 100644 --- a/packages/components/accordion/package.json +++ b/packages/components/accordion/package.json @@ -59,7 +59,6 @@ "@react-aria/focus": "3.20.4", "@react-aria/utils": "3.29.1", "@react-stately/tree": "3.9.0", - "@react-aria/button": "3.13.2", "@react-types/accordion": "3.0.0-alpha.26", "@react-types/shared": "3.30.0" }, diff --git a/packages/components/accordion/src/accordion-item.tsx b/packages/components/accordion/src/accordion-item.tsx index 36463ac0be..a539d92e6a 100644 --- a/packages/components/accordion/src/accordion-item.tsx +++ b/packages/components/accordion/src/accordion-item.tsx @@ -1,12 +1,14 @@ import type {Variants} from "framer-motion"; +import type {ReactNode} from "react"; +import type {UseAccordionItemProps} from "./use-accordion-item"; import {forwardRef} from "@heroui/system"; -import {useMemo, ReactNode} from "react"; +import {useMemo} from "react"; import {ChevronIcon} from "@heroui/shared-icons"; import {AnimatePresence, LazyMotion, m, useWillChange} from "framer-motion"; import {TRANSITION_VARIANTS} from "@heroui/framer-utils"; -import {UseAccordionItemProps, useAccordionItem} from "./use-accordion-item"; +import {useAccordionItem} from "./use-accordion-item"; export interface AccordionItemProps extends UseAccordionItemProps {} diff --git a/packages/components/accordion/src/accordion.tsx b/packages/components/accordion/src/accordion.tsx index 84f6dab666..04735783e1 100644 --- a/packages/components/accordion/src/accordion.tsx +++ b/packages/components/accordion/src/accordion.tsx @@ -1,9 +1,12 @@ +import type {Key} from "react"; +import type {UseAccordionProps} from "./use-accordion"; + import {forwardRef} from "@heroui/system"; import {LayoutGroup} from "framer-motion"; import {Divider} from "@heroui/divider"; -import {Fragment, Key, useCallback, useMemo} from "react"; +import {Fragment, useCallback, useMemo} from "react"; -import {UseAccordionProps, useAccordion} from "./use-accordion"; +import {useAccordion} from "./use-accordion"; import AccordionItem from "./accordion-item"; export interface AccordionProps extends UseAccordionProps {} diff --git a/packages/components/accordion/src/base/accordion-item-base.tsx b/packages/components/accordion/src/base/accordion-item-base.tsx index 71afe4e693..3d15add198 100644 --- a/packages/components/accordion/src/base/accordion-item-base.tsx +++ b/packages/components/accordion/src/base/accordion-item-base.tsx @@ -1,10 +1,11 @@ import type {AccordionItemVariantProps, AccordionItemSlots, SlotsToClasses} from "@heroui/theme"; +import type {As} from "@heroui/system"; +import type {ItemProps} from "@heroui/aria-utils"; +import type {FocusableProps, PressEvents} from "@react-types/shared"; +import type {ReactNode} from "react"; +import type {HTMLMotionProps} from "framer-motion"; -import {As} from "@heroui/system"; -import {ItemProps, BaseItem} from "@heroui/aria-utils"; -import {FocusableProps, PressEvents} from "@react-types/shared"; -import {ReactNode} from "react"; -import {HTMLMotionProps} from "framer-motion"; +import {BaseItem} from "@heroui/aria-utils"; export type AccordionItemIndicatorProps = { /** diff --git a/packages/components/accordion/src/use-accordion-item.ts b/packages/components/accordion/src/use-accordion-item.ts index 58466bdfe0..e8a348531c 100644 --- a/packages/components/accordion/src/use-accordion-item.ts +++ b/packages/components/accordion/src/use-accordion-item.ts @@ -1,18 +1,19 @@ import type {AccordionItemVariantProps} from "@heroui/theme"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {NodeWithProps} from "@heroui/aria-utils"; +import type {TreeState} from "@react-stately/tree"; +import type {AccordionItemBaseProps} from "./base/accordion-item-base"; -import {HTMLHeroUIProps, PropGetter, useProviderContext} from "@heroui/system"; +import {useProviderContext} from "@heroui/system"; import {useFocusRing} from "@react-aria/focus"; import {accordionItem} from "@heroui/theme"; import {clsx, callAllHandlers, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef, useDOMRef, filterDOMProps} from "@heroui/react-utils"; -import {NodeWithProps} from "@heroui/aria-utils"; +import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {useReactAriaAccordionItem} from "@heroui/use-aria-accordion"; import {useCallback, useMemo} from "react"; import {chain, mergeProps} from "@react-aria/utils"; import {useHover, usePress} from "@react-aria/interactions"; -import {TreeState} from "@react-stately/tree"; - -import {AccordionItemBaseProps} from "./base/accordion-item-base"; export interface Props extends HTMLHeroUIProps<"div"> { /** diff --git a/packages/components/accordion/src/use-accordion.ts b/packages/components/accordion/src/use-accordion.ts index d5668543ce..d3be0a3231 100644 --- a/packages/components/accordion/src/use-accordion.ts +++ b/packages/components/accordion/src/use-accordion.ts @@ -2,20 +2,22 @@ import type {SelectionBehavior, MultipleSelection} from "@react-types/shared"; import type {AriaAccordionProps} from "@react-types/accordion"; import type {AccordionGroupVariantProps} from "@heroui/theme"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {Key} from "react"; +import type {TreeState} from "@react-stately/tree"; +import type {DividerProps} from "@heroui/divider"; +import type {AccordionItemProps} from "./accordion-item"; import {useProviderContext} from "@heroui/system"; -import {ReactRef, filterDOMProps} from "@heroui/react-utils"; -import React, {Key, useCallback} from "react"; -import {TreeState, useTreeState} from "@react-stately/tree"; +import {filterDOMProps} from "@heroui/react-utils"; +import React, {useCallback} from "react"; +import {useTreeState} from "@react-stately/tree"; import {mergeProps} from "@react-aria/utils"; import {accordion} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {useMemo, useState} from "react"; -import {DividerProps} from "@heroui/divider"; import {useReactAriaAccordion} from "@heroui/use-aria-accordion"; -import {AccordionItemProps} from "./accordion-item"; - interface Props extends HTMLHeroUIProps<"div"> { /** * Ref to the DOM node. diff --git a/packages/components/accordion/stories/accordion.stories.tsx b/packages/components/accordion/stories/accordion.stories.tsx index fcf55191a3..7a0309a8ac 100644 --- a/packages/components/accordion/stories/accordion.stories.tsx +++ b/packages/components/accordion/stories/accordion.stories.tsx @@ -1,7 +1,8 @@ import type {Selection} from "@react-types/shared"; +import type {Meta} from "@storybook/react"; +import type {AccordionProps, AccordionItemProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {accordionItem, button} from "@heroui/theme"; import { AnchorIcon, @@ -16,7 +17,7 @@ import {Avatar} from "@heroui/avatar"; import {Input, Textarea} from "@heroui/input"; import {Button} from "@heroui/button"; -import {Accordion, AccordionProps, AccordionItem, AccordionItemProps} from "../src"; +import {Accordion, AccordionItem} from "../src"; export default { title: "Components/Accordion", diff --git a/packages/components/alert/src/alert.tsx b/packages/components/alert/src/alert.tsx index d4f2aa00cd..3801fccd3a 100644 --- a/packages/components/alert/src/alert.tsx +++ b/packages/components/alert/src/alert.tsx @@ -1,4 +1,5 @@ import type {ButtonProps} from "@heroui/button"; +import type {UseAlertProps} from "./use-alert"; import {forwardRef} from "@heroui/system"; import { @@ -12,7 +13,7 @@ import {isEmpty} from "@heroui/shared-utils"; import {Button} from "@heroui/button"; import {cloneElement, isValidElement} from "react"; -import {useAlert, UseAlertProps} from "./use-alert"; +import {useAlert} from "./use-alert"; const iconMap = { primary: InfoCircleIcon, diff --git a/packages/components/alert/src/use-alert.ts b/packages/components/alert/src/use-alert.ts index 4f2d47f389..dfc4ac4150 100644 --- a/packages/components/alert/src/use-alert.ts +++ b/packages/components/alert/src/use-alert.ts @@ -1,9 +1,12 @@ import type {ButtonProps} from "@heroui/button"; import type {AlertSlots, AlertVariantProps, SlotsToClasses} from "@heroui/theme"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {ReactNode} from "react"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter} from "@heroui/system"; -import {filterDOMProps, ReactRef, useDOMRef} from "@heroui/react-utils"; -import {ReactNode, useCallback, useMemo} from "react"; +import {mapPropsVariants} from "@heroui/system"; +import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; +import {useCallback, useMemo} from "react"; import {mergeProps} from "@react-aria/utils"; import {alert} from "@heroui/theme"; import {useControlledState} from "@react-stately/utils"; diff --git a/packages/components/alert/stories/alert.stories.tsx b/packages/components/alert/stories/alert.stories.tsx index 8d690c6d6a..0d870bbc98 100644 --- a/packages/components/alert/stories/alert.stories.tsx +++ b/packages/components/alert/stories/alert.stories.tsx @@ -1,9 +1,11 @@ +import type {Meta} from "@storybook/react"; +import type {AlertProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {alert, cn} from "@heroui/theme"; import {Button} from "@heroui/button"; -import {Alert, AlertProps} from "../src"; +import {Alert} from "../src"; export default { title: "Components/Alert", diff --git a/packages/components/autocomplete/__tests__/autocomplete.test.tsx b/packages/components/autocomplete/__tests__/autocomplete.test.tsx index c8a8f418da..942ce22cde 100644 --- a/packages/components/autocomplete/__tests__/autocomplete.test.tsx +++ b/packages/components/autocomplete/__tests__/autocomplete.test.tsx @@ -1,12 +1,15 @@ import "@testing-library/jest-dom"; +import type {UserEvent} from "@testing-library/user-event"; +import type {AutocompleteProps} from "../src"; + import * as React from "react"; import {within, render, renderHook, act} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {spy, shouldIgnoreReactWarning} from "@heroui/test-utils"; import {useForm} from "react-hook-form"; import {Form} from "@heroui/form"; -import {Autocomplete, AutocompleteItem, AutocompleteProps, AutocompleteSection} from "../src"; +import {Autocomplete, AutocompleteItem, AutocompleteSection} from "../src"; import {Modal, ModalContent, ModalBody, ModalHeader, ModalFooter} from "../../modal/src"; type Item = { diff --git a/packages/components/autocomplete/package.json b/packages/components/autocomplete/package.json index 503e689e49..06e2510cf0 100644 --- a/packages/components/autocomplete/package.json +++ b/packages/components/autocomplete/package.json @@ -51,22 +51,16 @@ "@heroui/scroll-shadow": "workspace:*", "@heroui/shared-icons": "workspace:*", "@heroui/shared-utils": "workspace:*", - "@heroui/spinner": "workspace:*", - "@heroui/use-aria-button": "workspace:*", "@heroui/use-safe-layout-effect": "workspace:*", "@react-aria/combobox": "3.12.4", - "@react-aria/focus": "3.20.4", "@react-aria/i18n": "3.12.10", - "@react-aria/interactions": "3.25.2", "@react-aria/utils": "3.29.1", - "@react-aria/visually-hidden": "3.8.24", "@react-stately/combobox": "3.10.6", "@react-types/combobox": "3.13.6", "@react-types/shared": "3.30.0" }, "devDependencies": { "@heroui/avatar": "workspace:*", - "@heroui/chip": "workspace:*", "@heroui/stories-utils": "workspace:*", "@heroui/test-utils": "workspace:*", "@heroui/system": "workspace:*", diff --git a/packages/components/autocomplete/src/autocomplete.tsx b/packages/components/autocomplete/src/autocomplete.tsx index 7c7de7b0f2..aa5bd2afc6 100644 --- a/packages/components/autocomplete/src/autocomplete.tsx +++ b/packages/components/autocomplete/src/autocomplete.tsx @@ -1,3 +1,6 @@ +import type {ForwardedRef, ReactElement} from "react"; +import type {UseAutocompleteProps} from "./use-autocomplete"; + import {forwardRef} from "@heroui/system"; import {FreeSoloPopover} from "@heroui/popover"; import {ScrollShadow} from "@heroui/scroll-shadow"; @@ -5,10 +8,9 @@ import {ChevronDownIcon, CloseIcon} from "@heroui/shared-icons"; import {Listbox} from "@heroui/listbox"; import {Button} from "@heroui/button"; import {Input} from "@heroui/input"; -import {ForwardedRef, ReactElement} from "react"; import {AnimatePresence} from "framer-motion"; -import {UseAutocompleteProps, useAutocomplete} from "./use-autocomplete"; +import {useAutocomplete} from "./use-autocomplete"; interface Props extends UseAutocompleteProps {} diff --git a/packages/components/autocomplete/src/use-autocomplete.ts b/packages/components/autocomplete/src/use-autocomplete.ts index 8f46f84c5c..1f3b7365ad 100644 --- a/packages/components/autocomplete/src/use-autocomplete.ts +++ b/packages/components/autocomplete/src/use-autocomplete.ts @@ -1,22 +1,25 @@ import type {AutocompleteVariantProps, SlotsToClasses, AutocompleteSlots} from "@heroui/theme"; import type {DOMAttributes, HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {FilterFn} from "@react-stately/combobox"; +import type {ReactRef} from "@heroui/react-utils"; +import type {ReactNode} from "react"; +import type {ComboBoxProps} from "@react-types/combobox"; +import type {PopoverProps} from "@heroui/popover"; +import type {ListboxProps} from "@heroui/listbox"; +import type {InputProps} from "@heroui/input"; +import type {ScrollShadowProps} from "@heroui/scroll-shadow"; +import type {ButtonProps} from "@heroui/button"; +import type {AsyncLoadable, PressEvent} from "@react-types/shared"; -import {mapPropsVariants, useProviderContext} from "@heroui/system"; -import {useSafeLayoutEffect} from "@heroui/use-safe-layout-effect"; -import {autocomplete} from "@heroui/theme"; -import {useFilter} from "@react-aria/i18n"; -import {FilterFn, useComboBoxState} from "@react-stately/combobox"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; -import {ReactNode, useEffect, useMemo, useRef} from "react"; -import {ComboBoxProps} from "@react-types/combobox"; -import {PopoverProps} from "@heroui/popover"; -import {ListboxProps} from "@heroui/listbox"; -import {InputProps} from "@heroui/input"; -import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ScrollShadowProps} from "@heroui/scroll-shadow"; import {chain, mergeProps} from "@react-aria/utils"; -import {ButtonProps} from "@heroui/button"; -import {AsyncLoadable, PressEvent} from "@react-types/shared"; +import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; +import {useEffect, useMemo, useRef} from "react"; +import {useDOMRef} from "@heroui/react-utils"; +import {useComboBoxState} from "@react-stately/combobox"; +import {useFilter} from "@react-aria/i18n"; +import {autocomplete} from "@heroui/theme"; +import {useSafeLayoutEffect} from "@heroui/use-safe-layout-effect"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useComboBox} from "@react-aria/combobox"; import {FormContext, useSlottedContext} from "@heroui/form"; import {ariaShouldCloseOnInteractOutside} from "@heroui/aria-utils"; diff --git a/packages/components/autocomplete/stories/autocomplete.stories.tsx b/packages/components/autocomplete/stories/autocomplete.stories.tsx index e67c2a6e2f..c3b5091e18 100644 --- a/packages/components/autocomplete/stories/autocomplete.stories.tsx +++ b/packages/components/autocomplete/stories/autocomplete.stories.tsx @@ -1,11 +1,14 @@ import type {ValidationResult} from "@react-types/shared"; +import type {Key} from "react"; +import type {Meta} from "@storybook/react"; +import type {Pokemon, Animal, User} from "@heroui/stories-utils"; +import type {AutocompleteProps} from "../src"; -import React, {Key} from "react"; -import {Meta} from "@storybook/react"; +import React from "react"; import {useForm} from "react-hook-form"; import {useFilter} from "@react-aria/i18n"; import {autocomplete, input, button} from "@heroui/theme"; -import {Pokemon, usePokemonList, animalsData, usersData, Animal, User} from "@heroui/stories-utils"; +import {usePokemonList, animalsData, usersData} from "@heroui/stories-utils"; import {useAsyncList} from "@react-stately/data"; import {useInfiniteScroll} from "@heroui/use-infinite-scroll"; import {PetBoldIcon, SearchLinearIcon, SelectorIcon} from "@heroui/shared-icons"; @@ -13,7 +16,7 @@ import {Avatar} from "@heroui/avatar"; import {Button} from "@heroui/button"; import {Form} from "@heroui/form"; -import {Autocomplete, AutocompleteItem, AutocompleteProps, AutocompleteSection} from "../src"; +import {Autocomplete, AutocompleteItem, AutocompleteSection} from "../src"; export default { title: "Components/Autocomplete", diff --git a/packages/components/avatar/src/avatar-group-context.ts b/packages/components/avatar/src/avatar-group-context.ts index 767292ee12..cf27476675 100644 --- a/packages/components/avatar/src/avatar-group-context.ts +++ b/packages/components/avatar/src/avatar-group-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {ContextType} from "./use-avatar-group"; -import {ContextType} from "./use-avatar-group"; +import {createContext} from "@heroui/react-utils"; export const [AvatarGroupProvider, useAvatarGroupContext] = createContext({ name: "AvatarGroupContext", diff --git a/packages/components/avatar/src/avatar-group.tsx b/packages/components/avatar/src/avatar-group.tsx index 61fbd5d307..30cafc0815 100644 --- a/packages/components/avatar/src/avatar-group.tsx +++ b/packages/components/avatar/src/avatar-group.tsx @@ -1,7 +1,9 @@ +import type {UseAvatarGroupProps} from "./use-avatar-group"; + import {forwardRef} from "@heroui/system"; import {AvatarGroupProvider} from "./avatar-group-context"; -import {useAvatarGroup, UseAvatarGroupProps} from "./use-avatar-group"; +import {useAvatarGroup} from "./use-avatar-group"; import Avatar from "./avatar"; export interface AvatarGroupProps extends UseAvatarGroupProps {} diff --git a/packages/components/avatar/src/avatar.tsx b/packages/components/avatar/src/avatar.tsx index 05b86b7df9..3305ef9ab9 100644 --- a/packages/components/avatar/src/avatar.tsx +++ b/packages/components/avatar/src/avatar.tsx @@ -1,8 +1,10 @@ +import type {UseAvatarProps} from "./use-avatar"; + import {useMemo} from "react"; import {forwardRef} from "@heroui/system"; import {AvatarIcon} from "./avatar-icon"; -import {useAvatar, UseAvatarProps} from "./use-avatar"; +import {useAvatar} from "./use-avatar"; export interface AvatarProps extends UseAvatarProps {} diff --git a/packages/components/avatar/src/use-avatar-group.ts b/packages/components/avatar/src/use-avatar-group.ts index 2cc3c6483b..f0f84e8d04 100644 --- a/packages/components/avatar/src/use-avatar-group.ts +++ b/packages/components/avatar/src/use-avatar-group.ts @@ -1,15 +1,15 @@ import type {ReactNode} from "react"; import type {SlotsToClasses, AvatarGroupSlots, AvatarGroupVariantProps} from "@heroui/theme"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {AvatarProps} from "./index"; import {avatarGroup} from "@heroui/theme"; -import {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, compact} from "@heroui/shared-utils"; -import {ReactRef, getValidChildren} from "@heroui/react-utils"; +import {getValidChildren} from "@heroui/react-utils"; import {cloneElement, useMemo} from "react"; -import {AvatarProps} from "./index"; - interface Props extends HTMLHeroUIProps<"div"> { /** * Ref to the DOM node. diff --git a/packages/components/avatar/src/use-avatar.ts b/packages/components/avatar/src/use-avatar.ts index 2938063ae7..cc3baa7104 100644 --- a/packages/components/avatar/src/use-avatar.ts +++ b/packages/components/avatar/src/use-avatar.ts @@ -1,10 +1,11 @@ import type {AvatarSlots, AvatarVariantProps, SlotsToClasses} from "@heroui/theme"; import type {DOMElement, DOMAttributes, HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; import {avatar} from "@heroui/theme"; import {useProviderContext} from "@heroui/system"; import {mergeProps} from "@react-aria/utils"; -import {ReactRef, useDOMRef, filterDOMProps} from "@heroui/react-utils"; +import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {clsx, safeText, dataAttr} from "@heroui/shared-utils"; import {useFocusRing} from "@react-aria/focus"; import {useMemo, useCallback} from "react"; diff --git a/packages/components/avatar/stories/avatar-group.stories.tsx b/packages/components/avatar/stories/avatar-group.stories.tsx index 2efe5ae5b8..fc2087ab93 100644 --- a/packages/components/avatar/stories/avatar-group.stories.tsx +++ b/packages/components/avatar/stories/avatar-group.stories.tsx @@ -1,7 +1,9 @@ +import type {Meta} from "@storybook/react"; +import type {AvatarGroupProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; -import {Avatar, AvatarGroup, AvatarGroupProps} from "../src"; +import {Avatar, AvatarGroup} from "../src"; export default { title: "Components/AvatarGroup", diff --git a/packages/components/avatar/stories/avatar.stories.tsx b/packages/components/avatar/stories/avatar.stories.tsx index a00fadb931..0bb6542930 100644 --- a/packages/components/avatar/stories/avatar.stories.tsx +++ b/packages/components/avatar/stories/avatar.stories.tsx @@ -1,5 +1,6 @@ +import type {Meta} from "@storybook/react"; + import React from "react"; -import {Meta} from "@storybook/react"; import {Activity, Camera} from "@heroui/shared-icons"; import {avatar} from "@heroui/theme"; diff --git a/packages/components/badge/src/badge.tsx b/packages/components/badge/src/badge.tsx index 8a477792f8..5b6da321f6 100644 --- a/packages/components/badge/src/badge.tsx +++ b/packages/components/badge/src/badge.tsx @@ -1,6 +1,8 @@ +import type {UseBadgeProps} from "./use-badge"; + import {forwardRef} from "@heroui/system"; -import {UseBadgeProps, useBadge} from "./use-badge"; +import {useBadge} from "./use-badge"; export interface BadgeProps extends UseBadgeProps {} diff --git a/packages/components/badge/src/use-badge.ts b/packages/components/badge/src/use-badge.ts index 7867737b52..6c42f8a669 100644 --- a/packages/components/badge/src/use-badge.ts +++ b/packages/components/badge/src/use-badge.ts @@ -1,11 +1,11 @@ import type {BadgeSlots, BadgeVariantProps, SlotsToClasses} from "@heroui/theme"; import type {ReactNode} from "react"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; import {badge} from "@heroui/theme"; import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {clsx, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useMemo} from "react"; interface Props extends HTMLHeroUIProps<"span", "content"> { diff --git a/packages/components/badge/stories/badge.stories.tsx b/packages/components/badge/stories/badge.stories.tsx index 6f886f3ef1..0a8bc02ab2 100644 --- a/packages/components/badge/stories/badge.stories.tsx +++ b/packages/components/badge/stories/badge.stories.tsx @@ -1,12 +1,14 @@ +import type {Meta} from "@storybook/react"; +import type {BadgeProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {badge} from "@heroui/theme"; import {Avatar} from "@heroui/avatar"; import {CheckIcon} from "@heroui/shared-icons"; import {Switch} from "@heroui/switch"; import {Notification, CartIcon} from "@heroui/shared-icons"; -import {Badge, BadgeProps} from "../src"; +import {Badge} from "../src"; export default { title: "Components/Badge", diff --git a/packages/components/breadcrumbs/package.json b/packages/components/breadcrumbs/package.json index 46df07309d..b084ee101d 100644 --- a/packages/components/breadcrumbs/package.json +++ b/packages/components/breadcrumbs/package.json @@ -46,8 +46,7 @@ "@react-aria/focus": "3.20.4", "@react-aria/breadcrumbs": "3.5.25", "@react-aria/utils": "3.29.1", - "@react-types/breadcrumbs": "3.7.14", - "@react-types/shared": "3.30.0" + "@react-types/breadcrumbs": "3.7.14" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/breadcrumbs/src/breadcrumb-item.tsx b/packages/components/breadcrumbs/src/breadcrumb-item.tsx index 7400171e4b..1f83ab018a 100644 --- a/packages/components/breadcrumbs/src/breadcrumb-item.tsx +++ b/packages/components/breadcrumbs/src/breadcrumb-item.tsx @@ -1,6 +1,8 @@ +import type {UseBreadcrumbItemProps} from "./use-breadcrumb-item"; + import {forwardRef} from "@heroui/system"; -import {UseBreadcrumbItemProps, useBreadcrumbItem} from "./use-breadcrumb-item"; +import {useBreadcrumbItem} from "./use-breadcrumb-item"; export interface BreadcrumbItemProps extends UseBreadcrumbItemProps {} diff --git a/packages/components/breadcrumbs/src/breadcrumbs.tsx b/packages/components/breadcrumbs/src/breadcrumbs.tsx index db7e24bb12..50551ff770 100644 --- a/packages/components/breadcrumbs/src/breadcrumbs.tsx +++ b/packages/components/breadcrumbs/src/breadcrumbs.tsx @@ -1,10 +1,12 @@ +import type {UseBreadcrumbsProps} from "./use-breadcrumbs"; + import {cloneElement, isValidElement, useMemo} from "react"; import {forwardRef} from "@heroui/system"; import {ChevronRightIcon, EllipsisIcon} from "@heroui/shared-icons"; import {warn} from "@heroui/shared-utils"; import {chain} from "@react-aria/utils"; -import {UseBreadcrumbsProps, useBreadcrumbs} from "./use-breadcrumbs"; +import {useBreadcrumbs} from "./use-breadcrumbs"; export interface BreadcrumbsProps extends UseBreadcrumbsProps {} diff --git a/packages/components/breadcrumbs/src/use-breadcrumb-item.ts b/packages/components/breadcrumbs/src/use-breadcrumb-item.ts index e245a6e8aa..aa64b7759f 100644 --- a/packages/components/breadcrumbs/src/use-breadcrumb-item.ts +++ b/packages/components/breadcrumbs/src/use-breadcrumb-item.ts @@ -1,11 +1,13 @@ import type {BreadcrumbItemVariantProps, SlotsToClasses, BreadcrumbItemSlots} from "@heroui/theme"; import type {ReactNode} from "react"; import type {BreadcrumbItemProps as AriaBreadcrumbItemProps} from "@react-types/breadcrumbs"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter} from "@heroui/system"; +import {mapPropsVariants} from "@heroui/system"; import {useFocusRing} from "@react-aria/focus"; import {breadcrumbItem} from "@heroui/theme"; -import {filterDOMProps, ReactRef, useDOMRef} from "@heroui/react-utils"; +import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; import {useBreadcrumbItem as useAriaBreadcrumbItem} from "@react-aria/breadcrumbs"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; import {useMemo} from "react"; diff --git a/packages/components/breadcrumbs/src/use-breadcrumbs.ts b/packages/components/breadcrumbs/src/use-breadcrumbs.ts index 63e7fb8fa6..426a6ee1aa 100644 --- a/packages/components/breadcrumbs/src/use-breadcrumbs.ts +++ b/packages/components/breadcrumbs/src/use-breadcrumbs.ts @@ -1,16 +1,20 @@ import type {BreadcrumbsVariantProps, SlotsToClasses, BreadcrumbsSlots} from "@heroui/theme"; import type {AriaBreadcrumbsProps} from "@react-types/breadcrumbs"; +import type {ReactNode, Key, ReactElement} from "react"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {BreadcrumbItemProps} from "./breadcrumb-item"; -import {Children, ReactNode, Key, ReactElement} from "react"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {Children} from "react"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {breadcrumbs} from "@heroui/theme"; -import {filterDOMProps, pickChildren, ReactRef, useDOMRef} from "@heroui/react-utils"; +import {filterDOMProps, pickChildren, useDOMRef} from "@heroui/react-utils"; import {mergeProps} from "@react-aria/utils"; import {useBreadcrumbs as useAriaBreadcrumbs} from "@react-aria/breadcrumbs"; import {useMemo} from "react"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import BreadcrumbItem, {BreadcrumbItemProps} from "./breadcrumb-item"; +import BreadcrumbItem from "./breadcrumb-item"; type RenderEllipsisItemProps = { /** diff --git a/packages/components/breadcrumbs/stories/breadcrumbs.stories.tsx b/packages/components/breadcrumbs/stories/breadcrumbs.stories.tsx index b4f9b44098..e18efd709b 100644 --- a/packages/components/breadcrumbs/stories/breadcrumbs.stories.tsx +++ b/packages/components/breadcrumbs/stories/breadcrumbs.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {BreadcrumbsProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {breadcrumbItem} from "@heroui/theme"; import {Dropdown, DropdownTrigger, DropdownMenu, DropdownItem} from "@heroui/dropdown"; import {Button} from "@heroui/button"; @@ -15,7 +17,7 @@ import { } from "@heroui/shared-icons"; import {clsx} from "@heroui/shared-utils"; -import {Breadcrumbs, BreadcrumbItem, BreadcrumbsProps} from "../src"; +import {Breadcrumbs, BreadcrumbItem} from "../src"; export default { title: "Components/Breadcrumbs", diff --git a/packages/components/button/__tests__/button.test.tsx b/packages/components/button/__tests__/button.test.tsx index e019b4dd23..029eb60cd0 100644 --- a/packages/components/button/__tests__/button.test.tsx +++ b/packages/components/button/__tests__/button.test.tsx @@ -1,7 +1,9 @@ import "@testing-library/jest-dom"; +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Button} from "../src"; diff --git a/packages/components/button/package.json b/packages/components/button/package.json index d88a9fa56b..e51e84bf9f 100644 --- a/packages/components/button/package.json +++ b/packages/components/button/package.json @@ -46,12 +46,10 @@ "@heroui/use-aria-button": "workspace:*", "@heroui/ripple": "workspace:*", "@heroui/spinner": "workspace:*", - "@react-aria/button": "3.13.2", "@react-aria/interactions": "3.25.2", "@react-aria/utils": "3.29.1", "@react-aria/focus": "3.20.4", - "@react-types/shared": "3.30.0", - "@react-types/button": "3.12.2" + "@react-types/shared": "3.30.0" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/button/src/button-group-context.ts b/packages/components/button/src/button-group-context.ts index 87651ddce9..1d30b3ee24 100644 --- a/packages/components/button/src/button-group-context.ts +++ b/packages/components/button/src/button-group-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {ContextType} from "./use-button-group"; -import {ContextType} from "./use-button-group"; +import {createContext} from "@heroui/react-utils"; export const [ButtonGroupProvider, useButtonGroupContext] = createContext({ name: "ButtonGroupContext", diff --git a/packages/components/button/src/button-group.tsx b/packages/components/button/src/button-group.tsx index 2ca802dafe..8f4c45d93e 100644 --- a/packages/components/button/src/button-group.tsx +++ b/packages/components/button/src/button-group.tsx @@ -1,7 +1,9 @@ +import type {UseButtonGroupProps} from "./use-button-group"; + import {forwardRef} from "@heroui/system"; import {ButtonGroupProvider} from "./button-group-context"; -import {UseButtonGroupProps, useButtonGroup} from "./use-button-group"; +import {useButtonGroup} from "./use-button-group"; export interface ButtonGroupProps extends UseButtonGroupProps {} diff --git a/packages/components/button/src/button.tsx b/packages/components/button/src/button.tsx index a30f3bb536..7e42ba71b3 100644 --- a/packages/components/button/src/button.tsx +++ b/packages/components/button/src/button.tsx @@ -1,8 +1,10 @@ +import type {UseButtonProps} from "./use-button"; + import {Spinner} from "@heroui/spinner"; import {Ripple} from "@heroui/ripple"; import {forwardRef} from "@heroui/system"; -import {UseButtonProps, useButton} from "./use-button"; +import {useButton} from "./use-button"; export interface ButtonProps extends UseButtonProps {} diff --git a/packages/components/button/src/use-button-group.ts b/packages/components/button/src/use-button-group.ts index 05d4d15dab..f1ce4baba3 100644 --- a/packages/components/button/src/use-button-group.ts +++ b/packages/components/button/src/use-button-group.ts @@ -1,9 +1,10 @@ import type {ButtonProps} from "./index"; import type {ReactRef} from "@heroui/react-utils"; import type {ButtonGroupVariantProps} from "@heroui/theme"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {buttonGroup} from "@heroui/theme"; -import {HTMLHeroUIProps, PropGetter, mapPropsVariants, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {useMemo, useCallback} from "react"; import {objectToDeps} from "@heroui/shared-utils"; diff --git a/packages/components/button/src/use-button.ts b/packages/components/button/src/use-button.ts index 3a020e5560..84f0466707 100644 --- a/packages/components/button/src/use-button.ts +++ b/packages/components/button/src/use-button.ts @@ -3,19 +3,21 @@ import type {AriaButtonProps} from "@heroui/use-aria-button"; import type {ReactNode} from "react"; import type {RippleProps} from "@heroui/ripple"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {MouseEventHandler} from "react"; +import type {PressEvent} from "@react-aria/interactions"; +import type {SpinnerProps} from "@heroui/spinner"; import {useProviderContext} from "@heroui/system"; import {dataAttr} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; -import {MouseEventHandler, useCallback} from "react"; +import {useCallback} from "react"; import {useFocusRing} from "@react-aria/focus"; import {chain, mergeProps} from "@react-aria/utils"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {button} from "@heroui/theme"; import {isValidElement, cloneElement, useMemo} from "react"; import {useAriaButton} from "@heroui/use-aria-button"; -import {PressEvent, useHover} from "@react-aria/interactions"; -import {SpinnerProps} from "@heroui/spinner"; +import {useHover} from "@react-aria/interactions"; import {useRipple} from "@heroui/ripple"; import {useButtonGroupContext} from "./button-group-context"; diff --git a/packages/components/button/stories/button-group.stories.tsx b/packages/components/button/stories/button-group.stories.tsx index 6b74427038..76830f9b47 100644 --- a/packages/components/button/stories/button-group.stories.tsx +++ b/packages/components/button/stories/button-group.stories.tsx @@ -1,8 +1,10 @@ +import type {Meta} from "@storybook/react"; +import type {ButtonGroupProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {button, buttonGroup} from "@heroui/theme"; -import {Button, ButtonGroup, ButtonGroupProps} from "../src"; +import {Button, ButtonGroup} from "../src"; export default { title: "Components/ButtonGroup", diff --git a/packages/components/button/stories/button.stories.tsx b/packages/components/button/stories/button.stories.tsx index ffae7adc94..d587f23a59 100644 --- a/packages/components/button/stories/button.stories.tsx +++ b/packages/components/button/stories/button.stories.tsx @@ -1,9 +1,11 @@ +import type {Meta} from "@storybook/react"; +import type {ButtonProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {button} from "@heroui/theme"; import {Camera, HeadphonesIcon, Notification} from "@heroui/shared-icons"; -import {Button, ButtonProps} from "../src"; +import {Button} from "../src"; export default { title: "Components/Button", diff --git a/packages/components/calendar/__tests__/calendar.test.tsx b/packages/components/calendar/__tests__/calendar.test.tsx index e3d2f45830..03ac3e5998 100644 --- a/packages/components/calendar/__tests__/calendar.test.tsx +++ b/packages/components/calendar/__tests__/calendar.test.tsx @@ -1,4 +1,6 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {CalendarProps} from "../src"; + import * as React from "react"; import {render, act, fireEvent} from "@testing-library/react"; import {CalendarDate, isWeekend} from "@internationalized/date"; @@ -6,7 +8,7 @@ import {triggerPress, keyCodes} from "@heroui/test-utils"; import {useLocale} from "@react-aria/i18n"; import {HeroUIProvider} from "@heroui/system"; -import {Calendar as CalendarBase, CalendarProps} from "../src"; +import {Calendar as CalendarBase} from "../src"; /** * Custom calendar to disable animations and avoid issues with react-motion and jest diff --git a/packages/components/calendar/__tests__/range-calendar.test.tsx b/packages/components/calendar/__tests__/range-calendar.test.tsx index 76c97031de..953bd2a295 100644 --- a/packages/components/calendar/__tests__/range-calendar.test.tsx +++ b/packages/components/calendar/__tests__/range-calendar.test.tsx @@ -1,11 +1,13 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {RangeCalendarProps} from "../src"; + import * as React from "react"; import {render, act, fireEvent} from "@testing-library/react"; import {CalendarDate} from "@internationalized/date"; import {keyCodes, triggerPress, pointerMap, type} from "@heroui/test-utils"; import userEvent from "@testing-library/user-event"; -import {RangeCalendar as RangeCalendarCalendarBase, RangeCalendarProps} from "../src"; +import {RangeCalendar as RangeCalendarCalendarBase} from "../src"; let cellFormatter = new Intl.DateTimeFormat("en-US", { weekday: "long", diff --git a/packages/components/calendar/package.json b/packages/components/calendar/package.json index bdba0b4a71..cd6a8595fb 100644 --- a/packages/components/calendar/package.json +++ b/packages/components/calendar/package.json @@ -60,8 +60,7 @@ "@react-types/calendar": "3.7.2", "@react-aria/interactions": "3.25.2", "@react-types/shared": "3.30.0", - "scroll-into-view-if-needed": "3.0.10", - "@types/lodash.debounce": "^4.0.7" + "scroll-into-view-if-needed": "3.0.10" }, "devDependencies": { "@heroui/system": "workspace:*", diff --git a/packages/components/calendar/src/calendar-cell.tsx b/packages/components/calendar/src/calendar-cell.tsx index 73fd88eefb..2bc16d37e4 100644 --- a/packages/components/calendar/src/calendar-cell.tsx +++ b/packages/components/calendar/src/calendar-cell.tsx @@ -1,9 +1,11 @@ import type {CalendarState, RangeCalendarState} from "@react-stately/calendar"; import type {CalendarSlots, SlotsToClasses, CalendarReturnType} from "@heroui/theme"; +import type {AriaCalendarCellProps} from "@react-aria/calendar"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {CalendarDate} from "@internationalized/date"; -import {CalendarDate, getDayOfWeek, isSameDay, isSameMonth, isToday} from "@internationalized/date"; -import {AriaCalendarCellProps, useCalendarCell} from "@react-aria/calendar"; -import {HTMLHeroUIProps} from "@heroui/system"; +import {getDayOfWeek, isSameDay, isSameMonth, isToday} from "@internationalized/date"; +import {useCalendarCell} from "@react-aria/calendar"; import {mergeProps} from "@react-aria/utils"; import {useLocale} from "@react-aria/i18n"; import {useFocusRing} from "@react-aria/focus"; diff --git a/packages/components/calendar/src/calendar-header.tsx b/packages/components/calendar/src/calendar-header.tsx index fb1e3c881f..cd690fb335 100644 --- a/packages/components/calendar/src/calendar-header.tsx +++ b/packages/components/calendar/src/calendar-header.tsx @@ -1,7 +1,7 @@ import type {ButtonProps} from "@heroui/button"; import type {CalendarDate} from "@internationalized/date"; +import type {HTMLHeroUIProps} from "@heroui/system"; -import {HTMLHeroUIProps} from "@heroui/system"; import {useDateFormatter} from "@react-aria/i18n"; import {m} from "framer-motion"; import {Button} from "@heroui/button"; diff --git a/packages/components/calendar/src/calendar-month.tsx b/packages/components/calendar/src/calendar-month.tsx index c5182135e8..1d56122939 100644 --- a/packages/components/calendar/src/calendar-month.tsx +++ b/packages/components/calendar/src/calendar-month.tsx @@ -1,6 +1,8 @@ -import {CalendarDate, endOfMonth, getWeeksInMonth} from "@internationalized/date"; -import {CalendarPropsBase} from "@react-types/calendar"; -import {HTMLHeroUIProps} from "@heroui/system"; +import type {CalendarDate} from "@internationalized/date"; +import type {CalendarPropsBase} from "@react-types/calendar"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {endOfMonth, getWeeksInMonth} from "@internationalized/date"; import {useLocale} from "@react-aria/i18n"; import {useCalendarGrid} from "@react-aria/calendar"; import {m} from "framer-motion"; diff --git a/packages/components/calendar/src/calendar-picker-item.tsx b/packages/components/calendar/src/calendar-picker-item.tsx index 4b68679969..4f104767fc 100644 --- a/packages/components/calendar/src/calendar-picker-item.tsx +++ b/packages/components/calendar/src/calendar-picker-item.tsx @@ -1,6 +1,6 @@ import type {AriaButtonProps} from "@heroui/use-aria-button"; +import type {HTMLHeroUIProps} from "@heroui/system"; -import {HTMLHeroUIProps} from "@heroui/system"; import {useAriaButton} from "@heroui/use-aria-button"; import {useHover} from "@react-aria/interactions"; import {useFocusRing} from "@react-aria/focus"; diff --git a/packages/components/calendar/src/calendar-picker.tsx b/packages/components/calendar/src/calendar-picker.tsx index 34c107568f..5de7fa6565 100644 --- a/packages/components/calendar/src/calendar-picker.tsx +++ b/packages/components/calendar/src/calendar-picker.tsx @@ -1,6 +1,6 @@ import type {CalendarPickerProps} from "./use-calendar-picker"; +import type {HTMLHeroUIProps} from "@heroui/system"; -import {HTMLHeroUIProps} from "@heroui/system"; import {useCallback} from "react"; import {getInertValue} from "@heroui/shared-utils"; diff --git a/packages/components/calendar/src/calendar-transitions.ts b/packages/components/calendar/src/calendar-transitions.ts index a827cf2c33..3b732c4876 100644 --- a/packages/components/calendar/src/calendar-transitions.ts +++ b/packages/components/calendar/src/calendar-transitions.ts @@ -1,4 +1,4 @@ -import {Variants} from "framer-motion"; +import type {Variants} from "framer-motion"; export const transition = { type: "spring", diff --git a/packages/components/calendar/src/calendar.tsx b/packages/components/calendar/src/calendar.tsx index 334f5d4bd0..7d7b34fe72 100644 --- a/packages/components/calendar/src/calendar.tsx +++ b/packages/components/calendar/src/calendar.tsx @@ -1,9 +1,10 @@ import type {DateValue} from "@internationalized/date"; import type {ForwardedRef, ReactElement} from "react"; +import type {UseCalendarProps} from "./use-calendar"; import {forwardRef} from "@heroui/system"; -import {UseCalendarProps, useCalendar} from "./use-calendar"; +import {useCalendar} from "./use-calendar"; import {CalendarProvider} from "./calendar-context"; import {CalendarBase} from "./calendar-base"; diff --git a/packages/components/calendar/src/range-calendar.tsx b/packages/components/calendar/src/range-calendar.tsx index 0de61a4b9e..f0a3392aba 100644 --- a/packages/components/calendar/src/range-calendar.tsx +++ b/packages/components/calendar/src/range-calendar.tsx @@ -1,9 +1,10 @@ import type {DateValue} from "@internationalized/date"; import type {ForwardedRef, ReactElement} from "react"; +import type {UseRangeCalendarProps} from "./use-range-calendar"; import {forwardRef} from "@heroui/system"; -import {UseRangeCalendarProps, useRangeCalendar} from "./use-range-calendar"; +import {useRangeCalendar} from "./use-range-calendar"; import {CalendarProvider} from "./calendar-context"; import {CalendarBase} from "./calendar-base"; diff --git a/packages/components/calendar/src/use-calendar-base.ts b/packages/components/calendar/src/use-calendar-base.ts index bee8b4ac43..ae9e432bab 100644 --- a/packages/components/calendar/src/use-calendar-base.ts +++ b/packages/components/calendar/src/use-calendar-base.ts @@ -1,21 +1,25 @@ import type {CalendarReturnType, CalendarVariantProps} from "@heroui/theme"; -import type {CalendarPropsBase as AriaCalendarPropsBase} from "@react-types/calendar"; +import type { + CalendarPropsBase as AriaCalendarPropsBase, + DateValue, + SpectrumCalendarProps, +} from "@react-types/calendar"; import type {CalendarSlots, SlotsToClasses} from "@heroui/theme"; import type {AriaCalendarGridProps} from "@react-aria/calendar"; import type {AriaButtonProps} from "@react-types/button"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import type {ButtonProps} from "@heroui/button"; -import type {SupportedCalendars} from "@heroui/system"; import type {CalendarState, RangeCalendarState} from "@react-stately/calendar"; import type {RefObject, ReactNode} from "react"; import type {CalendarIdentifier} from "@internationalized/date"; +import type {ReactRef} from "@heroui/react-utils"; -import {createCalendar, Calendar, CalendarDate, DateFormatter} from "@internationalized/date"; +import {createCalendar, CalendarDate, DateFormatter} from "@internationalized/date"; import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useCallback, useMemo} from "react"; import {calendar} from "@heroui/theme"; import {useControlledState} from "@react-stately/utils"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; +import {useDOMRef} from "@heroui/react-utils"; import {useLocale} from "@react-aria/i18n"; import {clamp, dataAttr, objectToDeps, getGregorianYearOffset} from "@heroui/shared-utils"; import {mergeProps} from "@react-aria/utils"; @@ -120,7 +124,7 @@ interface Props extends HeroUIBaseProps { * * @default all calendars */ - createCalendar?: (calendar: SupportedCalendars) => Calendar | null; + createCalendar?: SpectrumCalendarProps["createCalendar"]; /** * The style of weekday names to display in the calendar grid header, * e.g. single letter, abbreviation, or full day name. diff --git a/packages/components/calendar/src/use-calendar-picker.ts b/packages/components/calendar/src/use-calendar-picker.ts index a92d9bfc28..22cbbbd8cd 100644 --- a/packages/components/calendar/src/use-calendar-picker.ts +++ b/packages/components/calendar/src/use-calendar-picker.ts @@ -1,8 +1,8 @@ import type {CalendarDate} from "@internationalized/date"; import type {PressEvent} from "@react-types/shared"; +import type {HTMLHeroUIProps} from "@heroui/system"; import {useDateFormatter} from "@react-aria/i18n"; -import {HTMLHeroUIProps} from "@heroui/system"; import {useCallback, useRef, useEffect} from "react"; import {debounce} from "@heroui/shared-utils"; import {areRectsIntersecting} from "@heroui/react-utils"; diff --git a/packages/components/calendar/src/use-calendar.ts b/packages/components/calendar/src/use-calendar.ts index 576a51dbb0..b0f59f6eeb 100644 --- a/packages/components/calendar/src/use-calendar.ts +++ b/packages/components/calendar/src/use-calendar.ts @@ -1,6 +1,8 @@ import type {DateValue, AriaCalendarProps} from "@react-types/calendar"; import type {ButtonProps} from "@heroui/button"; import type {CalendarState} from "@react-stately/calendar"; +import type {ContextType, UseCalendarBaseProps} from "./use-calendar-base"; +import type {CalendarBaseProps} from "./calendar-base"; import {useMemo, useRef} from "react"; import {filterDOMProps} from "@heroui/react-utils"; @@ -10,8 +12,7 @@ import {createCalendar} from "@internationalized/date"; import {clsx} from "@heroui/shared-utils"; import {chain, mergeProps} from "@react-aria/utils"; -import {ContextType, useCalendarBase, UseCalendarBaseProps} from "./use-calendar-base"; -import {CalendarBaseProps} from "./calendar-base"; +import {useCalendarBase} from "./use-calendar-base"; export type UseCalendarProps = UseCalendarBaseProps & AriaCalendarProps; diff --git a/packages/components/calendar/src/use-range-calendar.ts b/packages/components/calendar/src/use-range-calendar.ts index 6fd648a719..99fbdb4182 100644 --- a/packages/components/calendar/src/use-range-calendar.ts +++ b/packages/components/calendar/src/use-range-calendar.ts @@ -1,6 +1,9 @@ import type {DateValue, AriaRangeCalendarProps} from "@react-types/calendar"; import type {HTMLHeroUIProps} from "@heroui/system"; import type {RangeCalendarState} from "@react-stately/calendar"; +import type {ButtonProps} from "@heroui/button"; +import type {ContextType, UseCalendarBaseProps} from "./use-calendar-base"; +import type {CalendarBaseProps} from "./calendar-base"; import {useMemo, useRef} from "react"; import {filterDOMProps} from "@heroui/react-utils"; @@ -8,11 +11,9 @@ import {useRangeCalendar as useAriaRangeCalendar} from "@react-aria/calendar"; import {useRangeCalendarState} from "@react-stately/calendar"; import {createCalendar} from "@internationalized/date"; import {clsx} from "@heroui/shared-utils"; -import {ButtonProps} from "@heroui/button"; import {chain} from "@react-aria/utils"; -import {ContextType, useCalendarBase, UseCalendarBaseProps} from "./use-calendar-base"; -import {CalendarBaseProps} from "./calendar-base"; +import {useCalendarBase} from "./use-calendar-base"; type HeroUIBaseProps = Omit< HTMLHeroUIProps<"div">, diff --git a/packages/components/calendar/src/utils.ts b/packages/components/calendar/src/utils.ts index c3b9f7a39f..7aaee06f06 100644 --- a/packages/components/calendar/src/utils.ts +++ b/packages/components/calendar/src/utils.ts @@ -1,4 +1,6 @@ -import {DateValue, startOfYear} from "@internationalized/date"; +import type {DateValue} from "@internationalized/date"; + +import {startOfYear} from "@internationalized/date"; export function getYearRange(start?: DateValue | null, end?: DateValue | null): DateValue[] { const years: DateValue[] = []; diff --git a/packages/components/calendar/stories/calendar.stories.tsx b/packages/components/calendar/stories/calendar.stories.tsx index 8b8588e238..44ac254ead 100644 --- a/packages/components/calendar/stories/calendar.stories.tsx +++ b/packages/components/calendar/stories/calendar.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {CalendarProps, DateValue} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {calendar} from "@heroui/theme"; import { today, @@ -15,7 +17,7 @@ import {Radio, RadioGroup} from "@heroui/radio"; import {cn} from "@heroui/theme"; import {HeroUIProvider} from "@heroui/system"; -import {Calendar, CalendarProps, DateValue} from "../src"; +import {Calendar} from "../src"; export default { title: "Components/Calendar", @@ -137,7 +139,7 @@ const ControlledFocusedValueTemplate = (args: CalendarProps) => { }; const InvalidDateTemplate = (args: CalendarProps) => { - let [date, setDate] = React.useState(today(getLocalTimeZone())); + let [date, setDate] = React.useState(today(getLocalTimeZone())); let {locale} = useLocale(); let isInvalid = isWeekend(date, locale); diff --git a/packages/components/calendar/stories/range-calendar.stories.tsx b/packages/components/calendar/stories/range-calendar.stories.tsx index 9b64ce8bd6..fb338eff0d 100644 --- a/packages/components/calendar/stories/range-calendar.stories.tsx +++ b/packages/components/calendar/stories/range-calendar.stories.tsx @@ -1,7 +1,8 @@ import type {RangeValue, DateValue} from "../src"; +import type {Meta} from "@storybook/react"; +import type {RangeCalendarProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {calendar} from "@heroui/theme"; import { today, @@ -18,7 +19,7 @@ import {Button, ButtonGroup} from "@heroui/button"; import {Radio, RadioGroup} from "@heroui/radio"; import {cn} from "@heroui/theme"; -import {RangeCalendar, RangeCalendarProps} from "../src"; +import {RangeCalendar} from "../src"; export default { title: "Components/RangeCalendar", diff --git a/packages/components/card/__tests__/card.test.tsx b/packages/components/card/__tests__/card.test.tsx index e963ca0673..241a781da0 100644 --- a/packages/components/card/__tests__/card.test.tsx +++ b/packages/components/card/__tests__/card.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Card} from "../src"; diff --git a/packages/components/card/package.json b/packages/components/card/package.json index 1c599b7191..c3981ac905 100644 --- a/packages/components/card/package.json +++ b/packages/components/card/package.json @@ -48,7 +48,6 @@ "@react-aria/focus": "3.20.4", "@react-aria/utils": "3.29.1", "@react-aria/interactions": "3.25.2", - "@react-aria/button": "3.13.2", "@react-types/shared": "3.30.0" }, "devDependencies": { diff --git a/packages/components/card/src/card-body.tsx b/packages/components/card/src/card-body.tsx index 3230b409c8..5e2132d7cf 100644 --- a/packages/components/card/src/card-body.tsx +++ b/packages/components/card/src/card-body.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; diff --git a/packages/components/card/src/card-context.ts b/packages/components/card/src/card-context.ts index 5278b8dc64..c2a11bf941 100644 --- a/packages/components/card/src/card-context.ts +++ b/packages/components/card/src/card-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {ContextType} from "./use-card"; -import {ContextType} from "./use-card"; +import {createContext} from "@heroui/react-utils"; export const [CardProvider, useCardContext] = createContext({ name: "CardContext", diff --git a/packages/components/card/src/card-footer.tsx b/packages/components/card/src/card-footer.tsx index de6af314a6..884af4e61e 100644 --- a/packages/components/card/src/card-footer.tsx +++ b/packages/components/card/src/card-footer.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; diff --git a/packages/components/card/src/card-header.tsx b/packages/components/card/src/card-header.tsx index 7e48fcb589..902703b0f1 100644 --- a/packages/components/card/src/card-header.tsx +++ b/packages/components/card/src/card-header.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; diff --git a/packages/components/card/src/card.tsx b/packages/components/card/src/card.tsx index 7582e395b1..4178bde184 100644 --- a/packages/components/card/src/card.tsx +++ b/packages/components/card/src/card.tsx @@ -1,8 +1,10 @@ +import type {UseCardProps} from "./use-card"; + import {forwardRef} from "@heroui/system"; import {Ripple} from "@heroui/ripple"; import {CardProvider} from "./card-context"; -import {useCard, UseCardProps} from "./use-card"; +import {useCard} from "./use-card"; export interface CardProps extends UseCardProps {} diff --git a/packages/components/card/src/use-card.ts b/packages/components/card/src/use-card.ts index 3008e064c2..7db0d1c2e2 100644 --- a/packages/components/card/src/use-card.ts +++ b/packages/components/card/src/use-card.ts @@ -2,16 +2,20 @@ import type {FocusableProps, PressEvents} from "@react-types/shared"; import type {SlotsToClasses, CardSlots, CardReturnType, CardVariantProps} from "@heroui/theme"; import type {AriaButtonProps} from "@heroui/use-aria-button"; import type {RippleProps} from "@heroui/ripple"; +import type {MouseEventHandler, ReactNode} from "react"; +import type {PressEvent} from "@react-aria/interactions"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; import {card} from "@heroui/theme"; -import {MouseEventHandler, ReactNode, useCallback, useMemo} from "react"; +import {useCallback, useMemo} from "react"; import {chain, mergeProps} from "@react-aria/utils"; import {useFocusRing} from "@react-aria/focus"; -import {PressEvent, useHover} from "@react-aria/interactions"; +import {useHover} from "@react-aria/interactions"; import {useAriaButton} from "@heroui/use-aria-button"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef, filterDOMProps} from "@heroui/react-utils"; +import {filterDOMProps} from "@heroui/react-utils"; import {useDOMRef} from "@heroui/react-utils"; import {useRipple} from "@heroui/ripple"; diff --git a/packages/components/card/stories/card.stories.tsx b/packages/components/card/stories/card.stories.tsx index b6f7cc75bc..c8adbe1a1a 100644 --- a/packages/components/card/stories/card.stories.tsx +++ b/packages/components/card/stories/card.stories.tsx @@ -1,12 +1,14 @@ +import type {Meta} from "@storybook/react"; +import type {CardProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {card} from "@heroui/theme"; import {Link} from "@heroui/link"; import {Button} from "@heroui/button"; import {Code} from "@heroui/code"; import {Image} from "@heroui/image"; -import {Card, CardBody, CardHeader, CardFooter, CardProps} from "../src"; +import {Card, CardBody, CardHeader, CardFooter} from "../src"; export default { title: "Components/Card", diff --git a/packages/components/checkbox/__tests__/checkbox-group.test.tsx b/packages/components/checkbox/__tests__/checkbox-group.test.tsx index 433a9da842..7d9169ea3b 100644 --- a/packages/components/checkbox/__tests__/checkbox-group.test.tsx +++ b/packages/components/checkbox/__tests__/checkbox-group.test.tsx @@ -1,7 +1,9 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {act, render} from "@testing-library/react"; import {Form} from "@heroui/form"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {CheckboxGroup, Checkbox} from "../src"; diff --git a/packages/components/checkbox/__tests__/checkbox.test.tsx b/packages/components/checkbox/__tests__/checkbox.test.tsx index e88356bb57..70463f3032 100644 --- a/packages/components/checkbox/__tests__/checkbox.test.tsx +++ b/packages/components/checkbox/__tests__/checkbox.test.tsx @@ -1,9 +1,12 @@ +import type {UserEvent} from "@testing-library/user-event"; +import type {CheckboxProps} from "../src"; + import * as React from "react"; import {render, renderHook, act} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {useForm} from "react-hook-form"; -import {Checkbox, CheckboxProps} from "../src"; +import {Checkbox} from "../src"; describe("Checkbox", () => { let user: UserEvent; diff --git a/packages/components/checkbox/package.json b/packages/components/checkbox/package.json index 3f35540dcc..7f90fc786e 100644 --- a/packages/components/checkbox/package.json +++ b/packages/components/checkbox/package.json @@ -49,19 +49,15 @@ "@react-aria/focus": "3.20.4", "@react-aria/interactions": "3.25.2", "@react-aria/utils": "3.29.1", - "@react-aria/visually-hidden": "3.8.24", "@react-stately/checkbox": "3.6.15", "@react-stately/toggle": "3.8.5", "@react-types/checkbox": "3.9.5", "@react-types/shared": "3.30.0" }, "devDependencies": { - "@heroui/chip": "workspace:*", - "@heroui/link": "workspace:*", "@heroui/shared-icons": "workspace:*", "@heroui/system": "workspace:*", "@heroui/theme": "workspace:*", - "@heroui/user": "workspace:*", "clean-package": "2.2.0", "react": "18.3.0", "react-dom": "18.3.0", diff --git a/packages/components/checkbox/src/checkbox-group-context.ts b/packages/components/checkbox/src/checkbox-group-context.ts index 43a6c8bede..5c31519cfe 100644 --- a/packages/components/checkbox/src/checkbox-group-context.ts +++ b/packages/components/checkbox/src/checkbox-group-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {ContextType} from "./use-checkbox-group"; -import {ContextType} from "./use-checkbox-group"; +import {createContext} from "@heroui/react-utils"; export const [CheckboxGroupProvider, useCheckboxGroupContext] = createContext({ name: "CheckboxGroupContext", diff --git a/packages/components/checkbox/src/checkbox-group.tsx b/packages/components/checkbox/src/checkbox-group.tsx index db78f4e6c4..2bbc9ac7cf 100644 --- a/packages/components/checkbox/src/checkbox-group.tsx +++ b/packages/components/checkbox/src/checkbox-group.tsx @@ -1,7 +1,9 @@ +import type {UseCheckboxGroupProps} from "./use-checkbox-group"; + import {forwardRef} from "@heroui/system"; import {CheckboxGroupProvider} from "./checkbox-group-context"; -import {UseCheckboxGroupProps, useCheckboxGroup} from "./use-checkbox-group"; +import {useCheckboxGroup} from "./use-checkbox-group"; export interface CheckboxGroupProps extends UseCheckboxGroupProps {} diff --git a/packages/components/checkbox/src/checkbox.tsx b/packages/components/checkbox/src/checkbox.tsx index fdb57a2893..ec550a9b4b 100644 --- a/packages/components/checkbox/src/checkbox.tsx +++ b/packages/components/checkbox/src/checkbox.tsx @@ -1,7 +1,10 @@ +import type {ReactElement} from "react"; +import type {UseCheckboxProps} from "./use-checkbox"; + import {forwardRef} from "@heroui/system"; -import {cloneElement, ReactElement} from "react"; +import {cloneElement} from "react"; -import {UseCheckboxProps, useCheckbox} from "./use-checkbox"; +import {useCheckbox} from "./use-checkbox"; import {CheckboxIcon} from "./checkbox-icon"; export interface CheckboxProps extends UseCheckboxProps {} diff --git a/packages/components/checkbox/src/use-checkbox-group.ts b/packages/components/checkbox/src/use-checkbox-group.ts index 24873e19a2..348a340989 100644 --- a/packages/components/checkbox/src/use-checkbox-group.ts +++ b/packages/components/checkbox/src/use-checkbox-group.ts @@ -3,19 +3,19 @@ import type {AriaCheckboxGroupProps} from "@react-types/checkbox"; import type {Orientation} from "@react-types/shared"; import type {ReactRef} from "@heroui/react-utils"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {CheckboxGroupState} from "@react-stately/checkbox"; +import type {CheckboxProps} from "./index"; import {useProviderContext} from "@heroui/system"; import {useCallback, useMemo} from "react"; import {chain, mergeProps} from "@react-aria/utils"; import {checkboxGroup} from "@heroui/theme"; import {useCheckboxGroup as useReactAriaCheckboxGroup} from "@react-aria/checkbox"; -import {CheckboxGroupState, useCheckboxGroupState} from "@react-stately/checkbox"; +import {useCheckboxGroupState} from "@react-stately/checkbox"; import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; import {clsx, safeAriaLabel} from "@heroui/shared-utils"; import {FormContext, useSlottedContext} from "@heroui/form"; -import {CheckboxProps} from "./index"; - interface Props extends HTMLHeroUIProps<"div"> { /** * Ref to the DOM node. diff --git a/packages/components/checkbox/src/use-checkbox.ts b/packages/components/checkbox/src/use-checkbox.ts index c0fe70014f..923d51a244 100644 --- a/packages/components/checkbox/src/use-checkbox.ts +++ b/packages/components/checkbox/src/use-checkbox.ts @@ -1,9 +1,10 @@ import type {CheckboxVariantProps, CheckboxSlots, SlotsToClasses} from "@heroui/theme"; import type {AriaCheckboxProps} from "@react-types/checkbox"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactNode, Ref} from "react"; import {useProviderContext} from "@heroui/system"; -import {ReactNode, Ref, useCallback, useId} from "react"; +import {useCallback, useId} from "react"; import {useMemo, useRef} from "react"; import {useToggleState} from "@react-stately/toggle"; import {checkbox} from "@heroui/theme"; diff --git a/packages/components/checkbox/stories/checkbox-group.stories.tsx b/packages/components/checkbox/stories/checkbox-group.stories.tsx index fc8cb138db..b5fa61dbd1 100644 --- a/packages/components/checkbox/stories/checkbox-group.stories.tsx +++ b/packages/components/checkbox/stories/checkbox-group.stories.tsx @@ -1,12 +1,13 @@ import type {ValidationResult} from "@react-types/shared"; +import type {Meta} from "@storybook/react"; +import type {CheckboxGroupProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {checkbox} from "@heroui/theme"; import {button} from "@heroui/theme"; import {Form} from "@heroui/form"; -import {CheckboxGroup, Checkbox, CheckboxGroupProps} from "../src"; +import {CheckboxGroup, Checkbox} from "../src"; export default { title: "Components/CheckboxGroup", diff --git a/packages/components/checkbox/stories/checkbox.stories.tsx b/packages/components/checkbox/stories/checkbox.stories.tsx index 359e93a60e..14b2535579 100644 --- a/packages/components/checkbox/stories/checkbox.stories.tsx +++ b/packages/components/checkbox/stories/checkbox.stories.tsx @@ -1,13 +1,15 @@ +import type {Meta} from "@storybook/react"; +import type {ValidationErrors} from "@react-types/shared"; +import type {CheckboxIconProps, CheckboxProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {checkbox} from "@heroui/theme"; import {CloseIcon} from "@heroui/shared-icons"; import {button} from "@heroui/theme"; import {useForm} from "react-hook-form"; import {Form} from "@heroui/form"; -import {ValidationErrors} from "@react-types/shared"; -import {Checkbox, CheckboxIconProps, CheckboxProps} from "../src"; +import {Checkbox} from "../src"; export default { title: "Components/Checkbox", diff --git a/packages/components/chip/package.json b/packages/components/chip/package.json index 6976a75c2f..f0d7664ca7 100644 --- a/packages/components/chip/package.json +++ b/packages/components/chip/package.json @@ -45,8 +45,7 @@ "@heroui/react-utils": "workspace:*", "@react-aria/focus": "3.20.4", "@react-aria/interactions": "3.25.2", - "@react-aria/utils": "3.29.1", - "@react-types/checkbox": "3.9.5" + "@react-aria/utils": "3.29.1" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/chip/src/chip.tsx b/packages/components/chip/src/chip.tsx index cb2c024ac5..e2b290e75e 100644 --- a/packages/components/chip/src/chip.tsx +++ b/packages/components/chip/src/chip.tsx @@ -1,8 +1,10 @@ +import type {UseChipProps} from "./use-chip"; + import {CloseFilledIcon} from "@heroui/shared-icons"; import {forwardRef} from "@heroui/system"; import {useMemo} from "react"; -import {UseChipProps, useChip} from "./use-chip"; +import {useChip} from "./use-chip"; export interface ChipProps extends Omit {} diff --git a/packages/components/chip/src/use-chip.ts b/packages/components/chip/src/use-chip.ts index cadb144a1d..c2bae7d0a5 100644 --- a/packages/components/chip/src/use-chip.ts +++ b/packages/components/chip/src/use-chip.ts @@ -1,16 +1,17 @@ import type {ChipVariantProps, ChipSlots, SlotsToClasses} from "@heroui/theme"; import type {ReactNode} from "react"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {PressEvent} from "@react-types/shared"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter} from "@heroui/system"; +import {mapPropsVariants} from "@heroui/system"; import {mergeProps} from "@react-aria/utils"; import {usePress} from "@react-aria/interactions"; import {useFocusRing} from "@react-aria/focus"; import {chip} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useMemo, isValidElement, cloneElement} from "react"; -import {PressEvent} from "@react-types/shared"; export interface UseChipProps extends HTMLHeroUIProps, ChipVariantProps { /** diff --git a/packages/components/chip/stories/chip.stories.tsx b/packages/components/chip/stories/chip.stories.tsx index 71edd516c3..ae7299e9f2 100644 --- a/packages/components/chip/stories/chip.stories.tsx +++ b/packages/components/chip/stories/chip.stories.tsx @@ -1,10 +1,12 @@ +import type {Meta} from "@storybook/react"; +import type {ChipProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {chip} from "@heroui/theme"; import {Avatar} from "@heroui/avatar"; import {CheckIcon} from "@heroui/shared-icons"; -import {Chip, ChipProps} from "../src"; +import {Chip} from "../src"; export default { title: "Components/Chip", diff --git a/packages/components/code/src/code.tsx b/packages/components/code/src/code.tsx index a4466e58b2..25a95dfa34 100644 --- a/packages/components/code/src/code.tsx +++ b/packages/components/code/src/code.tsx @@ -1,6 +1,8 @@ +import type {UseCodeProps} from "./use-code"; + import {forwardRef} from "@heroui/system-rsc"; -import {useCode, UseCodeProps} from "./use-code"; +import {useCode} from "./use-code"; export interface CodeProps extends UseCodeProps {} diff --git a/packages/components/code/src/use-code.ts b/packages/components/code/src/use-code.ts index 5382749097..4e10aa11f8 100644 --- a/packages/components/code/src/use-code.ts +++ b/packages/components/code/src/use-code.ts @@ -1,9 +1,9 @@ import type {CodeVariantProps} from "@heroui/theme"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system-rsc"; +import type {ReactRef} from "@heroui/react-utils"; import {code} from "@heroui/theme"; import {mapPropsVariants} from "@heroui/system-rsc"; -import {ReactRef} from "@heroui/react-utils"; import {useMemo} from "react"; import {objectToDeps} from "@heroui/shared-utils"; diff --git a/packages/components/code/stories/code.stories.tsx b/packages/components/code/stories/code.stories.tsx index 1d1c0b4527..41b4adec1f 100644 --- a/packages/components/code/stories/code.stories.tsx +++ b/packages/components/code/stories/code.stories.tsx @@ -1,4 +1,5 @@ -import {Meta} from "@storybook/react"; +import type {Meta} from "@storybook/react"; + import {code} from "@heroui/theme"; import {Code} from "../src"; diff --git a/packages/components/date-input/__tests__/date-input.test.tsx b/packages/components/date-input/__tests__/date-input.test.tsx index 1de8330fbf..8c19867e0f 100644 --- a/packages/components/date-input/__tests__/date-input.test.tsx +++ b/packages/components/date-input/__tests__/date-input.test.tsx @@ -1,11 +1,14 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {DateInputProps} from "../src"; +import type {DateValue} from "@internationalized/date"; + import * as React from "react"; import {fireEvent, render} from "@testing-library/react"; -import {CalendarDate, CalendarDateTime, DateValue, ZonedDateTime} from "@internationalized/date"; +import {CalendarDate, CalendarDateTime, ZonedDateTime} from "@internationalized/date"; import {pointerMap, triggerPress} from "@heroui/test-utils"; import userEvent from "@testing-library/user-event"; -import {DateInput as DateInputBase, DateInputProps} from "../src"; +import {DateInput as DateInputBase} from "../src"; /** * Custom date-input to disable animations and avoid issues with react-motion and jest diff --git a/packages/components/date-input/__tests__/time-input.test.tsx b/packages/components/date-input/__tests__/time-input.test.tsx index 3d3885614d..95896615f5 100644 --- a/packages/components/date-input/__tests__/time-input.test.tsx +++ b/packages/components/date-input/__tests__/time-input.test.tsx @@ -1,12 +1,14 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {TimeValue} from "@react-types/datepicker"; +import type {TimeInputProps} from "../src"; + import * as React from "react"; import {fireEvent, render} from "@testing-library/react"; import {Time, ZonedDateTime} from "@internationalized/date"; -import {TimeValue} from "@react-types/datepicker"; import {pointerMap, triggerPress} from "@heroui/test-utils"; import userEvent from "@testing-library/user-event"; -import {TimeInput as TimeInputBase, TimeInputProps} from "../src"; +import {TimeInput as TimeInputBase} from "../src"; /** * Custom date-input to disable animations and avoid issues with react-motion and jest diff --git a/packages/components/date-input/src/date-input-segment.tsx b/packages/components/date-input/src/date-input-segment.tsx index 4dac07f125..ce056406a1 100644 --- a/packages/components/date-input/src/date-input-segment.tsx +++ b/packages/components/date-input/src/date-input-segment.tsx @@ -1,8 +1,8 @@ import type {DateInputReturnType, DateInputSlots, SlotsToClasses} from "@heroui/theme"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {DateFieldState, DateSegment} from "@react-stately/datepicker"; -import {HTMLHeroUIProps} from "@heroui/system"; import {useDateSegment} from "@react-aria/datepicker"; -import {DateFieldState, DateSegment} from "@react-stately/datepicker"; import {mergeProps} from "@react-aria/utils"; import {useRef} from "react"; import {dataAttr} from "@heroui/shared-utils"; diff --git a/packages/components/date-input/src/date-input.tsx b/packages/components/date-input/src/date-input.tsx index 7843ee7d35..d007092ee2 100644 --- a/packages/components/date-input/src/date-input.tsx +++ b/packages/components/date-input/src/date-input.tsx @@ -1,9 +1,10 @@ import type {DateValue} from "@internationalized/date"; import type {ForwardedRef, ReactElement} from "react"; +import type {UseDateInputProps} from "./use-date-input"; import {forwardRef} from "@heroui/system"; -import {UseDateInputProps, useDateInput} from "./use-date-input"; +import {useDateInput} from "./use-date-input"; import {DateInputGroup} from "./date-input-group"; import {DateInputField} from "./date-input-field"; diff --git a/packages/components/date-input/src/time-input.tsx b/packages/components/date-input/src/time-input.tsx index 653e33e095..3dc3e3aea6 100644 --- a/packages/components/date-input/src/time-input.tsx +++ b/packages/components/date-input/src/time-input.tsx @@ -1,9 +1,10 @@ import type {TimeValue} from "@react-types/datepicker"; import type {ForwardedRef, ReactElement} from "react"; +import type {UseTimeInputProps} from "./use-time-input"; import {forwardRef} from "@heroui/system"; -import {UseTimeInputProps, useTimeInput} from "./use-time-input"; +import {useTimeInput} from "./use-time-input"; import {DateInputField} from "./date-input-field"; import {DateInputGroup} from "./date-input-group"; diff --git a/packages/components/date-input/src/use-date-input.ts b/packages/components/date-input/src/use-date-input.ts index b6f66c3854..c01bc67851 100644 --- a/packages/components/date-input/src/use-date-input.ts +++ b/packages/components/date-input/src/use-date-input.ts @@ -1,18 +1,18 @@ import type {DateInputVariantProps, DateInputSlots, SlotsToClasses} from "@heroui/theme"; import type {AriaDateFieldProps} from "@react-types/datepicker"; -import type {SupportedCalendars} from "@heroui/system"; -import type {DateValue} from "@react-types/datepicker"; -import type {Calendar} from "@internationalized/date"; +import type {DateValue, SpectrumDatePickerBase} from "@react-types/datepicker"; import type {ReactRef} from "@heroui/react-utils"; import type {DOMAttributes, GroupDOMAttributes} from "@react-types/shared"; import type {DateInputGroupProps} from "./date-input-group"; import type {CalendarIdentifier} from "@internationalized/date"; +import type {PropGetter} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; import {useLocale} from "@react-aria/i18n"; import {createCalendar, CalendarDate, DateFormatter} from "@internationalized/date"; import {mergeProps} from "@react-aria/utils"; -import {PropGetter, useLabelPlacement, useProviderContext} from "@heroui/system"; -import {HTMLHeroUIProps, mapPropsVariants} from "@heroui/system"; +import {useLabelPlacement, useProviderContext} from "@heroui/system"; +import {mapPropsVariants} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {useDateField as useAriaDateField} from "@react-aria/datepicker"; import {useDateFieldState} from "@react-stately/datepicker"; @@ -89,7 +89,7 @@ interface Props extends HeroUIBaseProps { * * @default all calendars */ - createCalendar?: (calendar: SupportedCalendars) => Calendar | null; + createCalendar?: SpectrumDatePickerBase["createCalendar"]; /** * Classname or List of classes to change the classNames of the element. * if `className` is passed, it will be added to the base slot. diff --git a/packages/components/date-input/src/use-time-input.ts b/packages/components/date-input/src/use-time-input.ts index a9045e0f5d..a97c36ec5b 100644 --- a/packages/components/date-input/src/use-time-input.ts +++ b/packages/components/date-input/src/use-time-input.ts @@ -3,11 +3,13 @@ import type {AriaTimeFieldProps, TimeValue} from "@react-types/datepicker"; import type {ReactRef} from "@heroui/react-utils"; import type {DOMAttributes, GroupDOMAttributes} from "@react-types/shared"; import type {DateInputGroupProps} from "./date-input-group"; +import type {PropGetter} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; import {useLocale} from "@react-aria/i18n"; import {mergeProps} from "@react-aria/utils"; -import {PropGetter, useLabelPlacement, useProviderContext} from "@heroui/system"; -import {HTMLHeroUIProps, mapPropsVariants} from "@heroui/system"; +import {useLabelPlacement, useProviderContext} from "@heroui/system"; +import {mapPropsVariants} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {useTimeField as useAriaTimeField} from "@react-aria/datepicker"; import {useTimeFieldState} from "@react-stately/datepicker"; diff --git a/packages/components/date-input/stories/date-input.stories.tsx b/packages/components/date-input/stories/date-input.stories.tsx index f4a15412a5..5e4aeae933 100644 --- a/packages/components/date-input/stories/date-input.stories.tsx +++ b/packages/components/date-input/stories/date-input.stories.tsx @@ -1,9 +1,12 @@ +import type {Meta} from "@storybook/react"; +import type {DateValue} from "@internationalized/date"; +import type {ValidationResult} from "@react-types/shared"; +import type {DateInputProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {dateInput, button} from "@heroui/theme"; import { CalendarDate, - DateValue, getLocalTimeZone, now, parseAbsoluteToLocal, @@ -13,9 +16,8 @@ import { } from "@internationalized/date"; import {CalendarBoldIcon} from "@heroui/shared-icons"; import {useDateFormatter, I18nProvider} from "@react-aria/i18n"; -import {ValidationResult} from "@react-types/shared"; -import {DateInput, DateInputProps} from "../src"; +import {DateInput} from "../src"; export default { title: "Components/DateInput", diff --git a/packages/components/date-input/stories/time-input.stories.tsx b/packages/components/date-input/stories/time-input.stories.tsx index 77c6e57104..bef5ebad7d 100644 --- a/packages/components/date-input/stories/time-input.stories.tsx +++ b/packages/components/date-input/stories/time-input.stories.tsx @@ -1,5 +1,8 @@ +import type {Meta} from "@storybook/react"; +import type {ValidationResult} from "@react-types/shared"; +import type {TimeInputProps, TimeInputValue as TimeValue} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {dateInput, button} from "@heroui/theme"; import {ClockCircleLinearIcon} from "@heroui/shared-icons"; import { @@ -9,9 +12,8 @@ import { ZonedDateTime, } from "@internationalized/date"; import {useDateFormatter} from "@react-aria/i18n"; -import {ValidationResult} from "@react-types/shared"; -import {TimeInput, TimeInputProps, TimeInputValue as TimeValue} from "../src"; +import {TimeInput} from "../src"; export default { title: "Components/TimeInput", diff --git a/packages/components/date-picker/__tests__/date-picker.test.tsx b/packages/components/date-picker/__tests__/date-picker.test.tsx index 0f904d37a8..953a119967 100644 --- a/packages/components/date-picker/__tests__/date-picker.test.tsx +++ b/packages/components/date-picker/__tests__/date-picker.test.tsx @@ -1,4 +1,6 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {DatePickerProps} from "../src"; + import * as React from "react"; import {render, act, fireEvent, waitFor, within} from "@testing-library/react"; import { @@ -13,7 +15,7 @@ import {CalendarDate, CalendarDateTime} from "@internationalized/date"; import {HeroUIProvider} from "@heroui/system"; import {Form} from "@heroui/form"; -import {DatePicker as DatePickerBase, DatePickerProps} from "../src"; +import {DatePicker as DatePickerBase} from "../src"; /** * Custom date-picker to disable animations and avoid issues with react-motion and jest diff --git a/packages/components/date-picker/package.json b/packages/components/date-picker/package.json index c5cc104154..a72b425be2 100644 --- a/packages/components/date-picker/package.json +++ b/packages/components/date-picker/package.json @@ -55,7 +55,6 @@ "@react-aria/i18n": "3.12.10", "@react-aria/utils": "3.29.1", "@react-stately/datepicker": "3.14.2", - "@react-stately/overlays": "3.6.17", "@react-stately/utils": "3.10.7", "@react-types/datepicker": "3.12.2", "@react-types/shared": "3.30.0" diff --git a/packages/components/date-picker/src/date-picker.tsx b/packages/components/date-picker/src/date-picker.tsx index ee58280f62..ca7dddd756 100644 --- a/packages/components/date-picker/src/date-picker.tsx +++ b/packages/components/date-picker/src/date-picker.tsx @@ -1,6 +1,8 @@ import type {DateValue} from "@internationalized/date"; +import type {ForwardedRef, ReactElement} from "react"; +import type {UseDatePickerProps} from "./use-date-picker"; -import {ForwardedRef, ReactElement, useMemo} from "react"; +import {useMemo} from "react"; import {cloneElement, isValidElement} from "react"; import {forwardRef} from "@heroui/system"; import {Button} from "@heroui/button"; @@ -10,7 +12,7 @@ import {Calendar} from "@heroui/calendar"; import {AnimatePresence} from "framer-motion"; import {CalendarBoldIcon} from "@heroui/shared-icons"; -import {UseDatePickerProps, useDatePicker} from "./use-date-picker"; +import {useDatePicker} from "./use-date-picker"; export interface Props extends UseDatePickerProps { /** diff --git a/packages/components/date-picker/src/date-range-picker-field.tsx b/packages/components/date-picker/src/date-range-picker-field.tsx index 277bbd18c9..40d0eaa92b 100644 --- a/packages/components/date-picker/src/date-range-picker-field.tsx +++ b/packages/components/date-picker/src/date-range-picker-field.tsx @@ -2,12 +2,12 @@ import type {DateInputReturnType, DateInputSlots, SlotsToClasses} from "@heroui/ import type {AriaDatePickerProps} from "@react-types/datepicker"; import type {HTMLHeroUIProps} from "@heroui/system"; import type {DateInputProps} from "@heroui/date-input"; +import type {DateValue} from "@react-types/datepicker"; +import type {ForwardedRef, ReactElement} from "react"; import {createCalendar} from "@internationalized/date"; import {forwardRef, useRef} from "react"; -import {DateValue} from "@react-types/datepicker"; import {useDateField as useAriaDateField} from "@react-aria/datepicker"; -import {ForwardedRef, ReactElement} from "react"; import {useDateFieldState} from "@react-stately/datepicker"; import {DateInputSegment} from "@heroui/date-input"; import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; diff --git a/packages/components/date-picker/src/date-range-picker.tsx b/packages/components/date-picker/src/date-range-picker.tsx index dbae897053..021b5de279 100644 --- a/packages/components/date-picker/src/date-range-picker.tsx +++ b/packages/components/date-picker/src/date-range-picker.tsx @@ -1,6 +1,8 @@ import type {DateValue} from "@internationalized/date"; +import type {ForwardedRef, ReactElement} from "react"; +import type {UseDateRangePickerProps} from "./use-date-range-picker"; -import {ForwardedRef, ReactElement, useMemo} from "react"; +import {useMemo} from "react"; import {cloneElement, isValidElement} from "react"; import {forwardRef} from "@heroui/system"; import {Button} from "@heroui/button"; @@ -11,7 +13,7 @@ import {AnimatePresence} from "framer-motion"; import {CalendarBoldIcon} from "@heroui/shared-icons"; import DateRangePickerField from "./date-range-picker-field"; -import {UseDateRangePickerProps, useDateRangePicker} from "./use-date-range-picker"; +import {useDateRangePicker} from "./use-date-range-picker"; export interface Props extends UseDateRangePickerProps { /** diff --git a/packages/components/date-picker/src/use-date-picker-base.ts b/packages/components/date-picker/src/use-date-picker-base.ts index f4e955717b..fc40f46e5f 100644 --- a/packages/components/date-picker/src/use-date-picker-base.ts +++ b/packages/components/date-picker/src/use-date-picker-base.ts @@ -6,11 +6,13 @@ import type {CalendarProps} from "@heroui/calendar"; import type {PopoverProps} from "@heroui/popover"; import type {ReactNode} from "react"; import type {ValueBase} from "@react-types/shared"; +import type {DatePickerVariantProps} from "@heroui/theme"; +import type {HTMLHeroUIProps} from "@heroui/system"; import {dataAttr} from "@heroui/shared-utils"; -import {dateInput, DatePickerVariantProps} from "@heroui/theme"; +import {dateInput} from "@heroui/theme"; import {useCallback} from "react"; -import {HTMLHeroUIProps, mapPropsVariants, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {mergeProps} from "@react-aria/utils"; import {useDOMRef} from "@heroui/react-utils"; import {useLocalizedStringFormatter} from "@react-aria/i18n"; diff --git a/packages/components/date-picker/src/use-date-picker.ts b/packages/components/date-picker/src/use-date-picker.ts index ae13c684c5..1565ccd5ad 100644 --- a/packages/components/date-picker/src/use-date-picker.ts +++ b/packages/components/date-picker/src/use-date-picker.ts @@ -7,12 +7,13 @@ import type {PopoverProps} from "@heroui/popover"; import type {UseDatePickerBaseProps} from "./use-date-picker-base"; import type {DOMAttributes} from "@heroui/system"; import type {DatePickerSlots, SlotsToClasses} from "@heroui/theme"; +import type {AriaDatePickerProps} from "@react-aria/datepicker"; import {useProviderContext} from "@heroui/system"; import {useMemo, useRef} from "react"; import {datePicker} from "@heroui/theme"; import {useDatePickerState} from "@react-stately/datepicker"; -import {AriaDatePickerProps, useDatePicker as useAriaDatePicker} from "@react-aria/datepicker"; +import {useDatePicker as useAriaDatePicker} from "@react-aria/datepicker"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; import {mergeProps} from "@react-aria/utils"; import {FormContext, useSlottedContext} from "@heroui/form"; diff --git a/packages/components/date-picker/stories/date-picker.stories.tsx b/packages/components/date-picker/stories/date-picker.stories.tsx index e6d996403c..2c09be9c1d 100644 --- a/packages/components/date-picker/stories/date-picker.stories.tsx +++ b/packages/components/date-picker/stories/date-picker.stories.tsx @@ -1,10 +1,13 @@ import type {MappedDateValue} from "@react-types/datepicker"; +import type {Meta} from "@storybook/react"; +import type {DateValue} from "@internationalized/date"; +import type {RadioProps} from "@heroui/radio"; +import type {ValidationResult} from "@react-types/shared"; +import type {DatePickerProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {dateInput, button} from "@heroui/theme"; import { - DateValue, getLocalTimeZone, isWeekend, now, @@ -17,13 +20,12 @@ import { } from "@internationalized/date"; import {I18nProvider, useDateFormatter, useLocale} from "@react-aria/i18n"; import {Button, ButtonGroup} from "@heroui/button"; -import {Radio, RadioGroup, RadioProps} from "@heroui/radio"; +import {Radio, RadioGroup} from "@heroui/radio"; import {cn} from "@heroui/theme"; import {MoonIcon, SunIcon} from "@heroui/shared-icons"; -import {ValidationResult} from "@react-types/shared"; import {Form} from "@heroui/form"; -import {DatePicker, DatePickerProps} from "../src"; +import {DatePicker} from "../src"; export default { title: "Components/DatePicker", diff --git a/packages/components/date-picker/stories/date-range-picker.stories.tsx b/packages/components/date-picker/stories/date-range-picker.stories.tsx index 7dcdfc0c8a..4df67cf2de 100644 --- a/packages/components/date-picker/stories/date-range-picker.stories.tsx +++ b/packages/components/date-picker/stories/date-range-picker.stories.tsx @@ -1,7 +1,11 @@ import type {MappedDateValue} from "@react-types/datepicker"; +import type {Meta} from "@storybook/react"; +import type {RangeValue, ValidationResult} from "@react-types/shared"; +import type {DateValue} from "@react-types/datepicker"; +import type {RadioProps} from "@heroui/radio"; +import type {DateRangePickerProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {dateInput, button} from "@heroui/theme"; import { endOfMonth, @@ -15,16 +19,14 @@ import { startOfWeek, today, } from "@internationalized/date"; -import {RangeValue, ValidationResult} from "@react-types/shared"; -import {DateValue} from "@react-types/datepicker"; import {I18nProvider, useDateFormatter, useLocale} from "@react-aria/i18n"; import {Button, ButtonGroup} from "@heroui/button"; -import {Radio, RadioGroup, RadioProps} from "@heroui/radio"; +import {Radio, RadioGroup} from "@heroui/radio"; import {cn} from "@heroui/theme"; import {Form} from "@heroui/form"; import {MoonIcon, SunIcon} from "@heroui/shared-icons"; -import {DateRangePicker, DateRangePickerProps} from "../src"; +import {DateRangePicker} from "../src"; export default { title: "Components/DateRangePicker", diff --git a/packages/components/divider/package.json b/packages/components/divider/package.json index 3aa98c5db8..0318fdd05a 100644 --- a/packages/components/divider/package.json +++ b/packages/components/divider/package.json @@ -39,7 +39,6 @@ "@heroui/theme": ">=2.4.6" }, "dependencies": { - "@heroui/shared-utils": "workspace:*", "@heroui/react-rsc-utils": "workspace:*", "@heroui/system-rsc": "workspace:*", "@react-types/shared": "3.30.0" diff --git a/packages/components/divider/src/divider.tsx b/packages/components/divider/src/divider.tsx index 0d3377a1a9..f0570f7fa9 100644 --- a/packages/components/divider/src/divider.tsx +++ b/packages/components/divider/src/divider.tsx @@ -1,6 +1,8 @@ +import type {UseDividerProps} from "./use-divider"; + import {forwardRef} from "@heroui/system-rsc"; -import {UseDividerProps, useDivider} from "./use-divider"; +import {useDivider} from "./use-divider"; export interface DividerProps extends Omit {} diff --git a/packages/components/divider/src/use-divider.ts b/packages/components/divider/src/use-divider.ts index 53b9bbac67..a9b5519482 100644 --- a/packages/components/divider/src/use-divider.ts +++ b/packages/components/divider/src/use-divider.ts @@ -1,10 +1,12 @@ import type {DividerVariantProps} from "@heroui/theme"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system-rsc"; +import type {Ref} from "react"; +import type {SeparatorProps as AriaSeparatorProps} from "./use-separator"; import {divider} from "@heroui/theme"; -import {Ref, useCallback, useMemo} from "react"; +import {useCallback, useMemo} from "react"; -import {SeparatorProps as AriaSeparatorProps, useSeparator} from "./use-separator"; +import {useSeparator} from "./use-separator"; interface Props extends HTMLHeroUIProps<"hr"> { /** diff --git a/packages/components/divider/stories/divider.stories.tsx b/packages/components/divider/stories/divider.stories.tsx index 2209760efc..e785bded5a 100644 --- a/packages/components/divider/stories/divider.stories.tsx +++ b/packages/components/divider/stories/divider.stories.tsx @@ -1,8 +1,10 @@ +import type {Meta} from "@storybook/react"; +import type {DividerProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {divider} from "@heroui/theme"; -import {Divider, DividerProps} from "../src"; +import {Divider} from "../src"; export default { title: "Components/Divider", diff --git a/packages/components/drawer/package.json b/packages/components/drawer/package.json index f50aed416f..b7a64eff2a 100644 --- a/packages/components/drawer/package.json +++ b/packages/components/drawer/package.json @@ -55,11 +55,9 @@ "@heroui/button": "workspace:*", "@heroui/avatar": "workspace:*", "@heroui/link": "workspace:*", - "@heroui/switch": "workspace:*", "@heroui/shared-icons": "workspace:*", "@heroui/use-disclosure": "workspace:*", "@heroui/test-utils": "workspace:*", - "react-lorem-component": "0.13.0", "clean-package": "2.2.0", "react": "18.3.0", "react-dom": "18.3.0" diff --git a/packages/components/drawer/src/drawer.tsx b/packages/components/drawer/src/drawer.tsx index e56b4e7407..06f88d9a2e 100644 --- a/packages/components/drawer/src/drawer.tsx +++ b/packages/components/drawer/src/drawer.tsx @@ -1,7 +1,9 @@ +import type {UseDrawerProps} from "./use-drawer"; + import {forwardRef} from "@heroui/system"; import {Modal} from "@heroui/modal"; -import {useDrawer, UseDrawerProps} from "./use-drawer"; +import {useDrawer} from "./use-drawer"; export interface DrawerProps extends UseDrawerProps { children: React.ReactNode; diff --git a/packages/components/drawer/src/use-drawer.ts b/packages/components/drawer/src/use-drawer.ts index 4d6bf12d47..d897c078c2 100644 --- a/packages/components/drawer/src/use-drawer.ts +++ b/packages/components/drawer/src/use-drawer.ts @@ -1,11 +1,12 @@ import type {ModalProps} from "@heroui/modal"; +import type {ReactRef} from "@heroui/react-utils"; +import type {PropGetter} from "@heroui/system"; import {drawer} from "@heroui/theme"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; +import {useDOMRef} from "@heroui/react-utils"; import {useCallback, useMemo} from "react"; import {TRANSITION_EASINGS} from "@heroui/framer-utils"; import {clsx, isEmpty} from "@heroui/shared-utils"; -import {PropGetter} from "@heroui/system"; interface Props extends Omit { /** diff --git a/packages/components/drawer/stories/drawer.stories.tsx b/packages/components/drawer/stories/drawer.stories.tsx index 9b73a143a6..d976e46333 100644 --- a/packages/components/drawer/stories/drawer.stories.tsx +++ b/packages/components/drawer/stories/drawer.stories.tsx @@ -1,6 +1,8 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {Meta} from "@storybook/react"; +import type {DrawerProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {drawer} from "@heroui/theme"; import {Button} from "@heroui/button"; import {Input} from "@heroui/input"; @@ -12,7 +14,7 @@ import {Avatar, AvatarGroup} from "@heroui/avatar"; import {MailFilledIcon, LockFilledIcon} from "@heroui/shared-icons"; import {useDisclosure} from "@heroui/use-disclosure"; -import {Drawer, DrawerContent, DrawerHeader, DrawerBody, DrawerFooter, DrawerProps} from "../src"; +import {Drawer, DrawerContent, DrawerHeader, DrawerBody, DrawerFooter} from "../src"; export default { title: "Components/Drawer", diff --git a/packages/components/dropdown/__tests__/dropdown.test.tsx b/packages/components/dropdown/__tests__/dropdown.test.tsx index 74d5b41eb5..3007ca89c3 100644 --- a/packages/components/dropdown/__tests__/dropdown.test.tsx +++ b/packages/components/dropdown/__tests__/dropdown.test.tsx @@ -1,7 +1,9 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {act, render, fireEvent} from "@testing-library/react"; import {Button} from "@heroui/button"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {keyCodes, shouldIgnoreReactWarning, spy} from "@heroui/test-utils"; import {User} from "@heroui/user"; import {Image} from "@heroui/image"; diff --git a/packages/components/dropdown/src/dropdown-context.ts b/packages/components/dropdown/src/dropdown-context.ts index 4ddeee4c65..ea8a7105d4 100644 --- a/packages/components/dropdown/src/dropdown-context.ts +++ b/packages/components/dropdown/src/dropdown-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {UseDropdownReturn} from "./use-dropdown"; -import {UseDropdownReturn} from "./use-dropdown"; +import {createContext} from "@heroui/react-utils"; export const [DropdownProvider, useDropdownContext] = createContext({ name: "DropdownContext", diff --git a/packages/components/dropdown/src/dropdown-menu.tsx b/packages/components/dropdown/src/dropdown-menu.tsx index 49fdb1f025..a795aa9428 100644 --- a/packages/components/dropdown/src/dropdown-menu.tsx +++ b/packages/components/dropdown/src/dropdown-menu.tsx @@ -1,8 +1,10 @@ +import type {MenuProps} from "@heroui/menu"; +import type {ForwardedRef, ReactElement} from "react"; + import {PopoverContent} from "@heroui/popover"; import {FocusScope} from "@react-aria/focus"; import {forwardRef} from "@heroui/system"; -import {Menu, MenuProps} from "@heroui/menu"; -import {ForwardedRef, ReactElement} from "react"; +import {Menu} from "@heroui/menu"; import {useDropdownContext} from "./dropdown-context"; diff --git a/packages/components/dropdown/src/dropdown.tsx b/packages/components/dropdown/src/dropdown.tsx index 475fa40a62..d3acc5e187 100644 --- a/packages/components/dropdown/src/dropdown.tsx +++ b/packages/components/dropdown/src/dropdown.tsx @@ -1,8 +1,11 @@ -import React, {ReactNode} from "react"; +import type {ReactNode} from "react"; +import type {UseDropdownProps} from "./use-dropdown"; + +import React from "react"; import {Popover} from "@heroui/popover"; import {DropdownProvider} from "./dropdown-context"; -import {UseDropdownProps, useDropdown} from "./use-dropdown"; +import {useDropdown} from "./use-dropdown"; export interface DropdownProps extends UseDropdownProps { /** diff --git a/packages/components/dropdown/src/use-dropdown.ts b/packages/components/dropdown/src/use-dropdown.ts index 5cf68fb319..d4e7089d39 100644 --- a/packages/components/dropdown/src/use-dropdown.ts +++ b/packages/components/dropdown/src/use-dropdown.ts @@ -2,18 +2,19 @@ import type {PopoverProps} from "@heroui/popover"; import type {MenuTriggerType} from "@react-types/menu"; import type {Ref} from "react"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {MenuProps} from "@heroui/menu"; +import type {CollectionElement} from "@react-types/shared"; import {useProviderContext} from "@heroui/system"; import {useMenuTriggerState} from "@react-stately/menu"; import {useMenuTrigger} from "@react-aria/menu"; import {dropdown} from "@heroui/theme"; import {clsx} from "@heroui/shared-utils"; -import {ReactRef, mergeRefs} from "@heroui/react-utils"; +import {mergeRefs} from "@heroui/react-utils"; import {ariaShouldCloseOnInteractOutside} from "@heroui/aria-utils"; import {useMemo, useRef} from "react"; import {mergeProps} from "@react-aria/utils"; -import {MenuProps} from "@heroui/menu"; -import {CollectionElement} from "@react-types/shared"; interface Props extends HTMLHeroUIProps<"div"> { /** diff --git a/packages/components/dropdown/stories/dropdown.stories.tsx b/packages/components/dropdown/stories/dropdown.stories.tsx index 017aa55f34..6d0d579927 100644 --- a/packages/components/dropdown/stories/dropdown.stories.tsx +++ b/packages/components/dropdown/stories/dropdown.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {DropdownProps, DropdownMenuProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {dropdown, popover} from "@heroui/theme"; import {Button} from "@heroui/button"; import {Avatar} from "@heroui/avatar"; @@ -12,15 +14,7 @@ import { } from "@heroui/shared-icons"; import {clsx} from "@heroui/shared-utils"; -import { - Dropdown, - DropdownSection, - DropdownTrigger, - DropdownMenu, - DropdownItem, - DropdownProps, - DropdownMenuProps, -} from "../src"; +import {Dropdown, DropdownSection, DropdownTrigger, DropdownMenu, DropdownItem} from "../src"; export default { title: "Components/Dropdown", diff --git a/packages/components/form/package.json b/packages/components/form/package.json index bdca0ca85f..a1f38de543 100644 --- a/packages/components/form/package.json +++ b/packages/components/form/package.json @@ -40,8 +40,6 @@ "react-dom": ">=18" }, "dependencies": { - "@heroui/react-utils": "workspace:*", - "@heroui/shared-utils": "workspace:*", "@heroui/system": "workspace:*", "@heroui/theme": "workspace:*", "@react-aria/utils": "3.29.1", diff --git a/packages/components/form/src/base-form.tsx b/packages/components/form/src/base-form.tsx index fc7e06a2bf..04579748a7 100644 --- a/packages/components/form/src/base-form.tsx +++ b/packages/components/form/src/base-form.tsx @@ -4,12 +4,14 @@ */ import type {FormProps as SharedFormProps} from "@react-types/form"; +import type {ForwardedRef} from "react"; +import type {ContextValue, DOMProps} from "./utils"; import {FormValidationContext} from "@react-stately/form"; -import React, {createContext, ForwardedRef, forwardRef, useMemo} from "react"; +import React, {createContext, forwardRef, useMemo} from "react"; import {form} from "@heroui/theme"; -import {ContextValue, DOMProps, useContextProps} from "./utils"; +import {useContextProps} from "./utils"; export interface FormProps extends SharedFormProps, DOMProps { /** diff --git a/packages/components/form/src/form.tsx b/packages/components/form/src/form.tsx index 0ce3393d72..f6e5b2d6df 100644 --- a/packages/components/form/src/form.tsx +++ b/packages/components/form/src/form.tsx @@ -1,9 +1,10 @@ import type {ForwardedRef} from "react"; +import type {FormProps} from "./base-form"; import {useProviderContext} from "@heroui/system"; import {forwardRef} from "react"; -import {Form as AriaForm, FormProps} from "./base-form"; +import {Form as AriaForm} from "./base-form"; export const Form = forwardRef(function Form(props: FormProps, ref: ForwardedRef) { const globalContext = useProviderContext(); diff --git a/packages/components/form/src/utils.ts b/packages/components/form/src/utils.ts index 2f90c2974a..642c47b585 100644 --- a/packages/components/form/src/utils.ts +++ b/packages/components/form/src/utils.ts @@ -4,9 +4,10 @@ */ import type {CSSProperties, ForwardedRef, ReactNode} from "react"; +import type {Context} from "react"; +import type {RefObject, DOMProps as SharedDOMProps} from "@react-types/shared"; -import {Context, useContext, useMemo} from "react"; -import {RefObject, DOMProps as SharedDOMProps} from "@react-types/shared"; +import {useContext, useMemo} from "react"; import {mergeProps, mergeRefs, useObjectRef} from "@react-aria/utils"; export const DEFAULT_SLOT = Symbol("default"); diff --git a/packages/components/form/stories/form.stories.tsx b/packages/components/form/stories/form.stories.tsx index 99c2cb790b..2430fc94a3 100644 --- a/packages/components/form/stories/form.stories.tsx +++ b/packages/components/form/stories/form.stories.tsx @@ -1,9 +1,11 @@ +import type {Meta} from "@storybook/react"; +import type {FormProps} from "../src"; + import React, {useState} from "react"; -import {Meta} from "@storybook/react"; // import {Input} from "@heroui/input"; import {Button} from "@heroui/button"; -import {Form, FormProps} from "../src"; +import {Form} from "../src"; export default { title: "Components/Form", diff --git a/packages/components/image/src/image.tsx b/packages/components/image/src/image.tsx index fab736a152..4ef53cf0f1 100644 --- a/packages/components/image/src/image.tsx +++ b/packages/components/image/src/image.tsx @@ -1,7 +1,9 @@ +import type {UseImageProps} from "./use-image"; + import {cloneElement} from "react"; import {forwardRef} from "@heroui/system"; -import {UseImageProps, useImage} from "./use-image"; +import {useImage} from "./use-image"; export interface ImageProps extends Omit {} diff --git a/packages/components/image/src/use-image.ts b/packages/components/image/src/use-image.ts index 9f761bb6c0..5cdb77c94c 100644 --- a/packages/components/image/src/use-image.ts +++ b/packages/components/image/src/use-image.ts @@ -1,11 +1,13 @@ import type {ImageVariantProps, SlotsToClasses, ImageSlots} from "@heroui/theme"; +import type {ImgHTMLAttributes} from "react"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; -import {ImgHTMLAttributes, useCallback} from "react"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {useCallback} from "react"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {image} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useImage as useImageBase} from "@heroui/use-image"; import {useMemo} from "react"; type NativeImageProps = ImgHTMLAttributes; diff --git a/packages/components/image/stories/image.stories.tsx b/packages/components/image/stories/image.stories.tsx index 53ea412568..73df55cdf3 100644 --- a/packages/components/image/stories/image.stories.tsx +++ b/packages/components/image/stories/image.stories.tsx @@ -1,8 +1,10 @@ +import type {Meta} from "@storybook/react"; +import type {ImageProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {image} from "@heroui/theme"; -import {Image, ImageProps} from "../src"; +import {Image} from "../src"; export default { title: "Components/Image", diff --git a/packages/components/input-otp/__tests__/input-otp.test.tsx b/packages/components/input-otp/__tests__/input-otp.test.tsx index cbb4b5f64b..e8e8669f10 100644 --- a/packages/components/input-otp/__tests__/input-otp.test.tsx +++ b/packages/components/input-otp/__tests__/input-otp.test.tsx @@ -1,9 +1,11 @@ import "@testing-library/jest-dom"; +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render, renderHook, screen} from "@testing-library/react"; import {Controller, useForm} from "react-hook-form"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Form} from "@heroui/form"; import {InputOtp} from "../src"; diff --git a/packages/components/input-otp/src/input-otp-context.ts b/packages/components/input-otp/src/input-otp-context.ts index 739ad6f1ee..b887e8e548 100644 --- a/packages/components/input-otp/src/input-otp-context.ts +++ b/packages/components/input-otp/src/input-otp-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {UseInputOtpReturn} from "./use-input-otp"; -import {UseInputOtpReturn} from "./use-input-otp"; +import {createContext} from "@heroui/react-utils"; export const [InputOtpProvider, useInputOtpContext] = createContext({ name: "InputOtpContext", diff --git a/packages/components/input-otp/src/input-otp-segment.tsx b/packages/components/input-otp/src/input-otp-segment.tsx index 6985fd429e..0571c04e2b 100644 --- a/packages/components/input-otp/src/input-otp-segment.tsx +++ b/packages/components/input-otp/src/input-otp-segment.tsx @@ -1,4 +1,5 @@ -import {SlotProps} from "input-otp"; +import type {SlotProps} from "input-otp"; + import {useMemo} from "react"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {cn} from "@heroui/theme"; diff --git a/packages/components/input-otp/src/input-otp.tsx b/packages/components/input-otp/src/input-otp.tsx index 303b2703a0..14322da809 100644 --- a/packages/components/input-otp/src/input-otp.tsx +++ b/packages/components/input-otp/src/input-otp.tsx @@ -1,8 +1,10 @@ +import type {UseInputOtpProps} from "./use-input-otp"; + import {forwardRef} from "@heroui/system"; import {useMemo} from "react"; import {OTPInput} from "input-otp"; -import {UseInputOtpProps, useInputOtp} from "./use-input-otp"; +import {useInputOtp} from "./use-input-otp"; import {InputOtpProvider} from "./input-otp-context"; import {InputOtpSegment} from "./input-otp-segment"; diff --git a/packages/components/input-otp/src/use-input-otp.ts b/packages/components/input-otp/src/use-input-otp.ts index dc803feb98..448c6398eb 100644 --- a/packages/components/input-otp/src/use-input-otp.ts +++ b/packages/components/input-otp/src/use-input-otp.ts @@ -4,19 +4,21 @@ import type { InputOtpVariantProps, SlotsToClasses, } from "@heroui/theme"; +import type {ReactRef} from "@heroui/react-utils"; +import type {AriaTextFieldProps} from "@react-types/textfield"; +import type {OTPInputProps} from "input-otp"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {inputOtp} from "@heroui/theme"; -import {filterDOMProps, ReactRef, useDOMRef} from "@heroui/react-utils"; +import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr, objectToDeps, isPatternNumeric} from "@heroui/shared-utils"; import {useCallback, useMemo} from "react"; import {chain, mergeProps, useFormReset} from "@react-aria/utils"; -import {AriaTextFieldProps} from "@react-types/textfield"; import {useControlledState} from "@react-stately/utils"; import {useFormValidationState} from "@react-stately/form"; import {useFormValidation} from "@react-aria/form"; import {useFocusRing} from "@react-aria/focus"; -import {OTPInputProps} from "input-otp"; import {FormContext, useSlottedContext} from "@heroui/form"; interface Props extends HTMLHeroUIProps<"div"> { diff --git a/packages/components/input-otp/stories/input-otp.stories.tsx b/packages/components/input-otp/stories/input-otp.stories.tsx index 651f0ebb9f..952a1aaa4a 100644 --- a/packages/components/input-otp/stories/input-otp.stories.tsx +++ b/packages/components/input-otp/stories/input-otp.stories.tsx @@ -1,8 +1,9 @@ +import type {Meta} from "@storybook/react"; +import type {ValidationResult} from "@react-types/shared"; + import React from "react"; -import {Meta} from "@storybook/react"; import {button, inputOtp} from "@heroui/theme"; import {Controller, useForm} from "react-hook-form"; -import {ValidationResult} from "@react-types/shared"; import {Button} from "@heroui/button"; import {Form} from "@heroui/form"; diff --git a/packages/components/input/__tests__/input.test.tsx b/packages/components/input/__tests__/input.test.tsx index 8493de8191..f73774315f 100644 --- a/packages/components/input/__tests__/input.test.tsx +++ b/packages/components/input/__tests__/input.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render, renderHook, fireEvent, act} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {useForm} from "react-hook-form"; import {Form} from "@heroui/form"; diff --git a/packages/components/input/src/input.tsx b/packages/components/input/src/input.tsx index d6d646dfd5..2847263afd 100644 --- a/packages/components/input/src/input.tsx +++ b/packages/components/input/src/input.tsx @@ -1,8 +1,10 @@ +import type {UseInputProps} from "./use-input"; + import {CloseFilledIcon} from "@heroui/shared-icons"; import {useMemo} from "react"; import {forwardRef} from "@heroui/system"; -import {UseInputProps, useInput} from "./use-input"; +import {useInput} from "./use-input"; export interface InputProps extends Omit {} diff --git a/packages/components/input/src/textarea.tsx b/packages/components/input/src/textarea.tsx index b3ce26b290..6aa3a9294b 100644 --- a/packages/components/input/src/textarea.tsx +++ b/packages/components/input/src/textarea.tsx @@ -1,3 +1,5 @@ +import type {UseInputProps} from "./use-input"; + import {dataAttr} from "@heroui/shared-utils"; import {forwardRef} from "@heroui/system"; import {mergeProps} from "@react-aria/utils"; @@ -5,7 +7,7 @@ import {useMemo, useState} from "react"; import TextareaAutosize from "react-textarea-autosize"; import {CloseFilledIcon} from "@heroui/shared-icons"; -import {UseInputProps, useInput} from "./use-input"; +import {useInput} from "./use-input"; type NativeTextareaProps = React.TextareaHTMLAttributes; type TextareaAutoSizeStyle = Omit< diff --git a/packages/components/input/src/use-input.ts b/packages/components/input/src/use-input.ts index 33f57abd0c..70d65bc061 100644 --- a/packages/components/input/src/use-input.ts +++ b/packages/components/input/src/use-input.ts @@ -1,22 +1,18 @@ import type {InputVariantProps, SlotsToClasses, InputSlots} from "@heroui/theme"; import type {AriaTextFieldOptions} from "@react-aria/textfield"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {AriaTextFieldProps} from "@react-types/textfield"; +import type {Ref} from "react"; -import { - HTMLHeroUIProps, - mapPropsVariants, - PropGetter, - useLabelPlacement, - useProviderContext, -} from "@heroui/system"; +import {mapPropsVariants, useLabelPlacement, useProviderContext} from "@heroui/system"; import {useSafeLayoutEffect} from "@heroui/use-safe-layout-effect"; -import {AriaTextFieldProps} from "@react-types/textfield"; import {useFocusRing} from "@react-aria/focus"; import {input} from "@heroui/theme"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {useFocusWithin, useHover, usePress} from "@react-aria/interactions"; import {clsx, dataAttr, isEmpty, objectToDeps, safeAriaLabel} from "@heroui/shared-utils"; import {useControlledState} from "@react-stately/utils"; -import {useMemo, Ref, useCallback, useState} from "react"; +import {useMemo, useCallback, useState} from "react"; import {chain, mergeProps} from "@react-aria/utils"; import {useTextField} from "@react-aria/textfield"; import {FormContext, useSlottedContext} from "@heroui/form"; diff --git a/packages/components/input/stories/input.stories.tsx b/packages/components/input/stories/input.stories.tsx index 22dd53fbbd..5f9dc714e7 100644 --- a/packages/components/input/stories/input.stories.tsx +++ b/packages/components/input/stories/input.stories.tsx @@ -1,9 +1,10 @@ /* eslint-disable jsx-a11y/interactive-supports-focus */ /* eslint-disable jsx-a11y/click-events-have-key-events */ import type {ValidationResult} from "@react-types/shared"; +import type {Meta} from "@storybook/react"; +import type {InputProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {input} from "@heroui/theme"; import { MailFilledIcon, @@ -16,7 +17,7 @@ import {button} from "@heroui/theme"; import {useForm} from "react-hook-form"; import {Form} from "@heroui/form"; -import {Input, InputProps, useInput} from "../src"; +import {Input, useInput} from "../src"; export default { title: "Components/Input", diff --git a/packages/components/input/stories/textarea.stories.tsx b/packages/components/input/stories/textarea.stories.tsx index f5ad31bd11..83baf9d8a8 100644 --- a/packages/components/input/stories/textarea.stories.tsx +++ b/packages/components/input/stories/textarea.stories.tsx @@ -1,13 +1,14 @@ import type {ValidationResult} from "@react-types/shared"; +import type {Meta} from "@storybook/react"; +import type {TextAreaProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {input} from "@heroui/theme"; import {SendFilledIcon, PlusFilledIcon} from "@heroui/shared-icons"; import {button} from "@heroui/theme"; import {Form} from "@heroui/form"; -import {Textarea, TextAreaProps} from "../src"; +import {Textarea} from "../src"; export default { title: "Components/Textarea", diff --git a/packages/components/kbd/package.json b/packages/components/kbd/package.json index 9cdb90a810..aa4f0b1df3 100644 --- a/packages/components/kbd/package.json +++ b/packages/components/kbd/package.json @@ -41,8 +41,7 @@ "dependencies": { "@heroui/system-rsc": "workspace:*", "@heroui/shared-utils": "workspace:*", - "@heroui/react-utils": "workspace:*", - "@react-aria/utils": "3.29.1" + "@heroui/react-utils": "workspace:*" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/kbd/src/kbd.tsx b/packages/components/kbd/src/kbd.tsx index 8cc9905c53..c56a161d1d 100644 --- a/packages/components/kbd/src/kbd.tsx +++ b/packages/components/kbd/src/kbd.tsx @@ -1,7 +1,9 @@ +import type {UseKbdProps} from "./use-kbd"; + import {useMemo} from "react"; import {forwardRef} from "@heroui/system-rsc"; -import {UseKbdProps, useKbd} from "./use-kbd"; +import {useKbd} from "./use-kbd"; import {kbdKeysLabelMap, kbdKeysMap} from "./utils"; export interface KbdProps extends UseKbdProps {} diff --git a/packages/components/kbd/src/use-kbd.ts b/packages/components/kbd/src/use-kbd.ts index 73971a28a6..c6b1bc1a14 100644 --- a/packages/components/kbd/src/use-kbd.ts +++ b/packages/components/kbd/src/use-kbd.ts @@ -1,14 +1,13 @@ import type {KbdVariantProps, KbdSlots, SlotsToClasses} from "@heroui/theme"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system-rsc"; +import type {ReactRef} from "@heroui/react-utils"; +import type {KbdKey} from "./utils"; import {mapPropsVariants} from "@heroui/system-rsc"; import {kbd} from "@heroui/theme"; import {clsx, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useMemo} from "react"; -import {KbdKey} from "./utils"; - interface Props extends HTMLHeroUIProps<"kbd"> { /** * Ref to the DOM node. diff --git a/packages/components/kbd/stories/kbd.stories.tsx b/packages/components/kbd/stories/kbd.stories.tsx index 78eeb95071..72e91cd1e8 100644 --- a/packages/components/kbd/stories/kbd.stories.tsx +++ b/packages/components/kbd/stories/kbd.stories.tsx @@ -1,4 +1,5 @@ -import {Meta} from "@storybook/react"; +import type {Meta} from "@storybook/react"; + import {kbd} from "@heroui/theme"; import {Kbd} from "../src"; diff --git a/packages/components/link/__tests__/link.test.tsx b/packages/components/link/__tests__/link.test.tsx index b9c5e92731..138e6704c4 100644 --- a/packages/components/link/__tests__/link.test.tsx +++ b/packages/components/link/__tests__/link.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Link} from "../src"; diff --git a/packages/components/link/package.json b/packages/components/link/package.json index fed043479c..fb64b2a787 100644 --- a/packages/components/link/package.json +++ b/packages/components/link/package.json @@ -44,7 +44,6 @@ "@heroui/shared-icons": "workspace:*", "@heroui/react-utils": "workspace:*", "@heroui/use-aria-link": "workspace:*", - "@react-aria/link": "3.8.2", "@react-aria/utils": "3.29.1", "@react-aria/focus": "3.20.4", "@react-types/link": "3.6.2" diff --git a/packages/components/link/src/link.tsx b/packages/components/link/src/link.tsx index e54dd31c31..c0f89ec304 100644 --- a/packages/components/link/src/link.tsx +++ b/packages/components/link/src/link.tsx @@ -1,8 +1,10 @@ +import type {UseLinkProps} from "./use-link"; + import {forwardRef} from "@heroui/system"; import {LinkIcon} from "@heroui/shared-icons"; import {linkAnchorClasses} from "@heroui/theme"; -import {UseLinkProps, useLink} from "./use-link"; +import {useLink} from "./use-link"; export interface LinkProps extends UseLinkProps {} diff --git a/packages/components/link/src/use-link.ts b/packages/components/link/src/use-link.ts index 89f9e94426..2ad374dc3f 100644 --- a/packages/components/link/src/use-link.ts +++ b/packages/components/link/src/use-link.ts @@ -1,14 +1,15 @@ import type {AriaLinkProps} from "@react-types/link"; import type {LinkVariantProps} from "@heroui/theme"; import type {MouseEventHandler} from "react"; +import type {ReactRef} from "@heroui/react-utils"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {link} from "@heroui/theme"; import {useAriaLink} from "@heroui/use-aria-link"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {useFocusRing} from "@react-aria/focus"; import {dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useMemo, useCallback} from "react"; import {mergeProps} from "@react-aria/utils"; diff --git a/packages/components/link/stories/link.stories.tsx b/packages/components/link/stories/link.stories.tsx index 385c0fc39f..ec6dda3144 100644 --- a/packages/components/link/stories/link.stories.tsx +++ b/packages/components/link/stories/link.stories.tsx @@ -1,11 +1,12 @@ import type {VariantProps} from "@heroui/theme"; +import type {Meta} from "@storybook/react"; +import type {LinkProps} from "../src"; -import {Meta} from "@storybook/react"; import React, {useState} from "react"; import {tv} from "@heroui/theme"; import {link} from "@heroui/theme"; -import {Link, LinkProps} from "../src"; +import {Link} from "../src"; export default { title: "Components/Link", diff --git a/packages/components/listbox/__tests__/listbox.test.tsx b/packages/components/listbox/__tests__/listbox.test.tsx index 720f31aea7..57f66a09c3 100644 --- a/packages/components/listbox/__tests__/listbox.test.tsx +++ b/packages/components/listbox/__tests__/listbox.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Listbox, ListboxItem, ListboxSection} from "../src"; diff --git a/packages/components/listbox/package.json b/packages/components/listbox/package.json index b48b84ae65..4d77be5323 100644 --- a/packages/components/listbox/package.json +++ b/packages/components/listbox/package.json @@ -51,7 +51,6 @@ "@react-stately/list": "3.12.3", "@react-aria/focus": "3.20.4", "@react-aria/interactions": "3.25.2", - "@react-types/menu": "3.10.2", "@react-types/shared": "3.30.0" }, "devDependencies": { diff --git a/packages/components/listbox/src/base/listbox-item-base.tsx b/packages/components/listbox/src/base/listbox-item-base.tsx index f955ff672f..9b5a0f40ff 100644 --- a/packages/components/listbox/src/base/listbox-item-base.tsx +++ b/packages/components/listbox/src/base/listbox-item-base.tsx @@ -1,9 +1,10 @@ import type {ListboxItemVariantProps, ListboxItemSlots, SlotsToClasses} from "@heroui/theme"; import type {AriaOptionProps} from "@react-aria/listbox"; import type {FocusableProps, PressEvents} from "@react-types/shared"; +import type {ItemProps} from "@heroui/aria-utils"; +import type {ReactNode} from "react"; -import {BaseItem, ItemProps} from "@heroui/aria-utils"; -import {ReactNode} from "react"; +import {BaseItem} from "@heroui/aria-utils"; export type ListboxItemSelectedIconProps = { /** diff --git a/packages/components/listbox/src/base/listbox-section-base.tsx b/packages/components/listbox/src/base/listbox-section-base.tsx index e33f8b323c..448af37dd5 100644 --- a/packages/components/listbox/src/base/listbox-section-base.tsx +++ b/packages/components/listbox/src/base/listbox-section-base.tsx @@ -1,9 +1,9 @@ import type {ListboxSectionSlots, SlotsToClasses} from "@heroui/theme"; +import type {SectionProps} from "@heroui/aria-utils"; +import type {DividerProps} from "@heroui/divider"; +import type {ListboxItemProps} from "../listbox-item"; -import {BaseSection, SectionProps} from "@heroui/aria-utils"; -import {DividerProps} from "@heroui/divider"; - -import {ListboxItemProps} from "../listbox-item"; +import {BaseSection} from "@heroui/aria-utils"; export interface ListboxSectionBaseProps extends SectionProps<"ul", T> { /** diff --git a/packages/components/listbox/src/listbox-item.tsx b/packages/components/listbox/src/listbox-item.tsx index 7ed0958b6c..49b71b7198 100644 --- a/packages/components/listbox/src/listbox-item.tsx +++ b/packages/components/listbox/src/listbox-item.tsx @@ -1,6 +1,9 @@ -import {useMemo, ReactNode} from "react"; +import type {ReactNode} from "react"; +import type {UseListboxItemProps} from "./use-listbox-item"; -import {UseListboxItemProps, useListboxItem} from "./use-listbox-item"; +import {useMemo} from "react"; + +import {useListboxItem} from "./use-listbox-item"; import {ListboxSelectedIcon} from "./listbox-selected-icon"; export interface ListboxItemProps diff --git a/packages/components/listbox/src/listbox-section.tsx b/packages/components/listbox/src/listbox-section.tsx index d8f605bd63..2eaad55437 100644 --- a/packages/components/listbox/src/listbox-section.tsx +++ b/packages/components/listbox/src/listbox-section.tsx @@ -1,15 +1,17 @@ +import type {Node} from "@react-types/shared"; +import type {ListState} from "@react-stately/list"; +import type {ListboxItemProps} from "./listbox-item"; +import type {ListboxSectionBaseProps} from "./base/listbox-section-base"; + import {listboxSection} from "@heroui/theme"; -import {Node} from "@react-types/shared"; import {useMemo} from "react"; import {forwardRef} from "@heroui/system"; import {mergeProps} from "@react-aria/utils"; import {clsx} from "@heroui/shared-utils"; import {Divider} from "@heroui/divider"; -import {ListState} from "@react-stately/list"; import {useListBoxSection} from "@react-aria/listbox"; -import ListboxItem, {ListboxItemProps} from "./listbox-item"; -import {ListboxSectionBaseProps} from "./base/listbox-section-base"; +import ListboxItem from "./listbox-item"; export interface ListboxSectionProps extends ListboxSectionBaseProps { item: Node; diff --git a/packages/components/listbox/src/listbox.tsx b/packages/components/listbox/src/listbox.tsx index 4962761b1c..4f8041b365 100644 --- a/packages/components/listbox/src/listbox.tsx +++ b/packages/components/listbox/src/listbox.tsx @@ -1,8 +1,10 @@ -import {ForwardedRef, ReactElement} from "react"; +import type {ForwardedRef, ReactElement} from "react"; +import type {UseListboxProps, UseListboxReturn} from "./use-listbox"; + import {forwardRef} from "@heroui/system"; import {mergeProps} from "@react-aria/utils"; -import {UseListboxProps, UseListboxReturn, useListbox} from "./use-listbox"; +import {useListbox} from "./use-listbox"; import ListboxSection from "./listbox-section"; import ListboxItem from "./listbox-item"; import VirtualizedListbox from "./virtualized-listbox"; diff --git a/packages/components/listbox/src/use-listbox-item.ts b/packages/components/listbox/src/use-listbox-item.ts index 8deacabc55..b167742846 100644 --- a/packages/components/listbox/src/use-listbox-item.ts +++ b/packages/components/listbox/src/use-listbox-item.ts @@ -1,18 +1,19 @@ import type {ListboxItemBaseProps} from "./base/listbox-item-base"; import type {MenuItemVariantProps} from "@heroui/theme"; +import type {Node} from "@react-types/shared"; +import type {ListState} from "@react-stately/list"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {useMemo, useRef, useCallback} from "react"; import {listboxItem} from "@heroui/theme"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useFocusRing} from "@react-aria/focus"; -import {Node} from "@react-types/shared"; import {filterDOMProps} from "@heroui/react-utils"; import {clsx, dataAttr, objectToDeps, removeEvents} from "@heroui/shared-utils"; import {useOption} from "@react-aria/listbox"; import {mergeProps} from "@react-aria/utils"; import {useHover, usePress} from "@react-aria/interactions"; import {useIsMobile} from "@heroui/use-is-mobile"; -import {ListState} from "@react-stately/list"; interface Props extends ListboxItemBaseProps { item: Node; diff --git a/packages/components/listbox/src/use-listbox.ts b/packages/components/listbox/src/use-listbox.ts index 448cf77e27..bb7beacde0 100644 --- a/packages/components/listbox/src/use-listbox.ts +++ b/packages/components/listbox/src/use-listbox.ts @@ -1,15 +1,20 @@ import type {KeyboardDelegate} from "@react-types/shared"; - -import {AriaListBoxProps, useListBox as useAriaListbox} from "@react-aria/listbox"; -import {HTMLHeroUIProps, PropGetter, useProviderContext} from "@heroui/system"; -import {listbox, ListboxVariantProps, ListboxSlots, SlotsToClasses} from "@heroui/theme"; -import {ListState, useListState} from "@react-stately/list"; -import {filterDOMProps, ReactRef, useDOMRef} from "@heroui/react-utils"; -import {ReactNode, useMemo} from "react"; +import type {AriaListBoxProps} from "@react-aria/listbox"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ListboxVariantProps, ListboxSlots, SlotsToClasses} from "@heroui/theme"; +import type {ListState} from "@react-stately/list"; +import type {ReactRef} from "@heroui/react-utils"; +import type {ReactNode} from "react"; +import type {ListboxItemProps} from "./listbox-item"; + +import {useListBox as useAriaListbox} from "@react-aria/listbox"; +import {useProviderContext} from "@heroui/system"; +import {listbox} from "@heroui/theme"; +import {useListState} from "@react-stately/list"; +import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; +import {useMemo} from "react"; import {clsx} from "@heroui/shared-utils"; -import {ListboxItemProps} from "./listbox-item"; - interface AriaListBoxOptions extends AriaListBoxProps { /** Whether the listbox uses virtual scrolling. */ isVirtualized?: boolean; diff --git a/packages/components/listbox/src/virtualized-listbox.tsx b/packages/components/listbox/src/virtualized-listbox.tsx index 5a8d57e762..c0cfc4909d 100644 --- a/packages/components/listbox/src/virtualized-listbox.tsx +++ b/packages/components/listbox/src/virtualized-listbox.tsx @@ -1,15 +1,18 @@ +import type {VirtualItem} from "@tanstack/react-virtual"; +import type {Node} from "@react-types/shared"; +import type {ScrollShadowProps} from "@heroui/scroll-shadow"; +import type {VirtualizationProps} from "./listbox"; +import type {UseListboxReturn} from "./use-listbox"; + import {useMemo, useRef, useState} from "react"; import {mergeProps} from "@react-aria/utils"; -import {useVirtualizer, VirtualItem} from "@tanstack/react-virtual"; +import {useVirtualizer} from "@tanstack/react-virtual"; import {isEmpty} from "@heroui/shared-utils"; -import {Node} from "@react-types/shared"; -import {ScrollShadowProps, useScrollShadow} from "@heroui/scroll-shadow"; +import {useScrollShadow} from "@heroui/scroll-shadow"; import {filterDOMProps} from "@heroui/react-utils"; import ListboxItem from "./listbox-item"; import ListboxSection from "./listbox-section"; -import {VirtualizationProps} from "./listbox"; -import {UseListboxReturn} from "./use-listbox"; interface Props extends UseListboxReturn { isVirtualized?: boolean; diff --git a/packages/components/listbox/stories/listbox.stories.tsx b/packages/components/listbox/stories/listbox.stories.tsx index c399302382..d169f525af 100644 --- a/packages/components/listbox/stories/listbox.stories.tsx +++ b/packages/components/listbox/stories/listbox.stories.tsx @@ -1,7 +1,9 @@ import type {Selection} from "@react-types/shared"; +import type {Key} from "react"; +import type {Meta} from "@storybook/react"; +import type {ListboxProps} from "../src"; -import React, {Key} from "react"; -import {Meta} from "@storybook/react"; +import React from "react"; import {menuItem} from "@heroui/theme"; import { AddNoteBulkIcon, @@ -16,7 +18,7 @@ import {Chip} from "@heroui/chip"; import {clsx} from "@heroui/shared-utils"; import {ScrollShadow} from "@heroui/scroll-shadow"; -import {Listbox, ListboxItem, ListboxSection, ListboxProps} from "../src"; +import {Listbox, ListboxItem, ListboxSection} from "../src"; const BugIcon = (props) => ( diff --git a/packages/components/menu/__tests__/menu.test.tsx b/packages/components/menu/__tests__/menu.test.tsx index 698eaa59e4..700c5fbf54 100644 --- a/packages/components/menu/__tests__/menu.test.tsx +++ b/packages/components/menu/__tests__/menu.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Menu, MenuItem, MenuSection} from "../src"; diff --git a/packages/components/menu/package.json b/packages/components/menu/package.json index 45414b8417..c9bce1519a 100644 --- a/packages/components/menu/package.json +++ b/packages/components/menu/package.json @@ -49,7 +49,6 @@ "@react-aria/interactions": "3.25.2", "@react-aria/menu": "3.18.4", "@react-aria/utils": "3.29.1", - "@react-stately/menu": "3.9.5", "@react-stately/tree": "3.9.0", "@react-types/menu": "3.10.2", "@react-types/shared": "3.30.0" @@ -57,7 +56,6 @@ "devDependencies": { "@heroui/theme": "workspace:*", "@heroui/system": "workspace:*", - "@heroui/test-utils": "workspace:*", "@heroui/shared-icons": "workspace:*", "clean-package": "2.2.0", "react": "18.3.0", diff --git a/packages/components/menu/src/base/menu-item-base.tsx b/packages/components/menu/src/base/menu-item-base.tsx index c885987c80..87ea766fe8 100644 --- a/packages/components/menu/src/base/menu-item-base.tsx +++ b/packages/components/menu/src/base/menu-item-base.tsx @@ -1,9 +1,10 @@ import type {MenuItemVariantProps, MenuItemSlots, SlotsToClasses} from "@heroui/theme"; import type {AriaMenuItemProps} from "@react-aria/menu"; import type {FocusableProps, PressEvents} from "@react-types/shared"; +import type {ItemProps} from "@heroui/aria-utils"; +import type {MouseEventHandler, ReactNode} from "react"; -import {BaseItem, ItemProps} from "@heroui/aria-utils"; -import {MouseEventHandler, ReactNode} from "react"; +import {BaseItem} from "@heroui/aria-utils"; export type MenuItemSelectedIconProps = { /** diff --git a/packages/components/menu/src/base/menu-section-base.tsx b/packages/components/menu/src/base/menu-section-base.tsx index d2b7b68090..c11655f86b 100644 --- a/packages/components/menu/src/base/menu-section-base.tsx +++ b/packages/components/menu/src/base/menu-section-base.tsx @@ -1,9 +1,9 @@ import type {MenuSectionSlots, SlotsToClasses} from "@heroui/theme"; +import type {SectionProps} from "@heroui/aria-utils"; +import type {DividerProps} from "@heroui/divider"; +import type {MenuItemProps} from "../menu-item"; -import {BaseSection, SectionProps} from "@heroui/aria-utils"; -import {DividerProps} from "@heroui/divider"; - -import {MenuItemProps} from "../menu-item"; +import {BaseSection} from "@heroui/aria-utils"; export interface MenuSectionBaseProps extends SectionProps<"ul", T> { /** diff --git a/packages/components/menu/src/menu-item.tsx b/packages/components/menu/src/menu-item.tsx index ef46ac4b71..4edb049913 100644 --- a/packages/components/menu/src/menu-item.tsx +++ b/packages/components/menu/src/menu-item.tsx @@ -1,6 +1,9 @@ -import {useMemo, ReactNode} from "react"; +import type {ReactNode} from "react"; +import type {UseMenuItemProps} from "./use-menu-item"; -import {UseMenuItemProps, useMenuItem} from "./use-menu-item"; +import {useMemo} from "react"; + +import {useMenuItem} from "./use-menu-item"; import {MenuSelectedIcon} from "./menu-selected-icon"; export interface MenuItemProps diff --git a/packages/components/menu/src/menu-section.tsx b/packages/components/menu/src/menu-section.tsx index 5729726cdc..02d1b639c5 100644 --- a/packages/components/menu/src/menu-section.tsx +++ b/packages/components/menu/src/menu-section.tsx @@ -1,15 +1,18 @@ +import type {Node} from "@react-types/shared"; +import type {TreeState} from "@react-stately/tree"; +import type {Key} from "react"; +import type {MenuItemProps} from "./menu-item"; +import type {MenuSectionBaseProps} from "./base/menu-section-base"; + import {menuSection} from "@heroui/theme"; -import {Node} from "@react-types/shared"; -import {TreeState} from "@react-stately/tree"; import {useMenuSection} from "@react-aria/menu"; -import {useMemo, Key} from "react"; +import {useMemo} from "react"; import {forwardRef} from "@heroui/system"; import {mergeProps} from "@react-aria/utils"; import {clsx} from "@heroui/shared-utils"; import {Divider} from "@heroui/divider"; -import MenuItem, {MenuItemProps} from "./menu-item"; -import {MenuSectionBaseProps} from "./base/menu-section-base"; +import MenuItem from "./menu-item"; export interface MenuSectionProps extends MenuSectionBaseProps { item: Node; diff --git a/packages/components/menu/src/menu.tsx b/packages/components/menu/src/menu.tsx index e41f938255..23efb64c37 100644 --- a/packages/components/menu/src/menu.tsx +++ b/packages/components/menu/src/menu.tsx @@ -1,8 +1,10 @@ +import type {ForwardedRef, ReactElement} from "react"; +import type {UseMenuProps} from "./use-menu"; + import {forwardRef} from "@heroui/system"; -import {ForwardedRef, ReactElement} from "react"; import {mergeClasses} from "@heroui/theme"; -import {UseMenuProps, useMenu} from "./use-menu"; +import {useMenu} from "./use-menu"; import MenuSection from "./menu-section"; import MenuItem from "./menu-item"; diff --git a/packages/components/menu/src/use-menu-item.ts b/packages/components/menu/src/use-menu-item.ts index 701597cf56..b3545286ff 100644 --- a/packages/components/menu/src/use-menu-item.ts +++ b/packages/components/menu/src/use-menu-item.ts @@ -1,12 +1,13 @@ import type {MenuItemBaseProps} from "./base/menu-item-base"; import type {MenuItemVariantProps} from "@heroui/theme"; import type {Node, PressEvent} from "@react-types/shared"; +import type {TreeState} from "@react-stately/tree"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {useMemo, useRef, useCallback} from "react"; import {menuItem} from "@heroui/theme"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useFocusRing} from "@react-aria/focus"; -import {TreeState} from "@react-stately/tree"; import {clsx, dataAttr, objectToDeps, removeEvents} from "@heroui/shared-utils"; import {useMenuItem as useAriaMenuItem} from "@react-aria/menu"; import {isFocusVisible as AriaIsFocusVisible, useHover} from "@react-aria/interactions"; diff --git a/packages/components/menu/src/use-menu.ts b/packages/components/menu/src/use-menu.ts index 26ae8649d7..cd6c458e18 100644 --- a/packages/components/menu/src/use-menu.ts +++ b/packages/components/menu/src/use-menu.ts @@ -1,17 +1,20 @@ import type {HTMLHeroUIProps, PropGetter, SharedSelection} from "@heroui/system"; +import type {AriaMenuProps} from "@react-types/menu"; +import type {AriaMenuOptions} from "@react-aria/menu"; +import type {MenuVariantProps, SlotsToClasses, MenuSlots} from "@heroui/theme"; +import type {TreeState} from "@react-stately/tree"; +import type {ReactRef} from "@heroui/react-utils"; +import type {ReactNode} from "react"; +import type {MenuItemProps} from "./menu-item"; import {useProviderContext} from "@heroui/system"; -import {AriaMenuProps} from "@react-types/menu"; -import {AriaMenuOptions} from "@react-aria/menu"; import {useMenu as useAriaMenu} from "@react-aria/menu"; -import {menu, MenuVariantProps, SlotsToClasses, MenuSlots} from "@heroui/theme"; -import {TreeState, useTreeState} from "@react-stately/tree"; -import {ReactRef, filterDOMProps, useDOMRef} from "@heroui/react-utils"; -import {ReactNode, useMemo} from "react"; +import {menu} from "@heroui/theme"; +import {useTreeState} from "@react-stately/tree"; +import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; +import {useMemo} from "react"; import {clsx} from "@heroui/shared-utils"; -import {MenuItemProps} from "./menu-item"; - interface Props { /** * Ref to the DOM node. diff --git a/packages/components/menu/stories/menu.stories.tsx b/packages/components/menu/stories/menu.stories.tsx index 74db69580a..ec29788be8 100644 --- a/packages/components/menu/stories/menu.stories.tsx +++ b/packages/components/menu/stories/menu.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {MenuProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {menuItem} from "@heroui/theme"; import { AddNoteBulkIcon, @@ -9,7 +11,7 @@ import { } from "@heroui/shared-icons"; import {clsx} from "@heroui/shared-utils"; -import {Menu, MenuItem, MenuSection, MenuProps} from "../src"; +import {Menu, MenuItem, MenuSection} from "../src"; export default { title: "Components/Menu", diff --git a/packages/components/modal/package.json b/packages/components/modal/package.json index cbf1254ad9..492fe0b7c5 100644 --- a/packages/components/modal/package.json +++ b/packages/components/modal/package.json @@ -52,11 +52,9 @@ "@heroui/dom-animation": "workspace:*", "@react-aria/dialog": "3.5.26", "@react-aria/focus": "3.20.4", - "@react-aria/interactions": "3.25.2", "@react-aria/overlays": "3.27.2", "@react-aria/utils": "3.29.1", - "@react-stately/overlays": "3.6.17", - "@react-types/overlays": "3.8.16" + "@react-stately/overlays": "3.6.17" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/modal/src/modal-body.tsx b/packages/components/modal/src/modal-body.tsx index cf48747a7b..c65fa54c33 100644 --- a/packages/components/modal/src/modal-body.tsx +++ b/packages/components/modal/src/modal-body.tsx @@ -1,5 +1,7 @@ +import type {HTMLHeroUIProps} from "@heroui/system"; + import {useEffect} from "react"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; diff --git a/packages/components/modal/src/modal-content.tsx b/packages/components/modal/src/modal-content.tsx index 6a16e6117c..7a82dad0d3 100644 --- a/packages/components/modal/src/modal-content.tsx +++ b/packages/components/modal/src/modal-content.tsx @@ -1,15 +1,16 @@ import type {AriaDialogProps} from "@react-aria/dialog"; import type {HTMLMotionProps} from "framer-motion"; +import type {ReactNode} from "react"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {KeyboardEvent} from "react"; -import {cloneElement, isValidElement, ReactNode, useMemo, useCallback} from "react"; +import {cloneElement, isValidElement, useMemo, useCallback} from "react"; import {DismissButton} from "@react-aria/overlays"; import {TRANSITION_VARIANTS} from "@heroui/framer-utils"; import {CloseIcon} from "@heroui/shared-icons"; import {LazyMotion, m} from "framer-motion"; import {useDialog} from "@react-aria/dialog"; import {chain, mergeProps, useViewportSize} from "@react-aria/utils"; -import {HTMLHeroUIProps} from "@heroui/system"; -import {KeyboardEvent} from "react"; import {useModalContext} from "./modal-context"; import {scaleInOut} from "./modal-transition"; diff --git a/packages/components/modal/src/modal-context.ts b/packages/components/modal/src/modal-context.ts index df4a97217a..01a702a7ca 100644 --- a/packages/components/modal/src/modal-context.ts +++ b/packages/components/modal/src/modal-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {UseModalReturn} from "./use-modal"; -import {UseModalReturn} from "./use-modal"; +import {createContext} from "@heroui/react-utils"; export const [ModalProvider, useModalContext] = createContext({ name: "ModalContext", diff --git a/packages/components/modal/src/modal-footer.tsx b/packages/components/modal/src/modal-footer.tsx index 48289a8ef2..f49fbd82a6 100644 --- a/packages/components/modal/src/modal-footer.tsx +++ b/packages/components/modal/src/modal-footer.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; diff --git a/packages/components/modal/src/modal-header.tsx b/packages/components/modal/src/modal-header.tsx index fd254cdc16..e55bbae7b9 100644 --- a/packages/components/modal/src/modal-header.tsx +++ b/packages/components/modal/src/modal-header.tsx @@ -1,6 +1,9 @@ +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; + import {useEffect} from "react"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; +import {forwardRef} from "@heroui/system"; +import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; import {useModalContext} from "./modal-context"; diff --git a/packages/components/modal/src/modal.tsx b/packages/components/modal/src/modal.tsx index c9e38b00de..63b90a4366 100644 --- a/packages/components/modal/src/modal.tsx +++ b/packages/components/modal/src/modal.tsx @@ -1,9 +1,11 @@ -import {ReactNode} from "react"; +import type {ReactNode} from "react"; +import type {UseModalProps} from "./use-modal"; + import {AnimatePresence} from "framer-motion"; import {Overlay} from "@react-aria/overlays"; import {forwardRef} from "@heroui/system"; -import {UseModalProps, useModal} from "./use-modal"; +import {useModal} from "./use-modal"; import {ModalProvider} from "./modal-context"; export interface ModalProps extends UseModalProps { diff --git a/packages/components/modal/src/use-modal.ts b/packages/components/modal/src/use-modal.ts index db418aee07..dbed6e3152 100644 --- a/packages/components/modal/src/use-modal.ts +++ b/packages/components/modal/src/use-modal.ts @@ -1,17 +1,20 @@ import type {ModalVariantProps, SlotsToClasses, ModalSlots} from "@heroui/theme"; import type {HTMLMotionProps} from "framer-motion"; +import type {AriaModalOverlayProps} from "@react-aria/overlays"; +import type {ReactNode} from "react"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {OverlayTriggerProps} from "@react-stately/overlays"; -import {AriaModalOverlayProps} from "@react-aria/overlays"; import {useAriaModalOverlay} from "@heroui/use-aria-modal-overlay"; -import {useCallback, useId, useRef, useState, useMemo, ReactNode} from "react"; +import {useCallback, useId, useRef, useState, useMemo} from "react"; import {modal} from "@heroui/theme"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useAriaButton} from "@heroui/use-aria-button"; import {useFocusRing} from "@react-aria/focus"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; +import {useDOMRef} from "@heroui/react-utils"; import {useOverlayTriggerState} from "@react-stately/overlays"; -import {OverlayTriggerProps} from "@react-stately/overlays"; import {mergeRefs, mergeProps} from "@react-aria/utils"; interface Props extends HTMLHeroUIProps<"section"> { diff --git a/packages/components/modal/stories/modal.stories.tsx b/packages/components/modal/stories/modal.stories.tsx index 86bf73630f..f0f1668ec2 100644 --- a/packages/components/modal/stories/modal.stories.tsx +++ b/packages/components/modal/stories/modal.stories.tsx @@ -1,6 +1,8 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {Meta} from "@storybook/react"; +import type {ModalProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {modal} from "@heroui/theme"; import {Button} from "@heroui/button"; import {Input} from "@heroui/input"; @@ -16,7 +18,6 @@ import { ModalHeader, ModalBody, ModalFooter, - ModalProps, useDisclosure, useDraggable, } from "../src"; diff --git a/packages/components/navbar/__tests__/navbar.test.tsx b/packages/components/navbar/__tests__/navbar.test.tsx index ff576fc98d..da2e0f4b33 100644 --- a/packages/components/navbar/__tests__/navbar.test.tsx +++ b/packages/components/navbar/__tests__/navbar.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {spy, shouldIgnoreReactWarning} from "@heroui/test-utils"; import { diff --git a/packages/components/navbar/src/navbar-brand.tsx b/packages/components/navbar/src/navbar-brand.tsx index 3b77d826b8..2a032d93ef 100644 --- a/packages/components/navbar/src/navbar-brand.tsx +++ b/packages/components/navbar/src/navbar-brand.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; diff --git a/packages/components/navbar/src/navbar-content.tsx b/packages/components/navbar/src/navbar-content.tsx index ee1fa1b2bf..fd1ac9f6df 100644 --- a/packages/components/navbar/src/navbar-content.tsx +++ b/packages/components/navbar/src/navbar-content.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; diff --git a/packages/components/navbar/src/navbar-context.ts b/packages/components/navbar/src/navbar-context.ts index fef15bbab0..47ad80b59a 100644 --- a/packages/components/navbar/src/navbar-context.ts +++ b/packages/components/navbar/src/navbar-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {UseNavbarReturn} from "./use-navbar"; -import {UseNavbarReturn} from "./use-navbar"; +import {createContext} from "@heroui/react-utils"; export const [NavbarProvider, useNavbarContext] = createContext({ name: "NavbarContext", diff --git a/packages/components/navbar/src/navbar-item.tsx b/packages/components/navbar/src/navbar-item.tsx index f6cc1e916b..6e7b0e44b2 100644 --- a/packages/components/navbar/src/navbar-item.tsx +++ b/packages/components/navbar/src/navbar-item.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; diff --git a/packages/components/navbar/src/navbar-menu-item.tsx b/packages/components/navbar/src/navbar-menu-item.tsx index a4811f1aba..a81e5ff2e2 100644 --- a/packages/components/navbar/src/navbar-menu-item.tsx +++ b/packages/components/navbar/src/navbar-menu-item.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; diff --git a/packages/components/navbar/src/navbar-menu-toggle.tsx b/packages/components/navbar/src/navbar-menu-toggle.tsx index 69a01ce566..1acbddb52e 100644 --- a/packages/components/navbar/src/navbar-menu-toggle.tsx +++ b/packages/components/navbar/src/navbar-menu-toggle.tsx @@ -1,12 +1,16 @@ -import {AriaToggleButtonProps, useToggleButton as useAriaToggleButton} from "@react-aria/button"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ReactNode} from "react"; +import type {AriaToggleButtonProps} from "@react-aria/button"; + +import {useToggleButton as useAriaToggleButton} from "@react-aria/button"; +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {useToggleState} from "@react-stately/toggle"; import {useFocusRing} from "@react-aria/focus"; import {mergeProps} from "@react-aria/utils"; import {useHover} from "@react-aria/interactions"; -import {useMemo, ReactNode} from "react"; +import {useMemo} from "react"; import {useNavbarContext} from "./navbar-context"; diff --git a/packages/components/navbar/src/navbar-menu-transitions.ts b/packages/components/navbar/src/navbar-menu-transitions.ts index 9c03c89203..20d76e3e78 100644 --- a/packages/components/navbar/src/navbar-menu-transitions.ts +++ b/packages/components/navbar/src/navbar-menu-transitions.ts @@ -1,4 +1,4 @@ -import {Variants} from "framer-motion"; +import type {Variants} from "framer-motion"; export const menuVariants: Variants = { enter: { diff --git a/packages/components/navbar/src/navbar-menu.tsx b/packages/components/navbar/src/navbar-menu.tsx index 24b6353b9a..0d740d1486 100644 --- a/packages/components/navbar/src/navbar-menu.tsx +++ b/packages/components/navbar/src/navbar-menu.tsx @@ -1,7 +1,10 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLMotionProps} from "framer-motion"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; -import {AnimatePresence, HTMLMotionProps, LazyMotion, m} from "framer-motion"; +import {AnimatePresence, LazyMotion, m} from "framer-motion"; import {mergeProps} from "@react-aria/utils"; import {Overlay} from "@react-aria/overlays"; import React from "react"; diff --git a/packages/components/navbar/src/navbar-transitions.ts b/packages/components/navbar/src/navbar-transitions.ts index 5139f63601..85dd811a5d 100644 --- a/packages/components/navbar/src/navbar-transitions.ts +++ b/packages/components/navbar/src/navbar-transitions.ts @@ -1,4 +1,5 @@ -import {Variants} from "framer-motion"; +import type {Variants} from "framer-motion"; + import {TRANSITION_EASINGS} from "@heroui/framer-utils"; export const hideOnScrollVariants: Variants = { diff --git a/packages/components/navbar/src/navbar.tsx b/packages/components/navbar/src/navbar.tsx index 363ccc2bbb..6bdc646b66 100644 --- a/packages/components/navbar/src/navbar.tsx +++ b/packages/components/navbar/src/navbar.tsx @@ -1,10 +1,12 @@ +import type {UseNavbarProps} from "./use-navbar"; + import {forwardRef} from "@heroui/system"; import {pickChildren} from "@heroui/react-utils"; import {LazyMotion, m} from "framer-motion"; import {mergeProps} from "@react-aria/utils"; import {hideOnScrollVariants} from "./navbar-transitions"; -import {UseNavbarProps, useNavbar} from "./use-navbar"; +import {useNavbar} from "./use-navbar"; import {NavbarProvider} from "./navbar-context"; import NavbarMenu from "./navbar-menu"; diff --git a/packages/components/navbar/src/use-navbar.ts b/packages/components/navbar/src/use-navbar.ts index 449d1e9bbc..48ac98166d 100644 --- a/packages/components/navbar/src/use-navbar.ts +++ b/packages/components/navbar/src/use-navbar.ts @@ -1,15 +1,16 @@ import type {NavbarVariantProps, SlotsToClasses, NavbarSlots} from "@heroui/theme"; +import type {ReactRef} from "@heroui/react-utils"; +import type {HTMLMotionProps} from "framer-motion"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {navbar} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useCallback, useEffect, useMemo, useRef, useState} from "react"; import {mergeProps, useResizeObserver} from "@react-aria/utils"; import {useScrollPosition} from "@heroui/use-scroll-position"; import {useControlledState} from "@react-stately/utils"; -import {HTMLMotionProps} from "framer-motion"; import {usePreventScroll} from "@react-aria/overlays"; interface Props extends HTMLHeroUIProps<"nav"> { diff --git a/packages/components/navbar/stories/navbar.stories.tsx b/packages/components/navbar/stories/navbar.stories.tsx index 604bf508b3..0a7337e574 100644 --- a/packages/components/navbar/stories/navbar.stories.tsx +++ b/packages/components/navbar/stories/navbar.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {NavbarProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {navbar} from "@heroui/theme"; import {Link} from "@heroui/link"; import {Button} from "@heroui/button"; @@ -26,7 +28,6 @@ import { NavbarMenu, NavbarMenuItem, NavbarMenuToggle, - NavbarProps, } from "../src"; export default { diff --git a/packages/components/number-input/__tests__/number-input.test.tsx b/packages/components/number-input/__tests__/number-input.test.tsx index 30fdd40a67..fb111f6e99 100644 --- a/packages/components/number-input/__tests__/number-input.test.tsx +++ b/packages/components/number-input/__tests__/number-input.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render, renderHook, fireEvent, act} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {useForm} from "react-hook-form"; import {Form} from "@heroui/form"; diff --git a/packages/components/number-input/package.json b/packages/components/number-input/package.json index 43a5aa80b0..f20e24f4dc 100644 --- a/packages/components/number-input/package.json +++ b/packages/components/number-input/package.json @@ -53,7 +53,6 @@ "@react-aria/interactions": "3.25.2", "@react-aria/numberfield": "3.11.15", "@react-aria/utils": "3.29.1", - "@react-stately/utils": "3.10.7", "@react-stately/numberfield": "3.9.13", "@react-types/shared": "3.30.0", "@react-types/numberfield": "3.8.12", diff --git a/packages/components/number-input/src/number-input.tsx b/packages/components/number-input/src/number-input.tsx index 1a596d992b..e6671eb0e2 100644 --- a/packages/components/number-input/src/number-input.tsx +++ b/packages/components/number-input/src/number-input.tsx @@ -1,8 +1,10 @@ +import type {UseNumberInputProps} from "./use-number-input"; + import {CloseFilledIcon} from "@heroui/shared-icons"; import {useMemo} from "react"; import {forwardRef} from "@heroui/system"; -import {UseNumberInputProps, useNumberInput} from "./use-number-input"; +import {useNumberInput} from "./use-number-input"; import NumberInputStepper from "./number-input-stepper"; export interface NumberInputProps extends UseNumberInputProps {} diff --git a/packages/components/number-input/src/use-number-input.ts b/packages/components/number-input/src/use-number-input.ts index 175e22481b..638df76929 100644 --- a/packages/components/number-input/src/use-number-input.ts +++ b/packages/components/number-input/src/use-number-input.ts @@ -2,6 +2,7 @@ import type {NumberInputVariantProps, SlotsToClasses, NumberInputSlots} from "@h import type {AriaNumberFieldProps} from "@react-types/numberfield"; import type {NumberFieldStateOptions} from "@react-stately/numberfield"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {Ref} from "react"; import {useLabelPlacement, mapPropsVariants, useProviderContext} from "@heroui/system"; import {useSafeLayoutEffect} from "@heroui/use-safe-layout-effect"; @@ -13,7 +14,7 @@ import {useLocale} from "@react-aria/i18n"; import {clsx, dataAttr, isEmpty, objectToDeps} from "@heroui/shared-utils"; import {useNumberFieldState} from "@react-stately/numberfield"; import {useNumberField as useAriaNumberInput} from "@react-aria/numberfield"; -import {useMemo, Ref, useCallback, useState} from "react"; +import {useMemo, useCallback, useState} from "react"; import {chain, mergeProps} from "@react-aria/utils"; import {FormContext, useSlottedContext} from "@heroui/form"; diff --git a/packages/components/number-input/stories/number-input.stories.tsx b/packages/components/number-input/stories/number-input.stories.tsx index 4687b549b1..0e5eafaab1 100644 --- a/packages/components/number-input/stories/number-input.stories.tsx +++ b/packages/components/number-input/stories/number-input.stories.tsx @@ -1,12 +1,13 @@ import type {ValidationResult} from "@react-types/shared"; +import type {Meta} from "@storybook/react"; +import type {NumberInputProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {button} from "@heroui/theme"; import {Form} from "@heroui/form"; import {numberInput} from "@heroui/theme"; -import {NumberInput, NumberInputProps} from "../src"; +import {NumberInput} from "../src"; export default { title: "Components/NumberInput", diff --git a/packages/components/pagination/src/pagination-cursor.tsx b/packages/components/pagination/src/pagination-cursor.tsx index 793667b0fb..c071124576 100644 --- a/packages/components/pagination/src/pagination-cursor.tsx +++ b/packages/components/pagination/src/pagination-cursor.tsx @@ -1,4 +1,6 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; export interface PaginationCursorProps extends HTMLHeroUIProps<"span"> { diff --git a/packages/components/pagination/src/pagination-item.tsx b/packages/components/pagination/src/pagination-item.tsx index fdc135d287..fde39bde56 100644 --- a/packages/components/pagination/src/pagination-item.tsx +++ b/packages/components/pagination/src/pagination-item.tsx @@ -1,6 +1,8 @@ +import type {UsePaginationItemProps} from "./use-pagination-item"; + import {forwardRef} from "@heroui/system"; -import {usePaginationItem, UsePaginationItemProps} from "./use-pagination-item"; +import {usePaginationItem} from "./use-pagination-item"; export interface PaginationItemProps extends UsePaginationItemProps {} diff --git a/packages/components/pagination/src/pagination.tsx b/packages/components/pagination/src/pagination.tsx index ee72c3f31f..ea6d140276 100644 --- a/packages/components/pagination/src/pagination.tsx +++ b/packages/components/pagination/src/pagination.tsx @@ -1,4 +1,6 @@ -import {PaginationItemValue} from "@heroui/use-pagination"; +import type {PaginationItemValue} from "@heroui/use-pagination"; +import type {UsePaginationProps} from "./use-pagination"; + import {useCallback} from "react"; import {useLocale} from "@react-aria/i18n"; import {forwardRef} from "@heroui/system"; @@ -6,7 +8,7 @@ import {PaginationItemType} from "@heroui/use-pagination"; import {ChevronIcon, EllipsisIcon, ForwardIcon} from "@heroui/shared-icons"; import {clsx, dataAttr} from "@heroui/shared-utils"; -import {UsePaginationProps, usePagination} from "./use-pagination"; +import {usePagination} from "./use-pagination"; import PaginationItem from "./pagination-item"; import PaginationCursor from "./pagination-cursor"; diff --git a/packages/components/pagination/src/use-pagination-item.ts b/packages/components/pagination/src/use-pagination-item.ts index 1e39fb176d..4b65ebc009 100644 --- a/packages/components/pagination/src/use-pagination-item.ts +++ b/packages/components/pagination/src/use-pagination-item.ts @@ -1,9 +1,9 @@ import type {Ref} from "react"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import type {LinkDOMProps, PressEvent} from "@react-types/shared"; +import type {PaginationItemValue} from "@heroui/use-pagination"; import {useMemo} from "react"; -import {PaginationItemValue} from "@heroui/use-pagination"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {chain, mergeProps, shouldClientNavigate, useRouter} from "@react-aria/utils"; import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; diff --git a/packages/components/pagination/src/use-pagination.ts b/packages/components/pagination/src/use-pagination.ts index 3a62fc9cd4..68bcded29b 100644 --- a/packages/components/pagination/src/use-pagination.ts +++ b/packages/components/pagination/src/use-pagination.ts @@ -1,13 +1,15 @@ import type {PaginationSlots, PaginationVariantProps, SlotsToClasses} from "@heroui/theme"; import type {Key, ReactNode, Ref} from "react"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; - -import {objectToDeps, Timer} from "@heroui/shared-utils"; -import { +import type {Timer} from "@heroui/shared-utils"; +import type { UsePaginationProps as UseBasePaginationProps, PaginationItemValue, - PaginationItemType, } from "@heroui/use-pagination"; +import type {PressEvent} from "@react-types/shared"; + +import {objectToDeps} from "@heroui/shared-utils"; +import {PaginationItemType} from "@heroui/use-pagination"; import {useEffect, useRef, useMemo} from "react"; import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {usePagination as useBasePagination} from "@heroui/use-pagination"; @@ -15,7 +17,6 @@ import scrollIntoView from "scroll-into-view-if-needed"; import {pagination} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; -import {PressEvent} from "@react-types/shared"; import {useIntersectionObserver} from "@heroui/use-intersection-observer"; export type PaginationItemRenderProps = { diff --git a/packages/components/pagination/stories/pagination.stories.tsx b/packages/components/pagination/stories/pagination.stories.tsx index 7522778896..8def942996 100644 --- a/packages/components/pagination/stories/pagination.stories.tsx +++ b/packages/components/pagination/stories/pagination.stories.tsx @@ -1,11 +1,13 @@ +import type {Meta} from "@storybook/react"; +import type {PaginationItemRenderProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {button, pagination} from "@heroui/theme"; import {cn} from "@heroui/theme"; import {ChevronIcon} from "@heroui/shared-icons"; import {useLocale} from "@react-aria/i18n"; -import {Pagination, PaginationItemRenderProps, PaginationItemType, usePagination} from "../src"; +import {Pagination, PaginationItemType, usePagination} from "../src"; export default { title: "Components/Pagination", diff --git a/packages/components/popover/__tests__/popover.test.tsx b/packages/components/popover/__tests__/popover.test.tsx index 179c9d4d11..581f1fbd7d 100644 --- a/packages/components/popover/__tests__/popover.test.tsx +++ b/packages/components/popover/__tests__/popover.test.tsx @@ -1,7 +1,9 @@ import "@testing-library/jest-dom"; +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render, fireEvent, act} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Button} from "@heroui/button"; import {spy, shouldIgnoreReactWarning} from "@heroui/test-utils"; diff --git a/packages/components/popover/package.json b/packages/components/popover/package.json index e211945959..7ee79c398f 100644 --- a/packages/components/popover/package.json +++ b/packages/components/popover/package.json @@ -51,11 +51,9 @@ "@heroui/dom-animation": "workspace:*", "@react-aria/dialog": "3.5.26", "@react-aria/focus": "3.20.4", - "@react-aria/interactions": "3.25.2", "@react-aria/overlays": "3.27.2", "@react-aria/utils": "3.29.1", "@react-stately/overlays": "3.6.17", - "@react-types/button": "3.12.2", "@react-types/overlays": "3.8.16" }, "devDependencies": { diff --git a/packages/components/popover/src/free-solo-popover.tsx b/packages/components/popover/src/free-solo-popover.tsx index fcf16a679d..358e645b48 100644 --- a/packages/components/popover/src/free-solo-popover.tsx +++ b/packages/components/popover/src/free-solo-popover.tsx @@ -7,16 +7,19 @@ * @internal */ +import type {HTMLMotionProps} from "framer-motion"; +import type {UsePopoverProps, UsePopoverReturn} from "./use-popover"; + import * as React from "react"; import {DismissButton, Overlay} from "@react-aria/overlays"; import {forwardRef} from "@heroui/system"; -import {HTMLMotionProps, LazyMotion, m} from "framer-motion"; +import {LazyMotion, m} from "framer-motion"; import {mergeProps} from "@react-aria/utils"; import {getTransformOrigins} from "@heroui/aria-utils"; import {TRANSITION_VARIANTS} from "@heroui/framer-utils"; import {useDialog} from "@react-aria/dialog"; -import {usePopover, UsePopoverProps, UsePopoverReturn} from "./use-popover"; +import {usePopover} from "./use-popover"; const domAnimation = () => import("@heroui/dom-animation").then((res) => res.default); diff --git a/packages/components/popover/src/popover-content.tsx b/packages/components/popover/src/popover-content.tsx index 784f70f9fc..d0d16420cf 100644 --- a/packages/components/popover/src/popover-content.tsx +++ b/packages/components/popover/src/popover-content.tsx @@ -1,11 +1,12 @@ import type {AriaDialogProps} from "@react-aria/dialog"; import type {HTMLMotionProps} from "framer-motion"; +import type {DOMAttributes, ReactNode} from "react"; +import type {HTMLHeroUIProps} from "@heroui/system"; -import {DOMAttributes, ReactNode, useMemo, useRef} from "react"; +import {useMemo, useRef} from "react"; import {DismissButton} from "@react-aria/overlays"; import {TRANSITION_VARIANTS} from "@heroui/framer-utils"; import {m, LazyMotion} from "framer-motion"; -import {HTMLHeroUIProps} from "@heroui/system"; import {getTransformOrigins} from "@heroui/aria-utils"; import {useDialog} from "@react-aria/dialog"; diff --git a/packages/components/popover/src/popover-context.ts b/packages/components/popover/src/popover-context.ts index 2a651f52ce..e7c9b81f01 100644 --- a/packages/components/popover/src/popover-context.ts +++ b/packages/components/popover/src/popover-context.ts @@ -1,6 +1,6 @@ -import {createContext} from "@heroui/react-utils"; +import type {UsePopoverReturn} from "./use-popover"; -import {UsePopoverReturn} from "./use-popover"; +import {createContext} from "@heroui/react-utils"; export const [PopoverProvider, usePopoverContext] = createContext({ name: "PopoverContext", diff --git a/packages/components/popover/src/popover.tsx b/packages/components/popover/src/popover.tsx index f2c7f472b9..591a718732 100644 --- a/packages/components/popover/src/popover.tsx +++ b/packages/components/popover/src/popover.tsx @@ -1,9 +1,12 @@ -import {Children, ReactNode} from "react"; +import type {ReactNode} from "react"; +import type {UsePopoverProps} from "./use-popover"; + +import {Children} from "react"; import {forwardRef} from "@heroui/system"; import {Overlay} from "@react-aria/overlays"; import {AnimatePresence} from "framer-motion"; -import {UsePopoverProps, usePopover} from "./use-popover"; +import {usePopover} from "./use-popover"; import {PopoverProvider} from "./popover-context"; export interface PopoverProps extends UsePopoverProps { diff --git a/packages/components/popover/src/use-aria-popover.ts b/packages/components/popover/src/use-aria-popover.ts index b6b6313bc2..bdae7a5ff1 100644 --- a/packages/components/popover/src/use-aria-popover.ts +++ b/packages/components/popover/src/use-aria-popover.ts @@ -1,19 +1,16 @@ -import {RefObject, useEffect} from "react"; -import { - useOverlay, - AriaPopoverProps, - PopoverAria, - useOverlayPosition, - AriaOverlayProps, -} from "@react-aria/overlays"; +import type {RefObject} from "react"; +import type {AriaPopoverProps, PopoverAria, AriaOverlayProps} from "@react-aria/overlays"; +import type {OverlayPlacement} from "@heroui/aria-utils"; +import type {OverlayTriggerState} from "@react-stately/overlays"; + import { - OverlayPlacement, ariaHideOutside, keepVisible, toReactAriaPlacement, ariaShouldCloseOnInteractOutside, } from "@heroui/aria-utils"; -import {OverlayTriggerState} from "@react-stately/overlays"; +import {useOverlay, useOverlayPosition} from "@react-aria/overlays"; +import {useEffect} from "react"; import {mergeProps} from "@react-aria/utils"; import {useSafeLayoutEffect} from "@heroui/use-safe-layout-effect"; diff --git a/packages/components/popover/src/use-popover.ts b/packages/components/popover/src/use-popover.ts index 351eebdfd9..eaaeb40d73 100644 --- a/packages/components/popover/src/use-popover.ts +++ b/packages/components/popover/src/use-popover.ts @@ -1,23 +1,28 @@ import type {PopoverVariantProps, SlotsToClasses, PopoverSlots} from "@heroui/theme"; import type {HTMLMotionProps} from "framer-motion"; import type {PressEvent} from "@react-types/shared"; - -import {RefObject, Ref, useEffect} from "react"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; -import {OverlayTriggerState, useOverlayTriggerState} from "@react-stately/overlays"; +import type {RefObject, Ref} from "react"; +import type {ReactRef} from "@heroui/react-utils"; +import type {OverlayTriggerState} from "@react-stately/overlays"; +import type {OverlayTriggerProps} from "@react-types/overlays"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {AriaDialogProps} from "@react-aria/dialog"; +import type {ReactAriaPopoverProps} from "./use-aria-popover"; + +import {useEffect} from "react"; +import {useDOMRef} from "@heroui/react-utils"; +import {useOverlayTriggerState} from "@react-stately/overlays"; import {useFocusRing} from "@react-aria/focus"; import {ariaHideOutside, useOverlayTrigger, usePreventScroll} from "@react-aria/overlays"; -import {OverlayTriggerProps} from "@react-types/overlays"; import {getShouldUseAxisPlacement} from "@heroui/aria-utils"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {getArrowPlacement} from "@heroui/aria-utils"; import {popover} from "@heroui/theme"; import {mergeProps, mergeRefs} from "@react-aria/utils"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; import {useMemo, useCallback, useRef} from "react"; -import {AriaDialogProps} from "@react-aria/dialog"; -import {useReactAriaPopover, ReactAriaPopoverProps} from "./use-aria-popover"; +import {useReactAriaPopover} from "./use-aria-popover"; export interface Props extends HTMLHeroUIProps<"div"> { /** diff --git a/packages/components/popover/stories/popover.stories.tsx b/packages/components/popover/stories/popover.stories.tsx index 4aa03c020a..1e7bceba90 100644 --- a/packages/components/popover/stories/popover.stories.tsx +++ b/packages/components/popover/stories/popover.stories.tsx @@ -1,12 +1,15 @@ /* eslint-disable jsx-a11y/no-autofocus */ +import type {Meta} from "@storybook/react"; +import type {ButtonVariantProps} from "@heroui/theme"; +import type {PopoverProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; -import {popover, ButtonVariantProps} from "@heroui/theme"; +import {popover} from "@heroui/theme"; import {Button} from "@heroui/button"; import {Input} from "@heroui/input"; import {Card, CardHeader, CardFooter} from "@heroui/card"; -import {Popover, PopoverTrigger, PopoverContent, PopoverProps} from "../src"; +import {Popover, PopoverTrigger, PopoverContent} from "../src"; export default { title: "Components/Popover", diff --git a/packages/components/progress/package.json b/packages/components/progress/package.json index 0c390f5741..da5d0bd261 100644 --- a/packages/components/progress/package.json +++ b/packages/components/progress/package.json @@ -43,7 +43,6 @@ "@heroui/shared-utils": "workspace:*", "@heroui/react-utils": "workspace:*", "@heroui/use-is-mounted": "workspace:*", - "@react-aria/i18n": "3.12.10", "@react-aria/progress": "3.4.24", "@react-aria/utils": "3.29.1", "@react-types/progress": "3.5.13" diff --git a/packages/components/progress/src/circular-progress.tsx b/packages/components/progress/src/circular-progress.tsx index f6ddf0647e..79152fb8e7 100644 --- a/packages/components/progress/src/circular-progress.tsx +++ b/packages/components/progress/src/circular-progress.tsx @@ -1,6 +1,8 @@ +import type {UseCircularProgressProps} from "./use-circular-progress"; + import {forwardRef} from "@heroui/system"; -import {UseCircularProgressProps, useCircularProgress} from "./use-circular-progress"; +import {useCircularProgress} from "./use-circular-progress"; export interface CircularProgressProps extends UseCircularProgressProps {} diff --git a/packages/components/progress/src/progress.tsx b/packages/components/progress/src/progress.tsx index 09ab776008..aca1011b53 100644 --- a/packages/components/progress/src/progress.tsx +++ b/packages/components/progress/src/progress.tsx @@ -1,6 +1,8 @@ +import type {UseProgressProps} from "./use-progress"; + import {forwardRef} from "@heroui/system"; -import {UseProgressProps, useProgress} from "./use-progress"; +import {useProgress} from "./use-progress"; export interface ProgressProps extends UseProgressProps {} diff --git a/packages/components/progress/src/use-circular-progress.ts b/packages/components/progress/src/use-circular-progress.ts index 2355b4291b..d969db347f 100644 --- a/packages/components/progress/src/use-circular-progress.ts +++ b/packages/components/progress/src/use-circular-progress.ts @@ -5,12 +5,13 @@ import type { } from "@heroui/theme"; import type {PropGetter} from "@heroui/system"; import type {AriaProgressBarProps} from "@react-types/progress"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; -import {HTMLHeroUIProps, mapPropsVariants, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {circularProgress} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {clampPercentage, clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {mergeProps} from "@react-aria/utils"; import {useMemo, useCallback} from "react"; import {useIsMounted} from "@heroui/use-is-mounted"; diff --git a/packages/components/progress/src/use-progress.ts b/packages/components/progress/src/use-progress.ts index b66bbfb2ca..d0ca3f9fed 100644 --- a/packages/components/progress/src/use-progress.ts +++ b/packages/components/progress/src/use-progress.ts @@ -1,12 +1,13 @@ import type {ProgressVariantProps, SlotsToClasses, ProgressSlots} from "@heroui/theme"; import type {PropGetter} from "@heroui/system"; import type {AriaProgressBarProps} from "@react-types/progress"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; -import {HTMLHeroUIProps, mapPropsVariants, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {progress} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {clampPercentage, clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {mergeProps} from "@react-aria/utils"; import {useMemo, useCallback} from "react"; import {useIsMounted} from "@heroui/use-is-mounted"; diff --git a/packages/components/progress/stories/circular-progress.stories.tsx b/packages/components/progress/stories/circular-progress.stories.tsx index e92e43b77f..1e37154646 100644 --- a/packages/components/progress/stories/circular-progress.stories.tsx +++ b/packages/components/progress/stories/circular-progress.stories.tsx @@ -1,10 +1,12 @@ +import type {Meta} from "@storybook/react"; +import type {CircularProgressProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {circularProgress} from "@heroui/theme"; import {Card, CardBody, CardFooter} from "@heroui/card"; import {Chip} from "@heroui/chip"; -import {CircularProgress, CircularProgressProps} from "../src"; +import {CircularProgress} from "../src"; export default { title: "Components/CircularProgress", diff --git a/packages/components/progress/stories/progress.stories.tsx b/packages/components/progress/stories/progress.stories.tsx index 142d7bf830..e88c75a84a 100644 --- a/packages/components/progress/stories/progress.stories.tsx +++ b/packages/components/progress/stories/progress.stories.tsx @@ -1,8 +1,10 @@ +import type {Meta} from "@storybook/react"; +import type {ProgressProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {progress} from "@heroui/theme"; -import {Progress, ProgressProps} from "../src"; +import {Progress} from "../src"; export default { title: "Components/Progress", diff --git a/packages/components/radio/__tests__/radio.test.tsx b/packages/components/radio/__tests__/radio.test.tsx index 894a6d7dda..43fda15c1e 100644 --- a/packages/components/radio/__tests__/radio.test.tsx +++ b/packages/components/radio/__tests__/radio.test.tsx @@ -1,9 +1,12 @@ +import type {UserEvent} from "@testing-library/user-event"; +import type {RadioGroupProps} from "../src"; + import * as React from "react"; import {act, render} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Form} from "@heroui/form"; -import {RadioGroup, Radio, RadioGroupProps} from "../src"; +import {RadioGroup, Radio} from "../src"; describe("Radio", () => { let user: UserEvent; diff --git a/packages/components/radio/package.json b/packages/components/radio/package.json index f5bef482b2..82c26b2f98 100644 --- a/packages/components/radio/package.json +++ b/packages/components/radio/package.json @@ -55,8 +55,6 @@ "devDependencies": { "@heroui/theme": "workspace:*", "@heroui/system": "workspace:*", - "@heroui/button": "workspace:*", - "@heroui/test-utils": "workspace:*", "clean-package": "2.2.0", "react": "18.3.0", "react-dom": "18.3.0" diff --git a/packages/components/radio/src/radio-group.tsx b/packages/components/radio/src/radio-group.tsx index 2998fa6cf0..1866d92a48 100644 --- a/packages/components/radio/src/radio-group.tsx +++ b/packages/components/radio/src/radio-group.tsx @@ -1,7 +1,9 @@ +import type {UseRadioGroupProps} from "./use-radio-group"; + import {forwardRef} from "@heroui/system"; import {RadioGroupProvider} from "./radio-group-context"; -import {UseRadioGroupProps, useRadioGroup} from "./use-radio-group"; +import {useRadioGroup} from "./use-radio-group"; export interface RadioGroupProps extends Omit {} diff --git a/packages/components/radio/src/radio.tsx b/packages/components/radio/src/radio.tsx index 72174a1e32..3e10c3517d 100644 --- a/packages/components/radio/src/radio.tsx +++ b/packages/components/radio/src/radio.tsx @@ -1,6 +1,8 @@ +import type {UseRadioProps} from "./use-radio"; + import {forwardRef} from "@heroui/system"; -import {UseRadioProps, useRadio} from "./use-radio"; +import {useRadio} from "./use-radio"; export interface RadioProps extends UseRadioProps {} diff --git a/packages/components/radio/src/use-radio-group.ts b/packages/components/radio/src/use-radio-group.ts index e8afe13044..5e73682ae3 100644 --- a/packages/components/radio/src/use-radio-group.ts +++ b/packages/components/radio/src/use-radio-group.ts @@ -2,19 +2,20 @@ import type {AriaRadioGroupProps} from "@react-types/radio"; import type {Orientation} from "@react-types/shared"; import type {ReactRef} from "@heroui/react-utils"; import type {RadioGroupSlots, SlotsToClasses} from "@heroui/theme"; +import type {RadioGroupState} from "@react-stately/radio"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {RadioProps} from "./index"; import {radioGroup} from "@heroui/theme"; import {useCallback, useMemo} from "react"; -import {RadioGroupState, useRadioGroupState} from "@react-stately/radio"; +import {useRadioGroupState} from "@react-stately/radio"; import {useRadioGroup as useReactAriaRadioGroup} from "@react-aria/radio"; -import {HTMLHeroUIProps, PropGetter, useProviderContext} from "@heroui/system"; +import {useProviderContext} from "@heroui/system"; import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; import {clsx, safeAriaLabel} from "@heroui/shared-utils"; import {mergeProps} from "@react-aria/utils"; import {FormContext, useSlottedContext} from "@heroui/form"; -import {RadioProps} from "./index"; - interface Props extends Omit, "onChange"> { /** * Ref to the DOM node. diff --git a/packages/components/radio/src/use-radio.ts b/packages/components/radio/src/use-radio.ts index 6aeaed833d..d1c6425ea4 100644 --- a/packages/components/radio/src/use-radio.ts +++ b/packages/components/radio/src/use-radio.ts @@ -1,13 +1,15 @@ import type {AriaRadioProps} from "@react-types/radio"; import type {RadioVariantProps, RadioSlots, SlotsToClasses} from "@heroui/theme"; +import type {Ref, ReactNode} from "react"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; -import {Ref, ReactNode, useCallback, useId} from "react"; +import {useCallback, useId} from "react"; import {useMemo, useRef} from "react"; import {useFocusRing} from "@react-aria/focus"; import {useHover} from "@react-aria/interactions"; import {radio} from "@heroui/theme"; import {useRadio as useReactAriaRadio} from "@react-aria/radio"; -import {HTMLHeroUIProps, PropGetter, useProviderContext} from "@heroui/system"; +import {useProviderContext} from "@heroui/system"; import {__DEV__, warn, clsx, dataAttr} from "@heroui/shared-utils"; import {useDOMRef} from "@heroui/react-utils"; import {chain, mergeProps} from "@react-aria/utils"; diff --git a/packages/components/radio/stories/radio.stories.tsx b/packages/components/radio/stories/radio.stories.tsx index 7b75b50bb9..644124ff19 100644 --- a/packages/components/radio/stories/radio.stories.tsx +++ b/packages/components/radio/stories/radio.stories.tsx @@ -1,20 +1,14 @@ import type {ValidationResult} from "@react-types/shared"; +import type {Meta} from "@storybook/react"; +import type {RadioProps, RadioGroupProps} from "../src"; import React from "react"; -import {Meta} from "@storybook/react"; import {VisuallyHidden} from "@react-aria/visually-hidden"; import {radio, button} from "@heroui/theme"; import {clsx} from "@heroui/shared-utils"; import {Form} from "@heroui/form"; -import { - RadioGroup, - Radio, - RadioProps, - RadioGroupProps, - useRadio, - useRadioGroupContext, -} from "../src"; +import {RadioGroup, Radio, useRadio, useRadioGroupContext} from "../src"; export default { title: "Components/RadioGroup", diff --git a/packages/components/ripple/package.json b/packages/components/ripple/package.json index 7b409b9f21..87dc0b657a 100644 --- a/packages/components/ripple/package.json +++ b/packages/components/ripple/package.json @@ -42,7 +42,6 @@ }, "dependencies": { "@heroui/shared-utils": "workspace:*", - "@heroui/react-utils": "workspace:*", "@heroui/dom-animation": "workspace:*" }, "devDependencies": { diff --git a/packages/components/ripple/src/use-ripple.ts b/packages/components/ripple/src/use-ripple.ts index 12659b56ed..b738ed409a 100644 --- a/packages/components/ripple/src/use-ripple.ts +++ b/packages/components/ripple/src/use-ripple.ts @@ -1,6 +1,8 @@ +import type React from "react"; +import type {PressEvent} from "@react-types/shared"; + import {getUniqueID} from "@heroui/shared-utils"; -import React, {useCallback, useState} from "react"; -import {PressEvent} from "@react-types/shared"; +import {useCallback, useState} from "react"; export type RippleType = { key: React.Key; diff --git a/packages/components/scroll-shadow/src/scroll-shadow.tsx b/packages/components/scroll-shadow/src/scroll-shadow.tsx index 5588d0daa7..04e8f2452c 100644 --- a/packages/components/scroll-shadow/src/scroll-shadow.tsx +++ b/packages/components/scroll-shadow/src/scroll-shadow.tsx @@ -1,6 +1,8 @@ +import type {UseScrollShadowProps} from "./use-scroll-shadow"; + import {forwardRef} from "@heroui/system"; -import {UseScrollShadowProps, useScrollShadow} from "./use-scroll-shadow"; +import {useScrollShadow} from "./use-scroll-shadow"; export interface ScrollShadowProps extends UseScrollShadowProps {} diff --git a/packages/components/scroll-shadow/src/use-scroll-shadow.ts b/packages/components/scroll-shadow/src/use-scroll-shadow.ts index 4decabe605..e167b72133 100644 --- a/packages/components/scroll-shadow/src/use-scroll-shadow.ts +++ b/packages/components/scroll-shadow/src/use-scroll-shadow.ts @@ -1,9 +1,12 @@ import type {ScrollShadowVariantProps} from "@heroui/theme"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {UseDataScrollOverflowProps} from "@heroui/use-data-scroll-overflow"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter} from "@heroui/system"; +import {mapPropsVariants} from "@heroui/system"; import {scrollShadow} from "@heroui/theme"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; -import {useDataScrollOverflow, UseDataScrollOverflowProps} from "@heroui/use-data-scroll-overflow"; +import {useDOMRef} from "@heroui/react-utils"; +import {useDataScrollOverflow} from "@heroui/use-data-scroll-overflow"; import {useMemo} from "react"; import {objectToDeps} from "@heroui/shared-utils"; diff --git a/packages/components/scroll-shadow/stories/scroll-shadow.stories.tsx b/packages/components/scroll-shadow/stories/scroll-shadow.stories.tsx index 03577ac8d4..1990730b14 100644 --- a/packages/components/scroll-shadow/stories/scroll-shadow.stories.tsx +++ b/packages/components/scroll-shadow/stories/scroll-shadow.stories.tsx @@ -1,14 +1,11 @@ +import type {Meta} from "@storybook/react"; +import type {ScrollShadowProps, ScrollShadowOrientation, ScrollShadowVisibility} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {scrollShadow, button} from "@heroui/theme"; import Lorem from "react-lorem-component"; -import { - ScrollShadow, - ScrollShadowProps, - ScrollShadowOrientation, - ScrollShadowVisibility, -} from "../src"; +import {ScrollShadow} from "../src"; export default { title: "Components/ScrollShadow", diff --git a/packages/components/select/__tests__/select.test.tsx b/packages/components/select/__tests__/select.test.tsx index 8885e73858..887cc79b41 100644 --- a/packages/components/select/__tests__/select.test.tsx +++ b/packages/components/select/__tests__/select.test.tsx @@ -1,9 +1,10 @@ import type {SelectProps} from "../src"; +import type {UserEvent} from "@testing-library/user-event"; import "@testing-library/jest-dom"; import * as React from "react"; import {render, renderHook, waitFor, act} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {spy, shouldIgnoreReactWarning} from "@heroui/test-utils"; import {useForm} from "react-hook-form"; import {Form} from "@heroui/form"; diff --git a/packages/components/select/package.json b/packages/components/select/package.json index ea35849e27..2fe6e010b9 100644 --- a/packages/components/select/package.json +++ b/packages/components/select/package.json @@ -59,21 +59,17 @@ "@react-aria/interactions": "3.25.2", "@react-aria/utils": "3.29.1", "@react-aria/visually-hidden": "3.8.24", - "@react-types/shared": "3.30.0", - "@tanstack/react-virtual": "3.11.3" + "@react-types/shared": "3.30.0" }, "devDependencies": { "@heroui/avatar": "workspace:*", "@heroui/button": "workspace:*", "@heroui/chip": "workspace:*", - "@heroui/input": "workspace:*", "@heroui/stories-utils": "workspace:*", "@heroui/test-utils": "workspace:*", "@heroui/system": "workspace:*", "@heroui/theme": "workspace:*", "@heroui/use-infinite-scroll": "workspace:*", - "@react-aria/i18n": "3.12.10", - "@react-stately/data": "3.13.1", "clean-package": "2.2.0", "framer-motion": "11.18.2", "react": "18.3.0", diff --git a/packages/components/select/src/hidden-select.tsx b/packages/components/select/src/hidden-select.tsx index 1b0006e82b..c7ab75fed2 100644 --- a/packages/components/select/src/hidden-select.tsx +++ b/packages/components/select/src/hidden-select.tsx @@ -2,11 +2,13 @@ * Based on @react-aria/select with some modifications to support required attribute and * custom input/select props. */ -import {FocusableElement} from "@react-types/shared"; -import React, {ReactNode, RefObject} from "react"; +import type {FocusableElement} from "@react-types/shared"; +import type {ReactNode, RefObject} from "react"; +import type {MultiSelectProps, MultiSelectState} from "@heroui/use-aria-multiselect"; + +import React from "react"; import {useFormReset} from "@react-aria/utils"; import {useVisuallyHidden} from "@react-aria/visually-hidden"; -import {MultiSelectProps, MultiSelectState} from "@heroui/use-aria-multiselect"; import {useFormValidation} from "@react-aria/form"; import {selectData} from "./use-select"; diff --git a/packages/components/select/src/select.tsx b/packages/components/select/src/select.tsx index 18c56d98ee..7be3a3db21 100644 --- a/packages/components/select/src/select.tsx +++ b/packages/components/select/src/select.tsx @@ -1,4 +1,5 @@ import type {ForwardedRef, ReactElement} from "react"; +import type {UseSelectProps} from "./use-select"; import {Listbox} from "@heroui/listbox"; import {FreeSoloPopover} from "@heroui/popover"; @@ -12,7 +13,7 @@ import {VisuallyHidden} from "@react-aria/visually-hidden"; import {AnimatePresence} from "framer-motion"; import {HiddenSelect} from "./hidden-select"; -import {UseSelectProps, useSelect} from "./use-select"; +import {useSelect} from "./use-select"; interface Props extends UseSelectProps {} diff --git a/packages/components/select/src/use-select.ts b/packages/components/select/src/use-select.ts index 68406ef07f..9b4d21c035 100644 --- a/packages/components/select/src/use-select.ts +++ b/packages/components/select/src/use-select.ts @@ -1,36 +1,27 @@ import type {SelectSlots, SelectVariantProps, SlotsToClasses} from "@heroui/theme"; import type {HiddenSelectProps} from "./hidden-select"; - -import { - DOMAttributes, - HTMLHeroUIProps, - mapPropsVariants, - PropGetter, - SharedSelection, - useLabelPlacement, - useProviderContext, -} from "@heroui/system"; +import type {DOMAttributes, HTMLHeroUIProps, PropGetter, SharedSelection} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {Key, ReactNode} from "react"; +import type {ListboxProps} from "@heroui/listbox"; +import type {PopoverProps} from "@heroui/popover"; +import type {ScrollShadowProps} from "@heroui/scroll-shadow"; +import type {MultiSelectProps, MultiSelectState} from "@heroui/use-aria-multiselect"; +import type {SpinnerProps} from "@heroui/spinner"; +import type {CollectionChildren, ValidationError} from "@react-types/shared"; + +import {mapPropsVariants, useLabelPlacement, useProviderContext} from "@heroui/system"; import {select} from "@heroui/theme"; -import {ReactRef, useDOMRef, filterDOMProps} from "@heroui/react-utils"; -import {useMemo, useCallback, useRef, Key, ReactNode, useEffect} from "react"; -import {ListboxProps} from "@heroui/listbox"; +import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; +import {useMemo, useCallback, useRef, useEffect} from "react"; import {useAriaButton} from "@heroui/use-aria-button"; import {useFocusRing} from "@react-aria/focus"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; import {mergeProps} from "@react-aria/utils"; import {useHover} from "@react-aria/interactions"; -import {PopoverProps} from "@heroui/popover"; -import {ScrollShadowProps} from "@heroui/scroll-shadow"; -import { - MultiSelectProps, - MultiSelectState, - useMultiSelect, - useMultiSelectState, -} from "@heroui/use-aria-multiselect"; -import {SpinnerProps} from "@heroui/spinner"; +import {useMultiSelect, useMultiSelectState} from "@heroui/use-aria-multiselect"; import {useSafeLayoutEffect} from "@heroui/use-safe-layout-effect"; import {ariaShouldCloseOnInteractOutside} from "@heroui/aria-utils"; -import {CollectionChildren, ValidationError} from "@react-types/shared"; import {FormContext, useSlottedContext} from "@heroui/form"; import {usePreventScroll} from "@react-aria/overlays"; diff --git a/packages/components/select/stories/select.stories.tsx b/packages/components/select/stories/select.stories.tsx index f375f110b1..35f19bbd27 100644 --- a/packages/components/select/stories/select.stories.tsx +++ b/packages/components/select/stories/select.stories.tsx @@ -1,19 +1,22 @@ import type {ValidationResult} from "@react-types/shared"; +import type {ChangeEvent} from "react"; +import type {Meta} from "@storybook/react"; +import type {Selection} from "@react-types/shared"; +import type {Pokemon, Animal, User} from "@heroui/stories-utils"; +import type {SelectedItems, SelectProps} from "../src"; -import React, {ChangeEvent} from "react"; +import React from "react"; import {useForm} from "react-hook-form"; -import {Meta} from "@storybook/react"; import {select, button} from "@heroui/theme"; import {PetBoldIcon, SelectorIcon} from "@heroui/shared-icons"; import {Avatar} from "@heroui/avatar"; import {Chip} from "@heroui/chip"; import {Button} from "@heroui/button"; -import {Selection} from "@react-types/shared"; import {useInfiniteScroll} from "@heroui/use-infinite-scroll"; -import {Pokemon, usePokemonList, animalsData, usersData, Animal, User} from "@heroui/stories-utils"; +import {usePokemonList, animalsData, usersData} from "@heroui/stories-utils"; import {Form} from "@heroui/form"; -import {Select, SelectedItems, SelectItem, SelectProps, SelectSection} from "../src"; +import {Select, SelectItem, SelectSection} from "../src"; export default { title: "Components/Select", diff --git a/packages/components/skeleton/package.json b/packages/components/skeleton/package.json index fe4dadc8c5..843595b6e1 100644 --- a/packages/components/skeleton/package.json +++ b/packages/components/skeleton/package.json @@ -40,8 +40,7 @@ "@heroui/system": ">=2.4.7" }, "dependencies": { - "@heroui/shared-utils": "workspace:*", - "@heroui/react-utils": "workspace:*" + "@heroui/shared-utils": "workspace:*" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/skeleton/src/skeleton.tsx b/packages/components/skeleton/src/skeleton.tsx index 280c049913..f27b46ef77 100644 --- a/packages/components/skeleton/src/skeleton.tsx +++ b/packages/components/skeleton/src/skeleton.tsx @@ -1,6 +1,8 @@ +import type {UseSkeletonProps} from "./use-skeleton"; + import {forwardRef} from "@heroui/system"; -import {UseSkeletonProps, useSkeleton} from "./use-skeleton"; +import {useSkeleton} from "./use-skeleton"; export interface SkeletonProps extends UseSkeletonProps {} diff --git a/packages/components/skeleton/src/use-skeleton.ts b/packages/components/skeleton/src/use-skeleton.ts index 075a694769..97b24e351b 100644 --- a/packages/components/skeleton/src/use-skeleton.ts +++ b/packages/components/skeleton/src/use-skeleton.ts @@ -1,10 +1,11 @@ import type {SkeletonVariantProps, SkeletonSlots, SlotsToClasses} from "@heroui/theme"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {Ref} from "react"; import {mapPropsVariants} from "@heroui/system"; import {skeleton} from "@heroui/theme"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {useMemo, Ref} from "react"; +import {useMemo} from "react"; import {useProviderContext} from "@heroui/system"; interface Props extends HTMLHeroUIProps<"div"> { diff --git a/packages/components/skeleton/stories/skeleton.stories.tsx b/packages/components/skeleton/stories/skeleton.stories.tsx index c1d18a6c70..4853de7ce2 100644 --- a/packages/components/skeleton/stories/skeleton.stories.tsx +++ b/packages/components/skeleton/stories/skeleton.stories.tsx @@ -1,10 +1,12 @@ +import type {Meta} from "@storybook/react"; +import type {SkeletonProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {skeleton} from "@heroui/theme"; import {Card} from "@heroui/card"; import {Button} from "@heroui/button"; -import {Skeleton, SkeletonProps} from "../src"; +import {Skeleton} from "../src"; export default { title: "Components/Skeleton", diff --git a/packages/components/slider/__tests__/slider.test.tsx b/packages/components/slider/__tests__/slider.test.tsx index 842f5f2552..af37dd2722 100644 --- a/packages/components/slider/__tests__/slider.test.tsx +++ b/packages/components/slider/__tests__/slider.test.tsx @@ -1,8 +1,11 @@ +import type {UserEvent} from "@testing-library/user-event"; +import type {SliderValue} from "../src"; + import * as React from "react"; import {render, act} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; -import {Slider, SliderValue} from "../src"; +import {Slider} from "../src"; describe("Slider", () => { let user: UserEvent; diff --git a/packages/components/slider/package.json b/packages/components/slider/package.json index e10bbb8e65..ca8ce52873 100644 --- a/packages/components/slider/package.json +++ b/packages/components/slider/package.json @@ -55,7 +55,6 @@ "@heroui/theme": "workspace:*", "@heroui/system": "workspace:*", "@heroui/shared-icons": "workspace:*", - "@heroui/test-utils": "workspace:*", "clean-package": "2.2.0", "react": "18.3.0", "react-dom": "18.3.0" diff --git a/packages/components/slider/src/slider-thumb.tsx b/packages/components/slider/src/slider-thumb.tsx index eee8ae9670..79a98ace01 100644 --- a/packages/components/slider/src/slider-thumb.tsx +++ b/packages/components/slider/src/slider-thumb.tsx @@ -1,9 +1,11 @@ +import type {UseSliderThumbProps} from "./use-slider-thumb"; + import {forwardRef} from "@heroui/system"; import {Tooltip} from "@heroui/tooltip"; import {renderFn} from "@heroui/react-utils"; import {VisuallyHidden} from "@react-aria/visually-hidden"; -import {UseSliderThumbProps, useSliderThumb} from "./use-slider-thumb"; +import {useSliderThumb} from "./use-slider-thumb"; export interface SliderThumbProps extends UseSliderThumbProps {} diff --git a/packages/components/slider/src/slider.tsx b/packages/components/slider/src/slider.tsx index 9f01fcb225..4a5470cd21 100644 --- a/packages/components/slider/src/slider.tsx +++ b/packages/components/slider/src/slider.tsx @@ -1,8 +1,10 @@ +import type {UseSliderProps} from "./use-slider"; + import {renderFn} from "@heroui/react-utils"; import {forwardRef} from "@heroui/system"; import Thumb from "./slider-thumb"; -import {UseSliderProps, useSlider} from "./use-slider"; +import {useSlider} from "./use-slider"; export interface SliderProps extends Omit {} diff --git a/packages/components/slider/src/use-slider-thumb.ts b/packages/components/slider/src/use-slider-thumb.ts index a79c4e8e0e..608e298f4a 100644 --- a/packages/components/slider/src/use-slider-thumb.ts +++ b/packages/components/slider/src/use-slider-thumb.ts @@ -1,20 +1,21 @@ import type {SliderVariantProps} from "@heroui/theme"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {RefObject} from "react"; +import type {AriaSliderThumbProps} from "@react-aria/slider"; +import type {SliderState} from "@react-stately/slider"; +import type {TooltipProps} from "@heroui/tooltip"; +import type {UseSliderProps} from "./use-slider"; -import {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {useSliderThumb as useAriaSliderThumb} from "@react-aria/slider"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; -import {RefObject, useRef} from "react"; -import {AriaSliderThumbProps} from "@react-aria/slider"; -import {SliderState} from "@react-stately/slider"; +import {useDOMRef} from "@heroui/react-utils"; +import {useRef} from "react"; import {useHover, usePress} from "@react-aria/interactions"; import {useFocusRing} from "@react-aria/focus"; import {mergeProps} from "@react-aria/utils"; import {dataAttr} from "@heroui/shared-utils"; -import {TooltipProps} from "@heroui/tooltip"; import {useNumberFormatter} from "@react-aria/i18n"; -import {UseSliderProps} from "./use-slider"; - interface Props extends HTMLHeroUIProps<"div"> { /** * Ref to the DOM node. diff --git a/packages/components/slider/src/use-slider.ts b/packages/components/slider/src/use-slider.ts index baeea661a1..c919972e15 100644 --- a/packages/components/slider/src/use-slider.ts +++ b/packages/components/slider/src/use-slider.ts @@ -1,25 +1,22 @@ import type {SliderSlots, SliderVariantProps, SlotsToClasses} from "@heroui/theme"; - -import { - DOMAttributes, - HTMLHeroUIProps, - mapPropsVariants, - PropGetter, - useProviderContext, -} from "@heroui/system"; +import type {DOMAttributes, HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {ReactNode} from "react"; +import type {AriaSliderProps} from "@react-aria/slider"; +import type {TooltipProps} from "@heroui/tooltip"; +import type {ValueBase} from "@react-types/shared"; +import type {SliderThumbProps} from "./slider-thumb"; + +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {slider} from "@heroui/theme"; -import {ReactRef, useDOMRef, filterDOMProps} from "@heroui/react-utils"; +import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {useSliderState} from "@react-stately/slider"; -import {ReactNode, useCallback, useMemo, useRef} from "react"; +import {useCallback, useMemo, useRef} from "react"; import {useNumberFormatter, useLocale} from "@react-aria/i18n"; import {mergeProps} from "@react-aria/utils"; -import {AriaSliderProps, useSlider as useAriaSlider} from "@react-aria/slider"; +import {useSlider as useAriaSlider} from "@react-aria/slider"; import {clsx, objectToDeps} from "@heroui/shared-utils"; -import {TooltipProps} from "@heroui/tooltip"; import {useHover} from "@react-aria/interactions"; -import {ValueBase} from "@react-types/shared"; - -import {SliderThumbProps} from "./slider-thumb"; export type SliderValue = number | number[]; export type SliderStepMark = { diff --git a/packages/components/slider/stories/slider.stories.tsx b/packages/components/slider/stories/slider.stories.tsx index b05a1906d3..99ac44b8e0 100644 --- a/packages/components/slider/stories/slider.stories.tsx +++ b/packages/components/slider/stories/slider.stories.tsx @@ -1,11 +1,13 @@ +import type {Meta} from "@storybook/react"; +import type {SliderProps, SliderValue} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {slider} from "@heroui/theme"; import {InfoIcon, VolumeHighBoldIcon, VolumeLowBoldIcon} from "@heroui/shared-icons"; import {Tooltip} from "@heroui/tooltip"; import {cn} from "@heroui/theme"; -import {Slider, SliderProps, SliderValue} from "../src"; +import {Slider} from "../src"; export default { title: "Components/Slider", diff --git a/packages/components/snippet/package.json b/packages/components/snippet/package.json index a222cc0b1f..f6d640a27f 100644 --- a/packages/components/snippet/package.json +++ b/packages/components/snippet/package.json @@ -47,8 +47,7 @@ "@heroui/shared-icons": "workspace:*", "@heroui/use-clipboard": "workspace:*", "@heroui/tooltip": "workspace:*", - "@react-aria/focus": "3.20.4", - "@react-aria/utils": "3.29.1" + "@react-aria/focus": "3.20.4" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/snippet/src/snippet.tsx b/packages/components/snippet/src/snippet.tsx index 4622593e9a..553eb7f8cc 100644 --- a/packages/components/snippet/src/snippet.tsx +++ b/packages/components/snippet/src/snippet.tsx @@ -1,11 +1,14 @@ -import {ReactNode, useCallback, useMemo, cloneElement} from "react"; +import type {ReactNode} from "react"; +import type {UseSnippetProps} from "./use-snippet"; + +import {useCallback, useMemo, cloneElement} from "react"; import {forwardRef} from "@heroui/system"; import {Tooltip} from "@heroui/tooltip"; import {CopyLinearIcon, CheckLinearIcon} from "@heroui/shared-icons"; import {Button} from "@heroui/button"; import {objectToDeps} from "@heroui/shared-utils"; -import {useSnippet, UseSnippetProps} from "./use-snippet"; +import {useSnippet} from "./use-snippet"; export interface SnippetProps extends UseSnippetProps {} diff --git a/packages/components/snippet/src/use-snippet.ts b/packages/components/snippet/src/use-snippet.ts index 4d9378913f..7a8667307d 100644 --- a/packages/components/snippet/src/use-snippet.ts +++ b/packages/components/snippet/src/use-snippet.ts @@ -1,15 +1,18 @@ import type {SnippetVariantProps, SnippetSlots, SlotsToClasses} from "@heroui/theme"; +import type {ReactRef} from "@heroui/react-utils"; +import type {ReactElement} from "react"; +import type {TooltipProps} from "@heroui/tooltip"; +import type {ButtonProps} from "@heroui/button"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {snippet} from "@heroui/theme"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useClipboard} from "@heroui/use-clipboard"; import {useFocusRing} from "@react-aria/focus"; -import {useMemo, useCallback, ReactElement, useRef} from "react"; -import {TooltipProps} from "@heroui/tooltip"; -import {ButtonProps} from "@heroui/button"; +import {useMemo, useCallback, useRef} from "react"; + export interface UseSnippetProps extends Omit, SnippetVariantProps { /** * Ref to the DOM node. diff --git a/packages/components/snippet/stories/snippet.stories.tsx b/packages/components/snippet/stories/snippet.stories.tsx index 15b4617559..776f7e5aa7 100644 --- a/packages/components/snippet/stories/snippet.stories.tsx +++ b/packages/components/snippet/stories/snippet.stories.tsx @@ -1,5 +1,6 @@ +import type {Meta} from "@storybook/react"; + import React from "react"; -import {Meta} from "@storybook/react"; import {snippet} from "@heroui/theme"; import {Snippet} from "../src"; diff --git a/packages/components/spacer/src/spacer.tsx b/packages/components/spacer/src/spacer.tsx index 2014d44afd..661cbb5dd3 100644 --- a/packages/components/spacer/src/spacer.tsx +++ b/packages/components/spacer/src/spacer.tsx @@ -1,6 +1,8 @@ +import type {UseSpacerProps} from "./use-spacer"; + import {forwardRef} from "@heroui/system-rsc"; -import {UseSpacerProps, useSpacer} from "./use-spacer"; +import {useSpacer} from "./use-spacer"; export interface SpacerProps extends UseSpacerProps {} diff --git a/packages/components/spacer/src/use-spacer.ts b/packages/components/spacer/src/use-spacer.ts index e279d4053f..6bd7bb3ea1 100644 --- a/packages/components/spacer/src/use-spacer.ts +++ b/packages/components/spacer/src/use-spacer.ts @@ -1,13 +1,14 @@ import type {SpacerVariantProps} from "@heroui/theme"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system-rsc"; +import type {ReactRef} from "@heroui/react-utils"; +import type {Space} from "./utils"; import {mapPropsVariants} from "@heroui/system-rsc"; import {spacer} from "@heroui/theme"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useMemo} from "react"; -import {spacing, Space} from "./utils"; +import {spacing} from "./utils"; interface Props extends HTMLHeroUIProps<"span"> { /** diff --git a/packages/components/spacer/stories/spacer.stories.tsx b/packages/components/spacer/stories/spacer.stories.tsx index 2ad257c15e..cff8e84012 100644 --- a/packages/components/spacer/stories/spacer.stories.tsx +++ b/packages/components/spacer/stories/spacer.stories.tsx @@ -1,8 +1,10 @@ +import type {Meta} from "@storybook/react"; +import type {SpacerProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {spacer} from "@heroui/theme"; -import {Spacer, SpacerProps} from "../src"; +import {Spacer} from "../src"; export default { title: "Components/Spacer", diff --git a/packages/components/spinner/package.json b/packages/components/spinner/package.json index 26332cac42..5b4eec7980 100644 --- a/packages/components/spinner/package.json +++ b/packages/components/spinner/package.json @@ -43,7 +43,6 @@ "dependencies": { "@heroui/system-rsc": "workspace:*", "@heroui/shared-utils": "workspace:*", - "@heroui/react-utils": "workspace:*", "@heroui/system": "workspace:*" }, "devDependencies": { diff --git a/packages/components/spinner/src/spinner.tsx b/packages/components/spinner/src/spinner.tsx index cfb5c7aa51..906da703c0 100644 --- a/packages/components/spinner/src/spinner.tsx +++ b/packages/components/spinner/src/spinner.tsx @@ -1,6 +1,8 @@ +import type {UseSpinnerProps} from "./use-spinner"; + import {forwardRef} from "@heroui/system-rsc"; -import {UseSpinnerProps, useSpinner} from "./use-spinner"; +import {useSpinner} from "./use-spinner"; export interface SpinnerProps extends UseSpinnerProps {} diff --git a/packages/components/spinner/src/use-spinner.ts b/packages/components/spinner/src/use-spinner.ts index 4eed495876..a3729f738f 100644 --- a/packages/components/spinner/src/use-spinner.ts +++ b/packages/components/spinner/src/use-spinner.ts @@ -1,10 +1,11 @@ import type {SpinnerVariantProps, SpinnerSlots, SlotsToClasses} from "@heroui/theme"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system-rsc"; +import type {Ref} from "react"; import {mapPropsVariants} from "@heroui/system-rsc"; import {spinner} from "@heroui/theme"; import {clsx, objectToDeps} from "@heroui/shared-utils"; -import {useMemo, useCallback, Ref} from "react"; +import {useMemo, useCallback} from "react"; import {useProviderContext} from "@heroui/system"; interface Props extends HTMLHeroUIProps<"div"> { diff --git a/packages/components/spinner/stories/spinner.stories.tsx b/packages/components/spinner/stories/spinner.stories.tsx index 5c71e6f750..a8626f97fb 100644 --- a/packages/components/spinner/stories/spinner.stories.tsx +++ b/packages/components/spinner/stories/spinner.stories.tsx @@ -1,8 +1,10 @@ +import type {Meta} from "@storybook/react"; +import type {SpinnerProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {spinner} from "@heroui/theme"; -import {Spinner, SpinnerProps} from "../src"; +import {Spinner} from "../src"; export default { title: "Components/Spinner", diff --git a/packages/components/switch/__tests__/switch.test.tsx b/packages/components/switch/__tests__/switch.test.tsx index b8ae156774..d065ecfbb9 100644 --- a/packages/components/switch/__tests__/switch.test.tsx +++ b/packages/components/switch/__tests__/switch.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render, renderHook} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {useForm} from "react-hook-form"; import {Switch} from "../src"; diff --git a/packages/components/switch/package.json b/packages/components/switch/package.json index fa302d9b50..00f3e35e17 100644 --- a/packages/components/switch/package.json +++ b/packages/components/switch/package.json @@ -48,8 +48,7 @@ "@react-aria/switch": "3.7.4", "@react-aria/utils": "3.29.1", "@react-aria/visually-hidden": "3.8.24", - "@react-stately/toggle": "3.8.5", - "@react-types/shared": "3.30.0" + "@react-stately/toggle": "3.8.5" }, "devDependencies": { "@heroui/theme": "workspace:*", diff --git a/packages/components/switch/src/switch.tsx b/packages/components/switch/src/switch.tsx index b415d38855..ad625767a8 100644 --- a/packages/components/switch/src/switch.tsx +++ b/packages/components/switch/src/switch.tsx @@ -1,7 +1,10 @@ -import {cloneElement, ReactElement} from "react"; +import type {ReactElement} from "react"; +import type {UseSwitchProps} from "./use-switch"; + +import {cloneElement} from "react"; import {forwardRef} from "@heroui/system"; -import {UseSwitchProps, useSwitch} from "./use-switch"; +import {useSwitch} from "./use-switch"; export interface SwitchProps extends UseSwitchProps {} diff --git a/packages/components/switch/src/use-switch.ts b/packages/components/switch/src/use-switch.ts index 1fbac8deba..5efdc355cc 100644 --- a/packages/components/switch/src/use-switch.ts +++ b/packages/components/switch/src/use-switch.ts @@ -1,8 +1,9 @@ import type {ToggleVariantProps, ToggleSlots, SlotsToClasses} from "@heroui/theme"; import type {AriaSwitchProps} from "@react-aria/switch"; import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactNode, Ref} from "react"; -import {ReactNode, Ref, useCallback, useId, useRef} from "react"; +import {useCallback, useId, useRef} from "react"; import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {mergeRefs} from "@heroui/react-utils"; import {useSafeLayoutEffect} from "@heroui/use-safe-layout-effect"; diff --git a/packages/components/switch/stories/switch.stories.tsx b/packages/components/switch/stories/switch.stories.tsx index 0565e9dabc..33f2086697 100644 --- a/packages/components/switch/stories/switch.stories.tsx +++ b/packages/components/switch/stories/switch.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {SwitchProps, SwitchThumbIconProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {toggle} from "@heroui/theme"; import {VisuallyHidden} from "@react-aria/visually-hidden"; import {SunFilledIcon, MoonFilledIcon} from "@heroui/shared-icons"; @@ -7,7 +9,7 @@ import {clsx} from "@heroui/shared-utils"; import {button} from "@heroui/theme"; import {useForm} from "react-hook-form"; -import {Switch, SwitchProps, SwitchThumbIconProps, useSwitch} from "../src"; +import {Switch, useSwitch} from "../src"; export default { title: "Components/Switch", diff --git a/packages/components/table/__tests__/table.test.tsx b/packages/components/table/__tests__/table.test.tsx index ab5ae39353..d852c9c26b 100644 --- a/packages/components/table/__tests__/table.test.tsx +++ b/packages/components/table/__tests__/table.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {act, render, fireEvent} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {Table, TableHeader, TableCell, TableColumn, TableBody, TableRow} from "../src"; import {keyCodes} from "../../../utilities/test-utils/src"; diff --git a/packages/components/table/src/base/table-body.tsx b/packages/components/table/src/base/table-body.tsx index ec2deff238..c1eb4da510 100644 --- a/packages/components/table/src/base/table-body.tsx +++ b/packages/components/table/src/base/table-body.tsx @@ -1,7 +1,8 @@ -import {HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {TableBodyProps as TableBodyBaseProps} from "@react-types/table"; +import type {ReactNode} from "react"; + import {TableBody as TableBodyBase} from "@react-stately/table"; -import {TableBodyProps as TableBodyBaseProps} from "@react-types/table"; -import {ReactNode} from "react"; export interface TableBodyProps extends TableBodyBaseProps, diff --git a/packages/components/table/src/base/table-cell.tsx b/packages/components/table/src/base/table-cell.tsx index 5fe7fbd39c..a0bc9fc784 100644 --- a/packages/components/table/src/base/table-cell.tsx +++ b/packages/components/table/src/base/table-cell.tsx @@ -1,6 +1,7 @@ -import {HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {CellProps} from "@react-types/table"; + import {Cell} from "@react-stately/table"; -import {CellProps} from "@react-types/table"; export type TableCellProps = CellProps & HTMLHeroUIProps<"td">; diff --git a/packages/components/table/src/base/table-column.tsx b/packages/components/table/src/base/table-column.tsx index 5449617073..9d002b3f47 100644 --- a/packages/components/table/src/base/table-column.tsx +++ b/packages/components/table/src/base/table-column.tsx @@ -1,6 +1,7 @@ -import {HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {SpectrumColumnProps} from "@react-types/table"; + import {Column} from "@react-stately/table"; -import {SpectrumColumnProps} from "@react-types/table"; export type TableColumnProps = Omit, "showDivider"> & Omit, keyof SpectrumColumnProps>; diff --git a/packages/components/table/src/base/table-header.tsx b/packages/components/table/src/base/table-header.tsx index d196d04b93..e995f1e0b6 100644 --- a/packages/components/table/src/base/table-header.tsx +++ b/packages/components/table/src/base/table-header.tsx @@ -1,6 +1,7 @@ -import {HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {TableHeaderProps as TableHeaderBaseProps} from "@react-types/table"; + import {TableHeader as TableHeaderBase} from "@react-stately/table"; -import {TableHeaderProps as TableHeaderBaseProps} from "@react-types/table"; export type TableHeaderProps = TableHeaderBaseProps & Omit, keyof TableHeaderBaseProps>; diff --git a/packages/components/table/src/base/table-row.tsx b/packages/components/table/src/base/table-row.tsx index 911e29f9a6..1477e1313b 100644 --- a/packages/components/table/src/base/table-row.tsx +++ b/packages/components/table/src/base/table-row.tsx @@ -1,6 +1,7 @@ -import {HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {RowProps} from "@react-types/table"; + import {Row} from "@react-stately/table"; -import {RowProps} from "@react-types/table"; export type TableRowProps = RowProps & Omit, keyof RowProps>; diff --git a/packages/components/table/src/table-body.tsx b/packages/components/table/src/table-body.tsx index 8327dc7455..3bc7c86c41 100644 --- a/packages/components/table/src/table-body.tsx +++ b/packages/components/table/src/table-body.tsx @@ -1,4 +1,7 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-table"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {useTableRowGroup} from "@react-aria/table"; @@ -9,7 +12,6 @@ import {useMemo} from "react"; import TableRow from "./table-row"; import TableCell from "./table-cell"; import TableCheckboxCell from "./table-checkbox-cell"; -import {ValuesType} from "./use-table"; // @internal export interface TableBodyProps extends HTMLHeroUIProps<"tbody"> { diff --git a/packages/components/table/src/table-cell.tsx b/packages/components/table/src/table-cell.tsx index a8f41f9d61..80ff3dda7e 100644 --- a/packages/components/table/src/table-cell.tsx +++ b/packages/components/table/src/table-cell.tsx @@ -1,16 +1,17 @@ import type {GridNode} from "@react-types/grid"; import type {TableColumnProps} from "./base"; +import type {Key} from "react"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-table"; -import {Key, useMemo} from "react"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import {useMemo} from "react"; +import {forwardRef} from "@heroui/system"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {useTableCell} from "@react-aria/table"; import {mergeProps} from "@react-aria/utils"; import {useFocusRing} from "@react-aria/focus"; -import {ValuesType} from "./use-table"; - // @internal export interface TableCellProps extends HTMLHeroUIProps<"td"> { /** diff --git a/packages/components/table/src/table-checkbox-cell.tsx b/packages/components/table/src/table-checkbox-cell.tsx index 5f4a93b933..1d5be4598e 100644 --- a/packages/components/table/src/table-checkbox-cell.tsx +++ b/packages/components/table/src/table-checkbox-cell.tsx @@ -1,7 +1,9 @@ import type {GridNode} from "@react-types/grid"; import type {Key} from "react"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-table"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import {forwardRef} from "@heroui/system"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {useTableCell, useTableSelectionCheckbox} from "@react-aria/table"; @@ -10,8 +12,6 @@ import {useFocusRing} from "@react-aria/focus"; import {Checkbox} from "@heroui/checkbox"; import {VisuallyHidden} from "@react-aria/visually-hidden"; -import {ValuesType} from "./use-table"; - // @internal export interface TableCheckboxCellProps extends HTMLHeroUIProps<"td"> { /** diff --git a/packages/components/table/src/table-column-header.tsx b/packages/components/table/src/table-column-header.tsx index 4ed281f9a6..fe477f1623 100644 --- a/packages/components/table/src/table-column-header.tsx +++ b/packages/components/table/src/table-column-header.tsx @@ -1,6 +1,8 @@ import type {GridNode} from "@react-types/grid"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-table"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import {forwardRef} from "@heroui/system"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {useTableColumnHeader} from "@react-aria/table"; @@ -10,8 +12,6 @@ import {useFocusRing} from "@react-aria/focus"; import {VisuallyHidden} from "@react-aria/visually-hidden"; import {useHover} from "@react-aria/interactions"; -import {ValuesType} from "./use-table"; - // @internal export interface TableColumnHeaderProps extends HTMLHeroUIProps<"th"> { slots: ValuesType["slots"]; diff --git a/packages/components/table/src/table-header-row.tsx b/packages/components/table/src/table-header-row.tsx index 73fb56fa30..15f269a184 100644 --- a/packages/components/table/src/table-header-row.tsx +++ b/packages/components/table/src/table-header-row.tsx @@ -1,13 +1,13 @@ import type {GridNode} from "@react-types/grid"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-table"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import {forwardRef} from "@heroui/system"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {clsx} from "@heroui/shared-utils"; import {useTableHeaderRow} from "@react-aria/table"; import {mergeProps} from "@react-aria/utils"; -import {ValuesType} from "./use-table"; - // @internal export interface TableHeaderRowProps extends HTMLHeroUIProps<"tr"> { /** diff --git a/packages/components/table/src/table-row-group.tsx b/packages/components/table/src/table-row-group.tsx index 78edb7be11..647d81315d 100644 --- a/packages/components/table/src/table-row-group.tsx +++ b/packages/components/table/src/table-row-group.tsx @@ -1,4 +1,5 @@ import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-table"; import {forwardRef} from "react"; import {useDOMRef} from "@heroui/react-utils"; @@ -6,8 +7,6 @@ import {clsx} from "@heroui/shared-utils"; import {useTableRowGroup} from "@react-aria/table"; import {mergeProps} from "@react-aria/utils"; -import {ValuesType} from "./use-table"; - export interface TableRowGroupProps extends HTMLHeroUIProps<"thead"> { slots: ValuesType["slots"]; classNames?: ValuesType["classNames"]; diff --git a/packages/components/table/src/table-row.tsx b/packages/components/table/src/table-row.tsx index 947691531a..771ef6367b 100644 --- a/packages/components/table/src/table-row.tsx +++ b/packages/components/table/src/table-row.tsx @@ -1,5 +1,6 @@ import type {GridNode} from "@react-types/grid"; import type {TableRowProps as BaseTableRowProps} from "./base/table-row"; +import type {ValuesType} from "./use-table"; import {forwardRef} from "@heroui/system"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; @@ -10,8 +11,6 @@ import {useFocusRing} from "@react-aria/focus"; import {useHover} from "@react-aria/interactions"; import {useMemo} from "react"; -import {ValuesType} from "./use-table"; - // @internal export interface TableRowProps extends Omit { /** diff --git a/packages/components/table/src/table-select-all-checkbox.tsx b/packages/components/table/src/table-select-all-checkbox.tsx index ca0415e931..a7e0585997 100644 --- a/packages/components/table/src/table-select-all-checkbox.tsx +++ b/packages/components/table/src/table-select-all-checkbox.tsx @@ -1,6 +1,8 @@ import type {GridNode} from "@react-types/grid"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-table"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import {forwardRef} from "@heroui/system"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {useTableColumnHeader, useTableSelectAllCheckbox} from "@react-aria/table"; @@ -9,8 +11,6 @@ import {useFocusRing} from "@react-aria/focus"; import {Checkbox} from "@heroui/checkbox"; import {VisuallyHidden} from "@react-aria/visually-hidden"; -import {ValuesType} from "./use-table"; - export interface TableSelectAllCheckboxProps extends HTMLHeroUIProps<"th"> { /** * The table column. diff --git a/packages/components/table/src/table.tsx b/packages/components/table/src/table.tsx index 317f5e5a81..bdef3bc981 100644 --- a/packages/components/table/src/table.tsx +++ b/packages/components/table/src/table.tsx @@ -1,8 +1,10 @@ +import type {UseTableProps} from "./use-table"; + import {useCallback} from "react"; import {Spacer} from "@heroui/spacer"; import {forwardRef} from "@heroui/system"; -import {UseTableProps, useTable} from "./use-table"; +import {useTable} from "./use-table"; import VirtualizedTable from "./virtualized-table"; import TableRowGroup from "./table-row-group"; import TableHeaderRow from "./table-header-row"; diff --git a/packages/components/table/src/use-table.ts b/packages/components/table/src/use-table.ts index a3eea8d320..51478a77fa 100644 --- a/packages/components/table/src/use-table.ts +++ b/packages/components/table/src/use-table.ts @@ -3,18 +3,21 @@ import type {Layout} from "@react-stately/virtualizer"; import type {SelectionBehavior, DisabledBehavior, Node} from "@react-types/shared"; import type {TableState, TableStateProps} from "@react-stately/table"; import type {TableCollection} from "@react-types/table"; +import type {ReactNode, Key} from "react"; +import type {AriaTableProps} from "@react-aria/table"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {CheckboxProps} from "@heroui/checkbox"; -import {ReactNode, Key, useCallback} from "react"; +import {useCallback} from "react"; import {useTableState} from "@react-stately/table"; -import {AriaTableProps, useTable as useReactAriaTable} from "@react-aria/table"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {useTable as useReactAriaTable} from "@react-aria/table"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {table} from "@heroui/theme"; import {useDOMRef, filterDOMProps} from "@heroui/react-utils"; import {mergeProps} from "@react-aria/utils"; import {clsx, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef} from "@heroui/react-utils"; import {useMemo} from "react"; -import {CheckboxProps} from "@heroui/checkbox"; type TableContentPlacement = "inside" | "outside"; diff --git a/packages/components/table/src/virtualized-table-body.tsx b/packages/components/table/src/virtualized-table-body.tsx index 0ff1d651bc..7471b5d07b 100644 --- a/packages/components/table/src/virtualized-table-body.tsx +++ b/packages/components/table/src/virtualized-table-body.tsx @@ -1,15 +1,17 @@ -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {Virtualizer} from "@tanstack/react-virtual"; +import type {ValuesType} from "./use-table"; + +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr} from "@heroui/shared-utils"; import {useTableRowGroup} from "@react-aria/table"; import {filterDOMProps} from "@heroui/react-utils"; import {mergeProps} from "@react-aria/utils"; -import {Virtualizer} from "@tanstack/react-virtual"; import TableRow from "./table-row"; import TableCell from "./table-cell"; import TableCheckboxCell from "./table-checkbox-cell"; -import {ValuesType} from "./use-table"; // @internal export interface VirtualizedTableBodyProps extends HTMLHeroUIProps<"tbody"> { diff --git a/packages/components/table/src/virtualized-table.tsx b/packages/components/table/src/virtualized-table.tsx index bba4af9c2c..6f8d5db73b 100644 --- a/packages/components/table/src/virtualized-table.tsx +++ b/packages/components/table/src/virtualized-table.tsx @@ -1,9 +1,11 @@ +import type {UseTableProps} from "./use-table"; + import {useCallback, useLayoutEffect, useRef, useState} from "react"; import {Spacer} from "@heroui/spacer"; import {forwardRef} from "@heroui/system"; import {useVirtualizer} from "@tanstack/react-virtual"; -import {UseTableProps, useTable} from "./use-table"; +import {useTable} from "./use-table"; import TableRowGroup from "./table-row-group"; import TableHeaderRow from "./table-header-row"; import TableColumnHeader from "./table-column-header"; diff --git a/packages/components/table/stories/table.stories.tsx b/packages/components/table/stories/table.stories.tsx index e34fa8cd52..c6445394e1 100644 --- a/packages/components/table/stories/table.stories.tsx +++ b/packages/components/table/stories/table.stories.tsx @@ -1,8 +1,11 @@ +import type {Meta} from "@storybook/react"; +import type {ChipProps} from "@heroui/chip"; +import type {TableProps} from "../src"; + import React, {useMemo} from "react"; -import {Meta} from "@storybook/react"; import {table} from "@heroui/theme"; import {User} from "@heroui/user"; -import {Chip, ChipProps} from "@heroui/chip"; +import {Chip} from "@heroui/chip"; import {Button} from "@heroui/button"; import {Spinner} from "@heroui/spinner"; import {Pagination} from "@heroui/pagination"; @@ -12,16 +15,7 @@ import {useInfiniteScroll} from "@heroui/use-infinite-scroll"; import {useAsyncList} from "@react-stately/data"; import useSWR from "swr"; -import { - Table, - TableHeader, - TableColumn, - TableBody, - TableCell, - TableRow, - TableProps, - getKeyValue, -} from "../src"; +import {Table, TableHeader, TableColumn, TableBody, TableCell, TableRow, getKeyValue} from "../src"; import {Switch} from "../../switch/src"; export default { diff --git a/packages/components/tabs/__tests__/tabs.test.tsx b/packages/components/tabs/__tests__/tabs.test.tsx index f0c01005e8..9734e5c1f7 100644 --- a/packages/components/tabs/__tests__/tabs.test.tsx +++ b/packages/components/tabs/__tests__/tabs.test.tsx @@ -1,10 +1,13 @@ +import type {UserEvent} from "@testing-library/user-event"; +import type {TabsProps} from "../src"; + import * as React from "react"; import {act, render, fireEvent, within} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {focus} from "@heroui/test-utils"; import {spy, shouldIgnoreReactWarning} from "@heroui/test-utils"; -import {Tabs, Tab, TabsProps} from "../src"; +import {Tabs, Tab} from "../src"; type Item = { id: string; diff --git a/packages/components/tabs/package.json b/packages/components/tabs/package.json index 59ce117040..dfa2d8cff6 100644 --- a/packages/components/tabs/package.json +++ b/packages/components/tabs/package.json @@ -44,16 +44,13 @@ "@heroui/shared-utils": "workspace:*", "@heroui/react-utils": "workspace:*", "@heroui/aria-utils": "workspace:*", - "@heroui/framer-utils": "workspace:*", "@heroui/use-is-mounted": "workspace:*", - "@heroui/use-update-effect": "workspace:*", "@react-aria/focus": "3.20.4", "@react-aria/interactions": "3.25.2", "@react-aria/tabs": "3.10.4", "@react-aria/utils": "3.29.1", "@react-stately/tabs": "3.8.3", "@react-types/shared": "3.30.0", - "@react-types/tabs": "3.3.16", "scroll-into-view-if-needed": "3.0.10" }, "devDependencies": { diff --git a/packages/components/tabs/src/base/tab-item-base.ts b/packages/components/tabs/src/base/tab-item-base.ts index 564765bcd3..97f915d1fe 100644 --- a/packages/components/tabs/src/base/tab-item-base.ts +++ b/packages/components/tabs/src/base/tab-item-base.ts @@ -1,5 +1,7 @@ -import {BaseItem, ItemProps} from "@heroui/aria-utils"; -import {ReactNode, RefObject} from "react"; +import type {ItemProps} from "@heroui/aria-utils"; +import type {ReactNode, RefObject} from "react"; + +import {BaseItem} from "@heroui/aria-utils"; interface Props extends Omit, "children" | "title"> { /** * The content of the component. diff --git a/packages/components/tabs/src/tab-panel.tsx b/packages/components/tabs/src/tab-panel.tsx index 1357470c62..1193b4d026 100644 --- a/packages/components/tabs/src/tab-panel.tsx +++ b/packages/components/tabs/src/tab-panel.tsx @@ -1,15 +1,15 @@ import type {AriaTabPanelProps} from "@react-aria/tabs"; +import type {Key} from "@react-types/shared"; +import type {HTMLHeroUIProps} from "@heroui/system"; +import type {ValuesType} from "./use-tabs"; -import {Key} from "@react-types/shared"; -import {forwardRef, HTMLHeroUIProps} from "@heroui/system"; +import {forwardRef} from "@heroui/system"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, getInertValue} from "@heroui/shared-utils"; import {mergeProps} from "@react-aria/utils"; import {useTabPanel} from "@react-aria/tabs"; import {useFocusRing} from "@react-aria/focus"; -import {ValuesType} from "./use-tabs"; - interface Props extends HTMLHeroUIProps<"div"> { /** * Whether to destroy inactive tab panel when switching tabs. diff --git a/packages/components/tabs/src/tab.tsx b/packages/components/tabs/src/tab.tsx index 48c3f4c5eb..d3166461b9 100644 --- a/packages/components/tabs/src/tab.tsx +++ b/packages/components/tabs/src/tab.tsx @@ -1,4 +1,6 @@ import type {TabItemProps as BaseTabItemProps} from "./base/tab-item-base"; +import type {Node} from "@react-types/shared"; +import type {ValuesType} from "./use-tabs"; import {forwardRef} from "@heroui/system"; import {useDOMRef, filterDOMProps, mergeRefs} from "@heroui/react-utils"; @@ -6,14 +8,11 @@ import {clsx, dataAttr} from "@heroui/shared-utils"; import {chain, mergeProps} from "@react-aria/utils"; import scrollIntoView from "scroll-into-view-if-needed"; import {useFocusRing} from "@react-aria/focus"; -import {Node} from "@react-types/shared"; import {useTab} from "@react-aria/tabs"; import {useHover} from "@react-aria/interactions"; import {m, domMax, LazyMotion} from "framer-motion"; import {useIsMounted} from "@heroui/use-is-mounted"; -import {ValuesType} from "./use-tabs"; - export interface TabItemProps extends BaseTabItemProps { item: Node; state: ValuesType["state"]; diff --git a/packages/components/tabs/src/tabs.tsx b/packages/components/tabs/src/tabs.tsx index d6c1771a45..2d8c0ffb79 100644 --- a/packages/components/tabs/src/tabs.tsx +++ b/packages/components/tabs/src/tabs.tsx @@ -1,8 +1,11 @@ -import {ForwardedRef, ReactElement, useId} from "react"; +import type {ForwardedRef, ReactElement} from "react"; +import type {UseTabsProps} from "./use-tabs"; + +import {useId} from "react"; import {LayoutGroup} from "framer-motion"; import {forwardRef} from "@heroui/system"; -import {UseTabsProps, useTabs} from "./use-tabs"; +import {useTabs} from "./use-tabs"; import Tab from "./tab"; import TabPanel from "./tab-panel"; diff --git a/packages/components/tabs/src/use-tabs.ts b/packages/components/tabs/src/use-tabs.ts index 6f764866cf..fbf1063416 100644 --- a/packages/components/tabs/src/use-tabs.ts +++ b/packages/components/tabs/src/use-tabs.ts @@ -1,17 +1,22 @@ import type {TabsVariantProps, SlotsToClasses, TabsSlots, TabsReturnType} from "@heroui/theme"; - -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {RefObject} from "react"; +import type {TabListState, TabListStateOptions} from "@react-stately/tabs"; +import type {AriaTabListProps} from "@react-aria/tabs"; +import type {CollectionProps} from "@heroui/aria-utils"; +import type {CollectionChildren} from "@react-types/shared"; +import type {HTMLMotionProps} from "framer-motion"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; + +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {tabs} from "@heroui/theme"; import {useDOMRef} from "@heroui/react-utils"; import {clsx, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef, filterDOMProps} from "@heroui/react-utils"; -import {useMemo, RefObject, useCallback} from "react"; -import {TabListState, TabListStateOptions, useTabListState} from "@react-stately/tabs"; -import {AriaTabListProps, useTabList} from "@react-aria/tabs"; +import {filterDOMProps} from "@heroui/react-utils"; +import {useMemo, useCallback} from "react"; +import {useTabListState} from "@react-stately/tabs"; +import {useTabList} from "@react-aria/tabs"; import {mergeProps} from "@react-aria/utils"; -import {CollectionProps} from "@heroui/aria-utils"; -import {CollectionChildren} from "@react-types/shared"; -import {HTMLMotionProps} from "framer-motion"; export interface Props extends Omit { /** diff --git a/packages/components/tabs/stories/tabs.stories.tsx b/packages/components/tabs/stories/tabs.stories.tsx index 80cf2b4a6c..c831e4bd75 100644 --- a/packages/components/tabs/stories/tabs.stories.tsx +++ b/packages/components/tabs/stories/tabs.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {TabsProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {button, link, tabs} from "@heroui/theme"; import Lorem from "react-lorem-component"; import {Input} from "@heroui/input"; @@ -14,7 +16,7 @@ import { AlignTopBoldIcon, } from "@heroui/shared-icons"; -import {Tabs, Tab, TabsProps} from "../src"; +import {Tabs, Tab} from "../src"; export default { title: "Components/Tabs", diff --git a/packages/components/toast/__tests__/toast.test.tsx b/packages/components/toast/__tests__/toast.test.tsx index 2f5dae8169..c846b2dcab 100644 --- a/packages/components/toast/__tests__/toast.test.tsx +++ b/packages/components/toast/__tests__/toast.test.tsx @@ -1,6 +1,8 @@ +import type {UserEvent} from "@testing-library/user-event"; + import * as React from "react"; import {render, screen} from "@testing-library/react"; -import userEvent, {UserEvent} from "@testing-library/user-event"; +import userEvent from "@testing-library/user-event"; import {addToast, ToastProvider} from "../src"; diff --git a/packages/components/toast/package.json b/packages/components/toast/package.json index ffbb019a61..342669066a 100644 --- a/packages/components/toast/package.json +++ b/packages/components/toast/package.json @@ -49,8 +49,7 @@ "@react-aria/toast": "3.0.4", "@react-aria/utils": "3.29.1", "@react-aria/interactions": "3.25.2", - "@react-stately/toast": "3.1.1", - "@react-stately/utils": "3.10.7" + "@react-stately/toast": "3.1.1" }, "devDependencies": { "@heroui/system": "workspace:*", diff --git a/packages/components/toast/src/toast-provider.tsx b/packages/components/toast/src/toast-provider.tsx index fd5df4b764..19de748be9 100644 --- a/packages/components/toast/src/toast-provider.tsx +++ b/packages/components/toast/src/toast-provider.tsx @@ -1,9 +1,12 @@ -import {ToastOptions, ToastQueue, useToastQueue} from "@react-stately/toast"; +import type {ToastOptions} from "@react-stately/toast"; +import type {RegionProps} from "./toast-region"; +import type {ToastProps, ToastPlacement} from "./use-toast"; + +import {ToastQueue, useToastQueue} from "@react-stately/toast"; import {useProviderContext} from "@heroui/system"; import {AnimatePresence, LazyMotion} from "framer-motion"; -import {RegionProps, ToastRegion} from "./toast-region"; -import {ToastProps, ToastPlacement} from "./use-toast"; +import {ToastRegion} from "./toast-region"; const loadFeatures = () => import("framer-motion").then((res) => res.domMax); diff --git a/packages/components/toast/src/toast-region.tsx b/packages/components/toast/src/toast-region.tsx index a14bced448..74d5d2dacf 100644 --- a/packages/components/toast/src/toast-region.tsx +++ b/packages/components/toast/src/toast-region.tsx @@ -1,15 +1,16 @@ import type {SlotsToClasses, ToastRegionSlots, ToastRegionVariantProps} from "@heroui/theme"; +import type {AriaToastRegionProps} from "@react-aria/toast"; +import type {QueuedToast, ToastState} from "@react-stately/toast"; +import type {ToastProps, ToastPlacement} from "./use-toast"; import {useCallback, useEffect, useMemo, useRef, useState} from "react"; -import {useToastRegion, AriaToastRegionProps} from "@react-aria/toast"; -import {QueuedToast, ToastState} from "@react-stately/toast"; +import {useToastRegion} from "@react-aria/toast"; import {useHover} from "@react-aria/interactions"; import {mergeProps} from "@react-aria/utils"; import {toastRegion} from "@heroui/theme"; import {clsx} from "@heroui/shared-utils"; import Toast from "./toast"; -import {ToastProps, ToastPlacement} from "./use-toast"; export interface RegionProps { className?: string; diff --git a/packages/components/toast/src/toast.tsx b/packages/components/toast/src/toast.tsx index 1c855550d4..7c8376d90b 100644 --- a/packages/components/toast/src/toast.tsx +++ b/packages/components/toast/src/toast.tsx @@ -1,7 +1,9 @@ import type {ReactElement} from "react"; +import type {ButtonProps} from "@heroui/button"; +import type {UseToastProps} from "./use-toast"; import {forwardRef} from "@heroui/system"; -import {Button, ButtonProps} from "@heroui/button"; +import {Button} from "@heroui/button"; import { CloseIcon, DangerIcon, @@ -13,7 +15,7 @@ import {m} from "framer-motion"; import {cloneElement, isValidElement} from "react"; import {Spinner} from "@heroui/spinner"; -import {UseToastProps, useToast} from "./use-toast"; +import {useToast} from "./use-toast"; export interface ToastProps extends UseToastProps {} diff --git a/packages/components/toast/src/use-toast.ts b/packages/components/toast/src/use-toast.ts index ddfc4650d4..6f6f01b9b7 100644 --- a/packages/components/toast/src/use-toast.ts +++ b/packages/components/toast/src/use-toast.ts @@ -1,15 +1,19 @@ import type {SlotsToClasses, ToastSlots, ToastVariantProps} from "@heroui/theme"; import type {DOMAttributes} from "react"; - -import {HTMLHeroUIProps, PropGetter, mapPropsVariants, useProviderContext} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; +import type {ReactNode} from "react"; +import type {AriaToastProps} from "@react-aria/toast"; +import type {QueuedToast, ToastState} from "@react-stately/toast"; +import type {MotionProps} from "framer-motion"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; + +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {toast as toastTheme} from "@heroui/theme"; -import {ReactRef, useDOMRef} from "@heroui/react-utils"; +import {useDOMRef} from "@heroui/react-utils"; import {clsx, dataAttr, isEmpty, objectToDeps} from "@heroui/shared-utils"; -import {ReactNode, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState} from "react"; -import {useToast as useToastAria, AriaToastProps} from "@react-aria/toast"; +import {useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState} from "react"; +import {useToast as useToastAria} from "@react-aria/toast"; import {chain, mergeProps} from "@react-aria/utils"; -import {QueuedToast, ToastState} from "@react-stately/toast"; -import {MotionProps} from "framer-motion"; import {useHover} from "@react-aria/interactions"; import {useIsMobile} from "@heroui/use-is-mobile"; diff --git a/packages/components/toast/stories/toast.stories.tsx b/packages/components/toast/stories/toast.stories.tsx index c1f2f347c9..7f66a19216 100644 --- a/packages/components/toast/stories/toast.stories.tsx +++ b/packages/components/toast/stories/toast.stories.tsx @@ -1,5 +1,7 @@ +import type {Meta} from "@storybook/react"; +import type {ToastProps} from "../src"; + import React, {useEffect} from "react"; -import {Meta} from "@storybook/react"; import {cn, toast} from "@heroui/theme"; import {Button} from "@heroui/button"; import { @@ -13,7 +15,7 @@ import { import {Drawer, DrawerContent} from "@heroui/drawer"; import {LoadingIcon, AvatarIcon, CloseIcon} from "@heroui/shared-icons"; -import {Toast, ToastProps, ToastProvider, addToast, closeAll} from "../src"; +import {Toast, ToastProvider, addToast, closeAll} from "../src"; export default { title: "Components/Toast", diff --git a/packages/components/tooltip/package.json b/packages/components/tooltip/package.json index dbbbf93800..02e5256d73 100644 --- a/packages/components/tooltip/package.json +++ b/packages/components/tooltip/package.json @@ -47,7 +47,6 @@ "@heroui/framer-utils": "workspace:*", "@heroui/use-safe-layout-effect": "workspace:*", "@heroui/dom-animation": "workspace:*", - "@react-aria/interactions": "3.25.2", "@react-aria/overlays": "3.27.2", "@react-aria/tooltip": "3.8.4", "@react-aria/utils": "3.29.1", diff --git a/packages/components/tooltip/src/tooltip.tsx b/packages/components/tooltip/src/tooltip.tsx index 4caf7e9049..b0e8973698 100644 --- a/packages/components/tooltip/src/tooltip.tsx +++ b/packages/components/tooltip/src/tooltip.tsx @@ -1,3 +1,5 @@ +import type {UseTooltipProps} from "./use-tooltip"; + import {forwardRef} from "@heroui/system"; import {OverlayContainer} from "@react-aria/overlays"; import {AnimatePresence, m, LazyMotion} from "framer-motion"; @@ -7,7 +9,7 @@ import {Children, cloneElement, isValidElement} from "react"; import {getTransformOrigins} from "@heroui/aria-utils"; import {mergeProps} from "@react-aria/utils"; -import {UseTooltipProps, useTooltip} from "./use-tooltip"; +import {useTooltip} from "./use-tooltip"; export interface TooltipProps extends Omit {} diff --git a/packages/components/tooltip/src/use-tooltip.ts b/packages/components/tooltip/src/use-tooltip.ts index 5e451c897e..0b4b173551 100644 --- a/packages/components/tooltip/src/use-tooltip.ts +++ b/packages/components/tooltip/src/use-tooltip.ts @@ -3,16 +3,20 @@ import type {AriaTooltipProps} from "@react-types/tooltip"; import type {OverlayTriggerProps} from "@react-types/overlays"; import type {HTMLMotionProps} from "framer-motion"; import type {OverlayOptions} from "@heroui/aria-utils"; +import type {ReactNode, Ref} from "react"; +import type {AriaOverlayProps} from "@react-aria/overlays"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; -import {ReactNode, Ref, useId, useImperativeHandle} from "react"; +import {useId, useImperativeHandle} from "react"; import {useTooltipTriggerState} from "@react-stately/tooltip"; import {mergeProps} from "@react-aria/utils"; import {useTooltip as useReactAriaTooltip, useTooltipTrigger} from "@react-aria/tooltip"; -import {useOverlayPosition, useOverlay, AriaOverlayProps} from "@react-aria/overlays"; -import {HTMLHeroUIProps, mapPropsVariants, PropGetter, useProviderContext} from "@heroui/system"; +import {useOverlayPosition, useOverlay} from "@react-aria/overlays"; +import {mapPropsVariants, useProviderContext} from "@heroui/system"; import {popover} from "@heroui/theme"; import {clsx, dataAttr, objectToDeps} from "@heroui/shared-utils"; -import {ReactRef, mergeRefs} from "@heroui/react-utils"; +import {mergeRefs} from "@heroui/react-utils"; import {createDOMRef} from "@heroui/react-utils"; import {useMemo, useRef, useCallback} from "react"; import {toReactAriaPlacement, getArrowPlacement} from "@heroui/aria-utils"; diff --git a/packages/components/tooltip/stories/tooltip.stories.tsx b/packages/components/tooltip/stories/tooltip.stories.tsx index 1c1720db24..6559d07c47 100644 --- a/packages/components/tooltip/stories/tooltip.stories.tsx +++ b/packages/components/tooltip/stories/tooltip.stories.tsx @@ -1,9 +1,11 @@ +import type {Meta} from "@storybook/react"; +import type {TooltipProps} from "../src"; + import React from "react"; -import {Meta} from "@storybook/react"; import {popover} from "@heroui/theme"; import {Button} from "@heroui/button"; -import {Tooltip, TooltipProps} from "../src"; +import {Tooltip} from "../src"; export default { title: "Components/Tooltip", diff --git a/packages/components/user/src/use-user.ts b/packages/components/user/src/use-user.ts index 74b70f45be..d9e469c834 100644 --- a/packages/components/user/src/use-user.ts +++ b/packages/components/user/src/use-user.ts @@ -1,12 +1,14 @@ import type {SlotsToClasses, UserSlots} from "@heroui/theme"; import type {AvatarProps} from "@heroui/avatar"; +import type {ReactNode} from "react"; +import type {HTMLHeroUIProps, PropGetter} from "@heroui/system"; +import type {ReactRef} from "@heroui/react-utils"; -import {ReactNode, useMemo, useCallback} from "react"; +import {useMemo, useCallback} from "react"; import {useFocusRing} from "@react-aria/focus"; -import {HTMLHeroUIProps, PropGetter} from "@heroui/system"; import {user} from "@heroui/theme"; import {clsx, dataAttr} from "@heroui/shared-utils"; -import {filterDOMProps, ReactRef} from "@heroui/react-utils"; +import {filterDOMProps} from "@heroui/react-utils"; import {useDOMRef} from "@heroui/react-utils"; import {mergeProps} from "@react-aria/utils"; interface Props { diff --git a/packages/components/user/src/user.tsx b/packages/components/user/src/user.tsx index cb2bbcd864..66d6360129 100644 --- a/packages/components/user/src/user.tsx +++ b/packages/components/user/src/user.tsx @@ -1,7 +1,9 @@ +import type {UseUserProps} from "./use-user"; + import {forwardRef} from "@heroui/system"; import {Avatar} from "@heroui/avatar"; -import {UseUserProps, useUser} from "./use-user"; +import {useUser} from "./use-user"; export interface UserProps extends UseUserProps {} diff --git a/packages/components/user/stories/user.stories.tsx b/packages/components/user/stories/user.stories.tsx index dbd34fdd97..936a794bdf 100644 --- a/packages/components/user/stories/user.stories.tsx +++ b/packages/components/user/stories/user.stories.tsx @@ -1,5 +1,6 @@ +import type {Meta} from "@storybook/react"; + import React from "react"; -import {Meta} from "@storybook/react"; import {Link} from "@heroui/link"; import {User} from "../src"; diff --git a/packages/core/system-rsc/__tests__/extend-variants.test.tsx b/packages/core/system-rsc/__tests__/extend-variants.test.tsx index d2baf7fdc5..1ebf95c9f1 100644 --- a/packages/core/system-rsc/__tests__/extend-variants.test.tsx +++ b/packages/core/system-rsc/__tests__/extend-variants.test.tsx @@ -1,7 +1,9 @@ +import type {ExtendVariantProps} from "../src/extend-variants"; + import React from "react"; import {render, screen} from "@testing-library/react"; -import {extendVariants, ExtendVariantProps} from "../src/extend-variants"; +import {extendVariants} from "../src/extend-variants"; import {Button} from "../test-utils/extend-components"; import {Card} from "../test-utils/slots-component"; diff --git a/packages/core/system-rsc/src/types.ts b/packages/core/system-rsc/src/types.ts index 027ea85720..a2534abf1c 100644 --- a/packages/core/system-rsc/src/types.ts +++ b/packages/core/system-rsc/src/types.ts @@ -2,7 +2,7 @@ * Part of this code is taken from @chakra-ui/system ❤️ */ -import {Selection as AriaSharedSelection} from "@react-types/shared"; +import type {Selection as AriaSharedSelection} from "@react-types/shared"; export type As = React.ElementType; export type DOMElements = keyof JSX.IntrinsicElements; diff --git a/packages/core/system-rsc/src/utils.ts b/packages/core/system-rsc/src/utils.ts index c95364c5ed..eab9564ead 100644 --- a/packages/core/system-rsc/src/utils.ts +++ b/packages/core/system-rsc/src/utils.ts @@ -1,6 +1,6 @@ import type {As, RightJoinProps, PropsOf, InternalForwardRefRenderFunction} from "./types"; +import type * as React from "react"; -import * as React from "react"; import {forwardRef as baseForwardRef} from "react"; export function forwardRef< diff --git a/packages/core/system-rsc/test-utils/no-slots-component.tsx b/packages/core/system-rsc/test-utils/no-slots-component.tsx index b43e954f58..e5e21e11a1 100644 --- a/packages/core/system-rsc/test-utils/no-slots-component.tsx +++ b/packages/core/system-rsc/test-utils/no-slots-component.tsx @@ -1,9 +1,10 @@ import type {HTMLHeroUIProps} from "../src/types"; import type {VariantProps} from "@heroui/theme"; +import type {ReactRef} from "@heroui/react-utils"; import React, {useMemo} from "react"; import {tv} from "@heroui/theme"; -import {filterDOMProps, ReactRef, useDOMRef} from "@heroui/react-utils"; +import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; import {objectToDeps} from "@heroui/shared-utils"; import {mapPropsVariants} from "../src/utils"; diff --git a/packages/core/system-rsc/test-utils/slots-component.tsx b/packages/core/system-rsc/test-utils/slots-component.tsx index fb0f4ef9cc..4d9773986e 100644 --- a/packages/core/system-rsc/test-utils/slots-component.tsx +++ b/packages/core/system-rsc/test-utils/slots-component.tsx @@ -1,9 +1,11 @@ import type {HTMLHeroUIProps} from "../src/types"; import type {VariantProps} from "@heroui/theme"; +import type {SlotsToClasses} from "@heroui/theme"; +import type {ReactRef} from "@heroui/react-utils"; import React, {useMemo} from "react"; -import {SlotsToClasses, tv} from "@heroui/theme"; -import {filterDOMProps, ReactRef, useDOMRef} from "@heroui/react-utils"; +import {tv} from "@heroui/theme"; +import {filterDOMProps, useDOMRef} from "@heroui/react-utils"; import {objectToDeps} from "@heroui/shared-utils"; import clsx from "clsx"; diff --git a/packages/core/system/package.json b/packages/core/system/package.json index a92e3046e4..109ed354f3 100644 --- a/packages/core/system/package.json +++ b/packages/core/system/package.json @@ -54,13 +54,11 @@ ] }, "dependencies": { - "@internationalized/date": "3.8.2", "@heroui/react-utils": "workspace:*", - "@react-aria/i18n": "3.12.10", "@heroui/system-rsc": "workspace:*", + "@react-aria/i18n": "3.12.10", "@react-aria/overlays": "3.27.2", "@react-aria/utils": "3.29.1", - "@react-stately/utils": "3.10.7", - "@react-types/datepicker": "3.12.2" + "@react-types/calendar": "3.7.2" } } \ No newline at end of file diff --git a/packages/core/system/src/index.ts b/packages/core/system/src/index.ts index fefa8326f0..55e65fdb5a 100644 --- a/packages/core/system/src/index.ts +++ b/packages/core/system/src/index.ts @@ -27,7 +27,6 @@ export { extendVariants, } from "@heroui/system-rsc"; -export type {SupportedCalendars} from "./types"; export type {HeroUIProviderProps} from "./provider"; export type {ProviderContextProps} from "./provider-context"; diff --git a/packages/core/system/src/provider-context.ts b/packages/core/system/src/provider-context.ts index bffdbd3ec5..dfedd99ead 100644 --- a/packages/core/system/src/provider-context.ts +++ b/packages/core/system/src/provider-context.ts @@ -1,6 +1,5 @@ -import type {SpinnerVariants, SupportedCalendars} from "./types"; -import type {Calendar} from "@internationalized/date"; -import type {DateValue} from "@react-types/datepicker"; +import type {SpinnerVariants} from "./types"; +import type {DateValue, SpectrumCalendarProps} from "@react-types/calendar"; import {createContext} from "@heroui/react-utils"; @@ -86,7 +85,7 @@ export type ProviderContextProps = { * * @default all calendars */ - createCalendar?: (calendar: SupportedCalendars) => Calendar | null; + createCalendar?: SpectrumCalendarProps["createCalendar"]; /** * The default variant of the spinner. * @default default diff --git a/packages/core/system/src/provider.tsx b/packages/core/system/src/provider.tsx index 84726cddff..1c9d16734e 100644 --- a/packages/core/system/src/provider.tsx +++ b/packages/core/system/src/provider.tsx @@ -1,8 +1,9 @@ import type {ModalProviderProps} from "@react-aria/overlays"; import type {ProviderContextProps} from "./provider-context"; import type {Href, RouterOptions} from "@react-types/shared"; +import type {I18nProviderProps} from "@react-aria/i18n"; -import {I18nProvider, I18nProviderProps} from "@react-aria/i18n"; +import {I18nProvider} from "@react-aria/i18n"; import {RouterProvider} from "@react-aria/utils"; import {OverlayProvider} from "@react-aria/overlays"; import {useMemo} from "react"; diff --git a/packages/core/system/src/types.ts b/packages/core/system/src/types.ts index 071b22fb22..a88e2307d6 100644 --- a/packages/core/system/src/types.ts +++ b/packages/core/system/src/types.ts @@ -1,21 +1,3 @@ -/** - * Supported react-aria i18n calendars. - */ -export type SupportedCalendars = - | "buddhist" - | "ethiopic" - | "ethioaa" - | "coptic" - | "hebrew" - | "indian" - | "islamic-civil" - | "islamic-tbla" - | "islamic-umalqura" - | "japanese" - | "persian" - | "roc" - | "gregory"; - /** * Spinner Variants */ diff --git a/packages/core/theme/src/components/drawer.ts b/packages/core/theme/src/components/drawer.ts index 3bd749f035..4d47dd6cae 100644 --- a/packages/core/theme/src/components/drawer.ts +++ b/packages/core/theme/src/components/drawer.ts @@ -1,4 +1,4 @@ -import {VariantProps} from "tailwind-variants"; +import type {VariantProps} from "tailwind-variants"; import {tv} from "../utils/tv"; diff --git a/packages/core/theme/src/default-layout.ts b/packages/core/theme/src/default-layout.ts index b76f6c2294..0614a94d3c 100644 --- a/packages/core/theme/src/default-layout.ts +++ b/packages/core/theme/src/default-layout.ts @@ -1,4 +1,4 @@ -import {LayoutTheme} from "./types"; +import type {LayoutTheme} from "./types"; export const defaultLayout: LayoutTheme = { dividerWeight: "1px", diff --git a/packages/core/theme/src/plugin.ts b/packages/core/theme/src/plugin.ts index 5862d107f1..127a78dd36 100644 --- a/packages/core/theme/src/plugin.ts +++ b/packages/core/theme/src/plugin.ts @@ -3,6 +3,8 @@ * @see https://github.com/L-Blondy/tw-colors */ +import type {ConfigTheme, ConfigThemes, DefaultThemeType, HeroUIPluginConfig} from "./types"; + import Color from "color"; import plugin from "tailwindcss/plugin.js"; import deepMerge from "deepmerge"; @@ -13,7 +15,6 @@ import {animations} from "./animations"; import {utilities} from "./utilities"; import {flattenThemeObject} from "./utils/object"; import {isBaseTheme} from "./utils/theme"; -import {ConfigTheme, ConfigThemes, DefaultThemeType, HeroUIPluginConfig} from "./types"; import {lightLayout, darkLayout, defaultLayout} from "./default-layout"; import {baseStyles} from "./utils/classes"; import {DEFAULT_TRANSITION_DURATION} from "./utilities/transition"; diff --git a/packages/core/theme/src/types.ts b/packages/core/theme/src/types.ts index dd58aed43c..acec9241c7 100644 --- a/packages/core/theme/src/types.ts +++ b/packages/core/theme/src/types.ts @@ -1,4 +1,4 @@ -import {ThemeColors} from "./colors/types"; +import type {ThemeColors} from "./colors/types"; export type DefaultThemeType = "light" | "dark"; diff --git a/packages/core/theme/src/utils/tv.ts b/packages/core/theme/src/utils/tv.ts index faa7c356a4..98887bcb67 100644 --- a/packages/core/theme/src/utils/tv.ts +++ b/packages/core/theme/src/utils/tv.ts @@ -1,4 +1,6 @@ -import {tv as tvBase, TV} from "tailwind-variants"; +import type {TV} from "tailwind-variants"; + +import {tv as tvBase} from "tailwind-variants"; import {twMergeConfig} from "./tw-merge-config"; diff --git a/packages/core/theme/src/utils/types.ts b/packages/core/theme/src/utils/types.ts index 80fd8d7dc5..bd8f7ff34b 100644 --- a/packages/core/theme/src/utils/types.ts +++ b/packages/core/theme/src/utils/types.ts @@ -1,4 +1,4 @@ -import {ClassValue} from "tailwind-variants"; +import type {ClassValue} from "tailwind-variants"; /** * This Typescript utility transform a list of slots into a list of {slot: classes} diff --git a/packages/core/theme/stories/colors.stories.tsx b/packages/core/theme/stories/colors.stories.tsx index 5544e2334a..c6f3184386 100644 --- a/packages/core/theme/stories/colors.stories.tsx +++ b/packages/core/theme/stories/colors.stories.tsx @@ -1,5 +1,6 @@ +import type {Meta} from "@storybook/react"; + import React from "react"; -import {Meta} from "@storybook/react"; import {parseToRgba, readableColor} from "color2k"; import {commonColors} from "../src/colors"; diff --git a/packages/hooks/use-aria-accordion-item/src/index.ts b/packages/hooks/use-aria-accordion-item/src/index.ts index 54b61030e0..e4a067ed6e 100644 --- a/packages/hooks/use-aria-accordion-item/src/index.ts +++ b/packages/hooks/use-aria-accordion-item/src/index.ts @@ -1,15 +1,9 @@ -import { - useId, - useCallback, - useEffect, - KeyboardEventHandler, - ButtonHTMLAttributes, - RefObject, - Key, -} from "react"; -import {DOMAttributes, Node, LongPressEvent, PressEvent} from "@react-types/shared"; +import type {KeyboardEventHandler, ButtonHTMLAttributes, RefObject, Key} from "react"; +import type {DOMAttributes, Node, LongPressEvent, PressEvent} from "@react-types/shared"; +import type {TreeState} from "@react-stately/tree"; + import {focusSafely} from "@react-aria/focus"; -import {TreeState} from "@react-stately/tree"; +import {useId, useCallback, useEffect} from "react"; import {useButton} from "@react-aria/button"; export interface AccordionItemAriaProps { diff --git a/packages/hooks/use-aria-accordion/package.json b/packages/hooks/use-aria-accordion/package.json index 32991f6446..a6ad77e020 100644 --- a/packages/hooks/use-aria-accordion/package.json +++ b/packages/hooks/use-aria-accordion/package.json @@ -37,7 +37,6 @@ "@react-aria/button": "3.13.2", "@react-aria/focus": "3.20.4", "@react-aria/selection": "3.24.2", - "@react-aria/utils": "3.29.1", "@react-stately/tree": "3.9.0", "@react-types/accordion": "3.0.0-alpha.26", "@react-types/shared": "3.30.0" diff --git a/packages/hooks/use-aria-accordion/src/use-accordion-item.ts b/packages/hooks/use-aria-accordion/src/use-accordion-item.ts index 95df7413c5..016c625b40 100644 --- a/packages/hooks/use-aria-accordion/src/use-accordion-item.ts +++ b/packages/hooks/use-aria-accordion/src/use-accordion-item.ts @@ -1,15 +1,9 @@ -import { - useId, - useCallback, - useEffect, - KeyboardEventHandler, - ButtonHTMLAttributes, - RefObject, - Key, -} from "react"; -import {DOMAttributes, Node, LongPressEvent, PressEvent} from "@react-types/shared"; +import type {KeyboardEventHandler, ButtonHTMLAttributes, RefObject, Key} from "react"; +import type {DOMAttributes, Node, LongPressEvent, PressEvent} from "@react-types/shared"; +import type {TreeState} from "@react-stately/tree"; + import {focusSafely} from "@react-aria/focus"; -import {TreeState} from "@react-stately/tree"; +import {useId, useCallback, useEffect} from "react"; import {useButton} from "@react-aria/button"; export interface AccordionItemAriaProps { diff --git a/packages/hooks/use-aria-accordion/src/use-accordion.ts b/packages/hooks/use-aria-accordion/src/use-accordion.ts index af420a6443..d7e2b31cf9 100644 --- a/packages/hooks/use-aria-accordion/src/use-accordion.ts +++ b/packages/hooks/use-aria-accordion/src/use-accordion.ts @@ -1,7 +1,8 @@ -import {AriaAccordionProps} from "@react-types/accordion"; -import {ButtonHTMLAttributes, RefObject} from "react"; -import {DOMAttributes, Node} from "@react-types/shared"; -import {TreeState} from "@react-stately/tree"; +import type {AriaAccordionProps} from "@react-types/accordion"; +import type {ButtonHTMLAttributes, RefObject} from "react"; +import type {DOMAttributes, Node} from "@react-types/shared"; +import type {TreeState} from "@react-stately/tree"; + import {useSelectableList} from "@react-aria/selection"; export interface AccordionAria { diff --git a/packages/hooks/use-aria-button/package.json b/packages/hooks/use-aria-button/package.json index 34c962db49..8458819b92 100644 --- a/packages/hooks/use-aria-button/package.json +++ b/packages/hooks/use-aria-button/package.json @@ -37,7 +37,6 @@ "react": ">=18 || >=19.0.0-rc.0" }, "dependencies": { - "@heroui/shared-utils": "workspace:*", "@react-aria/focus": "3.20.4", "@react-aria/interactions": "3.25.2", "@react-aria/utils": "3.29.1", diff --git a/packages/hooks/use-aria-button/src/index.ts b/packages/hooks/use-aria-button/src/index.ts index 4ea5bf0706..14a8356caa 100644 --- a/packages/hooks/use-aria-button/src/index.ts +++ b/packages/hooks/use-aria-button/src/index.ts @@ -1,7 +1,7 @@ // We had to copy this file from @react-aria/button because of the console.warn // once they fix it we can remove this file and use the original one -import { +import type { AnchorHTMLAttributes, ButtonHTMLAttributes, ElementType, @@ -9,8 +9,9 @@ import { InputHTMLAttributes, RefObject, } from "react"; -import {AriaButtonProps as BaseAriaButtonProps} from "@react-types/button"; -import {DOMAttributes} from "@react-types/shared"; +import type {AriaButtonProps as BaseAriaButtonProps} from "@react-types/button"; +import type {DOMAttributes} from "@react-types/shared"; + import {filterDOMProps, mergeProps} from "@react-aria/utils"; import {useFocusable} from "@react-aria/focus"; import {usePress} from "@react-aria/interactions"; diff --git a/packages/hooks/use-aria-link/package.json b/packages/hooks/use-aria-link/package.json index 9042106f6a..6e56539465 100644 --- a/packages/hooks/use-aria-link/package.json +++ b/packages/hooks/use-aria-link/package.json @@ -37,7 +37,6 @@ "react": ">=18 || >=19.0.0-rc.0" }, "dependencies": { - "@heroui/shared-utils": "workspace:*", "@react-aria/focus": "3.20.4", "@react-aria/interactions": "3.25.2", "@react-aria/utils": "3.29.1", diff --git a/packages/hooks/use-aria-link/src/index.ts b/packages/hooks/use-aria-link/src/index.ts index 4d65ed9e55..eb628ea408 100644 --- a/packages/hooks/use-aria-link/src/index.ts +++ b/packages/hooks/use-aria-link/src/index.ts @@ -1,5 +1,7 @@ -import {AriaLinkProps} from "@react-types/link"; -import {DOMAttributes, FocusableElement} from "@react-types/shared"; +import type {AriaLinkProps} from "@react-types/link"; +import type {DOMAttributes, FocusableElement} from "@react-types/shared"; +import type {RefObject} from "react"; + import { filterDOMProps, mergeProps, @@ -7,7 +9,6 @@ import { shouldClientNavigate, useLinkProps, } from "@react-aria/utils"; -import {RefObject} from "react"; import {useFocusable} from "@react-aria/focus"; import {usePress} from "@react-aria/interactions"; diff --git a/packages/hooks/use-aria-modal-overlay/package.json b/packages/hooks/use-aria-modal-overlay/package.json index 6d63699ee3..9b3801c7ef 100644 --- a/packages/hooks/use-aria-modal-overlay/package.json +++ b/packages/hooks/use-aria-modal-overlay/package.json @@ -36,8 +36,7 @@ "dependencies": { "@react-aria/overlays": "3.27.2", "@react-aria/utils": "3.29.1", - "@react-stately/overlays": "3.6.17", - "@react-types/shared": "3.30.0" + "@react-stately/overlays": "3.6.17" }, "peerDependencies": { "react": ">=18 || >=19.0.0-rc.0", diff --git a/packages/hooks/use-aria-modal-overlay/src/index.ts b/packages/hooks/use-aria-modal-overlay/src/index.ts index 4cc67a9a0b..10a8f252f2 100644 --- a/packages/hooks/use-aria-modal-overlay/src/index.ts +++ b/packages/hooks/use-aria-modal-overlay/src/index.ts @@ -1,14 +1,15 @@ +import type {AriaModalOverlayProps, ModalOverlayAria} from "@react-aria/overlays"; +import type {OverlayTriggerState} from "@react-stately/overlays"; +import type {RefObject} from "react"; + import { ariaHideOutside, - AriaModalOverlayProps, - ModalOverlayAria, useOverlay, usePreventScroll, useOverlayFocusContain, } from "@react-aria/overlays"; import {mergeProps} from "@react-aria/utils"; -import {OverlayTriggerState} from "@react-stately/overlays"; -import {RefObject, useEffect} from "react"; +import {useEffect} from "react"; export interface UseAriaModalOverlayProps extends AriaModalOverlayProps {} diff --git a/packages/hooks/use-aria-multiselect/package.json b/packages/hooks/use-aria-multiselect/package.json index 02462d0a17..c90b9bf485 100644 --- a/packages/hooks/use-aria-multiselect/package.json +++ b/packages/hooks/use-aria-multiselect/package.json @@ -46,7 +46,6 @@ "@react-stately/menu": "3.9.5", "@react-types/button": "3.12.2", "@react-types/overlays": "3.8.16", - "@react-types/select": "3.9.13", "@react-types/shared": "3.30.0" }, "peerDependencies": { diff --git a/packages/hooks/use-aria-multiselect/src/use-multiselect-list-state.ts b/packages/hooks/use-aria-multiselect/src/use-multiselect-list-state.ts index 3384d27d05..3531a1fb3b 100644 --- a/packages/hooks/use-aria-multiselect/src/use-multiselect-list-state.ts +++ b/packages/hooks/use-aria-multiselect/src/use-multiselect-list-state.ts @@ -1,6 +1,9 @@ -import {ListState, useListState} from "@react-stately/list"; -import {CollectionBase, MultipleSelection, AsyncLoadable, Node} from "@react-types/shared"; -import {Key, useMemo} from "react"; +import type {ListState} from "@react-stately/list"; +import type {CollectionBase, MultipleSelection, AsyncLoadable, Node} from "@react-types/shared"; +import type {Key} from "react"; + +import {useMemo} from "react"; +import {useListState} from "@react-stately/list"; export interface MultiSelectListProps extends CollectionBase, diff --git a/packages/hooks/use-aria-multiselect/src/use-multiselect-state.ts b/packages/hooks/use-aria-multiselect/src/use-multiselect-state.ts index ea1116ef4e..b2dd8b4c74 100644 --- a/packages/hooks/use-aria-multiselect/src/use-multiselect-state.ts +++ b/packages/hooks/use-aria-multiselect/src/use-multiselect-state.ts @@ -13,12 +13,15 @@ import type { Validation, ValidationError, } from "@react-types/shared"; +import type {MenuTriggerState} from "@react-stately/menu"; +import type {FormValidationState} from "@react-stately/form"; +import type {MultiSelectListState} from "./use-multiselect-list-state"; -import {MenuTriggerState, useMenuTriggerState} from "@react-stately/menu"; -import {FormValidationState, useFormValidationState} from "@react-stately/form"; +import {useMenuTriggerState} from "@react-stately/menu"; +import {useFormValidationState} from "@react-stately/form"; import {useState} from "react"; -import {MultiSelectListState, useMultiSelectListState} from "./use-multiselect-list-state"; +import {useMultiSelectListState} from "./use-multiselect-list-state"; export interface MultiSelectProps extends CollectionBase, diff --git a/packages/hooks/use-aria-multiselect/src/use-multiselect.ts b/packages/hooks/use-aria-multiselect/src/use-multiselect.ts index 5fdb36391b..4e8b802d75 100644 --- a/packages/hooks/use-aria-multiselect/src/use-multiselect.ts +++ b/packages/hooks/use-aria-multiselect/src/use-multiselect.ts @@ -3,16 +3,17 @@ import type { MultiSelectState, } from "./use-multiselect-state"; import type {AriaButtonProps} from "@react-types/button"; +import type {AriaListBoxOptions} from "@react-aria/listbox"; +import type {FocusEvent, HTMLAttributes, RefObject, Key} from "react"; +import type {ValidationResult} from "@react-types/shared"; import {useCollator} from "@react-aria/i18n"; import {setInteractionModality} from "@react-aria/interactions"; import {useField} from "@react-aria/label"; -import {AriaListBoxOptions} from "@react-aria/listbox"; import {useMenuTrigger} from "@react-aria/menu"; import {ListKeyboardDelegate, useTypeSelect} from "@react-aria/selection"; import {chain, filterDOMProps, mergeProps, useId} from "@react-aria/utils"; -import {FocusEvent, HTMLAttributes, RefObject, useMemo, Key} from "react"; -import {ValidationResult} from "@react-types/shared"; +import {useMemo} from "react"; export type MultiSelectProps = MultiSelectStateProps; diff --git a/packages/hooks/use-intersection-observer/package.json b/packages/hooks/use-intersection-observer/package.json index 2a5785c5bd..e36c6aebc6 100644 --- a/packages/hooks/use-intersection-observer/package.json +++ b/packages/hooks/use-intersection-observer/package.json @@ -33,12 +33,6 @@ "prepack": "clean-package", "postpack": "clean-package restore" }, - "dependencies": { - "@react-aria/utils": "3.29.1", - "@react-aria/ssr": "3.9.9", - "@react-types/shared": "3.30.0", - "@react-aria/interactions": "3.25.2" - }, "peerDependencies": { "react": ">=18 || >=19.0.0-rc.0" }, diff --git a/packages/hooks/use-real-shape/src/index.ts b/packages/hooks/use-real-shape/src/index.ts index 8b640e7619..f0b50a6316 100644 --- a/packages/hooks/use-real-shape/src/index.ts +++ b/packages/hooks/use-real-shape/src/index.ts @@ -1,5 +1,8 @@ -import {RefObject, useCallback, useState, useEffect} from "react"; -import {ShapeType, getRealShape} from "@heroui/react-utils"; +import type {RefObject} from "react"; +import type {ShapeType} from "@heroui/react-utils"; + +import {useCallback, useState, useEffect} from "react"; +import {getRealShape} from "@heroui/react-utils"; export type ShapeResult = [ShapeType, () => void]; diff --git a/packages/hooks/use-ref-state/src/index.ts b/packages/hooks/use-ref-state/src/index.ts index d889f67799..f8e84d03f0 100644 --- a/packages/hooks/use-ref-state/src/index.ts +++ b/packages/hooks/use-ref-state/src/index.ts @@ -1,12 +1,6 @@ -import { - Dispatch, - MutableRefObject, - SetStateAction, - useCallback, - useEffect, - useRef, - useState, -} from "react"; +import type {Dispatch, MutableRefObject, SetStateAction} from "react"; + +import {useCallback, useEffect, useRef, useState} from "react"; export type CurrentStateType = [S, Dispatch>, MutableRefObject]; diff --git a/packages/hooks/use-theme/__tests__/use-theme.test.tsx b/packages/hooks/use-theme/__tests__/use-theme.test.tsx index 67f0155d0c..a4adb5da67 100644 --- a/packages/hooks/use-theme/__tests__/use-theme.test.tsx +++ b/packages/hooks/use-theme/__tests__/use-theme.test.tsx @@ -1,7 +1,9 @@ +import type {Theme} from "../src"; + import * as React from "react"; import {render, act} from "@testing-library/react"; -import {useTheme, ThemeProps, Theme} from "../src"; +import {useTheme, ThemeProps} from "../src"; const TestComponent = ({defaultTheme}: {defaultTheme?: Theme}) => { const {theme, setTheme} = useTheme(defaultTheme); diff --git a/packages/storybook/package.json b/packages/storybook/package.json index f529ea1532..46ccbc8f18 100644 --- a/packages/storybook/package.json +++ b/packages/storybook/package.json @@ -31,7 +31,6 @@ "start": "pnpm dlx http-server storybook-static" }, "dependencies": { - "@heroui/react": "workspace:*", "@heroui/system": "workspace:*", "@heroui/theme": "workspace:*", "react": "18.3.0", @@ -39,7 +38,6 @@ }, "devDependencies": { "@storybook/addon-a11y": "^8.5.0", - "@storybook/addon-actions": "^8.5.0", "@storybook/addon-docs": "^8.5.0", "@storybook/addon-essentials": "^8.5.0", "@storybook/addon-links": "^8.5.0", diff --git a/packages/utilities/aria-utils/package.json b/packages/utilities/aria-utils/package.json index e2b6a210ea..53efdba028 100644 --- a/packages/utilities/aria-utils/package.json +++ b/packages/utilities/aria-utils/package.json @@ -39,11 +39,8 @@ }, "dependencies": { "@heroui/system": "workspace:*", - "@heroui/shared-utils": "workspace:*", - "@heroui/react-rsc-utils": "workspace:*", "@react-aria/utils": "3.29.1", "@react-stately/collections": "3.12.5", - "@react-stately/overlays": "3.6.17", "@react-types/overlays": "3.8.16", "@react-types/shared": "3.30.0" }, diff --git a/packages/utilities/aria-utils/src/collections/item.ts b/packages/utilities/aria-utils/src/collections/item.ts index bd80ad396e..db3adad4b1 100644 --- a/packages/utilities/aria-utils/src/collections/item.ts +++ b/packages/utilities/aria-utils/src/collections/item.ts @@ -1,6 +1,6 @@ export {Item as BaseItem} from "@react-stately/collections"; -import {ItemProps as BaseItemProps} from "@react-types/shared"; -import {HTMLHeroUIProps, As} from "@heroui/system"; +import type {ItemProps as BaseItemProps} from "@react-types/shared"; +import type {HTMLHeroUIProps, As} from "@heroui/system"; /** * A modified version of the ItemProps from @react-types/shared, with the addition of the HeroUI props. diff --git a/packages/utilities/aria-utils/src/collections/section.ts b/packages/utilities/aria-utils/src/collections/section.ts index 291098d1a1..7738129ae2 100644 --- a/packages/utilities/aria-utils/src/collections/section.ts +++ b/packages/utilities/aria-utils/src/collections/section.ts @@ -1,6 +1,6 @@ export {Section as BaseSection} from "@react-stately/collections"; -import {SectionProps as BaseSectionProps} from "@react-types/shared"; -import {HTMLHeroUIProps, As} from "@heroui/system"; +import type {SectionProps as BaseSectionProps} from "@react-types/shared"; +import type {HTMLHeroUIProps, As} from "@heroui/system"; /** * A modified version of the SectionProps from @react-types/shared, with the addition of the HeroUI props. diff --git a/packages/utilities/aria-utils/src/collections/types.ts b/packages/utilities/aria-utils/src/collections/types.ts index 99974bb2e0..cd4a290ea8 100644 --- a/packages/utilities/aria-utils/src/collections/types.ts +++ b/packages/utilities/aria-utils/src/collections/types.ts @@ -1,6 +1,6 @@ -import {CollectionBase} from "@react-types/shared"; -import {ReactElement, ReactNode} from "react"; -import {PartialNode} from "@react-stately/collections"; +import type {CollectionBase} from "@react-types/shared"; +import type {ReactElement, ReactNode} from "react"; +import type {PartialNode} from "@react-stately/collections"; export interface CollectionProps extends Omit, "children" | "items"> { items?: T[]; diff --git a/packages/utilities/aria-utils/src/overlays/ariaShouldCloseOnInteractOutside.ts b/packages/utilities/aria-utils/src/overlays/ariaShouldCloseOnInteractOutside.ts index 24fedac9ae..85c13a7140 100644 --- a/packages/utilities/aria-utils/src/overlays/ariaShouldCloseOnInteractOutside.ts +++ b/packages/utilities/aria-utils/src/overlays/ariaShouldCloseOnInteractOutside.ts @@ -1,4 +1,4 @@ -import {RefObject} from "react"; +import type {RefObject} from "react"; /** * Used to handle the outside interaction for popover-based components diff --git a/packages/utilities/aria-utils/src/overlays/utils.ts b/packages/utilities/aria-utils/src/overlays/utils.ts index e03a2ce222..d7749a21bf 100644 --- a/packages/utilities/aria-utils/src/overlays/utils.ts +++ b/packages/utilities/aria-utils/src/overlays/utils.ts @@ -1,6 +1,5 @@ import type {OverlayPlacement} from "./types"; - -import {Placement, PlacementAxis} from "@react-types/overlays"; +import type {Placement, PlacementAxis} from "@react-types/overlays"; export const getTransformOrigins = (placement: OverlayPlacement) => { const origins: Record< diff --git a/packages/utilities/aria-utils/src/type-utils/index.ts b/packages/utilities/aria-utils/src/type-utils/index.ts index 35c4d48cfd..b71c835e1b 100644 --- a/packages/utilities/aria-utils/src/type-utils/index.ts +++ b/packages/utilities/aria-utils/src/type-utils/index.ts @@ -1,3 +1,3 @@ -import {Node} from "@react-types/shared"; +import type {Node} from "@react-types/shared"; export type NodeWithProps = Omit, "props"> & {props?: P}; diff --git a/packages/utilities/framer-utils/package.json b/packages/utilities/framer-utils/package.json index 77ad943005..b7b0e89dd5 100644 --- a/packages/utilities/framer-utils/package.json +++ b/packages/utilities/framer-utils/package.json @@ -40,8 +40,7 @@ }, "dependencies": { "@heroui/system": "workspace:*", - "@heroui/use-measure": "workspace:*", - "@heroui/shared-utils": "workspace:*" + "@heroui/use-measure": "workspace:*" }, "devDependencies": { "react": "18.3.0", diff --git a/packages/utilities/framer-utils/src/resizable-panel.tsx b/packages/utilities/framer-utils/src/resizable-panel.tsx index e0004ea1c3..0f0cc3805a 100644 --- a/packages/utilities/framer-utils/src/resizable-panel.tsx +++ b/packages/utilities/framer-utils/src/resizable-panel.tsx @@ -1,9 +1,9 @@ import type {Ref} from "react"; +import type {HTMLHeroUIProps} from "@heroui/system"; import {forwardRef} from "react"; import {domAnimation, LazyMotion, m} from "framer-motion"; import {useMeasure} from "@heroui/use-measure"; -import {HTMLHeroUIProps} from "@heroui/system"; /** * Props for the ResizablePanel component. diff --git a/packages/utilities/react-rsc-utils/src/children.ts b/packages/utilities/react-rsc-utils/src/children.ts index 79295d0f25..18c9f66267 100644 --- a/packages/utilities/react-rsc-utils/src/children.ts +++ b/packages/utilities/react-rsc-utils/src/children.ts @@ -1,4 +1,6 @@ -import {Children, isValidElement, ReactNode} from "react"; +import type {ReactNode} from "react"; + +import {Children, isValidElement} from "react"; /** * Gets only the valid children of a component, diff --git a/packages/utilities/react-rsc-utils/src/filter-dom-props.ts b/packages/utilities/react-rsc-utils/src/filter-dom-props.ts index 02a6a5d41f..07b767015c 100644 --- a/packages/utilities/react-rsc-utils/src/filter-dom-props.ts +++ b/packages/utilities/react-rsc-utils/src/filter-dom-props.ts @@ -1,4 +1,4 @@ -import {AriaLabelingProps, DOMProps} from "@react-types/shared"; +import type {AriaLabelingProps, DOMProps} from "@react-types/shared"; import {DOMPropNames, DOMEventNames} from "./dom-props"; diff --git a/packages/utilities/react-utils/src/dom.ts b/packages/utilities/react-utils/src/dom.ts index 171fb38f20..c789e14377 100644 --- a/packages/utilities/react-utils/src/dom.ts +++ b/packages/utilities/react-utils/src/dom.ts @@ -1,12 +1,7 @@ -import {DOMRefValue, FocusableRef, FocusableRefValue} from "@react-types/shared"; -import { - Ref, - RefObject, - MutableRefObject, - useImperativeHandle, - useLayoutEffect, - useRef, -} from "react"; +import type {DOMRefValue, FocusableRef, FocusableRefValue} from "@react-types/shared"; +import type {Ref, RefObject, MutableRefObject} from "react"; + +import {useImperativeHandle, useLayoutEffect, useRef} from "react"; export function canUseDOM(): boolean { return !!(typeof window !== "undefined" && window.document && window.document.createElement); diff --git a/packages/utilities/react-utils/src/refs.ts b/packages/utilities/react-utils/src/refs.ts index 6158301583..59d133ea0e 100644 --- a/packages/utilities/react-utils/src/refs.ts +++ b/packages/utilities/react-utils/src/refs.ts @@ -1,6 +1,7 @@ -import * as React from "react"; +import type * as React from "react"; +import type {MutableRefObject} from "react"; + import {isFunction} from "@heroui/shared-utils"; -import {MutableRefObject} from "react"; export type ReactRef = React.RefObject | React.MutableRefObject | React.Ref; diff --git a/packages/utilities/shared-icons/src/anchor.tsx b/packages/utilities/shared-icons/src/anchor.tsx index 44471ea583..0043e03cc6 100644 --- a/packages/utilities/shared-icons/src/anchor.tsx +++ b/packages/utilities/shared-icons/src/anchor.tsx @@ -1,4 +1,4 @@ -import {IconSvgProps} from "./types"; +import type {IconSvgProps} from "./types"; export const AnchorIcon = (props: IconSvgProps) => ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ; diff --git a/packages/utilities/shared-icons/src/warning.tsx b/packages/utilities/shared-icons/src/warning.tsx index 69bd9c02de..a9a69de44a 100644 --- a/packages/utilities/shared-icons/src/warning.tsx +++ b/packages/utilities/shared-icons/src/warning.tsx @@ -1,4 +1,4 @@ -import {IconSvgProps} from "./types"; +import type {IconSvgProps} from "./types"; export const WarningIcon = ( props: IconSvgProps & { diff --git a/packages/utilities/test-utils/src/constants.ts b/packages/utilities/test-utils/src/constants.ts index cdf6f4ce11..f11b66ba0c 100644 --- a/packages/utilities/test-utils/src/constants.ts +++ b/packages/utilities/test-utils/src/constants.ts @@ -1,4 +1,4 @@ -import {pointerKey} from "@testing-library/user-event/system/pointer/shared"; +import type {pointerKey} from "@testing-library/user-event/system/pointer/shared"; /** * Object containing key codes for various keyboard keys. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 61ea6695b8..86bb045a3d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -286,24 +286,6 @@ importers: '@heroui/aria-utils': specifier: workspace:* version: link:../../packages/utilities/aria-utils - '@heroui/badge': - specifier: workspace:* - version: link:../../packages/components/badge - '@heroui/code': - specifier: workspace:* - version: link:../../packages/components/code - '@heroui/divider': - specifier: workspace:* - version: link:../../packages/components/divider - '@heroui/input-otp': - specifier: workspace:* - version: link:../../packages/components/input-otp - '@heroui/kbd': - specifier: workspace:* - version: link:../../packages/components/kbd - '@heroui/listbox': - specifier: workspace:* - version: link:../../packages/components/listbox '@heroui/react': specifier: workspace:* version: link:../../packages/core/react @@ -313,15 +295,9 @@ importers: '@heroui/shared-utils': specifier: workspace:* version: link:../../packages/utilities/shared-utils - '@heroui/skeleton': - specifier: workspace:* - version: link:../../packages/components/skeleton '@heroui/spacer': specifier: workspace:* version: link:../../packages/components/spacer - '@heroui/spinner': - specifier: workspace:* - version: link:../../packages/components/spinner '@heroui/theme': specifier: workspace:* version: link:../../packages/core/theme @@ -331,9 +307,6 @@ importers: '@heroui/use-infinite-scroll': specifier: workspace:* version: link:../../packages/hooks/use-infinite-scroll - '@heroui/use-is-mobile': - specifier: workspace:* - version: link:../../packages/hooks/use-is-mobile '@iconify/icons-solar': specifier: 1.2.3 version: 1.2.3 @@ -343,9 +316,6 @@ importers: '@internationalized/date': specifier: 3.8.2 version: 3.8.2 - '@mapbox/rehype-prism': - specifier: ^0.6.0 - version: 0.6.0 '@radix-ui/react-scroll-area': specifier: ^1.0.5 version: 1.2.2(@types/react-dom@18.2.4)(@types/react@18.2.8)(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -367,18 +337,12 @@ importers: '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/virtualizer': - specifier: 4.1.6 - version: 4.1.6(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/visually-hidden': specifier: 3.8.24 version: 3.8.24(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-stately/data': specifier: 3.13.1 version: 3.13.1(react@18.3.0) - '@react-stately/layout': - specifier: 4.3.1 - version: 4.3.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-stately/tree': specifier: 3.9.0 version: 3.9.0(react@18.3.0) @@ -388,9 +352,6 @@ importers: '@stackblitz/sdk': specifier: ^1.11.0 version: 1.11.0 - '@tanstack/react-virtual': - specifier: 3.11.3 - version: 3.11.3(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@types/lodash': specifier: ^4.17.15 version: 4.17.15 @@ -418,15 +379,9 @@ importers: framer-motion: specifier: 11.18.2 version: 11.18.2(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - geist: - specifier: 1.3.1 - version: 1.3.1(next@14.3.0-canary.43(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.0(react@18.3.0))(react@18.3.0)) github-slugger: specifier: ^2.0.0 version: 2.0.0 - gray-matter: - specifier: ^4.0.3 - version: 4.0.3 hast-util-to-html: specifier: 9.0.3 version: 9.0.3 @@ -454,9 +409,6 @@ importers: next-themes: specifier: 0.4.3 version: 0.4.3(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - nprogress: - specifier: ^0.2.0 - version: 0.2.0 parse-numeric-range: specifier: 1.2.0 version: 1.2.0 @@ -466,9 +418,6 @@ importers: prism-react-renderer: specifier: ^1.2.1 version: 1.3.5(react@18.3.0) - querystring: - specifier: ^0.2.1 - version: 0.2.1 react: specifier: 18.3.0 version: 18.3.0 @@ -481,9 +430,6 @@ importers: react-hook-form: specifier: ^7.51.3 version: 7.54.2(react@18.3.0) - react-icons: - specifier: ^4.10.1 - version: 4.12.0(react@18.3.0) react-live: specifier: ^4.1.8 version: 4.1.8(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -496,15 +442,9 @@ importers: refractor: specifier: 3.3.1 version: 3.3.1 - rehype: - specifier: 13.0.2 - version: 13.0.2 rehype-parse: specifier: 9.0.1 version: 9.0.1 - rehype-pretty-code: - specifier: ^0.14.0 - version: 0.14.0(shiki@1.26.1) rehype-slug: specifier: 6.0.0 version: 6.0.0 @@ -551,12 +491,6 @@ importers: '@docusaurus/utils': specifier: 2.0.0-beta.3 version: 2.0.0-beta.3(@swc/core@1.10.6(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@3.3.12(webpack@5.97.1)) - '@next/bundle-analyzer': - specifier: 14.3.0-canary.43 - version: 14.3.0-canary.43 - '@next/env': - specifier: 14.3.0-canary.43 - version: 14.3.0-canary.43 '@react-types/calendar': specifier: 3.7.2 version: 3.7.2(react@18.3.0) @@ -581,9 +515,6 @@ importers: '@types/node': specifier: 20.2.5 version: 20.2.5 - '@types/nprogress': - specifier: ^0.2.0 - version: 0.2.3 '@types/parse-numeric-range': specifier: ^0.0.1 version: 0.0.1 @@ -608,33 +539,21 @@ importers: algoliasearch: specifier: ^4.10.3 version: 4.24.0 - autoprefixer: - specifier: 10.4.20 - version: 10.4.20(postcss@8.4.49) dotenv: specifier: ^16.0.1 version: 16.4.7 esbuild-plugin-raw: specifier: 0.1.8 version: 0.1.8(esbuild@0.24.2) - eslint-config-next: - specifier: 15.0.3 - version: 15.0.3(eslint@9.26.0(jiti@1.21.7))(typescript@5.7.3) markdown-toc: specifier: ^1.2.0 version: 1.2.0 - mdx-bundler: - specifier: 10.0.3 - version: 10.0.3(acorn@8.14.0)(esbuild@0.24.2) next-sitemap: specifier: 4.2.3 version: 4.2.3(next@14.3.0-canary.43(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.0(react@18.3.0))(react@18.3.0)) node-fetch: specifier: ^3.2.10 version: 3.3.2 - postcss: - specifier: 8.4.49 - version: 8.4.49 prettier: specifier: ^2.7.1 version: 2.8.8 @@ -677,9 +596,6 @@ importers: '@heroui/use-aria-accordion': specifier: workspace:* version: link:../../hooks/use-aria-accordion - '@react-aria/button': - specifier: 3.13.2 - version: 3.13.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -799,33 +715,18 @@ importers: '@heroui/shared-utils': specifier: workspace:* version: link:../../utilities/shared-utils - '@heroui/spinner': - specifier: workspace:* - version: link:../spinner - '@heroui/use-aria-button': - specifier: workspace:* - version: link:../../hooks/use-aria-button '@heroui/use-safe-layout-effect': specifier: workspace:* version: link:../../hooks/use-safe-layout-effect '@react-aria/combobox': specifier: 3.12.4 version: 3.12.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/focus': - specifier: 3.20.4 - version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/i18n': specifier: 3.12.10 version: 3.12.10(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/interactions': - specifier: 3.25.2 - version: 3.25.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/visually-hidden': - specifier: 3.8.24 - version: 3.8.24(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-stately/combobox': specifier: 3.10.6 version: 3.10.6(react@18.3.0) @@ -839,9 +740,6 @@ importers: '@heroui/avatar': specifier: workspace:* version: link:../avatar - '@heroui/chip': - specifier: workspace:* - version: link:../chip '@heroui/stories-utils': specifier: workspace:* version: link:../../utilities/stories-utils @@ -976,9 +874,6 @@ importers: '@react-types/breadcrumbs': specifier: 3.7.14 version: 3.7.14(react@18.3.0) - '@react-types/shared': - specifier: 3.30.0 - version: 3.30.0(react@18.3.0) devDependencies: '@heroui/button': specifier: workspace:* @@ -1022,9 +917,6 @@ importers: '@heroui/use-aria-button': specifier: workspace:* version: link:../../hooks/use-aria-button - '@react-aria/button': - specifier: 3.13.2 - version: 3.13.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -1034,9 +926,6 @@ importers: '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-types/button': - specifier: 3.12.2 - version: 3.12.2(react@18.3.0) '@react-types/shared': specifier: 3.30.0 version: 3.30.0(react@18.3.0) @@ -1122,9 +1011,6 @@ importers: '@react-types/shared': specifier: 3.30.0 version: 3.30.0(react@18.3.0) - '@types/lodash.debounce': - specifier: ^4.0.7 - version: 4.0.9 scroll-into-view-if-needed: specifier: 3.0.10 version: 3.0.10 @@ -1168,9 +1054,6 @@ importers: '@heroui/use-aria-button': specifier: workspace:* version: link:../../hooks/use-aria-button - '@react-aria/button': - specifier: 3.13.2 - version: 3.13.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -1247,9 +1130,6 @@ importers: '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/visually-hidden': - specifier: 3.8.24 - version: 3.8.24(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-stately/checkbox': specifier: 3.6.15 version: 3.6.15(react@18.3.0) @@ -1263,12 +1143,6 @@ importers: specifier: 3.30.0 version: 3.30.0(react@18.3.0) devDependencies: - '@heroui/chip': - specifier: workspace:* - version: link:../chip - '@heroui/link': - specifier: workspace:* - version: link:../link '@heroui/shared-icons': specifier: workspace:* version: link:../../utilities/shared-icons @@ -1278,9 +1152,6 @@ importers: '@heroui/theme': specifier: workspace:* version: link:../../core/theme - '@heroui/user': - specifier: workspace:* - version: link:../user clean-package: specifier: 2.2.0 version: 2.2.0 @@ -1314,9 +1185,6 @@ importers: '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-types/checkbox': - specifier: 3.9.5 - version: 3.9.5(react@18.3.0) devDependencies: '@heroui/avatar': specifier: workspace:* @@ -1464,9 +1332,6 @@ importers: '@react-stately/datepicker': specifier: 3.14.2 version: 3.14.2(react@18.3.0) - '@react-stately/overlays': - specifier: 3.6.17 - version: 3.6.17(react@18.3.0) '@react-stately/utils': specifier: 3.10.7 version: 3.10.7(react@18.3.0) @@ -1507,9 +1372,6 @@ importers: '@heroui/react-rsc-utils': specifier: workspace:* version: link:../../utilities/react-rsc-utils - '@heroui/shared-utils': - specifier: workspace:* - version: link:../../utilities/shared-utils '@heroui/system-rsc': specifier: workspace:* version: link:../../core/system-rsc @@ -1566,9 +1428,6 @@ importers: '@heroui/shared-icons': specifier: workspace:* version: link:../../utilities/shared-icons - '@heroui/switch': - specifier: workspace:* - version: link:../switch '@heroui/system': specifier: workspace:* version: link:../../core/system @@ -1593,9 +1452,6 @@ importers: react-dom: specifier: 18.3.0 version: 18.3.0(react@18.3.0) - react-lorem-component: - specifier: 0.13.0 - version: 0.13.0(react@18.3.0) packages/components/dropdown: dependencies: @@ -1669,12 +1525,6 @@ importers: packages/components/form: dependencies: - '@heroui/react-utils': - specifier: workspace:* - version: link:../../utilities/react-utils - '@heroui/shared-utils': - specifier: workspace:* - version: link:../../utilities/shared-utils '@heroui/system': specifier: workspace:* version: link:../../core/system @@ -1862,9 +1712,6 @@ importers: '@heroui/system-rsc': specifier: workspace:* version: link:../../core/system-rsc - '@react-aria/utils': - specifier: 3.29.1 - version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) devDependencies: '@heroui/test-utils': specifier: workspace:* @@ -1899,9 +1746,6 @@ importers: '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/link': - specifier: 3.8.2 - version: 3.8.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -1957,9 +1801,6 @@ importers: '@react-stately/list': specifier: 3.12.3 version: 3.12.3(react@18.3.0) - '@react-types/menu': - specifier: 3.10.2 - version: 3.10.2(react@18.3.0) '@react-types/shared': specifier: 3.30.0 version: 3.30.0(react@18.3.0) @@ -2027,9 +1868,6 @@ importers: '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-stately/menu': - specifier: 3.9.5 - version: 3.9.5(react@18.3.0) '@react-stately/tree': specifier: 3.9.0 version: 3.9.0(react@18.3.0) @@ -2046,9 +1884,6 @@ importers: '@heroui/system': specifier: workspace:* version: link:../../core/system - '@heroui/test-utils': - specifier: workspace:* - version: link:../../utilities/test-utils '@heroui/theme': specifier: workspace:* version: link:../../core/theme @@ -2097,9 +1932,6 @@ importers: '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/interactions': - specifier: 3.25.2 - version: 3.25.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/overlays': specifier: 3.27.2 version: 3.27.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -2109,9 +1941,6 @@ importers: '@react-stately/overlays': specifier: 3.6.17 version: 3.6.17(react@18.3.0) - '@react-types/overlays': - specifier: 3.8.16 - version: 3.8.16(react@18.3.0) devDependencies: '@heroui/button': specifier: workspace:* @@ -2273,9 +2102,6 @@ importers: '@react-stately/numberfield': specifier: 3.9.13 version: 3.9.13(react@18.3.0) - '@react-stately/utils': - specifier: 3.10.7 - version: 3.10.7(react@18.3.0) '@react-types/button': specifier: 3.12.2 version: 3.12.2(react@18.3.0) @@ -2389,9 +2215,6 @@ importers: '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/interactions': - specifier: 3.25.2 - version: 3.25.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/overlays': specifier: 3.27.2 version: 3.27.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -2401,9 +2224,6 @@ importers: '@react-stately/overlays': specifier: 3.6.17 version: 3.6.17(react@18.3.0) - '@react-types/button': - specifier: 3.12.2 - version: 3.12.2(react@18.3.0) '@react-types/overlays': specifier: 3.8.16 version: 3.8.16(react@18.3.0) @@ -2447,9 +2267,6 @@ importers: '@heroui/use-is-mounted': specifier: workspace:* version: link:../../hooks/use-is-mounted - '@react-aria/i18n': - specifier: 3.12.10 - version: 3.12.10(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/progress': specifier: 3.4.24 version: 3.4.24(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -2518,15 +2335,9 @@ importers: specifier: 3.30.0 version: 3.30.0(react@18.3.0) devDependencies: - '@heroui/button': - specifier: workspace:* - version: link:../button '@heroui/system': specifier: workspace:* version: link:../../core/system - '@heroui/test-utils': - specifier: workspace:* - version: link:../../utilities/test-utils '@heroui/theme': specifier: workspace:* version: link:../../core/theme @@ -2545,9 +2356,6 @@ importers: '@heroui/dom-animation': specifier: workspace:* version: link:../../utilities/dom-animation - '@heroui/react-utils': - specifier: workspace:* - version: link:../../utilities/react-utils '@heroui/shared-utils': specifier: workspace:* version: link:../../utilities/shared-utils @@ -2661,9 +2469,6 @@ importers: '@react-types/shared': specifier: 3.30.0 version: 3.30.0(react@18.3.0) - '@tanstack/react-virtual': - specifier: 3.11.3 - version: 3.11.3(react-dom@18.3.0(react@18.3.0))(react@18.3.0) devDependencies: '@heroui/avatar': specifier: workspace:* @@ -2674,9 +2479,6 @@ importers: '@heroui/chip': specifier: workspace:* version: link:../chip - '@heroui/input': - specifier: workspace:* - version: link:../input '@heroui/stories-utils': specifier: workspace:* version: link:../../utilities/stories-utils @@ -2692,12 +2494,6 @@ importers: '@heroui/use-infinite-scroll': specifier: workspace:* version: link:../../hooks/use-infinite-scroll - '@react-aria/i18n': - specifier: 3.12.10 - version: 3.12.10(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-stately/data': - specifier: 3.13.1 - version: 3.13.1(react@18.3.0) clean-package: specifier: 2.2.0 version: 2.2.0 @@ -2716,9 +2512,6 @@ importers: packages/components/skeleton: dependencies: - '@heroui/react-utils': - specifier: workspace:* - version: link:../../utilities/react-utils '@heroui/shared-utils': specifier: workspace:* version: link:../../utilities/shared-utils @@ -2784,9 +2577,6 @@ importers: '@heroui/system': specifier: workspace:* version: link:../../core/system - '@heroui/test-utils': - specifier: workspace:* - version: link:../../utilities/test-utils '@heroui/theme': specifier: workspace:* version: link:../../core/theme @@ -2823,9 +2613,6 @@ importers: '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/utils': - specifier: 3.29.1 - version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) devDependencies: '@heroui/system': specifier: workspace:* @@ -2876,9 +2663,6 @@ importers: packages/components/spinner: dependencies: - '@heroui/react-utils': - specifier: workspace:* - version: link:../../utilities/react-utils '@heroui/shared-utils': specifier: workspace:* version: link:../../utilities/shared-utils @@ -2931,9 +2715,6 @@ importers: '@react-stately/toggle': specifier: 3.8.5 version: 3.8.5(react@18.3.0) - '@react-types/shared': - specifier: 3.30.0 - version: 3.30.0(react@18.3.0) devDependencies: '@heroui/shared-icons': specifier: workspace:* @@ -3053,9 +2834,6 @@ importers: '@heroui/aria-utils': specifier: workspace:* version: link:../../utilities/aria-utils - '@heroui/framer-utils': - specifier: workspace:* - version: link:../../utilities/framer-utils '@heroui/react-utils': specifier: workspace:* version: link:../../utilities/react-utils @@ -3065,9 +2843,6 @@ importers: '@heroui/use-is-mounted': specifier: workspace:* version: link:../../hooks/use-is-mounted - '@heroui/use-update-effect': - specifier: workspace:* - version: link:../../hooks/use-update-effect '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -3086,9 +2861,6 @@ importers: '@react-types/shared': specifier: 3.30.0 version: 3.30.0(react@18.3.0) - '@react-types/tabs': - specifier: 3.3.16 - version: 3.3.16(react@18.3.0) scroll-into-view-if-needed: specifier: 3.0.10 version: 3.0.10 @@ -3159,9 +2931,6 @@ importers: '@react-stately/toast': specifier: 3.1.1 version: 3.1.1(react@18.3.0) - '@react-stately/utils': - specifier: 3.10.7 - version: 3.10.7(react@18.3.0) framer-motion: specifier: '>=11.5.6 || >=12.0.0-alpha.1' version: 11.11.13(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -3211,9 +2980,6 @@ importers: '@heroui/use-safe-layout-effect': specifier: workspace:* version: link:../../hooks/use-safe-layout-effect - '@react-aria/interactions': - specifier: 3.25.2 - version: 3.25.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-aria/overlays': specifier: 3.27.2 version: 3.27.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -3469,9 +3235,6 @@ importers: '@heroui/system-rsc': specifier: workspace:* version: link:../system-rsc - '@internationalized/date': - specifier: 3.8.2 - version: 3.8.2 '@react-aria/i18n': specifier: 3.12.10 version: 3.12.10(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -3481,12 +3244,9 @@ importers: '@react-aria/utils': specifier: 3.29.1 version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-stately/utils': - specifier: 3.10.7 - version: 3.10.7(react@18.3.0) - '@react-types/datepicker': - specifier: 3.12.2 - version: 3.12.2(react@18.3.0) + '@react-types/calendar': + specifier: 3.7.2 + version: 3.7.2(react@18.3.0) devDependencies: clean-package: specifier: 2.2.0 @@ -3580,9 +3340,6 @@ importers: '@react-aria/selection': specifier: 3.24.2 version: 3.24.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/utils': - specifier: 3.29.1 - version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@react-stately/tree': specifier: 3.9.0 version: 3.9.0(react@18.3.0) @@ -3624,9 +3381,6 @@ importers: packages/hooks/use-aria-button: dependencies: - '@heroui/shared-utils': - specifier: workspace:* - version: link:../../utilities/shared-utils '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -3652,9 +3406,6 @@ importers: packages/hooks/use-aria-link: dependencies: - '@heroui/shared-utils': - specifier: workspace:* - version: link:../../utilities/shared-utils '@react-aria/focus': specifier: 3.20.4 version: 3.20.4(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -3689,9 +3440,6 @@ importers: '@react-stately/overlays': specifier: 3.6.17 version: 3.6.17(react@18.3.0) - '@react-types/shared': - specifier: 3.30.0 - version: 3.30.0(react@18.3.0) devDependencies: clean-package: specifier: 2.2.0 @@ -3741,9 +3489,6 @@ importers: '@react-types/overlays': specifier: 3.8.16 version: 3.8.16(react@18.3.0) - '@react-types/select': - specifier: 3.9.13 - version: 3.9.13(react@18.3.0) '@react-types/shared': specifier: 3.30.0 version: 3.30.0(react@18.3.0) @@ -3858,19 +3603,6 @@ importers: version: 18.3.0 packages/hooks/use-intersection-observer: - dependencies: - '@react-aria/interactions': - specifier: 3.25.2 - version: 3.25.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/ssr': - specifier: 3.9.9 - version: 3.9.9(react@18.3.0) - '@react-aria/utils': - specifier: 3.29.1 - version: 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-types/shared': - specifier: 3.30.0 - version: 3.30.0(react@18.3.0) devDependencies: clean-package: specifier: 2.2.0 @@ -4004,9 +3736,6 @@ importers: packages/storybook: dependencies: - '@heroui/react': - specifier: workspace:* - version: link:../core/react '@heroui/system': specifier: workspace:* version: link:../core/system @@ -4023,9 +3752,6 @@ importers: '@storybook/addon-a11y': specifier: ^8.5.0 version: 8.5.0(storybook@8.5.0(prettier@3.5.3))(vitest@3.0.1(@types/node@20.5.1)(jsdom@20.0.3)(lightningcss@1.28.2)(terser@5.37.0)) - '@storybook/addon-actions': - specifier: ^8.5.0 - version: 8.5.0(storybook@8.5.0(prettier@3.5.3)) '@storybook/addon-docs': specifier: ^8.5.0 version: 8.5.0(@types/react@18.2.8)(storybook@8.5.0(prettier@3.5.3)) @@ -4077,12 +3803,6 @@ importers: packages/utilities/aria-utils: dependencies: - '@heroui/react-rsc-utils': - specifier: workspace:* - version: link:../react-rsc-utils - '@heroui/shared-utils': - specifier: workspace:* - version: link:../shared-utils '@heroui/system': specifier: workspace:* version: link:../../core/system @@ -4092,9 +3812,6 @@ importers: '@react-stately/collections': specifier: 3.12.5 version: 3.12.5(react@18.3.0) - '@react-stately/overlays': - specifier: 3.6.17 - version: 3.6.17(react@18.3.0) '@react-types/overlays': specifier: 3.8.16 version: 3.8.16(react@18.3.0) @@ -4123,9 +3840,6 @@ importers: packages/utilities/framer-utils: dependencies: - '@heroui/shared-utils': - specifier: workspace:* - version: link:../shared-utils '@heroui/system': specifier: workspace:* version: link:../../core/system @@ -6347,10 +6061,6 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@mapbox/rehype-prism@0.6.0': - resolution: {integrity: sha512-/0Ev/PB4fXdKPT6VDzVpnAPxGpWFIc4Yz3mf/DzLEMxlpIPZpZlCzaFk4V4NGFofQXPc41+GpEcZtWP3VuFWVA==} - engines: {node: '>=10'} - '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} @@ -6424,18 +6134,12 @@ packages: '@napi-rs/wasm-runtime@0.2.9': resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} - '@next/bundle-analyzer@14.3.0-canary.43': - resolution: {integrity: sha512-Hq8yox06Nujp5InwdrCzsjlDBI9KilOzWGlhM1xg5QhSu7twQhPpTyUQVpEhQWb1H0mcbTg4JV3UtIOOR0Xi7w==} - '@next/env@13.5.8': resolution: {integrity: sha512-YmiG58BqyZ2FjrF2+5uZExL2BrLr8RTQzLXNDJ8pJr0O+rPlOeDPXp1p1/4OrR3avDidzZo3D8QO2cuDv1KCkw==} '@next/env@14.3.0-canary.43': resolution: {integrity: sha512-SOxSQQX1uW5uYJGoH2hXT0rtP0WRpffAgd5P/zd7dNjXc/3jNMOgHWe6jhzBIz+VmHKqyT5oLT14XsYqOeR2VQ==} - '@next/eslint-plugin-next@15.0.3': - resolution: {integrity: sha512-3Ln/nHq2V+v8uIaxCR6YfYo7ceRgZNXfTd3yW1ukTaFbO+/I8jNakrjYWODvG9BuR2v5kgVtH/C8r0i11quOgw==} - '@next/swc-darwin-arm64@14.3.0-canary.43': resolution: {integrity: sha512-RWS1ynwh76JAxxcmOdwr+yQUKnjeB4YNx0lCK9DTU3wB5B9H8dDZENjf/Gax8fAD530+gnL86iZItH+70EXgUw==} engines: {node: '>= 10'} @@ -6508,10 +6212,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nolyfill/is-core-module@1.0.39': - resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} - engines: {node: '>=12.4.0'} - '@npmcli/fs@2.1.2': resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -7416,12 +7116,6 @@ packages: react: 18.3.0 react-dom: 18.3.0 - '@react-aria/virtualizer@4.1.6': - resolution: {integrity: sha512-vV+XM45ZfTy0PAkAiPvkCm0tQGY1F7ur4p8KbkCznG7/hfJ+fVx1aJ1F4UmvDowmTmSMAk9JQtH9b2qNkMtn9Q==} - peerDependencies: - react: 18.3.0 - react-dom: 18.3.0 - '@react-aria/visually-hidden@3.8.24': resolution: {integrity: sha512-vhGhALs/PGdTs/7GD2hsy7CF1LBF9QlL57HkRSu8kfiuiA7rqRTqYg6q723OvaFsspj3DCxP2MLQhvvZSWe7Ng==} peerDependencies: @@ -7484,12 +7178,6 @@ packages: peerDependencies: react: 18.3.0 - '@react-stately/layout@4.3.1': - resolution: {integrity: sha512-W2aa60I3qCI24HzZaFsS/eV1aCL0YI3IOlYm9PgsbELP82y3n7YRnwVreUv30KVdpn0VviLZn2xdWSeZlyqi9A==} - peerDependencies: - react: 18.3.0 - react-dom: 18.3.0 - '@react-stately/list@3.12.3': resolution: {integrity: sha512-RiqYyxPYAF3YRBEin8/WHC8/hvpZ/fG1Tx3h1W4aXU5zTIBuy0DrjRKePwP90oCiDpztgRXePLlzhgWeKvJEow==} peerDependencies: @@ -7812,27 +7500,6 @@ packages: '@rushstack/eslint-patch@1.10.5': resolution: {integrity: sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==} - '@shikijs/core@1.26.1': - resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} - - '@shikijs/engine-javascript@1.26.1': - resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} - - '@shikijs/engine-oniguruma@1.26.1': - resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} - - '@shikijs/langs@1.26.1': - resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} - - '@shikijs/themes@1.26.1': - resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} - - '@shikijs/types@1.26.1': - resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} - - '@shikijs/vscode-textmate@10.0.1': - resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} - '@sideway/address@4.1.5': resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} @@ -8375,12 +8042,6 @@ packages: '@types/liftoff@4.0.3': resolution: {integrity: sha512-UgbL2kR5pLrWICvr8+fuSg0u43LY250q7ZMkC+XKC3E+rs/YBDEnQIzsnhU5dYsLlwMi3R75UvCL87pObP1sxw==} - '@types/lodash.debounce@4.0.9': - resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} - - '@types/lodash@4.17.14': - resolution: {integrity: sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==} - '@types/lodash@4.17.15': resolution: {integrity: sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==} @@ -8417,9 +8078,6 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/nprogress@0.2.3': - resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} - '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -10218,9 +9876,6 @@ packages: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - emoji-regex-xs@1.0.0: - resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} - emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -10433,15 +10088,6 @@ packages: eslint-plugin-react: ^7.28.0 eslint-plugin-react-hooks: ^4.3.0 - eslint-config-next@15.0.3: - resolution: {integrity: sha512-IGP2DdQQrgjcr4mwFPve4DrCqo7CVVez1WoYY47XwKSrYO4hC0Dlb+iJA60i0YfICOzgNADIb8r28BpQ5Zs0wg==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - eslint-config-prettier@10.1.2: resolution: {integrity: sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==} hasBin: true @@ -10469,19 +10115,6 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.7.0: - resolution: {integrity: sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - eslint-plugin-import-x: '*' - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - eslint-import-resolver-typescript@4.3.4: resolution: {integrity: sha512-buzw5z5VtiQMysYLH9iW9BV04YyZebsw+gPi+c4FCjfS9i6COYOrEWw9t3m3wA9PFBfqcBCqWf32qrXLbwafDw==} engines: {node: ^16.17.0 || >=18.6.0} @@ -10612,24 +10245,12 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react-hooks@5.1.0: - resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-hooks@5.2.0: resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react@7.37.3: - resolution: {integrity: sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-react@7.37.5: resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} engines: {node: '>=4'} @@ -10872,10 +10493,6 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -11145,11 +10762,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. - geist@1.3.1: - resolution: {integrity: sha512-Q4gC1pBVPN+D579pBaz0TRRnGA4p9UK6elDY/xizXdFk/g4EKR5g0I+4p/Kj6gM0SajDBZ/0FvDV9ey9ud7BWw==} - peerDependencies: - next: '>=13.2.0' - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -11434,15 +11046,9 @@ packages: hast-util-to-html@9.0.3: resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} - hast-util-to-html@9.0.4: - resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} - hast-util-to-jsx-runtime@2.3.2: resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==} - hast-util-to-string@1.0.4: - resolution: {integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==} - hast-util-to-string@3.0.1: resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} @@ -11738,9 +11344,6 @@ packages: is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - is-bun-module@1.3.0: - resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} - is-bun-module@2.0.0: resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} @@ -13317,9 +12920,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. - nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} @@ -13413,9 +13013,6 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - oniguruma-to-es@0.10.0: - resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} - oo-ascii-tree@1.106.0: resolution: {integrity: sha512-0PZkjIiJUW3jEx7durxcri7JciR8VbJpf2K3qiVbGG4x0MTq6Xm/H84GjBI6tamSx/DV1PMFDfwMs3hm8zfOCw==} engines: {node: '>= 14.17.0'} @@ -13568,9 +13165,6 @@ packages: parse-numeric-range@1.2.0: resolution: {integrity: sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==} - parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -13972,11 +13566,6 @@ packages: engines: {node: '>=0.4.x'} deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. - querystring@0.2.1: - resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. - querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -14052,11 +13641,6 @@ packages: peerDependencies: react: 18.3.0 - react-icons@4.12.0: - resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==} - peerDependencies: - react: 18.3.0 - react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -14225,15 +13809,6 @@ packages: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} - regex-recursion@5.1.1: - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} - - regex-utilities@2.3.0: - resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - - regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} - regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -14264,12 +13839,6 @@ packages: rehype-parse@9.0.1: resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} - rehype-pretty-code@0.14.0: - resolution: {integrity: sha512-hBeKF/Wkkf3zyUS8lal9RCUuhypDWLQc+h9UrP9Pav25FUm/AQAVh4m5gdvJxh4Oz+U+xKvdsV01p1LdvsZTiQ==} - engines: {node: '>=18'} - peerDependencies: - shiki: ^1.3.0 - rehype-recma@1.0.0: resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} @@ -14279,9 +13848,6 @@ packages: rehype-stringify@10.0.1: resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} - rehype@13.0.2: - resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==} - remark-frontmatter@5.0.0: resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} @@ -14629,9 +14195,6 @@ packages: engines: {node: '>=4'} hasBin: true - shiki@1.26.1: - resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} - side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -14813,9 +14376,6 @@ packages: resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - stable-hash@0.0.4: - resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - stable-hash@0.0.5: resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} @@ -15535,9 +15095,6 @@ packages: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} - unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} - unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -15550,15 +15107,9 @@ packages: unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} - unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - unist-util-visit@2.0.3: - resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} - unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} @@ -15856,11 +15407,6 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - webpack-bundle-analyzer@4.10.1: - resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} - engines: {node: '>= 10.13.0'} - hasBin: true - webpack-bundle-analyzer@4.10.2: resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} @@ -18671,12 +18217,6 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@mapbox/rehype-prism@0.6.0': - dependencies: - hast-util-to-string: 1.0.4 - refractor: 3.3.1 - unist-util-visit: 2.0.3 - '@marijn/find-cluster-break@1.0.2': {} '@mdx-js/esbuild@3.1.0(acorn@8.14.0)(esbuild@0.24.2)': @@ -18794,21 +18334,10 @@ snapshots: '@tybys/wasm-util': 0.9.0 optional: true - '@next/bundle-analyzer@14.3.0-canary.43': - dependencies: - webpack-bundle-analyzer: 4.10.1 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - '@next/env@13.5.8': {} '@next/env@14.3.0-canary.43': {} - '@next/eslint-plugin-next@15.0.3': - dependencies: - fast-glob: 3.3.1 - '@next/swc-darwin-arm64@14.3.0-canary.43': optional: true @@ -18855,8 +18384,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 - '@nolyfill/is-core-module@1.0.39': {} - '@npmcli/fs@2.1.2': dependencies: '@gar/promisify': 1.1.3 @@ -20297,17 +19824,6 @@ snapshots: react: 18.3.0 react-dom: 18.3.0(react@18.3.0) - '@react-aria/virtualizer@4.1.6(react-dom@18.3.0(react@18.3.0))(react@18.3.0)': - dependencies: - '@react-aria/i18n': 3.12.10(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/interactions': 3.25.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-aria/utils': 3.29.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-stately/virtualizer': 4.4.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-types/shared': 3.30.0(react@18.3.0) - '@swc/helpers': 0.5.15 - react: 18.3.0 - react-dom: 18.3.0(react@18.3.0) - '@react-aria/visually-hidden@3.8.24(react-dom@18.3.0(react@18.3.0))(react@18.3.0)': dependencies: '@react-aria/interactions': 3.25.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) @@ -20419,18 +19935,6 @@ snapshots: '@swc/helpers': 0.5.15 react: 18.3.0 - '@react-stately/layout@4.3.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0)': - dependencies: - '@react-stately/collections': 3.12.5(react@18.3.0) - '@react-stately/table': 3.14.3(react@18.3.0) - '@react-stately/virtualizer': 4.4.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@react-types/grid': 3.3.3(react@18.3.0) - '@react-types/shared': 3.30.0(react@18.3.0) - '@react-types/table': 3.13.1(react@18.3.0) - '@swc/helpers': 0.5.15 - react: 18.3.0 - react-dom: 18.3.0(react@18.3.0) - '@react-stately/list@3.12.3(react@18.3.0)': dependencies: '@react-stately/collections': 3.12.5(react@18.3.0) @@ -20769,41 +20273,6 @@ snapshots: '@rushstack/eslint-patch@1.10.5': {} - '@shikijs/core@1.26.1': - dependencies: - '@shikijs/engine-javascript': 1.26.1 - '@shikijs/engine-oniguruma': 1.26.1 - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.4 - - '@shikijs/engine-javascript@1.26.1': - dependencies: - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 - oniguruma-to-es: 0.10.0 - - '@shikijs/engine-oniguruma@1.26.1': - dependencies: - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 - - '@shikijs/langs@1.26.1': - dependencies: - '@shikijs/types': 1.26.1 - - '@shikijs/themes@1.26.1': - dependencies: - '@shikijs/types': 1.26.1 - - '@shikijs/types@1.26.1': - dependencies: - '@shikijs/vscode-textmate': 10.0.1 - '@types/hast': 3.0.4 - - '@shikijs/vscode-textmate@10.0.1': {} - '@sideway/address@4.1.5': dependencies: '@hapi/hoek': 9.3.0 @@ -21448,12 +20917,6 @@ snapshots: '@types/fined': 1.1.5 '@types/node': 15.14.9 - '@types/lodash.debounce@4.0.9': - dependencies: - '@types/lodash': 4.17.14 - - '@types/lodash@4.17.14': {} - '@types/lodash@4.17.15': {} '@types/marked@5.0.2': {} @@ -21480,8 +20943,6 @@ snapshots: '@types/normalize-package-data@2.4.4': {} - '@types/nprogress@0.2.3': {} - '@types/parse-json@4.0.2': {} '@types/parse-numeric-range@0.0.1': {} @@ -23469,8 +22930,6 @@ snapshots: emittery@0.13.1: {} - emoji-regex-xs@1.0.0: {} - emoji-regex@7.0.3: {} emoji-regex@8.0.0: {} @@ -23834,26 +23293,6 @@ snapshots: object.assign: 4.1.7 object.entries: 1.1.8 - eslint-config-next@15.0.3(eslint@9.26.0(jiti@1.21.7))(typescript@5.7.3): - dependencies: - '@next/eslint-plugin-next': 15.0.3 - '@rushstack/eslint-patch': 1.10.5 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.26.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/parser': 5.62.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.7.3) - eslint: 9.26.0(jiti@1.21.7) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.26.0(jiti@1.21.7)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.7.3))(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import@2.31.0)(eslint@9.26.0(jiti@1.21.7)))(eslint@9.26.0(jiti@1.21.7)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.26.0(jiti@1.21.7)) - eslint-plugin-react: 7.37.3(eslint@9.26.0(jiti@1.21.7)) - eslint-plugin-react-hooks: 5.1.0(eslint@9.26.0(jiti@1.21.7)) - optionalDependencies: - typescript: 5.7.3 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - eslint-plugin-import-x - - supports-color - eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)): dependencies: eslint: 9.26.0(jiti@1.21.7) @@ -23900,22 +23339,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.26.0(jiti@1.21.7)): - dependencies: - '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.0 - enhanced-resolve: 5.18.0 - eslint: 9.26.0(jiti@1.21.7) - fast-glob: 3.3.3 - get-tsconfig: 4.8.1 - is-bun-module: 1.3.0 - is-glob: 4.0.3 - stable-hash: 0.0.4 - optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.7.3))(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import@2.31.0)(eslint@9.26.0(jiti@1.21.7)))(eslint@9.26.0(jiti@1.21.7)) - transitivePeerDependencies: - - supports-color - eslint-import-resolver-typescript@4.3.4(eslint-plugin-import@2.31.0)(eslint@9.26.0(jiti@1.21.7)): dependencies: debug: 4.4.0 @@ -24104,36 +23527,10 @@ snapshots: dependencies: eslint: 9.26.0(jiti@1.21.7) - eslint-plugin-react-hooks@5.1.0(eslint@9.26.0(jiti@1.21.7)): - dependencies: - eslint: 9.26.0(jiti@1.21.7) - eslint-plugin-react-hooks@5.2.0(eslint@9.26.0(jiti@1.21.7)): dependencies: eslint: 9.26.0(jiti@1.21.7) - eslint-plugin-react@7.37.3(eslint@9.26.0(jiti@1.21.7)): - dependencies: - array-includes: 3.1.8 - array.prototype.findlast: 1.2.5 - array.prototype.flatmap: 1.3.3 - array.prototype.tosorted: 1.1.4 - doctrine: 2.1.0 - es-iterator-helpers: 1.2.1 - eslint: 9.26.0(jiti@1.21.7) - estraverse: 5.3.0 - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.8 - object.fromentries: 2.0.8 - object.values: 1.2.1 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.12 - string.prototype.repeat: 1.0.0 - eslint-plugin-react@7.37.5(eslint@9.26.0(jiti@1.21.7)): dependencies: array-includes: 3.1.8 @@ -24525,14 +23922,6 @@ snapshots: fast-fifo@1.3.2: {} - fast-glob@3.3.1: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -24820,10 +24209,6 @@ snapshots: strip-ansi: 6.0.1 wide-align: 1.1.5 - geist@1.3.1(next@14.3.0-canary.43(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.0(react@18.3.0))(react@18.3.0)): - dependencies: - next: 14.3.0-canary.43(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -25202,20 +24587,6 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-html@9.0.4: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-whitespace: 3.0.0 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.4 - zwitch: 2.0.4 - hast-util-to-jsx-runtime@2.3.2: dependencies: '@types/estree': 1.0.6 @@ -25236,8 +24607,6 @@ snapshots: transitivePeerDependencies: - supports-color - hast-util-to-string@1.0.4: {} - hast-util-to-string@3.0.1: dependencies: '@types/hast': 3.0.4 @@ -25533,10 +24902,6 @@ snapshots: is-buffer@1.1.6: {} - is-bun-module@1.3.0: - dependencies: - semver: 7.6.3 - is-bun-module@2.0.0: dependencies: semver: 7.7.1 @@ -27721,8 +27086,6 @@ snapshots: gauge: 4.0.4 set-blocking: 2.0.0 - nprogress@0.2.0: {} - nullthrows@1.1.1: {} nwsapi@2.2.16: {} @@ -27832,12 +27195,6 @@ snapshots: dependencies: mimic-fn: 4.0.0 - oniguruma-to-es@0.10.0: - dependencies: - emoji-regex-xs: 1.0.0 - regex: 5.1.1 - regex-recursion: 5.1.1 - oo-ascii-tree@1.106.0: {} open@8.4.2: @@ -28063,8 +27420,6 @@ snapshots: parse-numeric-range@1.2.0: {} - parse-numeric-range@1.3.0: {} - parse-passwd@1.0.0: {} parse5@7.2.1: @@ -28463,8 +27818,6 @@ snapshots: querystring@0.2.0: {} - querystring@0.2.1: {} - querystringify@2.2.0: {} queue-microtask@1.2.3: {} @@ -28552,10 +27905,6 @@ snapshots: dependencies: react: 18.3.0 - react-icons@4.12.0(react@18.3.0): - dependencies: - react: 18.3.0 - react-is@16.13.1: {} react-is@17.0.2: {} @@ -28777,17 +28126,6 @@ snapshots: extend-shallow: 3.0.2 safe-regex: 1.1.0 - regex-recursion@5.1.1: - dependencies: - regex: 5.1.1 - regex-utilities: 2.3.0 - - regex-utilities@2.3.0: {} - - regex@5.1.1: - dependencies: - regex-utilities: 2.3.0 - regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 @@ -28828,16 +28166,6 @@ snapshots: hast-util-from-html: 2.0.3 unified: 11.0.5 - rehype-pretty-code@0.14.0(shiki@1.26.1): - dependencies: - '@types/hast': 3.0.4 - hast-util-to-string: 3.0.1 - parse-numeric-range: 1.3.0 - rehype-parse: 9.0.1 - shiki: 1.26.1 - unified: 11.0.5 - unist-util-visit: 5.0.0 - rehype-recma@1.0.0: dependencies: '@types/estree': 1.0.6 @@ -28860,13 +28188,6 @@ snapshots: hast-util-to-html: 9.0.3 unified: 11.0.5 - rehype@13.0.2: - dependencies: - '@types/hast': 3.0.4 - rehype-parse: 9.0.1 - rehype-stringify: 10.0.1 - unified: 11.0.5 - remark-frontmatter@5.0.0: dependencies: '@types/mdast': 4.0.4 @@ -29315,17 +28636,6 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - shiki@1.26.1: - dependencies: - '@shikijs/core': 1.26.1 - '@shikijs/engine-javascript': 1.26.1 - '@shikijs/engine-oniguruma': 1.26.1 - '@shikijs/langs': 1.26.1 - '@shikijs/themes': 1.26.1 - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 - '@types/hast': 3.0.4 - side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -29529,8 +28839,6 @@ snapshots: dependencies: minipass: 3.3.6 - stable-hash@0.0.4: {} - stable-hash@0.0.5: {} stack-utils@2.0.6: @@ -30419,8 +29727,6 @@ snapshots: dependencies: crypto-random-string: 4.0.0 - unist-util-is@4.1.0: {} - unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -30437,22 +29743,11 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@3.1.1: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.0 - unist-util-visit@2.0.3: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 - unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -30773,25 +30068,6 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-bundle-analyzer@4.10.1: - dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.14.0 - acorn-walk: 8.3.4 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - gzip-size: 6.0.0 - html-escaper: 2.0.2 - is-plain-object: 5.0.0 - opener: 1.5.2 - picocolors: 1.1.1 - sirv: 2.0.4 - ws: 7.5.10 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7