@westpac/ui 0.48.0 → 0.50.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 (102) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/component-type.json +1 -1
  3. package/dist/components/accordion/components/accordion-item/accordion-item.component.js +3 -2
  4. package/dist/components/button-dropdown/button-dropdown.component.d.ts +1 -1
  5. package/dist/components/button-dropdown/button-dropdown.component.js +3 -2
  6. package/dist/components/button-dropdown/button-dropdown.types.d.ts +2 -1
  7. package/dist/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.component.js +0 -1
  8. package/dist/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.styles.js +1 -1
  9. package/dist/components/date-picker-beta/components/calendar/calendar.component.d.ts +5 -0
  10. package/dist/components/date-picker-beta/components/calendar/calendar.component.js +101 -0
  11. package/dist/components/date-picker-beta/components/calendar/calendar.types.d.ts +2 -0
  12. package/dist/components/date-picker-beta/components/calendar/calendar.types.js +1 -0
  13. package/dist/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.component.d.ts +5 -0
  14. package/dist/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.component.js +28 -0
  15. package/dist/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.styles.d.ts +103 -0
  16. package/dist/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.styles.js +39 -0
  17. package/dist/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.types.d.ts +5 -0
  18. package/dist/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.types.js +1 -0
  19. package/dist/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.component.d.ts +5 -0
  20. package/dist/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.component.js +26 -0
  21. package/dist/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.types.d.ts +5 -0
  22. package/dist/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.types.js +1 -0
  23. package/dist/components/date-picker-beta/components/calendar/components/select/select.component.d.ts +5 -0
  24. package/dist/components/date-picker-beta/components/calendar/components/select/select.component.js +23 -0
  25. package/dist/components/date-picker-beta/components/calendar/components/select/select.styles.d.ts +28 -0
  26. package/dist/components/date-picker-beta/components/calendar/components/select/select.styles.js +14 -0
  27. package/dist/components/date-picker-beta/components/calendar/components/select/select.types.d.ts +2 -0
  28. package/dist/components/date-picker-beta/components/calendar/components/select/select.types.js +1 -0
  29. package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.component.d.ts +5 -0
  30. package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.component.js +20 -0
  31. package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.styles.d.ts +44 -0
  32. package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.styles.js +26 -0
  33. package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.types.d.ts +7 -0
  34. package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.types.js +1 -0
  35. package/dist/components/date-picker-beta/components/date-field/date-field.component.d.ts +5 -0
  36. package/dist/components/date-picker-beta/components/date-field/date-field.component.js +25 -0
  37. package/dist/components/date-picker-beta/components/date-field/date-field.types.d.ts +4 -0
  38. package/dist/components/date-picker-beta/components/date-field/date-field.types.js +1 -0
  39. package/dist/components/date-picker-beta/components/dialog/dialog.component.d.ts +5 -0
  40. package/dist/components/date-picker-beta/components/dialog/dialog.component.js +16 -0
  41. package/dist/components/date-picker-beta/components/dialog/dialog.types.d.ts +3 -0
  42. package/dist/components/date-picker-beta/components/dialog/dialog.types.js +1 -0
  43. package/dist/components/date-picker-beta/components/popover/popover.component.d.ts +5 -0
  44. package/dist/components/date-picker-beta/components/popover/popover.component.js +38 -0
  45. package/dist/components/date-picker-beta/components/popover/popover.styles.d.ts +71 -0
  46. package/dist/components/date-picker-beta/components/popover/popover.styles.js +35 -0
  47. package/dist/components/date-picker-beta/components/popover/popover.types.d.ts +9 -0
  48. package/dist/components/date-picker-beta/components/popover/popover.types.js +1 -0
  49. package/dist/components/date-picker-beta/date-picker.component.d.ts +2 -0
  50. package/dist/components/date-picker-beta/date-picker.component.js +114 -0
  51. package/dist/components/date-picker-beta/date-picker.styles.d.ts +107 -0
  52. package/dist/components/date-picker-beta/date-picker.styles.js +47 -0
  53. package/dist/components/date-picker-beta/date-picker.types.d.ts +32 -0
  54. package/dist/components/date-picker-beta/date-picker.types.js +1 -0
  55. package/dist/components/date-picker-beta/index.d.ts +2 -0
  56. package/dist/components/date-picker-beta/index.js +1 -0
  57. package/dist/components/index.d.ts +1 -0
  58. package/dist/components/index.js +1 -0
  59. package/dist/components/input-group/input-group.component.d.ts +1 -1
  60. package/dist/components/input-group/input-group.component.js +9 -3
  61. package/dist/components/input-group/input-group.styles.js +1 -1
  62. package/dist/components/input-group/input-group.types.d.ts +16 -0
  63. package/dist/css/westpac-ui.css +1015 -3
  64. package/dist/css/westpac-ui.min.css +1015 -3
  65. package/dist/tailwind/constants/colors.d.ts +25 -25
  66. package/dist/tailwind/tailwind-plugin.js +20 -0
  67. package/dist/tailwind/themes/index.d.ts +27 -27
  68. package/package.json +7 -3
  69. package/src/components/accordion/components/accordion-item/accordion-item.component.tsx +23 -24
  70. package/src/components/button-dropdown/button-dropdown.component.tsx +2 -0
  71. package/src/components/button-dropdown/button-dropdown.types.ts +3 -1
  72. package/src/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.component.tsx +1 -1
  73. package/src/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.styles.ts +1 -1
  74. package/src/components/date-picker-beta/components/calendar/calendar.component.tsx +106 -0
  75. package/src/components/date-picker-beta/components/calendar/calendar.types.ts +3 -0
  76. package/src/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.component.tsx +42 -0
  77. package/src/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.styles.ts +40 -0
  78. package/src/components/date-picker-beta/components/calendar/components/calendar-cell/calendar-cell.types.ts +8 -0
  79. package/src/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.component.tsx +36 -0
  80. package/src/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.types.ts +4 -0
  81. package/src/components/date-picker-beta/components/calendar/components/select/select.component.tsx +21 -0
  82. package/src/components/date-picker-beta/components/calendar/components/select/select.styles.ts +13 -0
  83. package/src/components/date-picker-beta/components/calendar/components/select/select.types.ts +3 -0
  84. package/src/components/date-picker-beta/components/date-field/components/date-segment/date-segment.component.tsx +26 -0
  85. package/src/components/date-picker-beta/components/date-field/components/date-segment/date-segment.styles.ts +22 -0
  86. package/src/components/date-picker-beta/components/date-field/components/date-segment/date-segment.types.ts +8 -0
  87. package/src/components/date-picker-beta/components/date-field/date-field.component.tsx +32 -0
  88. package/src/components/date-picker-beta/components/date-field/date-field.types.ts +3 -0
  89. package/src/components/date-picker-beta/components/dialog/dialog.component.tsx +23 -0
  90. package/src/components/date-picker-beta/components/dialog/dialog.types.ts +4 -0
  91. package/src/components/date-picker-beta/components/popover/popover.component.tsx +34 -0
  92. package/src/components/date-picker-beta/components/popover/popover.styles.ts +34 -0
  93. package/src/components/date-picker-beta/components/popover/popover.types.ts +10 -0
  94. package/src/components/date-picker-beta/date-picker.component.tsx +114 -0
  95. package/src/components/date-picker-beta/date-picker.styles.ts +44 -0
  96. package/src/components/date-picker-beta/date-picker.types.ts +40 -0
  97. package/src/components/date-picker-beta/index.ts +2 -0
  98. package/src/components/index.ts +1 -0
  99. package/src/components/input-group/input-group.component.tsx +9 -3
  100. package/src/components/input-group/input-group.styles.ts +1 -1
  101. package/src/components/input-group/input-group.types.ts +16 -0
  102. package/src/tailwind/tailwind-plugin.ts +20 -0
@@ -0,0 +1,40 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { DateValue } from 'react-aria';
3
+ import { DatePickerStateOptions } from 'react-stately';
4
+ import { VariantProps } from 'tailwind-variants';
5
+
6
+ import { Breakpoint } from '../../tailwind/constants/index.js';
7
+
8
+ import { styles } from './date-picker.styles.js';
9
+
10
+ type Variants = VariantProps<typeof styles>;
11
+
12
+ export type DatePickerBetaProps<T extends DateValue = DateValue> = DatePickerStateOptions<T> &
13
+ Variants &
14
+ Omit<HTMLAttributes<HTMLDivElement>, 'invalid'> & {
15
+ /**
16
+ * Determines whether to display the component as a bottom sheet view.
17
+ * Can also accept an object to conditionally enable the bottom sheet based on breakpoints.
18
+ */
19
+ bottomSheetView?: boolean | Partial<Record<Breakpoint | 'initial', boolean>>;
20
+
21
+ /**
22
+ * An array of numbers representing the days of the week to disable.
23
+ * For example, to disable Monday, Wednesday, and Saturday: [0, 2, 5].
24
+ */
25
+ disableDaysOfWeek?: number[];
26
+
27
+ /**
28
+ * If true, disables selection of weekend days (Saturday and Sunday).
29
+ */
30
+ disableWeekends?: boolean;
31
+
32
+ /**
33
+ * Separator character used in the date field. Defaults to "/".
34
+ */
35
+ separator?: string;
36
+ /**
37
+ * portal container for date picker
38
+ */
39
+ portalContainer?: Element;
40
+ };
@@ -0,0 +1,2 @@
1
+ export { DatePickerBeta } from './date-picker.component.js';
2
+ export { type DatePickerBetaProps } from './date-picker.types.js';
@@ -17,6 +17,7 @@ export * from './switch/index.js';
17
17
  export * from './progress-bar/index.js';
18
18
  export * from './link/index.js';
19
19
  export * from './date-picker/index.js';
20
+ export * from './date-picker-beta/index.js';
20
21
  export * from './grid/index.js';
21
22
  export * from './table/index.js';
22
23
  export * from './panel/index.js';
@@ -32,6 +32,10 @@ export function InputGroup({
32
32
  tag: Tag = 'div',
33
33
  className,
34
34
  width = 'full',
35
+ id: propID,
36
+ 'aria-labelledby': ariaLabelledBy,
37
+ 'aria-describedby': ariaDescribedBy,
38
+ 'aria-label': ariaLabel,
35
39
  ...props
36
40
  }: InputGroupProps) {
37
41
  const _id = useId();
@@ -87,13 +91,15 @@ export function InputGroup({
87
91
  if (isValidElement(child)) {
88
92
  return cloneElement(child, {
89
93
  size,
90
- id,
91
- 'aria-describedby': ariaDescribedByValue,
94
+ id: propID || id,
95
+ 'aria-labelledby': ariaLabelledBy,
96
+ 'aria-describedby': ariaDescribedBy || ariaDescribedByValue,
97
+ 'aria-label': ariaLabel,
92
98
  ...(width !== 'full' ? { width: width } : {}),
93
99
  } as Partial<unknown> & Attributes);
94
100
  }
95
101
  });
96
- }, [children, size, id, ariaDescribedByValue, width]);
102
+ }, [children, size, propID, id, ariaLabelledBy, ariaDescribedBy, ariaDescribedByValue, ariaLabel, width]);
97
103
 
98
104
  const isFieldset = useMemo(() => Tag === 'fieldset', [Tag]);
99
105
 
@@ -3,7 +3,7 @@ import { tv } from 'tailwind-variants';
3
3
  export const styles = tv(
4
4
  {
5
5
  slots: {
6
- base: 'group m-0 mb-5 border-none p-0',
6
+ base: 'group m-0 border-none p-0',
7
7
  input: 'relative flex',
8
8
  },
9
9
  variants: {
@@ -68,4 +68,20 @@ export type InputGroupProps = {
68
68
  * width of input
69
69
  */
70
70
  width?: InputProps['width'];
71
+ /**
72
+ * id
73
+ */
74
+ id?: string;
75
+ /**
76
+ * aria-labelledby
77
+ */
78
+ 'aria-labelledby'?: string;
79
+ /**
80
+ * aria-describedby
81
+ */
82
+ 'aria-describedby'?: string;
83
+ /**
84
+ * aria-label
85
+ */
86
+ 'aria-label'?: string;
71
87
  };
@@ -129,6 +129,24 @@ export const WestpacUIKitBasePlugin = plugin.withOptions(
129
129
  transform: 'translateY(0)',
130
130
  },
131
131
  },
132
+ fadeInUp: {
133
+ '0%': {
134
+ opacity: '0',
135
+ transform: 'translateY(10vh)',
136
+ },
137
+ '100%': {
138
+ opacity: '1',
139
+ transform: 'translateY(0)',
140
+ },
141
+ },
142
+ slideUp: {
143
+ '0%': {
144
+ transform: 'translateY(100%)',
145
+ },
146
+ '100%': {
147
+ transform: 'translateY(0)',
148
+ },
149
+ },
132
150
  maxHeightIn: {
133
151
  '0%': { maxHeight: '0' },
134
152
  },
@@ -137,6 +155,8 @@ export const WestpacUIKitBasePlugin = plugin.withOptions(
137
155
  skeleton: 'waveLines 2s infinite ease-out',
138
156
  fadeIn: 'fadeIn 0.2s ease',
139
157
  fadeInDown: 'fadeInDown 0.4s ease',
158
+ fadeInUp: 'fadeInUp 0.4s ease',
159
+ slideUp: 'slideUp 0.4s ease',
140
160
  maxHeightIn: 'maxHeightIn 0.4s ease',
141
161
  },
142
162
  boxShadow: {