nextui/CONTRIBUTING.md
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 1d01df254d6df9bc524d29d767236823b33a96fd.

* 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 1d01df254d6df9bc524d29d767236823b33a96fd.

* 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

8.6 KiB

HeroUI Contributing Guide

Hello!, I am very excited that you are interested in contributing with HeroUI. However, before submitting your contribution, be sure to take a moment and read the following guidelines.

Tooling

  • PNPM to manage packages and dependencies
  • Tsup to bundle packages
  • Storybook for rapid UI component development and testing
  • Testing Library for testing components and hooks
  • Changeset for changes documentation, changelog generation, and release management.

Commit Convention

Before you create a Pull Request, please check whether your commits comply with the commit conventions used in this repository.

When you create a commit we kindly ask you to follow the convention category(scope or module): message in your commit message while using one of the following categories:

  • feat / feature: all changes that introduce completely new code or new features

  • fix: changes that fix a bug (ideally you will additionally reference an issue if present)

  • refactor: any code related change that is not a fix nor a feature

  • docs: changing existing or creating new documentation (i.e. README, docs for usage of a lib or cli usage)

  • build: all changes regarding the build of the software, changes to dependencies or the addition of new dependencies

  • test: all changes regarding tests (adding new tests or changing existing ones)

  • ci: all changes regarding the configuration of continuous integration (i.e. github actions, ci system)

  • chore: all changes to the repository that do not fit into any of the above categories

    e.g. feat(components): add new prop to the avatar component

If you are interested in the detailed specification you can visit https://www.conventionalcommits.org/ or check out the Angular Commit Message Guidelines.

Pull Request Guidelines

  • The main branch is basically a snapshot of the latest production version. All development must be done in dedicated branches and will be merged to canary branch.
  • Make sure that Github Actions are green
  • It is good to have multiple small commits while working on the PR. We'll let GitHub squash it automatically before the merge.
  • If you add a new feature:
    • Add the test case that accompanies it.
    • Provide a compelling reason to add this feature. Ideally, I would first open a suggestion topic and green it before working on it.
  • If you correct an error:
    • If you are solving a special problem, add (fix #xxxx [, # xxx]) (# xxxx is the problem identification) in your PR title for a better launch record, for example update entities encoding / decoding (fix # 3899).
    • Provide a detailed description of the error in the PR. Favorite live demo.
    • Add the appropriate test coverage, if applicable.

Steps to PR

  1. Fork of the heroui repository and clone your fork

  2. Create a new branch out of the canary branch. We follow the convention [type/scope]. For example fix/dropdown-hook or docs/menu-typo. type can be either docs, fix, feat, build, or any other conventional commit type. scope is just a short id that describes the scope of work.

  3. Make and commit your changes following the commit convention. As you canary, you can run pnpm build --filter=<module> and pnpm test packages/<module>/<pkg> e.g. pnpm build --filter=avatar & pnpm test packages/components/avatar to make sure everything works as expected.

    To know more about the --filter option, please check the turborepo docs.

  4. Run pnpm changeset to create a detailed description of your changes. This will be used to generate a changelog when we publish an update. Learn more about Changeset. Please note that you might have to run git fetch origin main:master (where origin will be your fork on GitHub) before pnpm changeset works.

  5. Also, if you provide jsx snippets to the changeset, please turn off the live preview by doing the following at the beginning of the snippet: ```jsx live=false

If you made minor changes like CI config, prettier, etc, you can run pnpm changeset add --empty to generate an empty changeset file to document your changes.

Development Setup

After cloning the repository, execute the following commands in the root folder:

  1. Install dependencies
pnpm i --hoist

#or

pnpm install --hoist

We use Turbo Repo for the project management.

  1. If you will be working on the components source code, you can use the following command to start the webpack dev server:
## Start the dev babel server of HeroUI core components
pnpm dev

## optional

pnpm sb ## this will start the storybook server for a faster development and testing.

pnpm dev:docs ## this will start the documentation next.js server and it will automatically detect the changes in the components.
  • If you will be working just on the documentation source code / mdx, you can use the following commands to build HeroUI components and then start the next.js dev server:
## Build HeroUI source components
pnpm build

## Start the next.js documentation dev server
pnpm dev:docs
  • You also can use Storybook to test the components and faster development:
pnpm sb

Remember that these commands must be executed in the root folder of the project.

  1. Create a branch for your feature or fix:
# Move into a new branch for your feature
git checkout -b feat/thing
# Move into a new branch for your fix
git checkout -b fix/something
  1. If your code passes all the tests, then push your feature/fix branch:

All commits that fix bugs or add features need a test. You can run the nest command for component specific tests.

# Test current code

pnpm test

# or

npm run test
# Test isolated component code

pnpm test button

# or

npm run test button

  1. Be sure the package builds.
# Build current code

pnpm build

# or

npm run build

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

  1. Send your pull request:
  • Send your pull request to the canary branch
  • Your pull request will be reviewed by the maintainers and the maintainers will decide if it is accepted or not
  • Once the pull request is accepted, the maintainers will merge it to the canary branch

Visual Changes

When making a visual change, please provide screenshots and/or screencasts of the proposed change. This will help us to understand the desired change easier.

Until HeroUI has a stable release new components will be created only for the core team.

Documentation

Please update the docs with any API changes, the code and docs should always be in sync.

The main documentation lives in the apps/docs/content folder, the project uses MDX and all HeroUI are already imported.

Breaking changes

Breaking changes should be accompanied with deprecations of removed functionality. The deprecated APIs themselves should not be removed until the minor release after that.

Becoming a maintainer

If you are interested in becoming a HeroUI maintainer, start by reviewing issues and pull requests. Answer questions for those in need of troubleshooting. Join us in the Discord Community chat room. Once we see you helping, either we will reach out and ask you if you want to join or you can ask one of the current maintainers to add you. We will try our best to be proactive in reaching out to those that are already helping out.

GitHub by default does not publicly state that you are a member of the organization. Please feel free to change that setting for yourself so others will know who's helping out. That can be configured on the organization list page.

Being a maintainer is not an obligation. You can help when you have time and be less active when you don't. If you get a new job and get busy, that's alright.