All notable changes to this project will be documented in this file.

This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [UNRELEASED]

## [0.7.0] - 2024-05-14
### Breaking
- renamed `xxxClassName` exports to `xxxSelector` to match their real content
### Removed
- `Form` component that had no use
### Added
- [RadioGroup] added classname exports
- [Carousel] added navigation button container's classname exports
- [Icons] added the arrow right up icon
- Added Label component
- Added Chip component
- [Theme] added chromia-dark-36 color
- [Breadcrumbs] added classname exports
- [Toast] `ToastViewport` is exporting allowing for custom placement of it.
### Changed
- [Box] Cleaned up structure
- [Input] component no longer has `z-index` in styles
- [Breadcrumbs] The first crumb will now shrink before the last one does
- [Dialog] added posibility to render some content outside visual boundary of the dialog. The content won't be transformed.
### Dev
- [Storybook/Select] fixed actions not being triggered after Storybook upgrade
- [Storybook/Select] fixed browser freeze on Docs view
- [Radix/*] upgraded all Radix components to the newest versions
- improved `CSS` type and added one util type for variants type hinting
- [CI] fix finding latest changes and release types in the changelog
- [Text] export all text variants
- TypeScript upgraded
### Fixed
- [Carousel] Make dimensions react as expected relative browser font size setting
- [Select] fixed Select not reacting to outside clicks on mobile/touch when rendered inside a modal
- [Input] right element rendering outside the input on rare occasions
- [Input] Safari rendering issue causing horizontal scrollbar
- [ShowMoreText] Add more sensible default word-break strategy (break-word instead of break-all). Allow user passed css.

## [0.6.2] - 2024-04-04
### Dev
- [CI] fix zulip message mentioning invalid release type on stable release

## [0.6.1] - 2024-04-04
### Dev
- [CI] fix zulip message posting on stable release

## [0.6.0] - 2024-04-04
### Dev
- [Storybook] upgrade to v8.0.5
- [CI] fix zulip message posting
- [CI] Always build storybook
### Added
- [Accordion] added classname exports
- [Accordion] cleanup storybook
- [Avatar] added classname exports

## [0.5.0] - 2024-04-02
### Breaking
- Carousel prop that in controlled mode will now (by default) clamp step value
- [Select] `disabled` prop extracted to top level (from `triggerProps`)
- [Accordion] Make accordion controllable and change root level props and prop names
- [Tooltip] `delayDuration` prop is now a direct prop and no longer part of rootProps
- [Input] `TextInputProps` type export is renamed to `SingleLineInputProps`
### Added
- `HeartFilled` icon
- storybook for `useIsFocused` hook
- [Breadcrumbs] Allows rendering button as crumb element
- Composable icons with css prop support
- [Breadcrumbs] Allow passing label only for non-interactive crumb
- [Dialog] `closeOnClickOutside` shortcut prop
- [LinkButton] Add `disabled` prop support
- [Icons] Added Slash icon
- [Input] Added `clearScientificNotation` prop for number input
- [Icons] Added Search icon
- `useInfiniteScroll` hook
- [Select] Added `onLastElementReached` prop
- [ScrollArea] make `ScrollArea` `forwardRef`
- [Input] Added `height` prop for textarea input
- [Input/TextArea] Added disabled styling
- [Icons] added `className` where it was missing and `data-id` to all
### Changed
- [ProgressBar] Optimise space usage
- [ProgressBar] Add auto scroll step into view
- [Accordion] Remove right padding from header
- [Input/Textarea] Applied custom scrollbars style
- [LinkButton] Deprecate `text` prop
- [Icons] Changed Home Icon
- [Breadcrumb] Changed default divider to Slash Icon
- [Tooltip] Changed default delay duration to 200
- [Input] Hoverable area is refined
- [Input] Border color no longer changes on hover when in error state
- [Input] Right padding is only applied if there is a `rightElement`
- [Input] `aria-invalid` is now applied if there is an error
- [Input] Improve word breaking in info text
- [ProgressBar] Remove step min width allowing more steps to fit before overflowing
- [Select] Hoverable area is refined
- [Select] Border color no longer changes on hover when in error state
### Dev
- added `package.json` description field
- CI/CD upgrades to support publishing npm packages for the first time from CI/CD
- Fixed missing InputDeviceProvider issue at the icons story
- [Select] add data-id prop and apply it to the trigger
- [CI/CD] Add Zulip message posting
### Fixed
- Remove unnecessary css width prop on input label
- [ProgressBar] Fix always visible scrollbar on desktop Linux and desktop Windows
- Missing `Heart` icon export
- [Select] Clicking a dropdown option drawn over tabs component can cause the tabs to be clicked on mobile
- [Select] Fixed scrollbar not visible on mobile
- Fixed scrollbars getting ugly & unstyled on the newest Chromium-based browsers
- Fixed select component error style
- Fixed text input component error style
- Make the selected value able to ellipsis at select component
- [Select] Fixed hover and focus state style
- [Input] Fixed hover and focus state style
- Add className prop to Home icon
- [Text] Fixed `body3` font size to be 16px
- [Breadcrumb] Fixed Icon being overlapped with long crumb at mobile screen
- [Select] replace all ordinary spaces in selected value with non breaking white spaces
- [Select] Set `value` and `defaultValue` as long as they are typeof string
- [Carousel] recalculate current step when column prop changes, preventing scenarios where carousel can be scrolled out of bounds
### Removed
- Icons `background` prop

## [0.4.2] - 2023-12-08
### Dev
- improved CI, develop is rebased on main after version bump

## [0.4.1] - 2023-12-07
### Fixed
- [Select] Clicking a dropdown option drawn over a button can cause the button to be clicked on mobile

## [0.4.0] - 2023-12-06
### Removed
- Remove `Container` component
### Fixed
- Carousel component not composable with `styled`
- Carousel elements not having height 100% in the middle div, limiting styling possibilities
- ShowMoreText closed height calculation
- Allow targeting Button with styled
- Link component centering content when an icon is present
- Broken left icon alignment of the LinkButton component
- [Carousel] rendering incorrectly when children dimensions change on breakpoint
- [Carousel] rendering incorrectly when new children are rendered and gallery is not at the beginning
- [Carousel] rendering incorrectly when the `gap` prop is changed
- [Breadcrumbs] Fix text alignment on crumbs with `iconPosition` set to `end`
- [Select] `defaultValue` prop not working
### Dev
- Fix console warnings due to use of useLayoutEffect on server
- Fix production pipelines
- Upgrade netlify deploy to try again to avoid random crashes
### Breaking
- Omit setting `maxWidth: 100%` for `svg` in css reset
### Changed
- [Breadcrumbs] Allows for presentational crumbs
- [Breadcrumbs] Labelless crumb rendering
- [Breadcrumbs] Crumb key calculation
- [Breadcrumbs] Improve overflow calculations
- [Breadcrumbs] Add Dynamic sub crumbs list
- [Breadcrumbs] Replace `MoreCircle` with `More` Icon
### Added
- Added new icons
- [IconButton] Add `cursor: pointer` on hover
- [Carousel] Allow disable drag
- [Breadcrumbs] Add props to control subcomponent styles

## [0.3.0] - 2023-11-01
### Added
- Toast `publish` now returns a toast removal function
- Add margin to individual toasts
- Add `raisedLabel` prop to input component
- Add useInputDevice hook
- Add Ellipsis Row component
- Add Accordion component
- Add suppport for extra element in select options
- Add `progressive` variant to loading box component
- Add Tabs component
- Add 5 new icons
- Add Breadcrumbs component
- Add Carousel component
- Add Progress Bar component
- Add props to control the close button's size and variants at Dialog component
- Enable `as` props in Text component
- Add ShowMoreButton
- Add ShowMoreText
### Fixed
- Destructure infoEllpsis prop preventing unreconized dom prop error
- Pass `css` prop to select
- Update CSS reset to respect the `hidden` html attribute
- Remove button webkit tap highlight
- Fix broken `pxToRem` import
### Dev
- Fixed publish function signature (no longer expects id)
- Toast type improvements, allow passing full `ToastProps` in `publish` function
- Upgraded CI/CD pipelines flow
- Optimizations to build process and npm publishing
- Update storybook version
### Breaking
- All icons have been updated
- Change icons default color to `currentColor`
### Changed
- Deprecate button `text` prop
- Adjusted dialog header and add more customization

## [0.2.1] - 2023-09-01
### Added
- Export utilities
### Fixed
- Fixed mobile version toast style

## [0.2.0] - 2023-08-31
### Added
- added Grid component
### Fixed
- Fixed invalid toast export
### Breaking
- Changed attribute name used for e2e testing from `data-testid` to `data-id`
### Dev
- Added `react/self-closing-comp` eslint rule

## [0.1.0] - 2023-08-31
### Breaking
- Refactor toast
### Fixed
- Make long select options overflow with ellipsis
- Uncontrolled select label will now remain in raised position after value has been selected
- Button will call `onMouseDown` and `onMouseUp` if provided
### Added
- Added a feature for toggling text overflow with ellipsis on info text in select and input elements
- useIsOverflow hook
### Changed
- Button ripple effect
- Assign proportional stroke width on the dot of the "i" in the info icon
### Dev
- Split icons stories up in All and Single such that they can be viewed all together or one by one
- Colocate docs and stories for hooks
- Added `.vscode` to `.gitignore`

## [0.0.1] - 2023-07-20
### Added
- initial version
