@westpac/ui 0.14.0 → 0.15.0

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 (60) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/component-type.json +1 -1
  3. package/dist/components/badge/badge.component.d.ts +6 -3
  4. package/dist/components/badge/badge.component.js +3 -2
  5. package/dist/components/badge/badge.styles.d.ts +8 -0
  6. package/dist/components/badge/badge.styles.js +54 -3
  7. package/dist/components/badge/badge.types.d.ts +5 -0
  8. package/dist/components/button-group/button-group.component.d.ts +1 -1
  9. package/dist/components/button-group/button-group.component.js +7 -10
  10. package/dist/components/button-group/button-group.types.d.ts +4 -4
  11. package/dist/components/button-group/components/button-group-button/button-group-button.component.d.ts +1 -1
  12. package/dist/components/button-group/components/button-group-button/button-group-button.component.js +3 -3
  13. package/dist/components/button-group/components/button-group-button/button-group-button.types.d.ts +6 -1
  14. package/dist/components/checkbox-group/checkbox-group.component.d.ts +1 -1
  15. package/dist/components/checkbox-group/checkbox-group.component.js +7 -9
  16. package/dist/components/checkbox-group/checkbox-group.types.d.ts +2 -2
  17. package/dist/components/checkbox-group/components/checkbox-group-checkbox/checkbox-group-checkbox.component.d.ts +2 -1
  18. package/dist/components/checkbox-group/components/checkbox-group-checkbox/checkbox-group-checkbox.component.js +3 -3
  19. package/dist/components/checkbox-group/components/checkbox-group-checkbox/checkbox-group-checkbox.types.d.ts +5 -1
  20. package/dist/components/input-group/input-group.component.js +11 -9
  21. package/dist/components/input-group/input-group.styles.d.ts +16 -2
  22. package/dist/components/input-group/input-group.styles.js +26 -5
  23. package/dist/components/radio-group/components/radio-group-radio/radio-group-radio.component.d.ts +2 -1
  24. package/dist/components/radio-group/components/radio-group-radio/radio-group-radio.component.js +3 -3
  25. package/dist/components/radio-group/components/radio-group-radio/radio-group-radio.types.d.ts +5 -1
  26. package/dist/components/radio-group/radio-group.component.d.ts +1 -1
  27. package/dist/components/radio-group/radio-group.component.js +7 -9
  28. package/dist/components/radio-group/radio-group.types.d.ts +5 -5
  29. package/dist/components/selector/components/selector-button-group/selector-button-group.component.d.ts +0 -7
  30. package/dist/components/selector/components/selector-button-group/selector-button-group.component.js +0 -2
  31. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.d.ts +0 -3
  32. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.js +0 -2
  33. package/dist/components/selector/components/selector-link-group/selector-link-group.component.d.ts +0 -7
  34. package/dist/components/selector/components/selector-link-group/selector-link-group.component.js +0 -2
  35. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.d.ts +0 -3
  36. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.js +0 -2
  37. package/dist/css/westpac-ui.css +55 -2
  38. package/dist/css/westpac-ui.min.css +55 -2
  39. package/package.json +3 -3
  40. package/src/components/badge/badge.component.tsx +2 -2
  41. package/src/components/badge/badge.styles.ts +53 -2
  42. package/src/components/badge/badge.types.ts +5 -0
  43. package/src/components/button-group/button-group.component.tsx +6 -10
  44. package/src/components/button-group/button-group.types.ts +5 -4
  45. package/src/components/button-group/components/button-group-button/button-group-button.component.tsx +3 -3
  46. package/src/components/button-group/components/button-group-button/button-group-button.types.ts +6 -1
  47. package/src/components/checkbox-group/checkbox-group.component.tsx +8 -11
  48. package/src/components/checkbox-group/checkbox-group.types.ts +3 -2
  49. package/src/components/checkbox-group/components/checkbox-group-checkbox/checkbox-group-checkbox.component.tsx +7 -3
  50. package/src/components/checkbox-group/components/checkbox-group-checkbox/checkbox-group-checkbox.types.ts +5 -1
  51. package/src/components/input-group/input-group.component.tsx +12 -4
  52. package/src/components/input-group/input-group.styles.ts +18 -5
  53. package/src/components/radio-group/components/radio-group-radio/radio-group-radio.component.tsx +3 -3
  54. package/src/components/radio-group/components/radio-group-radio/radio-group-radio.types.ts +5 -1
  55. package/src/components/radio-group/radio-group.component.tsx +8 -11
  56. package/src/components/radio-group/radio-group.types.ts +6 -5
  57. package/src/components/selector/components/selector-button-group/selector-button-group.component.tsx +0 -1
  58. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.tsx +0 -1
  59. package/src/components/selector/components/selector-link-group/selector-link-group.component.tsx +0 -1
  60. package/src/components/selector/components/selector-radio-group/selector-radio-group.component.tsx +0 -1
@@ -1,12 +1,8 @@
1
- import { ReactNode } from 'react';
2
1
  import { type AriaRadioGroupProps } from 'react-aria';
3
2
  import { type RadioGroupState } from 'react-stately';
4
3
  import { HintProps } from '../index.js';
4
+ import { RadioGroupRadioProps } from './components/radio-group-radio/radio-group-radio.types.js';
5
5
  export type RadioGroupProps = {
6
- /**
7
- * The `Radio` components to render
8
- */
9
- children: ReactNode[];
10
6
  /**
11
7
  * String to override base style
12
8
  */
@@ -19,6 +15,10 @@ export type RadioGroupProps = {
19
15
  * hint message
20
16
  */
21
17
  hintMessage?: HintProps['children'];
18
+ /**
19
+ * The `Radio` components to render
20
+ */
21
+ radios: RadioGroupRadioProps[];
22
22
  /**
23
23
  * Amount of Radios to display, remainder will be hidden behind reveal button
24
24
  */
@@ -2,10 +2,3 @@
2
2
  import { SelectorButtonGroupContextState, SelectorButtonGroupProps } from './selector-button-group.types.js';
3
3
  export declare const SelectorButtonContext: import("react").Context<SelectorButtonGroupContextState>;
4
4
  export declare function SelectorButtonGroup({ className, children, label, orientation, errorMessage, description, value, isDisabled, ...props }: SelectorButtonGroupProps): import("react/jsx-runtime").JSX.Element;
5
- export declare namespace SelectorButtonGroup {
6
- var Option: import("react").ForwardRefExoticComponent<{
7
- id: string;
8
- isDisabled?: boolean | undefined;
9
- tag?: keyof JSX.IntrinsicElements | undefined;
10
- } & import("react").ButtonHTMLAttributes<Element> & Omit<import("../../../index.js").FlexiCellProps, "href" | "dualAction"> & import("react").RefAttributes<unknown>>;
11
- }
@@ -16,7 +16,6 @@ function _extends() {
16
16
  import { createContext, useCallback, useState } from 'react';
17
17
  import { useField } from 'react-aria';
18
18
  import { ErrorMessage, Hint, Label } from '../../../index.js';
19
- import { SelectorButtonGroupOption } from './components/index.js';
20
19
  import { styles } from './selector-button-group.styles.js';
21
20
  export const SelectorButtonContext = createContext({
22
21
  value: '',
@@ -56,4 +55,3 @@ export function SelectorButtonGroup({ className , children , label , orientation
56
55
  value: state
57
56
  }, children));
58
57
  }
59
- SelectorButtonGroup.Option = SelectorButtonGroupOption;
@@ -2,6 +2,3 @@ import React from 'react';
2
2
  import { type SelectorCheckboxGroupProps } from './selector-checkbox-group.types.js';
3
3
  export declare const SelectorCheckboxGroupContext: React.Context<import("react-stately").CheckboxGroupState>;
4
4
  export declare function SelectorCheckboxGroup(props: SelectorCheckboxGroupProps): import("react/jsx-runtime").JSX.Element;
5
- export declare namespace SelectorCheckboxGroup {
6
- var Option: React.ForwardRefExoticComponent<import("./components/index.js").SelectorCheckboxGroupOptionProps & React.RefAttributes<unknown>>;
7
- }
@@ -17,7 +17,6 @@ import React, { createContext } from 'react';
17
17
  import { useCheckboxGroup } from 'react-aria';
18
18
  import { useCheckboxGroupState } from 'react-stately';
19
19
  import { ErrorMessage, Hint, Label } from '../../../index.js';
20
- import { SelectorCheckboxGroupOption } from './components/index.js';
21
20
  import { styles } from './selector-checkbox-group.styles.js';
22
21
  export const SelectorCheckboxGroupContext = createContext({
23
22
  value: [],
@@ -44,4 +43,3 @@ export function SelectorCheckboxGroup(props) {
44
43
  value: state
45
44
  }, children));
46
45
  }
47
- SelectorCheckboxGroup.Option = SelectorCheckboxGroupOption;
@@ -4,10 +4,3 @@ export declare const SelectorLinkContext: import("react").Context<{
4
4
  isDisabled?: boolean | undefined;
5
5
  }>;
6
6
  export declare function SelectorLinkGroup({ className, children, label, orientation, errorMessage, description, isDisabled, ...props }: SelectorLinkGroupProps): import("react/jsx-runtime").JSX.Element;
7
- export declare namespace SelectorLinkGroup {
8
- var Option: import("react").ForwardRefExoticComponent<{
9
- href: string;
10
- isDisabled?: boolean | undefined;
11
- tag?: keyof JSX.IntrinsicElements | undefined;
12
- } & Omit<import("react-aria").AriaLinkOptions, "isDisabled" | "elementType"> & Omit<import("../../../index.js").FlexiCellProps, "href" | "dualAction"> & import("react").AnchorHTMLAttributes<Element> & import("react").RefAttributes<unknown>>;
13
- }
@@ -16,7 +16,6 @@ function _extends() {
16
16
  import { createContext } from 'react';
17
17
  import { useField } from 'react-aria';
18
18
  import { ErrorMessage, Hint, Label } from '../../../index.js';
19
- import { SelectorLinkGroupOption } from './components/index.js';
20
19
  import { styles } from './selector-link-group.styles.js';
21
20
  export const SelectorLinkContext = createContext({
22
21
  isDisabled: undefined
@@ -44,4 +43,3 @@ export function SelectorLinkGroup({ className , children , label , orientation =
44
43
  value: state
45
44
  }, children));
46
45
  }
47
- SelectorLinkGroup.Option = SelectorLinkGroupOption;
@@ -2,6 +2,3 @@ import React from 'react';
2
2
  import { type SelectorRadioGroupContextState, type SelectorRadioGroupProps } from './selector-radio-group.types.js';
3
3
  export declare const SelectorRadioGroupContext: React.Context<SelectorRadioGroupContextState>;
4
4
  export declare function SelectorRadioGroup({ className, children, label, orientation, errorMessage, description, ...props }: SelectorRadioGroupProps): import("react/jsx-runtime").JSX.Element;
5
- export declare namespace SelectorRadioGroup {
6
- var Option: React.ForwardRefExoticComponent<import("./components/index.js").SelectorRadioGroupOptionProps & React.RefAttributes<unknown>>;
7
- }
@@ -17,7 +17,6 @@ import React, { createContext } from 'react';
17
17
  import { useRadioGroup } from 'react-aria';
18
18
  import { useRadioGroupState } from 'react-stately';
19
19
  import { ErrorMessage, Hint, Label } from '../../../index.js';
20
- import { SelectorRadioGroupOption } from './components/index.js';
21
20
  import { styles } from './selector-radio-group.styles.js';
22
21
  export const SelectorRadioGroupContext = createContext({
23
22
  name: '',
@@ -57,4 +56,3 @@ export function SelectorRadioGroup({ className , children , label , orientation
57
56
  }
58
57
  }, children));
59
58
  }
60
- SelectorRadioGroup.Option = SelectorRadioGroupOption;
@@ -2643,8 +2643,6 @@ video {
2643
2643
  flex: none;
2644
2644
  }.shrink-0 {
2645
2645
  flex-shrink: 0;
2646
- }.flex-grow-0 {
2647
- flex-grow: 0;
2648
2646
  }.-translate-x-1\/2 {
2649
2647
  --tw-translate-x: -50%;
2650
2648
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -6048,6 +6046,9 @@ video {
6048
6046
  }.xsl\:border-link {
6049
6047
  --tw-border-opacity: 1;
6050
6048
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
6049
+ }.xsl\:border-muted {
6050
+ --tw-border-opacity: 1;
6051
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
6051
6052
  }.xsl\:border-neutral {
6052
6053
  --tw-border-opacity: 1;
6053
6054
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -6086,6 +6087,9 @@ video {
6086
6087
  }.xsl\:bg-background {
6087
6088
  --tw-bg-opacity: 1;
6088
6089
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
6090
+ }.xsl\:bg-border {
6091
+ --tw-bg-opacity: 1;
6092
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
6089
6093
  }.xsl\:bg-border-20 {
6090
6094
  --tw-bg-opacity: 1;
6091
6095
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -6104,6 +6108,9 @@ video {
6104
6108
  }.xsl\:bg-link {
6105
6109
  --tw-bg-opacity: 1;
6106
6110
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
6111
+ }.xsl\:bg-muted {
6112
+ --tw-bg-opacity: 1;
6113
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
6107
6114
  }.xsl\:bg-neutral {
6108
6115
  --tw-bg-opacity: 1;
6109
6116
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -6215,6 +6222,8 @@ video {
6215
6222
  font-size: 0.75rem;
6216
6223
  }.xsl\:font-bold {
6217
6224
  font-weight: 700;
6225
+ }.xsl\:font-medium {
6226
+ font-weight: 500;
6218
6227
  }.xsl\:font-normal {
6219
6228
  font-weight: 400;
6220
6229
  }.xsl\:uppercase {
@@ -7076,6 +7085,9 @@ video {
7076
7085
  }.sm\:border-link {
7077
7086
  --tw-border-opacity: 1;
7078
7087
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
7088
+ }.sm\:border-muted {
7089
+ --tw-border-opacity: 1;
7090
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
7079
7091
  }.sm\:border-neutral {
7080
7092
  --tw-border-opacity: 1;
7081
7093
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -7114,6 +7126,9 @@ video {
7114
7126
  }.sm\:bg-background {
7115
7127
  --tw-bg-opacity: 1;
7116
7128
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
7129
+ }.sm\:bg-border {
7130
+ --tw-bg-opacity: 1;
7131
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
7117
7132
  }.sm\:bg-border-20 {
7118
7133
  --tw-bg-opacity: 1;
7119
7134
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -7132,6 +7147,9 @@ video {
7132
7147
  }.sm\:bg-link {
7133
7148
  --tw-bg-opacity: 1;
7134
7149
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
7150
+ }.sm\:bg-muted {
7151
+ --tw-bg-opacity: 1;
7152
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
7135
7153
  }.sm\:bg-neutral {
7136
7154
  --tw-bg-opacity: 1;
7137
7155
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -7254,6 +7272,8 @@ video {
7254
7272
  font-size: 0.75rem;
7255
7273
  }.sm\:font-bold {
7256
7274
  font-weight: 700;
7275
+ }.sm\:font-medium {
7276
+ font-weight: 500;
7257
7277
  }.sm\:font-normal {
7258
7278
  font-weight: 400;
7259
7279
  }.sm\:uppercase {
@@ -8118,6 +8138,9 @@ video {
8118
8138
  }.md\:border-link {
8119
8139
  --tw-border-opacity: 1;
8120
8140
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
8141
+ }.md\:border-muted {
8142
+ --tw-border-opacity: 1;
8143
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
8121
8144
  }.md\:border-neutral {
8122
8145
  --tw-border-opacity: 1;
8123
8146
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -8156,6 +8179,9 @@ video {
8156
8179
  }.md\:bg-background {
8157
8180
  --tw-bg-opacity: 1;
8158
8181
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
8182
+ }.md\:bg-border {
8183
+ --tw-bg-opacity: 1;
8184
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
8159
8185
  }.md\:bg-border-20 {
8160
8186
  --tw-bg-opacity: 1;
8161
8187
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -8174,6 +8200,9 @@ video {
8174
8200
  }.md\:bg-link {
8175
8201
  --tw-bg-opacity: 1;
8176
8202
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
8203
+ }.md\:bg-muted {
8204
+ --tw-bg-opacity: 1;
8205
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
8177
8206
  }.md\:bg-neutral {
8178
8207
  --tw-bg-opacity: 1;
8179
8208
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -8304,6 +8333,8 @@ video {
8304
8333
  font-size: 0.75rem;
8305
8334
  }.md\:font-bold {
8306
8335
  font-weight: 700;
8336
+ }.md\:font-medium {
8337
+ font-weight: 500;
8307
8338
  }.md\:font-normal {
8308
8339
  font-weight: 400;
8309
8340
  }.md\:uppercase {
@@ -9155,6 +9186,9 @@ video {
9155
9186
  }.lg\:border-link {
9156
9187
  --tw-border-opacity: 1;
9157
9188
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
9189
+ }.lg\:border-muted {
9190
+ --tw-border-opacity: 1;
9191
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
9158
9192
  }.lg\:border-neutral {
9159
9193
  --tw-border-opacity: 1;
9160
9194
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -9193,6 +9227,9 @@ video {
9193
9227
  }.lg\:bg-background {
9194
9228
  --tw-bg-opacity: 1;
9195
9229
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
9230
+ }.lg\:bg-border {
9231
+ --tw-bg-opacity: 1;
9232
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
9196
9233
  }.lg\:bg-border-20 {
9197
9234
  --tw-bg-opacity: 1;
9198
9235
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -9211,6 +9248,9 @@ video {
9211
9248
  }.lg\:bg-link {
9212
9249
  --tw-bg-opacity: 1;
9213
9250
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
9251
+ }.lg\:bg-muted {
9252
+ --tw-bg-opacity: 1;
9253
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
9214
9254
  }.lg\:bg-neutral {
9215
9255
  --tw-bg-opacity: 1;
9216
9256
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -9323,6 +9363,8 @@ video {
9323
9363
  font-size: 0.75rem;
9324
9364
  }.lg\:font-bold {
9325
9365
  font-weight: 700;
9366
+ }.lg\:font-medium {
9367
+ font-weight: 500;
9326
9368
  }.lg\:font-normal {
9327
9369
  font-weight: 400;
9328
9370
  }.lg\:uppercase {
@@ -10151,6 +10193,9 @@ video {
10151
10193
  }.xl\:border-link {
10152
10194
  --tw-border-opacity: 1;
10153
10195
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
10196
+ }.xl\:border-muted {
10197
+ --tw-border-opacity: 1;
10198
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
10154
10199
  }.xl\:border-neutral {
10155
10200
  --tw-border-opacity: 1;
10156
10201
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -10189,6 +10234,9 @@ video {
10189
10234
  }.xl\:bg-background {
10190
10235
  --tw-bg-opacity: 1;
10191
10236
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
10237
+ }.xl\:bg-border {
10238
+ --tw-bg-opacity: 1;
10239
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
10192
10240
  }.xl\:bg-border-20 {
10193
10241
  --tw-bg-opacity: 1;
10194
10242
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -10207,6 +10255,9 @@ video {
10207
10255
  }.xl\:bg-link {
10208
10256
  --tw-bg-opacity: 1;
10209
10257
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
10258
+ }.xl\:bg-muted {
10259
+ --tw-bg-opacity: 1;
10260
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
10210
10261
  }.xl\:bg-neutral {
10211
10262
  --tw-bg-opacity: 1;
10212
10263
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -10313,6 +10364,8 @@ video {
10313
10364
  font-size: 0.75rem;
10314
10365
  }.xl\:font-bold {
10315
10366
  font-weight: 700;
10367
+ }.xl\:font-medium {
10368
+ font-weight: 500;
10316
10369
  }.xl\:font-normal {
10317
10370
  font-weight: 400;
10318
10371
  }.xl\:uppercase {
@@ -2643,8 +2643,6 @@ video {
2643
2643
  flex: none;
2644
2644
  }.shrink-0 {
2645
2645
  flex-shrink: 0;
2646
- }.flex-grow-0 {
2647
- flex-grow: 0;
2648
2646
  }.-translate-x-1\/2 {
2649
2647
  --tw-translate-x: -50%;
2650
2648
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -6048,6 +6046,9 @@ video {
6048
6046
  }.xsl\:border-link {
6049
6047
  --tw-border-opacity: 1;
6050
6048
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
6049
+ }.xsl\:border-muted {
6050
+ --tw-border-opacity: 1;
6051
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
6051
6052
  }.xsl\:border-neutral {
6052
6053
  --tw-border-opacity: 1;
6053
6054
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -6086,6 +6087,9 @@ video {
6086
6087
  }.xsl\:bg-background {
6087
6088
  --tw-bg-opacity: 1;
6088
6089
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
6090
+ }.xsl\:bg-border {
6091
+ --tw-bg-opacity: 1;
6092
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
6089
6093
  }.xsl\:bg-border-20 {
6090
6094
  --tw-bg-opacity: 1;
6091
6095
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -6104,6 +6108,9 @@ video {
6104
6108
  }.xsl\:bg-link {
6105
6109
  --tw-bg-opacity: 1;
6106
6110
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
6111
+ }.xsl\:bg-muted {
6112
+ --tw-bg-opacity: 1;
6113
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
6107
6114
  }.xsl\:bg-neutral {
6108
6115
  --tw-bg-opacity: 1;
6109
6116
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -6215,6 +6222,8 @@ video {
6215
6222
  font-size: 0.75rem;
6216
6223
  }.xsl\:font-bold {
6217
6224
  font-weight: 700;
6225
+ }.xsl\:font-medium {
6226
+ font-weight: 500;
6218
6227
  }.xsl\:font-normal {
6219
6228
  font-weight: 400;
6220
6229
  }.xsl\:uppercase {
@@ -7076,6 +7085,9 @@ video {
7076
7085
  }.sm\:border-link {
7077
7086
  --tw-border-opacity: 1;
7078
7087
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
7088
+ }.sm\:border-muted {
7089
+ --tw-border-opacity: 1;
7090
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
7079
7091
  }.sm\:border-neutral {
7080
7092
  --tw-border-opacity: 1;
7081
7093
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -7114,6 +7126,9 @@ video {
7114
7126
  }.sm\:bg-background {
7115
7127
  --tw-bg-opacity: 1;
7116
7128
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
7129
+ }.sm\:bg-border {
7130
+ --tw-bg-opacity: 1;
7131
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
7117
7132
  }.sm\:bg-border-20 {
7118
7133
  --tw-bg-opacity: 1;
7119
7134
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -7132,6 +7147,9 @@ video {
7132
7147
  }.sm\:bg-link {
7133
7148
  --tw-bg-opacity: 1;
7134
7149
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
7150
+ }.sm\:bg-muted {
7151
+ --tw-bg-opacity: 1;
7152
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
7135
7153
  }.sm\:bg-neutral {
7136
7154
  --tw-bg-opacity: 1;
7137
7155
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -7254,6 +7272,8 @@ video {
7254
7272
  font-size: 0.75rem;
7255
7273
  }.sm\:font-bold {
7256
7274
  font-weight: 700;
7275
+ }.sm\:font-medium {
7276
+ font-weight: 500;
7257
7277
  }.sm\:font-normal {
7258
7278
  font-weight: 400;
7259
7279
  }.sm\:uppercase {
@@ -8118,6 +8138,9 @@ video {
8118
8138
  }.md\:border-link {
8119
8139
  --tw-border-opacity: 1;
8120
8140
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
8141
+ }.md\:border-muted {
8142
+ --tw-border-opacity: 1;
8143
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
8121
8144
  }.md\:border-neutral {
8122
8145
  --tw-border-opacity: 1;
8123
8146
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -8156,6 +8179,9 @@ video {
8156
8179
  }.md\:bg-background {
8157
8180
  --tw-bg-opacity: 1;
8158
8181
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
8182
+ }.md\:bg-border {
8183
+ --tw-bg-opacity: 1;
8184
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
8159
8185
  }.md\:bg-border-20 {
8160
8186
  --tw-bg-opacity: 1;
8161
8187
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -8174,6 +8200,9 @@ video {
8174
8200
  }.md\:bg-link {
8175
8201
  --tw-bg-opacity: 1;
8176
8202
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
8203
+ }.md\:bg-muted {
8204
+ --tw-bg-opacity: 1;
8205
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
8177
8206
  }.md\:bg-neutral {
8178
8207
  --tw-bg-opacity: 1;
8179
8208
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -8304,6 +8333,8 @@ video {
8304
8333
  font-size: 0.75rem;
8305
8334
  }.md\:font-bold {
8306
8335
  font-weight: 700;
8336
+ }.md\:font-medium {
8337
+ font-weight: 500;
8307
8338
  }.md\:font-normal {
8308
8339
  font-weight: 400;
8309
8340
  }.md\:uppercase {
@@ -9155,6 +9186,9 @@ video {
9155
9186
  }.lg\:border-link {
9156
9187
  --tw-border-opacity: 1;
9157
9188
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
9189
+ }.lg\:border-muted {
9190
+ --tw-border-opacity: 1;
9191
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
9158
9192
  }.lg\:border-neutral {
9159
9193
  --tw-border-opacity: 1;
9160
9194
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -9193,6 +9227,9 @@ video {
9193
9227
  }.lg\:bg-background {
9194
9228
  --tw-bg-opacity: 1;
9195
9229
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
9230
+ }.lg\:bg-border {
9231
+ --tw-bg-opacity: 1;
9232
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
9196
9233
  }.lg\:bg-border-20 {
9197
9234
  --tw-bg-opacity: 1;
9198
9235
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -9211,6 +9248,9 @@ video {
9211
9248
  }.lg\:bg-link {
9212
9249
  --tw-bg-opacity: 1;
9213
9250
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
9251
+ }.lg\:bg-muted {
9252
+ --tw-bg-opacity: 1;
9253
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
9214
9254
  }.lg\:bg-neutral {
9215
9255
  --tw-bg-opacity: 1;
9216
9256
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -9323,6 +9363,8 @@ video {
9323
9363
  font-size: 0.75rem;
9324
9364
  }.lg\:font-bold {
9325
9365
  font-weight: 700;
9366
+ }.lg\:font-medium {
9367
+ font-weight: 500;
9326
9368
  }.lg\:font-normal {
9327
9369
  font-weight: 400;
9328
9370
  }.lg\:uppercase {
@@ -10151,6 +10193,9 @@ video {
10151
10193
  }.xl\:border-link {
10152
10194
  --tw-border-opacity: 1;
10153
10195
  border-color: rgba(var(--colors-link), var(--tw-border-opacity));
10196
+ }.xl\:border-muted {
10197
+ --tw-border-opacity: 1;
10198
+ border-color: rgba(var(--colors-muted), var(--tw-border-opacity));
10154
10199
  }.xl\:border-neutral {
10155
10200
  --tw-border-opacity: 1;
10156
10201
  border-color: rgba(var(--colors-neutral), var(--tw-border-opacity));
@@ -10189,6 +10234,9 @@ video {
10189
10234
  }.xl\:bg-background {
10190
10235
  --tw-bg-opacity: 1;
10191
10236
  background-color: rgba(var(--colors-background), var(--tw-bg-opacity));
10237
+ }.xl\:bg-border {
10238
+ --tw-bg-opacity: 1;
10239
+ background-color: rgba(var(--colors-border), var(--tw-bg-opacity));
10192
10240
  }.xl\:bg-border-20 {
10193
10241
  --tw-bg-opacity: 1;
10194
10242
  background-color: rgba(var(--colors-border-20), var(--tw-bg-opacity));
@@ -10207,6 +10255,9 @@ video {
10207
10255
  }.xl\:bg-link {
10208
10256
  --tw-bg-opacity: 1;
10209
10257
  background-color: rgba(var(--colors-link), var(--tw-bg-opacity));
10258
+ }.xl\:bg-muted {
10259
+ --tw-bg-opacity: 1;
10260
+ background-color: rgba(var(--colors-muted), var(--tw-bg-opacity));
10210
10261
  }.xl\:bg-neutral {
10211
10262
  --tw-bg-opacity: 1;
10212
10263
  background-color: rgba(var(--colors-neutral), var(--tw-bg-opacity));
@@ -10313,6 +10364,8 @@ video {
10313
10364
  font-size: 0.75rem;
10314
10365
  }.xl\:font-bold {
10315
10366
  font-weight: 700;
10367
+ }.xl\:font-medium {
10368
+ font-weight: 500;
10316
10369
  }.xl\:font-normal {
10317
10370
  font-weight: 400;
10318
10371
  }.xl\:uppercase {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@westpac/ui",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -256,8 +256,8 @@
256
256
  "vite": "^4.3.9",
257
257
  "vitest": "^0.30.1",
258
258
  "@westpac/eslint-config": "~0.1.0",
259
- "@westpac/ts-config": "~0.0.0",
260
- "@westpac/test-config": "~0.0.0"
259
+ "@westpac/test-config": "~0.0.0",
260
+ "@westpac/ts-config": "~0.0.0"
261
261
  },
262
262
  "dependencies": {
263
263
  "@duetds/date-picker": "~1.4.0",
@@ -6,11 +6,11 @@ import { styles } from './badge.styles.js';
6
6
  import { type BadgeProps } from './badge.types.js';
7
7
 
8
8
  export function BaseBadge(
9
- { className, tag: Tag = 'div', color = 'hero', type = 'default', children, ...props }: BadgeProps,
9
+ { className, tag: Tag = 'div', color = 'hero', type = 'default', soft = false, children, ...props }: BadgeProps,
10
10
  ref: any,
11
11
  ) {
12
12
  return (
13
- <Tag {...({ ref } as any)} className={styles({ className, color, type })} {...props}>
13
+ <Tag {...({ ref } as any)} className={styles({ className, color, type, soft })} {...props}>
14
14
  {children}
15
15
  </Tag>
16
16
  );
@@ -6,10 +6,11 @@ export const styles = tv(
6
6
  variants: {
7
7
  color: {
8
8
  danger: 'border-danger bg-danger text-white',
9
- faint: 'border-border bg-white text-muted',
9
+ faint: 'border-border bg-border text-muted',
10
10
  hero: 'border-hero bg-hero text-white',
11
11
  info: 'border-info bg-info text-white',
12
12
  neutral: 'border-neutral bg-neutral text-white',
13
+ muted: 'border-muted bg-muted text-white',
13
14
  primary: 'border-primary bg-primary text-white',
14
15
  success: 'border-success bg-success text-white',
15
16
  warning: 'border-warning bg-warning text-white',
@@ -23,10 +24,60 @@ export const styles = tv(
23
24
  'warning-inverted': 'border-none bg-white text-warning',
24
25
  },
25
26
  type: {
26
- pill: 'typography-body-10 rounded-xl px-[0.4375rem] py-[0.25rem] font-bold leading-none',
27
+ pill: 'typography-body-10 rounded-xl px-[0.4375rem] py-[0.25rem] font-medium leading-none',
27
28
  default: 'rounded-sm px-1 py-0.5 pb-[0.125rem] text-[0.75rem] leading-none',
28
29
  },
30
+ soft: {
31
+ true: 'bg-white',
32
+ },
29
33
  },
34
+ compoundVariants: [
35
+ {
36
+ color: 'danger',
37
+ soft: true,
38
+ className: 'text-danger',
39
+ },
40
+ {
41
+ color: 'faint',
42
+ soft: true,
43
+ className: 'text-muted',
44
+ },
45
+ {
46
+ color: 'hero',
47
+ soft: true,
48
+ className: 'text-hero',
49
+ },
50
+ {
51
+ color: 'info',
52
+ soft: true,
53
+ className: 'text-info',
54
+ },
55
+ {
56
+ color: 'neutral',
57
+ soft: true,
58
+ className: 'text-neutral',
59
+ },
60
+ {
61
+ color: 'muted',
62
+ soft: true,
63
+ className: 'text-muted',
64
+ },
65
+ {
66
+ color: 'primary',
67
+ soft: true,
68
+ className: 'text-primary',
69
+ },
70
+ {
71
+ color: 'success',
72
+ soft: true,
73
+ className: 'text-success',
74
+ },
75
+ {
76
+ color: 'warning',
77
+ soft: true,
78
+ className: 'text-warning',
79
+ },
80
+ ],
30
81
  },
31
82
  { responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
32
83
  );
@@ -15,6 +15,11 @@ export type BadgeProps = {
15
15
  * @default hero
16
16
  */
17
17
  color?: Variants['color'];
18
+ /**
19
+ * Removes background colour and adjusts text colour.
20
+ * @default false
21
+ */
22
+ soft?: Variants['soft'];
18
23
  /**
19
24
  * Tag to render
20
25
  * @default div
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
 
3
- import React, { ReactElement, cloneElement, createContext } from 'react';
3
+ import React, { createContext } from 'react';
4
4
  import { useRadioGroup } from 'react-aria';
5
5
  import { useRadioGroupState } from 'react-stately';
6
6
 
7
- import { ErrorMessage, Hint, Label } from '../index.js';
7
+ import { ButtonGroupButton, ErrorMessage, Hint, Label } from '../index.js';
8
8
 
9
9
  import { styles as buttonGroupStyles } from './button-group.styles.js';
10
10
  import { ButtonGroupContextState, type ButtonGroupProps } from './button-group.types.js';
@@ -27,7 +27,7 @@ export const ButtonGroupContext = createContext<ButtonGroupContextState>({
27
27
 
28
28
  export function ButtonGroup({
29
29
  className,
30
- children,
30
+ buttons,
31
31
  label,
32
32
  look = 'hero',
33
33
  size = 'medium',
@@ -47,12 +47,6 @@ export function ButtonGroup({
47
47
  state,
48
48
  );
49
49
  const styles = buttonGroupStyles({});
50
- const childrenToRender = children.map((child, index) => {
51
- return cloneElement(child as ReactElement, {
52
- key: index,
53
- className: 'group/buttons',
54
- });
55
- });
56
50
 
57
51
  return (
58
52
  <div className={styles.base({ className })} {...radioGroupProps}>
@@ -63,7 +57,9 @@ export function ButtonGroup({
63
57
  )}
64
58
  <div className={styles.buttonWrapper()}>
65
59
  <ButtonGroupContext.Provider value={{ ...state, size, look, block }}>
66
- {childrenToRender}
60
+ {buttons.map((button, index) => (
61
+ <ButtonGroupButton key={index} className="group/buttons" {...button} />
62
+ ))}
67
63
  </ButtonGroupContext.Provider>
68
64
  </div>
69
65
  </div>