@utilitywarehouse/hearth-react-native 0.18.0 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/.storybook/preview.tsx +1 -0
  2. package/.turbo/turbo-build.log +1 -1
  3. package/.turbo/turbo-lint.log +24 -21
  4. package/CHANGELOG.md +128 -0
  5. package/build/components/Banner/Banner.d.ts +1 -1
  6. package/build/components/Banner/Banner.js +24 -4
  7. package/build/components/Banner/Banner.props.d.ts +1 -6
  8. package/build/components/Box/Box.props.d.ts +5 -2
  9. package/build/components/Button/Button.d.ts +2 -0
  10. package/build/components/Button/ButtonGroupRoot.d.ts +5 -1
  11. package/build/components/Button/ButtonGroupRoot.js +3 -3
  12. package/build/components/Card/Card.context.d.ts +1 -1
  13. package/build/components/Card/Card.props.d.ts +2 -0
  14. package/build/components/Card/CardContent.js +3 -3
  15. package/build/components/Card/CardRoot.d.ts +1 -1
  16. package/build/components/Card/CardRoot.js +14 -4
  17. package/build/components/Checkbox/CheckboxGroupTextContent.js +1 -1
  18. package/build/components/Checkbox/CheckboxTextContent.js +1 -1
  19. package/build/components/Container/Container.d.ts +1 -1
  20. package/build/components/Container/Container.js +3 -3
  21. package/build/components/Container/Container.props.d.ts +5 -0
  22. package/build/components/Divider/Divider.d.ts +1 -1
  23. package/build/components/Divider/Divider.js +19 -19
  24. package/build/components/Divider/Divider.props.d.ts +6 -0
  25. package/build/components/ExpandableCard/ExpandableCardExpandedContent.js +1 -1
  26. package/build/components/Flex/Flex.d.ts +1 -1
  27. package/build/components/Flex/Flex.js +3 -3
  28. package/build/components/Flex/Flex.props.d.ts +5 -0
  29. package/build/components/Grid/Grid.d.ts +1 -1
  30. package/build/components/Grid/Grid.js +4 -4
  31. package/build/components/Grid/Grid.props.d.ts +5 -0
  32. package/build/components/Menu/Menu.d.ts +1 -1
  33. package/build/components/Menu/Menu.js +2 -2
  34. package/build/components/Menu/Menu.props.d.ts +2 -6
  35. package/build/components/Modal/Modal.d.ts +1 -1
  36. package/build/components/Modal/Modal.js +16 -6
  37. package/build/components/Modal/Modal.props.d.ts +1 -0
  38. package/build/components/Modal/Modal.web.d.ts +1 -1
  39. package/build/components/Modal/Modal.web.js +2 -2
  40. package/build/components/Radio/RadioGroupTextContent.js +1 -1
  41. package/build/components/Radio/RadioTextContent.js +1 -1
  42. package/build/components/Toast/Toast.context.d.ts +2 -4
  43. package/build/components/Toast/Toast.context.js +14 -2
  44. package/build/components/Toast/Toast.props.d.ts +4 -0
  45. package/build/components/Toast/ToastItem.js +5 -2
  46. package/build/components/VerificationInput/VerificationInput.d.ts +2 -5
  47. package/build/components/VerificationInput/VerificationInput.js +20 -7
  48. package/build/components/VerificationInput/VerificationInput.props.d.ts +10 -0
  49. package/build/components/VerificationInput/index.d.ts +1 -1
  50. package/build/components/VerificationInput/useVerificationInput.d.ts +1 -0
  51. package/build/components/VerificationInput/useVerificationInput.js +24 -9
  52. package/build/core/themes.d.ts +4 -4
  53. package/build/core/themes.js +1 -1
  54. package/build/types/values.d.ts +1 -1
  55. package/docs/changelog.mdx +687 -0
  56. package/docs/components/AllComponents.web.tsx +9 -9
  57. package/docs/layout-components.docs.mdx +3 -3
  58. package/package.json +7 -7
  59. package/scripts/copyChangelog.js +50 -0
  60. package/src/components/Alert/Alert.stories.tsx +1 -1
  61. package/src/components/Avatar/Avatar.stories.tsx +4 -5
  62. package/src/components/Badge/Badge.stories.tsx +3 -3
  63. package/src/components/Banner/Banner.docs.mdx +1 -1
  64. package/src/components/Banner/Banner.props.ts +13 -20
  65. package/src/components/Banner/Banner.stories.tsx +83 -15
  66. package/src/components/Banner/Banner.tsx +27 -3
  67. package/src/components/Box/Box.props.ts +11 -4
  68. package/src/components/Button/Button.docs.mdx +2 -2
  69. package/src/components/Button/Button.stories.tsx +4 -4
  70. package/src/components/Button/ButtonGroupRoot.tsx +8 -3
  71. package/src/components/Card/Card.context.ts +1 -1
  72. package/src/components/Card/Card.docs.mdx +1 -1
  73. package/src/components/Card/Card.props.ts +2 -0
  74. package/src/components/Card/Card.stories.tsx +9 -9
  75. package/src/components/Card/CardAction/CardAction.stories.tsx +2 -2
  76. package/src/components/Card/CardContent.tsx +3 -3
  77. package/src/components/Card/CardRoot.tsx +15 -5
  78. package/src/components/Checkbox/CheckboxGroupTextContent.tsx +2 -2
  79. package/src/components/Checkbox/CheckboxTextContent.tsx +1 -1
  80. package/src/components/Container/Container.docs.mdx +2 -2
  81. package/src/components/Container/Container.props.ts +5 -0
  82. package/src/components/Container/Container.stories.tsx +2 -2
  83. package/src/components/Container/Container.tsx +3 -3
  84. package/src/components/CurrencyInput/CurrencyInput.docs.mdx +1 -1
  85. package/src/components/CurrencyInput/CurrencyInput.stories.tsx +2 -2
  86. package/src/components/DateInput/DateInput.stories.tsx +3 -3
  87. package/src/components/DatePickerInput/DatePickerInput.stories.tsx +1 -1
  88. package/src/components/DescriptionList/DescriptionList.stories.tsx +1 -1
  89. package/src/components/Divider/Divider.docs.mdx +6 -6
  90. package/src/components/Divider/Divider.props.ts +6 -0
  91. package/src/components/Divider/Divider.tsx +19 -18
  92. package/src/components/ExpandableCard/ExpandableCardExpandedContent.tsx +1 -1
  93. package/src/components/Flex/Flex.docs.mdx +3 -3
  94. package/src/components/Flex/Flex.props.ts +5 -0
  95. package/src/components/Flex/Flex.stories.tsx +2 -2
  96. package/src/components/Flex/Flex.tsx +4 -3
  97. package/src/components/FormField/FormField.docs.mdx +1 -1
  98. package/src/components/FormField/FormField.stories.tsx +1 -1
  99. package/src/components/Grid/Grid.docs.mdx +5 -5
  100. package/src/components/Grid/Grid.props.ts +6 -0
  101. package/src/components/Grid/Grid.stories.tsx +8 -8
  102. package/src/components/Grid/Grid.tsx +4 -3
  103. package/src/components/HighlightBanner/HighlightBanner.docs.mdx +1 -1
  104. package/src/components/HighlightBanner/HighlightBanner.stories.tsx +2 -2
  105. package/src/components/Icon/Icon.docs.mdx +3 -3
  106. package/src/components/IconButton/IconButton.stories.tsx +5 -5
  107. package/src/components/IconContainer/IconContainer.docs.mdx +1 -1
  108. package/src/components/IconContainer/IconContainer.stories.tsx +3 -3
  109. package/src/components/IndicatorIconButton/IndicatorIconButton.stories.tsx +17 -9
  110. package/src/components/InlineLink/InlineLink.stories.tsx +2 -2
  111. package/src/components/Input/Input.stories.tsx +4 -4
  112. package/src/components/List/List.stories.tsx +1 -1
  113. package/src/components/Menu/Menu.docs.mdx +8 -5
  114. package/src/components/Menu/Menu.figma.tsx +27 -27
  115. package/src/components/Menu/Menu.props.ts +2 -6
  116. package/src/components/Menu/Menu.tsx +3 -6
  117. package/src/components/Menu/MenuItem.figma.tsx +26 -18
  118. package/src/components/Modal/Modal.docs.mdx +22 -21
  119. package/src/components/Modal/Modal.figma.tsx +58 -47
  120. package/src/components/Modal/Modal.props.ts +1 -0
  121. package/src/components/Modal/Modal.stories.tsx +4 -0
  122. package/src/components/Modal/Modal.tsx +20 -5
  123. package/src/components/Modal/Modal.web.tsx +2 -1
  124. package/src/components/PillGroup/PillGroup.stories.tsx +7 -7
  125. package/src/components/ProgressStepper/ProgressStepper.stories.tsx +7 -8
  126. package/src/components/Radio/Radio.stories.tsx +1 -1
  127. package/src/components/Radio/RadioGroup.stories.tsx +1 -1
  128. package/src/components/Radio/RadioGroupTextContent.tsx +2 -2
  129. package/src/components/Radio/RadioTextContent.tsx +1 -1
  130. package/src/components/SectionHeader/SectionHeader.stories.tsx +1 -1
  131. package/src/components/Switch/Switch.docs.mdx +8 -8
  132. package/src/components/Switch/Switch.stories.tsx +2 -2
  133. package/src/components/Tabs/Tabs.stories.tsx +1 -1
  134. package/src/components/Textarea/Textarea.docs.mdx +3 -3
  135. package/src/components/Toast/Toast.context.tsx +24 -3
  136. package/src/components/Toast/Toast.props.ts +5 -0
  137. package/src/components/Toast/Toast.stories.tsx +29 -0
  138. package/src/components/Toast/ToastItem.tsx +7 -2
  139. package/src/components/UnstyledIconButton/UnstyledIconButton.stories.tsx +5 -5
  140. package/src/components/VerificationInput/VerificationInput.docs.mdx +31 -8
  141. package/src/components/VerificationInput/VerificationInput.props.ts +11 -0
  142. package/src/components/VerificationInput/VerificationInput.stories.tsx +79 -3
  143. package/src/components/VerificationInput/VerificationInput.tsx +94 -62
  144. package/src/components/VerificationInput/index.ts +4 -2
  145. package/src/components/VerificationInput/useVerificationInput.ts +26 -10
  146. package/src/core/themes.ts +1 -1
  147. package/src/types/values.ts +1 -1
@@ -0,0 +1,687 @@
1
+ import { Meta } from '@storybook/addon-docs/blocks';
2
+ import { BackToTopButton } from './components';
3
+
4
+ <Meta title="Changelog" />
5
+ <BackToTopButton />
6
+
7
+ # Changelog - `@utilitywarehouse/hearth-react-native`
8
+
9
+ The changelog for the Hearth React Native library. Here you can find all the changes, improvements, and bug fixes for each version.
10
+
11
+
12
+ ## 0.19.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [#882](https://github.com/utilitywarehouse/hearth/pull/882) [`7e5338c`](https://github.com/utilitywarehouse/hearth/commit/7e5338c75bf051897a5384fe4ce0f65533b7e1a7) Thanks [@jordmccord](https://github.com/jordmccord)! - 💅 [ENHANCEMENT]: Add `safeAreaPadding` option to `ToastProvider`
17
+
18
+ `ToastProvider` now supports an optional `safeAreaPadding` prop to control whether toasts respect safe-area inset padding. This can be useful when you want to disable additional safe-area inset space while keeping the base toast padding.
19
+
20
+ **Components affected**:
21
+ - `ToastProvider`
22
+
23
+ **Developer changes**:
24
+
25
+ No changes required. To disable safe-area inset padding (while preserving the base bottom padding), set `safeAreaPadding` to `false`:
26
+
27
+ ```tsx
28
+ <ToastProvider safeAreaPadding={false}>{children}</ToastProvider>
29
+ ```
30
+
31
+ - [`da893ff`](https://github.com/utilitywarehouse/hearth/commit/da893ff8a9d576a6ca69021737056c7289f8c6aa) Thanks [@jordmccord](https://github.com/jordmccord)! - 💅 [ENHANCEMENT]: Unify spacing prop naming across layout components
32
+
33
+ The `space` prop has been renamed to `spacing` across all layout components for improved consistency and clarity. The `space` prop is now deprecated but will continue to work alongside the new `spacing` prop to maintain backward compatibility.
34
+
35
+ **Components affected**:
36
+ - `Box`
37
+ - `ButtonGroup`
38
+ - `Card`
39
+ - `Container`
40
+ - `Divider`
41
+ - `Flex`
42
+ - `Grid`
43
+
44
+ **Developer changes**:
45
+
46
+ No immediate changes are required. The `space` prop will continue to work as before. However, we recommend migrating to the `spacing` prop at your convenience:
47
+
48
+ ```diff
49
+ - <Flex space="md">
50
+ + <Flex spacing="md">
51
+ <Box>...</Box>
52
+ <Box>...</Box>
53
+ </Flex>
54
+ ```
55
+
56
+ ```diff
57
+ - <Grid columns={2} space="lg">
58
+ + <Grid columns={2} spacing="lg">
59
+ <Box>...</Box>
60
+ <Box>...</Box>
61
+ </Grid>
62
+ ```
63
+
64
+ ```diff
65
+ - <Container space="xl">
66
+ + <Container spacing="xl">
67
+ <Box>...</Box>
68
+ </Container>
69
+ ```
70
+
71
+ The deprecated `space` prop will be removed in a future major version release.
72
+
73
+ - [#877](https://github.com/utilitywarehouse/hearth/pull/877) [`2cdf3a2`](https://github.com/utilitywarehouse/hearth/commit/2cdf3a2f4251b24f34c260f3f5da39f8c330fff5) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add `autoFocus` prop to `VerificationInput`
74
+
75
+ `VerificationInput` now supports an `autoFocus` prop to control whether the first slot should focus on mount.
76
+ Default is `false` to avoid unexpected focus when the component is used.
77
+
78
+ **Developer changes**:
79
+
80
+ ```tsx
81
+ <VerificationInput autoFocus={false} />
82
+ ```
83
+
84
+ - [#877](https://github.com/utilitywarehouse/hearth/pull/877) [`2cdf3a2`](https://github.com/utilitywarehouse/hearth/commit/2cdf3a2f4251b24f34c260f3f5da39f8c330fff5) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add `VerificationInput` ref methods and improve rapid input handling
85
+
86
+ `VerificationInput` now forwards a ref with `focus`, `blur`, `clear`, and `focusIndex` helpers. Input updates also use the latest value to avoid dropped digits when typing quickly.
87
+
88
+ **Developer changes**:
89
+
90
+ If you want to control focus programmatically, pass a ref:
91
+
92
+ ```tsx
93
+ import { useRef } from 'react';
94
+ import {
95
+ VerificationInput,
96
+ type VerificationInputHandle,
97
+ } from '@utilitywarehouse/hearth-react-native';
98
+
99
+ const inputRef = useRef<VerificationInputHandle>(null);
100
+
101
+ <VerificationInput ref={inputRef} onChangeText={setCode} />;
102
+ ```
103
+
104
+ ### Patch Changes
105
+
106
+ - [#880](https://github.com/utilitywarehouse/hearth/pull/880) [`a52bb03`](https://github.com/utilitywarehouse/hearth/commit/a52bb03352dd8b83c9cfd3311aaa390e96e75662) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Remove the unsupported `colorScheme` prop from `Banner` types so the API matches the `Card` component.
107
+
108
+ - [#879](https://github.com/utilitywarehouse/hearth/pull/879) [`383b686`](https://github.com/utilitywarehouse/hearth/commit/383b6860c1b68da139f10a67cd001dd884143df0) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Make `Banner` button full width in vertical layout
109
+
110
+ - [#878](https://github.com/utilitywarehouse/hearth/pull/878) [`b31b8c3`](https://github.com/utilitywarehouse/hearth/commit/b31b8c3d37d4d1ec3df2f187ec18d00b3e663b49) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Fix `Modal` bottom padding
111
+
112
+ - [#881](https://github.com/utilitywarehouse/hearth/pull/881) [`5681b8f`](https://github.com/utilitywarehouse/hearth/commit/5681b8fd4bcc73ad532229018049f959f06f77ec) Thanks [@jordmccord](https://github.com/jordmccord)! - 📦 [DEPS]: Bump `@utilitywarehouse/hearth-react-native-icons` peerDependency to 0.8.0
113
+
114
+ ## 0.18.0
115
+
116
+ ### Minor Changes
117
+
118
+ - [#869](https://github.com/utilitywarehouse/hearth/pull/869) [`89231c8`](https://github.com/utilitywarehouse/hearth/commit/89231c818dfd694f53b50f4cc961a38d0a50999e) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add color override props to `IconButton` for service-specific branding
119
+
120
+ The `IconButton` component now supports custom color overrides through three new optional props: `backgroundColor`, `activeBackgroundColor`, and `shadowColor`. These props enable service-specific branding for use cases like service buttons (Electricity, Broadband, Mobile, Insurance, Cashback Card).
121
+
122
+ ⚠️ **Important**: These props should be used sparingly and only for specific use cases where brand-specific colors are required. For most use cases, continue using the standard `colorScheme` and `variant` props to maintain design system consistency.
123
+
124
+ **Components affected**:
125
+ - `IconButton`
126
+
127
+ **Developer changes**:
128
+
129
+ You can now customize `IconButton` colors for service-specific branding:
130
+
131
+ ```tsx
132
+ import { IconButton } from '@utilitywarehouse/hearth-react-native';
133
+ import { ElectricityMediumIcon } from '@utilitywarehouse/hearth-react-native-icons';
134
+
135
+ <IconButton
136
+ icon={ElectricityMediumIcon}
137
+ backgroundColor="energyBlue200"
138
+ activeBackgroundColor="energyBlue300"
139
+ shadowColor="energyBlue300"
140
+ variant="emphasis"
141
+ onPress={handlePress}
142
+ />;
143
+ ```
144
+
145
+ The new props are:
146
+ - `backgroundColor` - Sets the base background color, overriding the color scheme's default
147
+ - `activeBackgroundColor` - Sets the background color when pressed or in an active state
148
+ - `shadowColor` - Sets the shadow/elevation color
149
+
150
+ These overrides work alongside the existing `variant` and `colorScheme` props, allowing you to maintain structural styling while customizing colors for specific branding requirements.
151
+
152
+ ### Patch Changes
153
+
154
+ - [#871](https://github.com/utilitywarehouse/hearth/pull/871) [`8984335`](https://github.com/utilitywarehouse/hearth/commit/89843355d268aaa184bea75784e6841568c4784f) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Fix style ordering in `BodyText` to ensure color props properly override custom styles
155
+
156
+ ## 0.17.0
157
+
158
+ ### Minor Changes
159
+
160
+ - [#867](https://github.com/utilitywarehouse/hearth/pull/867) [`9a15eb8`](https://github.com/utilitywarehouse/hearth/commit/9a15eb8c659aa541988da6f28f6c50261f3557f9) Thanks [@jordmccord](https://github.com/jordmccord)! - 💔 [BREAKING CHANGE]: Require `CardActions` wrapper for `CardAction` groups.
161
+
162
+ `Card` now only treats actions as such when they are wrapped in `CardActions`. This removes wrapper heuristics and makes action grouping explicit while keeping automatic content wrapping.
163
+
164
+ **Components affected**:
165
+ - `Card`
166
+ - `CardActions`
167
+ - `CardAction`
168
+
169
+ **Developer changes**:
170
+
171
+ Wrap all `CardAction` items in `CardActions`:
172
+
173
+ ```diff
174
+ - <Card>
175
+ - <CardAction heading="Action 1" onPress={() => {}} />
176
+ - <CardAction heading="Action 2" onPress={() => {}} />
177
+ - </Card>
178
+ + <Card>
179
+ + <CardActions>
180
+ + <CardAction heading="Action 1" onPress={() => {}} />
181
+ + <CardAction heading="Action 2" onPress={() => {}} />
182
+ + </CardActions>
183
+ + </Card>
184
+ ```
185
+
186
+ - [#860](https://github.com/utilitywarehouse/hearth/pull/860) [`ec44a9d`](https://github.com/utilitywarehouse/hearth/commit/ec44a9d3d7a2d95ab69b6e4c461104402d82659d) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add `prefix` and `suffix` props to `Input` component
187
+
188
+ The `Input` component now supports `prefix` and `suffix` props, allowing you to display text or custom content before and after the input field. This is useful for adding units, currency symbols, or other contextual information.
189
+
190
+ **Components affected**:
191
+ - `Input`
192
+
193
+ **Developer changes**:
194
+
195
+ Use the `prefix` and `suffix` props to add content before or after the input:
196
+
197
+ ```tsx
198
+ <Input label="Amount" prefix="£" suffix="GBP" placeholder="0.00" />
199
+ ```
200
+
201
+ You can also pass custom React nodes:
202
+
203
+ ```tsx
204
+ <Input label="Email" prefix={<CustomIcon />} suffix={<BodyText>@example.com</BodyText>} />
205
+ ```
206
+
207
+ **Note**: The `prefix` and `suffix` props are not available on `password` and `search` input types, as these have specific UI patterns.
208
+
209
+ - [#862](https://github.com/utilitywarehouse/hearth/pull/862) [`654552e`](https://github.com/utilitywarehouse/hearth/commit/654552e33d56e4b2b2ba8fb783b7f9a7c57ba212) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add `loading` prop to `ListAction` component
210
+
211
+ The `ListAction` component now supports a `loading` prop that displays a skeleton loading state while content is being fetched. This provides better user feedback during asynchronous operations.
212
+
213
+ **Components affected**:
214
+ - `ListAction`
215
+
216
+ **Developer changes**:
217
+
218
+ Use the `loading` prop to show a loading state:
219
+
220
+ ```tsx
221
+ <List>
222
+ <ListItem heading="Account details" />
223
+ <ListAction heading="View transactions" loading={isLoading} onPress={handlePress} />
224
+ </List>
225
+ ```
226
+
227
+ When `loading` is true, the action will display skeleton placeholders instead of the heading and icon.
228
+
229
+ - [#862](https://github.com/utilitywarehouse/hearth/pull/862) [`654552e`](https://github.com/utilitywarehouse/hearth/commit/654552e33d56e4b2b2ba8fb783b7f9a7c57ba212) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add `invalidText` prop to `List` component
230
+
231
+ The `List` component now supports an `invalidText` prop for displaying validation error messages in the section header. This provides consistent validation feedback across list-based forms and grouped content.
232
+
233
+ **Components affected**:
234
+ - `List`
235
+
236
+ **Developer changes**:
237
+
238
+ Use the `invalidText` prop to display validation errors:
239
+
240
+ ```tsx
241
+ <List
242
+ heading="Payment methods"
243
+ helperText="Select at least one payment method"
244
+ invalidText="You must select a payment method"
245
+ >
246
+ <ListItem heading="Credit card" />
247
+ <ListItem heading="Direct debit" />
248
+ </List>
249
+ ```
250
+
251
+ ### Patch Changes
252
+
253
+ - [#845](https://github.com/utilitywarehouse/hearth/pull/845) [`9c034f9`](https://github.com/utilitywarehouse/hearth/commit/9c034f98f9d6aa4596a45296d02e01703ef1c762) Thanks [@jordmccord](https://github.com/jordmccord)! - 💅 [ENHANCEMENT]: Add `invalidText` prop to `ExpandableCardGroup`
254
+
255
+ The `ExpandableCardGroup` component now supports an `invalidText` prop that displays validation text below the helper text when the group is in an invalid state.
256
+
257
+ **Components affected**:
258
+ - `ExpandableCardGroup`
259
+
260
+ **Developer changes**:
261
+
262
+ No changes required. If you want to display validation text, you can now use the `invalidText` prop:
263
+
264
+ ```tsx
265
+ <ExpandableCardGroup
266
+ heading="Select an option"
267
+ helperText="Choose one of the options below"
268
+ invalidText="Please select at least one option"
269
+ >
270
+ {/* ExpandableCard components */}
271
+ </ExpandableCardGroup>
272
+ ```
273
+
274
+ - [#867](https://github.com/utilitywarehouse/hearth/pull/867) [`9a15eb8`](https://github.com/utilitywarehouse/hearth/commit/9a15eb8c659aa541988da6f28f6c50261f3557f9) Thanks [@jordmccord](https://github.com/jordmccord)! - 💅 [ENHANCEMENT]: Improve first-item border detection in `Card` and `List` components
275
+
276
+ The `Card` and `List` components now use a more reliable method to detect and style the first rendered `CardAction`, `ListItem`, or `ListAction`. This fixes edge cases where wrapper components that conditionally render `null` would previously interfere with first-item border removal.
277
+
278
+ **Components affected**:
279
+ - `Card` / `CardAction`
280
+ - `List` / `ListItem` / `ListAction`
281
+
282
+ **Developer changes**:
283
+
284
+ No changes required. The improvement is automatic and maintains the same visual behavior. Components that wrap card actions or list items will now work correctly even when some wrappers return `null` conditionally.
285
+
286
+ **Note**: The `useCardFirstActionContext` hook has been removed as it was an internal implementation detail.
287
+
288
+ ## 0.16.2
289
+
290
+ ### Patch Changes
291
+
292
+ - [#837](https://github.com/utilitywarehouse/hearth/pull/837) [`126657c`](https://github.com/utilitywarehouse/hearth/commit/126657cd96008625f9573ed5cc1588709c00f7da) Thanks [@jordmccord](https://github.com/jordmccord)! - 💅 [ENHANCEMENT]: Add style customisation props to `DateInput` component
293
+
294
+ The `DateInput` component now supports three new style props for customising the appearance of date segments: `inputContainerStyle`, `inputStyle`, and `inputLabelStyle`. This allows for greater flexibility when integrating DateInput into different layouts.
295
+
296
+ **Components affected**:
297
+ - `DateInput`
298
+
299
+ **Developer changes**:
300
+
301
+ No changes required. To customise the appearance of date input segments, use the new style props:
302
+
303
+ ```tsx
304
+ <DateInput
305
+ label="Custom date input"
306
+ inputContainerStyle={{ maxWidth: 'auto' }}
307
+ inputStyle={{ fontSize: 16 }}
308
+ inputLabelStyle={{ fontWeight: 'bold' }}
309
+ />
310
+ ```
311
+
312
+ ## 0.16.1
313
+
314
+ ### Patch Changes
315
+
316
+ - [#817](https://github.com/utilitywarehouse/hearth/pull/817) [`fb4f4d0`](https://github.com/utilitywarehouse/hearth/commit/fb4f4d034e5b67b0c75dc093f7fdd8d3ab26edde) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: `DateInput` height issue
317
+
318
+ ## 0.16.0
319
+
320
+ ### Minor Changes
321
+
322
+ - [#810](https://github.com/utilitywarehouse/hearth/pull/810) [`eae4c24`](https://github.com/utilitywarehouse/hearth/commit/eae4c24a421415247c720f88bb8341133340cc7b) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: All `Input` components accessibility improvements and you can now pass a label, helper text and validation to the `Input` component directly.
323
+
324
+ ### Input accessibility improvements and FormField integration
325
+
326
+ The `Input` component has been updated to internally use `FormField`. This allows you to pass props like `label`, `helperText`, and validation status directly to the `Input` component, streamlining its usage.
327
+
328
+ We have also greatly improved accessibility behavior. The `Input` component now intelligently constructs `aria-label` and `accessibilityHint` based on the provided label, helper text, and validation state. To support this, `FormField` now has a mechanism to hide its own accessibility elements when a child component is handling them, preventing duplicate announcements.
329
+
330
+ #### Affected components
331
+ - `Input`
332
+ - `CurrencyInput`
333
+ - `DatePickerInput`
334
+ - `Textarea`
335
+ - `FormField`
336
+
337
+ #### Developer changes
338
+
339
+ You can now use `Input`, `CurrencyInput`, `DatePickerInput`, and `Textarea` without explicitly wrapping them in `FormField` for standard layouts:
340
+
341
+ ```tsx
342
+ // Before
343
+ <FormField label="Email" helperText="Enter email">
344
+ <Input />
345
+ </FormField>
346
+
347
+ // After
348
+ <Input label="Email" helperText="Enter email" />
349
+ ```
350
+
351
+ No breaking changes. The `Input` component continues to support being wrapped externally by `FormField`.
352
+
353
+ #### References
354
+ - UWDS-4179
355
+
356
+ - [#803](https://github.com/utilitywarehouse/hearth/pull/803) [`8e96af6`](https://github.com/utilitywarehouse/hearth/commit/8e96af69f3a3498f264f2a6dc2416cdb6a298275) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Adds `labelVariant` prop to components with a label
357
+
358
+ ### Adds `labelVariant` prop to components with a label
359
+
360
+ Added a `labelVariant` prop to allow consumers to choose between a body or heading style for component labels. Defaults to `body`.
361
+
362
+ #### Affected components
363
+ - `CheckboxGroup`
364
+ - `FormField`
365
+ - `Label`
366
+ - `RadioGroup`
367
+ - `RadioCard`
368
+ - `Select`
369
+ - `VerificationInput`
370
+ - `Input`
371
+ - `CurrencyInput`
372
+ - `DatePickerInput`
373
+ - `Textarea`
374
+
375
+ #### Developer changes
376
+
377
+ You can now pass `labelVariant="heading"` to these components to render the label as a heading instead of body text.
378
+
379
+ ```tsx
380
+ <FormField label="My Label" labelVariant="heading">
381
+ <Input />
382
+ </FormField>
383
+ ```
384
+
385
+ ## 0.15.3
386
+
387
+ ### Patch Changes
388
+
389
+ - [#801](https://github.com/utilitywarehouse/hearth/pull/801) [`6d11339`](https://github.com/utilitywarehouse/hearth/commit/6d1133997b28efa104c282522a5708f1d4d8614c) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: `Modal` without handle heading padding issue
390
+
391
+ - [#796](https://github.com/utilitywarehouse/hearth/pull/796) [`f0ccadb`](https://github.com/utilitywarehouse/hearth/commit/f0ccadbb48fb7a7a70520d7521746a63421e01cc) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: `CheckboxTile` text wrapping issue
392
+
393
+ ## 0.15.2
394
+
395
+ ### Patch Changes
396
+
397
+ - [#771](https://github.com/utilitywarehouse/hearth/pull/771) [`5320be5`](https://github.com/utilitywarehouse/hearth/commit/5320be544992c137e201be7750d30ea098a7d399) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Adds missing `ref` prop to the `CurrencyInput` component
398
+
399
+ ## 0.15.1
400
+
401
+ ### Patch Changes
402
+
403
+ - [#768](https://github.com/utilitywarehouse/hearth/pull/768) [`570f240`](https://github.com/utilitywarehouse/hearth/commit/570f240a448eae546b893ed3ad69235213ee5fac) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Makes `Modal` footer sticky by default
404
+
405
+ This change updates the `Modal` component to have a sticky footer by default, enhancing user experience by keeping action buttons accessible. The `stickyFooter` prop has been added to allow developers to disable this behavior if needed.
406
+
407
+ ## 0.15.0
408
+
409
+ ### Minor Changes
410
+
411
+ - [#766](https://github.com/utilitywarehouse/hearth/pull/766) [`183155a`](https://github.com/utilitywarehouse/hearth/commit/183155a1aaf7713f0ab8a39ab1e5684ef6190d0c) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE] Custom `ListItem` styles for `UL` and `OL` components
412
+
413
+ Added new props to `UL`, `OL`, and `ListItem` components to support custom list markers, including icons, images, and colors. This brings the functionality closer to CSS-like list styling. We also fixed a layout issue where list item text could overflow the container.
414
+
415
+ **Components affected**:
416
+ - `UL` (UnorderedList)
417
+ - `OL` (OrderedList)
418
+ - `ListItem`
419
+
420
+ **Developer changes**:
421
+
422
+ You can now customise list bullets/markers using the new `listStyle*` props. These can be set on the list container to apply to all items, or overridden on individual list items.
423
+
424
+ ```tsx
425
+ import { UL, LI } from '@utilitywarehouse/hearth-react-native';
426
+ import { TickIcon } from '@utilitywarehouse/hearth-react-native-icons';
427
+
428
+ <UL listStyleColour="feedbackPositiveSurfaceDefault" listStyleIcon={TickIcon}>
429
+ <LI>Success item 1</LI>
430
+ <LI listStyleColour="feedbackDangerSurfaceDefault">Error item override</LI>
431
+ </UL>;
432
+ ```
433
+
434
+ Supported props:
435
+ - `listStyleImage`: React Element (e.g. `<Image />`)
436
+ - `listStyleIcon`: Icon component
437
+ - `listStyleWidth` / `listStyleHeight`: Dimensions for the marker (default: 20)
438
+ - `listStyleColour`: Color token or value for the marker
439
+
440
+ ### Patch Changes
441
+
442
+ - [#762](https://github.com/utilitywarehouse/hearth/pull/762) [`2d2bbd2`](https://github.com/utilitywarehouse/hearth/commit/2d2bbd2ba109b9acb2e0b220766eb02c0ad5710e) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Fixes Android error when passing boolean or number as a `Checkbox` value
443
+
444
+ - [#764](https://github.com/utilitywarehouse/hearth/pull/764) [`46f115d`](https://github.com/utilitywarehouse/hearth/commit/46f115dd4bd9da824496e8ec19e29276523931a1) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Fixes `HelperText` wrapping issue
445
+
446
+ - [#762](https://github.com/utilitywarehouse/hearth/pull/762) [`2d2bbd2`](https://github.com/utilitywarehouse/hearth/commit/2d2bbd2ba109b9acb2e0b220766eb02c0ad5710e) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Fixes `PillGroup` `onChange` prop types
447
+
448
+ - [#764](https://github.com/utilitywarehouse/hearth/pull/764) [`46f115d`](https://github.com/utilitywarehouse/hearth/commit/46f115dd4bd9da824496e8ec19e29276523931a1) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: `DescriptionListItem` description disappearing when direction is `column`
449
+
450
+ - [#762](https://github.com/utilitywarehouse/hearth/pull/762) [`2d2bbd2`](https://github.com/utilitywarehouse/hearth/commit/2d2bbd2ba109b9acb2e0b220766eb02c0ad5710e) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Input styles are now passed to the correct View
451
+
452
+ ## 0.14.1
453
+
454
+ ### Patch Changes
455
+
456
+ - [#749](https://github.com/utilitywarehouse/hearth/pull/749) [`ded4b2e`](https://github.com/utilitywarehouse/hearth/commit/ded4b2e3dcad9c1cc4860a13120e44a43e5f0dde) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `CardAction` padding
457
+
458
+ ## 0.14.0
459
+
460
+ ### Minor Changes
461
+
462
+ - [#741](https://github.com/utilitywarehouse/hearth/pull/741) [`acf081a`](https://github.com/utilitywarehouse/hearth/commit/acf081a8e10722ea1e9106f8111f5d9548815646) Thanks [@jordmccord](https://github.com/jordmccord)! - Renames `ListItemText` to `ListItemHeading` (`ListItemText` is deprecated and will be removed in a later release)
463
+
464
+ ### Patch Changes
465
+
466
+ - [#741](https://github.com/utilitywarehouse/hearth/pull/741) [`acf081a`](https://github.com/utilitywarehouse/hearth/commit/acf081a8e10722ea1e9106f8111f5d9548815646) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `truncateHeading` and `truncateHelperText` props to `ListItem`
467
+
468
+ - [#740](https://github.com/utilitywarehouse/hearth/pull/740) [`16f1ce0`](https://github.com/utilitywarehouse/hearth/commit/16f1ce073d62c4e72693e7e07233a7498c0d0602) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes custom `ListItem` first child border issue
469
+
470
+ - [#737](https://github.com/utilitywarehouse/hearth/pull/737) [`85f76db`](https://github.com/utilitywarehouse/hearth/commit/85f76dbbf7c90db96d7e89e5f5e353a772dd84c2) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `Radio` and `Checkbox` Groups row direction issue
471
+
472
+ - [#741](https://github.com/utilitywarehouse/hearth/pull/741) [`acf081a`](https://github.com/utilitywarehouse/hearth/commit/acf081a8e10722ea1e9106f8111f5d9548815646) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `ListItemText` and `ListItemHelperText` prop types
473
+
474
+ ## 0.13.0
475
+
476
+ ### Minor Changes
477
+
478
+ - [#682](https://github.com/utilitywarehouse/hearth/pull/682) [`57d6c71`](https://github.com/utilitywarehouse/hearth/commit/57d6c71baedeaa0bc914ff5163e73bbf4281aa79) Thanks [@Utakato](https://github.com/Utakato)! - Add Verification Input component
479
+
480
+ ## 0.12.0
481
+
482
+ ### Minor Changes
483
+
484
+ - [#685](https://github.com/utilitywarehouse/hearth/pull/685) [`10f5209`](https://github.com/utilitywarehouse/hearth/commit/10f52095e5f36e58f9821e3fec3fdf43f4578fbb) Thanks [@jordmccord](https://github.com/jordmccord)! - [BREAKING] Component props moved from objects to React Nodes
485
+
486
+ ### Patch Changes
487
+
488
+ - [#687](https://github.com/utilitywarehouse/hearth/pull/687) [`11e8176`](https://github.com/utilitywarehouse/hearth/commit/11e8176ced40b0a8b2d27e07c482ed10a7b7ce7a) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `Input` refs
489
+
490
+ ## 0.11.0
491
+
492
+ ### Minor Changes
493
+
494
+ - [#674](https://github.com/utilitywarehouse/hearth/pull/674) [`c617257`](https://github.com/utilitywarehouse/hearth/commit/c617257974b11c39d706d6fd46712a284ff5fe10) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `DateInput` component
495
+
496
+ - [#663](https://github.com/utilitywarehouse/hearth/pull/663) [`8889a07`](https://github.com/utilitywarehouse/hearth/commit/8889a07e347e9289928e679cee495d7656a4e9aa) Thanks [@Utakato](https://github.com/Utakato)! - Add Avatar component
497
+
498
+ ## 0.10.0
499
+
500
+ ### Minor Changes
501
+
502
+ - [#659](https://github.com/utilitywarehouse/hearth/pull/659) [`99afbed`](https://github.com/utilitywarehouse/hearth/commit/99afbed95df550d5d5a8bb6e04f7640077bf4883) Thanks [@MichalCiesliczka](https://github.com/MichalCiesliczka)! - Adds `Pill` and `PillGroup` components
503
+
504
+ - [#671](https://github.com/utilitywarehouse/hearth/pull/671) [`706448d`](https://github.com/utilitywarehouse/hearth/commit/706448d91f354cb96a71a5f3acc9d17aaa767078) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Toast` component
505
+
506
+ ## 0.9.0
507
+
508
+ ### Minor Changes
509
+
510
+ - [#658](https://github.com/utilitywarehouse/hearth/pull/658) [`2ac2366`](https://github.com/utilitywarehouse/hearth/commit/2ac2366aaa7f3b253fd9336664a73a64f1ab91a5) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Menu` component
511
+
512
+ - [#656](https://github.com/utilitywarehouse/hearth/pull/656) [`a01a49a`](https://github.com/utilitywarehouse/hearth/commit/a01a49a49ec1dd3c04684ce010281030d45c77a1) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `fullscreen` and `inNavModal` props to `Modal`
513
+
514
+ ## 0.8.2
515
+
516
+ ### Patch Changes
517
+
518
+ - [#652](https://github.com/utilitywarehouse/hearth/pull/652) [`5119703`](https://github.com/utilitywarehouse/hearth/commit/5119703a31f663cc8c0a8bb2c6ba5b10f9bf72d6) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `RadioCard` label wrapping issue
519
+
520
+ - [#648](https://github.com/utilitywarehouse/hearth/pull/648) [`c90ea5c`](https://github.com/utilitywarehouse/hearth/commit/c90ea5ce165f27ccfc9774ec58ac642d02b349d1) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `ListAction` icon size
521
+
522
+ - [#648](https://github.com/utilitywarehouse/hearth/pull/648) [`c90ea5c`](https://github.com/utilitywarehouse/hearth/commit/c90ea5ce165f27ccfc9774ec58ac642d02b349d1) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `Banner` text gap size
523
+
524
+ - [#651](https://github.com/utilitywarehouse/hearth/pull/651) [`4ee77b7`](https://github.com/utilitywarehouse/hearth/commit/4ee77b75e58ac4abbeba375ecb367d8899c7f1a0) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `Banner` image and height issue
525
+
526
+ - [#649](https://github.com/utilitywarehouse/hearth/pull/649) [`7374535`](https://github.com/utilitywarehouse/hearth/commit/737453598ad5e885b35b5fcd2e4c4ccff4910c43) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `List` to only show `Card` container if it has children
527
+
528
+ - [#648](https://github.com/utilitywarehouse/hearth/pull/648) [`c90ea5c`](https://github.com/utilitywarehouse/hearth/commit/c90ea5ce165f27ccfc9774ec58ac642d02b349d1) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `shadowColor` prop to `Card` and exposes helpers in theme
529
+
530
+ ## 0.8.1
531
+
532
+ ### Patch Changes
533
+
534
+ - [#641](https://github.com/utilitywarehouse/hearth/pull/641) [`251242e`](https://github.com/utilitywarehouse/hearth/commit/251242e218c0b24589c3fb6fb6963b53bda8a367) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `HighlightBanner` when no image is provided
535
+
536
+ ## 0.8.0
537
+
538
+ ### Minor Changes
539
+
540
+ - [#635](https://github.com/utilitywarehouse/hearth/pull/635) [`4cac2f2`](https://github.com/utilitywarehouse/hearth/commit/4cac2f28c12279557e2133d67cd75783f30c89ff) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Expandable` component
541
+
542
+ - [#631](https://github.com/utilitywarehouse/hearth/pull/631) [`57b4991`](https://github.com/utilitywarehouse/hearth/commit/57b49912c90dce3d88a699bd50217df08dab601a) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Banner` component
543
+
544
+ - [#636](https://github.com/utilitywarehouse/hearth/pull/636) [`a363352`](https://github.com/utilitywarehouse/hearth/commit/a363352dbfbc44245c64e2a16347463b89ff519a) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `ExpandableCard` component
545
+
546
+ - [#631](https://github.com/utilitywarehouse/hearth/pull/631) [`57b4991`](https://github.com/utilitywarehouse/hearth/commit/57b49912c90dce3d88a699bd50217df08dab601a) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `HighlightBanner` component
547
+
548
+ ## 0.7.0
549
+
550
+ ### Minor Changes
551
+
552
+ - [#613](https://github.com/utilitywarehouse/hearth/pull/613) [`0bdfbe4`](https://github.com/utilitywarehouse/hearth/commit/0bdfbe41ed8b30e5abf49de6ea4cb3a12194921e) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `CardAction` component
553
+
554
+ ## 0.6.0
555
+
556
+ ### Minor Changes
557
+
558
+ - [#603](https://github.com/utilitywarehouse/hearth/pull/603) [`3f292e9`](https://github.com/utilitywarehouse/hearth/commit/3f292e9960dc708dd6932cff04671dd7ef375c1a) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Container` component
559
+
560
+ - [#605](https://github.com/utilitywarehouse/hearth/pull/605) [`f52e0f5`](https://github.com/utilitywarehouse/hearth/commit/f52e0f57eff5f1cfa36dacc45576c08771ca12df) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `ThemedImage` component
561
+
562
+ ## 0.5.0
563
+
564
+ ### Minor Changes
565
+
566
+ - [#583](https://github.com/utilitywarehouse/hearth/pull/583) [`a31ab40`](https://github.com/utilitywarehouse/hearth/commit/a31ab40e4ccf4533aae2df16cc456d6db92d4e7b) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Carousel` component
567
+
568
+ - [#567](https://github.com/utilitywarehouse/hearth/pull/567) [`b6869cf`](https://github.com/utilitywarehouse/hearth/commit/b6869cfaca7b3a5aacb27c06733f0243b6faa02a) Thanks [@MichalCiesliczka](https://github.com/MichalCiesliczka)! - Adds `ProgressStepper` component
569
+
570
+ - [#596](https://github.com/utilitywarehouse/hearth/pull/596) [`61f1073`](https://github.com/utilitywarehouse/hearth/commit/61f10735a42445b6e4eb90282a2b340317f1ec08) Thanks [@jordmccord](https://github.com/jordmccord)! - `List` component updates:
571
+ - [BREAKING] The `text` prop in `ListItem` is now `heading`.
572
+ - Added `ListAction` component.
573
+ - Added `badge` prop to `ListItem`.
574
+ - Added `numericValue` prop to `ListItem`.
575
+ - Removes `divider` prop from `List` and `ListItem`; dividers are now handled automatically.
576
+
577
+ - [#585](https://github.com/utilitywarehouse/hearth/pull/585) [`4894c34`](https://github.com/utilitywarehouse/hearth/commit/4894c34acaadcbbaba78fd64be2f8ae862200e1f) Thanks [@dorota-uw](https://github.com/dorota-uw)! - [BREAKING] `DescriptionListItem` updates:
578
+ - Removed `Link` props: `linkText`, `linkHref`, `linkIcon`, `linkIconPosition`, `linkOnPress`, `linkTarget`, `linkShowIcon`.
579
+ - Added `trailingContent` prop to allow custom trailing content (e.g. Link, Button).
580
+ - Added validation text support to `DescriptionListItem` via `invalidText` prop.
581
+
582
+ - [#572](https://github.com/utilitywarehouse/hearth/pull/572) [`9fa6499`](https://github.com/utilitywarehouse/hearth/commit/9fa6499b6eb1534c2ce7dc4352b1f848b94786ec) Thanks [@MichalCiesliczka](https://github.com/MichalCiesliczka)! - Adds `IndicatorIconButton` component
583
+
584
+ - [#596](https://github.com/utilitywarehouse/hearth/pull/596) [`61f1073`](https://github.com/utilitywarehouse/hearth/commit/61f10735a42445b6e4eb90282a2b340317f1ec08) Thanks [@jordmccord](https://github.com/jordmccord)! - [BREAKING] `SectionHeader` updates:
585
+ - Removed `Link` props: `linkText`, `linkOnPress`, `linkAccessibilityLabel`.
586
+ - Added `trailingContent` prop to allow custom trailing content (e.g. Link, Button).
587
+ - Added `badge` prop to display a `Badge` next to the heading.
588
+ - Adds `invalidText` prop for validation messages.
589
+
590
+ - [#596](https://github.com/utilitywarehouse/hearth/pull/596) [`61f1073`](https://github.com/utilitywarehouse/hearth/commit/61f10735a42445b6e4eb90282a2b340317f1ec08) Thanks [@jordmccord](https://github.com/jordmccord)! - [BREAKING] Migrates `DescriptionList` `SectionHeader` to use `headerTrailingContent`
591
+
592
+ ### Patch Changes
593
+
594
+ - [#596](https://github.com/utilitywarehouse/hearth/pull/596) [`61f1073`](https://github.com/utilitywarehouse/hearth/commit/61f10735a42445b6e4eb90282a2b340317f1ec08) Thanks [@jordmccord](https://github.com/jordmccord)! - Updates all interactive components fonts
595
+
596
+ - [#589](https://github.com/utilitywarehouse/hearth/pull/589) [`635a392`](https://github.com/utilitywarehouse/hearth/commit/635a392c80e883790e3fe2cae3b22453288911f1) Thanks [@dorota-uw](https://github.com/dorota-uw)! - Added underline to Ghost button
597
+
598
+ - [#596](https://github.com/utilitywarehouse/hearth/pull/596) [`61f1073`](https://github.com/utilitywarehouse/hearth/commit/61f10735a42445b6e4eb90282a2b340317f1ec08) Thanks [@jordmccord](https://github.com/jordmccord)! - Upgrade `@utilitywarehouse/hearth-react-native-icons` to `0.6.0`
599
+
600
+ - Updated dependencies [[`e707eec`](https://github.com/utilitywarehouse/hearth/commit/e707eec790550cab71f2541c26a38c5691e9cbca)]:
601
+ - @utilitywarehouse/hearth-react-native-icons@0.7.0
602
+
603
+ ## 0.4.2
604
+
605
+ ### Patch Changes
606
+
607
+ - [#570](https://github.com/utilitywarehouse/hearth/pull/570) [`364e1ac`](https://github.com/utilitywarehouse/hearth/commit/364e1ac1ee6c83327b0614d90bf280e283144ae6) Thanks [@dorota-uw](https://github.com/dorota-uw)! - Switched the logic for enabling/disabling comma separator in CurrencyInput
608
+
609
+ - [#573](https://github.com/utilitywarehouse/hearth/pull/573) [`2c28614`](https://github.com/utilitywarehouse/hearth/commit/2c28614b5a9335dda15895c90e08774574d82d85) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `Radio` and `Checkbox` helper overflow issue
610
+
611
+ - [#573](https://github.com/utilitywarehouse/hearth/pull/573) [`2c28614`](https://github.com/utilitywarehouse/hearth/commit/2c28614b5a9335dda15895c90e08774574d82d85) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes semantic text colour issue
612
+
613
+ ## 0.4.1
614
+
615
+ ### Patch Changes
616
+
617
+ - [#544](https://github.com/utilitywarehouse/hearth/pull/544) [`98e6423`](https://github.com/utilitywarehouse/hearth/commit/98e642347a0aca8c23babb15ea6b5c70b6adca0f) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds legacy colour palette for backwards compatibility
618
+
619
+ ## 0.4.0
620
+
621
+ ### Minor Changes
622
+
623
+ - [#511](https://github.com/utilitywarehouse/hearth/pull/511) [`04f804c`](https://github.com/utilitywarehouse/hearth/commit/04f804ca93d6e8881f649a0374a3b878c3217623) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `DatePicker` and `DatePickerInput` components
624
+
625
+ ### Patch Changes
626
+
627
+ - [#511](https://github.com/utilitywarehouse/hearth/pull/511) [`04f804c`](https://github.com/utilitywarehouse/hearth/commit/04f804ca93d6e8881f649a0374a3b878c3217623) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes `useTheme` typing
628
+
629
+ ## 0.3.1
630
+
631
+ ### Patch Changes
632
+
633
+ - [#472](https://github.com/utilitywarehouse/hearth/pull/472) [`009fe4b`](https://github.com/utilitywarehouse/hearth/commit/009fe4bff4fc54e424f22629040f715d3d4714ea) Thanks [@jordmccord](https://github.com/jordmccord)! - Add `image` prop to `Checkbox` and `Radio` components
634
+
635
+ - [#500](https://github.com/utilitywarehouse/hearth/pull/500) [`cc49e74`](https://github.com/utilitywarehouse/hearth/commit/cc49e74e3736b9647e8c5576ce45020add258625) Thanks [@jordmccord](https://github.com/jordmccord)! - - Updated dependencies [[`8dac8c1`](https://github.com/utilitywarehouse/hearth/commit/8dac8c1def9083d8e4efa1385e0ee7be23428c46)]:
636
+ - @utilitywarehouse/hearth-react-native-icons@0.4.0
637
+
638
+ - [#499](https://github.com/utilitywarehouse/hearth/pull/499) [`7b6781c`](https://github.com/utilitywarehouse/hearth/commit/7b6781cc054cf9f1ed4969a2c663abceb526c249) Thanks [@jordmccord](https://github.com/jordmccord)! - Fixes dark mode styles for several components
639
+
640
+ ## 0.3.0
641
+
642
+ ### Minor Changes
643
+
644
+ - [`ce2b445`](https://github.com/utilitywarehouse/hearth/commit/ce2b445dfdd11a2912b4328d8259a604a77b31cd) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `IconContainer` component
645
+
646
+ - [#423](https://github.com/utilitywarehouse/hearth/pull/423) [`af2deea`](https://github.com/utilitywarehouse/hearth/commit/af2deea62be55d6e40fe5bbb41700e054082b583) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `DescriptionList` component
647
+
648
+ - [#421](https://github.com/utilitywarehouse/hearth/pull/421) [`a7974df`](https://github.com/utilitywarehouse/hearth/commit/a7974df554cb0eb499923a140ebea523fa49761c) Thanks [@jordmccord](https://github.com/jordmccord)! - [BREAKING] Removes `date` and `currency` type from the `Input` component
649
+
650
+ - [#426](https://github.com/utilitywarehouse/hearth/pull/426) [`997e7cb`](https://github.com/utilitywarehouse/hearth/commit/997e7cb847e4f70de7b995c00aeeee18f1a0a1cd) Thanks [@jordmccord](https://github.com/jordmccord)! - [BREAKING] Adds updated `Badge` colour schemes and variants, replaces `solid` with `emphasis`
651
+
652
+ - [#429](https://github.com/utilitywarehouse/hearth/pull/429) [`1a818ff`](https://github.com/utilitywarehouse/hearth/commit/1a818ffc97a04f412deac4e892fc2400b8ad8735) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Tabs` component
653
+
654
+ - [#421](https://github.com/utilitywarehouse/hearth/pull/421) [`a7974df`](https://github.com/utilitywarehouse/hearth/commit/a7974df554cb0eb499923a140ebea523fa49761c) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `CurrencyInput` component
655
+
656
+ ### Patch Changes
657
+
658
+ - [#430](https://github.com/utilitywarehouse/hearth/pull/430) [`a151f3a`](https://github.com/utilitywarehouse/hearth/commit/a151f3a116b97ce2756b89c07f2ac3f3105c3ff7) Thanks [@jordmccord](https://github.com/jordmccord)! - Added `autoFormatThousands` prop to `CurrencyInput` component
659
+
660
+ - [#426](https://github.com/utilitywarehouse/hearth/pull/426) [`997e7cb`](https://github.com/utilitywarehouse/hearth/commit/997e7cb847e4f70de7b995c00aeeee18f1a0a1cd) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds 2 new layout spacing sizes, '2xs' and '2xl'
661
+
662
+ ## 0.2.0
663
+
664
+ ### Minor Changes
665
+
666
+ - [#419](https://github.com/utilitywarehouse/hearth/pull/419) [`8b5d1fb`](https://github.com/utilitywarehouse/hearth/commit/8b5d1fbe44d7d7e6dd70d79011d273dbf868c5a6) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `fullscreen` prop to `Modal`
667
+
668
+ - [#410](https://github.com/utilitywarehouse/hearth/pull/410) [`22cf96c`](https://github.com/utilitywarehouse/hearth/commit/22cf96c17d8ebf4f3c90264b1345a2a2131d7722) Thanks [@jordmccord](https://github.com/jordmccord)! - [BREAKING] Updates the `colorScheme` component props to semantic meaning
669
+
670
+ - [#412](https://github.com/utilitywarehouse/hearth/pull/412) [`bc92ff1`](https://github.com/utilitywarehouse/hearth/commit/bc92ff1ef2e1527fa5f8639a8367b039d14cd30b) Thanks [@dorota-uw](https://github.com/dorota-uw)! - Added SectionHeader component
671
+
672
+ - [#415](https://github.com/utilitywarehouse/hearth/pull/415) [`614839e`](https://github.com/utilitywarehouse/hearth/commit/614839efec9c7eb7aaed59b4a4289439c170156f) Thanks [@jordmccord](https://github.com/jordmccord)! - [BREAKING] Removed `AccordionHeading` and `ListHeading` components in favour of `SectionHeader`
673
+
674
+ - [#417](https://github.com/utilitywarehouse/hearth/pull/417) [`2df513f`](https://github.com/utilitywarehouse/hearth/commit/2df513f6f4fd0d695816badf254486f917996a93) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds `Modal` component
675
+
676
+ ### Patch Changes
677
+
678
+ - [#420](https://github.com/utilitywarehouse/hearth/pull/420) [`960ab43`](https://github.com/utilitywarehouse/hearth/commit/960ab436ee5da9359849ff40557171a9c4edb192) Thanks [@jordmccord](https://github.com/jordmccord)! - Adds our semantic colours to the color value types so they can be accessed in things like the `Box` props
679
+
680
+ - [#410](https://github.com/utilitywarehouse/hearth/pull/410) [`22cf96c`](https://github.com/utilitywarehouse/hearth/commit/22cf96c17d8ebf4f3c90264b1345a2a2131d7722) Thanks [@jordmccord](https://github.com/jordmccord)! - Moves components to use semantic tokens and exposes the new semantic tokens via the color object in the theme
681
+
682
+ ## 0.1.0
683
+
684
+ ### Minor Changes
685
+
686
+ - [`f6366c4`](https://github.com/utilitywarehouse/hearth/commit/f6366c4da2676c535dca90be570d6e6bae5a0349) Thanks [@jordmccord](https://github.com/jordmccord)! - Initial Release 🎉
687
+