Compare commits

...

103 Commits

Author SHA1 Message Date
Junior Garcia 6492d36c68 Refactor/rebrand (#4532)
* chore: rebrand in progress

* chore: update docs to use heroui

* chore: components renbranded

* chore: figma moved to the docs files

* fix: posthog config

* fix(docs): extra classname in form example (#4465)

* chore: clean git

* chore: make heroui private

* chore: new logo

* chore: node env var renamed

* chore: public robots txt deleted

* chore: wrangler installed

* chore: wrangler renamed

* chore: cloudlfare workers removed

* chore: force vercel deploy

* refactor: first migration and provider

* refactor: rename nextui plugin

* refactor: rename github site

* refactor: rename CONTRIBUTING

* refactor: rename package name

* refactor: nextjs image hostname

* refactor: mdx repo nextui-org rename frontio-ai

* refactor: nextui.org rename heroui.com

* refactor: add heroui to missing places

* fix: heroui plugin name

* fix: update docs

* docs: nextui to heroui add npmrc pnpm migratation

* chore: rename all packages with new org name

* chore: replace frontio-ai by frontioai

* chore: revert previous changes

* chore: small adjustment

* chore: doc updated

* feat: blog

* chore: avatar updated

* fix: url

* chore: add new ogimage

* fix: ogimage command

* fix: heroui name and storybook welcome page

* fix: og image url

* feat: favicon and icon changed

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: winches <329487092@qq.com>
2025-01-16 15:03:45 -03:00
Peterl561 992220a5a3 fix(input): use onPress for wrapper click focus (#4483)
* fix(input): use onPress for wrapper click focus

* test(input): wrapper click focus test

* chore(changeset): input onPress for wrapper click focus

* chore(changeset): minor wording
2025-01-15 22:11:40 +08:00
աӄա 26fc514791 refactor: remove unnecessary props types (#4530)
* refactor(docs): remove string type as it is included in ReactNode

* refactor: remove unnecessary types

* feat(changeset): add changeset

* chore: remove changeset

* refactor: remove null since ReactNode unions it already
2025-01-13 16:23:29 +08:00
աӄա fcdf24a019 fix(avatar): title type in Avatar (#4529)
* fix(avatar): title type in Avatar

* fix(alert): apply isEmpty check on title

* fix(alert): alert interface props type
2025-01-13 11:41:05 +08:00
աӄա cfff127464 fix(alert): propagate className (#4535)
* fix(alert): propagate className

* chore(alert): remove className from alert theme
2025-01-13 11:39:44 +08:00
winches b7de85231c docs: optimize home display (#4519)
* docs: optimize home display and route highlight

* docs: optimize home display
2025-01-12 15:28:39 +09:00
winches 866e66dd24 docs: optimize route higtlight (#4520) 2025-01-12 15:19:52 +09:00
github-actions[bot] eada8cbf93 ci(changesets): version packages (#4440)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-01-05 10:09:56 -03:00
winches da7003e649 feat: add button open in stackblitz (#4461)
* feat: add button open in stackblitz

* feat: add button open in stackblitz

* fix: multiple react

* feat: add stackblitz button code preview

* feat: add stackblitz button code preview
2025-01-05 09:34:53 -03:00
աӄա b2e924fe19 fix(use-aria-link): onclick deprecation warning for Button as Link (#4497) 2025-01-05 09:33:15 -03:00
Ryo Matsukawa 33e0418d08 fix(popover): correct position logic (#4498)
* fix(popover): invalid placement logic

* chore(select): add story with popover position

* chore: add changeset

* chore: add pattern of popover story

* chore: fix changeset
2025-01-05 09:32:30 -03:00
աӄա 0c45fed420 fix(autocomplete): missing popover props except content (#4496) 2025-01-05 07:48:30 -03:00
Peterl561 a43b156801 fix(navbar): hide overlay when menu is closed (#4490) 2025-01-03 23:16:46 -03:00
Junior Garcia ef916ead52 chore: new canary version 2025-01-03 18:48:56 -03:00
աӄա 5d0fc9f786 fix(use-image): set status after hydrated (#4486)
* fix(use-image): set status after hydrated

* fix(use-image): use useSafeLayoutEffect instead
2025-01-03 11:23:42 -03:00
Tsuki 0eb96f6e5e feat(docs): nextUI with laravel (#4432)
* chore(docs): support laravel route

* feat(docs): add laravel.mdx

* chore(docs): update laravel.mdx

* chore(docs): update laravel.mdx

* Update apps/docs/config/routes.json

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-01-02 16:20:56 -03:00
Peterl561 0401f2548f fix(autocomplete): validate prop not working after hovering (#4452)
* fix(autocomplete): validate prop not working after hovering

* test(autocomplete): validate prop function should work after hover

* chore(changeset): fixed autocomplete validate not working after hover

* chore(autocomplete): minor comment change
2025-01-02 16:17:42 -03:00
աӄա 7c2bc4a18e fix(autocomplete): clear autocomplete value when pressing clear button (#4458) 2025-01-02 16:13:29 -03:00
Vincentius Roger Kuswara 16c57ece64 fix+feat(select, listbox): bug on dataset with "sections", add support for scrollshadow (#4462)
* fix: add custom function to calculate rowHeight for dataset with sections

* fix: scroll shadow is now working in virtualized components

* chore: add changeset

* fix: to pass test cases use function call instead of function component
2025-01-02 16:12:39 -03:00
աӄա e7ff6730d7 fix(use-image): cached image flickering issue (#4442)
* feat(use-image): add test case

* feat(use-image): include `@nextui-org/react-utils`

* feat(react-utils): add useIsHydrated

* fix(use-image): cached image flickering issue

* fix(use-image): ensure status is set after hydrated

* chore(use-image): remove unneccessary code
2025-01-02 16:10:13 -03:00
աӄա d92468aa1e fix(deps): bump @tanstack/react-virtual to support react 19 peer dep (#4463) 2024-12-30 17:14:45 -03:00
Ryo Matsukawa fb46df2430 fix(popover): correct initial animation direction to match fallback placement (#4460)
* fix(popover): correct initial animation direction to match fallback placement

* fix: type error

* chore: add changeset
2024-12-30 09:08:09 -03:00
winches 4f0ef5818b fix: clipboard get the different unicode whitespace (#4392)
* fix: clipboard get the different unicode whitespace

* fix: clipboard get the different unicode whitespace

* fix(snippet): incorrect MultiLine story

* fix: nbsp in editor

* fix: rename

* fix: md

* feat: optimization

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2024-12-28 11:01:59 +08:00
աӄա a83388aaf4 fix(alert): mark description optional & revise styles when only children is provided (#4447)
* fix(alert): mark description as optional and update description

* fix(theme): alignment when only children is provided

* feat(changeset): add changeset
2024-12-27 08:51:57 -03:00
Ethan ab9ad9b6b2 docs(input): update type prop to include "file" (#4444) 2024-12-26 10:33:23 +08:00
Junior Garcia 388b2ed001 Merge pull request #4438 from nextui-org/fix/eslint 2024-12-24 09:19:18 -03:00
WK Wong 07780a75a2 fix(drawer): use a top-level type-only import instead of inline type specifiers 2024-12-24 17:40:22 +08:00
Junior Garcia 413bcd7653 Merge branch 'main' into canary 2024-12-23 22:15:32 -03:00
Junior Garcia 14e12ebf5e Merge branch 'canary' of github.com:nextui-org/nextui into canary 2024-12-23 22:15:07 -03:00
Junior Garcia 54eec6ce50 Merge pull request #4436 from nextui-org/canary
v.2.6.10
2024-12-23 22:14:24 -03:00
Junior Garcia 9d948e748c Merge branch 'main' into canary 2024-12-23 22:13:10 -03:00
github-actions[bot] 05807d80f5 ci(changesets): version packages (#4435)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-23 22:01:42 -03:00
Junior Garcia 6430bc0084 fix: navbar release 2024-12-23 21:55:39 -03:00
github-actions[bot] 1bf66bc26e ci(changesets): version packages (#4326)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-23 21:39:13 -03:00
Omar Shehab f8f6bfea5a chore(drawer): export drawer children props (#4310)
* export Drawer children props

* Fix eslint

* fix: add changeset for drawer props export

* fix: remove useDisclosure export for `@nextui-org/react` not to fail

* remove useDisclosureProps

* Import props as types
2024-12-23 09:11:19 -03:00
աӄա 5cd1c63dc8 fix(docs): i18n version in date-related components (#4430) 2024-12-22 12:38:51 -03:00
Maharshi Alpesh 5f388fc68c fix: virtual keyboard on mobile should be based on the allowed keys (#4411)
* fix: virtual keyboard on mobile should be based on the allowed keys

* chore: applying junior's suggestions

* chore: add inputmode prop, update changeset

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-22 11:27:48 -03:00
Maharshi Alpesh de0e2776fe fix: navbar state change (#4406) 2024-12-22 11:20:51 -03:00
Maharshi Alpesh 885c9b3862 chore: update framework installations (#4410)
* chore: update framework installations

* chore: adding the nextui cli link
2024-12-22 11:19:17 -03:00
EReguero b5943db1fd fix: listbox-section props (#4369) 2024-12-22 11:06:13 -03:00
Peterl561 93c9df15d9 fix(input-otp): form validation hook missing behavior prop (#4417)
* fix(input-otp): form validation hook missing behavior

* test(input-otp): isRequired form test

* chore(changeset): fixed input-otp isRequired error message
2024-12-22 10:11:54 -03:00
Peterl561 f7e1b17c40 fix(select): remove input from hidden-select (#4427)
* fix(select): use select missing commitValidation call

* fix(select): remove hidden input from hidden-select

* test(select): updated validation tests

* chore(changeset): fix native validation behavior for select
2024-12-22 10:09:42 -03:00
աӄա c0e3dab5e8 fix(calendar): invalid prop ref supplied to React.Fragment (#4428)
* fix(calendar): remove unnecessary fragment

* feat(changeset): add changeset
2024-12-22 09:41:53 -03:00
Junior Garcia 7b38e04fee chore: hide pro image on mobile 2024-12-20 10:43:02 -03:00
Junior Garcia db58cbebd7 chore: hide pro image on mobile 2024-12-20 10:37:59 -03:00
Junior Garcia 97565057bb chore: hide pro image on mobile 2024-12-20 10:28:39 -03:00
Maharshi Alpesh c1baa746b2 fix: replacing the light mode bg in to nextui-pro section (#4355)
* fix: replacing the light mode bg and adding bg to nextui-pro section on mobile

* fix: making the transitions smoother

* chore: removing the bg on mobile devices

* fix: pro section and improvements

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-20 10:05:43 -03:00
Junior Garcia 5494fa2d7b Merge branch 'main' into canary 2024-12-19 10:59:07 -03:00
Maharshi Alpesh 7b7408cdac feat(docs): nextUI pro callout (#4391)
* feat: adding a callout for nextui-pro

* chore: changing the position of callout

* chore: putting back the callout to toc

* chore: adjustments

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-19 09:27:11 -03:00
Ryo Matsukawa d152b36b5d chore: add shouldBlockScroll stories (#4351)
* chore: add `shouldBlockScroll` stories

* chore: add shouldBlockScroll for argtypes

* chore: add shouldBlockScroll story for navbar

* chore: remove unnecessary props
2024-12-19 12:32:08 +08:00
Junior Garcia e753317b0e Merge branch 'main' into canary 2024-12-18 16:43:35 -03:00
Peterl561 f11659e9cb docs(switch): custom style example wrong margins (#4389) 2024-12-18 16:40:55 -03:00
Junior Garcia 0cb730b474 chore: posthog ingest removed (#4398) 2024-12-18 16:16:24 -03:00
Maharshi Alpesh afe0b527ce fix: input in card becomes invisible on hover and make date-input and time-input consistent (#4394) 2024-12-18 11:08:54 -03:00
Junior Garcia e15ef62b6c fix: icon wrapper border on alert component (#4383) 2024-12-17 12:20:27 -03:00
աӄա d9a55d0360 refactor(docs): use onPress event instead (#4353) 2024-12-17 11:17:11 -03:00
աӄա fa38828345 refactor: use onPress event instead (component-wise) (#4354)
* refactor: use onPress event instead

* chore(changeset): add changeset

* refactor(button): remove duplicate test case

* refactor(link): remove duplicate test case

* chore: add back onClick test case

* chore(menu): keep onClick test case

* chore: keep the original order
2024-12-17 11:16:10 -03:00
աӄա 5946e90335 fix(alert): slots & variantProps import (#4365) 2024-12-17 11:15:50 -03:00
աӄա 9e8a656665 fix(input): label placement with file input type (#4366) 2024-12-17 11:15:13 -03:00
Peterl561 00fc0a0f85 docs(input): form validation examples (#4368)
* docs(forms): minor typos

* docs(input): form validation examples
2024-12-17 11:14:14 -03:00
Maharshi Alpesh 2f55ecb4b2 fix(input-otp): filter disallowed characters from value prop (#4338)
* fix: input should filter away disallowed characters from value prop

* chore(changeset): add space

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2024-12-16 19:44:04 +08:00
Peterl561 e546124e1d fix(theme): menu overflow use clip (#4373)
* fix(theme): menu overflow use clip
fixes listbox section sticky not working

* chore(changeset): fix listbox section sticky not working

* chore(changeset): add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2024-12-16 19:43:36 +08:00
Junior Garcia 8d53e8bf7a Merge branch 'main' into canary 2024-12-13 15:47:24 -03:00
Junior Garcia 384382a719 fix: modal scroll 2024-12-13 15:47:04 -03:00
Junior Garcia fd86056e24 Merge branch 'main' into canary 2024-12-12 10:16:05 -03:00
Junior Garcia c9da5d482c fix: re-renders (#4349) 2024-12-12 10:15:33 -03:00
Junior Garcia a697439b83 Merge branch 'main' of github.com:nextui-org/nextui into canary 2024-12-12 09:24:17 -03:00
Peterl561 8e1ace580c docs(form): form guide link typo (#4339) 2024-12-12 09:13:50 -03:00
Vincentius Roger Kuswara 47b7d3eaeb feat(docs): preserve scrolling position when navigating to new page (#4294)
* feat: preserve scrolling position

* fix: add debounce and make scrollViewPortRef optional
2024-12-12 09:13:24 -03:00
Peterl561 c8a576e1f7 fix(docs): horizontal scroll triggering intersection observer (#4341) 2024-12-12 09:11:16 -03:00
OwLu0905 68d5b274ca docs(blog): v2.6.0 link typo (#4342) 2024-12-12 09:10:25 -03:00
刘佳闻 77206bc625 fix(shared-utils): process?.env will not transform to env by transcompiler (#4327)
* Fix (console.ts): process?.env will not transform to env by transcompiler

* chore(changeset): add changeset

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2024-12-12 13:07:44 +08:00
Junior Garcia 2fb6efa4d3 Merge pull request #4334 from nextui-org/fix/eng-1711
* fix(switch): bump `@nextui-org/theme` in peerDependencies

* fix(checkbox): bump `@nextui-org/theme` in peerDependencies

* fix(radio): bump `@nextui-org/theme` in peerDependencies

* chore(changeset): update packages
2024-12-11 14:54:35 -03:00
WK Wong 111178338d chore(changeset): update packages 2024-12-11 23:51:19 +08:00
WK Wong ea304d1be7 fix(radio): bump @nextui-org/theme in peerDependencies 2024-12-11 23:50:34 +08:00
WK Wong d481cc0f98 fix(checkbox): bump @nextui-org/theme in peerDependencies 2024-12-11 23:50:26 +08:00
WK Wong 0b117e59b2 fix(switch): bump @nextui-org/theme in peerDependencies 2024-12-11 23:47:19 +08:00
Maxim Shlyamov 76a72a9d1c fix(system-rsc): extendVariants typescript type (#4291)
* fix: ReactElement type

* fix: extendVariants forwardRef return type

* feat: add changeset

* chore(changeset): change to patch

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
2024-12-11 12:36:10 +08:00
Junior Garcia 053c1a703c v.2.6.8 (#4324)
* ci: when build fail will exit the release process (#4319)

* fix: on click event on interactive elements (#4322)

* chore: deprecated style added to api table

* ci(changesets): version packages (#4323)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

---------

Co-authored-by: winches <329487092@qq.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-10 19:01:00 -03:00
Junior Garcia 31ab5085f1 Merge branch 'canary' of github.com:nextui-org/nextui into canary 2024-12-10 18:59:54 -03:00
Junior Garcia c0c57e0b02 Merge branch 'main' of github.com:nextui-org/nextui into canary 2024-12-10 18:59:36 -03:00
github-actions[bot] 85893b5440 ci(changesets): version packages (#4323)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-10 18:12:33 -03:00
Junior Garcia 720a8dd726 chore: deprecated style added to api table 2024-12-10 18:12:04 -03:00
Junior Garcia 78c09280e3 fix: on click event on interactive elements (#4322) 2024-12-10 18:01:39 -03:00
winches a289ff8a67 ci: when build fail will exit the release process (#4319) 2024-12-10 12:33:09 -03:00
Junior Garcia 3f119d9b30 Merge pull request #4318 from nextui-org/canary
v2.6.7
2024-12-10 11:50:02 -03:00
Junior Garcia 2b1eb1b4f0 chore: merged with main 2024-12-10 11:49:30 -03:00
Junior Garcia c93e3796ff chore: update release workflow 2024-12-10 11:40:17 -03:00
github-actions[bot] cc5f98dd40 ci(changesets): version packages (#4316)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-10 11:29:21 -03:00
Junior Garcia 2b3863d309 chore: update release workflow 2024-12-10 11:29:03 -03:00
Junior Garcia 5598806216 fix: build (#4314) 2024-12-10 11:21:47 -03:00
Junior Garcia 2a4dd3b90b v2.6.6 (#4313)
* fix(input): ensure clear button is not focusable when disabled (#3774)

* fix(input): ensure clear button is not focusable when disabled

* test(input): add test to ensure clear button is not focusable when disabled

* chore: add changeset for clear button focus fix when input is disabled

* fix(input): update clear button to use button element

* test(input): add focus test when disabled

and update tests for clear button using button element

* test(input): replace querySelector with getByRole for clear button

* fix(input): set tabIndex to -1 for clear button

* test(input): ensure clear button is not focusable

* fix(image): add missing `w` to `getWrapperProps` dependency (#3802)

* fix(image): add missing `w` to `getWrapperProps` dependency

* chore(changeset): add changeset

* fix(autocomplete): popover should remain open after clicking clear button (#3788)

* fix: add state.open() so that dropdown is not closed

* chore: add changeset

* chore(autocomplete): add testcases for keeping lisbox open when clearButton is clicked

* chore: update changeset

* chore(autocomplete): change the docs for test cases

* chore(changeset): update changeset message and add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(docs): example of blurred card (#3741)

* docs(card): adding info regarding the gradient for blurred card

* chore(nit): adding example

* chore(docs): revise content for card isBlurred example

* chore(docs): revise isBlurred note

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(docs): replace twitter logo/links with x logo/links (#3815)

* fix(docs): replace Twitter logo/links with X logo/links

* docs: update twitter references to x

* docs: update changeset for twitter to x changes

* docs: update twitter references to x

* docs: update twitter references to x

* chore(docs): undo .sponsorsrc since it's generated

* refactor(docs): remove unnecessary classes

* chore(docs): undo .sponsorsrc since it's generated

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(date-picker): adding props from calendarProps to getCalendarProps (#3773)

* fix(date-picker): adding props from calendarProps to the getCalendarProps

* chore(date-picker): adding the changeset

* chore(changeset): add issue number

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* feat(autocomplete): automatically focus first non-disabled item (#2186)

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* docs(accordion): add overflow to custom motion example (#3793)

* fix(docs): typos in dark mode page (#3823)

* fix(theme): fullWidth in input and select (#3768)

* fix(input): fixing the fullWidth functionality

* chore(changeset): add issue number

* chore(changeset): revise changeset message

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(autocomplete): exit animation on popover close (#3845)

* fix(autocomplete): exit animation on popover close

* refactor(autocomplete): getListBoxProps

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(theme): replace the use of RTL-specific styles with logical properties (#3868)

* chore(rtl): remove the usages of rtl

* chore(changeset): adding the changeset

* chore(changeset): update changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(select): label placement discrepancy in Select (#3853)

* fix(select): label placement incorrect in case of multiline

* chore(select): adding the changeset

* chore(select): adding the tests

* chore(select): code imrovement, wkw's suggestions

* chore(changeset): update changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): label placement in select and input (#3869)

* fix(theme): fix the label placement

* chore(changeset): adding the changeset

* chore(select): adding comments

* fix(docs): avoid translating the code block (#3878)

* docs(Codeblock): avoid code be translated

* fix(docs): lint issue

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(listbox): change listBoxItem key to optional (#3883)

* fix(listbox): listBoxItem key to optional

* chore: add defaultSelectedKeys test for numeric keys and ids

* chore: add changeset

* chore: comment out section prompts in PR template (#3884)

* chore(test): update testing libraries and refactor (#3886)

* fix(theme): show margin only with label in Switch component (#3861)

* fix(switch): removed right margin in wrapper #3791

* feat(changeset): added changeset

* fix(switch): removed me-2 in wrapper

* fix(switch): added ms-2 to label

* chore(changeset): correct package and message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): removed pseudo cancel btn from input (#3912)

* fix(theme): removed pseudo cancel btn from input

* chore(changeset): adding the changeset

* fix(input): conditionally hiding the webkit search

* chore(changeset): revise changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(docs): dx improvement in accordion (#3856)

* refactor: improve dx for writing a docs component (#2544)

* refactor: improve dx for write a docs component

Signed-off-by: Innei <i@innei.in>

* refactor(docs): switch to contentlayer2

* chore(docs): rename to avoid conflict

* refactor(docs): switch to next-contentlayer2

* refactor(docs): revise docs lib

* chore(deps): bump docs related dependencies

* fix(use-aria-multiselect): type issue due to ts version bump

---------

Signed-off-by: Innei <i@innei.in>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(docs): accordion codes

* feat(docs): declare module `*.jsx?raw`

* feat(docs): include `**/*.jsx`

* fix(docs): incorrect content

* chore(docs): add new lines

* refactor(docs): lint

---------

Signed-off-by: Innei <i@innei.in>
Co-authored-by: Innei <tukon479@gmail.com>

* fix(docs): typos in hero section (#3928)

* fix(theme): support RTL for breadcrumbs (#3927)

* fix(breadcrumbs): added separator rotation for RTL #2486

* chore(changeset): added changeset

* fix(docs): removed unused import and merged classNames in dropdown (#3936)

* fix(breadcrumbs): added separator rotation for RTL #2486

* chore(changeset): added changeset

* fix(docs): removed unused Link import and merged classnames in dropdown

* fix: avatar filter disableAnimation to dom prop (#3946)

* feat: add git hook to auto update dependencies (#3365)

* feat: add git hook to auto update dependencies

* feat: update color

* fix: prevent test matcher warning (#3893)

* fix: prevent test matcher warning

* chore: add node types

* chore: update Jest related packages

* chore: run pnpm install

* fix(tabs): correct inert value for true condition (#3978)

* Alert component (#3982)

* feat(alert): began the work on alert component

* fix(readme): making correction

* chore(deps): change to 2.0.0

* chore(docs): update README.md

* feat(theme): init alert tv

* chore(alert): update package.json

* feat(alert): init alert storybook structure

* chore(changeset): add changeset

* chore(changeset): change to minor

* chore(alert): revise alert package.json

* feat(alert): init test structure

* chore(deps): pnpm-lock.yaml

* feat(alert): initailized theme and basic structure

* feat(alert): completed use-alert.ts and alert.tsx

* feat(alert): remove innerWrapper, replace helperWrapper with mainWrapper, adding isCloseable prop

* feat(alert): adding isCloseable prop to baseWrapper dependency

* feat(alert): setting the default value of isCloseable prop to true

* feat(alert): moving CloseIcon inside the button

* feat(alert): updated package.json

* feat(alert): default variant and default story

* feat(alert): adding color and radius stories

* feat(alert): completed the styling

* feat(alert): add stories for isCloseable prop and restyle other stories

* feat(alert): correcting ref type

* feat(alert): add test cases

* feat(alert): remove startContent and endContent props

* feat(alert): make styling more accurate

* feat(alert): fixed default props

* feat(alert): fixed theme docs

* feat(alert): add logic for icons

* feat(alert): begin to add docs

* chore(alert): implement the changes suggested in code review

* feat(alert): add onclose prop to alert

* feat(alert): add test cases

* docs(alert): add onClose  event

* feat(docs): add alert to routes.json

* fix(alert): correct the text colors

* docs(alert): fix imports and syntax errors

* chore(alert): implement the changes suggested in code review

* chore(alert): lint the code and change isCloseable to isClosable

* chore(alert): lint the code

* chore(alert): run pnpm  i

* fix(alert): fix the logic for close button and add test case

* docs(alert): fix docs, change isCloseable to isClosable and change docs for isClosable property

* chore(alert): add the support for RTL, refactor the code and fix the typos

* docs(alert): grammer issues fix

* fix(alert): replace rtl with ms

* chore(alert): custom style and custom implementation, remove isClosable={false}, refactor, fix typos

* chore(alert): linting and implement coderabbit suggestions

* chore(alert): refactor and typos fix

* chore(alert): add import for closeIcon

* chore(alert): add props for closeIcon

* chore(alert): refactor fixes

* chore(alert): implement ryo-manba's suggestion on close Icon

* chore(alert): make alert more responsive

* chore(alert): fix grammer issues suggested by coderabbit

* fix(alert): add max-w property to make alert responsive

* chore(alert): improve responsiveness  and refactor alertIcon

* chore(alert): add missing dependency to useMemo

* chore(alert): implement coderabbit's suggestions

* chore(alert): update docs and refactor

* chore(alert): refactor alertIcon and implement coderabbit's suggestion

* chore: fixes

---------

Co-authored-by: Abhinav Agarwal <abhinavagrawal700@gmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>

* Feat/add draggable modal (#3983)

* feat(hooks): add use-draggable hook

* feat(components): [modal] export use-draggable

* docs(components): [modal] add draggable modal

* feat(components): [modal] add ref prop for modal-header

* chore(components): [modal] add draggable modal for storybook

* chore: add changeset for draggable modal

* docs(hooks): [use-draggable] fix typo

* chore: upper changeset

* chore(components): [modal] add overflow draggable modal to sb

* test(components): [modal] add draggable modal tests

* build: update pnpm-lock

* chore(changeset): include issue number

* feat(hooks): [use-draggable] set user-select to none when during the dragging

* docs(components): [modal] update code demo title

* docs(components): [modal] condense description for draggable overflow

* feat(hooks): [use-draggable] change version to 0.1.0

* refactor(hooks): [use-draggable] use use-move implement use-draggable

* feat(hooks): [use-draggable] remove repeated user-select

* test(components): [modal] update test case to use-draggable base use-move

* docs(components): [modal] update draggable examples

* fix(hooks): [use-draggable] fix mobile device touchmove event conflict

* refactor(hooks): [use-draggable] remove drag ref prop

* refactor(hooks): [use-draggable] draggable2is-disabled overflow2can-overflow

* test(components): [modal] add draggble disable test

* chore(hooks): [use-draggable] add commant for body touchmove

* Update packages/hooks/use-draggable/src/index.ts

Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* fix(hooks): [use-draggable] import use-callback

* test(components): [modal] add mobile-sized test for draggable

* chore(hooks): [use-draggable] add use-callback for func

* chore(hooks): [use-draggable] update version to 2.0.0

* chore: fix typo

* Update .changeset/soft-apricots-sleep.md

* fix: pnpm lock

* fix: build

* chore: add updated moadl

---------

Co-authored-by: wzc520pyfm <1528857653@qq.com>
Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* chore: upgrade react-aria / React 19 & Next.js 15 support (#3732)

* chore: upgrade react-aria

* chore: add changeset

* chore: fix type error

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(date-picker): add selectorButtonPlacement property (#3248)

* feat(date-picker): add selectorButtonPlacement property

* chore: update changeset

* Update .changeset/neat-donkeys-accept.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat: add tab ref (#3974)

* feat: add tab ref

* feat: add changeset

* feat: pre-release workflow (#2910)

* feat(workflow): pre-release

* feat(workflow): exit pre-release

* chore(workflow): update version & publish commands

* fix(workflow): add missing attributes and use schangeset:beta cmd

* feat(root): add changeset:beta

* fix(workflows): revise pre-release logic

* fix(workflows): add missing run

* fix(workflows): use changeset:exit with version instead

* feat(root): add changeset:exit cmd

* refactor(workflows): add pths, id, and format

* feat(workflows): enter pre-release mode

* chore(workflows): remove pre.json only

* refactor(workflows): remove enter-pre-release-mode

* fix(workflows): incorrect url

* refactor(root): remove unused exit command

* refactor(workflows): add comments

* feat(changeset): change to main branch as baseBranch

* feat(root): add changeset:canary

* refactor(workflows): remove unused workflow

* feat(workflow): support canary pre-release mode

* refactor(docs): change to canary

* feat(popover): added control for closing popover on scroll (#3595)

* fix(navbar): fixed the height when style h-full

* fix(navbar): fixed the height when style h-full

* docs(changeset): resolved extra file

* feat(popover): added control for closing popover on scroll

* update(changeset):  correction

* feat(popover): removed extra story

* refactor(test): corrected test for both true and false values of shouldCloseOnScroll

* refactor(docs): added shouldCloseOnScroll prop

* chore(changeset): change to minor

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>

* feat: add month and year pickers to DateRangePicker and RangeCalendar (#3302)

* feat: add month and year pickers to DateRangePicker and RangeCalendar

* chore: update docs

* Update .changeset/kind-cobras-travel.md

* chore: react package version

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(deps): bump tailwind-merge version (#3657)

* chore(deps): bump tailwind-merge versions

* chore(theme): adopt latest extendTailwindMerge

* chore(changeset): add changeset

* chore(changeset): change to minor

* Update .changeset/grumpy-mayflies-rhyme.md

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat: added drawer component (#3986)

Signed-off-by: The1111mp <The1111mp@outlook.com>
Co-authored-by: The1111mp <The1111mp@outlook.com>

* refactor: optimisations (#3523)

* refactor: replace lodash with native approaches

* refactor(deps): update framer-motion versions

* feat(utilities): add @nextui-org/dom-animation

* refactor(components): load domAnimation dynamically

* refactor(deps): add @nextui-org/dom-animation

* fix(utilities): relocate index.ts

* feat(changeset): framer motion optimization

* chore(deps): bump framer-motion version

* fix(docs): conflict issue

* refactor(hooks): remove the unnecessary this aliasing

* refactor(utilities): remove the unnecessary this aliasing

* chore(docs): remove {} so that it won't be true all the time

* chore(dom-animation): end with new line

* refactor(hooks): use debounce from `@nextui-org/shared-utils`

* chore(deps): add `@nextui-org/shared-utils`

* refactor: move mapKeys logic to `@nextui-org/shared-utils`

* refactor: use `get` from `@nextui-org/shared-utils`

* refactor(docs): use `get` from `@nextui-org/shared-utils`

* refactor(shared-utils): mapKeys

* chore(deps): bump framer-motion version

* chore(deps): remove lodash

* refactor(docs): use intersectionBy from shared-utils

* feat(shared-utils): add intersectionBy

* chore(dom-animation): remove extra blank line

* refactor(shared-utils): revise intersectionBy

* fix(modal): add willChange

* refactor(shared-utils): add comments

* fix: build & tests

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(hooks): use-theme hook (#3169)

* feat(docs): update dark mode content

* feat(hooks): @nextui-org/use-theme

* chore(docs): revise ThemeSwitcher code

* refactor(hooks): simplify useTheme and support custom theme names

* feat(hooks): add use-theme test cases

* feat(changeset): add changeset

* refactor(hooks): make localStorageMock globally and clear before each test

* fix(docs): typo

* fix(hooks): coderabbitai comments

* chore(hooks): remove unnecessary +

* chore(changeset): change to minor

* feat(hooks): handle system theme

* chore(hooks): add EOL

* refactor(hooks): add default theme

* refactor(hooks): revise useTheme

* refactor(hooks): resolve pr comments

* refactor(hooks): resolve pr comments

* refactor(hooks): resolve pr comments

* refactor(hooks): remove unused theme in dependency array

* chore(docs): typos

* refactor(hooks): mark system as key for system theme

* chore: merged with canary

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* Fix/avatar flashing (#3987)

* fix(use-image): cached image flashing

* chore: merged with canary

---------

Co-authored-by: Rakha Kanz Kautsar <rkkautsar@gmail.com>

* refactor(menu): Use `useMenu` and `useMenuItem` from RA (#3261)

* refactor(menu): use useMenu from react-aria instead

* refactor(menu): use useMenuItem from react-aria instead

* feat(changeset): add changeset

* chore: merged with canary

* fix: dropdown tests

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(theme): added stripe color gradients for progress (#3938)

* fix(breadcrumbs): added separator rotation for RTL #2486

* chore(changeset): added changeset

* fix(docs): removed unused Link import and merged classnames in dropdown

* fix(theme):added stripe color gradients for progress #1933

* refactor(theme): added stripe-size and createStripeGradient

* chore: add all minor releases

* fix(docs): invalid canary storybook link (#4030)

* fix(use-image): image ReferenceError in SSR (#4122)

* fix(use-image): image ReferenceError in SSR

* fix(use-image): sync with beta

* fix(use-image): sync with beta

* chore(use-image): remove unnecessary comments

* fix(docs): buildLocation expects an object  (#4118)

* fix(docs): routing.mdx

* Delete .changeset/pre.json

* chore(docs): update yarn installation command (#4132)

There is no `-g` flag in yarn. `global` is a command which must immediately follow yarn. 

Source: https://classic.yarnpkg.com/lang/en/docs/cli/global/

* chore: upgrade storybook 8 (#4124)

* feat: upgrade storybook8

* chore: upgrade storybook and vite

* chore: remove @mdx-js/react optimizeDep

* chore: add @mdx-js/react optimizeDep

* fix: format

* docs: add forms guide (#3822)

* v2.5.0 [BETA] (#4164)

* chore(pre-release): enter pre-release mode

* fix(theme): apply tw nested group (#3909)

* chore(changset): add changeset

* fix(theme): apply nested group to table

* chore(docs): update table bottomContent code

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: pkg versions

* fix: changeset

* fix: drawer peer dep

* chore: update plop components tempalte

* ci(changesets): version packages (beta) (#3988)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: pre-release workflow

* chore: debug log added

* chore: force pre-release

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* chore: beta1 (#3990)

* ci(changesets): version packages (beta) (#3991)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(use-image): image ReferenceError in SSR (#3993)

* fix(input): fixed a sliding issue caused by the helper wrapper (#3966)

* If it is false and there is an error message or description it will create a div

* Update packages/components/input/src/input.tsx

* Update packages/components/select/src/select.tsx

* Update packages/components/input/src/textarea.tsx

* add changeset

* changeset update

* ci(changesets): version packages (beta) (#3995)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image loading in the server (#3996)

* fix: lock file

* chore: force release

* chore: force release 2

* ci(changesets): version packages (beta) (#3997)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image load on next.js (#3998)

* ci(changesets): version packages (beta) (#3999)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: element.ref was removed in React 19 warning (#4003)

* ci(changesets): version packages (beta) (#4004)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: react 19 as peer dep (#4008)

* ci(changesets): version packages (beta) (#4009)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Beta/react 19 support (#4010)

* fix: react 19 as peer dep

* fix: react 19 as peer dep

* chore: support framer-motion alpha version

* ci(changesets): version packages (beta) (#4011)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(theme): making select and input themes consistent (#3881)

* ci(changesets): version packages (beta) (#4012)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: support inert value with boolean type for react 19 (#4039)

* ci(changesets): version packages (beta) (#4041)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert design improved (#4054)

* ci(changesets): version packages (beta) (#4056)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: drawer improvements (#4057)

* ci(changesets): version packages (beta) (#4058)

* feat: alert styles improved (#4071)

* ci(changesets): version packages (beta) (#4072)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert styles improved (#4073)

* ci(changesets): version packages (beta) (#4074)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: add number of stars and credits

* chore: fix build

* chore: improve navabr colors

* chore: new changeset (#4083)

* ci(changesets): version packages (beta) (#4084)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: pnpm cleaned (#4086)

* ci(changesets): version packages (beta) (#4087)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: custom runnner added

* chore: custom runner test (#4091)

* Beta/custom runner (#4092)

* chore: custom runner test

* chore: custom runner test

* chore: remove 2 from older changeset

* ci(changesets): version packages (beta) (#4093)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: new demo added to alert

* Feat/virtualization for autocomplete (#4094)

* feat: add react-window virtualization for autocomplete

* fix: wrong imports and wrong sizing

* fix: update pnpm lock

* chore: add test cases for large dataset (1000 and 10000 items)

* chore: move virtualized-listbox to listbox components folder, implement isVirtualized conditional

* feat: implement dynamic listboxheight n item height, add story

* chore: rename props, remove unnecessary line changes

* fix: maxHeight style 256px for default, conditional usage of virtualizer

* feat: migrate to tan-stack virtual. (todo: fix scroll shadow)

* feat: virtualization support

---------

Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>

* ci(changesets): version packages (beta) (#4095)

* feat: small fixes

* feat: add reducedMotion setting to Provider (#3470)

* feat: add reducedMotion setting to Provider

* chore: refactor reducedMotion story

* Update .changeset/pretty-parrots-guess.md

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4106)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: move circular-progress tv to progress (#3321)

* fix: remove circular-progress tv to progress

* docs: changeset

* chore(changeset): update changeset message

* Update .changeset/angry-maps-serve.md

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: label placement when the select has a placeholder or description (#4126)

* ci(changesets): version packages (beta) (#4107)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): add missing `framer-motion` in `peerDependencies` (#4140)

* fix(theme): add truncate class to the list item to avoid overflow the wrapper (#4105)

* fix(docs): invalid canary storybook link (#4030)

* fix: menu item hidden overflow text

* feat: changeset

* Merge branch 'beta/release-next' into fix/menu-item-hidden

* fix: truncate list item

* feat: update changeset

* fix(menu): omit internal props

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(table): add isKeyboardNavigationDisabled prop to the table (#3735)

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>

* feat: add form component (#3036)

* chore: add support validationBehavior aria

* chore: add validationBehavior to Provider

* chore: add autocomplete validation test

* chore: add checkbox validation test

* fix(input): require condition

* docs: add description of validationBehavior props

* chore: add support validationBehavior props for date components

* docs(dates): add description of validationBehavior props

* chore: add changeset

* chore: format

* chore: fix test

* fix: select validationBehavior is not support yet

* fix: select validationBehavior not supported yet

* feat: add form component with input support

* feat: add support form context

* chore: wip add support for  form server errors

* chore: add support checkbox server validation

* chore: add support radio server validation

* chore: update pnpm-lock.yaml

* chore: add support input server validation

* chore: add support autocomplete server validation

* chore(form): add server validation stories

* chore: fix test

* chore: add date-picker validation test

* chore: update form stories

* chore: add changeset

* chore: update react-aria version

* chore: add pnpm-lock.yaml

* chore: update react-aria version

* chore: add comment

* chore: update react-aria version

* chore: fix change set

* chore: export form component in the main package

* chore: upgrade react-aria

* chore: fixed internationalized/date version

* fix: build error

* chore: upgrade docs react-aria version

* fix: remove comment

* fix: debug setting

* chore(docs): update sponsor (#3904)

* chore(docs): remove Scrumbuiss

* chore(docs): remove Scrumbuiss logo

* chore(docs): replace va by posthog (#4123)

* chore(changeset): change to patch

* refactor: react-aria-components remove to decrease package size, logic moved to the form package

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* docs: add forms guide (#4155)

Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* chore: routes updated

* ci(changesets): version packages (beta) (#4151)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: fix indentation

* fix(changeset): package not be found

* ci(changesets): version packages (beta) (#4158)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(select): controlled isInvalid prop (#4082)

* fix(select): controlled isInvalid prop

* chore: add changeset

* Merge branch 'beta/release-next' into pr/4082

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* ci(changesets): version packages (beta) (#4159)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(changeset): bump all versions

* ci(changesets): version packages (beta) (#4160)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): missing peer / dev dependency for framer-motion (#4161)

* fix(system): align `navigate` function parameters with `@react-aria` (#4163)

* fix: menu item classNames not work (#4156)

* fix: menu item classNames not work

* feat: changeset

* docs: update

* feat: merge classes utility added

* Update .changeset/brave-trains-wave.md

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(docs): remove incorrect info

* ci(changesets): version packages (beta) (#4162)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(docs): overall dx (#4055)

* refactor(docs): revise code block (#3922)

* refactor(docs): revise code block

* chore(docs): resolve pr comments

* refactor(docs): autocomplete dx (#3934)

* feat(docs): add *.js?raw module

* feat(docs): change to react-jsx and add **/*.js

* chore(root): include js and jsx

* refactor(docs): autocomplete dx

* chore(docs): rollback overrides

* chore(autocomplete): lint

* fix(autocomplete): incorrect import path

* fix(docs): autocomplete dx

* chore(docs): remove highlightedLines

* refactor(docs): breadcrumbs dx (#3968)

* refactor(docs): breadcrumbs dx

* fix(docs): export issue

* chore(docs): use preserve for jsx

* fix(docs): support multiline import

* fix(docs): support multiple export

* chore(docs): add back export

* refactor(docs): avatar dx (#3951)

* refactor(docs): badge dx (#3960)

* refactor(docs): badge dx

* chore(docs): incorrect import path

* refactor(docs): button dx (#3981)

* refactor(docs): calendar dx (#4022)

* refactor(docs): calendar dx

* fix(docs): incorrect import path

* refactor(docs): switch dx (#4037)

* refactor(docs): switch dx

* chore(docs): remove highlightedLines

* refactor(docs): tooltip (#4035)

* refactor(docs): usage dx (#4036)

* refactor(docs): circular-progress dx (#4029)

* refactor(docs): chip-dx (#4028)

* refactor(docs): checkbox-group dx (#4027)

* refactor(docs): checkbox dx (#4024)

* refactor(docs): checkbox dx

* fix(docs): incorrect import path

* refactor(docs): card dx (#4023)

* refactor(docs): skeleton dx (#4042)

* refactor(docs): spacer dx (#4043)

* refactor(docs): snippet dx (#4044)

* refactor(docs): scroll-shadow dx (#4045)

* refactor(docs): code dx (#4046)

* refactor(docs): kbd dx (#4047)

* refactor(docs): link dx (#4048)

* refactor(docs): progress dx (#4049)

* refactor(docs): divider dx (#4050)

* refactor(docs): listbox dx (#4051)

* refactor(docs): listbox dx

* fix(docs): import path

* fix(docs): import path

* chore(docs): remove highlightedLines

* fix(docs): indentation

* chore(docs): replace the props of autocomplete from value to key (#4129)

* refactor(docs): alert dx (#4108)

* refactor(docs): alert dx

* refactor(docs): alert dx

* refactor(docs): image dx (#4061)

* refactor(docs): textarea dx (#4063)

* refactor(docs): spinner dx (#4088)

* refactor(docs): radio-group dx (#4064)

* refactor(docs): pagination dx (#4062)

* refactor(docs): pagination dx

* refactor(docs): pagination dx

* refactor(docs): time-input dx (#4065)

* refactor(docs): time-input dx

* refactor(docs): time-input dx

* refactor(docs): slider dx (#4066)

* refactor(docs): slider dx

* refactor(docs): slider dx

* refactor(docs): move SliderValue to type

* refactor(docs): slider dx

* refactor(docs): make icon code collapsible

* refactor(docs): specify versions for date packages (#4138)

* refactor(docs): specify versions for date packages

* fix(docs): correct RA i18n version

* chore(deps): sync version from package

* refactor(docs): tabs dx (#4067)

* refactor(docs): tab dx

* refactor(docs): tabs dx

* refactor(docs): input dx (#4102)

* refactor(docs): input dx

* refactor(docs): input dx

* refactor(docs): navbar dx (#4076)

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): modal dx (#4077)

* refactor(docs): modal dx

* refactor(docs): modal dx

* refactor(docs): select dx (#4078)

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): table dx (#4079)

* refactor(docs): table dx

* fix(docs): import path

* refactor(docs): table dx

* refactor(docs): table dx

* refactor(docs): popover dx (#4090)

* refactor(docs): range-calendar dx (#4089)

* refactor(docs): range-calendar dx

* fix(docs): import path

* refactor(docs): date input dx (#4100)

* refactor(docs): dropdown dx (#4101)

* refactor(docs): dropdown dx

* refactor(docs): remove highlightedLines

* refactor(docs): dropdown dx

* refactor(docs): dropdown dx

* refactor(docs): date-picker dx (#4103)

* refactor(docs): date-picker dx

* fix(docs): import paths

* refactor(docs): date-range-picker dx (#4104)

* refactor(docs): date-range-picker dx

* fix(docs): date-range-picker dx

* refactor(docs): drawer dx (#4109)

* refactor(docs): drawer dx

* fix(docs): indentation

* refactor(docs): make icon collapsible

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* feat(input-otp): introduce input OTP component (#4052)

* feat(input-otp): adding the functionality

* fix(input-otp): making the use of input-otp library

* Update .changeset/spotty-flies-jump.md

* chore(input-otp): nits

* feat: improvements and fixes added

* refactor: input-otp docs improvements

* fix: changeset

* fix: build

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4169)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(theme): revise label font size for lg (#4141)

* refactor(theme): revise label font size for lg

* chore(changeset): add changeset

* refactor(theme): revise label font size for lg

* fix(docs): typecheck errors (#4171)

* fix(docs): remove duplicate import

* fix(docs): update type for onChange in range-calendar page

* fix(docs): add missing `@react-types/calendar`

* fix(docs): broken syntax

* fix(docs): typecheck issues

* fix(docs): add missing `@react-types/datepicker`

* fix(docs): typecheck issues

* fix: missing li tag when href is specified (#4168)

* fix(items): items in list should wrapped in li in case of a

* chore: adding the tests

* Feat/textarea add clear button (#4172)

* feat(components): add clear button to the textarea component

* docs(textarea): add test and changeset

* feat(textarea): modify the changeset file

* feat(textarea): add clear button to textarea

* feat(textarea): add isClearable prop to textarea

* docs(textarea): add documentation to textarea

* docs(textarea): add documentation to textarea

* feat(textarea): replace the textarea component clear icon and modify its location

* feat(textarea): revise the clear button position

* feat(textarea): revise the clear button structure

* feat(textarea): revise the styles of clear button and textarea

* feat(textarea): revise the styles of RTL case

* feat(textarea): change the rtl to pe

* feat(textarea): delete the px classname

* chore(changeset): update package and message

* test(textarea): add test case

* feat(textarea): change the clear button structure

* feat(textarea): optimized code

* chore(textarea): update the changeset file

* docs(textarea): add slots doc to textarea

* chore(textarea): update peerDevpeerDependencies version

* chore(textarea): add usecallback dep

* Update .changeset/five-adults-protect.md

* chore(pre-release): enter pre-release mode

* feat(textarea): modify the clear button icon

* fix(theme): apply tw nested group (#3909)

* chore(changset): add changeset

* fix(theme): apply nested group to table

* chore(docs): update table bottomContent code

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: pkg versions

* fix: changeset

* fix: drawer peer dep

* chore: update plop components tempalte

* ci(changesets): version packages (beta) (#3988)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: pre-release workflow

* chore: debug log added

* chore: force pre-release

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* chore: beta1 (#3990)

* ci(changesets): version packages (beta) (#3991)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(use-image): image ReferenceError in SSR (#3993)

* fix(input): fixed a sliding issue caused by the helper wrapper (#3966)

* If it is false and there is an error message or description it will create a div

* Update packages/components/input/src/input.tsx

* Update packages/components/select/src/select.tsx

* Update packages/components/input/src/textarea.tsx

* add changeset

* changeset update

* ci(changesets): version packages (beta) (#3995)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image loading in the server (#3996)

* fix: lock file

* chore: force release

* chore: force release 2

* ci(changesets): version packages (beta) (#3997)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image load on next.js (#3998)

* ci(changesets): version packages (beta) (#3999)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: element.ref was removed in React 19 warning (#4003)

* ci(changesets): version packages (beta) (#4004)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: react 19 as peer dep (#4008)

* ci(changesets): version packages (beta) (#4009)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Beta/react 19 support (#4010)

* fix: react 19 as peer dep

* fix: react 19 as peer dep

* chore: support framer-motion alpha version

* ci(changesets): version packages (beta) (#4011)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(theme): making select and input themes consistent (#3881)

* ci(changesets): version packages (beta) (#4012)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(textarea): fix clearButton display

* fix: support inert value with boolean type for react 19 (#4039)

* ci(changesets): version packages (beta) (#4041)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert design improved (#4054)

* ci(changesets): version packages (beta) (#4056)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: drawer improvements (#4057)

* ci(changesets): version packages (beta) (#4058)

* feat: alert styles improved (#4071)

* ci(changesets): version packages (beta) (#4072)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert styles improved (#4073)

* ci(changesets): version packages (beta) (#4074)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: add number of stars and credits

* chore: fix build

* chore: improve navabr colors

* chore: new changeset (#4083)

* ci(changesets): version packages (beta) (#4084)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: pnpm cleaned (#4086)

* ci(changesets): version packages (beta) (#4087)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: custom runnner added

* chore: custom runner test (#4091)

* Beta/custom runner (#4092)

* chore: custom runner test

* chore: custom runner test

* chore: remove 2 from older changeset

* ci(changesets): version packages (beta) (#4093)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: new demo added to alert

* Feat/virtualization for autocomplete (#4094)

* feat: add react-window virtualization for autocomplete

* fix: wrong imports and wrong sizing

* fix: update pnpm lock

* chore: add test cases for large dataset (1000 and 10000 items)

* chore: move virtualized-listbox to listbox components folder, implement isVirtualized conditional

* feat: implement dynamic listboxheight n item height, add story

* chore: rename props, remove unnecessary line changes

* fix: maxHeight style 256px for default, conditional usage of virtualizer

* feat: migrate to tan-stack virtual. (todo: fix scroll shadow)

* feat: virtualization support

---------

Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>

* ci(changesets): version packages (beta) (#4095)

* feat: small fixes

* feat: add reducedMotion setting to Provider (#3470)

* feat: add reducedMotion setting to Provider

* chore: refactor reducedMotion story

* Update .changeset/pretty-parrots-guess.md

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4106)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: move circular-progress tv to progress (#3321)

* fix: remove circular-progress tv to progress

* docs: changeset

* chore(changeset): update changeset message

* Update .changeset/angry-maps-serve.md

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: label placement when the select has a placeholder or description (#4126)

* ci(changesets): version packages (beta) (#4107)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): add missing `framer-motion` in `peerDependencies` (#4140)

* fix(theme): add truncate class to the list item to avoid overflow the wrapper (#4105)

* fix(docs): invalid canary storybook link (#4030)

* fix: menu item hidden overflow text

* feat: changeset

* Merge branch 'beta/release-next' into fix/menu-item-hidden

* fix: truncate list item

* feat: update changeset

* fix(menu): omit internal props

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* Update apps/docs/content/docs/components/textarea.mdx

* feat(table): add isKeyboardNavigationDisabled prop to the table (#3735)

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>

* feat: add form component (#3036)

* chore: add support validationBehavior aria

* chore: add validationBehavior to Provider

* chore: add autocomplete validation test

* chore: add checkbox validation test

* fix(input): require condition

* docs: add description of validationBehavior props

* chore: add support validationBehavior props for date components

* docs(dates): add description of validationBehavior props

* chore: add changeset

* chore: format

* chore: fix test

* fix: select validationBehavior is not support yet

* fix: select validationBehavior not supported yet

* feat: add form component with input support

* feat: add support form context

* chore: wip add support for  form server errors

* chore: add support checkbox server validation

* chore: add support radio server validation

* chore: update pnpm-lock.yaml

* chore: add support input server validation

* chore: add support autocomplete server validation

* chore(form): add server validation stories

* chore: fix test

* chore: add date-picker validation test

* chore: update form stories

* chore: add changeset

* chore: update react-aria version

* chore: add pnpm-lock.yaml

* chore: update react-aria version

* chore: add comment

* chore: update react-aria version

* chore: fix change set

* chore: export form component in the main package

* chore: upgrade react-aria

* chore: fixed internationalized/date version

* fix: build error

* chore: upgrade docs react-aria version

* fix: remove comment

* fix: debug setting

* chore(docs): update sponsor (#3904)

* chore(docs): remove Scrumbuiss

* chore(docs): remove Scrumbuiss logo

* chore(docs): replace va by posthog (#4123)

* chore(changeset): change to patch

* refactor: react-aria-components remove to decrease package size, logic moved to the form package

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* docs: add forms guide (#4155)

Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* chore: routes updated

* ci(changesets): version packages (beta) (#4151)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: fix indentation

* fix(changeset): package not be found

* ci(changesets): version packages (beta) (#4158)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(select): controlled isInvalid prop (#4082)

* fix(select): controlled isInvalid prop

* chore: add changeset

* Merge branch 'beta/release-next' into pr/4082

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* ci(changesets): version packages (beta) (#4159)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(changeset): bump all versions

* ci(changesets): version packages (beta) (#4160)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): missing peer / dev dependency for framer-motion (#4161)

* fix(system): align `navigate` function parameters with `@react-aria` (#4163)

* fix: menu item classNames not work (#4156)

* fix: menu item classNames not work

* feat: changeset

* docs: update

* feat: merge classes utility added

* Update .changeset/brave-trains-wave.md

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(docs): remove incorrect info

* ci(changesets): version packages (beta) (#4162)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(docs): overall dx (#4055)

* refactor(docs): revise code block (#3922)

* refactor(docs): revise code block

* chore(docs): resolve pr comments

* refactor(docs): autocomplete dx (#3934)

* feat(docs): add *.js?raw module

* feat(docs): change to react-jsx and add **/*.js

* chore(root): include js and jsx

* refactor(docs): autocomplete dx

* chore(docs): rollback overrides

* chore(autocomplete): lint

* fix(autocomplete): incorrect import path

* fix(docs): autocomplete dx

* chore(docs): remove highlightedLines

* refactor(docs): breadcrumbs dx (#3968)

* refactor(docs): breadcrumbs dx

* fix(docs): export issue

* chore(docs): use preserve for jsx

* fix(docs): support multiline import

* fix(docs): support multiple export

* chore(docs): add back export

* refactor(docs): avatar dx (#3951)

* refactor(docs): badge dx (#3960)

* refactor(docs): badge dx

* chore(docs): incorrect import path

* refactor(docs): button dx (#3981)

* refactor(docs): calendar dx (#4022)

* refactor(docs): calendar dx

* fix(docs): incorrect import path

* refactor(docs): switch dx (#4037)

* refactor(docs): switch dx

* chore(docs): remove highlightedLines

* refactor(docs): tooltip (#4035)

* refactor(docs): usage dx (#4036)

* refactor(docs): circular-progress dx (#4029)

* refactor(docs): chip-dx (#4028)

* refactor(docs): checkbox-group dx (#4027)

* refactor(docs): checkbox dx (#4024)

* refactor(docs): checkbox dx

* fix(docs): incorrect import path

* refactor(docs): card dx (#4023)

* refactor(docs): skeleton dx (#4042)

* refactor(docs): spacer dx (#4043)

* refactor(docs): snippet dx (#4044)

* refactor(docs): scroll-shadow dx (#4045)

* refactor(docs): code dx (#4046)

* refactor(docs): kbd dx (#4047)

* refactor(docs): link dx (#4048)

* refactor(docs): progress dx (#4049)

* refactor(docs): divider dx (#4050)

* refactor(docs): listbox dx (#4051)

* refactor(docs): listbox dx

* fix(docs): import path

* fix(docs): import path

* chore(docs): remove highlightedLines

* fix(docs): indentation

* chore(docs): replace the props of autocomplete from value to key (#4129)

* refactor(docs): alert dx (#4108)

* refactor(docs): alert dx

* refactor(docs): alert dx

* refactor(docs): image dx (#4061)

* refactor(docs): textarea dx (#4063)

* refactor(docs): spinner dx (#4088)

* refactor(docs): radio-group dx (#4064)

* refactor(docs): pagination dx (#4062)

* refactor(docs): pagination dx

* refactor(docs): pagination dx

* refactor(docs): time-input dx (#4065)

* refactor(docs): time-input dx

* refactor(docs): time-input dx

* refactor(docs): slider dx (#4066)

* refactor(docs): slider dx

* refactor(docs): slider dx

* refactor(docs): move SliderValue to type

* refactor(docs): slider dx

* refactor(docs): make icon code collapsible

* refactor(docs): specify versions for date packages (#4138)

* refactor(docs): specify versions for date packages

* fix(docs): correct RA i18n version

* chore(deps): sync version from package

* refactor(docs): tabs dx (#4067)

* refactor(docs): tab dx

* refactor(docs): tabs dx

* refactor(docs): input dx (#4102)

* refactor(docs): input dx

* refactor(docs): input dx

* refactor(docs): navbar dx (#4076)

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): modal dx (#4077)

* refactor(docs): modal dx

* refactor(docs): modal dx

* refactor(docs): select dx (#4078)

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): table dx (#4079)

* refactor(docs): table dx

* fix(docs): import path

* refactor(docs): table dx

* refactor(docs): table dx

* refactor(docs): popover dx (#4090)

* refactor(docs): range-calendar dx (#4089)

* refactor(docs): range-calendar dx

* fix(docs): import path

* refactor(docs): date input dx (#4100)

* refactor(docs): dropdown dx (#4101)

* refactor(docs): dropdown dx

* refactor(docs): remove highlightedLines

* refactor(docs): dropdown dx

* refactor(docs): dropdown dx

* refactor(docs): date-picker dx (#4103)

* refactor(docs): date-picker dx

* fix(docs): import paths

* refactor(docs): date-range-picker dx (#4104)

* refactor(docs): date-range-picker dx

* fix(docs): date-range-picker dx

* refactor(docs): drawer dx (#4109)

* refactor(docs): drawer dx

* fix(docs): indentation

* refactor(docs): make icon collapsible

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* Merge branch 'beta/release-next' into pr/3477

* refactor(docs): apply new structure to doc

* feat(input-otp): introduce input OTP component (#4052)

* feat(input-otp): adding the functionality

* fix(input-otp): making the use of input-otp library

* Update .changeset/spotty-flies-jump.md

* chore(input-otp): nits

* feat: improvements and fixes added

* refactor: input-otp docs improvements

* fix: changeset

* fix: build

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4169)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(theme): revise label font size for lg (#4141)

* refactor(theme): revise label font size for lg

* chore(changeset): add changeset

* refactor(theme): revise label font size for lg

* fix(docs): typecheck errors (#4171)

* fix(docs): remove duplicate import

* fix(docs): update type for onChange in range-calendar page

* fix(docs): add missing `@react-types/calendar`

* fix(docs): broken syntax

* fix(docs): typecheck issues

* fix(docs): add missing `@react-types/datepicker`

* fix(docs): typecheck issues

* fix: missing li tag when href is specified (#4168)

* fix(items): items in list should wrapped in li in case of a

* chore: adding the tests

* fix: textarea issues with the clear button

* chore: adjust clear button position

---------

Co-authored-by: doki- <1335902682@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mustafa Balcı <19329346+mstfblci@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: chirokas <157580465+chirokas@users.noreply.github.com>

* ci(changesets): version packages (beta) (#4170)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* docs: sync api from nextui-cli v0.3.5 (#4173)

Co-authored-by: GitHub Action <action@github.com>

* ci(changesets): exit pre-release mode

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mustafa Balcı <19329346+mstfblci@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: chirokas <157580465+chirokas@users.noreply.github.com>
Co-authored-by: doki- <1335902682@qq.com>
Co-authored-by: GitHub Action <action@github.com>

* fix: pre release workflow on protected branches (#4174)

* chore(pre-release): enter pre-release mode (#4175)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: input otp peer deps (#4176)

* chore: update workflows

* chore: pre release workflow modified (#4177)

* chore: canary versions (#4178)

* fix: pre-release workflow (#4179)

* chore: merged with beta branch

* chore: workflow updated

* ci(changesets): version packages

* fix: changeset get github info

* chore: force canary to release (#4180)

* Feat/canary release (#4181)

* chore: force canary to release

* feat: canary release

* ci(changesets): version packages

* ci(changesets): version packages

* fix: exit pre-release mode

* fix: exit pre-release mode

* fix: exit pre-release mode

* fix: exit pre-release mode

* fix: exit pre-release mode

* chore: exit pre release mode

* fix(workflows): release & pre-release flow (#4184)

* chore: revert exit and enter pre release changes

* chore: canary release test (#4185)

* chore: update exit and enter workflows

* chore: update workflow name

* fix: exit pre-release mode

* fix: exit pre-release mode

* chore: delete pre file

* chore: remove duplicate changesets

* chore: base branch change to canary, changeset config

* refactor: beta tags manually deleted (#4187)

* fix: install

* fix: peer deps (#4188)

* Fix/peer deps (#4189)

* fix: peer deps

* fix: tests

* fix: routes

* chore(docs): revise defaultShowFlagList (#4193)

* chore(docs): add Example to defaultShowFlagList

* chore(docs): revise defaultShowFlagList

* feat: documentation improvements (#4195)

* feat: documentation improvements

* fix: alert api

* Feat/doc improvements (#4196)

* feat: documentation improvements

* fix: alert api

* fix: copy button

* fix: return in card demo

* Fix/react core pkg (#4204)

* fix: double use client tag import in react core package

* fix: double use client

* chore: restore postbuild script

* docs: optimize code fold (#4202)

* docs: optimize code fold

* fix: code review

* fix(input): teaxtarea label squish (#4197)

* fix(input): teaxtarea label squish

* chore(changeset): add changeset for textarea label fix

* chore: remove customer runner

* chore: rename changeset

* chore: increase timeout

* chore: change get info pkg version

* chore: new changeset

* chore: single chnageset

* chore: consolidated changeset

* chore: consolidated changeset

* Update release.yaml (#4205)

* chore: consolidated changeset

* fix: forwardRef render functions not using ref (#4198)

* fix: forwardRef render functions not using ref

* fix: changelog

* fix: review

* fix: forwardRef render functions not using ref

* docs: update changeset

* feat(listbox): virtualization (#4206)

* fix: should not export list item internal variables type

* feat: changeset

* fix: type error

* fix: code block type error

* feat: virtualization feature, docs for listbox

* chore: update routes.json

* fix: fix code-demo for typecheck

* chore: rollback for files

* chore: props omitted in the component itself

* fix: menu item types

* fix: tupecheck

---------

Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(select): virtualization (#4203)

* fix: should not export list item internal variables type

* feat: changeset

* feat: integrate virtualized listbox to select component, add more props

* feat: update docs for select component

* feat: update docs to include API for virtualization

* fix: update docs to follow the newest format

* fix: update test for disable virtualization, add test for virtualized version

* fix: fix typo

* fix: type error

* fix: code block type error

* chore: update docs to use raw jsx instead of template literal

* fix: fix code-demo for typecheck

* chore: rollback for files

* fix: types

* chore: remove caret version on tanstack virtual pkg

* fix: pnpm lock file

* fix: virtualization examples

* fix: number of items

---------

Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore: adjust code colors

* fix: collection based components ref (#4207)

* chore: documentation adjustments

* Update data-slot for the error message in the select. (#4214)

* Update data-slot for the error message in the select.

All components use the `data-slot="error-message"` attribute, except for the select component. I observed this behavior when a test in my application started failing.

* refactor(select): refactors the data-slots attribute for the error message

* fix(docs): types for classNames and itemClasses (#4209)

* feat: documentation improvements

* chore: more improvements to the docs, routing updated, acccordiong font size change

* feat: forms doc in progress

* fix(touch): fixing the selection functionality on touch (#4220)

* fix(touch): fixing the selection functionality on touch

* fix: radio, checkbox & switch interactions

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(docs): remove non-existing attribute (#4221)

* fix(select): hideEmptyContent API (#4219)

* fix(select): hideEmptyContent API

* test(select): hideEmptyContent tests

* docs(select): hideEmptyContent API

* chore(select): hideEmptyContent storybook

* chore(changeset): add hideEmptyContent API to select

* refactor(select): hideEmptyContent nitpick

* test(select): hideEmptyContent UI assertions

* fix(select): hideEmptyContent default false

* docs(select): hideEmptyContent default false

* fix(pagination): cursor position when hidden on init (#4222)

* fix(pagination): cusor position when hidden on init

* test(pagination): cursor intersection observer

* chore(changeset): pagination cursor position fix

* refactor(pagination): minor nitpicks
- check for null ref in usePagination
- restore original IntersectionObserver in test

* fix: form fixes and improvements (#4224)

* chore: form in progress

* chore: main demo addded to forms, checkbox validation fixed

* chore: forms docs improved

* fix(deps): bump `@react-aria/utils` version (#4226)

* fix(deps): bump `@react-aria/utils` version

* chore(changeset): add changeset

* feat: forms doc completed

* chore: form component doc created

* chore: forms doc improved

* chore: doc improvements

* chore: alert doc improved

* feat: nextjs 15 migration in progress

* feat: nextjs 15 migration [docs] (#4228)

* feat: nextjs 15 migration in progress

* feat: next 15 downgraded to next 14

* fix: migration errors

* feat: codeblog is now rendered only when visible, this made a huge performance improvement

* fix: remove folding

* feat: v2.6.0 blog

* feat: Adding nextui pro section on the landing page (#4227)

* feat: adding nextui pro section on the landing page

* chore(nits): nits

* fix: remove pro image on mobile

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(docs): prevent scrolling up on pressing theme change switch (#4233)

* chore: improve v2.6.0 blog

* chore: small improvements

* chore: improve blog

* ci(changesets): version packages (#4186)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: snippet release (#4235)

* ci(changesets): version packages (#4236)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore: v2.6.2

* ci(changesets): version packages (#4237)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: draggable modal demo

* fix: v2.6 blog

* chore: adjust blog

* chore: release notes link updated

* fix: v2.6.0 (#4247)

* fix: v2.6.0

* chore: update framer motion version

* ci(changesets): version packages (#4248)

* fix(deps): incorrect peerDependencies for theme and system package (#4255)

* fix(deps): incorrect peerDependencies for theme and system package

* chore(changeset): add changeset

* ci(changesets): version packages (#4261)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore: adjust doc

* chore: update search meta objects

* fix: ref in form component (#4279)

* fix(dropdown): unnecessary ref in dropdown (#4278)

* fix: missing react-types package added (#4264)

* fix: missing react-types package added

* chore: react types version increased

* chore(deps): sync with upstream RA versions (#4258)

* chore(deps): sync with upstream RA versions

* chore(changeset): add changeset

* chore(form): remove caret

* chore(deps): pnpm-lock.yaml

* fix(tooltip): type 'null' is not assignable to type 'PlacementAxis'

* fix(deps): bump `@internationalized/date`

* chore(deps): sync `@react-types` versions

* fix(input): follow RAC typing in useTextField

* fix(popover): typecheck error

* fix: typecheck errors

* fix: typecheck errors

* fix(docs): bump RA versions

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (#4280)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: reverting pr4168 (#4286)

* Revert "chore: adding the tests"

This reverts commit bd28852a484fb9f6a7dd18b8fc75fe1dae6d2779.

* Revert "fix(items): items in list should wrapped in li in case of a"

This reverts commit 57fb87abb0c3775bf408aef80f0afc8fb1ca9265.

* chore: adding the changeset

* fix(input-otp): autofocus (#4296)

* fix: autofocus the input-otp when auto-focus prop is passed

* fix: adding marcus' suggestions

* fix(dropdown): correct initial animation direction to match fallback placement (#4288)

* fix(dropdown): correct initial animation direction

* chore: add changeset

* fix: typo

* refactor: button & card ripple (#4284)

* chore: update use-button.ts

* chore: update use-ripple.ts

* chore: update use-card.ts

* chore: add changeset

* fix: radio, checkbox, switch touch and selection behavior (#4311)

* fix: radio, checkbox, switch touch and selection behavior

* Update .changeset/violet-tools-refuse.md

* fix: switch toggle on tables

* ci(changesets): version packages (#4298)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore: update docs

---------

Signed-off-by: Innei <i@innei.in>
Signed-off-by: The1111mp <The1111mp@outlook.com>
Co-authored-by: ryoon <ryoon50@gmail.com>
Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: David Gonzalez <dgonzalez1992@outlook.com>
Co-authored-by: Julie Saia <76669473+juliesaia@users.noreply.github.com>
Co-authored-by: Alex Nguyen <dev@alexnguyen.co.nz>
Co-authored-by: max <hi.max@foxmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>
Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com>
Co-authored-by: Anuj Sharma <52837557+sanuj21@users.noreply.github.com>
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Jeff. <jeffreysfu@gmail.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Abhinav Agarwal <abhinavagrawal700@gmail.com>
Co-authored-by: wzc520pyfm <1528857653@qq.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Abhinandan <abhinandanverma551@gmail.com>
Co-authored-by: The1111mp <The1111mp@outlook.com>
Co-authored-by: Rakha Kanz Kautsar <rkkautsar@gmail.com>
Co-authored-by: Can Rau <cansrau@gmail.com>
Co-authored-by: Azpekt <65199167+AzpektDev@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mustafa Balcı <19329346+mstfblci@users.noreply.github.com>
Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>
Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
Co-authored-by: chirokas <157580465+chirokas@users.noreply.github.com>
Co-authored-by: doki- <1335902682@qq.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com>
Co-authored-by: Julio Barrios <juliobarmi@gmail.com>
Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com>
2024-12-10 11:01:31 -03:00
Junior Garcia f64b2c37ea chore: update docs 2024-12-10 10:59:26 -03:00
github-actions[bot] 10ea739986 ci(changesets): version packages (#4298)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2024-12-10 10:50:29 -03:00
Junior Garcia 03abf1daf4 fix: radio, checkbox, switch touch and selection behavior (#4311)
* fix: radio, checkbox, switch touch and selection behavior

* Update .changeset/violet-tools-refuse.md

* fix: switch toggle on tables
2024-12-10 10:26:09 -03:00
Tsuki dfefdd6250 refactor: button & card ripple (#4284)
* chore: update use-button.ts

* chore: update use-ripple.ts

* chore: update use-card.ts

* chore: add changeset
2024-12-10 10:25:52 -03:00
Ryo Matsukawa aa5ea19a3c fix(dropdown): correct initial animation direction to match fallback placement (#4288)
* fix(dropdown): correct initial animation direction

* chore: add changeset

* fix: typo
2024-12-10 10:07:50 -03:00
Maharshi Alpesh 1485eca48f fix(input-otp): autofocus (#4296)
* fix: autofocus the input-otp when auto-focus prop is passed

* fix: adding marcus' suggestions
2024-12-09 23:56:53 +08:00
Maharshi Alpesh 11eae5cc80 fix: reverting pr4168 (#4286)
* Revert "chore: adding the tests"

This reverts commit bd28852a484fb9f6a7dd18b8fc75fe1dae6d2779.

* Revert "fix(items): items in list should wrapped in li in case of a"

This reverts commit 57fb87abb0c3775bf408aef80f0afc8fb1ca9265.

* chore: adding the changeset
2024-12-09 22:49:07 +08:00
Junior Garcia 3d782a27de Merge branch 'canary' of github.com:nextui-org/nextui into canary 2024-12-09 08:12:01 -03:00
Junior Garcia 84dbcefe27 Merge branch 'main' of github.com:nextui-org/nextui into canary 2024-12-08 09:56:23 -03:00
Junior Garcia c949b48f0b v.2.6.5 (#4282)
* fix(input): ensure clear button is not focusable when disabled (#3774)

* fix(input): ensure clear button is not focusable when disabled

* test(input): add test to ensure clear button is not focusable when disabled

* chore: add changeset for clear button focus fix when input is disabled

* fix(input): update clear button to use button element

* test(input): add focus test when disabled

and update tests for clear button using button element

* test(input): replace querySelector with getByRole for clear button

* fix(input): set tabIndex to -1 for clear button

* test(input): ensure clear button is not focusable

* fix(image): add missing `w` to `getWrapperProps` dependency (#3802)

* fix(image): add missing `w` to `getWrapperProps` dependency

* chore(changeset): add changeset

* fix(autocomplete): popover should remain open after clicking clear button (#3788)

* fix: add state.open() so that dropdown is not closed

* chore: add changeset

* chore(autocomplete): add testcases for keeping lisbox open when clearButton is clicked

* chore: update changeset

* chore(autocomplete): change the docs for test cases

* chore(changeset): update changeset message and add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(docs): example of blurred card (#3741)

* docs(card): adding info regarding the gradient for blurred card

* chore(nit): adding example

* chore(docs): revise content for card isBlurred example

* chore(docs): revise isBlurred note

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(docs): replace twitter logo/links with x logo/links (#3815)

* fix(docs): replace Twitter logo/links with X logo/links

* docs: update twitter references to x

* docs: update changeset for twitter to x changes

* docs: update twitter references to x

* docs: update twitter references to x

* chore(docs): undo .sponsorsrc since it's generated

* refactor(docs): remove unnecessary classes

* chore(docs): undo .sponsorsrc since it's generated

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(date-picker): adding props from calendarProps to getCalendarProps (#3773)

* fix(date-picker): adding props from calendarProps to the getCalendarProps

* chore(date-picker): adding the changeset

* chore(changeset): add issue number

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* feat(autocomplete): automatically focus first non-disabled item (#2186)

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* docs(accordion): add overflow to custom motion example (#3793)

* fix(docs): typos in dark mode page (#3823)

* fix(theme): fullWidth in input and select (#3768)

* fix(input): fixing the fullWidth functionality

* chore(changeset): add issue number

* chore(changeset): revise changeset message

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(autocomplete): exit animation on popover close (#3845)

* fix(autocomplete): exit animation on popover close

* refactor(autocomplete): getListBoxProps

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(theme): replace the use of RTL-specific styles with logical properties (#3868)

* chore(rtl): remove the usages of rtl

* chore(changeset): adding the changeset

* chore(changeset): update changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(select): label placement discrepancy in Select (#3853)

* fix(select): label placement incorrect in case of multiline

* chore(select): adding the changeset

* chore(select): adding the tests

* chore(select): code imrovement, wkw's suggestions

* chore(changeset): update changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): label placement in select and input (#3869)

* fix(theme): fix the label placement

* chore(changeset): adding the changeset

* chore(select): adding comments

* fix(docs): avoid translating the code block (#3878)

* docs(Codeblock): avoid code be translated

* fix(docs): lint issue

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(listbox): change listBoxItem key to optional (#3883)

* fix(listbox): listBoxItem key to optional

* chore: add defaultSelectedKeys test for numeric keys and ids

* chore: add changeset

* chore: comment out section prompts in PR template (#3884)

* chore(test): update testing libraries and refactor (#3886)

* fix(theme): show margin only with label in Switch component (#3861)

* fix(switch): removed right margin in wrapper #3791

* feat(changeset): added changeset

* fix(switch): removed me-2 in wrapper

* fix(switch): added ms-2 to label

* chore(changeset): correct package and message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): removed pseudo cancel btn from input (#3912)

* fix(theme): removed pseudo cancel btn from input

* chore(changeset): adding the changeset

* fix(input): conditionally hiding the webkit search

* chore(changeset): revise changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(docs): dx improvement in accordion (#3856)

* refactor: improve dx for writing a docs component (#2544)

* refactor: improve dx for write a docs component

Signed-off-by: Innei <i@innei.in>

* refactor(docs): switch to contentlayer2

* chore(docs): rename to avoid conflict

* refactor(docs): switch to next-contentlayer2

* refactor(docs): revise docs lib

* chore(deps): bump docs related dependencies

* fix(use-aria-multiselect): type issue due to ts version bump

---------

Signed-off-by: Innei <i@innei.in>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(docs): accordion codes

* feat(docs): declare module `*.jsx?raw`

* feat(docs): include `**/*.jsx`

* fix(docs): incorrect content

* chore(docs): add new lines

* refactor(docs): lint

---------

Signed-off-by: Innei <i@innei.in>
Co-authored-by: Innei <tukon479@gmail.com>

* fix(docs): typos in hero section (#3928)

* fix(theme): support RTL for breadcrumbs (#3927)

* fix(breadcrumbs): added separator rotation for RTL #2486

* chore(changeset): added changeset

* fix(docs): removed unused import and merged classNames in dropdown (#3936)

* fix(breadcrumbs): added separator rotation for RTL #2486

* chore(changeset): added changeset

* fix(docs): removed unused Link import and merged classnames in dropdown

* fix: avatar filter disableAnimation to dom prop (#3946)

* feat: add git hook to auto update dependencies (#3365)

* feat: add git hook to auto update dependencies

* feat: update color

* fix: prevent test matcher warning (#3893)

* fix: prevent test matcher warning

* chore: add node types

* chore: update Jest related packages

* chore: run pnpm install

* fix(tabs): correct inert value for true condition (#3978)

* Alert component (#3982)

* feat(alert): began the work on alert component

* fix(readme): making correction

* chore(deps): change to 2.0.0

* chore(docs): update README.md

* feat(theme): init alert tv

* chore(alert): update package.json

* feat(alert): init alert storybook structure

* chore(changeset): add changeset

* chore(changeset): change to minor

* chore(alert): revise alert package.json

* feat(alert): init test structure

* chore(deps): pnpm-lock.yaml

* feat(alert): initailized theme and basic structure

* feat(alert): completed use-alert.ts and alert.tsx

* feat(alert): remove innerWrapper, replace helperWrapper with mainWrapper, adding isCloseable prop

* feat(alert): adding isCloseable prop to baseWrapper dependency

* feat(alert): setting the default value of isCloseable prop to true

* feat(alert): moving CloseIcon inside the button

* feat(alert): updated package.json

* feat(alert): default variant and default story

* feat(alert): adding color and radius stories

* feat(alert): completed the styling

* feat(alert): add stories for isCloseable prop and restyle other stories

* feat(alert): correcting ref type

* feat(alert): add test cases

* feat(alert): remove startContent and endContent props

* feat(alert): make styling more accurate

* feat(alert): fixed default props

* feat(alert): fixed theme docs

* feat(alert): add logic for icons

* feat(alert): begin to add docs

* chore(alert): implement the changes suggested in code review

* feat(alert): add onclose prop to alert

* feat(alert): add test cases

* docs(alert): add onClose  event

* feat(docs): add alert to routes.json

* fix(alert): correct the text colors

* docs(alert): fix imports and syntax errors

* chore(alert): implement the changes suggested in code review

* chore(alert): lint the code and change isCloseable to isClosable

* chore(alert): lint the code

* chore(alert): run pnpm  i

* fix(alert): fix the logic for close button and add test case

* docs(alert): fix docs, change isCloseable to isClosable and change docs for isClosable property

* chore(alert): add the support for RTL, refactor the code and fix the typos

* docs(alert): grammer issues fix

* fix(alert): replace rtl with ms

* chore(alert): custom style and custom implementation, remove isClosable={false}, refactor, fix typos

* chore(alert): linting and implement coderabbit suggestions

* chore(alert): refactor and typos fix

* chore(alert): add import for closeIcon

* chore(alert): add props for closeIcon

* chore(alert): refactor fixes

* chore(alert): implement ryo-manba's suggestion on close Icon

* chore(alert): make alert more responsive

* chore(alert): fix grammer issues suggested by coderabbit

* fix(alert): add max-w property to make alert responsive

* chore(alert): improve responsiveness  and refactor alertIcon

* chore(alert): add missing dependency to useMemo

* chore(alert): implement coderabbit's suggestions

* chore(alert): update docs and refactor

* chore(alert): refactor alertIcon and implement coderabbit's suggestion

* chore: fixes

---------

Co-authored-by: Abhinav Agarwal <abhinavagrawal700@gmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>

* Feat/add draggable modal (#3983)

* feat(hooks): add use-draggable hook

* feat(components): [modal] export use-draggable

* docs(components): [modal] add draggable modal

* feat(components): [modal] add ref prop for modal-header

* chore(components): [modal] add draggable modal for storybook

* chore: add changeset for draggable modal

* docs(hooks): [use-draggable] fix typo

* chore: upper changeset

* chore(components): [modal] add overflow draggable modal to sb

* test(components): [modal] add draggable modal tests

* build: update pnpm-lock

* chore(changeset): include issue number

* feat(hooks): [use-draggable] set user-select to none when during the dragging

* docs(components): [modal] update code demo title

* docs(components): [modal] condense description for draggable overflow

* feat(hooks): [use-draggable] change version to 0.1.0

* refactor(hooks): [use-draggable] use use-move implement use-draggable

* feat(hooks): [use-draggable] remove repeated user-select

* test(components): [modal] update test case to use-draggable base use-move

* docs(components): [modal] update draggable examples

* fix(hooks): [use-draggable] fix mobile device touchmove event conflict

* refactor(hooks): [use-draggable] remove drag ref prop

* refactor(hooks): [use-draggable] draggable2is-disabled overflow2can-overflow

* test(components): [modal] add draggble disable test

* chore(hooks): [use-draggable] add commant for body touchmove

* Update packages/hooks/use-draggable/src/index.ts

Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* fix(hooks): [use-draggable] import use-callback

* test(components): [modal] add mobile-sized test for draggable

* chore(hooks): [use-draggable] add use-callback for func

* chore(hooks): [use-draggable] update version to 2.0.0

* chore: fix typo

* Update .changeset/soft-apricots-sleep.md

* fix: pnpm lock

* fix: build

* chore: add updated moadl

---------

Co-authored-by: wzc520pyfm <1528857653@qq.com>
Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* chore: upgrade react-aria / React 19 & Next.js 15 support (#3732)

* chore: upgrade react-aria

* chore: add changeset

* chore: fix type error

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(date-picker): add selectorButtonPlacement property (#3248)

* feat(date-picker): add selectorButtonPlacement property

* chore: update changeset

* Update .changeset/neat-donkeys-accept.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat: add tab ref (#3974)

* feat: add tab ref

* feat: add changeset

* feat: pre-release workflow (#2910)

* feat(workflow): pre-release

* feat(workflow): exit pre-release

* chore(workflow): update version & publish commands

* fix(workflow): add missing attributes and use schangeset:beta cmd

* feat(root): add changeset:beta

* fix(workflows): revise pre-release logic

* fix(workflows): add missing run

* fix(workflows): use changeset:exit with version instead

* feat(root): add changeset:exit cmd

* refactor(workflows): add pths, id, and format

* feat(workflows): enter pre-release mode

* chore(workflows): remove pre.json only

* refactor(workflows): remove enter-pre-release-mode

* fix(workflows): incorrect url

* refactor(root): remove unused exit command

* refactor(workflows): add comments

* feat(changeset): change to main branch as baseBranch

* feat(root): add changeset:canary

* refactor(workflows): remove unused workflow

* feat(workflow): support canary pre-release mode

* refactor(docs): change to canary

* feat(popover): added control for closing popover on scroll (#3595)

* fix(navbar): fixed the height when style h-full

* fix(navbar): fixed the height when style h-full

* docs(changeset): resolved extra file

* feat(popover): added control for closing popover on scroll

* update(changeset):  correction

* feat(popover): removed extra story

* refactor(test): corrected test for both true and false values of shouldCloseOnScroll

* refactor(docs): added shouldCloseOnScroll prop

* chore(changeset): change to minor

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>

* feat: add month and year pickers to DateRangePicker and RangeCalendar (#3302)

* feat: add month and year pickers to DateRangePicker and RangeCalendar

* chore: update docs

* Update .changeset/kind-cobras-travel.md

* chore: react package version

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(deps): bump tailwind-merge version (#3657)

* chore(deps): bump tailwind-merge versions

* chore(theme): adopt latest extendTailwindMerge

* chore(changeset): add changeset

* chore(changeset): change to minor

* Update .changeset/grumpy-mayflies-rhyme.md

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat: added drawer component (#3986)

Signed-off-by: The1111mp <The1111mp@outlook.com>
Co-authored-by: The1111mp <The1111mp@outlook.com>

* refactor: optimisations (#3523)

* refactor: replace lodash with native approaches

* refactor(deps): update framer-motion versions

* feat(utilities): add @nextui-org/dom-animation

* refactor(components): load domAnimation dynamically

* refactor(deps): add @nextui-org/dom-animation

* fix(utilities): relocate index.ts

* feat(changeset): framer motion optimization

* chore(deps): bump framer-motion version

* fix(docs): conflict issue

* refactor(hooks): remove the unnecessary this aliasing

* refactor(utilities): remove the unnecessary this aliasing

* chore(docs): remove {} so that it won't be true all the time

* chore(dom-animation): end with new line

* refactor(hooks): use debounce from `@nextui-org/shared-utils`

* chore(deps): add `@nextui-org/shared-utils`

* refactor: move mapKeys logic to `@nextui-org/shared-utils`

* refactor: use `get` from `@nextui-org/shared-utils`

* refactor(docs): use `get` from `@nextui-org/shared-utils`

* refactor(shared-utils): mapKeys

* chore(deps): bump framer-motion version

* chore(deps): remove lodash

* refactor(docs): use intersectionBy from shared-utils

* feat(shared-utils): add intersectionBy

* chore(dom-animation): remove extra blank line

* refactor(shared-utils): revise intersectionBy

* fix(modal): add willChange

* refactor(shared-utils): add comments

* fix: build & tests

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(hooks): use-theme hook (#3169)

* feat(docs): update dark mode content

* feat(hooks): @nextui-org/use-theme

* chore(docs): revise ThemeSwitcher code

* refactor(hooks): simplify useTheme and support custom theme names

* feat(hooks): add use-theme test cases

* feat(changeset): add changeset

* refactor(hooks): make localStorageMock globally and clear before each test

* fix(docs): typo

* fix(hooks): coderabbitai comments

* chore(hooks): remove unnecessary +

* chore(changeset): change to minor

* feat(hooks): handle system theme

* chore(hooks): add EOL

* refactor(hooks): add default theme

* refactor(hooks): revise useTheme

* refactor(hooks): resolve pr comments

* refactor(hooks): resolve pr comments

* refactor(hooks): resolve pr comments

* refactor(hooks): remove unused theme in dependency array

* chore(docs): typos

* refactor(hooks): mark system as key for system theme

* chore: merged with canary

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* Fix/avatar flashing (#3987)

* fix(use-image): cached image flashing

* chore: merged with canary

---------

Co-authored-by: Rakha Kanz Kautsar <rkkautsar@gmail.com>

* refactor(menu): Use `useMenu` and `useMenuItem` from RA (#3261)

* refactor(menu): use useMenu from react-aria instead

* refactor(menu): use useMenuItem from react-aria instead

* feat(changeset): add changeset

* chore: merged with canary

* fix: dropdown tests

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(theme): added stripe color gradients for progress (#3938)

* fix(breadcrumbs): added separator rotation for RTL #2486

* chore(changeset): added changeset

* fix(docs): removed unused Link import and merged classnames in dropdown

* fix(theme):added stripe color gradients for progress #1933

* refactor(theme): added stripe-size and createStripeGradient

* chore: add all minor releases

* fix(docs): invalid canary storybook link (#4030)

* fix(use-image): image ReferenceError in SSR (#4122)

* fix(use-image): image ReferenceError in SSR

* fix(use-image): sync with beta

* fix(use-image): sync with beta

* chore(use-image): remove unnecessary comments

* fix(docs): buildLocation expects an object  (#4118)

* fix(docs): routing.mdx

* Delete .changeset/pre.json

* chore(docs): update yarn installation command (#4132)

There is no `-g` flag in yarn. `global` is a command which must immediately follow yarn. 

Source: https://classic.yarnpkg.com/lang/en/docs/cli/global/

* chore: upgrade storybook 8 (#4124)

* feat: upgrade storybook8

* chore: upgrade storybook and vite

* chore: remove @mdx-js/react optimizeDep

* chore: add @mdx-js/react optimizeDep

* fix: format

* docs: add forms guide (#3822)

* v2.5.0 [BETA] (#4164)

* chore(pre-release): enter pre-release mode

* fix(theme): apply tw nested group (#3909)

* chore(changset): add changeset

* fix(theme): apply nested group to table

* chore(docs): update table bottomContent code

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: pkg versions

* fix: changeset

* fix: drawer peer dep

* chore: update plop components tempalte

* ci(changesets): version packages (beta) (#3988)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: pre-release workflow

* chore: debug log added

* chore: force pre-release

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* chore: beta1 (#3990)

* ci(changesets): version packages (beta) (#3991)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(use-image): image ReferenceError in SSR (#3993)

* fix(input): fixed a sliding issue caused by the helper wrapper (#3966)

* If it is false and there is an error message or description it will create a div

* Update packages/components/input/src/input.tsx

* Update packages/components/select/src/select.tsx

* Update packages/components/input/src/textarea.tsx

* add changeset

* changeset update

* ci(changesets): version packages (beta) (#3995)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image loading in the server (#3996)

* fix: lock file

* chore: force release

* chore: force release 2

* ci(changesets): version packages (beta) (#3997)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image load on next.js (#3998)

* ci(changesets): version packages (beta) (#3999)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: element.ref was removed in React 19 warning (#4003)

* ci(changesets): version packages (beta) (#4004)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: react 19 as peer dep (#4008)

* ci(changesets): version packages (beta) (#4009)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Beta/react 19 support (#4010)

* fix: react 19 as peer dep

* fix: react 19 as peer dep

* chore: support framer-motion alpha version

* ci(changesets): version packages (beta) (#4011)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(theme): making select and input themes consistent (#3881)

* ci(changesets): version packages (beta) (#4012)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: support inert value with boolean type for react 19 (#4039)

* ci(changesets): version packages (beta) (#4041)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert design improved (#4054)

* ci(changesets): version packages (beta) (#4056)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: drawer improvements (#4057)

* ci(changesets): version packages (beta) (#4058)

* feat: alert styles improved (#4071)

* ci(changesets): version packages (beta) (#4072)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert styles improved (#4073)

* ci(changesets): version packages (beta) (#4074)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: add number of stars and credits

* chore: fix build

* chore: improve navabr colors

* chore: new changeset (#4083)

* ci(changesets): version packages (beta) (#4084)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: pnpm cleaned (#4086)

* ci(changesets): version packages (beta) (#4087)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: custom runnner added

* chore: custom runner test (#4091)

* Beta/custom runner (#4092)

* chore: custom runner test

* chore: custom runner test

* chore: remove 2 from older changeset

* ci(changesets): version packages (beta) (#4093)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: new demo added to alert

* Feat/virtualization for autocomplete (#4094)

* feat: add react-window virtualization for autocomplete

* fix: wrong imports and wrong sizing

* fix: update pnpm lock

* chore: add test cases for large dataset (1000 and 10000 items)

* chore: move virtualized-listbox to listbox components folder, implement isVirtualized conditional

* feat: implement dynamic listboxheight n item height, add story

* chore: rename props, remove unnecessary line changes

* fix: maxHeight style 256px for default, conditional usage of virtualizer

* feat: migrate to tan-stack virtual. (todo: fix scroll shadow)

* feat: virtualization support

---------

Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>

* ci(changesets): version packages (beta) (#4095)

* feat: small fixes

* feat: add reducedMotion setting to Provider (#3470)

* feat: add reducedMotion setting to Provider

* chore: refactor reducedMotion story

* Update .changeset/pretty-parrots-guess.md

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4106)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: move circular-progress tv to progress (#3321)

* fix: remove circular-progress tv to progress

* docs: changeset

* chore(changeset): update changeset message

* Update .changeset/angry-maps-serve.md

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: label placement when the select has a placeholder or description (#4126)

* ci(changesets): version packages (beta) (#4107)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): add missing `framer-motion` in `peerDependencies` (#4140)

* fix(theme): add truncate class to the list item to avoid overflow the wrapper (#4105)

* fix(docs): invalid canary storybook link (#4030)

* fix: menu item hidden overflow text

* feat: changeset

* Merge branch 'beta/release-next' into fix/menu-item-hidden

* fix: truncate list item

* feat: update changeset

* fix(menu): omit internal props

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(table): add isKeyboardNavigationDisabled prop to the table (#3735)

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>

* feat: add form component (#3036)

* chore: add support validationBehavior aria

* chore: add validationBehavior to Provider

* chore: add autocomplete validation test

* chore: add checkbox validation test

* fix(input): require condition

* docs: add description of validationBehavior props

* chore: add support validationBehavior props for date components

* docs(dates): add description of validationBehavior props

* chore: add changeset

* chore: format

* chore: fix test

* fix: select validationBehavior is not support yet

* fix: select validationBehavior not supported yet

* feat: add form component with input support

* feat: add support form context

* chore: wip add support for  form server errors

* chore: add support checkbox server validation

* chore: add support radio server validation

* chore: update pnpm-lock.yaml

* chore: add support input server validation

* chore: add support autocomplete server validation

* chore(form): add server validation stories

* chore: fix test

* chore: add date-picker validation test

* chore: update form stories

* chore: add changeset

* chore: update react-aria version

* chore: add pnpm-lock.yaml

* chore: update react-aria version

* chore: add comment

* chore: update react-aria version

* chore: fix change set

* chore: export form component in the main package

* chore: upgrade react-aria

* chore: fixed internationalized/date version

* fix: build error

* chore: upgrade docs react-aria version

* fix: remove comment

* fix: debug setting

* chore(docs): update sponsor (#3904)

* chore(docs): remove Scrumbuiss

* chore(docs): remove Scrumbuiss logo

* chore(docs): replace va by posthog (#4123)

* chore(changeset): change to patch

* refactor: react-aria-components remove to decrease package size, logic moved to the form package

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* docs: add forms guide (#4155)

Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* chore: routes updated

* ci(changesets): version packages (beta) (#4151)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: fix indentation

* fix(changeset): package not be found

* ci(changesets): version packages (beta) (#4158)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(select): controlled isInvalid prop (#4082)

* fix(select): controlled isInvalid prop

* chore: add changeset

* Merge branch 'beta/release-next' into pr/4082

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* ci(changesets): version packages (beta) (#4159)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(changeset): bump all versions

* ci(changesets): version packages (beta) (#4160)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): missing peer / dev dependency for framer-motion (#4161)

* fix(system): align `navigate` function parameters with `@react-aria` (#4163)

* fix: menu item classNames not work (#4156)

* fix: menu item classNames not work

* feat: changeset

* docs: update

* feat: merge classes utility added

* Update .changeset/brave-trains-wave.md

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(docs): remove incorrect info

* ci(changesets): version packages (beta) (#4162)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(docs): overall dx (#4055)

* refactor(docs): revise code block (#3922)

* refactor(docs): revise code block

* chore(docs): resolve pr comments

* refactor(docs): autocomplete dx (#3934)

* feat(docs): add *.js?raw module

* feat(docs): change to react-jsx and add **/*.js

* chore(root): include js and jsx

* refactor(docs): autocomplete dx

* chore(docs): rollback overrides

* chore(autocomplete): lint

* fix(autocomplete): incorrect import path

* fix(docs): autocomplete dx

* chore(docs): remove highlightedLines

* refactor(docs): breadcrumbs dx (#3968)

* refactor(docs): breadcrumbs dx

* fix(docs): export issue

* chore(docs): use preserve for jsx

* fix(docs): support multiline import

* fix(docs): support multiple export

* chore(docs): add back export

* refactor(docs): avatar dx (#3951)

* refactor(docs): badge dx (#3960)

* refactor(docs): badge dx

* chore(docs): incorrect import path

* refactor(docs): button dx (#3981)

* refactor(docs): calendar dx (#4022)

* refactor(docs): calendar dx

* fix(docs): incorrect import path

* refactor(docs): switch dx (#4037)

* refactor(docs): switch dx

* chore(docs): remove highlightedLines

* refactor(docs): tooltip (#4035)

* refactor(docs): usage dx (#4036)

* refactor(docs): circular-progress dx (#4029)

* refactor(docs): chip-dx (#4028)

* refactor(docs): checkbox-group dx (#4027)

* refactor(docs): checkbox dx (#4024)

* refactor(docs): checkbox dx

* fix(docs): incorrect import path

* refactor(docs): card dx (#4023)

* refactor(docs): skeleton dx (#4042)

* refactor(docs): spacer dx (#4043)

* refactor(docs): snippet dx (#4044)

* refactor(docs): scroll-shadow dx (#4045)

* refactor(docs): code dx (#4046)

* refactor(docs): kbd dx (#4047)

* refactor(docs): link dx (#4048)

* refactor(docs): progress dx (#4049)

* refactor(docs): divider dx (#4050)

* refactor(docs): listbox dx (#4051)

* refactor(docs): listbox dx

* fix(docs): import path

* fix(docs): import path

* chore(docs): remove highlightedLines

* fix(docs): indentation

* chore(docs): replace the props of autocomplete from value to key (#4129)

* refactor(docs): alert dx (#4108)

* refactor(docs): alert dx

* refactor(docs): alert dx

* refactor(docs): image dx (#4061)

* refactor(docs): textarea dx (#4063)

* refactor(docs): spinner dx (#4088)

* refactor(docs): radio-group dx (#4064)

* refactor(docs): pagination dx (#4062)

* refactor(docs): pagination dx

* refactor(docs): pagination dx

* refactor(docs): time-input dx (#4065)

* refactor(docs): time-input dx

* refactor(docs): time-input dx

* refactor(docs): slider dx (#4066)

* refactor(docs): slider dx

* refactor(docs): slider dx

* refactor(docs): move SliderValue to type

* refactor(docs): slider dx

* refactor(docs): make icon code collapsible

* refactor(docs): specify versions for date packages (#4138)

* refactor(docs): specify versions for date packages

* fix(docs): correct RA i18n version

* chore(deps): sync version from package

* refactor(docs): tabs dx (#4067)

* refactor(docs): tab dx

* refactor(docs): tabs dx

* refactor(docs): input dx (#4102)

* refactor(docs): input dx

* refactor(docs): input dx

* refactor(docs): navbar dx (#4076)

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): modal dx (#4077)

* refactor(docs): modal dx

* refactor(docs): modal dx

* refactor(docs): select dx (#4078)

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): table dx (#4079)

* refactor(docs): table dx

* fix(docs): import path

* refactor(docs): table dx

* refactor(docs): table dx

* refactor(docs): popover dx (#4090)

* refactor(docs): range-calendar dx (#4089)

* refactor(docs): range-calendar dx

* fix(docs): import path

* refactor(docs): date input dx (#4100)

* refactor(docs): dropdown dx (#4101)

* refactor(docs): dropdown dx

* refactor(docs): remove highlightedLines

* refactor(docs): dropdown dx

* refactor(docs): dropdown dx

* refactor(docs): date-picker dx (#4103)

* refactor(docs): date-picker dx

* fix(docs): import paths

* refactor(docs): date-range-picker dx (#4104)

* refactor(docs): date-range-picker dx

* fix(docs): date-range-picker dx

* refactor(docs): drawer dx (#4109)

* refactor(docs): drawer dx

* fix(docs): indentation

* refactor(docs): make icon collapsible

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* feat(input-otp): introduce input OTP component (#4052)

* feat(input-otp): adding the functionality

* fix(input-otp): making the use of input-otp library

* Update .changeset/spotty-flies-jump.md

* chore(input-otp): nits

* feat: improvements and fixes added

* refactor: input-otp docs improvements

* fix: changeset

* fix: build

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4169)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(theme): revise label font size for lg (#4141)

* refactor(theme): revise label font size for lg

* chore(changeset): add changeset

* refactor(theme): revise label font size for lg

* fix(docs): typecheck errors (#4171)

* fix(docs): remove duplicate import

* fix(docs): update type for onChange in range-calendar page

* fix(docs): add missing `@react-types/calendar`

* fix(docs): broken syntax

* fix(docs): typecheck issues

* fix(docs): add missing `@react-types/datepicker`

* fix(docs): typecheck issues

* fix: missing li tag when href is specified (#4168)

* fix(items): items in list should wrapped in li in case of a

* chore: adding the tests

* Feat/textarea add clear button (#4172)

* feat(components): add clear button to the textarea component

* docs(textarea): add test and changeset

* feat(textarea): modify the changeset file

* feat(textarea): add clear button to textarea

* feat(textarea): add isClearable prop to textarea

* docs(textarea): add documentation to textarea

* docs(textarea): add documentation to textarea

* feat(textarea): replace the textarea component clear icon and modify its location

* feat(textarea): revise the clear button position

* feat(textarea): revise the clear button structure

* feat(textarea): revise the styles of clear button and textarea

* feat(textarea): revise the styles of RTL case

* feat(textarea): change the rtl to pe

* feat(textarea): delete the px classname

* chore(changeset): update package and message

* test(textarea): add test case

* feat(textarea): change the clear button structure

* feat(textarea): optimized code

* chore(textarea): update the changeset file

* docs(textarea): add slots doc to textarea

* chore(textarea): update peerDevpeerDependencies version

* chore(textarea): add usecallback dep

* Update .changeset/five-adults-protect.md

* chore(pre-release): enter pre-release mode

* feat(textarea): modify the clear button icon

* fix(theme): apply tw nested group (#3909)

* chore(changset): add changeset

* fix(theme): apply nested group to table

* chore(docs): update table bottomContent code

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: changeset

* fix: pkg versions

* fix: changeset

* fix: drawer peer dep

* chore: update plop components tempalte

* ci(changesets): version packages (beta) (#3988)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: pre-release workflow

* chore: debug log added

* chore: force pre-release

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* chore: beta1 (#3990)

* ci(changesets): version packages (beta) (#3991)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(use-image): image ReferenceError in SSR (#3993)

* fix(input): fixed a sliding issue caused by the helper wrapper (#3966)

* If it is false and there is an error message or description it will create a div

* Update packages/components/input/src/input.tsx

* Update packages/components/select/src/select.tsx

* Update packages/components/input/src/textarea.tsx

* add changeset

* changeset update

* ci(changesets): version packages (beta) (#3995)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image loading in the server (#3996)

* fix: lock file

* chore: force release

* chore: force release 2

* ci(changesets): version packages (beta) (#3997)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: image load on next.js (#3998)

* ci(changesets): version packages (beta) (#3999)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: element.ref was removed in React 19 warning (#4003)

* ci(changesets): version packages (beta) (#4004)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: react 19 as peer dep (#4008)

* ci(changesets): version packages (beta) (#4009)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Beta/react 19 support (#4010)

* fix: react 19 as peer dep

* fix: react 19 as peer dep

* chore: support framer-motion alpha version

* ci(changesets): version packages (beta) (#4011)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(theme): making select and input themes consistent (#3881)

* ci(changesets): version packages (beta) (#4012)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(textarea): fix clearButton display

* fix: support inert value with boolean type for react 19 (#4039)

* ci(changesets): version packages (beta) (#4041)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert design improved (#4054)

* ci(changesets): version packages (beta) (#4056)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: drawer improvements (#4057)

* ci(changesets): version packages (beta) (#4058)

* feat: alert styles improved (#4071)

* ci(changesets): version packages (beta) (#4072)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: alert styles improved (#4073)

* ci(changesets): version packages (beta) (#4074)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: add number of stars and credits

* chore: fix build

* chore: improve navabr colors

* chore: new changeset (#4083)

* ci(changesets): version packages (beta) (#4084)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: pnpm cleaned (#4086)

* ci(changesets): version packages (beta) (#4087)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: custom runnner added

* chore: custom runner test (#4091)

* Beta/custom runner (#4092)

* chore: custom runner test

* chore: custom runner test

* chore: remove 2 from older changeset

* ci(changesets): version packages (beta) (#4093)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: new demo added to alert

* Feat/virtualization for autocomplete (#4094)

* feat: add react-window virtualization for autocomplete

* fix: wrong imports and wrong sizing

* fix: update pnpm lock

* chore: add test cases for large dataset (1000 and 10000 items)

* chore: move virtualized-listbox to listbox components folder, implement isVirtualized conditional

* feat: implement dynamic listboxheight n item height, add story

* chore: rename props, remove unnecessary line changes

* fix: maxHeight style 256px for default, conditional usage of virtualizer

* feat: migrate to tan-stack virtual. (todo: fix scroll shadow)

* feat: virtualization support

---------

Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>

* ci(changesets): version packages (beta) (#4095)

* feat: small fixes

* feat: add reducedMotion setting to Provider (#3470)

* feat: add reducedMotion setting to Provider

* chore: refactor reducedMotion story

* Update .changeset/pretty-parrots-guess.md

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4106)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: move circular-progress tv to progress (#3321)

* fix: remove circular-progress tv to progress

* docs: changeset

* chore(changeset): update changeset message

* Update .changeset/angry-maps-serve.md

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: label placement when the select has a placeholder or description (#4126)

* ci(changesets): version packages (beta) (#4107)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): add missing `framer-motion` in `peerDependencies` (#4140)

* fix(theme): add truncate class to the list item to avoid overflow the wrapper (#4105)

* fix(docs): invalid canary storybook link (#4030)

* fix: menu item hidden overflow text

* feat: changeset

* Merge branch 'beta/release-next' into fix/menu-item-hidden

* fix: truncate list item

* feat: update changeset

* fix(menu): omit internal props

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* Update apps/docs/content/docs/components/textarea.mdx

* feat(table): add isKeyboardNavigationDisabled prop to the table (#3735)

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>

* feat: add form component (#3036)

* chore: add support validationBehavior aria

* chore: add validationBehavior to Provider

* chore: add autocomplete validation test

* chore: add checkbox validation test

* fix(input): require condition

* docs: add description of validationBehavior props

* chore: add support validationBehavior props for date components

* docs(dates): add description of validationBehavior props

* chore: add changeset

* chore: format

* chore: fix test

* fix: select validationBehavior is not support yet

* fix: select validationBehavior not supported yet

* feat: add form component with input support

* feat: add support form context

* chore: wip add support for  form server errors

* chore: add support checkbox server validation

* chore: add support radio server validation

* chore: update pnpm-lock.yaml

* chore: add support input server validation

* chore: add support autocomplete server validation

* chore(form): add server validation stories

* chore: fix test

* chore: add date-picker validation test

* chore: update form stories

* chore: add changeset

* chore: update react-aria version

* chore: add pnpm-lock.yaml

* chore: update react-aria version

* chore: add comment

* chore: update react-aria version

* chore: fix change set

* chore: export form component in the main package

* chore: upgrade react-aria

* chore: fixed internationalized/date version

* fix: build error

* chore: upgrade docs react-aria version

* fix: remove comment

* fix: debug setting

* chore(docs): update sponsor (#3904)

* chore(docs): remove Scrumbuiss

* chore(docs): remove Scrumbuiss logo

* chore(docs): replace va by posthog (#4123)

* chore(changeset): change to patch

* refactor: react-aria-components remove to decrease package size, logic moved to the form package

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* docs: add forms guide (#4155)

Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* chore: routes updated

* ci(changesets): version packages (beta) (#4151)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: fix indentation

* fix(changeset): package not be found

* ci(changesets): version packages (beta) (#4158)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(select): controlled isInvalid prop (#4082)

* fix(select): controlled isInvalid prop

* chore: add changeset

* Merge branch 'beta/release-next' into pr/4082

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* ci(changesets): version packages (beta) (#4159)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(changeset): bump all versions

* ci(changesets): version packages (beta) (#4160)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(deps): missing peer / dev dependency for framer-motion (#4161)

* fix(system): align `navigate` function parameters with `@react-aria` (#4163)

* fix: menu item classNames not work (#4156)

* fix: menu item classNames not work

* feat: changeset

* docs: update

* feat: merge classes utility added

* Update .changeset/brave-trains-wave.md

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(docs): remove incorrect info

* ci(changesets): version packages (beta) (#4162)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(docs): overall dx (#4055)

* refactor(docs): revise code block (#3922)

* refactor(docs): revise code block

* chore(docs): resolve pr comments

* refactor(docs): autocomplete dx (#3934)

* feat(docs): add *.js?raw module

* feat(docs): change to react-jsx and add **/*.js

* chore(root): include js and jsx

* refactor(docs): autocomplete dx

* chore(docs): rollback overrides

* chore(autocomplete): lint

* fix(autocomplete): incorrect import path

* fix(docs): autocomplete dx

* chore(docs): remove highlightedLines

* refactor(docs): breadcrumbs dx (#3968)

* refactor(docs): breadcrumbs dx

* fix(docs): export issue

* chore(docs): use preserve for jsx

* fix(docs): support multiline import

* fix(docs): support multiple export

* chore(docs): add back export

* refactor(docs): avatar dx (#3951)

* refactor(docs): badge dx (#3960)

* refactor(docs): badge dx

* chore(docs): incorrect import path

* refactor(docs): button dx (#3981)

* refactor(docs): calendar dx (#4022)

* refactor(docs): calendar dx

* fix(docs): incorrect import path

* refactor(docs): switch dx (#4037)

* refactor(docs): switch dx

* chore(docs): remove highlightedLines

* refactor(docs): tooltip (#4035)

* refactor(docs): usage dx (#4036)

* refactor(docs): circular-progress dx (#4029)

* refactor(docs): chip-dx (#4028)

* refactor(docs): checkbox-group dx (#4027)

* refactor(docs): checkbox dx (#4024)

* refactor(docs): checkbox dx

* fix(docs): incorrect import path

* refactor(docs): card dx (#4023)

* refactor(docs): skeleton dx (#4042)

* refactor(docs): spacer dx (#4043)

* refactor(docs): snippet dx (#4044)

* refactor(docs): scroll-shadow dx (#4045)

* refactor(docs): code dx (#4046)

* refactor(docs): kbd dx (#4047)

* refactor(docs): link dx (#4048)

* refactor(docs): progress dx (#4049)

* refactor(docs): divider dx (#4050)

* refactor(docs): listbox dx (#4051)

* refactor(docs): listbox dx

* fix(docs): import path

* fix(docs): import path

* chore(docs): remove highlightedLines

* fix(docs): indentation

* chore(docs): replace the props of autocomplete from value to key (#4129)

* refactor(docs): alert dx (#4108)

* refactor(docs): alert dx

* refactor(docs): alert dx

* refactor(docs): image dx (#4061)

* refactor(docs): textarea dx (#4063)

* refactor(docs): spinner dx (#4088)

* refactor(docs): radio-group dx (#4064)

* refactor(docs): pagination dx (#4062)

* refactor(docs): pagination dx

* refactor(docs): pagination dx

* refactor(docs): time-input dx (#4065)

* refactor(docs): time-input dx

* refactor(docs): time-input dx

* refactor(docs): slider dx (#4066)

* refactor(docs): slider dx

* refactor(docs): slider dx

* refactor(docs): move SliderValue to type

* refactor(docs): slider dx

* refactor(docs): make icon code collapsible

* refactor(docs): specify versions for date packages (#4138)

* refactor(docs): specify versions for date packages

* fix(docs): correct RA i18n version

* chore(deps): sync version from package

* refactor(docs): tabs dx (#4067)

* refactor(docs): tab dx

* refactor(docs): tabs dx

* refactor(docs): input dx (#4102)

* refactor(docs): input dx

* refactor(docs): input dx

* refactor(docs): navbar dx (#4076)

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): navbar dx

* refactor(docs): modal dx (#4077)

* refactor(docs): modal dx

* refactor(docs): modal dx

* refactor(docs): select dx (#4078)

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): select dx

* refactor(docs): table dx (#4079)

* refactor(docs): table dx

* fix(docs): import path

* refactor(docs): table dx

* refactor(docs): table dx

* refactor(docs): popover dx (#4090)

* refactor(docs): range-calendar dx (#4089)

* refactor(docs): range-calendar dx

* fix(docs): import path

* refactor(docs): date input dx (#4100)

* refactor(docs): dropdown dx (#4101)

* refactor(docs): dropdown dx

* refactor(docs): remove highlightedLines

* refactor(docs): dropdown dx

* refactor(docs): dropdown dx

* refactor(docs): date-picker dx (#4103)

* refactor(docs): date-picker dx

* fix(docs): import paths

* refactor(docs): date-range-picker dx (#4104)

* refactor(docs): date-range-picker dx

* fix(docs): date-range-picker dx

* refactor(docs): drawer dx (#4109)

* refactor(docs): drawer dx

* fix(docs): indentation

* refactor(docs): make icon collapsible

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* Merge branch 'beta/release-next' into pr/3477

* refactor(docs): apply new structure to doc

* feat(input-otp): introduce input OTP component (#4052)

* feat(input-otp): adding the functionality

* fix(input-otp): making the use of input-otp library

* Update .changeset/spotty-flies-jump.md

* chore(input-otp): nits

* feat: improvements and fixes added

* refactor: input-otp docs improvements

* fix: changeset

* fix: build

---------

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (beta) (#4169)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* refactor(theme): revise label font size for lg (#4141)

* refactor(theme): revise label font size for lg

* chore(changeset): add changeset

* refactor(theme): revise label font size for lg

* fix(docs): typecheck errors (#4171)

* fix(docs): remove duplicate import

* fix(docs): update type for onChange in range-calendar page

* fix(docs): add missing `@react-types/calendar`

* fix(docs): broken syntax

* fix(docs): typecheck issues

* fix(docs): add missing `@react-types/datepicker`

* fix(docs): typecheck issues

* fix: missing li tag when href is specified (#4168)

* fix(items): items in list should wrapped in li in case of a

* chore: adding the tests

* fix: textarea issues with the clear button

* chore: adjust clear button position

---------

Co-authored-by: doki- <1335902682@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mustafa Balcı <19329346+mstfblci@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: chirokas <157580465+chirokas@users.noreply.github.com>

* ci(changesets): version packages (beta) (#4170)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* docs: sync api from nextui-cli v0.3.5 (#4173)

Co-authored-by: GitHub Action <action@github.com>

* ci(changesets): exit pre-release mode

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mustafa Balcı <19329346+mstfblci@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: chirokas <157580465+chirokas@users.noreply.github.com>
Co-authored-by: doki- <1335902682@qq.com>
Co-authored-by: GitHub Action <action@github.com>

* fix: pre release workflow on protected branches (#4174)

* chore(pre-release): enter pre-release mode (#4175)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: input otp peer deps (#4176)

* chore: update workflows

* chore: pre release workflow modified (#4177)

* chore: canary versions (#4178)

* fix: pre-release workflow (#4179)

* chore: merged with beta branch

* chore: workflow updated

* ci(changesets): version packages

* fix: changeset get github info

* chore: force canary to release (#4180)

* Feat/canary release (#4181)

* chore: force canary to release

* feat: canary release

* ci(changesets): version packages

* ci(changesets): version packages

* fix: exit pre-release mode

* fix: exit pre-release mode

* fix: exit pre-release mode

* fix: exit pre-release mode

* fix: exit pre-release mode

* chore: exit pre release mode

* fix(workflows): release & pre-release flow (#4184)

* chore: revert exit and enter pre release changes

* chore: canary release test (#4185)

* chore: update exit and enter workflows

* chore: update workflow name

* fix: exit pre-release mode

* fix: exit pre-release mode

* chore: delete pre file

* chore: remove duplicate changesets

* chore: base branch change to canary, changeset config

* refactor: beta tags manually deleted (#4187)

* fix: install

* fix: peer deps (#4188)

* Fix/peer deps (#4189)

* fix: peer deps

* fix: tests

* fix: routes

* chore(docs): revise defaultShowFlagList (#4193)

* chore(docs): add Example to defaultShowFlagList

* chore(docs): revise defaultShowFlagList

* feat: documentation improvements (#4195)

* feat: documentation improvements

* fix: alert api

* Feat/doc improvements (#4196)

* feat: documentation improvements

* fix: alert api

* fix: copy button

* fix: return in card demo

* Fix/react core pkg (#4204)

* fix: double use client tag import in react core package

* fix: double use client

* chore: restore postbuild script

* docs: optimize code fold (#4202)

* docs: optimize code fold

* fix: code review

* fix(input): teaxtarea label squish (#4197)

* fix(input): teaxtarea label squish

* chore(changeset): add changeset for textarea label fix

* chore: remove customer runner

* chore: rename changeset

* chore: increase timeout

* chore: change get info pkg version

* chore: new changeset

* chore: single chnageset

* chore: consolidated changeset

* chore: consolidated changeset

* Update release.yaml (#4205)

* chore: consolidated changeset

* fix: forwardRef render functions not using ref (#4198)

* fix: forwardRef render functions not using ref

* fix: changelog

* fix: review

* fix: forwardRef render functions not using ref

* docs: update changeset

* feat(listbox): virtualization (#4206)

* fix: should not export list item internal variables type

* feat: changeset

* fix: type error

* fix: code block type error

* feat: virtualization feature, docs for listbox

* chore: update routes.json

* fix: fix code-demo for typecheck

* chore: rollback for files

* chore: props omitted in the component itself

* fix: menu item types

* fix: tupecheck

---------

Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(select): virtualization (#4203)

* fix: should not export list item internal variables type

* feat: changeset

* feat: integrate virtualized listbox to select component, add more props

* feat: update docs for select component

* feat: update docs to include API for virtualization

* fix: update docs to follow the newest format

* fix: update test for disable virtualization, add test for virtualized version

* fix: fix typo

* fix: type error

* fix: code block type error

* chore: update docs to use raw jsx instead of template literal

* fix: fix code-demo for typecheck

* chore: rollback for files

* fix: types

* chore: remove caret version on tanstack virtual pkg

* fix: pnpm lock file

* fix: virtualization examples

* fix: number of items

---------

Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore: adjust code colors

* fix: collection based components ref (#4207)

* chore: documentation adjustments

* Update data-slot for the error message in the select. (#4214)

* Update data-slot for the error message in the select.

All components use the `data-slot="error-message"` attribute, except for the select component. I observed this behavior when a test in my application started failing.

* refactor(select): refactors the data-slots attribute for the error message

* fix(docs): types for classNames and itemClasses (#4209)

* feat: documentation improvements

* chore: more improvements to the docs, routing updated, acccordiong font size change

* feat: forms doc in progress

* fix(touch): fixing the selection functionality on touch (#4220)

* fix(touch): fixing the selection functionality on touch

* fix: radio, checkbox & switch interactions

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore(docs): remove non-existing attribute (#4221)

* fix(select): hideEmptyContent API (#4219)

* fix(select): hideEmptyContent API

* test(select): hideEmptyContent tests

* docs(select): hideEmptyContent API

* chore(select): hideEmptyContent storybook

* chore(changeset): add hideEmptyContent API to select

* refactor(select): hideEmptyContent nitpick

* test(select): hideEmptyContent UI assertions

* fix(select): hideEmptyContent default false

* docs(select): hideEmptyContent default false

* fix(pagination): cursor position when hidden on init (#4222)

* fix(pagination): cusor position when hidden on init

* test(pagination): cursor intersection observer

* chore(changeset): pagination cursor position fix

* refactor(pagination): minor nitpicks
- check for null ref in usePagination
- restore original IntersectionObserver in test

* fix: form fixes and improvements (#4224)

* chore: form in progress

* chore: main demo addded to forms, checkbox validation fixed

* chore: forms docs improved

* fix(deps): bump `@react-aria/utils` version (#4226)

* fix(deps): bump `@react-aria/utils` version

* chore(changeset): add changeset

* feat: forms doc completed

* chore: form component doc created

* chore: forms doc improved

* chore: doc improvements

* chore: alert doc improved

* feat: nextjs 15 migration in progress

* feat: nextjs 15 migration [docs] (#4228)

* feat: nextjs 15 migration in progress

* feat: next 15 downgraded to next 14

* fix: migration errors

* feat: codeblog is now rendered only when visible, this made a huge performance improvement

* fix: remove folding

* feat: v2.6.0 blog

* feat: Adding nextui pro section on the landing page (#4227)

* feat: adding nextui pro section on the landing page

* chore(nits): nits

* fix: remove pro image on mobile

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(docs): prevent scrolling up on pressing theme change switch (#4233)

* chore: improve v2.6.0 blog

* chore: small improvements

* chore: improve blog

* ci(changesets): version packages (#4186)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: snippet release (#4235)

* ci(changesets): version packages (#4236)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore: v2.6.2

* ci(changesets): version packages (#4237)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: draggable modal demo

* fix: v2.6 blog

* chore: adjust blog

* chore: release notes link updated

* fix: v2.6.0 (#4247)

* fix: v2.6.0

* chore: update framer motion version

* ci(changesets): version packages (#4248)

* fix(deps): incorrect peerDependencies for theme and system package (#4255)

* fix(deps): incorrect peerDependencies for theme and system package

* chore(changeset): add changeset

* ci(changesets): version packages (#4261)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* chore: adjust doc

* chore: update search meta objects

* fix: ref in form component (#4279)

* fix(dropdown): unnecessary ref in dropdown (#4278)

* fix: missing react-types package added (#4264)

* fix: missing react-types package added

* chore: react types version increased

* chore(deps): sync with upstream RA versions (#4258)

* chore(deps): sync with upstream RA versions

* chore(changeset): add changeset

* chore(form): remove caret

* chore(deps): pnpm-lock.yaml

* fix(tooltip): type 'null' is not assignable to type 'PlacementAxis'

* fix(deps): bump `@internationalized/date`

* chore(deps): sync `@react-types` versions

* fix(input): follow RAC typing in useTextField

* fix(popover): typecheck error

* fix: typecheck errors

* fix: typecheck errors

* fix(docs): bump RA versions

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (#4280)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

---------

Signed-off-by: Innei <i@innei.in>
Signed-off-by: The1111mp <The1111mp@outlook.com>
Co-authored-by: ryoon <ryoon50@gmail.com>
Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: David Gonzalez <dgonzalez1992@outlook.com>
Co-authored-by: Julie Saia <76669473+juliesaia@users.noreply.github.com>
Co-authored-by: Alex Nguyen <dev@alexnguyen.co.nz>
Co-authored-by: max <hi.max@foxmail.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>
Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com>
Co-authored-by: Anuj Sharma <52837557+sanuj21@users.noreply.github.com>
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Jeff. <jeffreysfu@gmail.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Abhinav Agarwal <abhinavagrawal700@gmail.com>
Co-authored-by: wzc520pyfm <1528857653@qq.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Abhinandan <abhinandanverma551@gmail.com>
Co-authored-by: The1111mp <The1111mp@outlook.com>
Co-authored-by: Rakha Kanz Kautsar <rkkautsar@gmail.com>
Co-authored-by: Can Rau <cansrau@gmail.com>
Co-authored-by: Azpekt <65199167+AzpektDev@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mustafa Balcı <19329346+mstfblci@users.noreply.github.com>
Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com>
Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
Co-authored-by: chirokas <157580465+chirokas@users.noreply.github.com>
Co-authored-by: doki- <1335902682@qq.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com>
Co-authored-by: Julio Barrios <juliobarmi@gmail.com>
2024-12-08 09:56:13 -03:00
աӄա 05d07929a6 fix(docs): identifier 'colors' has already been declared (#4276) 2024-12-08 08:53:59 -03:00
1539 changed files with 30052 additions and 26660 deletions
+3 -3
View File
@@ -2,7 +2,7 @@
"$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json",
"changelog": [
"@changesets/changelog-github",
{ "repo": "nextui-org/nextui" }
{ "repo": "frontio-ai/heroui" }
],
"commit": false,
"fixed": [],
@@ -14,7 +14,7 @@
"onlyUpdatePeerDependentsWhenOutOfRange": true
},
"ignore": [
"@nextui-org/docs",
"@nextui-org/storybook"
"@heroui/docs",
"@heroui/storybook"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
"@nextui-org/input": patch
---
fixed input inconsistent focus behaviour on wrapper click (#4287)
+5
View File
@@ -0,0 +1,5 @@
---
"@nextui-org/alert": patch
---
propagate className (#4533)
+5
View File
@@ -0,0 +1,5 @@
---
"@nextui-org/alert": patch
---
fix title type in Avatar (#4525)
+1 -1
View File
@@ -3,7 +3,7 @@ const conventional = require("@commitlint/config-conventional");
module.exports = {
extends: ["@commitlint/config-conventional"],
plugins: ["commitlint-plugin-function-rules"],
helpUrl: "https://github.com/nextui-org/nextui/blob/main/CONTRIBUTING.md#commit-convention",
helpUrl: "https://github.com/frontio-ai/heroui/blob/main/CONTRIBUTING.md#commit-convention",
rules: {
...conventional.rules,
"type-enum": [
+10 -10
View File
@@ -8,28 +8,28 @@ body:
value: |
Thank you for reporting an issue :pray:.
This issue tracker is for reporting bugs found in [NextUI github repository](https://github.com/nextui-org/nextui/)
This issue tracker is for reporting bugs found in [HeroUI github repository](https://github.com/frontio-ai/heroui/)
If you have a question about how to achieve something and are struggling, please post a question
inside of either of the following places:
- NextUI's [Discussion's tab](https://github.com/nextui-org/nextui/discussions)
- NextUI's [Discord channel](https://discord.gg/9b6yyZKmH4)
- HeroUI's [Discussion's tab](https://github.com/frontio-ai/heroui/discussions)
- HeroUI's [Discord channel](https://discord.gg/9b6yyZKmH4)
Before submitting a new bug/issue, please check the links below to see if there is a solution or question posted there already:
- NextUI's [Issue's tab](https://github.com/nextui-org/nextui/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc)
- NextUI's [closed issues tab](https://github.com/nextui-org/nextui/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed)
- NextUI's [Discussions tab](https://github.com/nextui-org/nextui/discussions)
- HeroUI's [Issue's tab](https://github.com/frontio-ai/heroui/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc)
- HeroUI's [closed issues tab](https://github.com/frontio-ai/heroui/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed)
- HeroUI's [Discussions tab](https://github.com/frontio-ai/heroui/discussions)
The more information you fill in, the better the community can help you.
- type: input
id: version
attributes:
label: NextUI Version
label: HeroUI Version
description: |
Please provide the version of NextUI you are using.
Please provide the version of HeroUI you are using.
You can find the version number in the package.json file.
For global installation, please state the version only. (e.g. 2.4.2)
For individual installation, please state the package name as well. (e.g. @nextui-org/button@2.0.34)
For individual installation, please state the package name as well. (e.g. @heroui/button@2.0.34)
placeholder: ex. 2.4.2
validations:
required: true
@@ -47,7 +47,7 @@ body:
description: |
Which website or app were you using when the bug happened?
Note:
- Your bug will may get fixed much faster if we can run your code and it doesn't have dependencies other than the `@nextui-org/react` npm package.
- Your bug will may get fixed much faster if we can run your code and it doesn't have dependencies other than the `@heroui/react` npm package.
- To create a shareable code example you can use Stackblitz (https://stackblitz.com/). Please no localhost URLs.
- Please read these tips for providing a minimal example: https://stackoverflow.com/help/mcve.
placeholder: |
+4 -4
View File
@@ -1,11 +1,11 @@
blank_issues_enabled: true
contact_links:
- name: 🤔 Long question or ideas?
url: https://github.com/nextui-org/nextui/discussions
url: https://github.com/frontio-ai/heroui/discussions
about: Ask long-form questions and discuss ideas.
- name: 💬 Discord Community Chat
url: https://discord.gg/9b6yyZKmH4
about: Ask quick questions or simply chat on the `NextUI` community Discord server.
about: Ask quick questions or simply chat on the `HeroUI` community Discord server.
- name: 💬 New Updates (X)
url: https://x.com/getnextui
about: Link to our X account if you want to follow us and stay up to date with NextUI news
url: https://x.com/hero_ui
about: Link to our X account if you want to follow us and stay up to date with HeroUI news
+2 -2
View File
@@ -2,7 +2,7 @@ name: Feature request
title: "[Feature Request] YOUR_FEATURE_TITLE_HERE_REPLACE_ME"
labels: [feature request]
description: |
💡 Suggest an idea for the `NextUI` project
💡 Suggest an idea for the `HeroUI` project
Examples
- propose a new component
- improve an exiting component
@@ -12,7 +12,7 @@ body:
attributes:
value: |
This issue form is for requesting features only! For example, requesting a new component, behavior ... etc
If you want to report a bug, please use the [bug report form](https://github.com/nextui-org/nextui/issues/new?assignees=&labels=&template=bug_report.yml).
If you want to report a bug, please use the [bug report form](https://github.com/frontio-ai/heroui/issues/new?assignees=&labels=&template=bug_report.yml).
- type: textarea
validations:
required: true
+1 -1
View File
@@ -23,6 +23,6 @@ Closes # <!-- Github issue # here -->
## 💣 Is this a breaking change (Yes/No):
<!-- If Yes, please describe the impact and migration path for existing NextUI users. -->
<!-- If Yes, please describe the impact and migration path for existing HeroUI users. -->
## 📝 Additional Information
+11 -2
View File
@@ -27,9 +27,18 @@ jobs:
run: pnpm test
- name: Build
run: pnpm build
id: build
continue-on-error: false
# Custom turbo build failure information
run: |
pnpm build || {
echo "Turbo build failed with exit code $?"
exit 1
}
- name: Create Release Pull Request or Publish to NPM
# Run only if the build is successful
if: steps.build.outcome == 'success'
id: changesets
uses: changesets/action@v1
with:
@@ -43,7 +52,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create canary release
if: steps.changesets.outputs.published != 'true'
if: steps.build.outcome == 'success' && steps.changesets.outputs.published != 'true'
timeout-minutes: 15
run: |
git checkout canary
+1 -1
View File
@@ -3,4 +3,4 @@ enable-pre-post-scripts=true
public-hoist-pattern[]=*tailwind-variants*
public-hoist-pattern[]=*framer-motion*
public-hoist-pattern[]=*@react-aria/interactions*
public-hoist-pattern[]=*@nextui-org/theme*
public-hoist-pattern[]=*@heroui/theme*
+12 -12
View File
@@ -1,8 +1,8 @@
# Next UI Contributing Guide
# HeroUI Contributing Guide
Hello!, I am very excited that you are interested in contributing with Next UI. However, before submitting your contribution, be sure to take a moment and read the following guidelines.
Hello!, I am very excited that you are interested in contributing with HeroUI. However, before submitting your contribution, be sure to take a moment and read the following guidelines.
- [Code of Conduct](https://github.com/jrgarciadev/nextui/blob/main/CODE_OF_CONDUCT.md)
- [Code of Conduct](https://github.com/frontio-ai/heroui/blob/canary/CODE_OF_CONDUCT.md)
- [Extraction request guidelines](#pull-request-guidelines)
- [Development Setup](#development-setup)
- [Tests](#tests)
@@ -71,7 +71,7 @@ https://www.conventionalcommits.org/ or check out the
### Steps to PR
1. Fork of the nextui repository and clone your fork
1. Fork of the heroui repository and clone your fork
2. Create a new branch out of the `canary` branch. We follow the convention
`[type/scope]`. For example `fix/dropdown-hook` or `docs/menu-typo`. `type`
@@ -79,7 +79,7 @@ https://www.conventionalcommits.org/ or check out the
commit type. `scope` is just a short id that describes the scope of work.
3. Make and commit your changes following the
[commit convention](https://github.com/nextui-org/nextui/blob/main/CONTRIBUTING.md#commit-convention).
[commit convention](https://github.com/frontio-ai/heroui/blob/main/CONTRIBUTING.md#commit-convention).
As you canary, you can run `pnpm build --filter=<module>` and
`pnpm test packages/<module>/<pkg>` e.g. `pnpm build --filter=avatar & pnpm test packages/components/avatar` to make sure everything works as expected.
@@ -117,7 +117,7 @@ We use [Turbo Repo](https://turborepo.org/) for the project management.
2. If you will be working on the components source code, you can use the following command to start the webpack dev server:
```bash
## Start the dev babel server of NextUI core components
## Start the dev babel server of HeroUI core components
pnpm dev
## optional
@@ -128,10 +128,10 @@ pnpm dev:docs ## this will start the documentation next.js server and it will au
```
- If you will be working just on the documentation source code / mdx, you can use the following commands to build
NextUI components and then start the next.js dev server:
HeroUI components and then start the next.js dev server:
```bash
## Build NextUI source components
## Build HeroUI source components
pnpm build
## Start the next.js documentation dev server
@@ -210,13 +210,13 @@ When making a visual change, please provide screenshots
and/or screencasts of the proposed change. This will help us to understand the
desired change easier.
Until NextUI has a stable release new components will be created only for the core team.
Until HeroUI has a stable release new components will be created only for the core team.
## Documentation
Please update the docs with any API changes, the code and docs should always be in sync.
The main documentation lives in the `apps/docs/content` folder, the project uses MDX and all `NextUI` are already imported.
The main documentation lives in the `apps/docs/content` folder, the project uses MDX and all `HeroUI` are already imported.
## Breaking changes
@@ -224,7 +224,7 @@ Breaking changes should be accompanied with deprecations of removed functionalit
## Becoming a maintainer
If you are interested in becoming a NextUI maintainer, start by
If you are interested in becoming a HeroUI maintainer, start by
reviewing issues and pull requests. Answer questions for those in need of
troubleshooting. Join us in the
[Discord Community](https://discord.gg/9b6yyZKmH4) chat room.
@@ -235,7 +235,7 @@ best to be proactive in reaching out to those that are already helping out.
GitHub by default does not publicly state that you are a member of the
organization. Please feel free to change that setting for yourself so others
will know who's helping out. That can be configured on the [organization
list](https://github.com/orgs/nextui-org/people) page.
list](https://github.com/orgs/frontio-ai/people) page.
Being a maintainer is not an obligation. You can help when you have time and be
less active when you don't. If you get a new job and get busy, that's alright.
+1
View File
@@ -8,6 +8,7 @@ NEXT_PUBLIC_ALGOLIA_SEARCH_API_KEY=
# Vercel Env (is used for skipping typescript check)
IS_VERCEL_ENV=true/false
IGNORE_BUILD_CHECKS=true/false
IS_PREVIEW=true/false
ANALYZE_BUNDLE=true/false
+5
View File
@@ -28,6 +28,7 @@ yarn-error.log*
# local env files
.env
.env*.local
.dev.vars
# vercel
.vercel
@@ -35,3 +36,7 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
# cloudflare
.wrangler
/.open-next/
+1 -1
View File
@@ -2,7 +2,7 @@ import type {Metadata} from "next";
import {notFound} from "next/navigation";
import {allBlogPosts} from "contentlayer2/generated";
import {Link, User} from "@nextui-org/react";
import {Link, User} from "@heroui/react";
import {format, parseISO} from "date-fns";
import NextLink from "next/link";
import {Balancer} from "react-wrap-balancer";
+11 -3
View File
@@ -1,4 +1,4 @@
import {Image} from "@nextui-org/react";
import {Image} from "@heroui/react";
import {ScriptProviders} from "@/components/scripts/script-providers";
@@ -16,13 +16,21 @@ export default function DocsLayout({children}: DocsLayoutProps) {
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -bottom-[40%] -left-[20%] z-0"
>
<Image removeWrapper alt="docs left background" src="/gradients/docs-left.png" />
<Image
removeWrapper
alt="docs left background"
src="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/images/docs-left.png"
/>
</div>
<div
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -top-[80%] -right-[60%] 2xl:-top-[60%] 2xl:-right-[45%] z-0 rotate-12"
>
<Image removeWrapper alt="docs right background" src="/gradients/docs-right.png" />
<Image
removeWrapper
alt="docs right background"
src="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/images/docs-right.png"
/>
</div>
<ScriptProviders />
+2 -2
View File
@@ -20,8 +20,8 @@ export default function Blog() {
return (
<div className="w-full lg:px-16 mt-12">
<div className="text-center">
<h1 className="mb-2 font-bold text-4xl">NextUI Latest Updates</h1>
<h5 className="text-default-500 text-lg">All the latest news about NextUI.</h5>
<h1 className="mb-2 font-bold text-4xl">HeroUI Latest Updates</h1>
<h5 className="text-default-500 text-lg">All the latest news about HeroUI.</h5>
</div>
<BlogPostList posts={posts} />
</div>
+2 -1
View File
@@ -2,7 +2,7 @@ import type {Metadata} from "next";
import {notFound} from "next/navigation";
import {allDocs} from "contentlayer2/generated";
import {Link} from "@nextui-org/react";
import {Link} from "@heroui/react";
import {MDXContent} from "@/components/mdx-content";
import {siteConfig} from "@/config/site";
@@ -83,6 +83,7 @@ export default async function DocPage({params}: DocPageProps) {
if (!doc) {
notFound();
}
const editUrl = `${GITHUB_URL}/${REPO_NAME}/edit/${TAG}${CONTENT_PATH}${currentRoute?.path}`;
return (
+13 -5
View File
@@ -1,4 +1,4 @@
import {Image} from "@nextui-org/react";
import {Image} from "@heroui/react";
import manifest from "@/config/routes.json";
import {DocsSidebar} from "@/components/docs/sidebar";
@@ -21,15 +21,23 @@ export default function DocsLayout({children}: DocsLayoutProps) {
</main>
<div
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -bottom-[40%] -left-[20%] z-0"
className="fixed hidden dark:md:block dark:opacity-100 -bottom-[30%] -left-[30%] z-0"
>
<Image removeWrapper alt="docs left background" src="/gradients/docs-left.png" />
<Image
removeWrapper
alt="docs left background"
src="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/images/docs-left.png"
/>
</div>
<div
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -top-[80%] -right-[60%] 2xl:-top-[60%] 2xl:-right-[45%] z-0 rotate-12"
className="fixed hidden dark:md:block dark:opacity-70 -top-[50%] -right-[60%] 2xl:-top-[60%] 2xl:-right-[45%] z-0 rotate-12"
>
<Image removeWrapper alt="docs right background" src="/gradients/docs-right.png" />
<Image
removeWrapper
alt="docs right background"
src="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/images/docs-right.png"
/>
</div>
<ScriptProviders />
@@ -2,7 +2,7 @@
"use client";
import * as React from "react";
import {Autocomplete, AutocompleteItem} from "@nextui-org/react";
import {Autocomplete, AutocompleteItem} from "@heroui/react";
import {useAsyncList} from "@react-stately/data";
type SWCharacter = {
@@ -2,8 +2,8 @@
"use client";
import * as React from "react";
import {Autocomplete, AutocompleteItem} from "@nextui-org/react";
import {useInfiniteScroll} from "@nextui-org/use-infinite-scroll";
import {Autocomplete, AutocompleteItem} from "@heroui/react";
import {useInfiniteScroll} from "@heroui/use-infinite-scroll";
type Pokemon = {
name: string;
@@ -1,7 +1,7 @@
"use client";
import * as React from "react";
import {Autocomplete, AutocompleteItem, MenuTriggerAction} from "@nextui-org/react";
import {Autocomplete, AutocompleteItem, MenuTriggerAction} from "@heroui/react";
import {useFilter} from "@react-aria/i18n";
const animals = [
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import {Card, CardBody, CircularProgress} from "@nextui-org/react";
import {Card, CardBody, CircularProgress} from "@heroui/react";
export default function ButtonDemo() {
return (
@@ -11,7 +11,7 @@ import {
RadioGroup,
Radio,
ModalProps,
} from "@nextui-org/react";
} from "@heroui/react";
import {useState} from "react";
export default function Page() {
@@ -58,7 +58,7 @@ export default function Page() {
</p>
</ModalBody>
<ModalFooter>
<Button color="danger" variant="light" onClick={onClose}>
<Button color="danger" variant="light" onPress={onClose}>
Close
</Button>
<Button color="primary" onPress={onClose}>
@@ -1,16 +1,6 @@
"use client";
import {
Navbar,
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Button,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
import {Navbar, NavbarBrand, NavbarContent, NavbarItem, Link, Button} from "@heroui/react";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
@@ -9,13 +9,10 @@ import {
NavbarMenuItem,
NavbarMenuToggle,
Button,
Link as NextUiLink,
LinkProps,
} from "@nextui-org/react";
Link,
} from "@heroui/react";
import React from "react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
<path
@@ -1,16 +1,6 @@
"use client";
import {
Navbar,
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Button,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
import {Navbar, NavbarBrand, NavbarContent, NavbarItem, Link, Button} from "@heroui/react";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
@@ -6,16 +6,13 @@ import {
NavbarContent,
NavbarItem,
Button,
Link as NextUiLink,
LinkProps,
Link,
NavbarMenu,
NavbarMenuItem,
NavbarMenuToggle,
} from "@nextui-org/react";
} from "@heroui/react";
import React from "react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
<path
@@ -1,16 +1,6 @@
"use client";
import {
Navbar,
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Button,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
import {Navbar, NavbarBrand, NavbarContent, NavbarItem, Link, Button} from "@heroui/react";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
@@ -1,16 +1,6 @@
"use client";
import {
Navbar,
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Button,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
import {Navbar, NavbarBrand, NavbarContent, NavbarItem, Link, Button} from "@heroui/react";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
+1 -11
View File
@@ -1,16 +1,6 @@
"use client";
import {
Navbar,
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Button,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
import {Navbar, NavbarBrand, NavbarContent, NavbarItem, Link, Button} from "@heroui/react";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
+1 -11
View File
@@ -1,16 +1,6 @@
"use client";
import {
Navbar,
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Button,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
import {Navbar, NavbarBrand, NavbarContent, NavbarItem, Link, Button} from "@heroui/react";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
@@ -5,16 +5,13 @@ import {
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Link,
DropdownItem,
DropdownTrigger,
Dropdown,
DropdownMenu,
Avatar,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
} from "@heroui/react";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
@@ -5,17 +5,14 @@ import {
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Link,
Button,
DropdownItem,
DropdownTrigger,
Dropdown,
DropdownMenu,
} from "@nextui-org/react";
import {ChevronDown, Lock, Activity, Flash, Server, TagUser, Scale} from "@nextui-org/shared-icons";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
} from "@heroui/react";
import {ChevronDown, Lock, Activity, Flash, Server, TagUser, Scale} from "@heroui/shared-icons";
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
@@ -5,17 +5,14 @@ import {
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Link,
Button,
NavbarMenuToggle,
NavbarMenu,
NavbarMenuItem,
} from "@nextui-org/react";
} from "@heroui/react";
import React from "react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
const AcmeLogo = () => (
<svg fill="none" height="36" viewBox="0 0 32 32" width="36">
<path
@@ -5,17 +5,14 @@ import {
NavbarBrand,
NavbarContent,
NavbarItem,
Link as NextUiLink,
LinkProps,
Link,
Input,
DropdownItem,
DropdownTrigger,
Dropdown,
DropdownMenu,
Avatar,
} from "@nextui-org/react";
const Link = (props: LinkProps) => <NextUiLink {...props} onClick={(e) => e.preventDefault()} />;
} from "@heroui/react";
import {SearchLinearIcon} from "@/components/icons";
+2 -2
View File
@@ -16,7 +16,7 @@ import {
Pagination,
extendVariants,
PaginationItem,
} from "@nextui-org/react";
} from "@heroui/react";
import {useFilter} from "@react-aria/i18n";
import {useEffect, useMemo, useRef, useState} from "react";
import {useSearchParams} from "next/navigation";
@@ -390,7 +390,7 @@ const usersData = [
},
];
export default function NextUIPerf() {
export default function HeroUIPerf() {
const [textA, setTextA] = useState<string>("");
const [textB, setTextB] = useState<string>("");
const [textC, setTextC] = useState<string>("");
@@ -1,9 +1,9 @@
/* eslint-disable no-console */
"use client";
import {Select, SelectItem} from "@nextui-org/react";
import {Select, SelectItem} from "@heroui/react";
import {useEffect, useState} from "react";
import {useInfiniteScroll} from "@nextui-org/use-infinite-scroll";
import {useInfiniteScroll} from "@heroui/use-infinite-scroll";
type Pokemon = {
name: string;
@@ -10,7 +10,7 @@ import {
getKeyValue,
Spinner,
Pagination,
} from "@nextui-org/react";
} from "@heroui/react";
import {useMemo, useState} from "react";
import useSWR from "swr";
@@ -20,10 +20,10 @@ import {
ChipProps,
Pagination,
SortDescriptor,
} from "@nextui-org/react";
import {ChevronDownIcon, SearchIcon} from "@nextui-org/shared-icons";
} from "@heroui/react";
import {ChevronDownIcon, SearchIcon} from "@heroui/shared-icons";
import {useCallback, useMemo, useState} from "react";
import {capitalize} from "@nextui-org/shared-utils";
import {capitalize} from "@heroui/shared-utils";
import {PlusLinearIcon} from "@/components/icons";
import {VerticalDotsIcon} from "@/components/icons/vertical-dots";
@@ -9,9 +9,9 @@ import {
TableCell,
getKeyValue,
Spinner,
} from "@nextui-org/react";
} from "@heroui/react";
import {useAsyncList} from "@react-stately/data";
import {useInfiniteScroll} from "@nextui-org/use-infinite-scroll";
import {useInfiniteScroll} from "@heroui/use-infinite-scroll";
import {useState} from "react";
type SWCharacter = {
@@ -10,7 +10,7 @@ import {
getKeyValue,
Spinner,
Button,
} from "@nextui-org/react";
} from "@heroui/react";
import {useAsyncList} from "@react-stately/data";
import {useState} from "react";
@@ -9,7 +9,7 @@ import {
TableCell,
getKeyValue,
Spinner,
} from "@nextui-org/react";
} from "@heroui/react";
import {useAsyncList} from "@react-stately/data";
import {useState} from "react";
@@ -20,10 +20,10 @@ import {
ChipProps,
Pagination,
SortDescriptor,
} from "@nextui-org/react";
import {ChevronDownIcon, SearchIcon} from "@nextui-org/shared-icons";
} from "@heroui/react";
import {ChevronDownIcon, SearchIcon} from "@heroui/shared-icons";
import {useCallback, useMemo, useState} from "react";
import {capitalize} from "@nextui-org/shared-utils";
import {capitalize} from "@heroui/shared-utils";
import {PlusLinearIcon} from "@/components/icons";
import {VerticalDotsIcon} from "@/components/icons/vertical-dots";
-51
View File
@@ -1,51 +0,0 @@
import {Image} from "@nextui-org/react";
import {Blockquote} from "@/components/docs/components/blockquote";
import {FigmaButton} from "@/components/figma-button";
import {ScriptProviders} from "@/components/scripts/script-providers";
export default function FigmaPage() {
return (
<>
<main className="relative container mx-auto max-w-7xl z-10 px-6 min-h-[calc(100vh_-_64px_-_108px)] mb-12 flex-grow">
<section className="w-full flex flex-col items-center lg:px-16 mt-12 gap-6">
<div className="text-center max-w-xl">
<h1 className="mb-2 font-bold text-4xl">NextUI Figma Kit</h1>
<h5 className="text-default-500 text-lg">
A Figma file that contains the basis of the NextUI design system to help you design
your applications.
</h5>
</div>
<iframe
className="aspect-video w-full border border-transparent dark:border-default-200/50 object-fit rounded-xl shadow-lg"
height="600"
src="https://embed.figma.com/file/1267584376234254760/hf_embed?community_viewer=true&embed_host=nextui"
title="NextUI Figma Kit"
width="800"
/>
<div className="text-center max-w-2xl m-auto">
<FigmaButton />
<Blockquote color="warning">
This file is still in development and will be continuously updated.
</Blockquote>
</div>
</section>
</main>
<div
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -bottom-[40%] -left-[20%] z-0"
>
<Image removeWrapper alt="docs left background" src="/gradients/docs-left.png" />
</div>
<div
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -top-[80%] -right-[60%] 2xl:-top-[60%] 2xl:-right-[45%] z-0 rotate-12"
>
<Image removeWrapper alt="docs right background" src="/gradients/docs-right.png" />
</div>
<ScriptProviders />
</>
);
}
+8 -7
View File
@@ -1,7 +1,7 @@
import "@/styles/globals.css";
import "@/styles/sandpack.css";
import {Metadata, Viewport} from "next";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
import {Providers} from "./providers";
@@ -22,8 +22,9 @@ export const metadata: Metadata = {
keywords: [
"React",
"Next.js",
"Tailwind CSS",
"NextUI",
"Tailwind CSS",
"HeroUI",
"React Aria",
"Server Components",
"React Components",
@@ -43,15 +44,15 @@ export const metadata: Metadata = {
openGraph: siteConfig.openGraph,
authors: [
{
name: "getnextui",
url: "https://x.com/getnextui",
name: "hero_ui",
url: "https://x.com/hero_ui",
},
],
creator: "getnextui",
creator: "frontio-ai",
alternates: {
canonical: "https://nextui.org",
canonical: "https://heroui.com",
types: {
"application/rss+xml": [{url: "https://nextui.org/feed.xml", title: "NextUI RSS Feed"}],
"application/rss+xml": [{url: "https://heroui.com/feed.xml", title: "HeroUI RSS Feed"}],
},
},
};
+3 -3
View File
@@ -1,4 +1,4 @@
import {Spacer} from "@nextui-org/spacer";
import {Spacer} from "@heroui/spacer";
import {Suspense} from "react";
import {Hero} from "@/components/marketing/hero";
@@ -13,7 +13,7 @@ import {Community} from "@/components/marketing/community";
import Support from "@/components/marketing/support";
import landingContent from "@/content/landing";
import {Sponsors} from "@/components/marketing/sponsors";
import {NextUIProSection} from "@/components/marketing/nextui-pro-section";
import {HeroUIProSection} from "@/components/marketing/heroui-pro-section";
export default async function Home() {
return (
@@ -26,7 +26,7 @@ export default async function Home() {
<A11yOtb />
<DarkMode />
<Customization />
<NextUIProSection />
<HeroUIProSection />
<LastButNotLeast />
<Suspense fallback={<div>Loading...</div>}>
<Support />
+33
View File
@@ -0,0 +1,33 @@
import {Image} from "@heroui/react";
import PlaygroundTabs from "./playground-tabs";
export default function FigmaPage() {
return (
<>
<main className="prose prose-neutral relative container mx-auto max-w-3xl z-10 px-6 min-h-[calc(100vh_-_64px_-_108px)] mb-12 flex-grow">
<section className="w-full flex flex-col items-center mt-12 gap-6">
<div className="text-center">
<h1 className="mb-2">Playground</h1>
</div>
</section>
<section>
<h3 className="text-medium text-default-500">Components</h3>
<PlaygroundTabs />
</section>
</main>
<div
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -bottom-[40%] -left-[20%] z-0"
>
<Image removeWrapper alt="docs left background" src="/gradients/docs-left.png" />
</div>
<div
aria-hidden="true"
className="fixed hidden dark:md:block dark:opacity-70 -top-[80%] -right-[60%] 2xl:-top-[60%] 2xl:-right-[45%] z-0 rotate-12"
>
<Image removeWrapper alt="docs right background" src="/gradients/docs-right.png" />
</div>
</>
);
}
@@ -0,0 +1,19 @@
"use client";
import {Tab, Tabs} from "@heroui/react";
export default function BlocksTabs() {
return (
<Tabs
classNames={{
cursor: "dark:bg-default-100 bg-default-200",
}}
radius="full"
variant="light"
>
<Tab key="input" title="Inputs" />
<Tab key="button" title="Buttons" />
<Tab key="card" title="Cards" />
</Tabs>
);
}
+22 -23
View File
@@ -1,9 +1,7 @@
"use client";
import type {ReactNode} from "react";
import * as React from "react";
import {NextUIProvider} from "@nextui-org/react";
import {HeroUIProvider} from "@heroui/react";
import {ThemeProvider as NextThemesProvider} from "next-themes";
import {ThemeProviderProps} from "next-themes";
import {useRouter} from "next/navigation";
@@ -18,32 +16,33 @@ export interface ProvidersProps {
themeProps?: ThemeProviderProps;
}
const ProviderWrapper = ({children}: {children: React.ReactElement}) => {
useEffect(() => {
// Initialize PostHog only once when the app starts
if (typeof window !== "undefined" && __PROD__ && !posthog.isFeatureEnabled("capture")) {
posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
api_host: "/ingest",
person_profiles: "identified_only",
ui_host: process.env.NEXT_PUBLIC_POSTHOG_HOST,
});
}
}, []);
if (__PROD__) {
return <PostHogProvider client={posthog}>{children}</PostHogProvider>;
}
return children;
};
export function Providers({children, themeProps}: ProvidersProps) {
const router = useRouter();
const ProviderWrapper = ({children}: {children: ReactNode}) => {
useEffect(() => {
if (typeof window !== "undefined" && __PROD__) {
posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
api_host: "/ingest",
person_profiles: "identified_only",
ui_host: process.env.NEXT_PUBLIC_POSTHOG_HOST,
});
}
}, []);
if (__PROD__) {
return <PostHogProvider client={posthog}>{children}</PostHogProvider>;
}
return children;
};
return (
<ProviderWrapper>
<NextUIProvider navigate={router.push}>
<HeroUIProvider navigate={router.push}>
<NextThemesProvider {...themeProps}>{children}</NextThemesProvider>
</NextUIProvider>
</HeroUIProvider>
</ProviderWrapper>
);
}
+1 -1
View File
@@ -1,5 +1,5 @@
import {ReactNode, FC} from "react";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
export interface BgGridContainerProps {
showGradient?: boolean;
children?: ReactNode;
+2 -2
View File
@@ -1,7 +1,7 @@
"use client";
import {BlogPost} from "contentlayer2/generated";
import {Card, CardFooter, CardBody, CardHeader, Link, Avatar, Image} from "@nextui-org/react";
import {Card, CardFooter, CardBody, CardHeader, Link, Avatar, Image} from "@heroui/react";
import Balancer from "react-wrap-balancer";
import {format, parseISO} from "date-fns";
import NextLink from "next/link";
@@ -45,7 +45,7 @@ const BlogPostCard = (post: BlogPost) => {
<CardHeader>
<Link
as={NextLink}
className="font-semibold "
className="font-semibold text-foreground"
href={post.url}
size="lg"
underline="hover"
@@ -6,17 +6,17 @@ const frameworks = [
title: "Next.js 13 (App) Template",
isExternal: true,
description:
"A Next.js 13 with app directory template pre-configured with NextUI (v2) and Tailwind CSS.",
"A Next.js 13 with app directory template pre-configured with HeroUI (v2) and Tailwind CSS.",
icon: <NewNextJSIcon height={40} width={40} />,
href: "https://github.com/nextui-org/next-app-template",
href: "https://github.com/frontio-ai/next-app-template",
},
{
title: "Next.js 13 (Pages) Template",
isExternal: true,
description:
"A Next.js 13 with pages directory template pre-configured with NextUI (v2) and Tailwind CSS.",
"A Next.js 13 with pages directory template pre-configured with HeroUI (v2) and Tailwind CSS.",
icon: <NewNextJSIcon height={40} width={40} />,
href: "https://github.com/nextui-org/next-pages-template",
href: "https://github.com/frontio-ai/next-pages-template",
},
];
+1 -1
View File
@@ -3,7 +3,7 @@
import {useInView} from "framer-motion";
import {useRef, FC, useEffect, useState, useCallback} from "react";
import {Button, cn, Spinner, Tooltip} from "@nextui-org/react";
import {Button, cn, Spinner, Tooltip} from "@heroui/react";
import {PlayBoldIcon, PauseBoldIcon} from "@/components/icons";
import {RotateLeftLinearIcon} from "@/components/icons";
+4 -4
View File
@@ -4,16 +4,16 @@
import {Command} from "cmdk";
import {useEffect, useState, FC, useMemo, useCallback, useRef} from "react";
import {matchSorter} from "match-sorter";
import {Button, ButtonProps, Kbd, Modal, ModalContent} from "@nextui-org/react";
import {CloseIcon} from "@nextui-org/shared-icons";
import {Button, ButtonProps, Kbd, Modal, ModalContent} from "@heroui/react";
import {CloseIcon} from "@heroui/shared-icons";
import {tv} from "tailwind-variants";
import {usePathname, useRouter} from "next/navigation";
import MultiRef from "react-multi-ref";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
import scrollIntoView from "scroll-into-view-if-needed";
import {isAppleDevice, isWebKit} from "@react-aria/utils";
import {create} from "zustand";
import {isEmpty, intersectionBy} from "@nextui-org/shared-utils";
import {isEmpty, intersectionBy} from "@heroui/shared-utils";
import {writeStorage, useLocalStorage} from "@rehooks/local-storage";
import {usePostHog} from "posthog-js/react";
@@ -8,7 +8,7 @@ import css from "refractor/lang/css";
import diff from "refractor/lang/diff";
import {toHtml} from "hast-util-to-html";
import rangeParser from "parse-numeric-range";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
import {Pre} from "./pre";
import {WindowActions} from "./window-actions";
@@ -160,6 +160,6 @@ const CodeBlock = React.forwardRef<HTMLPreElement, CodeBlockProps>((_props, forw
);
});
CodeBlock.displayName = "NextUI - CodeBlock";
CodeBlock.displayName = "HeroUI - CodeBlock";
export default CodeBlock;
@@ -90,7 +90,7 @@ export const CodeWindow: React.FC<CodeWindowProps> = ({highlightLines, showCopy,
return (
<div className="relative">
<CodeBlock ref={wrapperRef} {...props} />
{showCopy && <CopyButton value={props.value} />}
{showCopy && <CopyButton className="top-2 absolute right-2" value={props.value} />}
</div>
);
};
+1 -1
View File
@@ -1,5 +1,5 @@
import {forwardRef} from "react";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
export interface PreProps {
className?: string;
@@ -1,6 +1,6 @@
import React from "react";
import {tv} from "tailwind-variants";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
export type WindowActionsProps = {
title?: string;
+24 -30
View File
@@ -1,7 +1,8 @@
import {FC} from "react";
import {Button, ButtonProps} from "@nextui-org/react";
import {useClipboard} from "@nextui-org/use-clipboard";
import {clsx} from "@nextui-org/shared-utils";
import {ButtonProps} from "@heroui/react";
import {useClipboard} from "@heroui/use-clipboard";
import {memo} from "react";
import {PreviewButton} from "./preview-button";
import {CheckLinearIcon, CopyLinearIcon} from "@/components/icons";
@@ -9,35 +10,28 @@ export interface CopyButtonProps extends ButtonProps {
value?: string;
}
export const CopyButton: FC<CopyButtonProps> = ({value, className, ...buttonProps}) => {
export const CopyButton = memo<CopyButtonProps>(({value, className, ...buttonProps}) => {
const {copy, copied} = useClipboard();
const icon = copied ? (
<CheckLinearIcon
className="opacity-0 scale-50 data-[visible=true]:opacity-100 data-[visible=true]:scale-100 transition-transform-opacity"
data-visible={copied}
size={16}
/>
) : (
<CopyLinearIcon
className="opacity-0 scale-50 data-[visible=true]:opacity-100 data-[visible=true]:scale-100 transition-transform-opacity"
data-visible={!copied}
size={16}
/>
);
const handleCopy = () => {
copy(value);
};
return (
<Button
isIconOnly
className={clsx(
"absolute z-50 right-3 text-zinc-300 top-8 border-1 border-transparent bg-transparent before:bg-white/10 before:content-[''] before:block before:z-[-1] before:absolute before:inset-0 before:backdrop-blur-md before:backdrop-saturate-100 before:rounded-lg",
className,
)}
size="sm"
variant="bordered"
onPress={handleCopy}
{...buttonProps}
>
<CheckLinearIcon
className="absolute opacity-0 scale-50 data-[visible=true]:opacity-100 data-[visible=true]:scale-100 transition-transform-opacity"
data-visible={copied}
size={16}
/>
<CopyLinearIcon
className="absolute opacity-0 scale-50 data-[visible=true]:opacity-100 data-[visible=true]:scale-100 transition-transform-opacity"
data-visible={!copied}
size={16}
/>
</Button>
);
};
return <PreviewButton className={className} icon={icon} onPress={handleCopy} {...buttonProps} />;
});
CopyButton.displayName = "CopyButton";
+4 -4
View File
@@ -6,11 +6,11 @@ import {
Button,
ModalContent,
ModalHeader,
Link as NextUILink,
Link as HeroUILink,
ModalBody,
ModalFooter,
Skeleton,
} from "@nextui-org/react";
} from "@heroui/react";
import Link from "next/link";
import {CodeWindow} from "@/components/code-window";
@@ -56,9 +56,9 @@ export const DemoCodeModal: FC<DemoCodeModalProps> = ({isOpen, code, title, subt
<>
This is an example of how to use the {lowerTitle} component, for more information
please visit the&nbsp;
<NextUILink as={Link} href={`/docs/components/${lowerTitle}`}>
<HeroUILink as={Link} href={`/docs/components/${lowerTitle}`}>
{lowerTitle}
</NextUILink>
</HeroUILink>
&nbsp;docs.
</>
)}
+1 -1
View File
@@ -1,7 +1,7 @@
"use client";
import {useRef} from "react";
import {Button} from "@nextui-org/react";
import {Button} from "@heroui/react";
import {usePostHog} from "posthog-js/react";
export const CustomButton = () => {
+2 -2
View File
@@ -1,8 +1,8 @@
"use client";
import {Card, CardBody, Button, Image, Slider, CardProps} from "@nextui-org/react";
import {Card, CardBody, Button, Image, Slider, CardProps} from "@heroui/react";
import {useState, FC} from "react";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
import NextImage from "next/image";
import {
@@ -4,7 +4,7 @@ import {
CircularProgress,
CircularProgressProps,
circularProgress,
} from "@nextui-org/react";
} from "@heroui/react";
import {FC} from "react";
const speedProgress = tv({
@@ -1,8 +1,8 @@
"use client";
import {useState} from "react";
import {Card, CardHeader, Button, Avatar, CardBody, CardFooter} from "@nextui-org/react";
import {clsx} from "@nextui-org/shared-utils";
import {Card, CardHeader, Button, Avatar, CardBody, CardFooter} from "@heroui/react";
import {clsx} from "@heroui/shared-utils";
interface UserTwitterCardProps {
className?: string;
@@ -44,7 +44,7 @@ export const UserTwitterCard = ({className}: UserTwitterCardProps) => {
</CardHeader>
<CardBody className="px-3 py-0">
<p className="text-sm pl-px text-default-400">
Full-stack developer, @getnextui lover she/her&nbsp;
Full-stack developer, @hero_ui lover she/her&nbsp;
<span aria-label="confetti" role="img">
🎉
</span>
@@ -2,7 +2,7 @@
import React, {useCallback, useMemo, useRef} from "react";
import dynamic from "next/dynamic";
import {Skeleton, Tab, Tabs} from "@nextui-org/react";
import {Skeleton, Tab, Tabs} from "@heroui/react";
import {useInView} from "framer-motion";
import {useCodeDemo, UseCodeDemoProps} from "./use-code-demo";
@@ -1,7 +1,7 @@
import React from "react";
import {LivePreview, LiveProvider, LiveError} from "react-live";
import {clsx} from "@nextui-org/shared-utils";
import * as NextUI from "@nextui-org/react";
import {clsx} from "@heroui/shared-utils";
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";
@@ -10,6 +10,8 @@ import {SandpackFiles} from "@codesandbox/sandpack-react/types";
import {BgGridContainer} from "@/components/bg-grid-container";
import {GradientBox, GradientBoxProps} from "@/components/gradient-box";
import {CopyButton} from "@/components/copy-button";
import {StackblitzButton} from "@/components/stackblitz-button";
import {PreviewButton} from "@/components/preview-button";
export interface ReactLiveDemoProps {
code: string;
@@ -21,10 +23,11 @@ export interface ReactLiveDemoProps {
className?: string;
gradientColor?: GradientBoxProps["color"];
overflow?: "auto" | "visible" | "hidden";
typescriptStrict?: boolean;
}
// 🚨 Do not pass react-hook-form to scope, it will break the live preview since
// it also has a "Form" component that will override the one from @nextui-org/react
// it also has a "Form" component that will override the one from @heroui/react
const reactHookForm = {
useForm: reactHookFormBase.useForm,
Controller: reactHookFormBase.Controller,
@@ -32,7 +35,7 @@ const reactHookForm = {
export const scope = {
React,
...NextUI,
...HeroUI,
...intlDateUtils,
...reactAriaI18n,
...reactHookForm,
@@ -49,11 +52,18 @@ export const ReactLiveDemo: React.FC<ReactLiveDemoProps> = ({
height,
className,
noInline,
typescriptStrict = false,
}) => {
const content = (
<>
{files?.[DEFAULT_FILE] && (
<div className="absolute top-[-28px] right-[-8px] z-50">
<div className="absolute top-[-26px] right-[3px] z-50 flex items-center">
<StackblitzButton
button={<PreviewButton icon={undefined} />}
className="before:hidden opacity-0 group-hover/code-demo:opacity-100 transition-opacity text-zinc-400"
files={files}
typescriptStrict={typescriptStrict}
/>
<CopyButton
className="before:hidden opacity-0 group-hover/code-demo:opacity-100 transition-opacity text-zinc-400"
value={files?.[DEFAULT_FILE] as string}
@@ -11,7 +11,7 @@ export const transformCode = (
) => {
let cleanedCode = code
.replace(importRegex, (match) => {
// get component name from the match ex. "import { Table } from '@nextui-org/react'"
// get component name from the match ex. "import { Table } from '@heroui/react'"
const componentName = match.match(/\w+/g)?.[1] || "";
const matchingImport = imports[componentName];
@@ -4,10 +4,10 @@ import type {Language, PrismTheme} from "prism-react-renderer";
import {useIntersectionObserver} from "usehooks-ts";
import React, {forwardRef, useEffect} from "react";
import {clsx, dataAttr, getUniqueID} from "@nextui-org/shared-utils";
import {clsx, dataAttr, getUniqueID} from "@heroui/shared-utils";
import BaseHighlight, {defaultProps} from "prism-react-renderer";
import {debounce, omit} from "@nextui-org/shared-utils";
import {cn} from "@nextui-org/react";
import {debounce, omit} from "@heroui/shared-utils";
import {cn} from "@heroui/react";
import defaultTheme from "@/libs/prism-theme";
@@ -25,17 +25,17 @@ interface CodeblockProps {
type HighlightStyle = "inserted" | "deleted" | undefined;
const nextuiCliCommand = [
/^init$/,
/^add$/,
/^upgrade$/,
/^remove$/,
/^list$/,
/^env$/,
/^doctor$/,
];
const cliCommands = [/^init$/, /^add$/, /^upgrade$/, /^remove$/, /^list$/, /^env$/, /^doctor$/];
const highlightStyleToken = ["bun", /nextui\s\w+(?=\s?)/, /^nextui$/, "Usage", ...nextuiCliCommand];
const highlightStyleToken = [
"bun",
/nextui\s\w+(?=\s?)/,
/^nextui$/,
/heroui\s\w+(?=\s?)/,
/^heroui$/,
"Usage",
...cliCommands,
];
const RE = /{([\d,-]+)}/;
const calculateLinesToHighlight = (meta?: string) => {
@@ -99,6 +99,10 @@ const CodeBlockHighlight = ({
ref={intersectionRef}
style={{
height: isVisible ? "auto" : `${height}px`,
// due to display: contents on the scrollable child element, this div will also scroll
// this causes the intersection observer to trigger if scrolled far enough horizontally
// set the width to fit-content to prevent this div from going off screen
width: "fit-content",
}}
>
{isVisible ? (
@@ -1,4 +1,4 @@
import {Button, ButtonProps, Code, Link, Tooltip} from "@nextui-org/react";
import {Button, ButtonProps, Code, Link, Tooltip} from "@heroui/react";
import {ReactNode} from "react";
import Balancer from "react-wrap-balancer";
import {usePostHog} from "posthog-js/react";
@@ -78,7 +78,7 @@ export const ComponentLinks = ({
return (
<div className="flex flex-wrap gap-3 mt-6">
<ButtonLink
href={`https://storybook.nextui.org/?path=/story/components-${
href={`https://storybook.heroui.org/?path=/story/components-${
storybook || component
}--default`}
startContent={<StorybookIcon className="text-lg text-[#ff4785]" />}
@@ -86,10 +86,10 @@ export const ComponentLinks = ({
Storybook
</ButtonLink>
<ButtonLink
href={`https://www.npmjs.com/package/@nextui-org/${npm || component}`}
href={`https://www.npmjs.com/package/@heroui/${npm || component}`}
startContent={<NpmIcon className="text-2xl text-[#E53E3E]" />}
>
{`@nextui-org/${npm || component}`}
{`@heroui/${npm || component}`}
</ButtonLink>
{reactAriaHook && (
<ButtonLink
@@ -4,25 +4,21 @@ import {FeaturesGrid} from "@/components/marketing/features-grid";
const frameworks = [
{
title: "Next.js",
description: "Full-featured React framework with great developer experience.",
icon: <NewNextJSIcon height={40} width={40} />,
href: "/docs/frameworks/nextjs",
},
{
title: "Vite",
description: "Fast and modern development server and build tool.",
icon: <ViteIcon height={40} width={40} />,
href: "/docs/frameworks/vite",
},
{
title: "Remix",
description: "Full stack framework focused on web fundamentals and modern UX.",
icon: <RemixIcon className="text-foreground" height={40} width={40} />,
href: "/docs/frameworks/remix",
},
{
title: "Astro",
description: "The all-in-one web framework designed for speed.",
icon: <AstroIcon className="text-foreground" height={40} width={40} />,
href: "/docs/frameworks/astro",
},
@@ -33,8 +29,8 @@ export const Frameworks = () => {
<FeaturesGrid
classNames={{
base: "mt-8 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-4",
header: "pb-3",
iconWrapper: "bg-default-300/20",
body: "py-0",
}}
features={frameworks}
/>
@@ -1,4 +1,4 @@
import {Tabs, Tab, Snippet} from "@nextui-org/react";
import {Tabs, Tab, Snippet} from "@heroui/react";
import Codeblock from "./codeblock";
@@ -26,7 +26,7 @@ export const ImportTabs = ({commands}: ImportTabsProps) => {
return (
<Tabs
disableAnimation
aria-label="NextUI import commands"
aria-label="HeroUI import commands"
classNames={{
base: "group mt-4",
tabList: "relative h-10",
@@ -1,6 +1,6 @@
"use client";
import {Tabs, Tab, Snippet, Code} from "@nextui-org/react";
import {Tabs, Tab, Snippet, Code} from "@heroui/react";
import {Key, useState} from "react";
import Codeblock from "./codeblock";
@@ -60,7 +60,7 @@ export const PackageManagers = ({
return (
<>
<Tabs
aria-label="NextUI installation commands"
aria-label="HeroUI installation commands"
classNames={{
base: "group mt-4 min-w-[300px] w-full overflow-x-auto",
tabList: "h-10",
@@ -99,10 +99,10 @@ export const PackageManagers = ({
})}
</Tabs>
{showGlobalInstallWarning && (
<Blockquote className="my-2 text-small" color="warning">
<Blockquote className="my-2 text-base md:text-small" color="warning">
The above command is for individual installation only. You may skip this step if{" "}
<Code className="px-1 py-0.5 text-tiny font-mono">@nextui-org/react</Code> is already
installed globally.
<Code className="px-1 py-0.5 text-small md:text-tiny font-mono">@heroui/react</Code> is
already installed globally.
</Blockquote>
)}
</>
@@ -1,10 +1,10 @@
import {parseToRgba, readableColor} from "color2k";
import {Button, Tooltip} from "@nextui-org/react";
import {commonColors, semanticColors} from "@nextui-org/theme";
import {useClipboard} from "@nextui-org/use-clipboard";
import {Button, Tooltip} from "@heroui/react";
import {commonColors, semanticColors} from "@heroui/theme";
import {useClipboard} from "@heroui/use-clipboard";
import {useState} from "react";
import {useTheme} from "next-themes";
import {get, isEmpty} from "@nextui-org/shared-utils";
import {get, isEmpty} from "@heroui/shared-utils";
type ColorsItem = {
color: string;
@@ -0,0 +1,46 @@
"use client";
import {usePostHog} from "posthog-js/react";
import NextLink from "next/link";
export const HeroUIProCallout = () => {
const posthog = usePostHog();
const handleClick = () => {
posthog.capture("HeroUI Pro Banner", {
action: "click",
category: "heroui-callout",
});
};
return (
<div className="relative w-full max-w-[12rem] flex flex-col items-center border border-default/60 hover:border-default/90 rounded-xl py-6 px-2 cursor-pointer">
<div>
<p className="leading-[1.025] tracking-tight text-center text-large font-semibold">
Ship&nbsp;
<span className="bg-clip-text text-transparent bg-gradient-to-b from-[#5EA2EF] to-[#0072F5]">
faster
</span>
<br />
with beautiful
<br />
components
</p>
<p className="text-center text-xs mt-2 px-3 font-medium text-default-500 dark:text-default-400 leading-tight">
Discover 210+ stunning components by HeroUI
</p>
</div>
<div className="mt-3 w-fit flex group items-center text-foreground hover:shadow-sm relative overflow-hidden rounded-full p-[2px]">
<span className="absolute inset-[-1000%] bg-[conic-gradient(from_90deg_at_50%_50%,#338EF7_0%,#F54180_50%,#338EF7_100%)]" />
<div className="inline-flex h-full w-full cursor-pointer items-center justify-center rounded-full bg-background transition-background p-2.5 text-xs font-medium hover:font-semibold text-foreground backdrop-blur-3xl">
Explore Components
</div>
</div>
<NextLink
className="absolute inset-0 z-[1]"
href="https://heroui.pro/components?utm_source=heroui.com&utm_medium=callout"
onClick={handleClick}
/>
</div>
);
};
+2 -2
View File
@@ -1,10 +1,10 @@
"use client";
import * as React from "react";
import {Link} from "@nextui-org/react";
import {Link} from "@heroui/react";
import {usePostHog} from "posthog-js/react";
import {useRouter} from "next/navigation";
import {ChevronIcon} from "@nextui-org/shared-icons";
import {ChevronIcon} from "@heroui/shared-icons";
import manifest from "@/config/routes.json";
import {removeFromLast} from "@/utils";
+35 -11
View File
@@ -1,25 +1,23 @@
"use client";
import {FC, useEffect, useState} from "react";
import {FC, useEffect, useState, useRef, useMemo, useLayoutEffect} from "react";
import {usePostHog} from "posthog-js/react";
import {ChevronIcon} from "@nextui-org/shared-icons";
import {ChevronIcon} from "@heroui/shared-icons";
import {CollectionBase, Expandable, MultipleSelection, Node, ItemProps} from "@react-types/shared";
import {BaseItem} from "@nextui-org/aria-utils";
import React, {useRef, useMemo} from "react";
import {BaseItem} from "@heroui/aria-utils";
import {useFocusRing} from "@react-aria/focus";
import {TreeState, useTreeState} from "@react-stately/tree";
import {useSelectableCollection} from "@react-aria/selection";
import {usePress} from "@react-aria/interactions";
import {clsx, dataAttr} from "@nextui-org/shared-utils";
import {clsx, dataAttr, debounce, isEmpty} from "@heroui/shared-utils";
import {
SpacerProps,
Spacer,
Link as NextUILink,
Link as HeroUILink,
Chip,
dataFocusVisibleClasses,
} from "@nextui-org/react";
} from "@heroui/react";
import Link from "next/link";
import {isEmpty} from "@nextui-org/shared-utils";
import {usePathname, useRouter} from "next/navigation";
import {ScrollArea} from "../scroll-area";
@@ -132,7 +130,7 @@ function TreeItem<T>(props: TreeItemProps<T>) {
}
return (
<NextUILink
<HeroUILink
as={item.props?.comingSoon ? "div" : Link}
className={clsx(cn, {
"pointer-events-none": item.props?.comingSoon,
@@ -183,7 +181,7 @@ function TreeItem<T>(props: TreeItemProps<T>) {
Coming soon
</Chip>
)}
</NextUILink>
</HeroUILink>
);
};
@@ -243,6 +241,8 @@ function Tree<T extends object>(props: CollectionBase<T> & Expandable & Multiple
let ref = useRef<HTMLDivElement>(null);
const scrollViewPortRef = useRef<HTMLDivElement>(null);
let keyboardDelegate = useMemo(
// @ts-expect-error
() => new TreeKeyboardDelegate(state.collection, state.disabledKeys),
@@ -255,12 +255,36 @@ function Tree<T extends object>(props: CollectionBase<T> & Expandable & Multiple
keyboardDelegate,
});
/* Handle scroll preservation */
useLayoutEffect(() => {
if (typeof window !== "undefined") {
const savedPosition = sessionStorage.getItem("docsSidebarScrollPosition");
if (savedPosition && scrollViewPortRef.current) {
scrollViewPortRef.current.scrollTop = Number(savedPosition);
}
}
}, []);
const handleScroll = () => {
if (typeof window !== "undefined" && scrollViewPortRef.current) {
sessionStorage.setItem(
"docsSidebarScrollPosition",
scrollViewPortRef.current.scrollTop.toString(),
);
}
};
const debouncedHandleScroll = debounce(handleScroll, 200);
return (
<ScrollArea
ref={ref}
className="h-full max-w-[90%] lg:max-h-[calc(100vh_-_64px)]"
role="tree"
{...collectionProps}
scrollViewPortRef={scrollViewPortRef}
onScroll={debouncedHandleScroll}
>
{[...state.collection].map((item) => {
if (item.type === "section") {
@@ -317,7 +341,7 @@ export const DocsSidebar: FC<DocsSidebarProps> = ({routes, slug, tag, className}
)}
</Tree>
);
}, [routes]);
}, [routes, slug, tag]);
return (
<div
+62 -60
View File
@@ -1,11 +1,13 @@
"use client";
import {FC, useRef, useEffect, useState} from "react";
import {clsx} from "@nextui-org/shared-utils";
import {Divider, Spacer} from "@nextui-org/react";
import {ChevronCircleTopLinearIcon} from "@nextui-org/shared-icons";
import {clsx} from "@heroui/shared-utils";
import {Divider, Spacer} from "@heroui/react";
import {ChevronCircleTopLinearIcon} from "@heroui/shared-icons";
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";
@@ -65,64 +67,64 @@ export const DocsToc: FC<DocsTocProps> = ({headings}) => {
}, []);
return (
<div
ref={tocRef}
className={clsx(
"fixed w-full max-w-[12rem] flex flex-col gap-4 text-left pb-28 h-[calc(100vh-121px)] scrollbar-hide overflow-y-scroll",
isProBannerVisible ? "top-32" : "top-20",
)}
style={{
WebkitMaskImage: `linear-gradient(to top, transparent 0%, #000 100px, #000 ${
scrollPosition > 30 ? "90%" : "100%"
}, transparent 100%)`,
}}
>
<p className="text-sm font-medium">On this page</p>
<ul className="scrollbar-hide flex flex-col gap-2">
{headings.map(
(heading, i) =>
heading.level > 1 && (
<li
key={i}
className={clsx(
"transition-colors",
"font-normal",
"flex items-center text-tiny font-normal text-default-500 dark:text-default-300",
"data-[active=true]:text-foreground",
"dark:data-[active=true]:text-foreground",
"before:content-['']",
"before:opacity-0",
"data-[active=true]:before:opacity-100",
"before:transition-opacity",
"before:-ml-3",
"before:absolute",
"before:bg-default-400",
"before:w-1",
"before:h-1",
"before:rounded-full",
paddingLeftByLevel[heading.level],
)}
data-active={activeId == heading.id}
>
<a href={`#${heading.id}`}>{heading.text}</a>
</li>
),
)}
<li
className="mt-2 opacity-0 data-[visible=true]:opacity-100 transition-opacity"
data-visible={activeIndex >= 2}
>
<Divider />
<Spacer y={2} />
<a
className="flex gap-2 items-center text-tiny text-default-500 dark:text-foreground/30 hover:text-foreground/80 pl-4 transition-opacity"
href={`#${firstId}`}
<div className={clsx("fixed", isProBannerVisible ? "top-32" : "top-20")}>
<div
ref={tocRef}
className="w-full max-w-[12rem] max-h-[calc(100vh-500px)] flex flex-col gap-4 text-left pb-16 scrollbar-hide overflow-y-scroll"
style={{
WebkitMaskImage: `linear-gradient(to top, transparent 0%, #000 100px, #000 ${
scrollPosition > 30 ? "90%" : "100%"
}, transparent 100%)`,
}}
>
<p className="text-sm font-medium">On this page</p>
<ul className="scrollbar-hide flex flex-col gap-2">
{headings.map(
(heading, i) =>
heading.level > 1 && (
<li
key={i}
className={clsx(
"transition-colors",
"font-normal",
"flex items-center text-tiny font-normal text-default-500 dark:text-default-300",
"data-[active=true]:text-foreground",
"dark:data-[active=true]:text-foreground",
"before:content-['']",
"before:opacity-0",
"data-[active=true]:before:opacity-100",
"before:transition-opacity",
"before:-ml-3",
"before:absolute",
"before:bg-default-400",
"before:w-1",
"before:h-1",
"before:rounded-full",
paddingLeftByLevel[heading.level],
)}
data-active={activeId == heading.id}
>
<a href={`#${heading.id}`}>{heading.text}</a>
</li>
),
)}
<li
className="mt-2 opacity-0 data-[visible=true]:opacity-100 transition-opacity"
data-visible={activeIndex >= 2}
>
Back to top
<ChevronCircleTopLinearIcon />
</a>
</li>
</ul>
<Divider />
<Spacer y={2} />
<a
className="flex gap-2 items-center text-tiny text-default-500 dark:text-foreground/30 hover:text-foreground/80 pl-4 transition-opacity"
href={`#${firstId}`}
>
Back to top
<ChevronCircleTopLinearIcon />
</a>
</li>
</ul>
</div>
<HeroUIProCallout />
</div>
);
};
@@ -4,7 +4,7 @@ import NextLink from "next/link";
import {usePostHog} from "posthog-js/react";
import arrowRightUpIcon from "@iconify/icons-solar/arrow-right-up-linear";
import {Icon} from "@iconify/react/dist/offline";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
type Props = {
className?: string;
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import {Button, Link} from "@nextui-org/react";
import {Button, Link} from "@heroui/react";
import {usePostHog} from "posthog-js/react";
export const FigmaButton = () => {
+1 -1
View File
@@ -1,7 +1,7 @@
"use client";
import {usePathname} from "next/navigation";
import {Link} from "@nextui-org/react";
import {Link} from "@heroui/react";
import {getCurrentYear} from "@/utils/time";
import {XIcon, GithubIcon, DiscordIcon} from "@/components/icons";
+127
View File
@@ -0,0 +1,127 @@
import React from "react";
import {cn} from "@heroui/theme";
import {IconSvgProps} from "@/types";
import {dataAttr} from "@/utils";
export interface LogoProps extends IconSvgProps {
auto?: boolean;
small?: boolean;
outlined?: boolean;
fill?: string;
className?: string;
}
export const SmallLogoOutlined: React.FC<LogoProps> = ({
auto,
size,
width,
height,
className,
...props
}) => (
<svg
className={cn("data-[auto=true]:sm:hidden block text-foreground", className)}
data-auto={dataAttr(auto)}
fill="none"
height={height || size || 25}
viewBox="0 0 126 126"
width={width || size || 25}
{...props}
>
<path
d="M33.3529 5H92.6471C108.306 5 121 17.694 121 33.3529V92.6471C121 108.306 108.306 121 92.6471 121H33.3529C17.694 121 5 108.306 5 92.6471V33.3529C5 17.694 17.694 5 33.3529 5Z"
stroke="currentColor"
strokeWidth="10"
/>
<path d="M94.9539 36V89.6887H86.3363V36H94.9539Z" fill="currentColor" />
<path
d="M69.0885 36H77.7339V71.3118C77.7339 75.0694 76.795 78.3987 74.9172 81.2998C73.0394 84.1835 70.3993 86.4555 66.9969 88.1158C63.5945 89.7586 59.6064 90.58 55.0327 90.58C50.4776 90.58 46.4988 89.7586 43.0964 88.1158C39.694 86.4555 37.0539 84.1835 35.1761 81.2998C33.2983 78.3987 32.3594 75.0694 32.3594 71.3118V36H40.9769V70.6565C40.9769 73.0857 41.544 75.2441 42.6781 77.1316C43.8308 79.0191 45.4577 80.5046 47.5586 81.5882C49.6595 82.6543 52.1509 83.1873 55.0327 83.1873C57.9331 83.1873 60.4338 82.6543 62.5347 81.5882C64.6542 80.5046 66.2718 79.0191 67.3873 77.1316C68.5214 75.2441 69.0885 73.0857 69.0885 70.6565V36Z"
fill="currentColor"
/>
</svg>
);
export const SmallLogo: React.FC<LogoProps> = ({
auto,
size,
width,
height,
className,
...props
}) => (
<svg
className={cn("data-[auto=true]:sm:hidden block text-foreground", className)}
data-auto={dataAttr(auto)}
fill="none"
height={height || size || 25}
viewBox="0 0 126 126"
width={width || size || 25}
{...props}
>
<path
d="M92.6471 0H33.3529C14.9326 0 0 14.9326 0 33.3529V92.6471C0 111.067 14.9326 126 33.3529 126H92.6471C111.067 126 126 111.067 126 92.6471V33.3529C126 14.9326 111.067 0 92.6471 0Z"
fill="currentColor"
/>
<path className="fill-background" d="M86.3181 89.4661V36H92.9271V89.4661H86.3181Z" />
<path
className="fill-background"
d="M54.0894 90.58C49.9557 90.58 46.3046 89.726 43.1363 88.0181C39.9679 86.3101 37.4803 83.9215 35.6733 80.8521C33.8911 77.758 33 74.1317 33 69.9733V36.0371L39.6833 36V69.4163C39.6833 71.9411 40.1041 74.1441 40.9457 76.0253C41.812 77.8818 42.9506 79.4289 44.3616 80.6665C45.7725 81.9041 47.3195 82.8324 49.0027 83.4512C50.7107 84.0453 52.4062 84.3423 54.0894 84.3423C55.7974 84.3423 57.5053 84.0329 59.2133 83.4141C60.9212 82.7952 62.4682 81.8794 63.8544 80.6665C65.2653 79.4289 66.3916 77.8694 67.2332 75.9882C68.0748 74.107 68.4956 71.9164 68.4956 69.4163V36H75.1788V69.9733C75.1788 74.107 74.2754 77.7209 72.4684 80.815C70.6862 83.9091 68.2109 86.3101 65.0425 88.0181C61.8742 89.726 58.2231 90.58 54.0894 90.58Z"
/>
</svg>
);
export const LargeLogo: React.FC<LogoProps> = ({auto, className, ...props}) => (
<svg
className={cn(
"data-[auto=true]:hidden data-[auto=true]:sm:block block text-foreground",
className,
)}
data-auto={dataAttr(auto)}
fill="none"
viewBox="0 0 384 96"
{...props}
>
<path d="M374.28 93.12V0.959961H383.688V93.12H374.28Z" fill="currentColor" />
<path
d="M319.093 95.04C312.053 95.04 305.824 93.5893 300.405 90.688C295.029 87.7866 290.805 83.6906 287.733 78.4C284.661 73.1093 283.125 66.9226 283.125 59.84V1.02396L292.597 0.959961V58.624C292.597 63.4026 293.408 67.5413 295.029 71.04C296.65 74.496 298.762 77.3546 301.365 79.616C304.01 81.8346 306.89 83.4773 310.005 84.544C313.12 85.6106 316.149 86.144 319.093 86.144C322.08 86.144 325.13 85.6106 328.245 84.544C331.36 83.4773 334.218 81.8346 336.821 79.616C339.424 77.3546 341.536 74.496 343.157 71.04C344.778 67.5413 345.589 63.4026 345.589 58.624V0.959961H355.061V59.84C355.061 66.9226 353.525 73.1093 350.453 78.4C347.381 83.648 343.136 87.744 337.717 90.688C332.341 93.5893 326.133 95.04 319.093 95.04Z"
fill="currentColor"
/>
<path
d="M236.239 95.04C229.37 95.04 223.503 93.4827 218.639 90.368C213.775 87.2534 210.042 82.944 207.439 77.44C204.836 71.936 203.535 65.6214 203.535 58.496C203.535 51.2427 204.858 44.8854 207.503 39.424C210.148 33.9627 213.903 29.7173 218.767 26.688C223.674 23.616 229.498 22.08 236.239 22.08C243.151 22.08 249.039 23.6373 253.903 26.752C258.81 29.824 262.543 34.112 265.103 39.616C267.706 45.0774 269.007 51.3707 269.007 58.496C269.007 65.7494 267.706 72.128 265.103 77.632C262.5 83.0934 258.746 87.36 253.839 90.432C248.932 93.504 243.066 95.04 236.239 95.04ZM236.239 86.016C243.919 86.016 249.636 83.4773 253.391 78.4C257.146 73.28 259.023 66.6454 259.023 58.496C259.023 50.1333 257.124 43.4773 253.327 38.528C249.572 33.5787 243.876 31.104 236.239 31.104C231.076 31.104 226.81 32.2773 223.439 34.624C220.111 36.928 217.615 40.1494 215.951 44.288C214.33 48.384 213.519 53.12 213.519 58.496C213.519 66.816 215.439 73.4933 219.279 78.528C223.119 83.52 228.772 86.016 236.239 86.016Z"
fill="currentColor"
/>
<path
d="M162.5 93.12V24H170.948V40.64L169.284 38.464C170.052 36.416 171.055 34.5387 172.292 32.832C173.529 31.0827 174.873 29.6533 176.324 28.544C178.116 26.9653 180.207 25.7707 182.596 24.96C184.985 24.1067 187.396 23.616 189.828 23.488C192.26 23.3173 194.479 23.488 196.484 24V32.832C193.967 32.192 191.215 32.0427 188.228 32.384C185.241 32.7253 182.489 33.92 179.972 35.968C177.668 37.76 175.94 39.9147 174.788 42.432C173.636 44.9067 172.868 47.552 172.484 50.368C172.1 53.1413 171.908 55.8933 171.908 58.624V93.12H162.5Z"
fill="currentColor"
/>
<path
d="M116.873 95.04C110.132 95.04 104.286 93.5467 99.337 90.56C94.4304 87.5734 90.6117 83.3707 87.881 77.952C85.1504 72.5334 83.785 66.176 83.785 58.88C83.785 51.328 85.129 44.8 87.817 39.296C90.505 33.792 94.281 29.5467 99.145 26.56C104.052 23.5733 109.833 22.08 116.489 22.08C123.316 22.08 129.14 23.6587 133.961 26.816C138.782 29.9307 142.43 34.4107 144.905 40.256C147.38 46.1014 148.51 53.0773 148.297 61.184H138.697V57.856C138.526 48.896 136.585 42.1333 132.873 37.568C129.204 33.0027 123.828 30.72 116.745 30.72C109.321 30.72 103.625 33.1307 99.657 37.952C95.7317 42.7734 93.769 49.6427 93.769 58.56C93.769 67.264 95.7317 74.0267 99.657 78.848C103.625 83.6267 109.236 86.016 116.489 86.016C121.438 86.016 125.748 84.8853 129.417 82.624C133.129 80.32 136.052 77.0134 138.185 72.704L146.953 76.096C144.222 82.112 140.19 86.784 134.857 90.112C129.566 93.3974 123.572 95.04 116.873 95.04ZM99 61.184V53.312H143.241V61.184H99Z"
fill="currentColor"
/>
<path
d="M0 93.12V0.959961H9.408V42.496H60.352V0.959961H69.696V93.12H60.352V51.52H9.408V93.12H0Z"
fill="currentColor"
/>
</svg>
);
export const HeroUILogo: React.FC<LogoProps> = ({auto, small, outlined, ...props}) => {
if (outlined) {
return <SmallLogoOutlined {...props} />;
}
if (auto) {
return (
<div>
<SmallLogo auto={auto} {...props} />
<LargeLogo auto={auto} {...props} />
</div>
);
}
if (small) {
return <SmallLogo {...props} />;
}
return <LargeLogo auto={auto} {...props} />;
};
+18
View File
@@ -423,6 +423,23 @@ const CodeSandboxIcon: React.FC<IconSvgProps> = ({width = "1em", height = "1em",
);
};
const StackblitzIcon: React.FC<IconSvgProps> = ({...props}) => {
return (
<svg
height={16}
viewBox="0 0 1024 1024"
width={16}
xmlns="http://www.w3.org/2000/svg"
{...props}
>
<path
d="M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7M378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211z"
fill="currentColor"
/>
</svg>
);
};
const JavascriptIcon: React.FC<IconSvgProps> = ({width = "1em", height = "1em", ...props}) => {
return (
<svg
@@ -470,6 +487,7 @@ export {
NewNextJSIcon,
StorybookIcon,
CodeSandboxIcon,
StackblitzIcon,
JavascriptIcon,
TypescriptIcon,
BunIcon,
+1 -1
View File
@@ -1,4 +1,4 @@
export * from "./nextui-logo";
export * from "./heroui-logo";
export * from "./theme-switch";
export * from "./looper-bg";
export * from "./code-window";
+7 -7
View File
@@ -4,21 +4,21 @@
import {
Button,
Image,
Link as NextUILink,
Link as HeroUILink,
Dropdown,
DropdownSection,
DropdownMenu,
DropdownItem,
Tooltip,
} from "@nextui-org/react";
} from "@heroui/react";
import {useInView} from "framer-motion";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
import {
AddNoteBulkIcon,
CopyDocumentBulkIcon,
EditDocumentBulkIcon,
DeleteDocumentBulkIcon,
} from "@nextui-org/shared-icons";
} from "@heroui/shared-icons";
import Link from "next/link";
import dynamic from "next/dynamic";
import {Fragment, useEffect, useRef, useState} from "react";
@@ -102,15 +102,15 @@ export const A11yOtb = () => {
</div>
</div>
<p className={subtitle()}>
NextUI components are built on top of&nbsp;
<NextUILink
HeroUI components are built on top of&nbsp;
<HeroUILink
isExternal
className="text-xl text-default-500 font-light [&>svg]:ml-1"
href="https://react-spectrum.adobe.com/react-aria/"
underline="always"
>
React Aria
</NextUILink>
</HeroUILink>
&nbsp;ensuring exceptional accessibility support as a top priority.
</p>
</div>
+1 -1
View File
@@ -1,4 +1,4 @@
import {Spacer} from "@nextui-org/react";
import {Spacer} from "@heroui/react";
import {sectionWrapper, titleWrapper, title, subtitle} from "../primitives";
@@ -2,7 +2,7 @@
/* eslint-disable react/display-name */
import {useMemo, useState} from "react";
import {Tabs, Tab, Card, CardBody, Image, Button, RadioGroup, Radio} from "@nextui-org/react";
import {Tabs, Tab, Card, CardBody, Image, Button, RadioGroup, Radio} from "@heroui/react";
import NextLink from "next/link";
import NextImage from "next/image";
@@ -10,25 +10,33 @@ import {shopCartStyles} from "./styles";
import {title, subtitle, titleWrapper, sectionWrapper} from "@/components/primitives";
import {PaletteIcon, MagicIcon, GamingConsoleIcon, StarIcon} from "@/components/icons";
import {NextUILogo, CodeWindow} from "@/components";
import {HeroUILogo, CodeWindow} from "@/components";
import landingContent from "@/content/landing";
import {useIsMobile} from "@/hooks/use-media-query";
const themesTabs = (isMobile: boolean) => [
{
id: "nextui",
title: () => <p className="group-data-[selected=true]:text-primary">NextUI</p>,
id: "heroui",
title: () => (
<p className="group-data-[selected=true]:text-foreground group-data-[selected=true]:font-medium">
HeroUI
</p>
),
icon: () => (
<NextUILogo
small
className="text-default-400 group-data-[selected=true]:text-primary"
<HeroUILogo
outlined
className="text-default-400 group-data-[selected=true]:text-foreground"
size={isMobile ? 34 : 44}
/>
),
},
{
id: "modern",
title: () => <p className="group-data-[selected=true]:text-secondary">Modern</p>,
title: () => (
<p className="group-data-[selected=true]:text-secondary group-data-[selected=true]:font-medium">
Modern
</p>
),
icon: () => (
<PaletteIcon
className="group-data-[selected=true]:text-secondary"
@@ -38,12 +46,20 @@ const themesTabs = (isMobile: boolean) => [
},
{
id: "elegant",
title: () => <p className="group-data-[selected=true]:text-foreground">Elegant</p>,
title: () => (
<p className="group-data-[selected=true]:text-foreground group-data-[selected=true]:font-medium">
Elegant
</p>
),
icon: () => <MagicIcon size={isMobile ? 34 : 44} />,
},
{
id: "retro",
title: () => <p className="group-data-[selected=true]:text-warning">Retro</p>,
title: () => (
<p className="group-data-[selected=true]:text-warning group-data-[selected=true]:font-medium">
Retro
</p>
),
icon: () => (
<GamingConsoleIcon
className="group-data-[selected=true]:text-warning"
@@ -53,13 +69,13 @@ const themesTabs = (isMobile: boolean) => [
},
];
type Theme = "nextui" | "modern" | "elegant" | "retro";
type Theme = "heroui" | "modern" | "elegant" | "retro";
type Tab = {id: string; title: () => JSX.Element; icon: () => JSX.Element};
const itemSizes = ["xs", "s", "m", "l", "xl"];
const codeHighlights = {
nextui: "6-19",
heroui: "6-19",
modern: "26-39",
elegant: "46-59",
retro: "66-84",
@@ -163,7 +179,7 @@ const CustomThemesExample = ({
<Button
className={slots.buyButton()}
color="primary"
variant={selectedTheme === "nextui" ? "shadow" : "solid"}
variant={selectedTheme === "heroui" ? "shadow" : "solid"}
>
Buy now
</Button>
@@ -224,7 +240,7 @@ export const CustomThemes = () => {
</div>
</div>
<p className={subtitle()}>
NextUI provides a custom TailwindCSS plugin that allows you to customize the default
HeroUI provides a custom TailwindCSS plugin that allows you to customize the default
themes or create your own.
</p>
</div>
@@ -71,7 +71,7 @@ export const shopCartStyles = tv({
},
variants: {
theme: {
nextui: {
heroui: {
card: "py-5",
imageWrapper: ["before:rounded-2xl", "before:from-[#010187] before:to-[#18000E]"],
sizeOption: [
@@ -211,7 +211,7 @@ export const shopCartStyles = tv({
},
},
defaultVariants: {
theme: "nextui",
theme: "heroui",
},
});
@@ -1,7 +1,7 @@
"use client";
/* eslint-disable react/display-name */
import {Button, Link} from "@nextui-org/react";
import {Button, Link} from "@heroui/react";
import NextLink from "next/link";
import {title, subtitle, titleWrapper, sectionWrapper} from "@/components/primitives";
@@ -22,7 +22,7 @@ export const Customization = () => {
</div>
</div>
<p className={subtitle()}>
NextUI is based on{" "}
HeroUI is based on{" "}
<Link
isExternal
className="text-xl text-default-500 font-light [&>svg]:ml-1"
+3 -3
View File
@@ -1,7 +1,7 @@
"use client";
/* eslint-disable react/display-name */
import {Code, Button, Tooltip} from "@nextui-org/react";
import {Code, Button, Tooltip} from "@heroui/react";
import {useState} from "react";
import NextLink from "next/link";
import dynamic from "next/dynamic";
@@ -33,7 +33,7 @@ export const DarkMode = () => {
</div>
</div>
<p className={subtitle()}>
NextUI comes with a fully well-scaled default dark theme that you can apply to your
HeroUI comes with a fully well-scaled default dark theme that you can apply to your
application with just adding the <Code>dark</Code> attribute to your <Code>html</Code>.
</p>
</div>
@@ -91,7 +91,7 @@ export const DarkMode = () => {
<DemoCodeModal
code={landingContent.darkModeExampleCode}
isOpen={isModalOpen}
subtitle="A simple music player component built using components from NextUI."
subtitle="A simple music player component built using components from HeroUI."
title="MusicPlayer"
onClose={() => setIsModalOpen(false)}
/>
@@ -3,9 +3,9 @@
import React, {ReactNode} from "react";
import {usePostHog} from "posthog-js/react";
import {tv} from "tailwind-variants";
import {Card, CardHeader, CardBody, LinkProps, SlotsToClasses} from "@nextui-org/react";
import {Card, CardHeader, CardBody, LinkProps, SlotsToClasses} from "@heroui/react";
import {useRouter} from "next/navigation";
import {LinkIcon} from "@nextui-org/shared-icons";
import {LinkIcon} from "@heroui/shared-icons";
const styles = tv({
slots: {
@@ -1,6 +1,6 @@
"use client";
import {clsx} from "@nextui-org/shared-utils";
import {clsx} from "@heroui/shared-utils";
import {useIsMounted} from "@/hooks/use-is-mounted";
@@ -9,8 +9,8 @@ import {
Switch,
Spinner,
Pagination,
} from "@nextui-org/react";
import {MoonFilledIcon, SunFilledIcon} from "@nextui-org/shared-icons";
} from "@heroui/react";
import {MoonFilledIcon, SunFilledIcon} from "@heroui/shared-icons";
import {useTheme} from "next-themes";
import NextImage from "next/image";
@@ -19,7 +19,7 @@ import {FloatingTabs} from "./floating-tabs";
import {UserTwitterCard} from "@/components/demos/user-twitter-card";
import {useIsMounted} from "@/hooks/use-is-mounted";
import {useMediaQuery} from "@/hooks/use-media-query";
import {NextUILogo} from "@/components/nextui-logo";
import {HeroUILogo} from "@/components/heroui-logo";
export const FloatingComponents: React.FC<{}> = () => {
const {theme, setTheme} = useTheme();
@@ -52,7 +52,7 @@ export const FloatingComponents: React.FC<{}> = () => {
<Input
className="absolute -top-[60px] -right-[80px] animate-[levitate_10s_ease_infinite] w-[200px]"
color="secondary"
defaultValue="NextUI"
defaultValue="HeroUI"
label="Input"
labelPlacement="outside"
variant="bordered"
@@ -86,7 +86,7 @@ export const FloatingComponents: React.FC<{}> = () => {
shadow="lg"
>
<CardBody>
<NextUILogo small size={60} />
<HeroUILogo small size={60} />
</CardBody>
</Card>
@@ -1,6 +1,6 @@
"use client";
import {Tab, Tabs} from "@nextui-org/react";
import {Tab, Tabs} from "@heroui/react";
export const FloatingTabs: React.FC<{}> = () => {
return (
+17 -13
View File
@@ -1,8 +1,8 @@
"use client";
import NextLink from "next/link";
import {Button, Link, Chip, Snippet} from "@nextui-org/react";
import {ArrowRightIcon} from "@nextui-org/shared-icons";
import {Button, Link, Chip, Snippet} from "@heroui/react";
import {ArrowRightIcon} from "@heroui/shared-icons";
import dynamic from "next/dynamic";
import {usePostHog} from "posthog-js/react";
@@ -10,6 +10,7 @@ import {FloatingComponents} from "./floating-components";
import {GithubIcon} from "@/components/icons";
import {title, subtitle} from "@/components/primitives";
import {siteConfig} from "@/config/site";
const BgLooper = dynamic(() => import("./bg-looper").then((mod) => mod.BgLooper), {
ssr: false,
@@ -33,16 +34,18 @@ export const Hero = () => {
<div className="flex justify-center w-full md:hidden">
<Chip
as={NextLink}
className="bg-primary-100/50 border-1 hover:bg-primary-100/80 border-primary-200/50 cursor-pointer"
className="bg-foreground-100/50 border-1 hover:bg-foreground-100/80 border-foreground-200/50 cursor-pointer"
classNames={{
content: "font-semibold text-primary-500 dark:text-primary-600 text-xs ",
content: "font-semibold text-foreground text-xs ",
}}
color="primary"
href="/blog/v2.6.0"
href="/blog/introducing-heroui"
variant="flat"
onClick={() => handlePressAnnouncement("New version v2.6.0", "/blog/v2.6.0")}
onClick={() =>
handlePressAnnouncement("Introducing HeroUI", "/blog/introducing-heroui")
}
>
New version v2.6.0&nbsp;
Introducing HeroUI&nbsp;
<span aria-label="emoji" role="img">
🔥
</span>
@@ -55,8 +58,9 @@ export const Hero = () => {
</div>
<h1 className={title()}>websites regardless of your design experience.</h1>
</div>
<h2 className={subtitle({fullWidth: true, class: "text-center md:text-left"})}>
Beautiful, fast and modern React UI library.
<h2 className={subtitle({fullWidth: true, class: "text-center md:text-left lg:pr-8"})}>
Beautiful, fast and modern React UI library for building accessible and customizable web
applications.
</h2>
<div className="flex flex-col items-center gap-4 md:flex-row">
<Button
@@ -93,18 +97,18 @@ export const Hero = () => {
name: "Copy",
action: "click",
category: "landing-page",
data: "npx nextui-cli@latest init",
data: "npx heroui-cli@latest init",
});
}}
>
npx nextui-cli@latest init
npx heroui-cli@latest init
</Snippet>
<Button
fullWidth
isExternal
as={Link}
className="w-full md:hidden"
href="https://github.com/nextui-org/nextui"
href={siteConfig.links.github}
radius="full"
size="lg"
startContent={<GithubIcon />}
@@ -114,7 +118,7 @@ export const Hero = () => {
name: "Github",
action: "click",
category: "landing-page",
data: "https://github.com/nextui-org/nextui",
data: siteConfig.links.github,
});
}}
>
@@ -1,6 +1,6 @@
"use client";
import {Button, Chip} from "@nextui-org/react";
import {Button, Chip} from "@heroui/react";
import {useEffect, useState} from "react";
import {useTheme} from "next-themes";
@@ -10,7 +10,7 @@ import Marquee from "./marquee";
import {useIsMobile} from "@/hooks/use-media-query";
export const NextUIProSection = () => {
export const HeroUIProSection = () => {
const [mounted, setMounted] = useState(false);
useEffect(() => {
@@ -96,7 +96,7 @@ export const NextUIProSection = () => {
</div>
<p className={subtitle({class: "pr-12 text-foreground-500"})}>
Premade templates of over 210+ beautiful and responsive components, professionally
created by the team behind NextUI.
created by the team behind HeroUI.
</p>
<div className="mt-4 text-foreground-600 font-medium">
<div className="flex gap-x-4 items-center">
@@ -121,11 +121,11 @@ export const NextUIProSection = () => {
as={"a"}
className="px-6 flex items-center"
color="primary"
href="https://nextui.pro?utm_source=nextui.org&utm_medium=nextui-homepage-section"
href="https://heroui.pro?utm_source=heroui.org&utm_medium=heroui-homepage-section"
rel="noopener noreferrer"
target="_blank"
>
Explore NextUI Pro
Explore HeroUI Pro
<svg
fill="none"
height="21"
@@ -0,0 +1,32 @@
import {Button} from "@heroui/react";
export const HeroUIProButton = () => (
<Button
as={"a"}
className="px-6 flex items-center"
color="primary"
href="https://heroui.pro?utm_source=heroui.com&utm_medium=heroui-homepage-section"
rel="noopener noreferrer"
target="_blank"
>
Explore HeroUI Pro
<svg fill="none" height="21" viewBox="0 0 20 21" width="20" xmlns="http://www.w3.org/2000/svg">
<path
d="M12.0254 5.44189L17.0837 10.5002L12.0254 15.5586"
stroke="white"
strokeLinecap="round"
strokeLinejoin="round"
strokeMiterlimit="10"
strokeWidth="1.5"
/>
<path
d="M2.91602 10.5H16.941"
stroke="white"
strokeLinecap="round"
strokeLinejoin="round"
strokeMiterlimit="10"
strokeWidth="1.5"
/>
</svg>
</Button>
);
@@ -0,0 +1,14 @@
import {Chip} from "@heroui/react";
export const HeroUIProChip = () => (
<Chip
classNames={{
base: "ml-0.5 transition-colors bg-gradient-to-br from-cyan-600 to-blue-600",
content: "text-tiny font-semibold",
}}
color="primary"
size="sm"
>
PRO
</Chip>
);
@@ -0,0 +1,32 @@
"use client";
import {useTheme} from "next-themes";
import NextImage from "next/image";
import {useEffect, useState} from "react";
export const HeroUIProImage = () => {
const [mounted, setMounted] = useState(false);
const {theme} = useTheme();
const isDarkMode = theme === "dark";
useEffect(() => {
setMounted(true);
}, []);
let imgSrc = isDarkMode
? "https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/images/nextuipro-section-background.webp"
: "https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/images/nextuipro-section-background-light.webp";
if (!mounted) return null;
return (
<NextImage
alt="Hero Background"
className="opacity-0 animate-fadeIn"
height={3255}
quality={100}
src={imgSrc}
width={1920}
/>
);
};
@@ -0,0 +1,105 @@
import {memo} from "react";
import clsx from "clsx";
import {sectionWrapper, title, titleWrapper, subtitle} from "../../primitives";
import Marquee from "../marquee";
import {HeroUIProButton} from "./heroui-pro-button";
import {HeroUIProChip} from "./heroui-pro-chip";
import {HeroUIProImage} from "./heroui-pro-image";
const CheckmarkIcon = memo(() => (
<svg fill="none" height="11" viewBox="0 0 13 11" width="13" xmlns="http://www.w3.org/2000/svg">
<path
d="M1 6.4L4.14286 10L12 1"
stroke="#006FEE"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
/>
</svg>
));
CheckmarkIcon.displayName = "CheckmarkIcon";
export const HeroUIProSection = () => {
return (
<section
className={sectionWrapper({
class: "flex-row items-end relative mt-16 lg:mt-44 overflow-hidden",
})}
>
<div className="flex min-h-[480px]">
<div className="w-full w-full relative z-30 flex h-full flex-col items-start justify-center leading-8 pt-4">
<HeroUIProChip />
<div className={titleWrapper({class: "mt-2 inline md:block"})}>
<h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
Ship&nbsp;
</h1>
<h1
className={title({
size: "lg",
color: "blue",
class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]",
})}
>
faster&nbsp;
</h1>
<h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
with&nbsp;
</h1>
<div className="flex flex-col sm:flex-row">
<h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
beautiful&nbsp;
</h1>
<h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
components
</h1>
</div>
</div>
<p className={subtitle({class: "pr-12 text-foreground-500"})}>
Premade templates of over 210+ beautiful and responsive components, professionally
created by the team behind HeroUI.
</p>
<ul className="mt-4 text-foreground-600 font-medium">
<li className="flex gap-x-4 items-center">
<CheckmarkIcon />
210+ Components
</li>
<li className="flex gap-x-4 items-center">
<CheckmarkIcon />
Lifetime Access
</li>
<li className="flex gap-x-4 items-center">
<CheckmarkIcon />
Free Updates
</li>
<li className="flex gap-x-4 items-center">
<CheckmarkIcon />
Figma Files Included
</li>
</ul>
<div className="mt-4">
<HeroUIProButton />
</div>
</div>
</div>
<div className="hidden md:block w-screen">
<Marquee
vertical
className="hidden md:block relative flex overflow-visible items-center min-h-[480px]"
duration={90}
wrapperClassName="absolute md:top-24 -left-[47%] w-[1000px]"
>
<HeroUIProImage />
</Marquee>
<div
className={clsx(
"absolute inset-0 pointer-events-none z-20 bg-white dark:bg-black",
"[-webkit-mask-image:radial-gradient(at_70%_50%,_rgba(255,255,255,0)_20%,_rgba(255,255,255,0.8)_40%,_rgba(0,0,0,1)_60%)]",
)}
/>
</div>
</section>
);
};

Some files were not shown because too many files have changed in this diff Show More