@intility/bifrost-react
Version:
React library for Intility's design system, Bifrost.
1,468 lines (1,082 loc) • 123 kB
Markdown
# @intility/bifrost-react
## 6.13.1
### Patch Changes
- 482913a: Fix: replace internal use of `base-dimmed` with `base-c-dimmed` for border color
and update docs.
- Updated dependencies [482913a]
- @intility/bifrost-css@6.6.1
## 6.13.0 - 2025-12-11
### Minor Changes
- 7a8d094: New `state="inherit"` option for `<Checkbox>`, `<Radio>`, and `<Switch>` - uses
current text color instead of theme color. Useful when placing a checkbox on top
of a colored background. #573
### Patch Changes
- 7a8d094: Fix: `<label>` should now correctly inherit current text color, even if placed
inside `.bf-content` or `.bf-elements`.
- Updated dependencies [7a8d094]
- Updated dependencies [7a8d094]
- @intility/bifrost-css@6.6.0
## 6.12.2 - 2025-12-05
### Patch Changes
- Updated dependencies [619352a]
- Updated dependencies [2f1d908]
- @intility/bifrost-css@6.5.4
## 6.12.1 - 2025-12-01
### Patch Changes
- 5892962: Bump `@fortawesome/react-fontawesome` dependency from `^3.1.0` to `^3.1.1`
- c14b886: Fix: `<FileInputArea>` wrapper element now gets `aria-disabled` when its input
is `disabled`.
- c80e40e: Fix: Update focus and disabled styling for `.bf-file-input-area`, now has same
focus styling as buttons, and `opacity: 0.3` when disabled.
- Updated dependencies [c80e40e]
- Updated dependencies [60be5ae]
- @intility/bifrost-css@6.5.3
## 6.12.0 - 2025-11-28
### Minor Changes
- c1121d3: New `<Feedback>` component #518
- Equivalent to `feedback` prop for form field components like `<Input>`,
`<DatePicker>`,`<TextArea>`, `<Select>` and `<FieldGroup>`.
- `state` prop accepts `"default"` or `"alert"` (red).
A11y: `feedback` and `description` props for `<Input>` and `<TextArea>` are now
linked to their form field using `aria-describedby`.
### Patch Changes
- Updated dependencies [c1121d3]
- @intility/bifrost-css@6.5.2
## 6.11.0 - 2025-11-27
### Minor Changes
- 76b01ab: - Add `state="alert"` prop to `<Checkbox>` components:
- `<Checkbox>`
- `<CheckboxCard>`
- `<Radio>`
- `<RadioCard>`
- `<Switch>`
- `<SwitchCard>`
- `<Checkbox indeterminate>` now uses theme color
### Patch Changes
- Updated dependencies [76b01ab]
- Updated dependencies [fd58f73]
- Updated dependencies [036fd40]
- @intility/bifrost-css@6.5.1
## 6.10.0 - 2025-11-20
### Minor Changes
- 0d9cf7c: New `<FormatDuration start={date} end={date} />` component
- Accepts two `Date` objects and displays a short, readable and localized
duration including a tooltip with full datetime details and timezone
information.
- Displays **days** if over 2: "7 days"
- Displays **hours** if over 2: "24 hours"
- Otherwise **minutes**: "30 minutes"
- a4c8f66: Reworked `<Nav.Item>`:
- Now uses flexbox internally - hopefully we didn't break anything (let us know!)
- Centered icons properly this time maybe.
- New `external` prop displays an arrow equivalent to `<Box.Arrow external>` #480
- The `name` prop of `<Nav.Group>` reworked slightly to behave the same for collapsed
and non-collapsed sidebar.
- 0100f2c: Add new `state` prop for `<Dropdown.Item>`:
- `"default"`
- `"alert"`
- `"success"`
- `"warning"`
- `"inactive"`
### Patch Changes
- Updated dependencies [a4c8f66]
- Updated dependencies [0100f2c]
- @intility/bifrost-css@6.5.0
## 6.9.2 - 2025-11-07
### Patch Changes
- 4fc3607: Fix: Changed font-size for `.bf-nav-header` from small (12px) to medium (14px). #489
- Updated dependencies [4fc3607]
- @intility/bifrost-css@6.4.1
## 6.9.1 - 2025-10-23
### Patch Changes
- a4610e6: Fixed bug where `<Ellipsis>` would not show tooltips when using react 19
(broken since 6.6.1 - updated `<Tooltip>` and `<Dropdown>` to no longer assume
`ref` won't be part of `children.props`) #475
## 6.9.0 - 2025-10-22
### Minor Changes
- 4ec68a5: Some visual and prop updates to tabs, to make it easier to insert into a section. Related to: #87 and #16
- Added `paddingInline` prop for `<Tabs>`
- Added `padding` prop for `<Tabs.Item>`
- `<Tabs>` height changed to match `<Section.Header>`
#### Basic tabs
- Changed padding for `<Tabs.Item>`
- Added gap between each `<Tabs.Item>` (from `0px` to `16px`)
#### Styled tabs
- Changed padding for `<Tabs.Item>`
- cbd329a: New prop `loading` for `<ProgressBar>` which adds animated loading stripes
### Patch Changes
- Updated dependencies [4ec68a5]
- Updated dependencies [cbd329a]
- @intility/bifrost-css@6.4.0
## 6.8.0 - 2025-10-21
### Minor Changes
- fbe99c7: Added React Compiler.
The following components have been slightly refactored to follow the rules of react:
- `Accordion`
- `Ellipsis`
- `FloatingMessage`
- `Modal`
- `Nav`
- `Tabs`
- `useHotkey`
Please let us know if you encounter unexpected behavior.
## 6.7.1 - 2025-10-14
### Patch Changes
- 75be909: Fix ellipsis tooltip not working on buttons and tags by adding `pointer-events: none` to the ::before pseudo-element
- Updated dependencies [75be909]
- @intility/bifrost-css@6.3.2
## 6.7.0 - 2025-10-13
### Minor Changes
- 620de1b: Tweaks to `<Message>` component:
- `statusBar` now has same `16px` padding as default (previously `8px`).
- `header` is now allowed for `statusBar` (previously ignored).
- `expandable` is now allowed for `statusBar` (previously ignored).
- New focus styling for `expandable` header button and `onClose` button.
- Fixed hover styling for `expandable` chevron icon and `onClose` button.
### Patch Changes
- 3305988: Fix(Box): Avoid writing to inline style object (react compiler warning).
## 6.6.1 - 2025-10-09
### Patch Changes
- d0b5a5e: fix: `<Dropdown>` and `<Tooltip>` should no longer overwrite props (like
`onClick`) on nested child component. #443
## 6.6.0 - 2025-10-08
### Minor Changes
- d4ee37c: New `state` prop for `<ProgressBar>` (#389), valid values:
- `"default"` - follow current theme
- `"success"` - green
- `"warning"` - yellow/orange
- `"alert"` - red
### Patch Changes
- Updated dependencies [d4ee37c]
- @intility/bifrost-css@6.3.1
## 6.5.0 - 2025-10-08
### Minor Changes
- 4d55846: - Increase default border-radius of `<Message>` from `8px` to `12px`.
- Add new `radius` prop to `<Message>`, accepts one of:
- `"none"` = no border radius
- `"xs"` = `4px`
- `"s"` = `8px`
- `"m"`= `12px` (default)
- `"l"` = `16px`
- `"xl"` = `24px`
### Patch Changes
- Updated dependencies [4d55846]
- @intility/bifrost-css@6.3.0
## 6.4.2 - 2025-10-06
### Patch Changes
- bb7624b: Chore: Bump `@fortawesome/*` dependencies to `^7.1.0`
- bb7624b: Chore: Bump `@fortawesome/react-fontawesome` dependency to `^3.1.0`
- Updated dependencies [4e2e89a]
- @intility/bifrost-css@6.2.2
## 6.4.1 - 2025-09-30
### Patch Changes
- df1561e: Fix: Avoid potential hydration errors by using inline element as `<Tooltip>` and
`<Dropdown>` content wrapper. (Block-level elements not allowed inside `<p>`,
for instance.)
- 0fc84d4: Fix: Links wrapping `<Section>` elements should now get appropriate keyboard
focus styling.
- ea27cd3: fix: `<Dropdown.Item className>` should no longer override internal `.bf-dropdown-item` class name. #369
- Updated dependencies [0fc84d4]
- @intility/bifrost-css@6.2.1
## 6.4.0 - 2025-09-19
### Minor Changes
- edfc022: Changed `neutral`-variables (#368):
- `--bfc-neutral` (dark mode) is lighter than before.
- `--bfc-neutral-2` (dark mode) is lighter than before.
- `--bfc-neutral` (light mode) is darker than before.
- `--bfc-neutral-2` (light mode) is darker than before.
- `--bfc-neutral-c` (light mode) is darker than before.
- `--bfc-neutral-fade-c` (light mode) is darker than before.
- `--bfc-neutral-fade-c` (dark mode) is lighter than before.
- 926a7f8: Components affected by neutral color changes:
- `<Button state="neutral">`
- `<Message state="neutral">`
- `<Badge state="neutral">`
### Patch Changes
- Updated dependencies [edfc022]
- @intility/bifrost-css@6.2.0
## 6.3.1 - 2025-09-05
### Patch Changes
- 01a6406: Update `@fortawesome/*-icons` dependencies to `^7.0.1`
- 01a6406: Update `@fortawesome/react-fontawesome` dependency to `^3.0.2`
## 6.3.0 - 2025-09-04
### Minor Changes
- 97cc068: Expand `useHotkey(key, callback, options)` hook (#336) with optional config
object as 3rd parameter, with the following properties:
- `ctrlOrCmd` (default `true`) - Ctrl on Windows/Linux, ⌘ on MacOS
- `shift` (default `false`) - listen to Shift/⇧
- `alt` (default `false`) - listen to Alt/⌥
- `preventDefault` (default `true`) - prevent default browser behavior
```tsx
useHotkey("s", save, { shift: true }); // "Ctrl + Shift + S" or "⌘ + ⇧ + S"
useHotkey("Escape", close, { ctrlOrCmd: false }); // "Esc"
useHotkey("ArrowUp", moveUp); // "Ctrl + ↑" or "⌘ + ↑"
```
### Patch Changes
- 45804cb: Improve JSDoc output #348
- Add `@see` directives linking to documentation pages for all components
- Add `@example` code where it makes sense
- Move top-level JSDoc comments to index files for sub-components and components
with sub-components attached so they are more likely to be picked up by IDEs
## 6.2.1 - 2025-08-27
### Patch Changes
- adfb8c0: Fix React 18 support by not importing `use` directly.
## 6.2.0 - 2025-08-27
### Minor Changes
- 3a06ee4: Slight restyling of Nav.Logo #211
- Larger logo graphic and font size for tablet/desktop
- Smaller logo, font, and spacing for mobile
- New SVG file for "it" fallback logo
- 83a73b3: Bump `@fortawesome/react-fontawesome` from `0.2.3` to
[`3.0.0`](https://github.com/FortAwesome/react-fontawesome/releases/tag/3.0.0)
- Refactor `IconProps` type to `interface` to simplify it and fix props table docs generation.
- 3a06ee4: Remove "an intility service" branding. Deprecated `hideBranding` prop. #211
### Patch Changes
- 75091db: Bump `@floating-ui/react` from `^0.27.15` to `^0.27.16`
- Updated dependencies [3a06ee4]
- @intility/bifrost-css@6.1.0
## 6.1.1 - 2025-08-18
### Patch Changes
- 1af8578: Fix: `<Bifrost>` now properly marked as client component (for RSC/Next.js support)
## 6.1.0 - 2025-08-18
### Minor Changes
- 281e85a: New `eager` prop for `<Tabs.Item>`, will render its `content` even while the tab
is inactive and hidden. Useful if the tab content has some internal state that
should persist between switching tabs. #318
## 6.0.1 - 2025-08-15
### Patch Changes
- 8087081: Mark `<Icon.Spinner fixedWidth>` prop as deprecated and add `widthAuto` prop to TypeScript definition.
## 6.0.0 - 2025-08-13
### Major Changes
- 5de0e05: Update `peerDependencies` to explicit major versions:
```
react: ^17 || ^18 || ^19
react-dom: ^17 || ^18 || ^19
```
- 5de0e05: Updated Font Awesome dependencies from `^6.4.2` to `^7.0.0`.
- `<Icon fixedWidth>` prop deprecated since icons are now fixed width default.
- New `<Icon widthAuto>` prop if you want the old behavior.
- If you have trouble installing, try deleting your `node_modules` and
`package-lock.json`.
### Patch Changes
- Updated dependencies [5de0e05]
- @intility/bifrost-css@6.0.0
## 5.9.0 - 2025-08-07
### Minor Changes
- a79e31b: Feat: Added optional `align="left"` prop to `<CheckboxCard>` #246
### Patch Changes
- 26b8063: Add focus styling for `recharts` (`accessibilityLayer` is default active since v3) #258
- 593ec3c: bump `@floating-ui/react` from `0.27.14` to `0.27.15`
- Updated dependencies [26b8063]
- Updated dependencies [a79e31b]
- Updated dependencies [96b38eb]
- @intility/bifrost-css@5.5.0
## 5.8.2 - 2025-07-30
### Patch Changes
- d1a1d0e: Bump `@floating-ui/react` dependency from `0.27.13` to `0.27.14`
- 1f39455: Fix: default to `eager` rendering for `<Nav.Group>` so collapsed groups with
active children are still styled as active. #265
- 3dc2523: cloneElement usage in Dropdown and Tooltip now works with newer nextjs and react versions
- Updated dependencies [4dc9711]
- @intility/bifrost-css@5.4.1
## 5.8.1 - 2025-07-22
### Patch Changes
- Updated dependencies [3180fb3]
- Updated dependencies [5ca8cab]
- @intility/bifrost-css@5.4.0
## 5.8.0 - 2025-07-04
### Minor Changes
- b16e76d: Added new prop `readOnly` and changed `disabled` styling for:
- `<Input>`
- `<TextArea>`
- `<FieldGroup>`
- `<Label>`
Changed icon from "ban" to "lock" for disabled (and readOnly) labels.
### Patch Changes
- Updated dependencies [b16e76d]
- @intility/bifrost-css@5.3.0
## 5.7.0 - 2025-07-02
### Minor Changes
- a161a0c: feat: add `noArrow` and `unstyled` props to `<Dropdown>` to allow custom styling
### Patch Changes
- 15a01f9: bump @floating-ui/react from 0.27.12 to 0.27.13 #251
- Updated dependencies [a161a0c]
- @intility/bifrost-css@5.2.0
## 5.6.0 - 2025-06-24
### Minor Changes
- 7a4b3a2: Bump dependency `@floating-ui/react` from `0.27.11` to `0.27.12`
- 7626122: Added new `useHotkey(key, callback)` hook for platform-independent hotkeys.
- `key` (string) - the key to listen to, a single lowercase character (like
`"k"` or `"s"`)
- `callback` (function) - will be called when user presses `⌘ + key` on
macOS, or `Ctrl + key` on win/linux
- returns an object with `hotkeyText` (string) which will be `"⌘ + key"` or
`"Ctrl + key"` depending on platform
```js
import useHotkey from "@intility/bifrost-react/hooks/useHotkey";
// listen to Ctrl/⌘ + K keypress
const { hotkeyText } = useHotkey("k", (e) => {
// focus search input
inputRef.current?.focus();
});
// hotkeyText will be "⌘ + K" or "Ctrl + K"
```
### Patch Changes
- 9aea814: Fix: `<Dropdown>` no longer auto-closes itself when elements outside it receive focus. #200
- Updated dependencies [aea5b6f]
- @intility/bifrost-css@5.1.1
## 5.5.0 - 2025-06-02
### Minor Changes
- 75033e2: - Added new theme colors
- `.bf-theme-pink` applies a pink theme (equivalent to "attn").
- `.bf-theme-yellow` applies a yellow theme
- Equivalent to "warning" in dark mode
- A new "gold/tan" color in light mode
- While in yellow theme, do not use `--bfc-warning` (e.g. inverted warning badge) on `--bfc-theme` background (this will look like it is working in light mode, but will be invisible in dark mode)
- `<Box theme>` prop now allows `"pink"` and `"yellow"` values.
- `--bfc-theme-c` has been updated for all color themes in light mode. It is
now using a lighter color to establish WCAG-approved contrast against main
colors (`--bfc-theme`, `--bfc-theme-2`, `--bfc-theme-3`).
- 097aa66: - Bump `@floating-ui/react` dependency from `0.27.9` to `0.27.10`
- Bump `focus-trap-react` dependency from `11.0.3` to `11.0.4`
### Patch Changes
- Updated dependencies [75033e2]
- @intility/bifrost-css@5.1.0
## 5.4.1 - 2025-05-27
### Patch Changes
- Updated dependencies [8267f6a]
- Updated dependencies [c7dfe7f]
- @intility/bifrost-css@5.0.6
## 5.4.0 - 2025-05-20
### Minor Changes
- 8ba9274: Added new `<FileInputArea>` component for file upload
- Wraps a native `<input type="file">` styled as drag-and-droppable area with customizable content
- `state="alert"` prop gives a red border
## 5.3.0 - 2025-05-15
### Minor Changes
- ab00bab: Bump `@floating-ui/react` dependency to `0.27.8`
## 5.2.1 - 2025-05-14
### Patch Changes
- aad6e0e: fix: add missing `.js` suffix in internal import (some build systems require it)
## 5.2.0 - 2025-05-07
### Minor Changes
- 3fd8295: New `radius` prop for `<Accordion>` allows different sizes:
- `"none"` = no border radius
- `"xs"` = `4px`
- `"s"` = `8px`
- `"m"` (or `undefined`) = `12px` (default)
- `"l"` = `16px`
- `"xl"` = `24px`
- 109c5b4: Add new props for `<Icon.Spinner>`: `marginLeft`, `marginRight`, and
`fixedWidth` (works same as for `<Icon>`) #153
- 36114d3: Added optional `noMain` prop to `<Nav>` to allow custom landmark elements like
`<header>`, `<main>`, and `<footer>`. #120
### Patch Changes
- 3fd8295: Tweaked size of `<button>` in `.bf-accordion-item-title` to better match
`.bf-section-header`.
Added `border-top` to `.bf-accordion-item-content` for "styled" variant.
- 074a3aa: Internal tweak: Update deprecated `FocusTrap` imports. #108
- 41412ec: Fix: Prevent `<Tooltip>` and `<Dropdown>` from overflowing viewport width. #148
- Updated dependencies [3fd8295]
- Updated dependencies [87f41a8]
- Updated dependencies [41412ec]
- @intility/bifrost-css@5.0.5
## 5.1.0 - 2025-04-28
### Minor Changes
- d70cdab: New `eager` prop (renders children/content even when closed) #112
- `<SlideDown>`
- `<Dropdown>`
- `<Accordion.Item>`
- `<Nav.Group>`
- `<Message>` (when using `expandable` prop)
- `<Table.Row>` (when using `content` prop)
### Patch Changes
- 8c9709c: Fix: `<Dropdown>`, `<Dropdown.Group>`, and `<Tooltip>` should be better
contained inside viewport on small screens. #131
- 15a5ea0: Fix: `.bf-state-icon` icon color (used by `<Input state="warning">`) should be `base-c` by default. #127
- a2994eb: Fixed bug where chromium-based browsers closes `<Modal>` even if `isOpen` and
`noCloseOnEsc` is `true`, when users press `ESC` **more than once**. #143
- Updated dependencies [15a5ea0]
- @intility/bifrost-css@5.0.4
## 5.0.4 - 2025-04-04
### Patch Changes
- Updated dependencies [391862a]
- @intility/bifrost-css@5.0.3
## 5.0.3 - 2025-04-03
### Patch Changes
- c12aaed: Fix: `<CheckboxCard>` (and `<SwitchCard>` and `<RadioCard>`) `label` should not
have `margin-bottom` when there's no content (`children`) below it.
[#59](https://github.com/intility/bifrost/issues/59)
- 08849e2: Fix: support string for `logo` prop on `<Nav.Side>` and `<Nav.Top>` (adds fallback graphic, like the `logo` prop on `<Nav>`)
## 5.0.2 - 2025-04-01
### Patch Changes
- 6d67f5f: Fix: Explicitly set `font-family` to "Open Sans" to prevent inheriting wrong
font from parent for components that may likely be nested inside a heading. #86
- `<Badge>`
- `<Tag>`
- `<Button>`
- `<Checkbox>`
- `<Drawer>`
- `<Modal>`
- Updated dependencies [e136063]
- Updated dependencies [6d67f5f]
- Updated dependencies [4b313b9]
- @intility/bifrost-css@5.0.2
## 5.0.1 - 2025-03-26
### Patch Changes
- Updated dependencies [b1a6a7f]
- @intility/bifrost-css@5.0.1
## 5.0.0 - 2025-03-26
### Major Changes
- Added support for React 19
- 582d87e: `<SlideDown>` no longers renders its `children` while `open` is `false` (unless mid-transition).
- This change also affects components that use `<SlideDown>` internally:
- `<Accordion.Item>`
- `<Nav.Group>` when used in sidebar (non-collapsed)
- `<Message expandable>` expandable message
- `<Table.Row content>` expandable table row
- 65c4ebd: - New prop `theme` for `<Box>` component, applies a color theme to itself and descendant elements. Supports values:
- `"inherit"` (default), same as not passing a `theme` prop.
- `"teal"` default theme color (equivalent to "brand", useful if the parent theme isn't default).
- `"purple"` purple theme color (equivalent to "chill").
- ac7ff14: Rewritten `<Tooltip>` and `<Dropdown>` components from scratch.
- Removed `@tippyjs/react` dependency since it's no longer maintained and does not support React 19
- All props previously forwarded to `<Tippy>` are no longer supported, but we have re-implemented the ones most used. See [upgrade guide](https://bifrost.intility.com/react/install/upgradeTo5) for migration tips.
- Added `@floating-ui/react` dependency
- They are no longer stacked using `z-index` but uses the browser top layer via [Popover Web API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API) instead.
- `disabled` prop not only disables the `<Dropdown>` or `<Tooltip>`, but no longer renders the `content` in the DOM tree.
- Clicking on the hovered element no longer hides the `<Tooltip>`.
- The `<Tooltip>` DOM node is no longer attached to the `document.body` default, but is placed as a sibling to the `children` of the `<Tooltip>`.
- `onClickOutside` prop is removed, use `onHide` instead (triggers on `click` outside, and `ESC` kepress, and on `focusin` event on other elements).
- `placement` no longer supports `"auto"` (default is now `"top"` for `<Tooltip>` and `"bottom-start"` for `<Dropdown>`). Valid values are:
- `"top"`
- `"right"`
- `"bottom"`
- `"left"`
- `"top-start"`
- `"top-end"`
- `"right-start"`
- `"right-end"`
- `"bottom-start"`
- `"bottom-end"`
- `"left-start"`
- `"left-end"`
- 8943b49: Refactored `<FloatingMessage>` to use [Popover Web API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API).
- Fixes issue where floating messages would always appear behind an open `<Modal>` #738
- Removed the extra `<div>` wrapper with `position: relative` and a `z-index`.
- This includes forwarded props like `ref`, `className` and `style` (all documented props remain unchanged).
#### Removed
- 11e52eb: Removed `<Spinner>` component. Use `<Icon.Spinner>` instead:
```tsx
<Icon.Spinner size={64} /> // equivalent to `<Spinner />`
<Icon.Spinner /> // equivalent to `<Spinner size="1em" />`
```
- `theme` prop on `<Bifrost>` component removed (deprecated in 4.0)
- to use light or dark mode, apply `.bf-darkmode` or `.bf-lightmode` to `<html>` element.
- `useTheme()` hook removed (deprecated in 4.0)
- 11e52eb: Removed `icon` and `iconRight` props from `<Button>` (deprecated since 4.7). Place `<Icon>` as child element instead:
```tsx
<Button>
<Icon marginRight icon={faHome} />
Click me
</Button>
```
- 11e52eb: Removed `"outline"` value for `<Button variant>` prop (deprecated since 4.7)
- 11e52eb: Removed `variant` prop from `<Dropdown>` (only has a single variant since 4.5)
- 11e52eb: Removed `hideCircle` prop from `<Nav.Item>` (deprecated since 4.2)
- 11e52eb: Removed `appName`, `collapsedAppName`, `logoHref` and `logoOnClick` from `<Nav>` - use `logo` instead. Same goes for `<Nav.Side>` and `<Nav.Top>` as well.
`useFloatingMessage` hook no longer exported from FloatingMessage file - use `import useFloatingMessage from "@intility/bifrost-react/hooks/useFloatingMessage"`
- 285f893: Removed `dateFormat()` and `timeFormat()` functions (deprecated since 4.0) - use the `useDateTimeFormatter()` hook instead.
#### Renamed
- `useApplyTheme(theme: Theme)` hook renamed to `useApplyColorMode(mode: ColorMode)`. Still functions the same way.
#### TypeScript
- `Theme` type (`"light" | "dark" | "system"`) renamed to `ColorMode`
#### Dependencies
- 4e54726: Bump `focus-trap-react` dependency (used internally by Nav and Drawer) from `10.2.3` to `11.0.3`
- 526d727: Refactor: removed `date-fns` dependency from `@intility/bifrost-react` and added it to `@intility/bifrost-react-datepicker` and bumped from `3.6.0` to `4.1.0`
### Minor Changes
- a40486b: - New `<Badge state>` prop value `"brand"`
- New `<Message state>` prop values `"brand"`, `"attn"`, and `"chill"`
- `<Box background>` prop updated to match css background classes (some removed and some added, see bifrost-css changelog)
- c5b07ac: Added new `<Dropdown.Group>` component, styles a button for nested dropdown menu hierarchy, meant to use inside `content` of `<Dropdown>`.
- `name` prop for labelling the button
- Optional `icon` prop, styled equivalent to `<Dropdown.Item icon>`
- `children` content will be placed inside a toggleable sub-dropdown
Useful for dropdown menus with multiple levels, example:
```tsx
<Dropdown
content={
<Dropdown.Group name="Group">
<Dropdown.Item>Item 1</Dropdown.Item>
<Dropdown.Item>Item 2</Dropdown.Item>
</Dropdown.Group>
}
>
<Button>Two levels</Button>
</Dropdown>
```
Can be nested inside eachother:
```tsx
<Dropdown
content={
<Dropdown.Group name="Group">
<Dropdown.Group name="Nested Group A">
<Dropdown.Item>Item A1</Dropdown.Item>
<Dropdown.Item>Item A2</Dropdown.Item>
</Dropdown.Group>
<Dropdown.Group name="Nested Group B">
<Dropdown.Item>Item B1</Dropdown.Item>
<Dropdown.Item>Item B2</Dropdown.Item>
</Dropdown.Group>
</Dropdown.Group>
}
>
<Button>Three levels</Button>
</Dropdown>
```
- bd4e754: Add new `usePrefersColorMode()` hook:
- Uses CSS media query to find the users `prefers-color-scheme`.
- Returns `"light"` or `"dark"` when running client-side. (which is the case for single-page-apps)
- Falls back to `undefined` when server-side-rendering. (like preloading a next.js page, or statically generated)
### Patch Changes
- a26abe7: Deprecated `<Banner>` component. It's been removed from figma components for a while, no current designs should be using it.
- Updated dependencies [fef5acd]
- Updated dependencies [a40486b]
- Updated dependencies [11e52eb]
- Updated dependencies [3e16543]
- @intility/bifrost-css@5.0.0
## 4.19.1 - 2025-02-26
### Patch Changes
- 1e2116f: update package metadata
- Updated dependencies [1e2116f]
- @intility/bifrost-css@4.18.3
## 4.19.0 - 2025-02-19
### Minor Changes
- d40b0c3: feat: add noTooltip prop to FormatDate
## 4.18.2 - 2025-02-14
### Patch Changes
- Updated dependencies [66a9741]
- Updated dependencies [8bc2846]
- @intility/bifrost-css@4.18.2
## 4.18.1 - 2025-01-29
### Patch Changes
- 53e3e7b: fix: `<Ellipsis>` and `.bf-ellipsis` should now work for single-word content,
and also not break on hyphens for single line (will take all available width)
- Updated dependencies [53e3e7b]
- @intility/bifrost-css@4.18.1
## 4.18.0 - 2025-01-13
### Minor Changes
- 96071ef: - New `<Menu>` component suitable for nesting inside other wrappers like `<Section>`, `<Accordion>`, or `<Box>`
- Simple flex container with `8px` gap (no background or other styling)
- Optional `horizontal` boolean prop for laying out menu items inline.
- New `<Menu.Item>` sub-component with some padding and hover bg, suitable for nesting inside a `<Link>`, `<a>`, or `<button>`.
- Marked as active when nested inside a link or button with `.active` css class.
- New `<Icon.Step>` component, suitable for creating a flexible "step-bar"
- `variant` prop to choose which icon to display:
- `"default"` - a faded dot, use for unvisited (future) step
- `"active"` - right-arrow in a faded circle, use for current step
- `"completed"` - checkmark in a solid circle, use for steps that are done
- `"incomplete"` - unfinished progress-pie, use for steps that are visited but not done
```tsx
<Menu>
<a href="/step1">
<Menu.Item>
<Icon.Step variant="completed" marginRight />
Step 1
</Menu.Item>
</a>
<a href="/step2" class="active">
<Menu.Item>
<Icon.Step variant="active" marginRight />
Step 1
</Menu.Item>
</a>
[more steps...]
</Menu>
```
### Patch Changes
- 548d6e7: Don't close modal on overlay click if click started on a different element
- Updated dependencies [49c20c4]
- Updated dependencies [96071ef]
- Updated dependencies [1716d20]
- @intility/bifrost-css@4.18.0
## 4.17.0 - 2024-12-13
### Minor Changes
- 10509f3: - Introduced `padded` parameter to `<Ellipsis>` component to prevent clipping of focus outline
- Added `bf-ellipsis-padded` css class
### Patch Changes
- 958b541: Fix: Only apply padding for `<Input clearable>` when the icon is rendered
- Updated dependencies [eb3b1cc]
- Updated dependencies [97de3fe]
- Updated dependencies [174f259]
- Updated dependencies [10509f3]
- @intility/bifrost-css@4.17.0
## 4.16.1 - 2024-11-29
### Patch Changes
- a9d985b: Fix: `<Icon.Spinner size>` prop type should now properly accept `number` and `string`.
## 4.16.0 - 2024-11-28
### Minor Changes
- 17060a3: Add new `<Icon.Spinner />` sub-component as an alias for:
```tsx
<Icon
icon={faSpinnerThird}
className="bf-icon-spinner bfc-theme"
style={{ fontSize: /* size prop */ }}
/>
```
- b9c82ea: Add `transparent` prop to `<Modal>` to allow better control for custom styling
### Patch Changes
- Updated dependencies [b9c82ea]
- @intility/bifrost-css@4.16.0
## 4.15.0 - 2024-11-26
### Minor Changes
- 91f354b: New `<Ellipsis>` component, cuts off overflowing text and adds an ellipsis (…)
- Renders a tooltip on hover when text is overflowing.
- Configure allowed lines with `lines` prop (default `1`)
### Patch Changes
- bbb8a57: Deprecate `<Spinner>` component in favor of using the more flexible `<Icon>` directly. Example:
```tsx
<Icon icon={faSpinnerThird} className="bf-icon-spinner bfc-theme" />
```
- Updated dependencies [bbb8a57]
- Updated dependencies [91f354b]
- Updated dependencies [bae3a2f]
- @intility/bifrost-css@4.15.0
## 4.14.1 - 2024-11-06
### Patch Changes
- 7668263: Fix scaling issue with nav branding
- 9ac0d65: allow react 17 as a peer dep
- 908fd54: - Fixed `disabled` styling for pagination next/prev buttons
- Fixed `:focus` styling for link-styled buttons
- Updated dependencies [7668263]
- Updated dependencies [908fd54]
- @intility/bifrost-css@4.14.1
## 4.14.0 - 2024-10-21
### Minor Changes
- d090112: `<Drawer>` design update
- Removed left border from right-positioned drawer
- New drop shadow (while open)
- Changed background from `bfc-base-2` to `bfc-base-3`
- Changed right-positioned drawer width to `550px` for all screen widths wider than small
- c8990f1: Color change in light mode: `bfc-theme-*` variables and classes are now teal colored instead of blue.
### Patch Changes
- fe1d4fc: Add convenience aliases for some components:
- `<RadioCard>` is the same as `<CheckboxCard type="radio">`
- `<SwitchCard>` is the same as `<CheckboxCard type="switch">`
- Updated dependencies [7915aaf]
- Updated dependencies [d090112]
- Updated dependencies [a486693]
- Updated dependencies [c8990f1]
- Updated dependencies [cb6baa6]
- @intility/bifrost-css@4.14.0
## 4.13.0 - 2024-10-15
### Minor Changes
- 2703b98: Add support for `small` variants for most form field inputs, to match existing `small` button styling.
- `<Input>`
- `<DatePicker>`
- `<FieldGroup.Item>`
- `<Select>`
### Patch Changes
- 1fbff6b: Fix: Section.Header and Section.Content now has `border-radius` (useful when designers put separate custom background colors on them)
- c2dfb58: Added translation text for select loading state
- Updated dependencies [1fa1483]
- Updated dependencies [1fbff6b]
- Updated dependencies [2703b98]
- @intility/bifrost-css@4.13.0
## 4.12.1 - 2024-10-01
### Patch Changes
- 553fe3b: Set a (14px) font-size for `<Section>` component (previously inherited from parent)
- d303cff: TypeScript: Add missing values for `<Box background>` prop
## 4.12.0 - 2024-09-16
### Minor Changes
- eac9a11: New `<Dropdown.Item>` sub-component for styling buttons and links in a dropdown. #774
- Padding for `<Dropdown>` reduced from `12` to `8` px.
### Patch Changes
- Updated dependencies [de00f8f]
- Updated dependencies [e7d617e]
- Updated dependencies [eac9a11]
- Updated dependencies [4fd0770]
- @intility/bifrost-css@4.12.0
## 4.11.0 - 2024-09-03
### Minor Changes
- df8ce99: `<Tabs>` component restyled and made a bit more flexible
- Neutralised active tab underline color for default `variant`
- Added shadow on styled tab selected and hover
- Added border bottom for basic tab on hover
- Changed paddings
- New props for `<Tabs>`:
- `noBakground` (boolean) makes the tab bar transparent
- `noPadding` (boolean) removes padding from the tab bar
- `contentProps` (object) props forwarded to the content area `<div>` element (if any)
- `contentBackground` (string) sets background-color for content area and active tab for `variant="styled"`. Possible values:
- `"base"` (default),
- `"base-2"`
- `"base-3"`
- `"transparent"` (not supported by `variant="styled"`)
- `radius` (string | boolean) adds a border-radius to top of tab bar, and bottom of content area (if any). Possible values:
- `false` or `undefined` (default) = no border radius
- `"xs"` = `4px`
- `"s"` = `8px`
- `true` or `"m"` = `12px`
- `"l"` = `16px`
- `"xl"` = `24px`
- `radiusTop` same values as `radius`, but only applied to top of tab bar
- `radiusBottom` same values as `radius`, but only applied to bottom of content area (if any)
### Patch Changes
- c54884f: Fix: `useBreakpoint()` (used by `<Nav>` and `<Drawer>`) should no longer cause [hydration](https://react.dev/reference/react-dom/client/hydrateRoot) errors.
- 3bcdf74: Removed some old CSS that was mis-styling the input background color based on parent context. This was needed before inputs got their current outline styling, and removing it should fix several small issues, including:
- Nesting form elements like `<Input>`, `<Select>`, and `<TextArea>`, inside `.bfc-base-3-bg` should no longer result in wrong background colors.
- Nesting a `<Select>` that is `disabled` inside a `<Section>` should now look as expected.
- `<Input>` should look the same inside a `<Table>` as it does outside.
- ea682a9: Fix: Render `<Tabs>` overflow arrows based on container size as opposed to window size. #776
- 8fb3f6c: Changed typescript definitions for union props to make them more readable in props docs table and on hover in IDE !693
- Updated dependencies [cfc369e]
- Updated dependencies [3bcdf74]
- Updated dependencies [3a5ae26]
- Updated dependencies [df8ce99]
- @intility/bifrost-css@4.11.0
## 4.10.1 - 2024-08-27
### Patch Changes
- 6ef5ced: Fix: Use pointer cursor when hovering hidden native `<input>` for checkbox, radio, switch, and checkboxcard. #777
- Updated dependencies [6ef5ced]
- @intility/bifrost-css@4.10.1
## 4.10.0 - 2024-08-22
### Minor Changes
- 810663f: Added some new color classes: `.bfc-base-c-attention-bg` and `.bfc-base-c-chill-bg`
Recolored some badges to use base-3 as text color (attn, chill)
Fixed link color for background class names
- f1be5f4: Add `external` prop to `<Box.Arrow>` component, for an arrow poiting up and to the right, suitable for use with external links.
### Patch Changes
- 46d07a6: Fix: "skip to content" button (from `<Nav>`) should no longer be part of printed content.
- 8cbbf46: fix: `<Button.Group active>` focus and hover styling fixes
- bb6765e: fix: increase native (hidden) checkbox input element size to make it more compatible with how tippy works (Dropdown and Tooltip components) #525
- Updated dependencies [810663f]
- Updated dependencies [46d07a6]
- Updated dependencies [8cbbf46]
- Updated dependencies [bb6765e]
- Updated dependencies [f1be5f4]
- @intility/bifrost-css@4.10.0
## 4.9.0 - 2024-08-14
### Minor Changes
- a727d33: Based on feedback we've changed the default `<Button>` color back to `theme`. We're preparing components to be compatible with a theming system we're currently working on. Hopefully we don't create too many issues :)
- Same goes for `<Input iconButton>`, `<Button.Group>` and `<Tag active>`
- Add new `state="neutral"` to `<Button>` (`.bf-button-neutral` CSS class)
### Patch Changes
- e3da5e5: Fix: `<Modal>` should no longer close itself when nested elements trigger a `cancel` event.
- 8685fcf: Removed theme color from table header and border left
- e8faca6: Fixed bug where clicking the outer edges of wide buttons doesn't register clicks (because it was scaled down, placing the cursor outside button)
- Updated dependencies [8685fcf]
- Updated dependencies [e8faca6]
- Updated dependencies [fe7ec62]
- Updated dependencies [a727d33]
- @intility/bifrost-css@4.9.0
## 4.8.0 - 2024-08-07
### Minor Changes
- 77c67b4: Updated checkbox styling
- Removed theme color
- Increased size of checkbox, radio and switch
- Now supports custom browser font size
- New active state for switch
- New hover state for checkbox, radio and switch
- Neutralized select checkboxes
### Patch Changes
- 9326af8: add locale for the word "of"
- Updated dependencies [77c67b4]
- @intility/bifrost-css@4.8.0
## 4.7.5 - 2024-08-07
### Patch Changes
- Updated dependencies [fd3acaa]
- @intility/bifrost-css@4.7.2
## 4.7.4 - 2024-08-06
### Patch Changes
- 633e7b2: chore: avoid internal barrel file imports
- Updated dependencies [899927b]
- Updated dependencies [2cbf99a]
- @intility/bifrost-css@4.7.1
## 4.7.3 - 2024-08-02
### Patch Changes
- 1755cfb: fix: autoFocus not working in `<Modal />` when initial `isOpen` is true
## 4.7.2 - 2024-08-02
### Patch Changes
- Updated dependencies [3ccc958]
- Updated dependencies [6dfd55d]
- Updated dependencies [14c207d]
- @intility/bifrost-css@4.7.0
## 4.7.1 - 2024-07-31
### Patch Changes
- Updated dependencies [9ae0e80]
- @intility/bifrost-css@4.6.1
## 4.7.0 - 2024-07-30
### Minor Changes
- daa6eee: New breadcrumbs styling
- Added CSS to allow buttons inside `.bf-breadcrumbs` container (to allow forward/back buttons)
- Use `/` instead of `>` icon to separate path segments
- `.bf-breadcrumb-angle` renamed to `.bf-breadcrumb-separator`
- 365100c: Changed color values for:
- `--bfc-base-dimmed`
- `--bfc-base-c-alert`
- `--bfc-base-c-wcag`
- `--bfc-base-c-dimmed` (alias for `--bfc-base-dimmed`)
- `--bfc-base-c-inverted-1`
- `--bfc-base-c-inverted-2`
- `--bfc-alert`
- `--bfc-alert-c` (big change, from almost black to white)
- `--bfc-alert-fade`
- `--bfc-alert-fade-c`
- `--bfc-alert-fade-1` (alias for `--bfc-alert-fade`)
- `--bfc-alert-fade-1-c` (alias for `--bfc-alert-fade-c`)
Added new colors:
- `--bfc-base-c-inverted-3`
- `--bfc-base-dimmed-1` (alias for existing `--bfc-base-dimmed`)
- `--bfc-base-dimmed-2`
- `--bfc-base-dimmed-3`
- `--bfc-alert-2`
Added new class names:
- `.bfc-base-c-bg`
- `.bfc-base-c-2-bg`
New `<Button>` styling:
- Increased `border-radius` (from xs to s)
- New outline styling on keyboard focus
- Removed theme color from `variant="filled"`
- Added `variant="flat"`, no background or outline
- Added `state="inverted"`, for contrasting background
- Deprecated `variant="outline"` since default `variant` has outline
- `state="alert"` now supported by every `variant`
- New `<Button.Group>` styling
- Removed theme color from `active` button
- Fixed outline overlapping on `:focus-visible` with `z-index: 1`
Update `<Checkbox button>`, `<CheckboxCard>`, `<Tag>` and `<Drawer>` (close button) styling to match new bifrost Button.
Update `border` styling for `<Input>`, `<Textarea>` and `<FieldGroup>` to match new bifrost Button.
New `<Badge>` styling: updated `font-weight` and `padding`. Background changed for `inverted` `state="neutral"` variant.
Increased `marginRight` and `marginLeft` for `<Icon>` from `4px` to `8px`.
### Patch Changes
- ac738a9: Fix: Remove "." placeholder from `<Skeleton.Text>` and pray browsers support `lh` CSS unit.
- 7b2eacc: Fix: Apparently, Chrome has changed its `<input autocomplete>` behaviour and now appears to only respect `autoComplete="off"`, so lets try that and pray to the browser gods that this will satisfy all of them for the forseeable future. #758
- 49761c2: support `autoFocus` on elements inside `<Modal />`
- Updated dependencies [ac738a9]
- Updated dependencies [4df5421]
- Updated dependencies [841993b]
- Updated dependencies [daa6eee]
- Updated dependencies [a23cc4f]
- Updated dependencies [365100c]
- @intility/bifrost-css@4.6.0
## 4.6.0 - 2024-06-21
### Minor Changes
- 43dc6cf9: New `removeFloatingMessage()` function exposed from `useFloatingMessage()` hook when called from a component nested inside a floating message. #708
### Patch Changes
- 426d9481: Fix: Floating messages should now transition properly regardless of message box height, and respect users `prefers-reduced-motion` setting.
- Updated dependencies [a2ec3e53]
- Updated dependencies [23ff3593]
- @intility/bifrost-css@4.5.1
## 4.5.1 - 2024-06-13
### Patch Changes
- fd392752: Fix: Drawer `inert` prop should now support react 19
- 6a6a8cd5: import tippy with a fallback to avoid failing in some build systems
- Updated dependencies [833a15e4]
- @intility/bifrost-css@4.5.0
## 4.5.0 - 2024-06-06
### Minor Changes
- 0b24673c: Feat: New styling for dropdowns, now always renders with both a shadow and border. Deprecated the `<Dropdown variant>` prop and removed `.bf-dropdown-border` since there's only one variant now.
### Patch Changes
- 13a6a698: Fix: `<Tooltip>` should no longer be overlapped by `<Nav>` #744
- Updated dependencies [0b24673c]
- Updated dependencies [e6ead541]
- @intility/bifrost-css@4.4.0
## 4.4.0 - 2024-06-05
### Minor Changes
- c0206816: Added new `<Section>` component
### Patch Changes
- c20e24ae: Fix Nav.Search styling when used in top bar
- 409b9e4d: Fix: allow deep import of `useBreakpoint` hook, e.g. `import useBreakpoint from "@intility/bifrost-react/hooks/useBreakpoint";`
- Updated dependencies [c20e24ae]
- Updated dependencies [5de6a97c]
- @intility/bifrost-css@4.3.1
## 4.3.0 - 2024-05-31
### Minor Changes
- 069614ed: Slight tweaks to .bf-input, .bf-datepicker and .bf-textarea on hover and focus #740
- 9b7cead3: Fix: Font-size variables are now defined in `rem` in order to respect user agent font settings. #742
- fd90da94: Feat: add scrollbar styling
- Default `scrollbar-color` set on root element, `.bf-scrollbar`, and `.bf-scrollbar-small`
- `.bf-scrollbar-small` now applies `scrollbar-width: thin`
### Patch Changes
- 503ffd86: Performance tweaks for `useDateTimeFormatter()` #725
- 9749173c: Fixed positioning for nav top bar #746
- Updated dependencies [069614ed]
- Updated dependencies [9b7cead3]
- Updated dependencies [fd90da94]
- Updated dependencies [9749173c]
- @intility/bifrost-css@4.3.0
## 4.2.7 - 2024-05-29
### Patch Changes
- Updated dependencies [d2bb0be5]
- @intility/bifrost-css@4.2.7
## 4.2.6 - 2024-05-29
### Patch Changes
- Updated dependencies [4c0b4e5e]
- @intility/bifrost-css@4.2.6
## 4.2.5 - 2024-05-27
### Patch Changes
- c00455e8: bump focus-trap-react dep
- Updated dependencies [af52c2d7]
- @intility/bifrost-css@4.2.5
## 4.2.4 - 2024-05-22
### Patch Changes
- 92cc2649: Fixed error assigning sub-components to a client component
- bf863902: New custom icon for Nav sidebar collapse button
- 751340b2: fix intility logo asset import in Nav.Logo and internal Branding component
- Updated dependencies [366de21e]
- Updated dependencies [bf863902]
- Updated dependencies [917825cb]
- @intility/bifrost-css@4.2.4
## 4.2.3 - 2024-05-16
### Patch Changes
- Updated dependencies [9c1de768]
- @intility/bifrost-css@4.2.3
## 4.2.2 - 2024-05-16
### Patch Changes
- Updated dependencies [08583204]
- @intility/bifrost-css@4.2.2
## 4.2.1 - 2024-05-15
### Patch Changes
- 99fc0cdc: Change nav side collapse icon from pro to free bundle
- 33a242ff: Fix text-align in top nav for some scenarios
- Updated dependencies [33a242ff]
- @intility/bifrost-css@4.2.1
## 4.2.0 - 2024-05-15
### Minor Changes
- 74dc6d6f: - `<Nav>` component redesigned:
- A lot of styling changes, including removal of top-left Intility logo. See [bifrost-css changelog](https://github.com/intility/bifrost/blob/main/packages/bifrost-css/CHANGELOG.md).
- Added "an intility service" branding to bottom of sidebar (and mobile nav).
- New prop `hideBranding` can disable it.
- Changes to an "it" graphic for collapsed sidebar.
- New prop `logo`, which accepts an app name as string, or JSX content.
- Deprecated props `appName`, `collapsedAppName`, `logoHref`, and `logoOnClick` (all you need is `logo`)
- New helper component `<Nav.Logo>` for topbar logo layout (custom graphic + text). See updated [Nav component docs](https://bifrost.intility.com/react/nav#logo-graphic) for examples.
- dfb6fbfb: - New `<Box>` component to make bifrost styling more easily accessible in JSX.
- Unstyled by default, use props to add styling:
- `shadow` - `boolean`
- `border` (plus `borderTop`, `borderRight`, `borderBottom`, `borderLeft`) - `boolean`
- `padding` (plus `paddingInline`, `paddingBlock`) - `boolean` | `number`
- `background` - `boolean` | `"base"` | `"base-2"` | `"base-3"` | `"dimmed"` | `"dimmed-c"` | `"inverted"` | `"inverted-2"` | `"theme"` | `"theme-fade"` | `"success"` | `"success-fade"` | `"warning"` | `"warning-fade"` | `"alert"` | `"alert-fade"` | `"alert-fade-2"` | `"attn"` | `"attn-c"` | `"chill"` | `"chill-c"`
- `radius` (plus `radiusTopLeft`, `radiusTopRight`, `radiusBottomRight`, `radiusBottomLeft`)
- `"xs"` = `4px`
- `"s"` = `8px`
- `true` or `"m"` = `12px`
- `"l"` = `16px`
- `"xl"` = `24px`
- `"full"` = `9999px`
- `false` or `undefined` (default) = no border radius
- New `<Box.Arrow>` component, renders an arrow-right icon with a transition on hover when nested inside a link.
- E.g. `<a href="/path">link with arrow <Box.Arrow /></a>`
### Patch Changes
- Updated dependencies [2207b865]
- Updated dependencies [f3eae438]
- @intility/bifrost-css@4.2.0
## 4.1.2 - 2024-05-15
### Patch Changes
- 924c0b5f: Bump datepicker and date-fns versions !557
## 4.1.1 - 2024-04-24
### Patch Changes
- Updated dependencies [31205e8d]
- @intility/bifrost-css@4.1.1
## 4.1.0 - 2024-04-23
### Minor Changes
- f39613ed: Changes to `<Drawer>` and `.bf-drawer`
- Use `margin` instead of `transform` to show/hide drawer. Fixes #736
- Use `inert` html attribute for closed drawer instead of `display: none;` and `aria-hidden`
### Patch Changes
- 1efa0916: Fix: Avoid double border for `<Table.Row content>` #731
- 660407c2: fix: Disable autofocus on initial item when opening mobile Nav
- Updated dependencies [f39613ed]
- Updated dependencies [29572cca]
- @intility/bifrost-css@4.1.0
## 4.0.2 - 2024-04-10
### Patch Changes
- 79b9ab5d: Fix deep import paths for `useNav` and `useFloatingMessage`
## 4.0.1 - 2024-04-05
### Patch Changes
- 611f82ca: Removed unnecessary files from npm package output.
- Updated dependencies [bb9e438b]
- Updated dependencies [611f82ca]
- @intility/bifrost-css@4.0.1
## 4.0.0 - 2024-04-03
### Major Changes
- Removed dependencies `react-modal`, `react-animate-height`, `react-select`,
`react-datepicker`, and `prop-types` from `@intility/bifrost-react`
- Removed components `<Select>` and `<DatePicker>` from
`@intility/bifrost-react`
- 5c7ba5a4: New packages `@intility/bifrost-react-select` and
`@intility/bifrost-react-datepicker`
- Removed `setTheme` method from deprecated `useTheme()` hook.
- 3f3af703: `<Button type>` prop now defaults to `"button"` (previously
`"submit"`)
- If you're using a bifrost `<Button>` inside a `<form>` (listening to the
`onSubmit` event), and want it to submit the form, you now need to explicitly
set `<Button type="submit">`
- `<Breakpoint>` rewritten from scratch.
- No longer relies on `matchMedia` browser API (making it server-side
friendly)
- Will now always render its child content to the DOM, and show/hide it with
[breakpoint CSS classes](/css/breakpoints)
- Introduces a `<div>` wrapper.
- We still recommend using [breakpoint CSS classes](/css/breakpoints) instead
- `<Modal>` rewritten from scratch, using brower native `<dialog>` element.
- 81af701b: `fromBottom` prop removed, use `<Drawer position='bottom'>`
instead.
- Drawer with `position="buttom"` should not disable main scroll.
- ae6a87d3: Refactor `<Modal>` component close props:
- `noCloseButton` prevents rendering an "X" close button
- `noCloseOnOverlayClick` prevents closing on overlay click (previously
`shouldCloseOnOverlayClick`)
- `noCloseOnEsc` prevents closing on ESC keypress (previously
`shouldCloseOnEsc`)
- removed `noClose` prop from previous beta prerelease
- `<SlideDown>` rewritten from scratch
- Will now always render its child content to the DOM, and hide/transition
with CSS classes [`.bf-expand` and `.bf-expand-closed`](/css/expand).
- Uses a
[css trick](https://css-tricks.com/css-grid-can-do-auto-height-transitions)
that does not allow `padding` on the container. Create a child element with
`padding` if needed.
- Used internally by `<Message expandable>`, `<Accordion.Item>`,
`<Table.Row content>` and `<Nav.Group>`
- 19500ce7: Removed all internal `localStorage` usage, `<Bifrost>` component is
now strictly authorative
- 81af701b: New `position="bottom"` prop for `<Drawer>`
- 6b355639: New styling for inputs, now always outlined. Removed `variant` prop
from `<Input>`.
- 3785f8d6: New `package.json` definitions, updated import paths
- Allows deep imports (incl. TypeScript definitions)
ex: `import Accordion from '@intility/bifrost-react/Accordion'`
- Support for React Server Components (RSC) and Server-Side Rendering (SSR or
SSG)
- Dropped support for CJS (only shipped in ES Module format, meaning
`require('@intility/bifrost-react')` will not work, only `import` or
`import()`)
- 165904af: Hooks can be imported from `/hooks/*`
- Removed margins from block level typograpy classes
- `.bf-h1`
- `.bf-h2`
- `.bf-h3`
- `.bf-h4`
- `.bf-h5`
- `.bf-h6`
- `.bf-p`
- `.bf-ul`
- `.bf-ol`
- `.bf-li`
- Removed all `propTypes` in favor of TypeScript with JSDoc comments
### Minor Changes
- Deprecated ~~`icon`~~ and ~~`rightIcon`~~ props for `<Button>` (Use nested
`<Icon>` instead: `<Button><Icon /> Click me</Button>`)
- Deprecated the (potentially confusing) `l` in `bfl-*` for:
- `.bf-border` and `--bf-border`
- `.bf-padding` and `--bf-box-padding`
- `.bf-page-padding` and `--bf-page-padding`
- `.bf-autocol`, `--bf-autocol-width`, and `--bf-autocol-gap`
- The old names (like `.bfl-border`) are aliased and should still work, but
might get removed in a future release.
- Deprecated ~~`theme`~~ prop from `<Bifrost>` component.
- Apply theme class names `.bf-darkmode` and `.bf-lightmode` on root element
(`<html>`) instead.
- New `useApplyTheme()` helper hook for applying a theme class to the roo