Compare commits

...

191 Commits

Author SHA1 Message Date
github-actions[bot] f37e108588 ci(changesets): version packages (#6059)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2026-01-29 23:41:54 +08:00
WK 63c12e5359 chore(docs): update meta (#6168) 2026-01-29 00:20:06 +08:00
Bohdan Kulinchenko 1a2635beda fix(system-rsc): extendVariants & compound variants types (#5847)
* fix(extendVariants): return component type error

* fix(CompoundVariants): correct type inference for extended/compound variants and composition

* test: cover compound/extend inference; enforce CP required props

* fix(types): correct CompoundVariants class value inference

Replaces the conditional ClassProp logic with a simpler,
consistent form to fix incorrect slot value inference.

Before:
  ClassProp<S extends undefined ? ClassValue : ClassValue | SlotsClassValue<S>>

After:
  ClassProp<ClassValue | GetSuggestedValues<S>>

This ensures GetSuggestedValues<S> is used for slot-aware variants
and avoids duplicated conditional branches for undefined slots.

* fix(system-rsc): correct slot detection in getSlots()

* fix(types): make ExtendVariants props optional and guard V[key] with NonNullable

Simplifies the return type of ExtendVariants to ensure no required props
are enforced at the HOC level. This aligns with the intended API contract
where extended components expose all props as optional.

- All keys (CP ∪ V) are optional
- Preserve CP type hints and booleanized V values
- Added NonNullable<V[key]> guard to prevent undefined indexing

* test(extendVariants): add compoundVariants integration test

* fix(system-rsc): getSlots() brief JSDoc comment added

* test(extendVariants):  new styles - extended & fixed styles - original tests for slots component

* test(extendVariants): fixed slot component variant styles extended test

* fix(types): avoid leaking React internals by removing PropsWithoutRef

Replace PropsWithoutRef with explicit Exclude<'ref'> in mapped keys and
intersect with RefAttributes<InferRef<C>>. This prevents @types/react’s
internal UNDEFINED_VOID_ONLY from leaking into the public .d.ts and fixes
declaration emit for components like extended Autocomplete.

* chore(changeset): add patch for extendVariants and CompoundVariants type fix

* chore(system-rsc): add changeset for getSlots() slot detection fix

* refactor(types): unify slot value inference via GetSuggestedValues<S> for consistent variant typing

* fix(extendVariants): improved as-prop handling and exclude classNames from SuggestedVariants

* fix(system-rsc): add polymorphic 'as' prop support to extendVariants

* chore(system-rsc): add missing tests

---------

Co-authored-by: doki- <1335902682@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2026-01-28 23:52:36 +08:00
KumJungMin 7814df7cea fix(listbox): prevent option focus from start/end content slots (#6060)
* fix(listbox): prevent option focus from start/end content slots

* test: add test code about when clicking
non-interactive slot content, and prevented focus leakage from interactive
start/end content such as buttons.

* docs: add changeset

* chore(changeset): add issue number

---------

Co-authored-by: WK <wingkwong.code@gmail.com>
2026-01-28 23:45:15 +08:00
WK 5549167041 refactor(theme): remove flat dependency (#6157)
* chore(deps): remove flat library

* refactor(theme): replace flatten from flat

* chore: add changeset
2026-01-28 20:48:02 +08:00
Deepansh Bhargava 96b1f498cf fix(accordion): click behaviour for dynamically generated accordion items (#6133)
* fix(accordion): add collection state

* chore: add changeset

* fix: update change set
2026-01-27 17:52:34 +08:00
Junior 4add7525a0 Merge branch 'main' of github.com:heroui-inc/heroui into canary 2026-01-07 12:07:37 -03:00
KyZy7 d5a5c77ed6 fix(date-picker): open date-picker when clicking border (#6084)
* fix(date-picker): add pointer interaction to open date picker on wrapper click

* chore: add changeset

* chore(changeset): add issue number

---------

Co-authored-by: WK <wingkwong.code@gmail.com>
2026-01-07 00:39:08 +08:00
creative-atish 1f085061ed fix(pagination): improve layout for large page counts (#6034)
* fix(pagination): improve layout for large page counts/style of paagination compnents

* fix(pagination): refine item sizing to balance small and large page numbers

* ci(changesets): add pagination sizing changeset

* fix(pagination): ensure cursor fully covers button without changing radius

* chore(changeset): revise message and add issue numbers

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2026-01-04 22:27:47 +08:00
Dominik Hryshaiev df6610cd98 fix(docs): broken links in Form page (#6077) 2026-01-02 20:22:26 +08:00
brianatdetections 5ec842b1cf fix(use-image): resolve race condition with cached images on Firefox/Safari (#6041)
* fix(use-image): resolve race condition with cached images on Firefox/Safari

The bug occurred because event handlers (onload/onerror) were attached
AFTER setting the image src. For cached images, browsers fire onload
synchronously when src is set, causing the event to be missed and
images to remain stuck at opacity-0.

Changes:
- Attach handlers BEFORE setting src to catch synchronous callbacks
- Check both naturalWidth AND naturalHeight (per CodeRabbit review on #4523)
- Handle synchronous error callbacks for failed cached images
- Add comprehensive test coverage (15 tests) including:
  - Synchronous cached image success (Firefox/Safari race condition)
  - Synchronous cached image error
  - Dynamic src changes
  - All props (crossOrigin, srcSet, sizes, loading)
  - Callback invocation verification

Reproduction and investigation performed using Claude Opus 4.5.

Fixes #4534, #2259

* fix(use-image): add ignoreFallback to useCallback dependencies

Address CodeRabbit review feedback: the `ignoreFallback` prop was used
inside the `load` callback (line 104) but was missing from the dependency
array, creating a stale closure bug.

Without this fix, if `ignoreFallback` changes from `true` to `false`
dynamically, the `load` callback would retain the stale `true` value,
preventing the image from ever loading.

Changes:
- Add `ignoreFallback` to useCallback dependency array
- Add tests for dynamic `ignoreFallback` changes (both directions)
- Update changeset to document this fix

Verification performed using Claude Opus 4.5.

---------

Co-authored-by: Brian Meek <brian@current.space>
2025-12-27 14:24:27 +08:00
Junior 65702817c2 refactor(docs): remove Sponsors component from Home page 2025-12-25 11:42:04 -03:00
Junior 436e0d8278 Merge branch 'main' of github.com:heroui-inc/heroui into canary 2025-12-25 11:41:09 -03:00
WK 2d693f732c v2.8.7 (#6022)
* fix(theme): hide password reveal button (#5990)

* fix(link): link overriding role (#5999)

* fix(link): allow overriding role

* chore(link): changeset

* chore(deps): upgrade react-aria (v1.14.0) (#5996)

* chore(deps): upgrade react-aria (v1.14.0)

* refactor(react): group client components

* fix(dropdown): keyDown test cases

* chore(react): rollback

* fix(theme): default transition-duration (#6011)

* fix(theme): default transitionDuration

* chore(deps): bump @heroui/theme peer dep

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

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

---------

Co-authored-by: Hayato Hasegawa <hase1225hayato@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-12-25 06:40:03 -08:00
github-actions[bot] d5131d77a3 ci(changesets): version packages (#5991)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-12-20 22:17:53 +08:00
WK 086f6a1c44 fix(theme): default transition-duration (#6011)
* fix(theme): default transitionDuration

* chore(deps): bump @heroui/theme peer dep
2025-12-20 22:01:47 +08:00
WK e07c969c4c chore(deps): upgrade react-aria (v1.14.0) (#5996)
* chore(deps): upgrade react-aria (v1.14.0)

* refactor(react): group client components

* fix(dropdown): keyDown test cases

* chore(react): rollback
2025-12-18 19:52:56 +08:00
Hayato Hasegawa 090b151a5b fix(link): link overriding role (#5999)
* fix(link): allow overriding role

* chore(link): changeset
2025-12-18 18:42:22 +08:00
WK acc74d1e8f fix(theme): hide password reveal button (#5990) 2025-12-16 14:20:58 +08:00
Junior Garcia 41fc673586 Merge pull request #5983 from heroui-inc/canary
v2.8.6
2025-12-14 18:30:02 -08:00
github-actions[bot] c76c68ad7e ci(changesets): version packages (#5820)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-12-14 15:44:29 +08:00
WK 2148a2ee3b chore(docs): refresh meta (#5980) 2025-12-14 14:04:48 +08:00
mojtaba 53e27bb6f8 fix(system-rsc): respect defaultVariants.className in extendVariants (#5940)
* fix(system-rsc): respect defaultVariants.className in extendVariants

- Fix getClassNamesWithProps to merge defaultVariants.className with result and props.className
- Add tests to verify defaultVariants.className is respected and merged correctly

* chore(changeset): add changeset

* refactor(system-rsc): cn with newProps.className

* chore(system-rsc): revise merge order

---------

Co-authored-by: hassanzadeh-mj <hassanzadeh-mj@users.noreply.github.com>
Co-authored-by: WK <wingkwong.code@gmail.com>
2025-12-14 14:04:21 +08:00
WK 467b497156 chore(deps): bump next version (#5978) 2025-12-12 19:34:05 +08:00
WK 799bc5bab8 fix(toast): long text exceeds wrapper (#5977) 2025-12-11 22:55:12 +08:00
Deepansh Bhargava a37912e17f fix(slots): extendVariants fn to support slots (#5895)
* fix: extendVariants fn to support slots

* chore(docs): undo changes

* chore(changeset): add changeset

* chore(docs): new line

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-12-11 20:43:40 +08:00
doki- 4c435348ec fix(theme): incorrect label position of the select component (#5799)
* fix(theme): incorrect label position of the select component

* fix(theme): incorrect label position of select component
2025-12-11 20:15:49 +08:00
Hayato Hasegawa 8d07922c68 feat: add support for "outside-top" label placement (#5964)
* feat(number-input): add support for "outside-top" label placement

* chore: changeset

* fix(number-input): correct label positioning for "outside-top" placement

* feat: add `outside-top` label placement support for inputs and provider

* chore: update changeset

* chore(docs): update docs to include `outside-top` label placement

* test: add tests for `HeroUIProvider` label placement inheritance

* test(date-picker): remove tests for `HeroUIProvider` label placement inheritance

* test: add comprehensive tests for `HeroUIProvider` label placement outside-top

* chore(deps): bump theme in peerDependencies

* chore(docs): update examples and descriptions to include `outside-top` label placement

* chore(docs): update autocomplete label placement type to include `outside-top`

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-12-11 20:10:43 +08:00
WK ecf2857c90 refactor: tailwind-variants (#5930)
* chore(deps): bump tailwind-variants

* chore(changeset): add changeset

* refactor(theme): use cnMerge from tailwind-variants

* refactor: replace clsx by cn

* chore(deps): remove clsx

* chore: rollback clsx for mergeProps

* fix(theme): incorrect syntax

* refactor: remove outer cn

* chore(docs): type issues

* fix(radio): duplicate import

* chore(deps): bump peerDependencies for theme package

* chore(changeset): update changeset
2025-12-11 13:04:09 +08:00
WK a81212d6e7 fix(deps): next version (#5968)
* fix(deps): nextjs version

* chore(deps): bump next version
2025-12-06 21:15:23 +08:00
WK a7655ad2c9 chore(docs): remove chat linkage (#5959)
* chore: remove unused globalEnv

* chore(docs): remove chat links
2025-12-04 16:59:57 -03:00
WK b89ba08ae0 fix(table): virtualized table in firefox by replacing Spacer with css (#5963)
* chore(deps): remove spacer and bump theme peer dependency

* refactor(table): remove spacer

* fix(theme): replace spacer by css

* chore(changeset): add changeset

* chore(changeset): update changeset message
2025-12-04 23:13:46 +08:00
WK f08dfb8dd9 fix(table): column props not recognized (#5950)
* fix(table): width, minWidth, and maxWidth

* refactor(docs): revise table examples

* chore(changeset): add changeset
2025-12-04 21:42:04 +08:00
WK 0f165a36c8 fix(components): typos (#5958) 2025-12-03 01:18:40 +08:00
WK 9520b3f850 fix(docs): typos (#5957) 2025-12-03 00:29:37 +08:00
Stybo ecad199b09 fix(docs): typos in calendar and range-calendar page (#5956)
* Fix typo in calendar component documentation

* Fix typo in range-calendar documentation
2025-12-03 00:16:26 +08:00
Adam Björnberg a819f2a95a fix(tabs): responsive resize cursor to match selected tab (#5846)
* fix(tabs): responsive resize cursor to match selected tab

* Move css to theme

* Update changeset

* use explicit true for data-initialized

* disable animation when variant changes

* make not disappear when toggling animation

* disable animation when isVertical changes

* refactor for readability

* fix blinking when toggling variant or isVertical

* disable animation when changing placement

* chore(changeset): add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-12-02 18:39:10 +08:00
Hayato Hasegawa b4cfb408e9 fix(autocomplete): show popover when emptyContent is provided with allowsCustomValue (#5951)
* fix(autocomplete): show popover when emptyContent is provided with allowsCustomValue

* chore(autocomplete): remove deprecated story with custom emptyContent and allowsCustomValue

* chore: add changeset
2025-12-01 00:12:59 +08:00
Hayato Hasegawa 66ef76e823 fix(link): resolve issue where useHref is not working correctly (#5933)
* fix(link): correct props merge order in use-link to apply useHref

* chore(link): add changeset

* test(link): adjust href assertion to use getAttribute for compatibility

* fix(link): use routerLinkProps.href in handleLinkClick for consistency

* fix(link): process href with useHref before passing to useLinkProps

* test(link): comment out useHref provider test

* Revert "test(link): comment out useHref provider test"

This reverts commit de053f835fa57becf6e807a64c17339fc61d8689.

* Revert "fix(link): process href with useHref before passing to useLinkProps"

This reverts commit 81e5f7b8d1ea7002b9718cf521b5c6f2af79ac42.

* fix(provider): add `useHref` to provider context and integrate with `useLink`

* test(link): comment out useHref provider test

* fix(link): correct href handling in link component and update tests

* fix(link): simplify props handling by removing resolvedProps logic and reorder mergeProps usage

* fix(provider): remove `useHref` from provider context and related logic

* refactor(link): add spacing

* chore(changeset): add issue numbers

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-11-28 18:34:17 +08:00
WK 0825f88cd2 fix(spinner): cater global spinner variant (#5948)
* fix(spinner): cater global spinner variant

* feat(spinner): add spinner test cases

* chore(changeset): add changeset
2025-11-26 16:46:34 +08:00
WK ce0c298785 fix(number-input): lable position for empty percent format (#5945)
* fix(number-input): lable position for empty percent format

* chore(changeset): fix typo
2025-11-26 13:56:48 +08:00
WK 4fa54534b2 fix(radio): handle props styles in getBaseProps (#5944)
* fix(radio): handle props styles in getBaseProps

* refactor(radio): examples
2025-11-26 13:55:37 +08:00
WK 4e3098a512 chore(docs): add deprecation message (#5946) 2025-11-25 14:57:35 -03:00
WK 484212712c chore(deps): bump posthog-js (#5937) 2025-11-25 10:41:59 +08:00
WK 217e88d58e fix(docs): incorrect date value type in api (#5936)
* fix(docs): incorrect date value type in api

* chore(docs): revise types
2025-11-25 01:23:45 +08:00
Hayato Hasegawa 8b2ec9fa46 fix(table): use controlled sorting in table test (#5904) 2025-11-23 01:16:09 +08:00
Hayato Hasegawa 5d9a05be01 fix(tabs): vertical tabs support for accessible navigation and aria-orientation (#5924) 2025-11-22 10:56:26 +08:00
Hayato Hasegawa bc4c982609 fix(skeleton): fixed shimmer animation still plays when disableAnimation is true (#5916)
* fix(skeleton): restore shimmer animation for background transition

* chore: changeset

* chore(skeleton): bump theme peer dep

* chore(skeleton): pass args to first skeleton

* chore(changeset): bump skeleton

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-11-21 15:18:27 +08:00
Hayato Hasegawa 8921dc4361 fix(theme): safari autofill styling for dark mode readability in Input component (#5909)
* fix: add Safari autofill styling for dark mode readability in NumberInput & Input components

* chore: add changeset for Safari autofill dark mode fix in NumberInput & Input components
2025-11-19 21:51:21 +08:00
Hayato Hasegawa fd9dd2a20c fix(theme): bordered focus styles take precedence over hover (#5893)
* fix(theme): bordered focus styles take precedence over hover

* chore(theme): update component focus styles to fix hover override

* chore: bump @heroui/theme peer deps

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-11-16 22:20:17 +08:00
Hayato Hasegawa 91e010fe3b fix(ripple): resolve misalignment in RTL layouts by using transform (#5891)
* fix(ripple): resolve misalignment in RTL layouts by using transform translate

* chore(ripple): add changeset for ripple RTL layout fix

* chore: add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-11-15 22:36:40 +08:00
WK 0bf225abf5 fix(docs): layoutColor.overlay (#5782) 2025-11-15 22:00:58 +08:00
Junior Garcia 83b8fc1e7c chore: v3 beta release banner 2025-11-06 17:12:46 -03:00
Mahdi Mohammadi 0344123c13 fix(docs): submenu selected item indicator (#5868)
Co-authored-by: Mahdi <mahdiprog81@gmail.com>
2025-11-04 00:39:34 +08:00
Anusha Chaturvedi 6a3b02773d fix(docs): increase sidebar text contrast to meet WCAG AA accessibility (#5819) 2025-11-03 12:59:52 +08:00
KumJungMin bdd37b4b08 fix(number-input): include labelPlacement in dependency array (#5866)
* fix(number-input): include labelPlacement in dependency array for useNumberInput

* test(number-input): add tests for labelPlacement with HeroUIProvider context

* test(number-input): ensure labelPlacement prop takes precedence over HeroUIProvider context

* docs(number-input): add changeset

* chore(changeset): add issue number

---------

Co-authored-by: WK <wingkwong.code@gmail.com>
2025-11-02 20:51:42 +08:00
Vilas Chauvhan 27fec2db3c fix(docs): codeblock flickering issue (#5849)
* fix: updated codeblock component to prevent flicker when scrolling

* fix(codeblock): revert className and style handling

* fix(codeblock): clean up className handling and remove unnecessary styles

* chore(docs): format

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-11-01 18:33:02 +08:00
Vishesh Verma 1782961859 fix(spinner): spinner animation (#5815)
* fix(components/spinner): restore linear rotation (fix #5794)

* fix(spinner): add patch changeset for spinner delay fix

* fix(spinner): restore linear rotation for spinner variant (fix #5794)

* chore: apply Prettier and ESLint fixes to animation util

* chore(theme): lint

* chore(changeset): update msg & add issue number

* chore(changeset): include theme package

* chore(spinner): bump theme peerDependencies

---------

Co-authored-by: WK <wingkwong.code@gmail.com>
2025-10-28 01:59:58 +08:00
WK 680b68bc83 chore(docs): update nav banner (#5835) 2025-10-21 10:02:06 -03:00
Nikhil Shrivastava 328c57d8ea fix(heroui-table): update virtualization examples to use @heroui/react imports (#5833) 2025-10-21 00:03:12 -03:00
WK 2922b35644 fix(autocomplete): close button display on mobile (#5827)
* fix(autocomplete): close button display on mobile

* refactor(autocomplete): disable isClearable if isDisabled is true
2025-10-19 11:35:18 +08:00
WK b38a2cfb58 fix(theme): tab cursor (#5816)
* fix(theme): remove inset-0 for tab cursor

* chore(deps): bump theme peerDep

* chore: add changeset
2025-10-17 10:41:49 +08:00
Junior Garcia acd5f1dfb5 Merge pull request #5772 from heroui-inc/canary 2025-10-04 11:03:28 -03:00
github-actions[bot] 37378704f1 ci(changesets): version packages (#5755)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-10-04 21:39:38 +08:00
WK ed76faacd4 fix(toast): trigger onClose after timeout (#5771) 2025-10-04 21:25:04 +08:00
WK 812f7939d9 fix(tabs): tab cursor (#5769) 2025-10-04 17:42:05 +08:00
WK 1f17962932 chore(docs): update meta info (#5767) 2025-10-04 13:45:41 +08:00
WK 6eba109a7f fix(tabs): tabs in modal (#5705)
* fix(tabs): tabs in modal

* refactor(tabs): revise tabs cursor

* refactor(theme): remove unused styles

* fix(tabs): revise cursor rendering logic

* chore(docs): remove motionProps

* refactor(tabs): cursor styles

* refactor(tabs): cursor styles

* fix(tabs): avoid transition on variant change

* refactor(theme): cursor styles

* chore(changeset): include theme package

* chore(tabs): bump peerDeps on theme pkg

* fix(tabs): revise underlined cursor styles
2025-10-04 13:39:20 +08:00
WK 7537226b54 fix(system-rsc): incorrect typing (#5765) 2025-10-04 10:48:58 +08:00
WK 136bdf66b1 chore(deps): bump react-aria versions (#5761)
* chore(deps): bump react-aria versions

* chore: add changeset

* chore(docs): add selectionAlignment
2025-10-04 10:17:31 +08:00
WK 736293b8a6 fix(number-input): backspace behavior with formatted numbers (#5719)
* fix(number-input): backspace behavior with formatted numbers

* refactor(number-input): handle locale separator

* fix(number-input): set number input value logic
2025-10-04 10:16:56 +08:00
WK f13c6875db fix(number-input): ignore name prop in getNumberInputProps (#5762)
* fix(number-input): ignore name prop in getNumberInputProps

* fix(number-input): react-hook-form test case

* chore(number-input): assert no duplicate name attribute
2025-10-04 10:16:21 +08:00
doki- 0d95d7faa0 fix(avatar): add the safeInitials function to get the initials name (#5677)
* fix(Avatar): fix getInitials

* chore: update test

* chore(user): revise example

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-10-04 01:14:00 +08:00
WK 7b7190e222 fix(autocomplete): duplicate id in clear & selector button (#5750) 2025-10-04 01:10:37 +08:00
WK c3224113de fix(theme): broken --visual-viewport-height (#5752) 2025-10-01 10:56:08 +08:00
Rodrigo Victor 7c215f289e docs(popover): update shouldCloseOnScroll default to true (#5736) 2025-09-30 20:31:46 +08:00
Junior Garcia a88f98a14b Merge pull request #5679 from heroui-inc/canary 2025-09-09 15:51:27 -03:00
github-actions[bot] 27c512972a ci(changesets): version packages (#5673)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-09-09 15:38:21 -03:00
Junior Garcia e3cbbd259a chore: merged with main 2025-09-09 15:33:17 -03:00
Tianen Pang 02d67714cc fix: add global env (#5678) 2025-09-09 15:19:02 -03:00
WK f9bf3e32c3 chore(deps): bump tailwind-variants version (#5672) 2025-09-09 11:21:00 +08:00
Takuya HARA bd6d0624af fix(docs): example code in toast page (#5666) 2025-09-07 20:48:13 +08:00
Takuya HARA 28c3306609 fix(docs): missing quote in toast page (#5667) 2025-09-07 19:16:42 +08:00
WK ce0aea0592 v2.8.3 (#5649)
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore(deps): bump RA versions (#5361)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps

* chore(docs): remove herohack announcement (#5363)

* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx

* fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)

* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

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

* fix(theme): helperWrapper padding (#5350)

* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

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

* fix(autocomplete): onClear (#5365)

* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset

* fix(number-input): only allow number type (#5368)

* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset

* refactor: optimization (#5362)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps

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

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

* chore(deps): bump RA versions (#5382)

* fix(tabs): onClick (#5378)

* fix(tabs): handleClick

* chore(changeset): add changeset

* refactor: remove `@interationalized/date` from system (#5374)

* refactor(calendar): createCalendar typing

* refactor(system): ditch `@react-types/calendar`

* feat(system): include the required types or interfaces

* chore(deps): pnpm-lock.yaml

* fix: cast DateValue

* fix: minValue & maxValue typing

* chore(changeset): add changeset

* refactor(system): abstract class

* chore(deps): bump system peer dependency

* chore(changeset): add changeset

* fix(docs): correct display of the "Toast" component in the Safari browser (#5400)

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

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

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* feat: 2.8.0 beta changes (#5473)

* ci(changesets): 📦 version packages (beta) (#5254)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles (#5219)

* chore: pre release

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

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

* chore: remove changeset

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

* chore(react): continue from 2.8.0-beta.2

* chore(changeset): add changeset

* fix(changeset): use patch

* ci(changesets): version packages (beta)

* fix(docs): beta docs

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix(workflow): check_if_pre_json_exists order

* chore(changeset): redeploy

* chore(changeset): changeset (#5263)

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

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

* fix(docs): mdx in beta (#5261)

* chore(docs): add lint:fix

* fix(docs): slug requires promise in next 15

* fix(docs): useMDXComponent

* fix(docs): typing issue

* docs: typography style error (#5274)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles

* Merge branch beta/release-next of github.com:heroui-inc/heroui into beta/release-next-original

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix: transition scale (#5284)

* feat(toast): enable programatically closing a toast with a specific key (#5125)

* feat(toast): add closeToast method

* docs(toast): add example for programmatically closing toast

* refactor: change button title in doc

* refactor: add type for key

* test: sync storybook example with the one in docs

* chore: add changeset

* refactor: fix grammar

* chore: update toast package version change to patch

* Merge branch 'canary' into pr/5125

* chore(changeset): add ref number

* refactor(toast): export hooks

* chore(docs): use flat buttons

---------

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

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

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

* fix(input): prevent accessibility label duplication (#5161)

* fix(input): prevent accessibility label duplication

* chore(chageset): add changeset

* chore(changeset): include issue number

---------

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

* refactor: overlay & interactOutside (#5100)

* fix: remove ariaShouldCloseOnInteractOutside usage

* feat: add `@heroui/use-aria-overlay`

* chore(popover): remove ariaHideOutside

* fix(use-aria-modal-overlay): use useAriaOverlay instead

* fix(use-aira-overlay): revise onInteractOutside

* chore(deps): pnpm-lock.yaml

* feat(modal): add ModalWithAutocompleteTemplate

* chore(modal): remove state.close as handled by useInteractOutside

* fix(use-aria-multiselect): add menuTriggerProps.onPressStart and change domProps to triggerProps

* chore(use-aria-button): support onPressUp

* chore(deps): pnpm-lock.yaml

* chore(use-aria-multiselect): join by commas

* fix(tooltip): use useAriaOverlay instead

* fix(autocomplete): jest timeout issue

* chore(deps): pnpm-lock.yaml

* chore(changset): add changeset

* chore(deps): bump versions

* refactor(tooltip): move to type

* chore(deps): bump RA versions (#5315)

* chore(deps): bump RA versions

* fix(scripts): incorrect docs path

* chore(changeset): add changeset for bumping RA versions

* fix(docs): incorrect import path

* refactor(modal): use a simple example

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

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

* feat(input): adding outside-top prop (#4775)

* feat(input): adding outside-top prop

* chore(input): add outside-top to use-label-placement hook

* refactor(input): use old method for computing labelPlacement in 'use-input'

* fix(input): fix focus behaviouir and alignment for 'outside-top'

* Merge branch 'canary' into pr/4775

* chore(changeset): include issue number

* feat(system): useInputLabelPlacement

* refactor(input): use useInputLabelPlacement

* chore(changeset): add changeset

---------

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

* chore: sync latest changes to beta (#5347)

* chore: add herohack announcement

* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* chore: banner replacement

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore: remove pre.json

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

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

* chore: update changesets

* chore: remove changesets

* chore: add changeset

* chore: update `@heroui/react` pre version

* fix(deps): add missing `@heroui/use-aria-overlay` import

* fix: lock file (#5351)

* ci(changesets): 📦 version packages (beta) (#5348)

* ci(changesets): version packages (beta)

* Merge branch 'beta/release-next' into changeset-release/beta/release-next

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore: sync 2.8.0 to beta (#5388)

* chore: remove outdated changeset

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

* chore(deps): bump RA versions (beta) (#5392)

* chore(deps): bump RA versions

* chore: add changeset

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

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

* refactor: remove RA dependencies (overaly & utils) (#5398)

* refactor(system): remove `@react-aria/utils` package

* refactor(system): remove `@react-aria/overlays` package

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

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

* refactor: RA optimization (#5401)

* refactor(shared-utils): add common functions from `@react-aria/utils`

* feat(system): add shouldClientNavigate & useRouter

* refactor(deps): remove `@react-aria/utils`

* feat(shared-utils): include common functions from RA

* refactor: import functions from `@heroui/shared-utils` instead

* chore(deps): pnpm-lock.yaml

* chore: add changeset

* chore(shared-utils): update directory

* fix(shared-utils): add use client directive

* feat: add `@heroui/use-viewport-size`

* feat: add `@heroui/use-form-reset`

* feat(use-resize): add hasResizeObserver & RefObject

* feat(form): add useObjectRef

* chore: update import

* chore(deps): update dependencies

* refactor(shared-utils): only keep utils

* chore(deps): pnpm-lock.yaml

* chore(changeset): add changeset

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

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

* fix: transitions (#5409)

* chore(changeset): add changeset

* fix: outline style (#5421)

* fix: outline style

* chore(changeset): add changeset

---------

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

* fix(toast): Renaming the loadingIcon to loadingComponent (#4919)

* fix: toast should be above the modal

* fix: renaming the loadingIcon to loadingComponent

* chore: adding changeset

* chore: fixing conflicts

* chore: adding the region props

* fix: adding Marcus' suggestions

* fix: marcus' suggestions

* Revert all commits except 4c6bf32

* chore(toast): bump `@heroui/theme` in peerDependencies

* chore: nits

* chore: applying marcus' suggestions

* chore(toast): update story

---------

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

* chore: use beta version

* chore: delete pre.json

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

* chore(changeset): trigger release

* chore(changeset): trigger release

* chore: keep previous changesets

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

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

* fix(table): header and isStriped missing radius (#5062)

* fix(table): tableheader and isStriped missing radius

* chore: add changeset

* fix: fix missing radius styles

* chore(changeset): update message

* fix(theme): reorder radius

---------

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

* fix(slider): prevent NaN error for equal min / max values (#5044)

* fix(slider): prevent NaN error for equal min/max values

* fix: restore isdisabled code

* fix(slider): perf prevent NaN error for equal min max values

* refactor: slider code

* fix(slider): prevent NaN error for equal min max values & add test

* fix(slider): perf prevent NaN error for equal min max values

* fix: remove redundant code

* chore: add changeset

* Revert "chore: add changeset"

This reverts commit f31de4ac859e48eb09c8a14a546fed9e5197eccd.

* chore(slider): add missing warn

* refactor(slider): remove unnecessary line

---------

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

* fix: double fetch img src (#5417)

* fix(image): double fetch when using custom image component

* fix(avatar): avoid passing disableAnimation to dom & double fetch source

* chore(changeset): include avatar

* fix(autocomplete): empty button when selectorIcon is null (#5427)

* fix(toast): Toast items close in reverse order (#5405)

* fix(toast): correct closing order to implement proper FIFO behavior

* chore(changeset): add changeset

* fix(changeset): update issue number

* chore(toast): use `!==` instead

* feat(toast): apply exit animation to auto-close timeout

---------

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

* fix(table): remove removeWrapper on virtualized table (#5428)

* fix(table): remove `removeWrapper` for virtualized table

* chore(docs): update description for removeWrapper

* chore(changeset): add changeset

* fix(toast): fixed close button hover position (#5245)

* fix(toast): fixed close button hover position

* Update soft-spoons-march.md

* Update toast.ts

* chore(theme): prettier

* Using "placement" to apply the top and bottom extension

* fix(toast): modified hover for expanded region

* update dependancy array

* lint fix

* Merge branch 'canary' into pr/5245

* chore(theme): remove line breaks

* chore(changeset): add missing package

* static extension size

* fix(toast): static extension fix

---------

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

* feat(table): support custom sort icon (#5243)

* feat(shared-icons): add SortIcon

* feat(table): add CustomSortIcon story

* feat(table): support custom sort icon

* fix(table): handle functional sortIcon

* chore(changeset): add changeset

* chore(table): update type

* feat(docs): add sortIcon to table

* fix(docs): broken object

* chore(shared-icons): lint

* feat(docs): add example for sort icon

* chore: bump pnpm & node version (#5442)

* refactor: bump pnpm & node version

* chore(deps): bump `@types/node`

* fix(calendar): improve month and year picker selection for different zoom levels (#5151)

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): prevent stale values while scrolling both year and month pickers simultaneously

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* chore(changeset): update changeset message

* chore: add line breaks

---------

Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: WK <wingkwong.code@gmail.com>

* feat(select): adding isClearable to select (#4785)

* feat(select): adding isClearable to select

* chore(select): add changeset

* test(select): add tests for isClearable

* chore(select): add theme package patch, improve the testcase, rename nextui package to heroui

* fix(select): fixing alignment for clear button for different cases

* Merge branch 'canary' into pr/4785

* Merge branch 'canary' into pr/4785

* fix(select): remove component level styling

* fix(select): fix the alignment and focus behaviour

* fix(select): shift clear buttojn close to trigger

* fix(select): fix alignment for different variants

* feat(select): add data-has-end-content

* fix(theme): revise select styles with clear button and end content

* feat(docs): add end content

---------

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

* fix(select): use span instead as trigger is button

* fix(docs): add ToastProvider for blog post

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

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

* fix(select): clear button test cases

* fix(modal): draggable modal, scrollable on mobile (#5444)

Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>

* chore: trigger release

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

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

* fix(theme): table header sorting icon transition (#5449)

* fix: table header sorcting icon transition

* chore(changeset): add changeset

---------

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

* fix(table): allow text selection with cursor in table cells (#5454)

* fix(table): allow text selection with cursor in table cells

* chore(changeset): add changeset

---------

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

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

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

* chore: add back RA deps (#5466)

* chore(deps): bump testing-library & jest versions (#5468)

* refactor: revise test cases

* chore(deps): bump testing-library & jest versions

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

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

* refactor(autocomplete): test cases

* fix(use-theme): incorrect target theme

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

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

* fix(use-theme): remove all theme values and add the new one

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

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

* docs: 2.8.0 (#5443)

* chore(docs): update routes.json

* chore(docs): bump versions

* chore(docs): initial draft

* chore(docs): add examples

* chore(Docs): update credits and community

* chore(docs): update date & what's next

* chore(docs): update meta data

* chore(docs): add update tags

* chore(docs): add tableSortIcon example

* chore(docs): revise sidebar width

* chore(docs): remove package size optimization

* chore(docs): update meta

* ci(changesets): exit pre-release mode

* chore: update package versions

* chore(changeset): remove unrelated changeset

* chore(deps): remove unused autoprefixer

* chore(docs): update tailwind v4 content

* chore(docs): update template doc content

* chore(docs): update formatting

* chore(toast): export getToastQueue (#5476)

* chore(docs): add hydration issue handling to page router example (#5474)

* docs(dark-mode): add hydration handling to page router example

* chore(docs): format

---------

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

* chore(deps): bump tw4 versions

* fix: handle files with paths containing empty space (#5478)

* chore(docs): revise wordings in 2.8.0 blog

* feat(slider): add getTooltipValue prop for custom tooltip value (#5384)

* feat(slider): add getTooltipValue prop for custom tooltip value

* feat(slider): fix coderabbit highlights

* feat(slider): fixed wingkwong highlights

* feat(slider): added custom-tooltip.raw.tsx?raw

* feat(slider): improved custom-tooltip.raw.tsx

* chore: undo README.md

* chore(slider): use normal $ sign

* chore(changeset): add changeset

* chore(docs): formatting

---------

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

* chore(docs): revise custom tooltip example

* chore(docs): add custom tooltip example for slider

* chore(deps): bump contentlayer2 & next-contentlayer2

* chore(docs): fix formatting

* chore(docs): update metadata

* chore: add v2.8.0 image

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>

* chore: consolidated version part 2

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

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

* fix(theme): use `outline-hidden` which is equivalent to `outline-none`  (#5486)

* fix: use `outline-hidden` which is equivalent to `outline-none` in v3

* chore: add changeset

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

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

* fix(number-input): label class being incorrectly mixed into the description (#5484)

* fix(number-input): label class being incorrectly mixed into the description

* chore: add issue number

---------

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

* fix(docs): broken link in custom variants page (#5522)

* refactor(alert): vertically center alert icon / endContent (#5512)

* chore(deps): bump RA dependencies (#5517)

* chore(deps): sync with RA release

* fix(tabs): duplicate onClick

* chore(docs): update tanstack content

* chore(docs): set updated flag

* chore(docs): update meta

* fix(use-aria-overlay): sync with RA's overlay logic (#5529)

* fix(use-aria-overlay): sync with RA logic

* fix(use-aria-overlay): add onHide on onInteractOutsideStart

* chore(changeset): add changeset

* fix(popover): arrow glitch in popover content (#5504)

* fix(popover): make PopoverContent children prop optional to fix TS error

* chore(changeset): created changeset

* fix(popover): do not show content when children is null / undefined

* fix(popover): add test case

* chore(changeset): update changeset message

---------

Co-authored-by: i_nicck <i_nicck@i-niccks-MacBook-Air.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(avatar): broken fallbacks (#5519)

* fix(toast): toastRegion leftover in DOM (#5508)

* fix(theme): focus ring styles (#5531)

* chore(deps): bump tailwind-variants version (#5538)

* chore(deps): bump tailwind-variants version

* chore(deps): add tailwind-merge

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

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

* chore(docs): remove unused or deprecated info in autocomplete (#5581)

* fix(docs): default value of radius in image (#5580)

* fix(theme): clear button disabled inputs (#5607)

* fix(input): disable pointer events on clear button when inactive

* chore(changeset): add changeset

* chore(docs): update TanStack routing (#5629)

* fix(theme): stepperButton when labelPlacement is outside in NumberInput (#5628)

* fix(theme): set stepperButton height when labelPlacement=outside in NumberInput component

* chore(changeset): add issue number

---------

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

* refactor: use handleLinkClick from RA's utils (#5632)

* chore(deps): bump tailwindcss version (#5636)

* chore(deps): bump tailwind-variants version (#5635)

* chore: bump tailwind-variants version

* chore(deps): bump tailwind-variants to 3.1.0

* chore(deps): rollback TW to 4.1.11 (#5644)

* chore: rollback tailwindcss to 4.1.11

* chore(deps): bump RA versions (aug 2025) (#5640)

* chore(deps): bump RA versions (aug 2025)

* chore: add changeset

* chore(deps): update versions

* chore(deps): bump @internationalized/date

* chore(deps): bump @react-types

* fix(popover): missing triggerAnchorPoint return

* fix: triggerAnchorPoint

* chore: sync with canary

* fix(theme): dropdown-item has no ellipsis when it has a width and desc  (#5638)

* fix(theme): dropdown-item where the text was too long without an ellipsis when there was a desc

* chore(changeset): update message

---------

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

* fix(toast): show animation when closing all modals (#5637)

* fix(toast): show animation when closing all modals

* chore(changeset): add issue number

---------

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

* refactor(toast): animation & toast region (#5647)

* fix(toast): unexpected gap after closing a toast

* refactor(toast): animation

* fix(toast): close toast when disableAnimation is set to true

* refactor: coderabbit comment

* fix(use-aria-overlay): prevent modal/drawer from closing on press instead (#5624)

* fix(modal/drawer): prevent modal/drawer from closing on press instead

* refactor(useAriaOverlay): improve getOverlayTypeFromRef with ARIA checks and hoist

* refactor(useAriaOverlay): add alertdialog & fallback to modal when aria-modal is missing

* Merge branch 'canary' into pr/5624

* chore(changeset): add issue number

* refactor(use-aria-overlay): getOverlayInteractionType

---------

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

* refactor(ui): standardize copy code feedback across all tabs (#5584)

* fix(select): use space as aria-labelledby separator (#5587)

* fix(select): use space as aria-labelledby separator

* chore(chageset): add changeset (#5586)

* chore(changeset): add issue number and remove select

---------

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

* fix(tabs): unresponsive modal after switching tabs inside (#5582)

* fix(tabs): unresponsive modal after switching tabs inside

* chore(deps): remove self

* refactor: improve type safety (#5539)

* refactor(popover): consolidate imports from aria-utils module

* refactor(popover): remove unnecessary type assertion for child ref

* refactor: remove unnecessary type assertions and improve type safety

* chore(changeset): add changeset

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anuj Kuralkar <76731106+anuj-kuralkar@users.noreply.github.com>
Co-authored-by: Poli Sour <57824881+novsource@users.noreply.github.com>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>
Co-authored-by: wulimao49 <73568161+wulimao49@users.noreply.github.com>
Co-authored-by: wulimaomao <tao@trlab.com>
Co-authored-by: Shagun Sharma <108183568+nicck1@users.noreply.github.com>
Co-authored-by: i_nicck <i_nicck@i-niccks-MacBook-Air.local>
Co-authored-by: luis angel lopez huari <156825396+luislh-dev@users.noreply.github.com>
Co-authored-by: doki- <95574719+IsDyh01@users.noreply.github.com>
Co-authored-by: Anshuman Singh Rathore <anshumandev2002@gmail.com>
Co-authored-by: Igor Moraes <igormpaz@gmail.com>
Co-authored-by: Dmytro Klymenko <dmytro.klymenko@syniti.com>
2025-08-31 15:37:49 -03:00
Junior Garcia 4db5b2c7b5 chore: merged with main 2025-08-31 15:37:23 -03:00
github-actions[bot] ec119799ed ci(changesets): version packages (#5610)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-08-31 20:36:21 +08:00
luis angel lopez huari e2aed2e946 refactor: improve type safety (#5539)
* refactor(popover): consolidate imports from aria-utils module

* refactor(popover): remove unnecessary type assertion for child ref

* refactor: remove unnecessary type assertions and improve type safety

* chore(changeset): add changeset
2025-08-31 20:22:47 +08:00
WK 8eb269df9e fix(tabs): unresponsive modal after switching tabs inside (#5582)
* fix(tabs): unresponsive modal after switching tabs inside

* chore(deps): remove self
2025-08-30 22:53:45 +08:00
Dmytro Klymenko 97a1c4a4f1 fix(select): use space as aria-labelledby separator (#5587)
* fix(select): use space as aria-labelledby separator

* chore(chageset): add changeset (#5586)

* chore(changeset): add issue number and remove select

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-08-30 22:30:50 +08:00
Igor Moraes 667c86eaae refactor(ui): standardize copy code feedback across all tabs (#5584) 2025-08-30 22:01:01 +08:00
Anshuman Singh Rathore b6fda4fe6f fix(use-aria-overlay): prevent modal/drawer from closing on press instead (#5624)
* fix(modal/drawer): prevent modal/drawer from closing on press instead

* refactor(useAriaOverlay): improve getOverlayTypeFromRef with ARIA checks and hoist

* refactor(useAriaOverlay): add alertdialog & fallback to modal when aria-modal is missing

* Merge branch 'canary' into pr/5624

* chore(changeset): add issue number

* refactor(use-aria-overlay): getOverlayInteractionType

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-08-30 21:52:32 +08:00
WK e0dc33f3b6 refactor(toast): animation & toast region (#5647)
* fix(toast): unexpected gap after closing a toast

* refactor(toast): animation

* fix(toast): close toast when disableAnimation is set to true

* refactor: coderabbit comment
2025-08-30 21:18:15 +08:00
Anshuman Singh Rathore afe2f977fc fix(toast): show animation when closing all modals (#5637)
* fix(toast): show animation when closing all modals

* chore(changeset): add issue number

---------

Co-authored-by: WK <wingkwong.code@gmail.com>
2025-08-30 11:14:54 +08:00
doki- 3ba7d29848 fix(theme): dropdown-item has no ellipsis when it has a width and desc (#5638)
* fix(theme): dropdown-item where the text was too long without an ellipsis when there was a desc

* chore(changeset): update message

---------

Co-authored-by: WK <wingkwong.code@gmail.com>
2025-08-30 11:01:58 +08:00
Junior Garcia 2b72c1db0b chore: update favicon 2025-08-28 15:35:43 -03:00
WK d90ac57bc5 chore(deps): bump RA versions (aug 2025) (#5640)
* chore(deps): bump RA versions (aug 2025)

* chore: add changeset

* chore(deps): update versions

* chore(deps): bump @internationalized/date

* chore(deps): bump @react-types

* fix(popover): missing triggerAnchorPoint return

* fix: triggerAnchorPoint

* chore: sync with canary
2025-08-28 23:16:15 +08:00
WK e449fe70e8 chore(deps): rollback TW to 4.1.11 (#5644)
* chore: rollback tailwindcss to 4.1.11
2025-08-28 22:30:24 +08:00
Junior Garcia b300dabb05 chore: new logo 2025-08-28 11:12:29 -03:00
WK 6b86a41fe4 chore(deps): bump tailwind-variants version (#5635)
* chore: bump tailwind-variants version

* chore(deps): bump tailwind-variants to 3.1.0
2025-08-28 21:51:08 +08:00
WK 7eea729b57 chore(deps): bump tailwindcss version (#5636) 2025-08-26 09:55:17 +08:00
WK f8fbe4ba22 refactor: use handleLinkClick from RA's utils (#5632) 2025-08-25 15:40:43 +08:00
doki- 743505fbc0 fix(theme): stepperButton when labelPlacement is outside in NumberInput (#5628)
* fix(theme): set stepperButton height when labelPlacement=outside in NumberInput component

* chore(changeset): add issue number

---------

Co-authored-by: WK <wingkwong.code@gmail.com>
2025-08-25 15:39:14 +08:00
WK e43e44ff51 chore(docs): update TanStack routing (#5629) 2025-08-24 22:21:05 +08:00
luis angel lopez huari 928383bcfc fix(theme): clear button disabled inputs (#5607)
* fix(input): disable pointer events on clear button when inactive

* chore(changeset): add changeset
2025-08-18 18:05:33 +08:00
WK 8e51a855b1 fix(docs): default value of radius in image (#5580) 2025-08-06 21:01:33 +08:00
WK 44350c68ba chore(docs): remove unused or deprecated info in autocomplete (#5581) 2025-08-06 21:01:22 +08:00
Junior Garcia a8b1c8527e fix: banner default height 2025-08-05 11:59:45 -03:00
Junior Garcia ab48c6415a chore: random landing banner 2025-08-05 11:55:04 -03:00
WK 95e446dd74 v2.8.2 (#5541)
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore(deps): bump RA versions (#5361)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps

* chore(docs): remove herohack announcement (#5363)

* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx

* fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)

* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

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

* fix(theme): helperWrapper padding (#5350)

* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

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

* fix(autocomplete): onClear (#5365)

* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset

* fix(number-input): only allow number type (#5368)

* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset

* refactor: optimization (#5362)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps

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

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

* chore(deps): bump RA versions (#5382)

* fix(tabs): onClick (#5378)

* fix(tabs): handleClick

* chore(changeset): add changeset

* refactor: remove `@interationalized/date` from system (#5374)

* refactor(calendar): createCalendar typing

* refactor(system): ditch `@react-types/calendar`

* feat(system): include the required types or interfaces

* chore(deps): pnpm-lock.yaml

* fix: cast DateValue

* fix: minValue & maxValue typing

* chore(changeset): add changeset

* refactor(system): abstract class

* chore(deps): bump system peer dependency

* chore(changeset): add changeset

* fix(docs): correct display of the "Toast" component in the Safari browser (#5400)

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

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

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* feat: 2.8.0 beta changes (#5473)

* ci(changesets): 📦 version packages (beta) (#5254)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles (#5219)

* chore: pre release

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

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

* chore: remove changeset

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

* chore(react): continue from 2.8.0-beta.2

* chore(changeset): add changeset

* fix(changeset): use patch

* ci(changesets): version packages (beta)

* fix(docs): beta docs

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix(workflow): check_if_pre_json_exists order

* chore(changeset): redeploy

* chore(changeset): changeset (#5263)

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

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

* fix(docs): mdx in beta (#5261)

* chore(docs): add lint:fix

* fix(docs): slug requires promise in next 15

* fix(docs): useMDXComponent

* fix(docs): typing issue

* docs: typography style error (#5274)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles

* Merge branch beta/release-next of github.com:heroui-inc/heroui into beta/release-next-original

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix: transition scale (#5284)

* feat(toast): enable programatically closing a toast with a specific key (#5125)

* feat(toast): add closeToast method

* docs(toast): add example for programmatically closing toast

* refactor: change button title in doc

* refactor: add type for key

* test: sync storybook example with the one in docs

* chore: add changeset

* refactor: fix grammar

* chore: update toast package version change to patch

* Merge branch 'canary' into pr/5125

* chore(changeset): add ref number

* refactor(toast): export hooks

* chore(docs): use flat buttons

---------

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

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

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

* fix(input): prevent accessibility label duplication (#5161)

* fix(input): prevent accessibility label duplication

* chore(chageset): add changeset

* chore(changeset): include issue number

---------

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

* refactor: overlay & interactOutside (#5100)

* fix: remove ariaShouldCloseOnInteractOutside usage

* feat: add `@heroui/use-aria-overlay`

* chore(popover): remove ariaHideOutside

* fix(use-aria-modal-overlay): use useAriaOverlay instead

* fix(use-aira-overlay): revise onInteractOutside

* chore(deps): pnpm-lock.yaml

* feat(modal): add ModalWithAutocompleteTemplate

* chore(modal): remove state.close as handled by useInteractOutside

* fix(use-aria-multiselect): add menuTriggerProps.onPressStart and change domProps to triggerProps

* chore(use-aria-button): support onPressUp

* chore(deps): pnpm-lock.yaml

* chore(use-aria-multiselect): join by commas

* fix(tooltip): use useAriaOverlay instead

* fix(autocomplete): jest timeout issue

* chore(deps): pnpm-lock.yaml

* chore(changset): add changeset

* chore(deps): bump versions

* refactor(tooltip): move to type

* chore(deps): bump RA versions (#5315)

* chore(deps): bump RA versions

* fix(scripts): incorrect docs path

* chore(changeset): add changeset for bumping RA versions

* fix(docs): incorrect import path

* refactor(modal): use a simple example

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

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

* feat(input): adding outside-top prop (#4775)

* feat(input): adding outside-top prop

* chore(input): add outside-top to use-label-placement hook

* refactor(input): use old method for computing labelPlacement in 'use-input'

* fix(input): fix focus behaviouir and alignment for 'outside-top'

* Merge branch 'canary' into pr/4775

* chore(changeset): include issue number

* feat(system): useInputLabelPlacement

* refactor(input): use useInputLabelPlacement

* chore(changeset): add changeset

---------

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

* chore: sync latest changes to beta (#5347)

* chore: add herohack announcement

* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* chore: banner replacement

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore: remove pre.json

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

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

* chore: update changesets

* chore: remove changesets

* chore: add changeset

* chore: update `@heroui/react` pre version

* fix(deps): add missing `@heroui/use-aria-overlay` import

* fix: lock file (#5351)

* ci(changesets): 📦 version packages (beta) (#5348)

* ci(changesets): version packages (beta)

* Merge branch 'beta/release-next' into changeset-release/beta/release-next

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore: sync 2.8.0 to beta (#5388)

* chore: remove outdated changeset

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

* chore(deps): bump RA versions (beta) (#5392)

* chore(deps): bump RA versions

* chore: add changeset

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

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

* refactor: remove RA dependencies (overaly & utils) (#5398)

* refactor(system): remove `@react-aria/utils` package

* refactor(system): remove `@react-aria/overlays` package

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

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

* refactor: RA optimization (#5401)

* refactor(shared-utils): add common functions from `@react-aria/utils`

* feat(system): add shouldClientNavigate & useRouter

* refactor(deps): remove `@react-aria/utils`

* feat(shared-utils): include common functions from RA

* refactor: import functions from `@heroui/shared-utils` instead

* chore(deps): pnpm-lock.yaml

* chore: add changeset

* chore(shared-utils): update directory

* fix(shared-utils): add use client directive

* feat: add `@heroui/use-viewport-size`

* feat: add `@heroui/use-form-reset`

* feat(use-resize): add hasResizeObserver & RefObject

* feat(form): add useObjectRef

* chore: update import

* chore(deps): update dependencies

* refactor(shared-utils): only keep utils

* chore(deps): pnpm-lock.yaml

* chore(changeset): add changeset

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

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

* fix: transitions (#5409)

* chore(changeset): add changeset

* fix: outline style (#5421)

* fix: outline style

* chore(changeset): add changeset

---------

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

* fix(toast): Renaming the loadingIcon to loadingComponent (#4919)

* fix: toast should be above the modal

* fix: renaming the loadingIcon to loadingComponent

* chore: adding changeset

* chore: fixing conflicts

* chore: adding the region props

* fix: adding Marcus' suggestions

* fix: marcus' suggestions

* Revert all commits except 4c6bf32

* chore(toast): bump `@heroui/theme` in peerDependencies

* chore: nits

* chore: applying marcus' suggestions

* chore(toast): update story

---------

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

* chore: use beta version

* chore: delete pre.json

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

* chore(changeset): trigger release

* chore(changeset): trigger release

* chore: keep previous changesets

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

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

* fix(table): header and isStriped missing radius (#5062)

* fix(table): tableheader and isStriped missing radius

* chore: add changeset

* fix: fix missing radius styles

* chore(changeset): update message

* fix(theme): reorder radius

---------

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

* fix(slider): prevent NaN error for equal min / max values (#5044)

* fix(slider): prevent NaN error for equal min/max values

* fix: restore isdisabled code

* fix(slider): perf prevent NaN error for equal min max values

* refactor: slider code

* fix(slider): prevent NaN error for equal min max values & add test

* fix(slider): perf prevent NaN error for equal min max values

* fix: remove redundant code

* chore: add changeset

* Revert "chore: add changeset"

This reverts commit f31de4ac859e48eb09c8a14a546fed9e5197eccd.

* chore(slider): add missing warn

* refactor(slider): remove unnecessary line

---------

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

* fix: double fetch img src (#5417)

* fix(image): double fetch when using custom image component

* fix(avatar): avoid passing disableAnimation to dom & double fetch source

* chore(changeset): include avatar

* fix(autocomplete): empty button when selectorIcon is null (#5427)

* fix(toast): Toast items close in reverse order (#5405)

* fix(toast): correct closing order to implement proper FIFO behavior

* chore(changeset): add changeset

* fix(changeset): update issue number

* chore(toast): use `!==` instead

* feat(toast): apply exit animation to auto-close timeout

---------

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

* fix(table): remove removeWrapper on virtualized table (#5428)

* fix(table): remove `removeWrapper` for virtualized table

* chore(docs): update description for removeWrapper

* chore(changeset): add changeset

* fix(toast): fixed close button hover position (#5245)

* fix(toast): fixed close button hover position

* Update soft-spoons-march.md

* Update toast.ts

* chore(theme): prettier

* Using "placement" to apply the top and bottom extension

* fix(toast): modified hover for expanded region

* update dependancy array

* lint fix

* Merge branch 'canary' into pr/5245

* chore(theme): remove line breaks

* chore(changeset): add missing package

* static extension size

* fix(toast): static extension fix

---------

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

* feat(table): support custom sort icon (#5243)

* feat(shared-icons): add SortIcon

* feat(table): add CustomSortIcon story

* feat(table): support custom sort icon

* fix(table): handle functional sortIcon

* chore(changeset): add changeset

* chore(table): update type

* feat(docs): add sortIcon to table

* fix(docs): broken object

* chore(shared-icons): lint

* feat(docs): add example for sort icon

* chore: bump pnpm & node version (#5442)

* refactor: bump pnpm & node version

* chore(deps): bump `@types/node`

* fix(calendar): improve month and year picker selection for different zoom levels (#5151)

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): prevent stale values while scrolling both year and month pickers simultaneously

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* chore(changeset): update changeset message

* chore: add line breaks

---------

Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: WK <wingkwong.code@gmail.com>

* feat(select): adding isClearable to select (#4785)

* feat(select): adding isClearable to select

* chore(select): add changeset

* test(select): add tests for isClearable

* chore(select): add theme package patch, improve the testcase, rename nextui package to heroui

* fix(select): fixing alignment for clear button for different cases

* Merge branch 'canary' into pr/4785

* Merge branch 'canary' into pr/4785

* fix(select): remove component level styling

* fix(select): fix the alignment and focus behaviour

* fix(select): shift clear buttojn close to trigger

* fix(select): fix alignment for different variants

* feat(select): add data-has-end-content

* fix(theme): revise select styles with clear button and end content

* feat(docs): add end content

---------

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

* fix(select): use span instead as trigger is button

* fix(docs): add ToastProvider for blog post

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

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

* fix(select): clear button test cases

* fix(modal): draggable modal, scrollable on mobile (#5444)

Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>

* chore: trigger release

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

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

* fix(theme): table header sorting icon transition (#5449)

* fix: table header sorcting icon transition

* chore(changeset): add changeset

---------

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

* fix(table): allow text selection with cursor in table cells (#5454)

* fix(table): allow text selection with cursor in table cells

* chore(changeset): add changeset

---------

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

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

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

* chore: add back RA deps (#5466)

* chore(deps): bump testing-library & jest versions (#5468)

* refactor: revise test cases

* chore(deps): bump testing-library & jest versions

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

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

* refactor(autocomplete): test cases

* fix(use-theme): incorrect target theme

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

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

* fix(use-theme): remove all theme values and add the new one

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

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

* docs: 2.8.0 (#5443)

* chore(docs): update routes.json

* chore(docs): bump versions

* chore(docs): initial draft

* chore(docs): add examples

* chore(Docs): update credits and community

* chore(docs): update date & what's next

* chore(docs): update meta data

* chore(docs): add update tags

* chore(docs): add tableSortIcon example

* chore(docs): revise sidebar width

* chore(docs): remove package size optimization

* chore(docs): update meta

* ci(changesets): exit pre-release mode

* chore: update package versions

* chore(changeset): remove unrelated changeset

* chore(deps): remove unused autoprefixer

* chore(docs): update tailwind v4 content

* chore(docs): update template doc content

* chore(docs): update formatting

* chore(toast): export getToastQueue (#5476)

* chore(docs): add hydration issue handling to page router example (#5474)

* docs(dark-mode): add hydration handling to page router example

* chore(docs): format

---------

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

* chore(deps): bump tw4 versions

* fix: handle files with paths containing empty space (#5478)

* chore(docs): revise wordings in 2.8.0 blog

* feat(slider): add getTooltipValue prop for custom tooltip value (#5384)

* feat(slider): add getTooltipValue prop for custom tooltip value

* feat(slider): fix coderabbit highlights

* feat(slider): fixed wingkwong highlights

* feat(slider): added custom-tooltip.raw.tsx?raw

* feat(slider): improved custom-tooltip.raw.tsx

* chore: undo README.md

* chore(slider): use normal $ sign

* chore(changeset): add changeset

* chore(docs): formatting

---------

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

* chore(docs): revise custom tooltip example

* chore(docs): add custom tooltip example for slider

* chore(deps): bump contentlayer2 & next-contentlayer2

* chore(docs): fix formatting

* chore(docs): update metadata

* chore: add v2.8.0 image

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>

* chore: consolidated version part 2

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

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

* fix(theme): use `outline-hidden` which is equivalent to `outline-none`  (#5486)

* fix: use `outline-hidden` which is equivalent to `outline-none` in v3

* chore: add changeset

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

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

* fix(number-input): label class being incorrectly mixed into the description (#5484)

* fix(number-input): label class being incorrectly mixed into the description

* chore: add issue number

---------

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

* fix(docs): broken link in custom variants page (#5522)

* refactor(alert): vertically center alert icon / endContent (#5512)

* chore(deps): bump RA dependencies (#5517)

* chore(deps): sync with RA release

* fix(tabs): duplicate onClick

* chore(docs): update tanstack content

* chore(docs): set updated flag

* chore(docs): update meta

* fix(use-aria-overlay): sync with RA's overlay logic (#5529)

* fix(use-aria-overlay): sync with RA logic

* fix(use-aria-overlay): add onHide on onInteractOutsideStart

* chore(changeset): add changeset

* fix(popover): arrow glitch in popover content (#5504)

* fix(popover): make PopoverContent children prop optional to fix TS error

* chore(changeset): created changeset

* fix(popover): do not show content when children is null / undefined

* fix(popover): add test case

* chore(changeset): update changeset message

---------

Co-authored-by: i_nicck <i_nicck@i-niccks-MacBook-Air.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(avatar): broken fallbacks (#5519)

* fix(toast): toastRegion leftover in DOM (#5508)

* fix(theme): focus ring styles (#5531)

* chore(deps): bump tailwind-variants version (#5538)

* chore(deps): bump tailwind-variants version

* chore(deps): add tailwind-merge

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anuj Kuralkar <76731106+anuj-kuralkar@users.noreply.github.com>
Co-authored-by: Poli Sour <57824881+novsource@users.noreply.github.com>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>
Co-authored-by: wulimao49 <73568161+wulimao49@users.noreply.github.com>
Co-authored-by: wulimaomao <tao@trlab.com>
Co-authored-by: Shagun Sharma <108183568+nicck1@users.noreply.github.com>
Co-authored-by: i_nicck <i_nicck@i-niccks-MacBook-Air.local>
2025-07-29 09:33:49 -03:00
github-actions[bot] 3e69d86016 ci(changesets): version packages (#5516)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-07-29 11:56:17 +08:00
WK 139fc94e2a chore(deps): bump tailwind-variants version (#5538)
* chore(deps): bump tailwind-variants version

* chore(deps): add tailwind-merge
2025-07-29 11:36:49 +08:00
WK 2f414a8926 fix(theme): focus ring styles (#5531) 2025-07-29 00:54:21 +08:00
WK 60118379f5 fix(toast): toastRegion leftover in DOM (#5508) 2025-07-29 00:53:56 +08:00
WK 2cb6ecff93 fix(avatar): broken fallbacks (#5519) 2025-07-29 00:53:28 +08:00
Shagun Sharma 5eb686843b fix(popover): arrow glitch in popover content (#5504)
* fix(popover): make PopoverContent children prop optional to fix TS error

* chore(changeset): created changeset

* fix(popover): do not show content when children is null / undefined

* fix(popover): add test case

* chore(changeset): update changeset message

---------

Co-authored-by: i_nicck <i_nicck@i-niccks-MacBook-Air.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-07-29 00:52:45 +08:00
WK 8dc4bab4ec fix(use-aria-overlay): sync with RA's overlay logic (#5529)
* fix(use-aria-overlay): sync with RA logic

* fix(use-aria-overlay): add onHide on onInteractOutsideStart

* chore(changeset): add changeset
2025-07-29 00:52:21 +08:00
WK 36eb421c66 chore(deps): bump RA dependencies (#5517)
* chore(deps): sync with RA release

* fix(tabs): duplicate onClick

* chore(docs): update tanstack content

* chore(docs): set updated flag

* chore(docs): update meta
2025-07-29 00:51:47 +08:00
WK a83e3fb5a0 refactor(alert): vertically center alert icon / endContent (#5512) 2025-07-29 00:51:23 +08:00
WK 67f8665ab5 fix(docs): broken link in custom variants page (#5522) 2025-07-29 00:35:45 +08:00
wulimao49 9dceb116ce fix(number-input): label class being incorrectly mixed into the description (#5484)
* fix(number-input): label class being incorrectly mixed into the description

* chore: add issue number

---------

Co-authored-by: wulimaomao <tao@trlab.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-07-24 13:25:55 +08:00
Junior Garcia a3245cefa0 Merge branch 'main' of github.com:heroui-inc/heroui into canary 2025-07-22 14:46:25 -03:00
WK 29b415d65a chore(docs): formatting + supplement tw upgrade (#5492)
* chore(docs): formatting

* chore(docs): formatting

* fix(docs): remove extra semicolon

* chore(docs): supplement TW4 upgrade content

* chore(docs): remove duplicate content

* chore(docs): add missing semicolons
2025-07-22 14:09:45 -03:00
Junior Garcia 5f2bec5b65 v2.8.1 (#5488)
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore(deps): bump RA versions (#5361)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps

* chore(docs): remove herohack announcement (#5363)

* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx

* fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)

* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

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

* fix(theme): helperWrapper padding (#5350)

* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

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

* fix(autocomplete): onClear (#5365)

* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset

* fix(number-input): only allow number type (#5368)

* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset

* refactor: optimization (#5362)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps

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

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

* chore(deps): bump RA versions (#5382)

* fix(tabs): onClick (#5378)

* fix(tabs): handleClick

* chore(changeset): add changeset

* refactor: remove `@interationalized/date` from system (#5374)

* refactor(calendar): createCalendar typing

* refactor(system): ditch `@react-types/calendar`

* feat(system): include the required types or interfaces

* chore(deps): pnpm-lock.yaml

* fix: cast DateValue

* fix: minValue & maxValue typing

* chore(changeset): add changeset

* refactor(system): abstract class

* chore(deps): bump system peer dependency

* chore(changeset): add changeset

* fix(docs): correct display of the "Toast" component in the Safari browser (#5400)

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

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

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* feat: 2.8.0 beta changes (#5473)

* ci(changesets): 📦 version packages (beta) (#5254)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles (#5219)

* chore: pre release

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

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

* chore: remove changeset

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

* chore(react): continue from 2.8.0-beta.2

* chore(changeset): add changeset

* fix(changeset): use patch

* ci(changesets): version packages (beta)

* fix(docs): beta docs

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix(workflow): check_if_pre_json_exists order

* chore(changeset): redeploy

* chore(changeset): changeset (#5263)

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

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

* fix(docs): mdx in beta (#5261)

* chore(docs): add lint:fix

* fix(docs): slug requires promise in next 15

* fix(docs): useMDXComponent

* fix(docs): typing issue

* docs: typography style error (#5274)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles

* Merge branch beta/release-next of github.com:heroui-inc/heroui into beta/release-next-original

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix: transition scale (#5284)

* feat(toast): enable programatically closing a toast with a specific key (#5125)

* feat(toast): add closeToast method

* docs(toast): add example for programmatically closing toast

* refactor: change button title in doc

* refactor: add type for key

* test: sync storybook example with the one in docs

* chore: add changeset

* refactor: fix grammar

* chore: update toast package version change to patch

* Merge branch 'canary' into pr/5125

* chore(changeset): add ref number

* refactor(toast): export hooks

* chore(docs): use flat buttons

---------

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

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

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

* fix(input): prevent accessibility label duplication (#5161)

* fix(input): prevent accessibility label duplication

* chore(chageset): add changeset

* chore(changeset): include issue number

---------

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

* refactor: overlay & interactOutside (#5100)

* fix: remove ariaShouldCloseOnInteractOutside usage

* feat: add `@heroui/use-aria-overlay`

* chore(popover): remove ariaHideOutside

* fix(use-aria-modal-overlay): use useAriaOverlay instead

* fix(use-aira-overlay): revise onInteractOutside

* chore(deps): pnpm-lock.yaml

* feat(modal): add ModalWithAutocompleteTemplate

* chore(modal): remove state.close as handled by useInteractOutside

* fix(use-aria-multiselect): add menuTriggerProps.onPressStart and change domProps to triggerProps

* chore(use-aria-button): support onPressUp

* chore(deps): pnpm-lock.yaml

* chore(use-aria-multiselect): join by commas

* fix(tooltip): use useAriaOverlay instead

* fix(autocomplete): jest timeout issue

* chore(deps): pnpm-lock.yaml

* chore(changset): add changeset

* chore(deps): bump versions

* refactor(tooltip): move to type

* chore(deps): bump RA versions (#5315)

* chore(deps): bump RA versions

* fix(scripts): incorrect docs path

* chore(changeset): add changeset for bumping RA versions

* fix(docs): incorrect import path

* refactor(modal): use a simple example

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

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

* feat(input): adding outside-top prop (#4775)

* feat(input): adding outside-top prop

* chore(input): add outside-top to use-label-placement hook

* refactor(input): use old method for computing labelPlacement in 'use-input'

* fix(input): fix focus behaviouir and alignment for 'outside-top'

* Merge branch 'canary' into pr/4775

* chore(changeset): include issue number

* feat(system): useInputLabelPlacement

* refactor(input): use useInputLabelPlacement

* chore(changeset): add changeset

---------

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

* chore: sync latest changes to beta (#5347)

* chore: add herohack announcement

* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* chore: banner replacement

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore: remove pre.json

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

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

* chore: update changesets

* chore: remove changesets

* chore: add changeset

* chore: update `@heroui/react` pre version

* fix(deps): add missing `@heroui/use-aria-overlay` import

* fix: lock file (#5351)

* ci(changesets): 📦 version packages (beta) (#5348)

* ci(changesets): version packages (beta)

* Merge branch 'beta/release-next' into changeset-release/beta/release-next

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore: sync 2.8.0 to beta (#5388)

* chore: remove outdated changeset

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

* chore(deps): bump RA versions (beta) (#5392)

* chore(deps): bump RA versions

* chore: add changeset

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

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

* refactor: remove RA dependencies (overaly & utils) (#5398)

* refactor(system): remove `@react-aria/utils` package

* refactor(system): remove `@react-aria/overlays` package

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

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

* refactor: RA optimization (#5401)

* refactor(shared-utils): add common functions from `@react-aria/utils`

* feat(system): add shouldClientNavigate & useRouter

* refactor(deps): remove `@react-aria/utils`

* feat(shared-utils): include common functions from RA

* refactor: import functions from `@heroui/shared-utils` instead

* chore(deps): pnpm-lock.yaml

* chore: add changeset

* chore(shared-utils): update directory

* fix(shared-utils): add use client directive

* feat: add `@heroui/use-viewport-size`

* feat: add `@heroui/use-form-reset`

* feat(use-resize): add hasResizeObserver & RefObject

* feat(form): add useObjectRef

* chore: update import

* chore(deps): update dependencies

* refactor(shared-utils): only keep utils

* chore(deps): pnpm-lock.yaml

* chore(changeset): add changeset

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

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

* fix: transitions (#5409)

* chore(changeset): add changeset

* fix: outline style (#5421)

* fix: outline style

* chore(changeset): add changeset

---------

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

* fix(toast): Renaming the loadingIcon to loadingComponent (#4919)

* fix: toast should be above the modal

* fix: renaming the loadingIcon to loadingComponent

* chore: adding changeset

* chore: fixing conflicts

* chore: adding the region props

* fix: adding Marcus' suggestions

* fix: marcus' suggestions

* Revert all commits except 4c6bf32

* chore(toast): bump `@heroui/theme` in peerDependencies

* chore: nits

* chore: applying marcus' suggestions

* chore(toast): update story

---------

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

* chore: use beta version

* chore: delete pre.json

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

* chore(changeset): trigger release

* chore(changeset): trigger release

* chore: keep previous changesets

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

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

* fix(table): header and isStriped missing radius (#5062)

* fix(table): tableheader and isStriped missing radius

* chore: add changeset

* fix: fix missing radius styles

* chore(changeset): update message

* fix(theme): reorder radius

---------

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

* fix(slider): prevent NaN error for equal min / max values (#5044)

* fix(slider): prevent NaN error for equal min/max values

* fix: restore isdisabled code

* fix(slider): perf prevent NaN error for equal min max values

* refactor: slider code

* fix(slider): prevent NaN error for equal min max values & add test

* fix(slider): perf prevent NaN error for equal min max values

* fix: remove redundant code

* chore: add changeset

* Revert "chore: add changeset"

This reverts commit f31de4ac859e48eb09c8a14a546fed9e5197eccd.

* chore(slider): add missing warn

* refactor(slider): remove unnecessary line

---------

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

* fix: double fetch img src (#5417)

* fix(image): double fetch when using custom image component

* fix(avatar): avoid passing disableAnimation to dom & double fetch source

* chore(changeset): include avatar

* fix(autocomplete): empty button when selectorIcon is null (#5427)

* fix(toast): Toast items close in reverse order (#5405)

* fix(toast): correct closing order to implement proper FIFO behavior

* chore(changeset): add changeset

* fix(changeset): update issue number

* chore(toast): use `!==` instead

* feat(toast): apply exit animation to auto-close timeout

---------

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

* fix(table): remove removeWrapper on virtualized table (#5428)

* fix(table): remove `removeWrapper` for virtualized table

* chore(docs): update description for removeWrapper

* chore(changeset): add changeset

* fix(toast): fixed close button hover position (#5245)

* fix(toast): fixed close button hover position

* Update soft-spoons-march.md

* Update toast.ts

* chore(theme): prettier

* Using "placement" to apply the top and bottom extension

* fix(toast): modified hover for expanded region

* update dependancy array

* lint fix

* Merge branch 'canary' into pr/5245

* chore(theme): remove line breaks

* chore(changeset): add missing package

* static extension size

* fix(toast): static extension fix

---------

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

* feat(table): support custom sort icon (#5243)

* feat(shared-icons): add SortIcon

* feat(table): add CustomSortIcon story

* feat(table): support custom sort icon

* fix(table): handle functional sortIcon

* chore(changeset): add changeset

* chore(table): update type

* feat(docs): add sortIcon to table

* fix(docs): broken object

* chore(shared-icons): lint

* feat(docs): add example for sort icon

* chore: bump pnpm & node version (#5442)

* refactor: bump pnpm & node version

* chore(deps): bump `@types/node`

* fix(calendar): improve month and year picker selection for different zoom levels (#5151)

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): prevent stale values while scrolling both year and month pickers simultaneously

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* chore(changeset): update changeset message

* chore: add line breaks

---------

Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: WK <wingkwong.code@gmail.com>

* feat(select): adding isClearable to select (#4785)

* feat(select): adding isClearable to select

* chore(select): add changeset

* test(select): add tests for isClearable

* chore(select): add theme package patch, improve the testcase, rename nextui package to heroui

* fix(select): fixing alignment for clear button for different cases

* Merge branch 'canary' into pr/4785

* Merge branch 'canary' into pr/4785

* fix(select): remove component level styling

* fix(select): fix the alignment and focus behaviour

* fix(select): shift clear buttojn close to trigger

* fix(select): fix alignment for different variants

* feat(select): add data-has-end-content

* fix(theme): revise select styles with clear button and end content

* feat(docs): add end content

---------

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

* fix(select): use span instead as trigger is button

* fix(docs): add ToastProvider for blog post

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

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

* fix(select): clear button test cases

* fix(modal): draggable modal, scrollable on mobile (#5444)

Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>

* chore: trigger release

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

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

* fix(theme): table header sorting icon transition (#5449)

* fix: table header sorcting icon transition

* chore(changeset): add changeset

---------

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

* fix(table): allow text selection with cursor in table cells (#5454)

* fix(table): allow text selection with cursor in table cells

* chore(changeset): add changeset

---------

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

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

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

* chore: add back RA deps (#5466)

* chore(deps): bump testing-library & jest versions (#5468)

* refactor: revise test cases

* chore(deps): bump testing-library & jest versions

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

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

* refactor(autocomplete): test cases

* fix(use-theme): incorrect target theme

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

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

* fix(use-theme): remove all theme values and add the new one

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

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

* docs: 2.8.0 (#5443)

* chore(docs): update routes.json

* chore(docs): bump versions

* chore(docs): initial draft

* chore(docs): add examples

* chore(Docs): update credits and community

* chore(docs): update date & what's next

* chore(docs): update meta data

* chore(docs): add update tags

* chore(docs): add tableSortIcon example

* chore(docs): revise sidebar width

* chore(docs): remove package size optimization

* chore(docs): update meta

* ci(changesets): exit pre-release mode

* chore: update package versions

* chore(changeset): remove unrelated changeset

* chore(deps): remove unused autoprefixer

* chore(docs): update tailwind v4 content

* chore(docs): update template doc content

* chore(docs): update formatting

* chore(toast): export getToastQueue (#5476)

* chore(docs): add hydration issue handling to page router example (#5474)

* docs(dark-mode): add hydration handling to page router example

* chore(docs): format

---------

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

* chore(deps): bump tw4 versions

* fix: handle files with paths containing empty space (#5478)

* chore(docs): revise wordings in 2.8.0 blog

* feat(slider): add getTooltipValue prop for custom tooltip value (#5384)

* feat(slider): add getTooltipValue prop for custom tooltip value

* feat(slider): fix coderabbit highlights

* feat(slider): fixed wingkwong highlights

* feat(slider): added custom-tooltip.raw.tsx?raw

* feat(slider): improved custom-tooltip.raw.tsx

* chore: undo README.md

* chore(slider): use normal $ sign

* chore(changeset): add changeset

* chore(docs): formatting

---------

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

* chore(docs): revise custom tooltip example

* chore(docs): add custom tooltip example for slider

* chore(deps): bump contentlayer2 & next-contentlayer2

* chore(docs): fix formatting

* chore(docs): update metadata

* chore: add v2.8.0 image

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>

* chore: consolidated version part 2

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

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

* fix(theme): use `outline-hidden` which is equivalent to `outline-none`  (#5486)

* fix: use `outline-hidden` which is equivalent to `outline-none` in v3

* chore: add changeset

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anuj Kuralkar <76731106+anuj-kuralkar@users.noreply.github.com>
Co-authored-by: Poli Sour <57824881+novsource@users.noreply.github.com>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>
2025-07-15 16:43:58 -03:00
github-actions[bot] 6d63de0bcd ci(changesets): version packages (#5487)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-07-15 16:00:43 -03:00
WK 8ddc6e795e fix(theme): use outline-hidden which is equivalent to outline-none (#5486)
* fix: use `outline-hidden` which is equivalent to `outline-none` in v3

* chore: add changeset
2025-07-15 15:54:58 -03:00
Junior Garcia 08446a7d06 Merge branch 'main' of github.com:heroui-inc/heroui into canary 2025-07-14 18:53:04 -03:00
Junior Garcia 9803aef296 v2.8.0 (#5483)
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore(deps): bump RA versions (#5361)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps

* chore(docs): remove herohack announcement (#5363)

* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx

* fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)

* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

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

* fix(theme): helperWrapper padding (#5350)

* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

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

* fix(autocomplete): onClear (#5365)

* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset

* fix(number-input): only allow number type (#5368)

* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset

* refactor: optimization (#5362)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps

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

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

* chore(deps): bump RA versions (#5382)

* fix(tabs): onClick (#5378)

* fix(tabs): handleClick

* chore(changeset): add changeset

* refactor: remove `@interationalized/date` from system (#5374)

* refactor(calendar): createCalendar typing

* refactor(system): ditch `@react-types/calendar`

* feat(system): include the required types or interfaces

* chore(deps): pnpm-lock.yaml

* fix: cast DateValue

* fix: minValue & maxValue typing

* chore(changeset): add changeset

* refactor(system): abstract class

* chore(deps): bump system peer dependency

* chore(changeset): add changeset

* fix(docs): correct display of the "Toast" component in the Safari browser (#5400)

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

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

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* feat: 2.8.0 beta changes (#5473)

* ci(changesets): 📦 version packages (beta) (#5254)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles (#5219)

* chore: pre release

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

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

* chore: remove changeset

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

* chore(react): continue from 2.8.0-beta.2

* chore(changeset): add changeset

* fix(changeset): use patch

* ci(changesets): version packages (beta)

* fix(docs): beta docs

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix(workflow): check_if_pre_json_exists order

* chore(changeset): redeploy

* chore(changeset): changeset (#5263)

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

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

* fix(docs): mdx in beta (#5261)

* chore(docs): add lint:fix

* fix(docs): slug requires promise in next 15

* fix(docs): useMDXComponent

* fix(docs): typing issue

* docs: typography style error (#5274)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles

* Merge branch beta/release-next of github.com:heroui-inc/heroui into beta/release-next-original

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix: transition scale (#5284)

* feat(toast): enable programatically closing a toast with a specific key (#5125)

* feat(toast): add closeToast method

* docs(toast): add example for programmatically closing toast

* refactor: change button title in doc

* refactor: add type for key

* test: sync storybook example with the one in docs

* chore: add changeset

* refactor: fix grammar

* chore: update toast package version change to patch

* Merge branch 'canary' into pr/5125

* chore(changeset): add ref number

* refactor(toast): export hooks

* chore(docs): use flat buttons

---------

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

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

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

* fix(input): prevent accessibility label duplication (#5161)

* fix(input): prevent accessibility label duplication

* chore(chageset): add changeset

* chore(changeset): include issue number

---------

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

* refactor: overlay & interactOutside (#5100)

* fix: remove ariaShouldCloseOnInteractOutside usage

* feat: add `@heroui/use-aria-overlay`

* chore(popover): remove ariaHideOutside

* fix(use-aria-modal-overlay): use useAriaOverlay instead

* fix(use-aira-overlay): revise onInteractOutside

* chore(deps): pnpm-lock.yaml

* feat(modal): add ModalWithAutocompleteTemplate

* chore(modal): remove state.close as handled by useInteractOutside

* fix(use-aria-multiselect): add menuTriggerProps.onPressStart and change domProps to triggerProps

* chore(use-aria-button): support onPressUp

* chore(deps): pnpm-lock.yaml

* chore(use-aria-multiselect): join by commas

* fix(tooltip): use useAriaOverlay instead

* fix(autocomplete): jest timeout issue

* chore(deps): pnpm-lock.yaml

* chore(changset): add changeset

* chore(deps): bump versions

* refactor(tooltip): move to type

* chore(deps): bump RA versions (#5315)

* chore(deps): bump RA versions

* fix(scripts): incorrect docs path

* chore(changeset): add changeset for bumping RA versions

* fix(docs): incorrect import path

* refactor(modal): use a simple example

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

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

* feat(input): adding outside-top prop (#4775)

* feat(input): adding outside-top prop

* chore(input): add outside-top to use-label-placement hook

* refactor(input): use old method for computing labelPlacement in 'use-input'

* fix(input): fix focus behaviouir and alignment for 'outside-top'

* Merge branch 'canary' into pr/4775

* chore(changeset): include issue number

* feat(system): useInputLabelPlacement

* refactor(input): use useInputLabelPlacement

* chore(changeset): add changeset

---------

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

* chore: sync latest changes to beta (#5347)

* chore: add herohack announcement

* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* chore: banner replacement

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore: remove pre.json

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

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

* chore: update changesets

* chore: remove changesets

* chore: add changeset

* chore: update `@heroui/react` pre version

* fix(deps): add missing `@heroui/use-aria-overlay` import

* fix: lock file (#5351)

* ci(changesets): 📦 version packages (beta) (#5348)

* ci(changesets): version packages (beta)

* Merge branch 'beta/release-next' into changeset-release/beta/release-next

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore: sync 2.8.0 to beta (#5388)

* chore: remove outdated changeset

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

* chore(deps): bump RA versions (beta) (#5392)

* chore(deps): bump RA versions

* chore: add changeset

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

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

* refactor: remove RA dependencies (overaly & utils) (#5398)

* refactor(system): remove `@react-aria/utils` package

* refactor(system): remove `@react-aria/overlays` package

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

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

* refactor: RA optimization (#5401)

* refactor(shared-utils): add common functions from `@react-aria/utils`

* feat(system): add shouldClientNavigate & useRouter

* refactor(deps): remove `@react-aria/utils`

* feat(shared-utils): include common functions from RA

* refactor: import functions from `@heroui/shared-utils` instead

* chore(deps): pnpm-lock.yaml

* chore: add changeset

* chore(shared-utils): update directory

* fix(shared-utils): add use client directive

* feat: add `@heroui/use-viewport-size`

* feat: add `@heroui/use-form-reset`

* feat(use-resize): add hasResizeObserver & RefObject

* feat(form): add useObjectRef

* chore: update import

* chore(deps): update dependencies

* refactor(shared-utils): only keep utils

* chore(deps): pnpm-lock.yaml

* chore(changeset): add changeset

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

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

* fix: transitions (#5409)

* chore(changeset): add changeset

* fix: outline style (#5421)

* fix: outline style

* chore(changeset): add changeset

---------

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

* fix(toast): Renaming the loadingIcon to loadingComponent (#4919)

* fix: toast should be above the modal

* fix: renaming the loadingIcon to loadingComponent

* chore: adding changeset

* chore: fixing conflicts

* chore: adding the region props

* fix: adding Marcus' suggestions

* fix: marcus' suggestions

* Revert all commits except 4c6bf32

* chore(toast): bump `@heroui/theme` in peerDependencies

* chore: nits

* chore: applying marcus' suggestions

* chore(toast): update story

---------

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

* chore: use beta version

* chore: delete pre.json

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

* chore(changeset): trigger release

* chore(changeset): trigger release

* chore: keep previous changesets

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

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

* fix(table): header and isStriped missing radius (#5062)

* fix(table): tableheader and isStriped missing radius

* chore: add changeset

* fix: fix missing radius styles

* chore(changeset): update message

* fix(theme): reorder radius

---------

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

* fix(slider): prevent NaN error for equal min / max values (#5044)

* fix(slider): prevent NaN error for equal min/max values

* fix: restore isdisabled code

* fix(slider): perf prevent NaN error for equal min max values

* refactor: slider code

* fix(slider): prevent NaN error for equal min max values & add test

* fix(slider): perf prevent NaN error for equal min max values

* fix: remove redundant code

* chore: add changeset

* Revert "chore: add changeset"

This reverts commit f31de4ac859e48eb09c8a14a546fed9e5197eccd.

* chore(slider): add missing warn

* refactor(slider): remove unnecessary line

---------

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

* fix: double fetch img src (#5417)

* fix(image): double fetch when using custom image component

* fix(avatar): avoid passing disableAnimation to dom & double fetch source

* chore(changeset): include avatar

* fix(autocomplete): empty button when selectorIcon is null (#5427)

* fix(toast): Toast items close in reverse order (#5405)

* fix(toast): correct closing order to implement proper FIFO behavior

* chore(changeset): add changeset

* fix(changeset): update issue number

* chore(toast): use `!==` instead

* feat(toast): apply exit animation to auto-close timeout

---------

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

* fix(table): remove removeWrapper on virtualized table (#5428)

* fix(table): remove `removeWrapper` for virtualized table

* chore(docs): update description for removeWrapper

* chore(changeset): add changeset

* fix(toast): fixed close button hover position (#5245)

* fix(toast): fixed close button hover position

* Update soft-spoons-march.md

* Update toast.ts

* chore(theme): prettier

* Using "placement" to apply the top and bottom extension

* fix(toast): modified hover for expanded region

* update dependancy array

* lint fix

* Merge branch 'canary' into pr/5245

* chore(theme): remove line breaks

* chore(changeset): add missing package

* static extension size

* fix(toast): static extension fix

---------

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

* feat(table): support custom sort icon (#5243)

* feat(shared-icons): add SortIcon

* feat(table): add CustomSortIcon story

* feat(table): support custom sort icon

* fix(table): handle functional sortIcon

* chore(changeset): add changeset

* chore(table): update type

* feat(docs): add sortIcon to table

* fix(docs): broken object

* chore(shared-icons): lint

* feat(docs): add example for sort icon

* chore: bump pnpm & node version (#5442)

* refactor: bump pnpm & node version

* chore(deps): bump `@types/node`

* fix(calendar): improve month and year picker selection for different zoom levels (#5151)

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): prevent stale values while scrolling both year and month pickers simultaneously

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* chore(changeset): update changeset message

* chore: add line breaks

---------

Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: WK <wingkwong.code@gmail.com>

* feat(select): adding isClearable to select (#4785)

* feat(select): adding isClearable to select

* chore(select): add changeset

* test(select): add tests for isClearable

* chore(select): add theme package patch, improve the testcase, rename nextui package to heroui

* fix(select): fixing alignment for clear button for different cases

* Merge branch 'canary' into pr/4785

* Merge branch 'canary' into pr/4785

* fix(select): remove component level styling

* fix(select): fix the alignment and focus behaviour

* fix(select): shift clear buttojn close to trigger

* fix(select): fix alignment for different variants

* feat(select): add data-has-end-content

* fix(theme): revise select styles with clear button and end content

* feat(docs): add end content

---------

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

* fix(select): use span instead as trigger is button

* fix(docs): add ToastProvider for blog post

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

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

* fix(select): clear button test cases

* fix(modal): draggable modal, scrollable on mobile (#5444)

Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>

* chore: trigger release

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

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

* fix(theme): table header sorting icon transition (#5449)

* fix: table header sorcting icon transition

* chore(changeset): add changeset

---------

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

* fix(table): allow text selection with cursor in table cells (#5454)

* fix(table): allow text selection with cursor in table cells

* chore(changeset): add changeset

---------

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

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

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

* chore: add back RA deps (#5466)

* chore(deps): bump testing-library & jest versions (#5468)

* refactor: revise test cases

* chore(deps): bump testing-library & jest versions

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

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

* refactor(autocomplete): test cases

* fix(use-theme): incorrect target theme

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

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

* fix(use-theme): remove all theme values and add the new one

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

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

* docs: 2.8.0 (#5443)

* chore(docs): update routes.json

* chore(docs): bump versions

* chore(docs): initial draft

* chore(docs): add examples

* chore(Docs): update credits and community

* chore(docs): update date & what's next

* chore(docs): update meta data

* chore(docs): add update tags

* chore(docs): add tableSortIcon example

* chore(docs): revise sidebar width

* chore(docs): remove package size optimization

* chore(docs): update meta

* ci(changesets): exit pre-release mode

* chore: update package versions

* chore(changeset): remove unrelated changeset

* chore(deps): remove unused autoprefixer

* chore(docs): update tailwind v4 content

* chore(docs): update template doc content

* chore(docs): update formatting

* chore(toast): export getToastQueue (#5476)

* chore(docs): add hydration issue handling to page router example (#5474)

* docs(dark-mode): add hydration handling to page router example

* chore(docs): format

---------

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

* chore(deps): bump tw4 versions

* fix: handle files with paths containing empty space (#5478)

* chore(docs): revise wordings in 2.8.0 blog

* feat(slider): add getTooltipValue prop for custom tooltip value (#5384)

* feat(slider): add getTooltipValue prop for custom tooltip value

* feat(slider): fix coderabbit highlights

* feat(slider): fixed wingkwong highlights

* feat(slider): added custom-tooltip.raw.tsx?raw

* feat(slider): improved custom-tooltip.raw.tsx

* chore: undo README.md

* chore(slider): use normal $ sign

* chore(changeset): add changeset

* chore(docs): formatting

---------

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

* chore(docs): revise custom tooltip example

* chore(docs): add custom tooltip example for slider

* chore(deps): bump contentlayer2 & next-contentlayer2

* chore(docs): fix formatting

* chore(docs): update metadata

* chore: add v2.8.0 image

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>

* chore: consolidated version part 2

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anuj Kuralkar <76731106+anuj-kuralkar@users.noreply.github.com>
Co-authored-by: Poli Sour <57824881+novsource@users.noreply.github.com>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>
2025-07-14 18:52:44 -03:00
github-actions[bot] df56b2f199 ci(changesets): version packages (#5482)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-07-14 18:39:50 -03:00
Junior Garcia e489af83c1 chore: consolidated version part 2 2025-07-14 18:32:56 -03:00
WK c59b2a9fe1 feat: 2.8.0 beta changes (#5473)
* ci(changesets): 📦 version packages (beta) (#5254)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles (#5219)

* chore: pre release

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

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

* chore: remove changeset

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

* chore(react): continue from 2.8.0-beta.2

* chore(changeset): add changeset

* fix(changeset): use patch

* ci(changesets): version packages (beta)

* fix(docs): beta docs

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix(workflow): check_if_pre_json_exists order

* chore(changeset): redeploy

* chore(changeset): changeset (#5263)

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

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

* fix(docs): mdx in beta (#5261)

* chore(docs): add lint:fix

* fix(docs): slug requires promise in next 15

* fix(docs): useMDXComponent

* fix(docs): typing issue

* docs: typography style error (#5274)

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

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e823233fca0e920336ec32dda6d1d1d845ed0d2)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

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

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

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

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

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

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df254d.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

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

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

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

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

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

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles

* Merge branch beta/release-next of github.com:heroui-inc/heroui into beta/release-next-original

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix: transition scale (#5284)

* feat(toast): enable programatically closing a toast with a specific key (#5125)

* feat(toast): add closeToast method

* docs(toast): add example for programmatically closing toast

* refactor: change button title in doc

* refactor: add type for key

* test: sync storybook example with the one in docs

* chore: add changeset

* refactor: fix grammar

* chore: update toast package version change to patch

* Merge branch 'canary' into pr/5125

* chore(changeset): add ref number

* refactor(toast): export hooks

* chore(docs): use flat buttons

---------

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

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

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

* fix(input): prevent accessibility label duplication (#5161)

* fix(input): prevent accessibility label duplication

* chore(chageset): add changeset

* chore(changeset): include issue number

---------

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

* refactor: overlay & interactOutside (#5100)

* fix: remove ariaShouldCloseOnInteractOutside usage

* feat: add `@heroui/use-aria-overlay`

* chore(popover): remove ariaHideOutside

* fix(use-aria-modal-overlay): use useAriaOverlay instead

* fix(use-aira-overlay): revise onInteractOutside

* chore(deps): pnpm-lock.yaml

* feat(modal): add ModalWithAutocompleteTemplate

* chore(modal): remove state.close as handled by useInteractOutside

* fix(use-aria-multiselect): add menuTriggerProps.onPressStart and change domProps to triggerProps

* chore(use-aria-button): support onPressUp

* chore(deps): pnpm-lock.yaml

* chore(use-aria-multiselect): join by commas

* fix(tooltip): use useAriaOverlay instead

* fix(autocomplete): jest timeout issue

* chore(deps): pnpm-lock.yaml

* chore(changset): add changeset

* chore(deps): bump versions

* refactor(tooltip): move to type

* chore(deps): bump RA versions (#5315)

* chore(deps): bump RA versions

* fix(scripts): incorrect docs path

* chore(changeset): add changeset for bumping RA versions

* fix(docs): incorrect import path

* refactor(modal): use a simple example

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

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

* feat(input): adding outside-top prop (#4775)

* feat(input): adding outside-top prop

* chore(input): add outside-top to use-label-placement hook

* refactor(input): use old method for computing labelPlacement in 'use-input'

* fix(input): fix focus behaviouir and alignment for 'outside-top'

* Merge branch 'canary' into pr/4775

* chore(changeset): include issue number

* feat(system): useInputLabelPlacement

* refactor(input): use useInputLabelPlacement

* chore(changeset): add changeset

---------

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

* chore: sync latest changes to beta (#5347)

* chore: add herohack announcement

* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* chore: banner replacement

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore: remove pre.json

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

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

* chore: update changesets

* chore: remove changesets

* chore: add changeset

* chore: update `@heroui/react` pre version

* fix(deps): add missing `@heroui/use-aria-overlay` import

* fix: lock file (#5351)

* ci(changesets): 📦 version packages (beta) (#5348)

* ci(changesets): version packages (beta)

* Merge branch 'beta/release-next' into changeset-release/beta/release-next

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore: sync 2.8.0 to beta (#5388)

* chore: remove outdated changeset

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

* chore(deps): bump RA versions (beta) (#5392)

* chore(deps): bump RA versions

* chore: add changeset

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

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

* refactor: remove RA dependencies (overaly & utils) (#5398)

* refactor(system): remove `@react-aria/utils` package

* refactor(system): remove `@react-aria/overlays` package

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

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

* refactor: RA optimization (#5401)

* refactor(shared-utils): add common functions from `@react-aria/utils`

* feat(system): add shouldClientNavigate & useRouter

* refactor(deps): remove `@react-aria/utils`

* feat(shared-utils): include common functions from RA

* refactor: import functions from `@heroui/shared-utils` instead

* chore(deps): pnpm-lock.yaml

* chore: add changeset

* chore(shared-utils): update directory

* fix(shared-utils): add use client directive

* feat: add `@heroui/use-viewport-size`

* feat: add `@heroui/use-form-reset`

* feat(use-resize): add hasResizeObserver & RefObject

* feat(form): add useObjectRef

* chore: update import

* chore(deps): update dependencies

* refactor(shared-utils): only keep utils

* chore(deps): pnpm-lock.yaml

* chore(changeset): add changeset

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

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

* fix: transitions (#5409)

* chore(changeset): add changeset

* fix: outline style (#5421)

* fix: outline style

* chore(changeset): add changeset

---------

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

* fix(toast): Renaming the loadingIcon to loadingComponent (#4919)

* fix: toast should be above the modal

* fix: renaming the loadingIcon to loadingComponent

* chore: adding changeset

* chore: fixing conflicts

* chore: adding the region props

* fix: adding Marcus' suggestions

* fix: marcus' suggestions

* Revert all commits except 4c6bf32

* chore(toast): bump `@heroui/theme` in peerDependencies

* chore: nits

* chore: applying marcus' suggestions

* chore(toast): update story

---------

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

* chore: use beta version

* chore: delete pre.json

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

* chore(changeset): trigger release

* chore(changeset): trigger release

* chore: keep previous changesets

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

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

* fix(table): header and isStriped missing radius (#5062)

* fix(table): tableheader and isStriped missing radius

* chore: add changeset

* fix: fix missing radius styles

* chore(changeset): update message

* fix(theme): reorder radius

---------

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

* fix(slider): prevent NaN error for equal min / max values (#5044)

* fix(slider): prevent NaN error for equal min/max values

* fix: restore isdisabled code

* fix(slider): perf prevent NaN error for equal min max values

* refactor: slider code

* fix(slider): prevent NaN error for equal min max values & add test

* fix(slider): perf prevent NaN error for equal min max values

* fix: remove redundant code

* chore: add changeset

* Revert "chore: add changeset"

This reverts commit f31de4ac859e48eb09c8a14a546fed9e5197eccd.

* chore(slider): add missing warn

* refactor(slider): remove unnecessary line

---------

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

* fix: double fetch img src (#5417)

* fix(image): double fetch when using custom image component

* fix(avatar): avoid passing disableAnimation to dom & double fetch source

* chore(changeset): include avatar

* fix(autocomplete): empty button when selectorIcon is null (#5427)

* fix(toast): Toast items close in reverse order (#5405)

* fix(toast): correct closing order to implement proper FIFO behavior

* chore(changeset): add changeset

* fix(changeset): update issue number

* chore(toast): use `!==` instead

* feat(toast): apply exit animation to auto-close timeout

---------

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

* fix(table): remove removeWrapper on virtualized table (#5428)

* fix(table): remove `removeWrapper` for virtualized table

* chore(docs): update description for removeWrapper

* chore(changeset): add changeset

* fix(toast): fixed close button hover position (#5245)

* fix(toast): fixed close button hover position

* Update soft-spoons-march.md

* Update toast.ts

* chore(theme): prettier

* Using "placement" to apply the top and bottom extension

* fix(toast): modified hover for expanded region

* update dependancy array

* lint fix

* Merge branch 'canary' into pr/5245

* chore(theme): remove line breaks

* chore(changeset): add missing package

* static extension size

* fix(toast): static extension fix

---------

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

* feat(table): support custom sort icon (#5243)

* feat(shared-icons): add SortIcon

* feat(table): add CustomSortIcon story

* feat(table): support custom sort icon

* fix(table): handle functional sortIcon

* chore(changeset): add changeset

* chore(table): update type

* feat(docs): add sortIcon to table

* fix(docs): broken object

* chore(shared-icons): lint

* feat(docs): add example for sort icon

* chore: bump pnpm & node version (#5442)

* refactor: bump pnpm & node version

* chore(deps): bump `@types/node`

* fix(calendar): improve month and year picker selection for different zoom levels (#5151)

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): prevent stale values while scrolling both year and month pickers simultaneously

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* chore(changeset): update changeset message

* chore: add line breaks

---------

Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: WK <wingkwong.code@gmail.com>

* feat(select): adding isClearable to select (#4785)

* feat(select): adding isClearable to select

* chore(select): add changeset

* test(select): add tests for isClearable

* chore(select): add theme package patch, improve the testcase, rename nextui package to heroui

* fix(select): fixing alignment for clear button for different cases

* Merge branch 'canary' into pr/4785

* Merge branch 'canary' into pr/4785

* fix(select): remove component level styling

* fix(select): fix the alignment and focus behaviour

* fix(select): shift clear buttojn close to trigger

* fix(select): fix alignment for different variants

* feat(select): add data-has-end-content

* fix(theme): revise select styles with clear button and end content

* feat(docs): add end content

---------

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

* fix(select): use span instead as trigger is button

* fix(docs): add ToastProvider for blog post

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

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

* fix(select): clear button test cases

* fix(modal): draggable modal, scrollable on mobile (#5444)

Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>

* chore: trigger release

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

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

* fix(theme): table header sorting icon transition (#5449)

* fix: table header sorcting icon transition

* chore(changeset): add changeset

---------

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

* fix(table): allow text selection with cursor in table cells (#5454)

* fix(table): allow text selection with cursor in table cells

* chore(changeset): add changeset

---------

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

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

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

* chore: add back RA deps (#5466)

* chore(deps): bump testing-library & jest versions (#5468)

* refactor: revise test cases

* chore(deps): bump testing-library & jest versions

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

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

* refactor(autocomplete): test cases

* fix(use-theme): incorrect target theme

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

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

* fix(use-theme): remove all theme values and add the new one

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

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

* docs: 2.8.0 (#5443)

* chore(docs): update routes.json

* chore(docs): bump versions

* chore(docs): initial draft

* chore(docs): add examples

* chore(Docs): update credits and community

* chore(docs): update date & what's next

* chore(docs): update meta data

* chore(docs): add update tags

* chore(docs): add tableSortIcon example

* chore(docs): revise sidebar width

* chore(docs): remove package size optimization

* chore(docs): update meta

* ci(changesets): exit pre-release mode

* chore: update package versions

* chore(changeset): remove unrelated changeset

* chore(deps): remove unused autoprefixer

* chore(docs): update tailwind v4 content

* chore(docs): update template doc content

* chore(docs): update formatting

* chore(toast): export getToastQueue (#5476)

* chore(docs): add hydration issue handling to page router example (#5474)

* docs(dark-mode): add hydration handling to page router example

* chore(docs): format

---------

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

* chore(deps): bump tw4 versions

* fix: handle files with paths containing empty space (#5478)

* chore(docs): revise wordings in 2.8.0 blog

* feat(slider): add getTooltipValue prop for custom tooltip value (#5384)

* feat(slider): add getTooltipValue prop for custom tooltip value

* feat(slider): fix coderabbit highlights

* feat(slider): fixed wingkwong highlights

* feat(slider): added custom-tooltip.raw.tsx?raw

* feat(slider): improved custom-tooltip.raw.tsx

* chore: undo README.md

* chore(slider): use normal $ sign

* chore(changeset): add changeset

* chore(docs): formatting

---------

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

* chore(docs): revise custom tooltip example

* chore(docs): add custom tooltip example for slider

* chore(deps): bump contentlayer2 & next-contentlayer2

* chore(docs): fix formatting

* chore(docs): update metadata

* chore: add v2.8.0 image

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>
2025-07-14 17:50:05 -03:00
Junior Garcia 89892cd6d1 chore: update site url in next-sitemap.config.js to use the www subdomain 2025-07-09 17:29:54 -03:00
WK 6b28b61b68 chore: remove ph banner (#5437) 2025-07-04 11:30:47 -03:00
Nicolas Cappabianca 584d1c2991 docs: replace invalid yarn command (#5422) 2025-07-01 18:29:10 +08:00
Junior Garcia 270983db78 Merge branch 'main' of github.com:heroui-inc/heroui into canary 2025-06-29 13:18:39 -03:00
WK 6228427617 v2.7.11 (#5404)
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore(deps): bump RA versions (#5361)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps

* chore(docs): remove herohack announcement (#5363)

* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx

* fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)

* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

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

* fix(theme): helperWrapper padding (#5350)

* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

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

* fix(autocomplete): onClear (#5365)

* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset

* fix(number-input): only allow number type (#5368)

* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset

* refactor: optimization (#5362)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps

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

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

* chore(deps): bump RA versions (#5382)

* fix(tabs): onClick (#5378)

* fix(tabs): handleClick

* chore(changeset): add changeset

* refactor: remove `@interationalized/date` from system (#5374)

* refactor(calendar): createCalendar typing

* refactor(system): ditch `@react-types/calendar`

* feat(system): include the required types or interfaces

* chore(deps): pnpm-lock.yaml

* fix: cast DateValue

* fix: minValue & maxValue typing

* chore(changeset): add changeset

* refactor(system): abstract class

* chore(deps): bump system peer dependency

* chore(changeset): add changeset

* fix(docs): correct display of the "Toast" component in the Safari browser (#5400)

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anuj Kuralkar <76731106+anuj-kuralkar@users.noreply.github.com>
Co-authored-by: Poli Sour <57824881+novsource@users.noreply.github.com>
2025-06-23 15:57:55 -03:00
github-actions[bot] 3a6e0c5e97 ci(changesets): version packages (#5394)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-06-20 22:29:50 +08:00
Poli Sour 66dad4888a fix(docs): correct display of the "Toast" component in the Safari browser (#5400) 2025-06-19 11:33:20 +08:00
WK be6a1dbf40 refactor: remove @interationalized/date from system (#5374)
* refactor(calendar): createCalendar typing

* refactor(system): ditch `@react-types/calendar`

* feat(system): include the required types or interfaces

* chore(deps): pnpm-lock.yaml

* fix: cast DateValue

* fix: minValue & maxValue typing

* chore(changeset): add changeset

* refactor(system): abstract class

* chore(deps): bump system peer dependency

* chore(changeset): add changeset
2025-06-18 00:09:56 +08:00
WK dd63b83b6b fix(tabs): onClick (#5378)
* fix(tabs): handleClick

* chore(changeset): add changeset
2025-06-17 16:32:39 +08:00
WK 7dff993e1d chore(deps): bump RA versions (#5382) 2025-06-17 13:39:20 +08:00
Junior Garcia 14f4089d4a Merge branch 'main' of github.com:heroui-inc/heroui into canary 2025-06-16 11:28:21 -03:00
WK 4e41f50fa2 v2.7.10 (#5381)
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore(deps): bump RA versions (#5361)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps

* chore(docs): remove herohack announcement (#5363)

* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx

* fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)

* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

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

* fix(theme): helperWrapper padding (#5350)

* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

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

* fix(autocomplete): onClear (#5365)

* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset

* fix(number-input): only allow number type (#5368)

* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset

* refactor: optimization (#5362)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anuj Kuralkar <76731106+anuj-kuralkar@users.noreply.github.com>
2025-06-16 11:28:11 -03:00
Junior Garcia 273ebe5665 chore: merged with main 2025-06-16 11:27:37 -03:00
github-actions[bot] 15b3e9effd ci(changesets): version packages (#5364)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-06-09 23:25:33 +08:00
WK 0d217e466f refactor: optimization (#5362)
* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps
2025-06-09 14:17:44 +08:00
WK ad807bec7e fix(number-input): only allow number type (#5368)
* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset
2025-06-09 14:17:06 +08:00
WK f1abe161b1 fix(autocomplete): onClear (#5365)
* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset
2025-06-09 13:25:36 +08:00
Vishv Salvi ace931b44d fix(theme): helperWrapper padding (#5350)
* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-06-09 10:38:51 +08:00
Anuj Kuralkar ff4b1b2393 fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)
* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-06-08 22:12:32 +08:00
Vishv Salvi 2aeb33f3e1 chore(docs): remove herohack announcement (#5363)
* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx
2025-06-08 01:00:57 +08:00
WK 1e23994345 chore(deps): bump RA versions (#5361)
* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps
2025-06-07 14:14:53 +08:00
Junior Garcia 9b6566f089 v2.7.9 (#5342)
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-01 16:22:36 -03:00
Junior Garcia 1f8cb0717c Merge branch 'main' of github.com:heroui-inc/heroui into canary 2025-06-01 16:19:52 -03:00
github-actions[bot] 63a1a671a9 ci(changesets): version packages (#5323)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-06-01 14:22:28 -03:00
WK 6e9247ad32 chore(docs): add missing onValueChange in CheckboxGroup (#5332) 2025-06-01 14:19:33 -03:00
zhengjitf 9433bff517 fix issues in tabs examples (#2405)
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-06-01 14:19:14 -03:00
liaoyinglong 718dc24ff5 feat(tabs): add click handling for tab items in tests and implementation (#3917)
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-06-01 14:03:18 -03:00
Vishv Salvi 6129e4bc79 docs(layout.tsx): added text-foreground (#5316) 2025-06-01 14:02:29 -03:00
WK dcd6244935 chore(docs): update meta data (#5311) 2025-06-01 14:02:09 -03:00
WK 1d62208642 chore(deps): bump RA versions (#5310)
* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-06-01 14:01:45 -03:00
WK 01f542167f fix: broken components in stories (#5291)
* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo
2025-06-01 13:58:41 -03:00
KumJungMin 360b2e77fd fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)
* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment
2025-06-01 13:56:15 -03:00
WK d09e602b59 chore(docs): supplement onAction & selectionBehavior (#5289) 2025-06-01 13:54:48 -03:00
WK 06fe3a3c4e chore(deps): bump framer-motion version (#5287)
* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-06-01 13:54:24 -03:00
WK 74e4deca9a fix(autocomplete): persist last selected item position (#5286)
* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset
2025-06-01 13:52:21 -03:00
WK 8c2613713a refactor: migrate eslint to v9 (#5267)
* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await
2025-06-01 13:51:30 -03:00
WK 8df9716dfa fix(toast): icons (#5246)
* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset
2025-06-01 13:50:43 -03:00
Vishv Salvi ee4d2ebe25 fix(theme): clear button in mobile (#5252)
* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes
2025-06-01 13:49:17 -03:00
Junior Garcia afda066da8 chore: banner replacement 2025-05-31 11:08:18 -03:00
Vishv Salvi d40c744f46 fix(date-picker): error state (#5317)
* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
2025-05-26 19:12:32 -03:00
Junior Garcia 5ccd945cd7 chore: add herohack announcement 2025-05-15 00:18:33 -03:00
Junior Garcia 2cbc68965f Merge pull request #5251 from heroui-inc/canary
v2.7.8
2025-04-28 19:15:08 -03:00
github-actions[bot] df370fbc02 ci(changesets): version packages (#5250)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-04-28 19:04:43 -03:00
Junior Garcia b9e94a2151 chore: v2.7.7 2025-04-28 18:58:40 -03:00
github-actions[bot] 16a098c696 ci(changesets): version packages (#5249)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-04-28 18:48:53 -03:00
github-actions[bot] cc4819e3b4 ci(changesets): version packages (#5218)
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
2025-04-28 18:44:14 -03:00
il-1337 dd60608886 fix(theme): add default value for custom theme properties (#5195)
* fix(theme): add default value for custom theme properties

* chore(changeset): add issue number

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
2025-04-28 18:42:10 -03:00
winches 31476000d0 docs: sync api from heroui-cli v1.2.2 (#5217)
Co-authored-by: GitHub Action <action@github.com>
2025-04-28 18:40:48 -03:00
աӄա 8e93bc87ac fix(docs): set page to 1 when there is no records (#5229) 2025-04-28 18:40:30 -03:00
աӄա a61f57bbf7 fix(breadcrumbs): missing key for ellipsisItem (#5239)
* fix(breadcrumbs): missing key for ellipsisItem

* chore(changeset): add changeset
2025-04-28 18:40:02 -03:00
Junior Garcia efda62c1c5 Merge branch 'main' of github.com:heroui-inc/heroui into canary 2025-04-20 07:56:31 -03:00
Nathanael Shermett f223e1ff63 fix(theme): hover-opacity in Link & Breadcrumb (#5170)
* Utilize `hover-opacity` in <Link> component.

* Add changeset

* chore(changeset): add issue number

* chore(theme): use hover-opacity for breadcrumb isCurrent = false

* chore(changeset): update changeset msg

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
2025-04-19 12:28:23 -03:00
աӄա 99a5bc2f4c fix(input-otp): variants on segment background (#5179)
* fix(theme): segment background for bordered and underlined

* fix(input-otp): segment background
2025-04-19 12:27:25 -03:00
Hova25 8bd878341e fix(table): sticky header & content placement in virtualized table (#5184)
* fix(table): header sticky in virtualized table + topContent and bottom content placement fix

* fix(table): header sticky in virtualized table PR return

* chore(changeset): revise changeset msg

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
2025-04-19 12:27:05 -03:00
աӄա 531518f2ef fix(accordion): keepContentMounted with disableAnimation (#5172)
* fix(accordion): keepContentMounted with disableAnimation

* feat(accordion): add test cases

* fix(accordion): use waitFor
2025-04-19 12:24:17 -03:00
աӄա 500ed771e2 chore(deps): bump RA versions (#5186)
* chore(deps): bump RA versions

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

* fix(deps): `@react-types/calendar` version

* chore(deps): bump RA versions in docs

* chore(deps): update versions in packageManagers

* chore(deps): pnpm-lock.yaml

* fix(calendar): createCalendar takes CalendarIdentifier now

* fix: cater onClick as an alias for onPress

* chore(changeset): add changeset
2025-04-19 12:22:59 -03:00
աӄա 9c13357337 chore(docs): add a demo link in TW4 doc (#5211)
* chore(docs): add a demo link

* fix(docs): typo
2025-04-19 12:22:23 -03:00
աӄա 53295ca9dc fix(button): icon focus behaviour on click (#5209) 2025-04-19 12:21:56 -03:00
աӄա 0b1e0e21ea chore(docs): update TW v4 doc (#5210)
* chore(docs): update TW v4 doc link

* chore(docs): supplement "Update CSS Import"
2025-04-17 15:05:55 -03:00
Clover You 0f27dbc9d5 fix: correct Tailwind v4 migration guide syntax and formatting (#5204) 2025-04-16 09:58:32 -03:00
Junior Garcia 1240a4fbe1 chore: bring back pro ads 2025-04-12 18:59:16 -03:00
1049 changed files with 40486 additions and 15055 deletions
-25
View File
@@ -1,25 +0,0 @@
.now/*
.next/*
*.css
.changeset
dist
esm/*
public/*
tests/*
scripts/*
*.config.js
.DS_Store
node_modules
coverage
.next
build
!.storybook
/**/.storybook/**
!.commitlintrc.cjs
!.lintstagedrc.cjs
!jest.config.js
!plopfile.js
!react-shim.js
!tsup.config.ts
apps/docs/preinstall.js
apps/docs/next-redirect.js
-93
View File
@@ -1,93 +0,0 @@
{
"$schema": "https://json.schemastore.org/eslintrc.json",
"env": {
"browser": false,
"es2021": true,
"node": true
},
"extends": [
"plugin:react/recommended",
"plugin:prettier/recommended",
"plugin:react-hooks/recommended",
"plugin:jsx-a11y/recommended"
],
"plugins": ["react", "unused-imports", "import", "@typescript-eslint", "jsx-a11y", "prettier"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"settings": {
"react": {
"version": "detect"
}
},
"rules": {
"no-console": "warn",
"react/prop-types": "off",
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off",
"react-hooks/exhaustive-deps": "off",
"jsx-a11y/click-events-have-key-events": "warn",
"jsx-a11y/interactive-supports-focus": "warn",
"prettier/prettier": "warn",
"no-unused-vars": "off",
"unused-imports/no-unused-vars": "off",
"unused-imports/no-unused-imports": "warn",
"@typescript-eslint/no-unused-vars": [
"warn",
{
"args": "after-used",
"ignoreRestSiblings": false,
"argsIgnorePattern": "^_.*?$"
}
],
"import/order": [
"warn",
{
"groups": [
"type",
"builtin",
"object",
"external",
"internal",
"parent",
"sibling",
"index"
],
"pathGroups": [
{
"pattern": "~/**",
"group": "external",
"position": "after"
}
],
"newlines-between": "always"
}
],
"react/self-closing-comp": "warn",
"react/jsx-sort-props": [
"warn",
{
"callbacksLast": true,
"shorthandFirst": true,
"noSortAlphabetically": false,
"reservedFirst": true
}
],
"padding-line-between-statements": [
"warn",
{"blankLine": "always", "prev": "*", "next": "return"},
{"blankLine": "always", "prev": ["const", "let", "var"], "next": "*"},
{
"blankLine": "any",
"prev": ["const", "let", "var"],
"next": ["const", "let", "var"]
}
],
"import/consistent-type-specifier-style": ["error", "prefer-top-level"]
}
}
+1
View File
@@ -4,6 +4,7 @@ on:
pull_request:
branches:
- canary
- beta/release-next
jobs:
build:
+6 -6
View File
@@ -28,6 +28,12 @@ jobs:
- name: Install
uses: ./.github/common-actions/install
- name: Check if pre.json exists
id: check_if_pre_json_exists
uses: andstor/file-existence-action@v3.0.0
with:
files: ".changeset/pre.json"
- name: Debug condition values
run: |
echo "pre.json exists: ${{ steps.check_if_pre_json_exists.outputs.files_exists }}"
@@ -35,12 +41,6 @@ jobs:
echo "Contains version packages: ${{ contains(github.event.head_commit.message, 'ci(changesets): version packages') }}"
echo "Full condition would be: ${{ steps.check_if_pre_json_exists.outputs.files_exists == 'true' && contains(github.event.head_commit.message, 'ci(changesets): version packages') }}"
- name: Check if pre.json exists
id: check_if_pre_json_exists
uses: andstor/file-existence-action@v3.0.0
with:
files: ".changeset/pre.json"
- name: Get pre-release changesets
id: get-pre-release-changesets
uses: notiz-dev/github-action-json-property@release
+11 -3
View File
@@ -1,4 +1,6 @@
const {relative} = require("path");
const escape = require('shell-quote').quote
const isWin = process.platform === 'win32'
const {ESLint} = require("eslint");
@@ -9,18 +11,24 @@ const removeIgnoredFiles = async (files) => {
const isIgnored = await Promise.all(relativePaths.map((file) => eslint.isPathIgnored(file)));
const filteredFiles = files.filter((_, i) => !isIgnored[i]);
return filteredFiles.join(" ");
return filteredFiles;
};
module.exports = {
"**/*.{js,ts,jsx,tsx}": async (files) => {
const filesToLint = await removeIgnoredFiles(files);
return [`eslint -c .eslintrc.json --max-warnings=0 --fix ${filesToLint}`];
return filesToLint.map((filename) =>
`"${isWin ? filename : escape([filename])}"`
).map((file) => `eslint --max-warnings=0 --fix ${file}`);
},
"**/*.css": async (files) => {
const filesToLint = await removeIgnoredFiles(files);
return [`prettier --config .prettierrc.json --ignore-path --write ${filesToLint}`];
return filesToLint.map((filename) =>
`"${isWin ? filename : escape([filename])}"`
).map(
(file) => `prettier --config .prettierrc.json --ignore-path --write ${file}`
);
},
};
+1 -1
View File
@@ -1 +1 @@
v20.16.0
v22.14.0
+5 -2
View File
@@ -5,10 +5,13 @@
"source.fixAll.eslint": "explicit"
},
"tailwindCSS.experimental.configFile": {
"packages/storybook/tailwind.config.js": ["packages/core/theme/**/*", "packages/components/**/*"],
"apps/docs/tailwind.config.js": "apps/docs/**/*"
"apps/docs/styles/globals.css": "apps/docs/**/*",
"packages/storybook/.storybook/style.css": ["packages/core/theme/**/*", "packages/components/**/*"],
},
"tailwindCSS.experimental.classRegex": [
["([\"'`][^\"'`]*.*?[\"'`])", "[\"'`]([^\"'`]*).*?[\"'`]"]
],
"cSpell.words": [
"heroui"
],
}
+1 -1
View File
@@ -196,7 +196,7 @@ pnpm build
npm run build
```
> Note: ensure that you have at least Node.js 20.16.0 as well as pnpm 9.6.0 or higher installed on your machine to run the scripts
> Note: ensure that you have at least Node.js 22 as well as pnpm 10 or higher installed on your machine to run the scripts
6. Send your pull request:
-5
View File
@@ -22,8 +22,3 @@ NEXT_PUBLIC_FB_FEEDBACK_URL=
# PostHog
NEXT_PUBLIC_POSTHOG_KEY=your-posthog-key
NEXT_PUBLIC_POSTHOG_HOST=your-posthog-host
# Chat
IMPORT_API_KEY=your-import-api-key
CHAT_API_URL=
CHAT_URL=
-100
View File
@@ -1,100 +0,0 @@
"use server";
import {toKebabCase, toPascalCase} from "@/components/docs/components/code-demo/utils";
const importReact = 'import React from "react";';
export const openInChat = async ({
component,
title,
content,
dependencies,
useWrapper,
}: {
component: string;
title?: string;
content: string;
dependencies: {name: string; version: string}[];
useWrapper: boolean;
}) => {
try {
// Check if the file content includes 'React' import statements, if not, add it
if (
content.includes("React.") &&
!content.includes("from 'react'") &&
!content.includes('from "react"')
) {
content = `${importReact}\n${content}\n`;
}
let files: Record<string, string> = {
"src/App.tsx": content,
};
const fullName = `${component.charAt(0).toUpperCase() + component.slice(1)} - ${title}`;
if (useWrapper) {
files = getFilesWithWrapper(fullName, content);
}
const response = await fetch(`${process.env.CHAT_API_URL}/import`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.IMPORT_API_KEY}`,
},
body: JSON.stringify({
title: `${component.charAt(0).toUpperCase() + component.slice(1)} - ${title}`,
files,
dependencies,
}),
});
const result = await response.json();
if (result.error || !result.path) {
return {
error: result.error ?? "Unknown error",
data: null,
};
}
return {
error: null,
data: `${process.env.CHAT_URL}${
result.path
}&utm_source=heroui.com&utm_medium=open-in-chat&utm_content=${encodeURIComponent(
title ?? "unknown",
)}`,
};
} catch (error) {
return {error: error, data: null};
}
};
const getFilesWithWrapper = (name: string, content: string) => {
const pascalName = toPascalCase(name);
const kebabName = toKebabCase(name);
// Replace the export default function name
const updatedContent = content.replace(
"export default function App()",
`export default function ${pascalName}()`,
);
const wrapperContent = `import ${pascalName} from "./components/${kebabName}";
export default function App() {
return (
<div className="flex min-h-screen items-center justify-center p-6">
<${pascalName} />
</div>
);
}
`;
return {
[`src/components/${kebabName}.tsx`]: updatedContent,
[`src/App.tsx`]: wrapperContent,
};
};
+1 -1
View File
@@ -1,4 +1,5 @@
import type {Metadata} from "next";
import type {Route} from "@/libs/docs/page";
import {notFound} from "next/navigation";
import {allBlogPosts} from "contentlayer2/generated";
@@ -10,7 +11,6 @@ import {Balancer} from "react-wrap-balancer";
import {__DEV__, __PREVIEW__} from "@/utils";
import {MDXContent} from "@/components/mdx-content";
import {siteConfig} from "@/config/site";
import {Route} from "@/libs/docs/page";
import {ChevronRightLinearIcon} from "@/components/icons";
import {CarbonAd} from "@/components/ads/carbon-ad";
+1 -1
View File
@@ -9,7 +9,7 @@ interface DocsLayoutProps {
export default function DocsLayout({children}: DocsLayoutProps) {
return (
<>
<main className="relative container mx-auto max-w-7xl z-10 px-6 min-h-[calc(100vh_-_64px_-_108px)] mb-12 flex-grow">
<main className="relative container mx-auto max-w-7xl z-10 px-6 min-h-[calc(100vh_-_64px_-_108px)] mb-12 grow">
{children}
</main>
<div
+10 -9
View File
@@ -1,4 +1,5 @@
import type {Metadata} from "next";
import type {Route} from "@/libs/docs/page";
import {notFound} from "next/navigation";
import {allDocs} from "contentlayer2/generated";
@@ -7,20 +8,18 @@ import {Link, ToastProvider} from "@heroui/react";
import {MDXContent} from "@/components/mdx-content";
import {siteConfig} from "@/config/site";
import {DocsPager, DocsToc} from "@/components/docs";
import {Route} from "@/libs/docs/page";
import {GITHUB_URL, REPO_NAME} from "@/libs/github/constants";
import {CONTENT_PATH, TAG} from "@/libs/docs/config";
import {getHeadings} from "@/libs/docs/utils";
interface DocPageProps {
params: {
slug: string[];
};
params: Promise<{slug: string[]}>;
}
async function getDocFromParams({params}: DocPageProps) {
const slug = params.slug?.join("/") || "";
const doc = allDocs.find((doc) => doc.slugAsParams === slug);
const {slug} = await params;
const paramsSlug = slug?.join("/") || "";
const doc = allDocs.find((doc) => doc.slugAsParams === paramsSlug);
if (!doc) {
null;
@@ -72,9 +71,11 @@ export async function generateMetadata({params}: DocPageProps): Promise<Metadata
}
export async function generateStaticParams(): Promise<DocPageProps["params"][]> {
return allDocs.map((doc) => ({
slug: doc.slugAsParams.split("/"),
}));
return allDocs.map((doc) =>
Promise.resolve({
slug: doc.slugAsParams.split("/"),
}),
);
}
export default async function DocPage({params}: DocPageProps) {
+1 -1
View File
@@ -11,7 +11,7 @@ interface DocsLayoutProps {
export default function DocsLayout({children}: DocsLayoutProps) {
return (
<>
<main className="relative container mx-auto max-w-8xl z-10 px-6 min-h-[calc(100vh_-_64px_-_108px)] mb-12 flex-grow">
<main className="relative container mx-auto max-w-8xl z-10 px-6 min-h-[calc(100vh_-_64px_-_108px)] mb-12 grow">
<div className="grid grid-cols-12">
<div className="hidden overflow-visible relative z-10 lg:block lg:col-span-2 mt-8 pr-4">
<DocsSidebar routes={manifest.routes} />
@@ -1,4 +1,3 @@
/* eslint-disable no-console */
"use client";
import * as React from "react";
@@ -1,7 +1,9 @@
"use client";
import type {MenuTriggerAction} from "@heroui/react";
import * as React from "react";
import {Autocomplete, AutocompleteItem, MenuTriggerAction} from "@heroui/react";
import {Autocomplete, AutocompleteItem} from "@heroui/react";
import {useFilter} from "@react-aria/i18n";
const animals = [
@@ -1,5 +1,7 @@
"use client";
import type {ModalProps} from "@heroui/react";
import {
Modal,
ModalContent,
@@ -10,7 +12,6 @@ import {
useDisclosure,
RadioGroup,
Radio,
ModalProps,
} from "@heroui/react";
import {useState} from "react";
+1 -1
View File
@@ -1,5 +1,5 @@
const Content = () => (
<div className="px-6 flex gap-4 flex-col pb-16 flex-grow">
<div className="px-6 flex gap-4 flex-col pb-16 grow">
<h1 className="mt-4 font-bold text-4xl">Lorem ipsum dolor sit amet</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
+4 -4
View File
@@ -101,7 +101,7 @@ const MyInput = extendVariants(Input, {
inputWrapper: [
"bg-zinc-100",
"border",
"shadow",
"shadow-sm",
"transition-colors",
"focus-within:bg-zinc-100",
"data-[hover=true]:border-zinc-600",
@@ -138,7 +138,7 @@ const MyInput = extendVariants(Input, {
},
radius: {
xs: {
inputWrapper: "rounded",
inputWrapper: "rounded-sm",
},
sm: {
inputWrapper: "rounded-[4px]",
@@ -454,7 +454,7 @@ export default function HeroUIPerf() {
classNames: {
base: [
"before:content-[''] before:rounded-t-medium before:fixed before:w-full before:h-14 before:z-10",
"before:top-0 before:left-0 before:bg-gradient-to-b before:from-default-50",
"before:top-0 before:left-0 before:bg-linear-to-b before:from-default-50",
],
},
}}
@@ -468,7 +468,7 @@ export default function HeroUIPerf() {
{(item) => (
<SelectItem key={item.id} textValue={item.name}>
<div className="flex gap-2 items-center">
<Avatar alt={item.name} className="flex-shrink-0" size="sm" src={item.avatar} />
<Avatar alt={item.name} className="shrink-0" size="sm" src={item.avatar} />
<div className="flex flex-col">
<span className="text-small">{item.name}</span>
<span className="text-tiny text-default-400">{item.email}</span>
@@ -1,6 +1,7 @@
/* eslint-disable jsx-a11y/no-onchange */
"use client";
import type {Selection, ChipProps, SortDescriptor} from "@heroui/react";
import {
Table,
TableHeader,
@@ -14,12 +15,9 @@ import {
Dropdown,
DropdownMenu,
DropdownItem,
Selection,
Chip,
User,
ChipProps,
Pagination,
SortDescriptor,
} from "@heroui/react";
import {ChevronDownIcon, SearchIcon} from "@heroui/shared-icons";
import {useCallback, useMemo, useState} from "react";
@@ -352,20 +350,18 @@ export default function Page() {
);
case "actions":
return (
<div className="relative flex justify-end items-center gap-2">
<Dropdown className="bg-background border-1 border-default-200">
<DropdownTrigger>
<Button isIconOnly radius="full" size="sm" variant="light">
<VerticalDotsIcon className="text-default-400" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem key="view">View</DropdownItem>
<DropdownItem key="edit">Edit</DropdownItem>
<DropdownItem key="delete">Delete</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
<Dropdown className="bg-background border-1 border-default-200">
<DropdownTrigger>
<Button isIconOnly radius="full" size="sm" variant="light">
<VerticalDotsIcon className="text-default-400" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem key="view">View</DropdownItem>
<DropdownItem key="edit">Edit</DropdownItem>
<DropdownItem key="delete">Delete</DropdownItem>
</DropdownMenu>
</Dropdown>
);
default:
return cellValue;
@@ -469,7 +465,7 @@ export default function Page() {
<label className="flex items-center text-default-400 text-small">
Rows per page:
<select
className="bg-transparent outline-none text-default-400 text-small"
className="bg-transparent outline-solid outline-transparent text-default-400 text-small"
onChange={onRowsPerPageChange}
>
<option value="5">5</option>
@@ -521,13 +517,13 @@ export default function Page() {
td: [
// changing the rows border radius
// first
"group-data-[first=true]:first:before:rounded-none",
"group-data-[first=true]:last:before:rounded-none",
"first:group-data-[first=true]:before:rounded-none",
"last:group-data-[first=true]:before:rounded-none",
// middle
"group-data-[middle=true]:before:rounded-none",
// last
"group-data-[last=true]:first:before:rounded-none",
"group-data-[last=true]:last:before:rounded-none",
"first:group-data-[last=true]:before:rounded-none",
"last:group-data-[last=true]:before:rounded-none",
],
}),
[],
@@ -0,0 +1,96 @@
"use client";
import {
Table,
TableHeader,
TableColumn,
TableBody,
TableRow,
TableCell,
getKeyValue,
Spinner,
} from "@heroui/react";
import {SortIcon} from "@heroui/shared-icons";
import {useAsyncList} from "@react-stately/data";
import {useState} from "react";
type SWCharacter = {
name: string;
height: string;
mass: string;
birth_year: string;
};
export default function Page() {
const [isLoading, setIsLoading] = useState(true);
let list = useAsyncList<SWCharacter>({
async load({signal}) {
let res = await fetch(`https://swapi.py4e.com/api/people/?search`, {
signal,
});
let json = await res.json();
setIsLoading(false);
return {
items: json.results,
};
},
async sort({items, sortDescriptor}) {
return {
items: items.sort((a, b) => {
let first = a[sortDescriptor.column as keyof SWCharacter];
let second = b[sortDescriptor.column as keyof SWCharacter];
let cmp = (parseInt(first) || first) < (parseInt(second) || second) ? -1 : 1;
if (sortDescriptor.direction === "descending") {
cmp *= -1;
}
return cmp;
}),
};
},
});
return (
<div className="p-6">
<Table
aria-label="Example table with client side sorting"
classNames={{
table: "min-h-[400px]",
}}
sortDescriptor={list.sortDescriptor}
sortIcon={SortIcon}
onSortChange={list.sort}
>
<TableHeader>
<TableColumn key="name" allowsSorting>
Name
</TableColumn>
<TableColumn key="height" allowsSorting>
Height
</TableColumn>
<TableColumn key="mass" allowsSorting>
Mass
</TableColumn>
<TableColumn key="birth_year" allowsSorting>
Birth year
</TableColumn>
</TableHeader>
<TableBody
isLoading={isLoading}
items={list.items}
loadingContent={<Spinner label="Loading..." />}
>
{(item) => (
<TableRow key={item.name}>
{(columnKey) => <TableCell>{getKeyValue(item, columnKey)}</TableCell>}
</TableRow>
)}
</TableBody>
</Table>
</div>
);
}
+16 -20
View File
@@ -1,6 +1,7 @@
/* eslint-disable jsx-a11y/no-onchange */
"use client";
import type {Selection, ChipProps, SortDescriptor} from "@heroui/react";
import {
Table,
TableHeader,
@@ -14,12 +15,9 @@ import {
Dropdown,
DropdownMenu,
DropdownItem,
Selection,
Chip,
User,
ChipProps,
Pagination,
SortDescriptor,
} from "@heroui/react";
import {ChevronDownIcon, SearchIcon} from "@heroui/shared-icons";
import {useCallback, useMemo, useState} from "react";
@@ -296,7 +294,7 @@ export default function Page() {
return filteredUsers;
}, [users, filterValue, statusFilter]);
const pages = Math.ceil(filteredItems.length / rowsPerPage);
const pages = Math.ceil(filteredItems.length / rowsPerPage) || 1;
const items = useMemo(() => {
const start = (page - 1) * rowsPerPage;
@@ -344,20 +342,18 @@ export default function Page() {
);
case "actions":
return (
<div className="relative flex justify-end items-center gap-2">
<Dropdown>
<DropdownTrigger>
<Button isIconOnly size="sm" variant="light">
<VerticalDotsIcon className="text-default-300" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem key="view">View</DropdownItem>
<DropdownItem key="edit">Edit</DropdownItem>
<DropdownItem key="delete">Delete</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
<Dropdown>
<DropdownTrigger>
<Button isIconOnly size="sm" variant="light">
<VerticalDotsIcon className="text-default-300" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem key="view">View</DropdownItem>
<DropdownItem key="edit">Edit</DropdownItem>
<DropdownItem key="delete">Delete</DropdownItem>
</DropdownMenu>
</Dropdown>
);
default:
return cellValue;
@@ -461,7 +457,7 @@ export default function Page() {
<label className="flex items-center text-default-400 text-small">
Rows per page:
<select
className="bg-transparent outline-none text-default-400 text-small"
className="bg-transparent outline-solid outline-transparent text-default-400 text-small"
onChange={onRowsPerPageChange}
>
<option value="5">5</option>
+7 -6
View File
@@ -1,7 +1,8 @@
import "@/styles/globals.css";
import "@/styles/sandpack.css";
import {Metadata, Viewport} from "next";
import {clsx} from "@heroui/shared-utils";
import type {Metadata, Viewport} from "next";
import {cn} from "@heroui/theme";
import {Analytics} from "@vercel/analytics/next";
import {Providers} from "./providers";
@@ -12,7 +13,7 @@ import {siteConfig} from "@/config/site";
import {fonts} from "@/config/fonts";
import {Navbar} from "@/components/navbar";
import {Footer} from "@/components/footer";
import {PhBanner} from "@/components/ph-banner";
import {ProBanner} from "@/components/pro-banner";
export const metadata: Metadata = {
title: {
@@ -74,15 +75,15 @@ export default function RootLayout({children}: {children: React.ReactNode}) {
<html suppressHydrationWarning dir="ltr" lang="en">
<head />
<body
className={clsx(
"min-h-screen bg-background font-sans antialiased",
className={cn(
"min-h-screen text-foreground bg-background font-sans antialiased",
fonts.sans.variable,
fonts.mono.variable,
)}
>
<Providers themeProps={{attribute: "class", defaultTheme: "dark"}}>
<div className="relative flex flex-col" id="app-container">
<PhBanner />
<ProBanner />
<Navbar mobileRoutes={manifest.mobileRoutes} routes={manifest.routes} />
{children}
<Analytics mode="production" />
+1 -3
View File
@@ -12,16 +12,14 @@ import {InstallBanner} from "@/components/marketing/install-banner";
import {Community} from "@/components/marketing/community";
import Support from "@/components/marketing/support";
import landingContent from "@/content/landing";
import {Sponsors} from "@/components/marketing/sponsors";
import {HeroUIProSection} from "@/components/marketing/heroui-pro-section";
export default async function Home() {
return (
<main className="container mx-auto max-w-7xl px-6 flex-grow">
<main className="container mx-auto max-w-7xl px-6 grow">
<section className="flex flex-col items-center justify-center">
<Hero />
<FeaturesGrid features={landingContent.topFeatures} />
<Sponsors />
<CustomThemes />
<A11yOtb />
<DarkMode />
+1 -1
View File
@@ -5,7 +5,7 @@ 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">
<main className="prose prose-neutral relative container mx-auto max-w-3xl z-10 px-6 min-h-[calc(100vh_-_64px_-_108px)] mb-12 grow">
<section className="w-full flex flex-col items-center mt-12 gap-6">
<div className="text-center">
<h1 className="mb-2">Playground</h1>
+2 -1
View File
@@ -1,9 +1,10 @@
"use client";
import type {ThemeProviderProps} from "next-themes";
import * as React from "react";
import {HeroUIProvider} from "@heroui/react";
import {ThemeProvider as NextThemesProvider} from "next-themes";
import {ThemeProviderProps} from "next-themes";
import {useRouter} from "next/navigation";
import {useEffect} from "react";
import posthog from "posthog-js";
@@ -11,7 +11,7 @@ import {useIsMounted} from "@/hooks/use-is-mounted";
import {__PROD__, __ENABLE_ADS__} from "@/utils";
const EA_PROVIDER_RATIO = 0.85;
const PRODUCT_HUNT_ENABLED = true;
const PRODUCT_HUNT_ENABLED = false;
const PH_INFO = {
description: "Join the conversation and help us get #1 Product of the Week! ↗",
@@ -91,7 +91,7 @@ export const CarbonAd: React.FC<unknown> = () => {
setShowEthicalAds(true);
}
});
} catch (error) {
} catch {
loadCarbonAds();
}
} else {
@@ -47,7 +47,6 @@ export default {
if (!document.hidden) {
if (typeof _carbonads !== "undefined" && isElementInViewport("#carbonads")) {
// eslint-disable-next-line no-undef
_carbonads.refresh();
}
}
+5 -4
View File
@@ -1,5 +1,6 @@
import {ReactNode, FC} from "react";
import {clsx} from "@heroui/shared-utils";
import type {ReactNode, FC} from "react";
import {cn} from "@heroui/theme";
export interface BgGridContainerProps {
showGradient?: boolean;
children?: ReactNode;
@@ -13,7 +14,7 @@ export const BgGridContainer: FC<BgGridContainerProps> = ({
}) => {
return (
<div
className={clsx(
className={cn(
"relative overflow-y-hidden flex items-center border border-default-200 dark:border-default-100 px-2 py-4 rounded-lg",
"overflow-hidden",
// blur effect
@@ -34,7 +35,7 @@ export const BgGridContainer: FC<BgGridContainerProps> = ({
{children}
</div>
{/* <div
className={clsx(
className={cn(
"hidden md:block absolute z-[-1] inset-0 bg-grid-zinc-300/25 [mask-image:linear-gradient(0deg,rgba(255,255,255,0.1),rgba(255,255,255,0.6))]",
"dark:bg-grid-zinc-500/25 dark:[mask-image:linear-gradient(0deg,rgba(255,255,255,0.1),rgba(255,255,255,0.5))]",
)}
+2 -1
View File
@@ -1,6 +1,7 @@
"use client";
import {BlogPost} from "contentlayer2/generated";
import type {BlogPost} from "contentlayer2/generated";
import {Card, CardFooter, CardBody, CardHeader, Link, Avatar, Image} from "@heroui/react";
import Balancer from "react-wrap-balancer";
import {format, parseISO} from "date-fns";
+3 -2
View File
@@ -1,8 +1,9 @@
/* eslint-disable jsx-a11y/media-has-caption */
"use client";
import type {FC} from "react";
import {useInView} from "framer-motion";
import {useRef, FC, useEffect, useState, useCallback} from "react";
import {useRef, useEffect, useState, useCallback} from "react";
import {Button, cn, Spinner, Tooltip} from "@heroui/react";
import {PlayBoldIcon, PauseBoldIcon} from "@/components/icons";
+14 -11
View File
@@ -1,15 +1,18 @@
/* eslint-disable jsx-a11y/no-autofocus */
"use client";
import type {FC} from "react";
import type {ButtonProps} from "@heroui/react";
import {Command} from "cmdk";
import {useEffect, useState, FC, useMemo, useCallback, useRef} from "react";
import {useEffect, useState, useMemo, useCallback, useRef} from "react";
import {matchSorter} from "match-sorter";
import {Button, ButtonProps, Kbd, Modal, ModalContent} from "@heroui/react";
import {Button, Kbd, Modal, ModalContent} from "@heroui/react";
import {CloseIcon} from "@heroui/shared-icons";
import {tv} from "tailwind-variants";
import {usePathname, useRouter} from "next/navigation";
import MultiRef from "react-multi-ref";
import {clsx} from "@heroui/shared-utils";
import {cn} from "@heroui/theme";
import scrollIntoView from "scroll-into-view-if-needed";
import {isAppleDevice, isWebKit} from "@react-aria/utils";
import {create} from "zustand";
@@ -60,7 +63,7 @@ const cmdk = tv({
"h-14",
"font-sans",
"text-lg",
"outline-none",
"outline-solid outline-transparent",
"rounded-none",
"bg-transparent",
"text-default-700",
@@ -78,7 +81,7 @@ const cmdk = tv({
"justify-between",
"items-center",
"rounded-lg",
"shadow",
"shadow-xs",
"bg-content2/50",
"active:opacity-70",
"cursor-pointer",
@@ -210,7 +213,7 @@ export const Cmdk: FC<{}> = () => {
[query],
);
const items = !isEmpty(results) ? results : recentSearches ?? [];
const items = !isEmpty(results) ? results : (recentSearches ?? []);
// Toggle the menu when ⌘K / CTRL K is pressed
useEffect(() => {
@@ -320,7 +323,7 @@ export const Cmdk: FC<{}> = () => {
return (
<Button
isIconOnly
className={clsx(
className={cn(
"border data-[hover=true]:bg-content2 border-default-400 dark:border-default-100",
className,
)}
@@ -394,10 +397,10 @@ export const Cmdk: FC<{}> = () => {
"mt-[20vh]",
"border-small",
"dark:border-default-100",
"supports-[backdrop-filter]:bg-background/80",
"dark:supports-[backdrop-filter]:bg-background/30",
"supports-[backdrop-filter]:backdrop-blur-md",
"supports-[backdrop-filter]:backdrop-saturate-150",
"supports-backdrop-filter:bg-background/80",
"dark:supports-backdrop-filter:bg-background/30",
"supports-backdrop-filter:backdrop-blur-md",
"supports-backdrop-filter:backdrop-saturate-150",
],
backdrop: ["bg-black/80"],
}}
@@ -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 "@heroui/shared-utils";
import {cn} from "@heroui/theme";
import {Pre} from "./pre";
import {WindowActions} from "./window-actions";
@@ -141,7 +141,7 @@ const CodeBlock = React.forwardRef<HTMLPreElement, CodeBlockProps>((_props, forw
// TODO reset theme
const classes = `language-${language}`;
const codeClasses = clsx("absolute w-full px-4 pb-6", showWindowIcons ? "top-10" : "top-0");
const codeClasses = cn("absolute w-full px-4 pb-6", showWindowIcons ? "top-10" : "top-0");
if (mode === "typewriter") {
return <CodeTypewriter className={classes} css={css} value={result} {...props} />;
@@ -150,12 +150,12 @@ const CodeBlock = React.forwardRef<HTMLPreElement, CodeBlockProps>((_props, forw
return (
<Pre
ref={forwardedRef}
className={clsx("code-block", classes, className)}
className={cn("code-block", classes, className)}
data-line-numbers={showLineNumbers}
{...props}
>
{showWindowIcons && <WindowActions title={title} />}
<code dangerouslySetInnerHTML={{__html: result}} className={clsx(classes, codeClasses)} />
<code dangerouslySetInnerHTML={{__html: result}} className={cn(classes, codeClasses)} />
</Pre>
);
});
@@ -1,9 +1,11 @@
"use client";
// Inspired by https://github.dev/modulz/stitches-site code demo
import type {CodeBlockProps} from "./code-block";
import React from "react";
import rangeParser from "parse-numeric-range";
import CodeBlock, {CodeBlockProps} from "./code-block";
import CodeBlock from "./code-block";
import {CopyButton} from "@/components";
+2 -2
View File
@@ -1,5 +1,5 @@
import {forwardRef} from "react";
import {clsx} from "@heroui/shared-utils";
import {cn} from "@heroui/theme";
export interface PreProps {
className?: string;
@@ -14,7 +14,7 @@ export const Pre = forwardRef<HTMLPreElement, PreProps>(
return (
<pre
ref={forwardedRef}
className={clsx(
className={cn(
"relative w-full h-full box-border shadow-md text-white/80 leading-5 whitespace-pre text-sm font-mono bg-code-background rounded-xl [&>code]:transition-transform",
scrollClass,
className,
@@ -1,6 +1,6 @@
import React from "react";
import {tv} from "tailwind-variants";
import {clsx} from "@heroui/shared-utils";
import {cn} from "@heroui/theme";
export type WindowActionsProps = {
title?: string;
@@ -21,7 +21,7 @@ const windowIconStyles = tv({
export const WindowActions: React.FC<WindowActionsProps> = ({title, className, ...props}) => {
return (
<div
className={clsx(
className={cn(
"flex items-center sticky top-0 left-0 px-4 z-10 justify-between h-8 bg-code-background w-full",
className,
)}
+14 -2
View File
@@ -1,6 +1,8 @@
import {ButtonProps} from "@heroui/react";
import type {ButtonProps} from "@heroui/react";
import {useClipboard} from "@heroui/use-clipboard";
import {memo} from "react";
import {Tooltip} from "@heroui/react";
import {PreviewButton} from "./preview-button";
@@ -31,7 +33,17 @@ export const CopyButton = memo<CopyButtonProps>(({value, className, ...buttonPro
copy(value);
};
return <PreviewButton className={className} icon={icon} onPress={handleCopy} {...buttonProps} />;
return (
<Tooltip
key={copied ? "copied" : "copy"}
className="text-xs px-2"
closeDelay={0}
content={copied ? "Copied!" : "Copy"}
radius="md"
>
<PreviewButton className={className} icon={icon} onPress={handleCopy} {...buttonProps} />
</Tooltip>
);
});
CopyButton.displayName = "CopyButton";
+6 -4
View File
@@ -1,6 +1,8 @@
"use client";
import {FC, useState} from "react";
import type {FC} from "react";
import {useState} from "react";
import {
Modal,
Button,
@@ -35,8 +37,8 @@ export const DemoCodeModal: FC<DemoCodeModalProps> = ({isOpen, code, title, subt
return (
<Modal
classNames={{
backdrop: "z-[100002]", // to appear above the navbar
wrapper: "z-[100003]", // to appear above the backdrop
backdrop: "z-100002", // to appear above the navbar
wrapper: "z-100003", // to appear above the backdrop
}}
isOpen={isOpen}
motionProps={{
@@ -69,7 +71,7 @@ export const DemoCodeModal: FC<DemoCodeModalProps> = ({isOpen, code, title, subt
<CodeWindow
showCopy
showWindowIcons
className="min-h-[320px] !h-[60vh] max-h-full"
className="min-h-[320px] h-[60vh]! max-h-full"
language="jsx"
title={fileName}
value={code}
+1 -1
View File
@@ -39,7 +39,7 @@ export const CustomButton = () => {
<Button
ref={buttonRef}
disableRipple
className="relative overflow-visible rounded-full hover:-translate-y-1 px-12 shadow-xl bg-background/30 after:content-[''] after:absolute after:rounded-full after:inset-0 after:bg-background/40 after:z-[-1] after:transition after:!duration-500 hover:after:scale-150 hover:after:opacity-0"
className="relative overflow-visible rounded-full hover:-translate-y-1 px-12 shadow-xl bg-background/30 after:content-[''] after:absolute after:rounded-full after:inset-0 after:bg-background/40 after:z-[-1] after:transition after:duration-500! hover:after:scale-150 hover:after:opacity-0"
size="lg"
onPress={handleConfetti}
>
+13 -10
View File
@@ -1,8 +1,11 @@
"use client";
import {Card, CardBody, Button, Image, Slider, CardProps} from "@heroui/react";
import {useState, FC} from "react";
import {clsx} from "@heroui/shared-utils";
import type {CardProps} from "@heroui/react";
import type {FC} from "react";
import {Card, CardBody, Button, Image, Slider} from "@heroui/react";
import {useState} from "react";
import {cn} from "@heroui/theme";
import NextImage from "next/image";
import {
@@ -22,7 +25,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
return (
<Card
isBlurred
className={clsx("border-none bg-background/60 dark:bg-default-100/50", className)}
className={cn("border-none bg-background/60 dark:bg-default-100/50", className)}
shadow="sm"
{...otherProps}
>
@@ -49,7 +52,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
<Button
isIconOnly
aria-label="Like"
className="text-default-900/60 data-[hover]:bg-foreground/10 -translate-y-2 translate-x-2"
className="text-default-900/60 data-hover:bg-foreground/10 -translate-y-2 translate-x-2"
radius="full"
variant="light"
onPress={() => setLiked((v) => !v)}
@@ -82,7 +85,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
<Button
isIconOnly
aria-label="Repeat"
className="data-[hover]:bg-foreground/10"
className="data-hover:bg-foreground/10"
radius="full"
variant="light"
>
@@ -91,7 +94,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
<Button
isIconOnly
aria-label="Previous"
className="data-[hover]:bg-foreground/10"
className="data-hover:bg-foreground/10"
radius="full"
variant="light"
>
@@ -100,7 +103,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
<Button
isIconOnly
aria-label="Play"
className="w-auto h-auto data-[hover]:bg-foreground/10"
className="w-auto h-auto data-hover:bg-foreground/10"
radius="full"
variant="light"
>
@@ -109,7 +112,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
<Button
isIconOnly
aria-label="Next"
className="data-[hover]:bg-foreground/10"
className="data-hover:bg-foreground/10"
radius="full"
variant="light"
>
@@ -118,7 +121,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
<Button
isIconOnly
aria-label="Shuffle"
className="data-[hover]:bg-foreground/10"
className="data-hover:bg-foreground/10"
radius="full"
variant="light"
>
@@ -1,11 +1,7 @@
import {
tv,
VariantProps,
CircularProgress,
CircularProgressProps,
circularProgress,
} from "@heroui/react";
import {FC} from "react";
import type {VariantProps, CircularProgressProps} from "@heroui/react";
import type {FC} from "react";
import {tv, CircularProgress, circularProgress} from "@heroui/react";
const speedProgress = tv({
extend: circularProgress,
@@ -2,7 +2,7 @@
import {useState} from "react";
import {Card, CardHeader, Button, Avatar, CardBody, CardFooter} from "@heroui/react";
import {clsx} from "@heroui/shared-utils";
import {cn} from "@heroui/theme";
interface UserTwitterCardProps {
className?: string;
@@ -12,7 +12,7 @@ export const UserTwitterCard = ({className}: UserTwitterCardProps) => {
const [isFollowed, setIsFollowed] = useState(false);
return (
<Card className={clsx("max-w-[300px]", className)}>
<Card className={cn("max-w-[300px]", className)}>
<CardHeader className="justify-between">
<div className="flex gap-5">
<Avatar
@@ -1,7 +1,9 @@
"use client";
import {FC} from "react";
import {tv, VariantProps} from "tailwind-variants";
import type {FC} from "react";
import type {VariantProps} from "tailwind-variants";
import {tv} from "tailwind-variants";
const blockquoteStyles = tv({
base: "border px-4 bg-default-50 my-6 py-3 rounded-xl [&>p]:m-0",
@@ -1,32 +1,29 @@
"use client";
import React, {useCallback, useMemo, useRef, useState} from "react";
import type {UseCodeDemoProps} from "./use-code-demo";
import type {WindowResizerProps} from "./window-resizer";
import type {GradientBoxProps} from "@/components/gradient-box";
import React, {useCallback, useMemo, useRef} from "react";
import dynamic from "next/dynamic";
import {addToast, Button, Skeleton, Spinner, Tab, Tabs} from "@heroui/react";
import {Skeleton, Tab, Tabs} from "@heroui/react";
import {useInView} from "framer-motion";
import {usePostHog} from "posthog-js/react";
import {usePathname} from "next/navigation";
import {useCodeDemo, UseCodeDemoProps} from "./use-code-demo";
import WindowResizer, {WindowResizerProps} from "./window-resizer";
import {parseDependencies} from "./parse-dependencies";
import {GradientBoxProps} from "@/components/gradient-box";
import {SmallLogo} from "@/components/heroui-logo";
import {openInChat} from "@/actions/open-in-chat";
import {useCodeDemo} from "./use-code-demo";
import WindowResizer from "./window-resizer";
const DynamicReactLiveDemo = dynamic(
() => import("./react-live-demo").then((m) => m.ReactLiveDemo),
{
ssr: false,
// eslint-disable-next-line react/display-name
loading: () => <Skeleton className="w-full h-24 rounded-xl" />,
},
);
const DynamicSandpack = dynamic(() => import("../../../sandpack").then((m) => m.Sandpack), {
ssr: false,
// eslint-disable-next-line react/display-name
loading: () => <Skeleton className="w-full h-32 rounded-xl" />,
});
@@ -80,11 +77,6 @@ export const CodeDemo: React.FC<CodeDemoProps> = ({
margin: "600px",
});
const pathname = usePathname();
const posthog = usePostHog();
const [isLoading, setIsLoading] = useState(false);
const {noInline, code} = useCodeDemo({
files,
});
@@ -176,64 +168,6 @@ export const CodeDemo: React.FC<CodeDemoProps> = ({
return true;
}, [showTabs, showPreview, showEditor]);
const isComponentsPage = pathname.includes("/components/");
const handleOpenInChat = useCallback(async () => {
setIsLoading(true);
// assume doc demo files are all App.jsx
const content = files["/App.jsx"];
if (!content || typeof content !== "string") {
addToast({
title: "Error",
description: "Invalid demo content",
color: "danger",
});
return;
}
const component = pathname.split("/components/")[1];
const dependencies = parseDependencies(content);
posthog.capture("CodeDemo - Open in Chat", {
component,
demo: title,
});
const newTab = window.open(undefined, "_blank");
const {data, error} = await openInChat({
component,
title,
content,
dependencies,
useWrapper: !asIframe,
});
setIsLoading(false);
if (error || !data) {
if (newTab) newTab.close();
posthog.capture("CodeDemo - Open in Chat Error", {
component,
demo: title,
error: error ?? "Unknown error",
});
addToast({
title: "Error",
description: error ?? "Unknown error",
color: "danger",
});
return;
}
if (newTab) newTab.location.href = data;
}, [pathname, title, files, posthog]);
return (
<div ref={ref} className="flex flex-col gap-2 relative">
{shouldRenderTabs ? (
@@ -253,28 +187,6 @@ export const CodeDemo: React.FC<CodeDemoProps> = ({
{editorContent}
</Tab>
</Tabs>
{isComponentsPage && (
<Button
disableRipple
className="absolute rounded-[9px] right-1 top-1 border-1 border-default-200 dark:border-default-100 data-[hover=true]:bg-default-50/80"
isDisabled={isLoading}
size="sm"
variant="bordered"
onPress={handleOpenInChat}
>
Open in Chat{" "}
{isLoading ? (
<Spinner
classNames={{wrapper: "h-4 w-4"}}
color="current"
size="sm"
variant="simple"
/>
) : (
<SmallLogo className="w-4 h-4" />
)}
</Button>
)}
</>
) : (
<>
@@ -52,6 +52,6 @@ export const parseDependencies = (content: string) => {
};
const fixedVersions = {
"@internationalized/date": "3.7.0",
"@react-aria/i18n": "3.12.7",
"@internationalized/date": "3.10.1",
"@react-aria/i18n": "3.12.14",
};
@@ -1,14 +1,16 @@
import type {SandpackFiles} from "@codesandbox/sandpack-react/types";
import type {GradientBoxProps} from "@/components/gradient-box";
import React from "react";
import {LivePreview, LiveProvider, LiveError} from "react-live";
import {clsx} from "@heroui/shared-utils";
import {cn} from "@heroui/theme";
import * as HeroUI from "@heroui/react";
import * as intlDateUtils from "@internationalized/date";
import * as reactAriaI18n from "@react-aria/i18n";
import * as reactHookFormBase from "react-hook-form";
import {SandpackFiles} from "@codesandbox/sandpack-react/types";
import {BgGridContainer} from "@/components/bg-grid-container";
import {GradientBox, GradientBoxProps} from "@/components/gradient-box";
import {GradientBox} from "@/components/gradient-box";
import {CopyButton} from "@/components/copy-button";
import {StackblitzButton} from "@/components/stackblitz-button";
import {PreviewButton} from "@/components/preview-button";
@@ -71,7 +73,7 @@ export const ReactLiveDemo: React.FC<ReactLiveDemoProps> = ({
</div>
)}
<LivePreview
className={clsx("live-preview flex h-full w-full not-prose ", {
className={cn("live-preview flex h-full w-full not-prose ", {
"justify-center items-center": isCentered,
})}
style={{height}}
@@ -85,7 +87,7 @@ export const ReactLiveDemo: React.FC<ReactLiveDemoProps> = ({
{isGradientBox ? (
<GradientBox
isCentered
className={clsx(
className={cn(
className,
"relative overflow-y-hidden flex items-center border border-default-200 dark:border-default-100 px-2 py-4 rounded-lg overflow-hidden",
)}
@@ -97,7 +99,7 @@ export const ReactLiveDemo: React.FC<ReactLiveDemoProps> = ({
</div>
</GradientBox>
) : (
<BgGridContainer className={clsx(className, "group/code-demo")}>{content}</BgGridContainer>
<BgGridContainer className={cn(className, "group/code-demo")}>{content}</BgGridContainer>
)}
</LiveProvider>
);
@@ -1,9 +1,9 @@
import {FileCode} from "./types";
import type {FileCode} from "./types";
import type {SandpackProps} from "@/components/sandpack";
import {scope} from "./react-live-demo";
import {transformCode, joinCode, getFileName} from "./utils";
import {SandpackProps} from "@/components/sandpack";
export interface UseCodeDemoProps extends SandpackProps {
code?: string;
}
@@ -1,4 +1,4 @@
import {FileCode} from "./types";
import type {FileCode} from "./types";
const importRegex = /^(import\s+(?!type\s+\{)[\s\S]*?;)/gm;
@@ -4,7 +4,7 @@ import type {Language, PrismTheme} from "prism-react-renderer";
import {useIntersectionObserver} from "usehooks-ts";
import React, {forwardRef, useEffect} from "react";
import {clsx, dataAttr, getUniqueID} from "@heroui/shared-utils";
import {dataAttr, getUniqueID} from "@heroui/shared-utils";
import BaseHighlight, {defaultProps} from "prism-react-renderer";
import {debounce, omit} from "@heroui/shared-utils";
import {cn} from "@heroui/react";
@@ -124,16 +124,10 @@ const CodeBlockHighlight = ({
preRef.current = element;
}
}}
className={clsx(
className,
classNameProp,
`language-${codeLang}`,
"max-w-full contents",
{
"flex-col": isMultiLine,
"overflow-x-scroll scrollbar-hide": hideScrollBar,
},
)}
className={cn(className, classNameProp, `language-${codeLang}`, "max-w-full", {
"flex-col": isMultiLine,
"overflow-x-scroll scrollbar-hide": hideScrollBar,
})}
data-language={language}
style={style}
>
@@ -144,7 +138,7 @@ const CodeBlockHighlight = ({
<div
{...omit(lineProps, ["key"])}
key={`${i}-${getUniqueID("line-wrapper")}`}
className={clsx(
className={cn(
lineProps.className,
removeIndent ? "pr-4" : "px-4",
"relative [&>span]:relative [&>span]:z-10",
@@ -202,7 +196,7 @@ const CodeBlockHighlight = ({
)}
</BaseHighlight>
) : (
<div className={clsx(classNameProp, "w-full bg-code-background rounded-lg")} />
<div className={cn(classNameProp, "w-full bg-code-background rounded-lg")} />
)}
</div>
);
@@ -1,5 +1,7 @@
import {Button, ButtonProps, Code, Link, Tooltip} from "@heroui/react";
import {ReactNode} from "react";
import type {ButtonProps} from "@heroui/react";
import type {ReactNode} from "react";
import {Button, Code, Link, Tooltip} from "@heroui/react";
import Balancer from "react-wrap-balancer";
import {usePostHog} from "posthog-js/react";
@@ -42,7 +44,7 @@ const ButtonLink = ({
<Button
isExternal
as={Link}
className="!text-small py-4 bg-default-100 dark:bg-default-50 text-default-700"
className="text-small! py-4 bg-default-100 dark:bg-default-50 text-default-700"
href={href}
size="sm"
startContent={startContent}
@@ -1,7 +1,9 @@
"use client";
import type {Key} from "react";
import {Tabs, Tab, Snippet, Code} from "@heroui/react";
import {Key, useState} from "react";
import {useState} from "react";
import Codeblock from "./codeblock";
import {Blockquote} from "./blockquote";
@@ -22,6 +24,10 @@ const packageManagers: PackageManager[] = [
label: "CLI",
icon: <CLIBoldIcon className="text-lg text-default-600 dark:text-default-400" />,
},
{
name: "pnpm",
icon: <PnpmIcon className="text-[#F69220]" />,
},
{
name: "npm",
icon: <NpmSmallIcon className="text-[#E53E3E]" />,
@@ -30,10 +36,6 @@ const packageManagers: PackageManager[] = [
name: "yarn",
icon: <YarnIcon className="text-[#2C8EBB]" />,
},
{
name: "pnpm",
icon: <PnpmIcon className="text-[#F69220]" />,
},
{
name: "bun",
icon: <BunIcon className="text-lg text-[#FBF0DF]" />,
@@ -0,0 +1,20 @@
"use client";
import {Blockquote} from "./components/blockquote";
export const DeprecationMessage = () => {
return (
<Blockquote color="warning">
<b>Deprecation Notice:</b> HeroUI v2 will be deprecated soon. We recommend to use{" "}
<a
className="underline"
href="http://v3.heroui.com/"
rel="noopener noreferrer"
target="_blank"
>
<b>HeroUI v3</b>
</a>{" "}
for the new projects.
</Blockquote>
);
};
@@ -18,7 +18,7 @@ export const HeroUIProCallout = () => {
<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]">
<span className="bg-clip-text text-transparent bg-linear-to-b from-[#5EA2EF] to-[#0072F5]">
faster
</span>
<br />
@@ -37,7 +37,7 @@ export const HeroUIProCallout = () => {
</div>
</div>
<NextLink
className="absolute inset-0 z-[1]"
className="absolute inset-0 z-1"
href="https://heroui.pro/components?utm_source=heroui.com&utm_medium=callout"
onClick={handleClick}
/>
+1
View File
@@ -2,3 +2,4 @@ export * from "./sidebar";
export * from "./toc";
export * from "./pager";
export * from "./components/code-demo";
export * from "./deprecation-message";
+2 -1
View File
@@ -1,5 +1,7 @@
"use client";
import type {Route} from "@/libs/docs/page";
import * as React from "react";
import {Link} from "@heroui/react";
import {usePostHog} from "posthog-js/react";
@@ -8,7 +10,6 @@ import {ChevronIcon} from "@heroui/shared-icons";
import manifest from "@/config/routes.json";
import {removeFromLast} from "@/utils";
import {Route} from "@/libs/docs/page";
import {useDocsRoute} from "@/hooks/use-docs-route";
export interface FooterNavProps {
+25 -21
View File
@@ -1,22 +1,27 @@
"use client";
import {FC, useEffect, useState, useRef, useMemo, useLayoutEffect} from "react";
import type {FC} from "react";
import type {
CollectionBase,
Expandable,
MultipleSelection,
Node,
ItemProps,
} from "@react-types/shared";
import type {TreeState} from "@react-stately/tree";
import type {SpacerProps} from "@heroui/react";
import type {Route} from "@/libs/docs/page";
import {useEffect, useState, useRef, useMemo, useLayoutEffect} from "react";
import {usePostHog} from "posthog-js/react";
import {ChevronIcon} from "@heroui/shared-icons";
import {CollectionBase, Expandable, MultipleSelection, Node, ItemProps} from "@react-types/shared";
import {BaseItem} from "@heroui/aria-utils";
import {useFocusRing} from "@react-aria/focus";
import {TreeState, useTreeState} from "@react-stately/tree";
import {useTreeState} from "@react-stately/tree";
import {useSelectableCollection} from "@react-aria/selection";
import {usePress} from "@react-aria/interactions";
import {clsx, dataAttr, debounce, isEmpty} from "@heroui/shared-utils";
import {
SpacerProps,
Spacer,
Link as HeroUILink,
Chip,
dataFocusVisibleClasses,
} from "@heroui/react";
import {dataAttr, debounce, isEmpty} from "@heroui/shared-utils";
import {Spacer, Link as HeroUILink, Chip, dataFocusVisibleClasses, cn} from "@heroui/react";
import Link from "next/link";
import {usePathname, useRouter} from "next/navigation";
@@ -24,7 +29,6 @@ import {ScrollArea} from "../scroll-area";
import {getRoutePaths} from "./utils";
import {Route} from "@/libs/docs/page";
import {TreeKeyboardDelegate} from "@/utils/tree-keyboard-delegate";
import emitter from "@/libs/emitter";
@@ -85,7 +89,7 @@ function TreeItem<T>(props: TreeItemProps<T>) {
const Component = hasChildNodes ? "ul" : "li";
const cn = clsx(
const classNames = cn(
"w-full",
"font-normal",
"before:mr-4",
@@ -121,7 +125,7 @@ function TreeItem<T>(props: TreeItemProps<T>) {
<span className="flex items-center gap-3">
<span className="font-medium sm:text-sm">{rendered}</span>
<ChevronIcon
className={clsx("transition-transform", {
className={cn("transition-transform", {
"-rotate-90": isExpanded,
})}
/>
@@ -132,14 +136,14 @@ function TreeItem<T>(props: TreeItemProps<T>) {
return (
<HeroUILink
as={item.props?.comingSoon ? "div" : Link}
className={clsx(cn, {
className={cn(classNames, {
"pointer-events-none": item.props?.comingSoon,
})}
color="foreground"
href={item.props?.comingSoon ? "#" : paths.pathname}
>
<span
className={clsx(
className={cn(
"sm:text-sm",
isSelected
? "text-primary font-medium dark:text-foreground"
@@ -191,8 +195,8 @@ function TreeItem<T>(props: TreeItemProps<T>) {
ref={ref}
aria-expanded={dataAttr(hasChildNodes ? isExpanded : undefined)}
aria-selected={dataAttr(isSelected)}
className={clsx(
"flex flex-col outline-none w-full tap-highlight-transparent",
className={cn(
"flex flex-col outline-solid outline-transparent w-full tap-highlight-transparent",
hasChildNodes ? "mb-4" : "first:mt-4",
// focus ring
...dataFocusVisibleClasses,
@@ -202,7 +206,7 @@ function TreeItem<T>(props: TreeItemProps<T>) {
role="treeitem"
>
<div
className={clsx("flex items-center gap-3 cursor-pointer", {
className={cn("flex items-center gap-3 cursor-pointer", {
"pointer-events-none": item.props?.comingSoon,
})}
{...(item.props?.comingSoon ? {} : pressProps)}
@@ -280,7 +284,7 @@ function Tree<T extends object>(props: CollectionBase<T> & Expandable & Multiple
return (
<ScrollArea
ref={ref}
className="h-full max-w-[90%] lg:max-h-[calc(100vh_-_64px)]"
className="h-full max-w-full lg:max-h-[calc(100vh_-_64px)]"
role="tree"
{...collectionProps}
scrollViewPortRef={scrollViewPortRef}
@@ -345,7 +349,7 @@ export const DocsSidebar: FC<DocsSidebarProps> = ({routes, slug, tag, className}
return (
<div
className={clsx(
className={cn(
"lg:fixed mt-2 z-0 lg:h-[calc(100vh-121px)]",
isProBannerVisible ? "lg:top-32" : "lg:top-20",
className,
+11 -8
View File
@@ -1,14 +1,16 @@
"use client";
import {FC, useRef, useEffect, useState} from "react";
import {clsx} from "@heroui/shared-utils";
import type {FC} from "react";
import type {Heading} from "@/libs/docs/utils";
import {useRef, useEffect, useState} from "react";
import {cn} from "@heroui/theme";
import {Divider, Spacer} from "@heroui/react";
import {ChevronCircleTopLinearIcon} from "@heroui/shared-icons";
import scrollIntoView from "scroll-into-view-if-needed";
import {PHCallout} from "./ph-callout";
import {HeroUIProCallout} from "./heroui-pro-callout";
import {Heading} from "@/libs/docs/utils";
import {useScrollSpy} from "@/hooks/use-scroll-spy";
import {useScrollPosition} from "@/hooks/use-scroll-position";
import emitter from "@/libs/emitter";
@@ -67,7 +69,7 @@ export const DocsToc: FC<DocsTocProps> = ({headings}) => {
}, []);
return (
<div className={clsx("fixed", isProBannerVisible ? "top-32" : "top-20")}>
<div className={cn("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"
@@ -84,10 +86,11 @@ export const DocsToc: FC<DocsTocProps> = ({headings}) => {
heading.level > 1 && (
<li
key={i}
className={clsx(
className={cn(
"relative",
"transition-colors",
"font-normal",
"flex items-center text-tiny font-normal text-default-500 dark:text-default-300",
"flex items-center text-tiny font-normal text-default-500",
"data-[active=true]:text-foreground",
"dark:data-[active=true]:text-foreground",
"before:content-['']",
@@ -124,7 +127,7 @@ export const DocsToc: FC<DocsTocProps> = ({headings}) => {
</li>
</ul>
</div>
<PHCallout />
<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 "@heroui/shared-utils";
import {cn} from "@heroui/theme";
type Props = {
className?: string;
@@ -24,16 +24,16 @@ export const FbRoadmapLink = ({className, innerClassName}: Props) => {
return (
<NextLink
className={clsx("inline-flex items-center", className)}
className={cn("inline-flex items-center", className)}
color="foreground"
href={`${process.env.NEXT_PUBLIC_FB_FEEDBACK_URL}/roadmap`}
target="_blank"
onClick={fbLinkOnClick}
>
<div className={clsx("relative", innerClassName)}>
<div className={cn("relative", innerClassName)}>
Roadmap
<Icon
className="absolute right-[-10px] top-0 outline-none transition-transform group-data-[hover=true]:translate-y-0.5 [&>path]:stroke-[2.5px]"
className="absolute right-[-10px] top-0 outline-solid outline-transparent transition-transform group-data-[hover=true]:translate-y-0.5 [&>path]:stroke-[2.5px]"
icon={arrowRightUpIcon}
width={10}
/>
+13 -10
View File
@@ -1,18 +1,21 @@
import {ReactNode, forwardRef} from "react";
import {tv, VariantProps} from "tailwind-variants";
import type {ReactNode} from "react";
import type {VariantProps} from "tailwind-variants";
import {forwardRef} from "react";
import {tv} from "tailwind-variants";
const styles = tv({
base: "flex relative w-full h-auto",
variants: {
to: {
top: "bg-gradient-to-t",
right: "bg-gradient-to-r",
left: "bg-gradient-to-l",
bottom: "bg-gradient-to-b",
"top-right": "bg-gradient-to-tr",
"top-left": "bg-gradient-to-tl",
"bottom-right": "bg-gradient-to-br",
"bottom-left": "bg-gradient-to-bl",
top: "bg-linear-to-t",
right: "bg-linear-to-r",
left: "bg-linear-to-l",
bottom: "bg-linear-to-b",
"top-right": "bg-linear-to-tr",
"top-left": "bg-linear-to-tl",
"bottom-right": "bg-linear-to-br",
"bottom-left": "bg-linear-to-bl",
},
color: {
orange: "from-[#FFB457] to-[#FF705B]",
@@ -1,92 +0,0 @@
"use client";
import {Icon} from "@iconify/react/dist/offline";
import arrowRightIcon from "@iconify/icons-solar/arrow-right-linear";
import {usePathname} from "next/navigation";
import {useEffect} from "react";
import {usePostHog} from "posthog-js/react";
import emitter from "@/libs/emitter";
const hideOnPaths = ["examples"];
export const HeroUIChatBanner = () => {
const posthog = usePostHog();
const handleClick = () => {
posthog.capture("HeroUI Chat Banner", {
action: "click",
category: "landing-page",
});
};
const pathname = usePathname();
const shouldBeVisible = !hideOnPaths.some((path) => pathname.includes(path));
useEffect(() => {
if (!shouldBeVisible) return;
// listen to scroll event, dispatch an event when scroll is at the top < 48 px
const handleScroll = () => {
if (window.scrollY < 48) {
emitter.emit("proBannerVisibilityChange", "visible");
} else {
emitter.emit("proBannerVisibilityChange", "hidden");
}
};
window.addEventListener("scroll", handleScroll);
return () => {
window.removeEventListener("scroll", handleScroll);
};
}, [shouldBeVisible]);
if (!shouldBeVisible) return null;
return (
<div className="relative z-50 isolate flex items-center gap-x-6 overflow-hidden bg-background border-b-1 border-divider px-6 py-2 sm:px-3.5 sm:before:flex-1">
<div className="flex w-full items-center justify-between md:justify-center gap-x-3">
<a
className="text-small flex items-end sm:text-[0.93rem] text-foreground hover:opacity-80 transition-opacity"
href="https://heroui.chat?utm_source=heroui.com&utm_medium=top-banner"
rel="noopener noreferrer"
target="_blank"
onClick={handleClick}
>
<span aria-label="rocket" className="hidden md:block" role="img">
🚀
</span>
<span
className="inline-flex md:ml-1 animate-text-gradient font-medium bg-clip-text text-transparent bg-[linear-gradient(90deg,#27272A_0%,#52525B_50%,#52525B_100%)] dark:bg-[linear-gradient(90deg,#E5E5E5_0%,#A1A1AA_50%,#E5E5E5_100%)]"
style={{
fontSize: "inherit",
backgroundSize: "200%",
backgroundClip: "text",
WebkitBackgroundClip: "text",
color: "transparent",
}}
>
Generate, edit and deploy beautiful apps
</span>
</a>
<a
className="flex group min-w-[120px] items-center font-semibold text-background bg-foreground shadow-sm gap-1.5 relative overflow-hidden rounded-full p-[1px] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"
href="https://heroui.chat?utm_source=heroui.com&utm_medium=top-banner"
rel="noopener noreferrer"
onClick={handleClick}
>
<div className="inline-flex h-full w-full cursor-pointer items-center justify-center rounded-full bg-foreground group-hover:bg-foreground/70 transition-background px-3 py-1 text-sm font-medium text-background">
HeroUI Chat
<Icon
aria-hidden="true"
className="outline-none transition-transform group-hover:translate-x-0.5 [&>path]:stroke-[2px]"
icon={arrowRightIcon}
width={16}
/>
</div>
</a>
</div>
</div>
);
};
+12 -37
View File
@@ -1,7 +1,8 @@
import type {IconSvgProps} from "@/types";
import React from "react";
import {cn} from "@heroui/theme";
import {IconSvgProps} from "@/types";
import {dataAttr} from "@/utils";
export interface LogoProps extends IconSvgProps {
auto?: boolean;
@@ -20,7 +21,7 @@ export const SmallLogoOutlined: React.FC<LogoProps> = ({
...props
}) => (
<svg
className={cn("data-[auto=true]:sm:hidden block text-foreground", className)}
className={cn("sm:data-[auto=true]:hidden block text-foreground", className)}
data-auto={dataAttr(auto)}
fill="none"
height={height || size || 25}
@@ -50,7 +51,7 @@ export const SmallLogo: React.FC<LogoProps> = ({
...props
}) => (
<svg
className={cn("data-[auto=true]:sm:hidden block text-foreground", className)}
className={cn("sm:data-[auto=true]:hidden block text-foreground", className)}
data-auto={dataAttr(auto)}
fill="none"
height={height || size || 25}
@@ -70,58 +71,32 @@ export const SmallLogo: React.FC<LogoProps> = ({
</svg>
);
export const LargeLogo: React.FC<LogoProps> = ({auto, className, ...props}) => (
export const Logo: React.FC<LogoProps> = ({className, ...props}) => (
<svg
className={cn(
"data-[auto=true]:hidden data-[auto=true]:sm:block block text-foreground",
className,
)}
data-auto={dataAttr(auto)}
className={cn(" text-[#18181B] dark:text-[#FFFFFF]", className)}
fill="none"
viewBox="0 0 384 96"
viewBox="0 0 275 84"
{...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"
d="M0 20.9484V46.0463C0 47.2326 0.609876 48.335 1.61325 48.9623L18.7276 59.6627C21.0083 61.0887 23.9623 59.4432 23.9623 56.7468V35.65C23.9623 34.4362 24.6006 33.3125 25.6413 32.6939L36.081 26.489V80.5589C36.081 83.2462 39.0172 84.8932 41.2985 83.4855L58.9629 72.5851C59.976 71.9599 60.5932 70.852 60.5932 69.6585V17.7361C60.5932 15.0618 57.6826 13.4129 55.4006 14.7942L36.081 26.489V3.44098C36.081 0.773993 33.1845 -0.876045 30.9022 0.490798L1.66918 17.9982C0.633988 18.6182 0 19.7387 0 20.9484Z"
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"
d="M125.354 46.1061C125.354 38.9888 122.442 35.7039 116.616 35.7039C109.945 35.7039 105.247 40.175 105.247 50.2123V73.2067H93.2203V9.33333H105.247V32.6927C108.16 27.9479 112.952 25.5754 119.529 25.5754C130.71 25.5754 137.287 32.419 137.287 43.9162V73.2067H125.354V46.1061Z"
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"
d="M167.054 74.6667C152.114 74.6667 142.625 64.9944 142.625 50.121C142.625 35.4302 152.021 25.5754 167.054 25.5754C183.309 25.5754 192.141 37.0726 189.698 53.2235H154.651C155.309 60.8883 159.819 65.2682 167.054 65.2682C172.973 65.2682 176.544 62.257 177.483 59.2458H189.416C187.537 68.1881 179.269 74.6667 167.054 74.6667ZM154.933 45.2849H178.047C177.953 38.9888 173.819 34.7002 166.772 34.7002C160.477 34.7002 156.061 38.3501 154.933 45.2849Z"
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"
d="M196.257 38.7151C196.257 31.1415 200.485 27.0354 208.566 27.0354H223.975V36.8901H208.284V73.2067H196.257V38.7151Z"
fill="currentColor"
/>
<path
d="M0 93.12V0.959961H9.408V42.496H60.352V0.959961H69.696V93.12H60.352V51.52H9.408V93.12H0Z"
d="M250.289 74.6667C235.067 74.6667 225.389 64.9032 225.389 50.121C225.389 35.3389 235.067 25.5754 250.289 25.5754C265.322 25.5754 275 35.3389 275 50.121C275 64.9032 265.322 74.6667 250.289 74.6667ZM250.289 64.7207C257.805 64.7207 262.785 58.9721 262.785 50.121C262.785 41.27 257.805 35.4302 250.289 35.4302C242.678 35.4302 237.698 41.27 237.698 50.121C237.698 58.9721 242.678 64.7207 250.289 64.7207Z"
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} />;
};
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CLIBoldIcon = ({...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const DocumentCodeBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const EyeBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const FatrowsBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const HashBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const HeartBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const InfoBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const KeyboardOpenBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const KeyboardBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const MoreSquareBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const MouseCircleBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const NextBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const PauseCircleBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const PauseBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const PlayBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const PreviousBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const RepeatOneBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const ShuffleBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const SquaresBoldIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const BugIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CircleInfo = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CropMinimalistic = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const DevicesIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const Filters = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const FlashIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const GamingConsoleIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const HeartFilledIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CheckLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const ChevronRightLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CLILinearIcon = ({...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CodeDocumentLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CopyLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const CubesLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const HashLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const HeartLinearIcon = ({
size = 24,
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const HtmlLogoLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const LinkCircleLinearIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const LinkSquaredLinearIcon = ({
size = 24,
+1 -1
View File
@@ -1,4 +1,4 @@
import {IconSvgProps} from "@/types";
import type {IconSvgProps} from "@/types";
export const LinkLinearIcon = ({
size = 24,

Some files were not shown because too many files have changed in this diff Show More