11.0.0 (2024-11-25)
Bug Fixes
- Add vertical margin to checkboxes with labels only (ccceb0e)
- align interactive elements with the label (c67a53d)
- change the fontSize back to medium (73622fd)
- CI issues (5e699a0)
- correct the theme generator scale and types (9c20343)
- cypress global scope const declaration (74b5be8)
- format theme after generating it (7d875b7)
- issues with scaling up the theme (9850d73)
- lint issues (5c2a476)
- lint issues (3e7b40b)
- lint issues (ca30c26)
- minor format/copy corrections (5a9cc30)
- MultiSelect pills padding (9fc499c)
- pipeline build errors (97ccfde)
- preserve styled components composability (10d691c)
- prevent shrinking icon (1479862)
- remove obsolete stories (bad72fe)
- remove theme configuration panel (6f17f2e)
- TypeScript parse error (ef8d8e3)
- unexport the theme directly (e0acb1a)
- unused parameter (06566df)
- Use a specific width and height for Chromatic (861cd58)
- visual defects following theme change (3fea07a)
- visual defects in the touch variant (4e3e631)
Code Refactoring
Features
- add a BottomSheet component (c7b7f64)
- add a component spec (489c3fc)
- add a touch variant (cd1a496)
- add BottomSheet parts (6d5f005)
- Add documentation and refine the API (6996a10)
- add futureFlags (6da589b)
- allow adding left and right icons to the input (e45d8cd)
- change font size and line height for touch interactive elements (e0848a2)
- export the BottomSheet (ff29269)
- further refine the API, stories, and documentation (5cb4e14)
- generate the theme based on a base unit (19673d5)
- improve BottomSheet API and types (1b1bf85)
- improve BottomSheet API and types (41c656a)
- introduce new desktop typography scale (5bd7744)
- refactor away from size to variant (52d1c9d)
- release v11 changes (0157626)
- support tablet and phone media queries (2e4e4b7)
- test the BottomSheet interactivity (bf02d85)
- update theme (08ab964)
BREAKING CHANGES
- removes the old unused NavBar component that was
replaced with the BrandedNavBar
- removes the
icon
and iconSize
props from the input
in-favor of iconLeft
, iconRight
, iconRightSize
, iconLeftSize
Migration:
- Replace
icon
prop with iconRight
- Replace
iconSize
prop with iconRightSize
- changes NDSProvider
size
prop to variant
.
The size
prop was originally used sparingly in some components like the
Button and the Icon to resize those components.
It was later extended to make all interactive components large enough to
be used on a touch screen, through changing the size
prop directly or
by passing a size
prop to the NDSProvider globally.
With this change, we retain the use of the size
prop for select
components, and introduce a variant
prop that can be passed either to
individual components or the NDSProvider globally with the value of
either desktop
or touch
.
- theme can no longer be imported from "@nulogy/components"
NDS is introducing context-specific default themes. Directly importing
themes from NDS may result in using the wrong theme, causing conflicts
between custom app themes, desktop, and touch variants.
Instead of importing the theme from NDS like so:
import { theme } from "@nulogy/components"
,
you can use and access the theme in one of the following ways:
const Example = styled.div(({ theme }) => ({
marginLeft: theme.space.x3,
marginBottom: theme.space.x1,
color: theme.colors.darkBlue,
}));
- Inside components: using styled props
function Component(props: Props) {
return (
<Box ml="x3" mb="x1" color="darkBlue">
{props.children}
</Box>
)
}
- Inside components: using useTheme()
import { useTheme } from "styled-components"
function getPaddingBasedOnSomeProp(foo, theme) { ... }
function Component(props: Props) {
const theme = useTheme()
const horizontalPadding = getPaddingBasedOnSomeProp(props.foo, theme)
return (
<Box px={horizontalPadding}>
{props.children}
</Box>
)
}