@westpac/ui 0.19.0 → 0.20.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 (145) hide show
  1. package/.eslintrc.cjs +7 -2
  2. package/CHANGELOG.md +12 -0
  3. package/dist/component-type.json +1 -1
  4. package/dist/components/accordion/accordion.component.d.ts +3 -2
  5. package/dist/components/accordion/accordion.types.d.ts +1 -1
  6. package/dist/components/accordion/components/accordion-item/accordion-item.component.d.ts +1 -1
  7. package/dist/components/accordion/components/accordion-item/accordion-item.types.d.ts +1 -1
  8. package/dist/components/autocomplete/autocomplete.component.js +6 -3
  9. package/dist/components/autocomplete/components/autocomplete-item/autocomplete-item.component.js +0 -1
  10. package/dist/components/autocomplete/components/autocomplete-item/autocomplete-item.types.d.ts +1 -1
  11. package/dist/components/autocomplete/components/autocomplete-list-box/autocomplete-list-box.types.d.ts +2 -2
  12. package/dist/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-option/autocomplete-list-box-option.component.d.ts +1 -1
  13. package/dist/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-option/autocomplete-list-box-option.types.d.ts +1 -1
  14. package/dist/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-section/autocomplete-list-box-section.component.d.ts +1 -1
  15. package/dist/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-section/autocomplete-list-box-section.types.d.ts +1 -1
  16. package/dist/components/badge/badge.component.d.ts +3 -3
  17. package/dist/components/badge/badge.component.js +1 -3
  18. package/dist/components/badge/badge.styles.d.ts +1 -1
  19. package/dist/components/badge/badge.styles.js +3 -3
  20. package/dist/components/bottom-sheet/components/bottom-sheet-modal/bottom-sheet-modal.component.js +3 -1
  21. package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.d.ts +3 -3
  22. package/dist/components/button/button.component.d.ts +1 -1
  23. package/dist/components/button/button.styles.js +1 -1
  24. package/dist/components/button-dropdown/button-dropdown.component.js +1 -1
  25. package/dist/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.component.js +8 -3
  26. package/dist/components/button-group/button-group.component.js +1 -1
  27. package/dist/components/checkbox-group/checkbox-group.component.js +1 -1
  28. package/dist/components/checkbox-group/components/checkbox-group-checkbox/checkbox-group-checkbox.component.d.ts +1 -1
  29. package/dist/components/collapsible/collapsible.component.js +1 -1
  30. package/dist/components/date-picker/date-picker.component.js +9 -1
  31. package/dist/components/date-picker/date-picker.types.d.ts +8 -8
  32. package/dist/components/date-picker/date-picker.utils.d.ts +2 -2
  33. package/dist/components/date-picker/date-picker.utils.js +2 -1
  34. package/dist/components/error-message/error-message.component.js +2 -1
  35. package/dist/components/field/field.component.js +2 -1
  36. package/dist/components/flexi-cell/flexi-cell.component.d.ts +1 -1
  37. package/dist/components/header/header.component.js +4 -1
  38. package/dist/components/input-group/components/input-group-add-ons/components/input-group-add-on-default-add-on/input-group-add-on-default-add-on.component.d.ts +1 -1
  39. package/dist/components/input-group/components/input-group-add-ons/components/input-group-add-on-default-add-on/input-group-add-on-default-add-on.component.js +1 -1
  40. package/dist/components/input-group/components/input-group-add-ons/input-group-add-ons.styles.js +2 -2
  41. package/dist/components/input-group/input-group.component.js +8 -3
  42. package/dist/components/input-group/input-group.styles.d.ts +74 -4
  43. package/dist/components/input-group/input-group.styles.js +16 -8
  44. package/dist/components/list/components/list-item/list-item.component.d.ts +3 -3
  45. package/dist/components/pagination/pagination.component.js +6 -4
  46. package/dist/components/pagination/pagination.hooks.js +4 -2
  47. package/dist/components/pass-code/pass-code.component.js +6 -4
  48. package/dist/components/pass-code-view/pass-code-view.types.d.ts +2 -2
  49. package/dist/components/popover/components/panel/panel.component.js +6 -3
  50. package/dist/components/popover/popover.component.js +5 -3
  51. package/dist/components/popover/{popover.hooks.d.ts → popover.utils.d.ts} +1 -1
  52. package/dist/components/popover/{popover.hooks.js → popover.utils.js} +1 -1
  53. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.component.d.ts +1 -1
  54. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.component.js +3 -1
  55. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.types.d.ts +1 -1
  56. package/dist/components/progress-rope/progress-rope.component.js +3 -2
  57. package/dist/components/radio-group/components/radio-group-radio/radio-group-radio.component.d.ts +1 -1
  58. package/dist/components/radio-group/radio-group.component.js +1 -1
  59. package/dist/components/select/select.styles.d.ts +1 -1
  60. package/dist/components/select/select.styles.js +1 -1
  61. package/dist/components/selector/components/selector-button-group/components/selector-button-group-option/selector-button-group-option.component.js +2 -1
  62. package/dist/components/selector/components/selector-button-group/selector-button-group.component.js +3 -1
  63. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.js +1 -1
  64. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.js +1 -1
  65. package/dist/components/skip-link/skip-link.component.d.ts +1 -1
  66. package/dist/components/tabs/components/tabs-tab/tabs-tab.types.d.ts +1 -1
  67. package/dist/components/tabs/components/tabs-tab-panel/tabs-tab-panel.types.d.ts +1 -1
  68. package/dist/components/tabs/tabs.types.d.ts +1 -1
  69. package/dist/css/westpac-ui.css +20 -38
  70. package/dist/css/westpac-ui.min.css +20 -38
  71. package/dist/tailwind/tailwind-plugin.js +1 -1
  72. package/dist/tailwind/utils/create-font-sizes.d.ts +10 -1
  73. package/dist/tailwind/utils/generate-font-components.d.ts +2 -2
  74. package/package.json +3 -3
  75. package/src/components/accordion/accordion.component.tsx +15 -9
  76. package/src/components/accordion/accordion.types.ts +1 -1
  77. package/src/components/accordion/components/accordion-item/accordion-item.component.tsx +4 -4
  78. package/src/components/accordion/components/accordion-item/accordion-item.types.ts +1 -1
  79. package/src/components/autocomplete/autocomplete.component.tsx +9 -2
  80. package/src/components/autocomplete/components/autocomplete-item/autocomplete-item.component.tsx +0 -1
  81. package/src/components/autocomplete/components/autocomplete-item/autocomplete-item.types.ts +1 -1
  82. package/src/components/autocomplete/components/autocomplete-list-box/autocomplete-list-box.types.ts +2 -2
  83. package/src/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-option/autocomplete-list-box-option.component.tsx +3 -3
  84. package/src/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-option/autocomplete-list-box-option.types.ts +1 -1
  85. package/src/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-section/autocomplete-list-box-section.component.tsx +1 -1
  86. package/src/components/autocomplete/components/autocomplete-list-box/components/autocomplete-list-box-section/autocomplete-list-box-section.types.ts +1 -1
  87. package/src/components/badge/badge.component.tsx +5 -6
  88. package/src/components/badge/badge.styles.ts +3 -3
  89. package/src/components/bottom-sheet/components/bottom-sheet-dialog/bottom-sheet-dialog.component.tsx +0 -1
  90. package/src/components/bottom-sheet/components/bottom-sheet-modal/bottom-sheet-modal.component.tsx +2 -3
  91. package/src/components/breadcrumb/breadcrumb.component.tsx +4 -1
  92. package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.tsx +5 -5
  93. package/src/components/button/button.component.tsx +2 -2
  94. package/src/components/button/button.styles.ts +1 -1
  95. package/src/components/button-dropdown/button-dropdown.component.tsx +2 -2
  96. package/src/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.component.tsx +3 -3
  97. package/src/components/button-group/button-group.component.tsx +1 -3
  98. package/src/components/checkbox-group/checkbox-group.component.tsx +2 -4
  99. package/src/components/checkbox-group/components/checkbox-group-checkbox/checkbox-group-checkbox.component.tsx +5 -2
  100. package/src/components/collapsible/collapsible.component.tsx +1 -1
  101. package/src/components/compacta/compacta.component.tsx +1 -1
  102. package/src/components/date-picker/date-picker.component.tsx +2 -2
  103. package/src/components/date-picker/date-picker.types.ts +18 -8
  104. package/src/components/date-picker/date-picker.utils.ts +3 -3
  105. package/src/components/error-message/error-message.component.tsx +2 -2
  106. package/src/components/error-message/error-message.types.ts +1 -1
  107. package/src/components/field/field.component.tsx +1 -1
  108. package/src/components/flexi-cell/flexi-cell.component.tsx +3 -3
  109. package/src/components/header/header.component.tsx +1 -1
  110. package/src/components/input-group/components/input-group-add-ons/components/input-group-add-on-default-add-on/input-group-add-on-default-add-on.component.tsx +1 -6
  111. package/src/components/input-group/components/input-group-add-ons/input-group-add-ons.styles.ts +2 -2
  112. package/src/components/input-group/input-group.component.tsx +14 -5
  113. package/src/components/input-group/input-group.styles.ts +15 -8
  114. package/src/components/list/components/list-item/list-item.component.tsx +2 -2
  115. package/src/components/pagination/components/pagination-item/pagination-item.types.ts +2 -0
  116. package/src/components/pagination/pagination.component.tsx +2 -2
  117. package/src/components/pagination/pagination.hooks.ts +2 -2
  118. package/src/components/pass-code/pass-code.component.tsx +3 -3
  119. package/src/components/pass-code-view/pass-code-view.types.ts +2 -2
  120. package/src/components/popover/components/panel/panel.component.tsx +3 -3
  121. package/src/components/popover/popover.component.tsx +5 -5
  122. package/src/components/popover/{popover.hooks.tsx → popover.utils.tsx} +2 -2
  123. package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.component.tsx +2 -3
  124. package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.types.ts +1 -1
  125. package/src/components/progress-rope/progress-rope.component.tsx +1 -2
  126. package/src/components/radio-group/components/radio-group-radio/radio-group-radio.component.tsx +2 -2
  127. package/src/components/radio-group/radio-group.component.tsx +2 -4
  128. package/src/components/select/select.styles.ts +1 -1
  129. package/src/components/selector/components/selector-button-group/components/selector-button-group-option/selector-button-group-option.component.tsx +3 -3
  130. package/src/components/selector/components/selector-button-group/selector-button-group.component.tsx +2 -2
  131. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.tsx +2 -2
  132. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.tsx +1 -3
  133. package/src/components/selector/components/selector-link-group/components/selector-link-group-option/selector-link-group-option.component.tsx +3 -3
  134. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.tsx +2 -2
  135. package/src/components/selector/components/selector-radio-group/selector-radio-group.component.tsx +1 -3
  136. package/src/components/skip-link/skip-link.component.tsx +3 -3
  137. package/src/components/tabs/components/tabs-tab/tabs-tab.component.tsx +2 -2
  138. package/src/components/tabs/components/tabs-tab/tabs-tab.types.ts +1 -1
  139. package/src/components/tabs/components/tabs-tab-panel/tabs-tab-panel.types.ts +1 -1
  140. package/src/components/tabs/tabs.component.tsx +7 -7
  141. package/src/components/tabs/tabs.types.ts +1 -1
  142. package/src/tailwind/tailwind-plugin.ts +1 -1
  143. package/src/tailwind/utils/create-font-sizes.ts +22 -11
  144. package/src/tailwind/utils/generate-font-components.ts +16 -19
  145. package/src/tailwind/utils/generate-form-control.ts +10 -11
@@ -7,7 +7,7 @@ import { styles } from './tabs-tab.styles.js';
7
7
 
8
8
  type Variants = VariantProps<typeof styles>;
9
9
 
10
- export type TabsTabProps<T = any> = {
10
+ export type TabsTabProps<T = object> = {
11
11
  /**
12
12
  * Color of tab
13
13
  */
@@ -7,7 +7,7 @@ import { styles } from './tabs-tab-panel.styles.js';
7
7
 
8
8
  type Variants = VariantProps<typeof styles>;
9
9
 
10
- export type TabsTabPanelProps<T = any> = {
10
+ export type TabsTabPanelProps<T = object> = {
11
11
  /**
12
12
  * Table panel content
13
13
  */
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import React, { useRef } from 'react';
4
- import { AriaLinkOptions, useTabList } from 'react-aria';
4
+ import { AriaLinkOptions, Key, useTabList } from 'react-aria';
5
5
  import { Item, ItemProps, useTabListState } from 'react-stately';
6
6
 
7
7
  import { TabsTab, TabsTabPanel } from './components/index.js';
@@ -24,9 +24,9 @@ export function Tabs({
24
24
  }: TabsProps) {
25
25
  const state = useTabListState({
26
26
  ...props,
27
- disabledKeys: disabledKeys as any,
28
- selectedKey: selectedKey as any,
29
- defaultSelectedKey: defaultSelectedKey as any,
27
+ disabledKeys: disabledKeys as Iterable<Key>,
28
+ selectedKey: selectedKey as Key,
29
+ defaultSelectedKey: defaultSelectedKey as Key,
30
30
  children,
31
31
  });
32
32
  const styles = tabStyles({ orientation, look, sticky });
@@ -35,9 +35,9 @@ export function Tabs({
35
35
  const { tabListProps } = useTabList(
36
36
  {
37
37
  ...props,
38
- disabledKeys: disabledKeys as any,
39
- selectedKey: selectedKey as any,
40
- defaultSelectedKey: defaultSelectedKey as any,
38
+ disabledKeys: disabledKeys as Iterable<Key>,
39
+ selectedKey: selectedKey as Key,
40
+ defaultSelectedKey: defaultSelectedKey as Key,
41
41
  orientation,
42
42
  },
43
43
  state,
@@ -7,7 +7,7 @@ import { styles } from './tabs.styles.js';
7
7
 
8
8
  type Variants = VariantProps<typeof styles>;
9
9
 
10
- export type TabsProps<T = any> = SpectrumTabsProps<T> & {
10
+ export type TabsProps<T = object> = SpectrumTabsProps<T> & {
11
11
  /**
12
12
  * Children
13
13
  */
@@ -197,7 +197,7 @@ export const WestpacUIKitBasePlugin = plugin.withOptions(
197
197
  },
198
198
  },
199
199
  button: {
200
- base: 'inline-flex items-center justify-center rounded leading-[1.5] transition-[background] disabled:pointer-events-none disabled:opacity-50 group-[.add-on-after]:rounded-l-none group-[.add-on-before]:rounded-r-none',
200
+ base: 'inline-flex items-center justify-center rounded leading-[1.5] transition-[background] disabled:pointer-events-none disabled:opacity-50 group-last/add-on-after:rounded-l-none group-first/add-on-before:rounded-r-none',
201
201
  look: {
202
202
  base: {
203
203
  primary: 'border border-primary bg-primary text-white hover:bg-primary-70 active:bg-primary-50',
@@ -1,15 +1,26 @@
1
1
  import { FONT_SIZES } from '../constants/typography.js';
2
2
 
3
+ type FontSizeType = Record<
4
+ string,
5
+ | string
6
+ | [fontSize: string, lineHeight: string]
7
+ | [
8
+ fontSize: string,
9
+ configuration: Partial<{
10
+ fontWeight: string | number;
11
+ letterSpacing: string;
12
+ lineHeight: string;
13
+ }>,
14
+ ]
15
+ >;
16
+
3
17
  export const createFontSizes = (fontTypes: string[]) => {
4
- return fontTypes.reduce(
5
- (acc, fontType) => {
6
- return Object.entries(FONT_SIZES).reduce((acc2, [fontSize, value]) => {
7
- return {
8
- ...acc2,
9
- [`${fontType}-${fontSize}`]: value.fontSize,
10
- };
11
- }, acc);
12
- },
13
- {} as Record<string, any>,
14
- );
18
+ return fontTypes.reduce((acc, fontType) => {
19
+ return Object.entries(FONT_SIZES).reduce((acc2, [fontSize, value]) => {
20
+ return {
21
+ ...acc2,
22
+ [`${fontType}-${fontSize}`]: value.fontSize,
23
+ };
24
+ }, acc);
25
+ }, {} as FontSizeType);
15
26
  };
@@ -1,25 +1,22 @@
1
- import { PluginAPI } from 'tailwindcss/types/config.js';
1
+ import { CSSRuleObject, PluginAPI } from 'tailwindcss/types/config.js';
2
2
 
3
3
  export const generateFontComponents = (
4
4
  typographySizes: Record<string, { fontSize: string; lineHeight: string }>,
5
5
  theme: PluginAPI['theme'],
6
6
  ) => {
7
- return Object.entries(typographySizes).reduce(
8
- (acc, [size, value]) => {
9
- return {
10
- ...acc,
11
- [`.typography-body-${size}`]: {
12
- fontSize: theme(`fontSize.body-${size}`),
13
- lineHeight: theme(`lineHeight.${value.lineHeight}`),
14
- fontFamily: theme(`fontFamily.sans`),
15
- },
16
- [`.typography-brand-${size}`]: {
17
- fontSize: theme(`fontSize.brand-${size}`),
18
- lineHeight: theme(`lineHeight.${value.lineHeight}`),
19
- fontFamily: theme(`fontFamily.brand`),
20
- },
21
- };
22
- },
23
- {} as Record<string, any>,
24
- );
7
+ return Object.entries(typographySizes).reduce((acc, [size, value]) => {
8
+ return {
9
+ ...acc,
10
+ [`.typography-body-${size}`]: {
11
+ fontSize: theme(`fontSize.body-${size}`),
12
+ lineHeight: theme(`lineHeight.${value.lineHeight}`),
13
+ fontFamily: theme(`fontFamily.sans`),
14
+ },
15
+ [`.typography-brand-${size}`]: {
16
+ fontSize: theme(`fontSize.brand-${size}`),
17
+ lineHeight: theme(`lineHeight.${value.lineHeight}`),
18
+ fontFamily: theme(`fontFamily.brand`),
19
+ },
20
+ };
21
+ }, {} as CSSRuleObject[]);
25
22
  };
@@ -1,19 +1,18 @@
1
+ import { CSSRuleObject } from 'tailwindcss/types/config.js';
2
+
1
3
  export const generateFormControlComponents = (formControlProps: {
2
4
  base: string;
3
5
  disabled: string;
4
6
  sizes: Record<string, string>;
5
7
  }) => {
6
- const sizes = Object.entries(formControlProps.sizes).reduce(
7
- (acc, [size, value]) => {
8
- return {
9
- ...acc,
10
- [`.form-control-${size}`]: {
11
- [`@apply ${value}`]: {},
12
- },
13
- };
14
- },
15
- {} as Record<string, any>,
16
- );
8
+ const sizes = Object.entries(formControlProps.sizes).reduce((acc, [size, value]) => {
9
+ return {
10
+ ...acc,
11
+ [`.form-control-${size}`]: {
12
+ [`@apply ${value}`]: {},
13
+ },
14
+ };
15
+ }, {} as CSSRuleObject);
17
16
  return {
18
17
  '.form-control': {
19
18
  [`@apply ${formControlProps.base}`]: {},