@westpac/ui 0.52.0 → 0.53.2
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.
- package/CHANGELOG.md +29 -0
- package/dist/component-type.json +1 -1
- package/dist/components/accordion/components/accordion-item/accordion-item.styles.js +1 -1
- package/dist/components/alert/alert.styles.js +1 -1
- package/dist/components/autocomplete/autocomplete.styles.js +1 -1
- package/dist/components/badge/badge.styles.d.ts +2 -2
- package/dist/components/badge/badge.styles.js +2 -2
- package/dist/components/bottom-sheet/components/bottom-sheet-dialog/bottom-sheet-dialog.styles.js +2 -2
- package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.js +1 -1
- package/dist/components/button/button.styles.js +1 -1
- package/dist/components/button-dropdown/button-dropdown.component.d.ts +1 -1
- package/dist/components/button-dropdown/button-dropdown.component.js +5 -3
- package/dist/components/button-dropdown/button-dropdown.types.d.ts +7 -2
- package/dist/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.styles.js +1 -1
- package/dist/components/collapsible/collapsible.styles.js +1 -1
- package/dist/components/compacta/compacta.styles.js +1 -1
- package/dist/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.component.js +1 -1
- package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.styles.d.ts +2 -2
- package/dist/components/date-picker-beta/components/date-field/components/date-segment/date-segment.styles.js +1 -1
- package/dist/components/date-picker-beta/components/popover/popover.styles.js +1 -1
- package/dist/components/filter/components/filter-buttons/filter-buttons.component.js +2 -3
- package/dist/components/filter/components/filter-buttons/filter-buttons.styles.js +5 -5
- package/dist/components/filter/filter.component.js +1 -1
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.d.ts +2 -2
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.js +1 -1
- package/dist/components/flexi-cell/flexi-cell.styles.js +1 -1
- package/dist/components/footer/footer.styles.js +1 -1
- package/dist/components/header/header.styles.js +1 -1
- package/dist/components/input-group/components/input-group-add-ons/input-group-add-ons.styles.d.ts +2 -2
- package/dist/components/input-group/components/input-group-add-ons/input-group-add-ons.styles.js +3 -3
- package/dist/components/input-group/input-group.component.js +3 -1
- package/dist/components/modal/components/modal-dialog/modal-dialog.styles.js +1 -1
- package/dist/components/pagination/components/pagination-item/pagination-item.component.js +8 -2
- package/dist/components/pagination/components/pagination-item/pagination-item.styles.d.ts +12 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.styles.js +5 -1
- package/dist/components/pagination/components/pagination-presentational/pagination-presentational.styles.js +1 -1
- package/dist/components/panel/components/panel-footer/panel-footer.styles.js +1 -1
- package/dist/components/panel/panel.styles.js +1 -1
- package/dist/components/popover/components/panel/panel.styles.js +2 -2
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.js +37 -19
- package/dist/components/repeater/repeater.styles.js +1 -1
- package/dist/components/table/table.styles.js +1 -1
- package/dist/components/tabs/components/tabs-tab/tabs-tab.styles.js +1 -1
- package/dist/components/tabs/components/tabs-tab-panel/tabs-tab-panel.styles.d.ts +2 -2
- package/dist/components/tabs/components/tabs-tab-panel/tabs-tab-panel.styles.js +1 -1
- package/dist/components/well/well.styles.d.ts +2 -2
- package/dist/components/well/well.styles.js +1 -1
- package/dist/css/westpac-ui.css +59 -9
- package/dist/css/westpac-ui.min.css +59 -9
- package/package.json +2 -2
- package/src/components/accordion/components/accordion-item/accordion-item.styles.ts +1 -1
- package/src/components/alert/alert.styles.ts +1 -1
- package/src/components/autocomplete/autocomplete.styles.ts +1 -1
- package/src/components/badge/badge.styles.ts +2 -2
- package/src/components/bottom-sheet/components/bottom-sheet-dialog/bottom-sheet-dialog.styles.ts +2 -2
- package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.tsx +1 -1
- package/src/components/button/button.styles.ts +1 -1
- package/src/components/button-dropdown/button-dropdown.component.tsx +8 -1
- package/src/components/button-dropdown/button-dropdown.types.ts +7 -2
- package/src/components/button-dropdown/components/button-dropdown-panel/button-dropdown-panel.styles.ts +1 -1
- package/src/components/collapsible/collapsible.styles.ts +1 -1
- package/src/components/compacta/compacta.styles.ts +1 -1
- package/src/components/date-picker-beta/components/calendar/components/calendar-grid/calendar-grid.component.tsx +1 -1
- package/src/components/date-picker-beta/components/date-field/components/date-segment/date-segment.styles.ts +1 -1
- package/src/components/date-picker-beta/components/popover/popover.styles.ts +1 -1
- package/src/components/filter/components/filter-buttons/filter-buttons.component.tsx +1 -2
- package/src/components/filter/components/filter-buttons/filter-buttons.styles.ts +5 -5
- package/src/components/filter/filter.component.tsx +1 -1
- package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.ts +1 -1
- package/src/components/flexi-cell/flexi-cell.styles.ts +1 -1
- package/src/components/footer/footer.styles.ts +1 -1
- package/src/components/header/header.styles.ts +1 -1
- package/src/components/input-group/components/input-group-add-ons/input-group-add-ons.styles.ts +3 -3
- package/src/components/input-group/input-group.component.tsx +3 -0
- package/src/components/modal/components/modal-dialog/modal-dialog.styles.ts +1 -1
- package/src/components/pagination/components/pagination-item/pagination-item.component.tsx +9 -2
- package/src/components/pagination/components/pagination-item/pagination-item.styles.ts +5 -1
- package/src/components/pagination/components/pagination-presentational/pagination-presentational.styles.ts +1 -1
- package/src/components/panel/components/panel-footer/panel-footer.styles.ts +1 -1
- package/src/components/panel/panel.styles.ts +1 -1
- package/src/components/popover/components/panel/panel.styles.ts +2 -2
- package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.tsx +62 -38
- package/src/components/repeater/repeater.styles.ts +1 -1
- package/src/components/table/table.styles.ts +1 -1
- package/src/components/tabs/components/tabs-tab/tabs-tab.styles.ts +1 -1
- package/src/components/tabs/components/tabs-tab-panel/tabs-tab-panel.styles.ts +1 -1
- package/src/components/well/well.styles.ts +1 -1
|
@@ -5,7 +5,7 @@ export const styles = tv({
|
|
|
5
5
|
itemHeader: 'typography-body-9 flex w-full flex-1 items-center justify-between px-3 py-2 group-first:border-t-0',
|
|
6
6
|
headerTitleWrapper: 'flex-1 pr-2 text-left',
|
|
7
7
|
indicator: 'size-3 rotate-90',
|
|
8
|
-
content: '',
|
|
8
|
+
content: '[&_:focus-visible]:focus-outline',
|
|
9
9
|
motionContent: ''
|
|
10
10
|
},
|
|
11
11
|
variants: {
|
|
@@ -3,7 +3,7 @@ export const styles = tv({
|
|
|
3
3
|
slots: {
|
|
4
4
|
base: 'typography-body-10 relative mb-5 xsl:flex',
|
|
5
5
|
icon: 'float-left flex-none',
|
|
6
|
-
body: 'relative flex-1
|
|
6
|
+
body: 'relative flex-1 xsl:top-[0.125rem] [&_:focus-visible]:focus-outline [&_a]:underline',
|
|
7
7
|
heading: 'typography-body-9 mb-1 font-bold',
|
|
8
8
|
close: 'absolute right-0.5 top-0.5 h-5.5 p-1 hover:opacity-80'
|
|
9
9
|
},
|
|
@@ -3,7 +3,7 @@ export const styles = tv({
|
|
|
3
3
|
slots: {
|
|
4
4
|
base: 'relative flex flex-1 flex-col',
|
|
5
5
|
label: 'block text-left text-sm font-medium text-text',
|
|
6
|
-
outerWrapper: 'form-control relative flex flex-1 flex-row items-stretch
|
|
6
|
+
outerWrapper: 'form-control relative flex flex-1 flex-row items-stretch pr-2 disabled:form-control-disabled group-[.input-group-after]:rounded-r-none group-[.input-group-before]:rounded-l-none group-[.input-group-after]:border-r-0 group-[.input-group-before]:border-l-0',
|
|
7
7
|
input: 'appearance-none bg-[transparent] outline-none',
|
|
8
8
|
clearButton: 'flex cursor-default items-center justify-center text-text-50 hover:text-border-60',
|
|
9
9
|
iconWrapper: 'flex flex-col justify-center'
|
|
@@ -25,7 +25,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
25
25
|
soft: {
|
|
26
26
|
true: string;
|
|
27
27
|
};
|
|
28
|
-
}, undefined, "inline-block w-fit whitespace-nowrap border text-center", {
|
|
28
|
+
}, undefined, "inline-block w-fit whitespace-nowrap border text-center [&_:focus-visible]:focus-outline", {
|
|
29
29
|
responsiveVariants: string[];
|
|
30
30
|
}, {
|
|
31
31
|
color: {
|
|
@@ -81,6 +81,6 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
81
81
|
soft: {
|
|
82
82
|
true: string;
|
|
83
83
|
};
|
|
84
|
-
}, undefined, "inline-block w-fit whitespace-nowrap border text-center", {
|
|
84
|
+
}, undefined, "inline-block w-fit whitespace-nowrap border text-center [&_:focus-visible]:focus-outline", {
|
|
85
85
|
responsiveVariants: string[];
|
|
86
86
|
}, unknown, unknown, undefined>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
|
-
base: 'inline-block w-fit whitespace-nowrap border text-center',
|
|
3
|
+
base: 'inline-block w-fit whitespace-nowrap border text-center [&_:focus-visible]:focus-outline',
|
|
4
4
|
variants: {
|
|
5
5
|
color: {
|
|
6
6
|
danger: 'border-danger bg-danger text-white',
|
|
@@ -22,7 +22,7 @@ export const styles = tv({
|
|
|
22
22
|
'warning-inverted': 'border-none bg-white text-warning'
|
|
23
23
|
},
|
|
24
24
|
type: {
|
|
25
|
-
pill: 'typography-body-10 flex h-4 min-w-4
|
|
25
|
+
pill: 'typography-body-10 inline-flex h-4 w-fit min-w-4 items-center justify-center rounded-xl px-[0.4375rem] font-medium leading-none',
|
|
26
26
|
default: 'h-[1.25rem] rounded-sm px-1 text-[0.75rem] leading-[1.125rem]'
|
|
27
27
|
},
|
|
28
28
|
soft: {
|
package/dist/components/bottom-sheet/components/bottom-sheet-dialog/bottom-sheet-dialog.styles.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
|
-
base: 'relative flex max-h-screen max-w-full flex-1 flex-col overflow-hidden rounded-t-md bg-white shadow-sm md:w-[37.5rem] md:rounded-md',
|
|
4
|
+
base: 'relative flex max-h-screen max-w-full flex-1 flex-col overflow-hidden rounded-t-md bg-white shadow-sm focus-visible:focus-outline md:w-[37.5rem] md:rounded-md',
|
|
5
5
|
title: 'typography-body-7 p-7 pb-4 pt-9 font-bold text-text max-md:px-5',
|
|
6
|
-
body: 'flex-1 overflow-auto px-7 pb-7 text-text max-md:px-5',
|
|
6
|
+
body: 'flex-1 overflow-auto px-7 pb-7 text-text max-md:px-5 [&_:focus-visible]:focus-outline',
|
|
7
7
|
closeBtn: 'absolute right-3 top-3 p-0',
|
|
8
8
|
buttonWrapper: '-mt-2 flex gap-1 px-7 pb-7 max-md:flex-col max-md:px-5 max-md:pb-5',
|
|
9
9
|
primaryBtn: '',
|
|
@@ -14,7 +14,7 @@ export function BaseBreadcrumbItem({ className, isDisabled = false, isCurrent =
|
|
|
14
14
|
elementType: FinalTag
|
|
15
15
|
}, ref);
|
|
16
16
|
return React.createElement("li", {
|
|
17
|
-
className: "inline-flex items-center"
|
|
17
|
+
className: "inline-flex items-center [&_:focus-visible]:focus-outline"
|
|
18
18
|
}, React.createElement(FinalTag, {
|
|
19
19
|
...{
|
|
20
20
|
...itemProps,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type ButtonDropdownProps } from './button-dropdown.types.js';
|
|
2
|
-
export declare function ButtonDropdown({ className, dropdownSize, iconBefore: IconBefore, open, text, children, size, look, soft, block, shouldFlip, }: ButtonDropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function ButtonDropdown({ className, dropdownSize, iconBefore: IconBefore, open, text, children, size, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelBy, look, soft, block, dropDownIcon: Icon, shouldFlip, }: ButtonDropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,7 +6,7 @@ import { Button } from '../button/index.js';
|
|
|
6
6
|
import { DropDownIcon } from '../icon/index.js';
|
|
7
7
|
import { styles as buttonDropdownStyles } from './button-dropdown.styles.js';
|
|
8
8
|
import { ButtonDropdownPanel } from './components/button-dropdown-panel/button-dropdown-panel.component.js';
|
|
9
|
-
export function ButtonDropdown({ className, dropdownSize = 'medium', iconBefore: IconBefore, open = false, text, children, size, look = 'hero', soft = false, block = false, shouldFlip }) {
|
|
9
|
+
export function ButtonDropdown({ className, dropdownSize = 'medium', iconBefore: IconBefore, open = false, text, children, size, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelBy, look = 'hero', soft = false, block = false, dropDownIcon: Icon = DropDownIcon, shouldFlip }) {
|
|
10
10
|
const ref = useRef(null);
|
|
11
11
|
const panelId = useId();
|
|
12
12
|
const styles = buttonDropdownStyles({
|
|
@@ -35,15 +35,17 @@ export function ButtonDropdown({ className, dropdownSize = 'medium', iconBefore:
|
|
|
35
35
|
]);
|
|
36
36
|
return React.createElement(React.Fragment, null, React.createElement(Button, {
|
|
37
37
|
ref: ref,
|
|
38
|
-
iconAfter: (props)=>React.createElement(
|
|
38
|
+
iconAfter: !(look === 'link' || look === 'unstyled') ? (props)=>React.createElement(Icon, {
|
|
39
39
|
"aria-hidden": true,
|
|
40
40
|
...props
|
|
41
|
-
}),
|
|
41
|
+
}) : undefined,
|
|
42
42
|
iconBefore: IconBefore,
|
|
43
43
|
size: size,
|
|
44
44
|
look: look,
|
|
45
45
|
soft: soft,
|
|
46
46
|
block: block,
|
|
47
|
+
"aria-label": ariaLabel,
|
|
48
|
+
"aria-labelledby": ariaLabelBy,
|
|
47
49
|
"aria-expanded": state.isOpen,
|
|
48
50
|
"aria-controls": panelId,
|
|
49
51
|
className: styles.base(),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
import { type VariantProps } from 'tailwind-variants';
|
|
3
3
|
import { ButtonProps } from '../button/index.js';
|
|
4
|
+
import { IconProps } from '../icon/icon.types.js';
|
|
4
5
|
import { styles } from './button-dropdown.styles.js';
|
|
5
6
|
import { ButtonDropdownPanelProps } from './components/button-dropdown-panel/button-dropdown-panel.types.js';
|
|
6
7
|
type Variants = VariantProps<typeof styles>;
|
|
@@ -16,7 +17,7 @@ export type ButtonDropdownProps = {
|
|
|
16
17
|
/**
|
|
17
18
|
* Look for button
|
|
18
19
|
*/
|
|
19
|
-
look?: 'primary' | 'hero' | 'faint';
|
|
20
|
+
look?: 'primary' | 'hero' | 'faint' | 'unstyled' | 'link';
|
|
20
21
|
/**
|
|
21
22
|
* State of whether the Popover is open
|
|
22
23
|
*/
|
|
@@ -28,6 +29,10 @@ export type ButtonDropdownProps = {
|
|
|
28
29
|
/**
|
|
29
30
|
* Button text
|
|
30
31
|
*/
|
|
31
|
-
text
|
|
32
|
+
text?: ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* Dropdown icon
|
|
35
|
+
*/
|
|
36
|
+
dropDownIcon?: (props: IconProps) => ReactNode;
|
|
32
37
|
} & ButtonHTMLAttributes<Element> & Pick<ButtonProps, 'size' | 'iconBefore' | 'block'> & Pick<ButtonDropdownPanelProps, 'shouldFlip'>;
|
|
33
38
|
export {};
|
|
@@ -2,7 +2,7 @@ import { tv } from 'tailwind-variants';
|
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
4
|
base: 'my-0.5 rounded border border-border bg-white p-2 shadow-[0_0.375rem_0.75rem_rgba(0,0,0,0.175)]',
|
|
5
|
-
dialog: ''
|
|
5
|
+
dialog: '[&_:focus-visible]:focus-outline'
|
|
6
6
|
},
|
|
7
7
|
variants: {
|
|
8
8
|
isFocused: {
|
|
@@ -2,7 +2,7 @@ import { tv } from 'tailwind-variants';
|
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
4
|
base: 'px-0 text-text no-underline hover:underline',
|
|
5
|
-
content: 'typography-body-10 mb-2 block'
|
|
5
|
+
content: 'typography-body-10 mb-2 block [&_:focus-visible]:focus-outline'
|
|
6
6
|
},
|
|
7
7
|
variants: {
|
|
8
8
|
open: {
|
|
@@ -12,7 +12,7 @@ export const styles = tv({
|
|
|
12
12
|
addBtn: 'h-auto p-0 no-underline hover:underline',
|
|
13
13
|
toggleBtn: 'p-0',
|
|
14
14
|
collapsible: '',
|
|
15
|
-
content: 'px-3 pb-5 pt-0 md:px-9',
|
|
15
|
+
content: 'px-3 pb-5 pt-0 md:px-9 [&_:focus-visible]:focus-outline',
|
|
16
16
|
footer: '',
|
|
17
17
|
titlePrimary: 'typography-body-9 font-bold',
|
|
18
18
|
titleSecondary: 'mt-1 items-center',
|
|
@@ -11,7 +11,7 @@ export function CalendarGrid({ state, weekdayStyle = 'short', ...props }) {
|
|
|
11
11
|
...gridProps
|
|
12
12
|
}, React.createElement("thead", headerProps, React.createElement("tr", null, weekDays.map((day, index)=>React.createElement("th", {
|
|
13
13
|
key: index,
|
|
14
|
-
className: "
|
|
14
|
+
className: "size-6 text-center text-[0.75rem] font-semibold leading-9 text-text"
|
|
15
15
|
}, day.toUpperCase().slice(0, 2))))), React.createElement("tbody", null, [
|
|
16
16
|
...new Array(weeksInMonth).keys()
|
|
17
17
|
].map((weekIndex)=>React.createElement("tr", {
|
|
@@ -11,7 +11,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
11
11
|
true: string;
|
|
12
12
|
false: string;
|
|
13
13
|
};
|
|
14
|
-
}, undefined, "font-light disabled:form-control-disabled", {
|
|
14
|
+
}, undefined, "font-light disabled:form-control-disabled focus:focus-outline", {
|
|
15
15
|
responsiveVariants: string[];
|
|
16
16
|
}, {
|
|
17
17
|
isPlaceholder: {
|
|
@@ -39,6 +39,6 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
39
39
|
true: string;
|
|
40
40
|
false: string;
|
|
41
41
|
};
|
|
42
|
-
}, undefined, "font-light disabled:form-control-disabled", {
|
|
42
|
+
}, undefined, "font-light disabled:form-control-disabled focus:focus-outline", {
|
|
43
43
|
responsiveVariants: string[];
|
|
44
44
|
}, unknown, unknown, undefined>>;
|
|
@@ -18,7 +18,7 @@ export const styles = tv({
|
|
|
18
18
|
},
|
|
19
19
|
false: {
|
|
20
20
|
underlay: '',
|
|
21
|
-
closeButton: '
|
|
21
|
+
closeButton: 'pointer-events-none absolute right-0 top-0 size-5 -translate-y-1/2 translate-x-1/2 touch-none rounded-full border border-border bg-white opacity-0 focus:pointer-events-auto focus:touch-auto focus:opacity-100',
|
|
22
22
|
headerLabel: 'hidden',
|
|
23
23
|
popover: 'absolute mt-1 scale-100 animate-fadeIn rounded border border-border bg-white opacity-100 shadow-[0_5px_10px_rgba(0,0,0,0.2)]'
|
|
24
24
|
}
|
|
@@ -34,7 +34,7 @@ export function FilterButtons({ filterButtons, onClick, selectedButton, tag: Tag
|
|
|
34
34
|
let targetElement;
|
|
35
35
|
let scrollX;
|
|
36
36
|
let scrollBy = true;
|
|
37
|
-
const buttonPaddingOffset =
|
|
37
|
+
const buttonPaddingOffset = 26;
|
|
38
38
|
if (direction === 'left') {
|
|
39
39
|
if (scrollTarget.left === -1) {
|
|
40
40
|
scrollX = -container.clientWidth;
|
|
@@ -190,8 +190,7 @@ export function FilterButtons({ filterButtons, onClick, selectedButton, tag: Tag
|
|
|
190
190
|
}),
|
|
191
191
|
style: {
|
|
192
192
|
scrollbarWidth: 'none',
|
|
193
|
-
msOverflowStyle: 'none'
|
|
194
|
-
overflowX: 'scroll'
|
|
193
|
+
msOverflowStyle: 'none'
|
|
195
194
|
},
|
|
196
195
|
...props,
|
|
197
196
|
ref: scrollContainerRef,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
|
-
base: 'relative flex justify-start',
|
|
5
|
-
buttonList: 'flex w-full touch-pan-x gap-1 overflow-
|
|
6
|
-
scrollButton: 'absolute rounded-none contrast-more:bg-black'
|
|
4
|
+
base: 'relative -left-1 flex justify-start',
|
|
5
|
+
buttonList: 'flex w-full touch-pan-x gap-1 overflow-y-visible overflow-x-scroll whitespace-nowrap p-1',
|
|
6
|
+
scrollButton: 'absolute inset-y-0 h-auto rounded-none contrast-more:bg-black'
|
|
7
7
|
},
|
|
8
8
|
variants: {
|
|
9
9
|
position: {
|
|
10
10
|
left: {
|
|
11
|
-
scrollButton: '
|
|
11
|
+
scrollButton: 'left-0 bg-[linear-gradient(90deg,_#fff_66%,_transparent)] pl-0'
|
|
12
12
|
},
|
|
13
13
|
right: {
|
|
14
|
-
scrollButton: '-right-
|
|
14
|
+
scrollButton: '-right-2 bg-[linear-gradient(270deg,_#fff_66%,_transparent)] pr-0'
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
hidden: {
|
|
@@ -10,7 +10,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
10
10
|
base: string;
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
|
-
}, undefined, "flex flex-1 flex-col gap-1 overflow-
|
|
13
|
+
}, undefined, "flex flex-1 flex-col gap-1 overflow-x-clip", {
|
|
14
14
|
responsiveVariants: string[];
|
|
15
15
|
}, {
|
|
16
16
|
isLink: {
|
|
@@ -36,6 +36,6 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
36
36
|
base: string;
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
|
-
}, undefined, "flex flex-1 flex-col gap-1 overflow-
|
|
39
|
+
}, undefined, "flex flex-1 flex-col gap-1 overflow-x-clip", {
|
|
40
40
|
responsiveVariants: string[];
|
|
41
41
|
}, unknown, unknown, undefined>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
|
-
base: 'relative flex bg-white transition-colors',
|
|
4
|
+
base: 'relative flex bg-white transition-colors [&_:focus-visible]:focus-outline',
|
|
5
5
|
topBadgeWrapper: 'absolute right-[-1px] top-[-1px]',
|
|
6
6
|
topBadge: 'rounded-br-none rounded-tl-none'
|
|
7
7
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
|
-
base: 'relative overflow-hidden border-t border-t-border',
|
|
4
|
+
base: 'relative overflow-hidden border-t border-t-border [&_:focus-visible]:focus-outline',
|
|
5
5
|
wrapper: 'pt-3 max-md:px-2 max-md:pb-3 md:px-4 md:pb-3',
|
|
6
6
|
link: 'float-right block',
|
|
7
7
|
logoWrapper: 'flex justify-end'
|
|
@@ -8,7 +8,7 @@ export const styles = tv({
|
|
|
8
8
|
largeLogo: 'max-sm:hidden',
|
|
9
9
|
leftContent: 'flex items-center',
|
|
10
10
|
leftButton: 'my-1 rounded-none border-r border-[#E8E8ED] p-0 max-sm:-ml-2 max-sm:mr-2 max-sm:h-7 max-sm:min-w-7 sm:-ml-4 sm:mr-3 sm:h-[3.3125rem] sm:min-w-10',
|
|
11
|
-
rightContent: 'ml-auto flex items-center'
|
|
11
|
+
rightContent: 'ml-auto flex items-center [&_:focus-visible]:focus-outline'
|
|
12
12
|
},
|
|
13
13
|
variants: {
|
|
14
14
|
logoCenter: {
|
package/dist/components/input-group/components/input-group-add-ons/input-group-add-ons.styles.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
7
7
|
before: string;
|
|
8
8
|
after: string;
|
|
9
9
|
};
|
|
10
|
-
}, undefined, "inset-y-0", {
|
|
10
|
+
}, undefined, "inset-y-0 focus-within:z-20", {
|
|
11
11
|
responsiveVariants: string[];
|
|
12
12
|
}, {
|
|
13
13
|
isInset: {
|
|
@@ -27,6 +27,6 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
27
27
|
before: string;
|
|
28
28
|
after: string;
|
|
29
29
|
};
|
|
30
|
-
}, undefined, "inset-y-0", {
|
|
30
|
+
}, undefined, "inset-y-0 focus-within:z-20", {
|
|
31
31
|
responsiveVariants: string[];
|
|
32
32
|
}, unknown, unknown, undefined>>;
|
package/dist/components/input-group/components/input-group-add-ons/input-group-add-ons.styles.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
|
-
base: 'inset-y-0',
|
|
3
|
+
base: 'inset-y-0 focus-within:z-20',
|
|
4
4
|
variants: {
|
|
5
5
|
isInset: {
|
|
6
6
|
true: 'absolute',
|
|
@@ -15,12 +15,12 @@ export const styles = tv({
|
|
|
15
15
|
{
|
|
16
16
|
isInset: true,
|
|
17
17
|
position: 'before',
|
|
18
|
-
className: 'left-0'
|
|
18
|
+
className: 'left-0 z-[11]'
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
isInset: true,
|
|
22
22
|
position: 'after',
|
|
23
|
-
className: 'right-0'
|
|
23
|
+
className: 'right-0 z-[11]'
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
}, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { clsx } from 'clsx';
|
|
2
3
|
import React, { Children, cloneElement, isValidElement, useCallback, useId, useMemo } from 'react';
|
|
3
4
|
import { ErrorMessage, Hint, Label } from '../index.js';
|
|
4
5
|
import { InputGroupSupportingText } from './components/index.js';
|
|
@@ -78,7 +79,8 @@ export function InputGroup({ label, hideLabel, size = 'medium', hint, errorMessa
|
|
|
78
79
|
'aria-label': ariaLabel,
|
|
79
80
|
...width !== 'full' ? {
|
|
80
81
|
width: width
|
|
81
|
-
} : {}
|
|
82
|
+
} : {},
|
|
83
|
+
className: clsx(child.props.className, 'focus:z-10')
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
});
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { mergeProps, useButton, useFocusRing } from 'react-aria';
|
|
2
3
|
import { styles } from './pagination-item.styles.js';
|
|
3
4
|
export function PaginationItem({ className, firstItem = false, lastItem = false, tag: Tag = 'a', children, active, disabled = false, ...props }) {
|
|
5
|
+
const ref = React.useRef(null);
|
|
6
|
+
const { focusProps, isFocusVisible } = useFocusRing();
|
|
7
|
+
const { buttonProps } = useButton(props, ref);
|
|
8
|
+
const finalButtonProps = mergeProps(focusProps, buttonProps);
|
|
4
9
|
return React.createElement(Tag, {
|
|
5
10
|
className: styles({
|
|
6
11
|
className,
|
|
7
12
|
firstItem,
|
|
8
13
|
lastItem,
|
|
9
14
|
active,
|
|
10
|
-
disabled
|
|
15
|
+
disabled,
|
|
16
|
+
isFocusVisible
|
|
11
17
|
}),
|
|
12
|
-
...
|
|
18
|
+
...finalButtonProps,
|
|
13
19
|
disabled: disabled,
|
|
14
20
|
"aria-disabled": disabled ? 'true' : 'false',
|
|
15
21
|
"aria-current": active ? 'page' : undefined,
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
isFocusVisible: {
|
|
3
|
+
true: string;
|
|
4
|
+
false: string;
|
|
5
|
+
};
|
|
2
6
|
firstItem: {
|
|
3
7
|
true: string;
|
|
4
8
|
false: string;
|
|
@@ -18,6 +22,10 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
18
22
|
}, undefined, "typography-body-10 relative block min-w-7 border border-border px-2 py-1.5 text-center text-text", {
|
|
19
23
|
responsiveVariants: string[];
|
|
20
24
|
}, {
|
|
25
|
+
isFocusVisible: {
|
|
26
|
+
true: string;
|
|
27
|
+
false: string;
|
|
28
|
+
};
|
|
21
29
|
firstItem: {
|
|
22
30
|
true: string;
|
|
23
31
|
false: string;
|
|
@@ -35,6 +43,10 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
|
35
43
|
false: string;
|
|
36
44
|
};
|
|
37
45
|
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
46
|
+
isFocusVisible: {
|
|
47
|
+
true: string;
|
|
48
|
+
false: string;
|
|
49
|
+
};
|
|
38
50
|
firstItem: {
|
|
39
51
|
true: string;
|
|
40
52
|
false: string;
|
|
@@ -2,6 +2,10 @@ import { tv } from 'tailwind-variants';
|
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
base: 'typography-body-10 relative block min-w-7 border border-border px-2 py-1.5 text-center text-text',
|
|
4
4
|
variants: {
|
|
5
|
+
isFocusVisible: {
|
|
6
|
+
true: 'z-10 focus-outline',
|
|
7
|
+
false: ''
|
|
8
|
+
},
|
|
5
9
|
firstItem: {
|
|
6
10
|
true: 'rounded-l',
|
|
7
11
|
false: 'ml-[-1px]'
|
|
@@ -11,7 +15,7 @@ export const styles = tv({
|
|
|
11
15
|
false: ''
|
|
12
16
|
},
|
|
13
17
|
active: {
|
|
14
|
-
true: '
|
|
18
|
+
true: 'border-hero bg-hero text-white',
|
|
15
19
|
false: 'hover:bg-light'
|
|
16
20
|
},
|
|
17
21
|
disabled: {
|
|
@@ -2,7 +2,7 @@ import { tv } from 'tailwind-variants';
|
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
4
|
base: 'flex flex-col items-center',
|
|
5
|
-
ul: 'flex
|
|
5
|
+
ul: 'flex',
|
|
6
6
|
emptyItem: 'typography-body-10 relative block min-w-7 cursor-default border-y border-border px-2 py-1.5 text-center text-text'
|
|
7
7
|
},
|
|
8
8
|
variants: {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
|
-
base: 'border-0 border-t border-border bg-light px-2 py-[0.625rem] sm:px-4'
|
|
4
|
+
base: 'border-0 border-t border-border bg-light px-2 py-[0.625rem] sm:px-4 [&_:focus-visible]:focus-outline'
|
|
5
5
|
},
|
|
6
6
|
variants: {}
|
|
7
7
|
}, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tv } from 'tailwind-variants';
|
|
2
2
|
export const styles = tv({
|
|
3
3
|
slots: {
|
|
4
|
-
base: 'group/panel overflow-hidden rounded border border-hero',
|
|
4
|
+
base: 'group/panel overflow-hidden rounded border border-hero [&_:focus-visible]:focus-outline',
|
|
5
5
|
header: 'px-2 py-[0.625rem] sm:px-4'
|
|
6
6
|
},
|
|
7
7
|
variants: {
|
|
@@ -9,8 +9,8 @@ export const styles = tv({
|
|
|
9
9
|
`,
|
|
10
10
|
closeBtn: 'absolute right-1 top-1 h-3 p-0 hover:opacity-80',
|
|
11
11
|
content: 'w-[17.625rem] rounded-[3px] bg-white py-4 pl-3 pr-5',
|
|
12
|
-
heading: 'typography-body-9 mb-2 font-medium text-text',
|
|
13
|
-
body: 'typography-body-10 text-text'
|
|
12
|
+
heading: 'typography-body-9 mb-2 font-medium text-text focus-visible:focus-outline',
|
|
13
|
+
body: 'typography-body-10 text-text focus-visible:focus-outline'
|
|
14
14
|
},
|
|
15
15
|
variants: {
|
|
16
16
|
placement: {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import React, { useId, useMemo } from 'react';
|
|
1
|
+
import { LazyMotion, m, useAnimate } from 'motion/react';
|
|
2
|
+
import React, { useEffect, useId, useMemo, useState } from 'react';
|
|
3
3
|
import { useFocusRing } from 'react-aria';
|
|
4
4
|
import { Circle, VisuallyHidden } from '../../../index.js';
|
|
5
5
|
import { ProgressRopeStep } from '../index.js';
|
|
6
6
|
import { styles as progressRopeGroupStyles } from './progress-rope-group-step.styles.js';
|
|
7
7
|
const loadAnimations = ()=>import('./progress-rope-group-step.utils.js').then((res)=>res.default);
|
|
8
8
|
export function ProgressRopeGroupStep({ steps, currentKey, furthestVisitedStep, children, firstItem, opened, onToggle, tag: Tag }) {
|
|
9
|
+
const [scope, animate] = useAnimate();
|
|
9
10
|
const id = useId();
|
|
10
11
|
const stepsContainerID = `progress-rope-group-steps-container-${id}`;
|
|
11
12
|
const current = useMemo(()=>{
|
|
@@ -55,6 +56,32 @@ export function ProgressRopeGroupStep({ steps, currentKey, furthestVisitedStep,
|
|
|
55
56
|
state,
|
|
56
57
|
isFocusVisible
|
|
57
58
|
});
|
|
59
|
+
const [overflowVisible, setOverflowVisible] = useState(false);
|
|
60
|
+
useEffect(()=>{
|
|
61
|
+
if (opened) {
|
|
62
|
+
animate(scope.current, {
|
|
63
|
+
height: 'auto'
|
|
64
|
+
}, {
|
|
65
|
+
duration: 0.2,
|
|
66
|
+
ease: 'easeInOut',
|
|
67
|
+
onComplete: ()=>{
|
|
68
|
+
setOverflowVisible(true);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
} else {
|
|
72
|
+
animate(scope.current, {
|
|
73
|
+
height: 0
|
|
74
|
+
}, {
|
|
75
|
+
duration: 0.2,
|
|
76
|
+
ease: 'easeInOut',
|
|
77
|
+
onPlay: ()=>{
|
|
78
|
+
setOverflowVisible(false);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}, [
|
|
83
|
+
opened
|
|
84
|
+
]);
|
|
58
85
|
return React.createElement(Tag, null, React.createElement("button", {
|
|
59
86
|
"aria-expanded": opened,
|
|
60
87
|
className: styles.circleWrapper({}),
|
|
@@ -66,23 +93,13 @@ export function ProgressRopeGroupStep({ steps, currentKey, furthestVisitedStep,
|
|
|
66
93
|
"aria-hidden": "true"
|
|
67
94
|
}), children, React.createElement(VisuallyHidden, null, visuallyHiddenMessage)), React.createElement(LazyMotion, {
|
|
68
95
|
features: loadAnimations
|
|
69
|
-
}, React.createElement(
|
|
70
|
-
|
|
71
|
-
}, opened && React.createElement(m.div, {
|
|
96
|
+
}, React.createElement(m.div, {
|
|
97
|
+
ref: scope,
|
|
72
98
|
initial: {
|
|
73
|
-
height: 0
|
|
74
|
-
overflow: 'hidden'
|
|
75
|
-
},
|
|
76
|
-
animate: {
|
|
77
|
-
height: 'auto'
|
|
78
|
-
},
|
|
79
|
-
exit: {
|
|
80
|
-
height: 0,
|
|
81
|
-
overflow: 'hidden'
|
|
99
|
+
height: opened ? 'auto' : 0
|
|
82
100
|
},
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
ease: 'easeInOut'
|
|
101
|
+
style: {
|
|
102
|
+
overflow: overflowVisible ? 'visible' : 'hidden'
|
|
86
103
|
}
|
|
87
104
|
}, React.createElement("ol", {
|
|
88
105
|
className: styles.stepsWrapper({}),
|
|
@@ -97,6 +114,7 @@ export function ProgressRopeGroupStep({ steps, currentKey, furthestVisitedStep,
|
|
|
97
114
|
onClick: (furthestVisitedStep || 0) >= step.index ? step.onClick : undefined,
|
|
98
115
|
current: step.index === currentKey,
|
|
99
116
|
visited: (furthestVisitedStep || 0) > step.index,
|
|
100
|
-
furthest: furthestVisitedStep === step.index
|
|
101
|
-
|
|
117
|
+
furthest: furthestVisitedStep === step.index,
|
|
118
|
+
tabIndex: opened ? 0 : -1
|
|
119
|
+
}, step.text)))))));
|
|
102
120
|
}
|
|
@@ -5,7 +5,7 @@ export const styles = tv({
|
|
|
5
5
|
list: 'm-0 flex list-none flex-col pl-0',
|
|
6
6
|
item: 'relative',
|
|
7
7
|
itemIndex: 'mb-3 font-bold',
|
|
8
|
-
content: '',
|
|
8
|
+
content: '[&_:focus-visible]:focus-outline',
|
|
9
9
|
removeBtn: 'absolute right-0 top-0 h-auto p-0 no-underline hover:underline',
|
|
10
10
|
footer: 'flex justify-between pt-[0.875rem]',
|
|
11
11
|
addBtn: 'h-auto p-0 no-underline hover:underline'
|