@moneyforward/mfui-components 3.27.2 → 3.28.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.
- package/dist/src/Button/Button.js +1 -1
- package/dist/src/CheckboxGroup/CheckboxGroup.js +1 -1
- package/dist/src/DataTable/DataTableCell/DataTableCell.js +4 -3
- package/dist/src/Disclosure/Disclosure.js +1 -1
- package/dist/src/FilterTrigger/FilterTrigger.js +1 -1
- package/dist/src/IconButton/IconButton.types.d.ts +6 -2
- package/dist/src/MainNavigation/BaseMainNavigation.js +4 -4
- package/dist/src/MainNavigation/NarrowViewportMainNavigation.js +2 -2
- package/dist/src/MultipleSelectBox/MultipleSelectBoxTrigger/MultipleSelectBoxTrigger.js +1 -1
- package/dist/src/Pagination/PagePicker/PagePicker.js +2 -2
- package/dist/src/Popover/Popover.js +3 -1
- package/dist/src/SearchBox/SearchBox.js +1 -1
- package/dist/src/SelectBox/SelectBox.js +2 -2
- package/dist/src/SelectBox/SelectBox.types.d.ts +6 -0
- package/dist/src/Sidebar/Sidebar.d.ts +1 -1
- package/dist/src/Sidebar/Sidebar.js +3 -3
- package/dist/src/Sidebar/Sidebar.types.d.ts +2 -2
- package/dist/src/Sidebar/SidebarServiceMenu.d.ts +3 -4
- package/dist/src/Sidebar/SidebarServiceMenu.js +5 -12
- package/dist/src/SubNavigation/SubNavigation.js +2 -2
- package/dist/styled-system/recipes/data-table-cell-slot-recipe.d.ts +2 -1
- package/dist/styled-system/recipes/data-table-cell-slot-recipe.js +21 -1
- package/dist/styles.css +18 -50
- package/package.json +2 -2
|
@@ -50,5 +50,5 @@ type = 'button', href, customLinkComponent, ...props }, ref) => {
|
|
|
50
50
|
...props,
|
|
51
51
|
};
|
|
52
52
|
}, [isButton, classes.root, className, href, isDisabled, type, props, ref]);
|
|
53
|
-
return (_jsx(FocusIndicator, { children: _jsxs(Tag, { ...tagProps, children: [leftIcon ? _jsx("div", { className: cx(classes.leftIcon, 'mfui-Button__leftIcon'), children: leftIcon }) : null, loading ? (_jsx(ProgressIndicator, { className: cx(classes.loadingIndicator, 'mfui-Button__loadingIndicator') })) : null, typeof children === 'string' ? _jsx(Typography, { variant: typographyVariant, children: children }) : children, rightIcon ? _jsx("div", { className: cx(classes.rightIcon, 'mfui-Button__rightIcon'), children: rightIcon }) : null, isDropdownTrigger ? _jsx(Dropdown, { className: cx(classes.dropdownIcon, 'mfui-Button__dropdownIcon') }) : null] }) }));
|
|
53
|
+
return (_jsx(FocusIndicator, { children: _jsxs(Tag, { ...tagProps, children: [leftIcon ? _jsx("div", { className: cx(classes.leftIcon, 'mfui-Button__leftIcon'), children: leftIcon }) : null, loading ? (_jsx(ProgressIndicator, { className: cx(classes.loadingIndicator, 'mfui-Button__loadingIndicator') })) : null, typeof children === 'string' ? _jsx(Typography, { variant: typographyVariant, children: children }) : children, rightIcon ? _jsx("div", { className: cx(classes.rightIcon, 'mfui-Button__rightIcon'), children: rightIcon }) : null, isDropdownTrigger ? (_jsx(Dropdown, { "aria-hidden": "true", className: cx(classes.dropdownIcon, 'mfui-Button__dropdownIcon') })) : null] }) }));
|
|
54
54
|
});
|
|
@@ -41,5 +41,5 @@ export const CheckboxGroup = forwardRef(({ className, defaultValues, values, dis
|
|
|
41
41
|
values: values ?? localValues,
|
|
42
42
|
onChange: handleOnChange,
|
|
43
43
|
}), [disabled, handleOnChange, localValues, name, values]);
|
|
44
|
-
return (_jsx("div", { ref: ref, ...props, className: cx(classes.root, 'mfui-CheckboxGroup__root', className), children: _jsx(CheckboxGroupContext.Provider, { value: contextValue, children: children }) }));
|
|
44
|
+
return (_jsx("div", { ref: ref, ...props, className: cx(classes.root, 'mfui-CheckboxGroup__root', className), role: "group", children: _jsx(CheckboxGroupContext.Provider, { value: contextValue, children: children }) }));
|
|
45
45
|
});
|
|
@@ -11,7 +11,7 @@ import { useFixedColumns } from '../../utilities/dom/useFixedColumns';
|
|
|
11
11
|
import { handleCheckboxCellClick } from '../utils/handleCheckbox';
|
|
12
12
|
import { mergeRefs } from '../../utilities/dom/mergeRefs';
|
|
13
13
|
export const DataTableCell = forwardRef(({ onClickCell, children, type = 'text', className, isRowHighlighted, disabled = false, depth = 0, columnIndex, disclosureIconProps: nestingIconProps, style, ...props }, ref) => {
|
|
14
|
-
const { size, leftFixedColumnIndex, rightFixedColumnIndex, loading, enableRowSelection } = useDataTableContext();
|
|
14
|
+
const { size, leftFixedColumnIndex, rightFixedColumnIndex, loading, enableRowSelection, layout } = useDataTableContext();
|
|
15
15
|
const { cellRef, isFixedColumn, isEdgeFixedColumn, fixedPositionStyles } = useFixedColumns({
|
|
16
16
|
enableRowSelection,
|
|
17
17
|
columnIndex,
|
|
@@ -25,6 +25,7 @@ export const DataTableCell = forwardRef(({ onClickCell, children, type = 'text',
|
|
|
25
25
|
fixedColumn: isFixedColumn,
|
|
26
26
|
edgeFixedColumn: isEdgeFixedColumn,
|
|
27
27
|
isCheckboxCell: enableRowSelection && columnIndex === 0,
|
|
28
|
+
layout,
|
|
28
29
|
});
|
|
29
30
|
const handleClick = (event) => {
|
|
30
31
|
onClickCell?.(event);
|
|
@@ -63,9 +64,9 @@ function DisclosureIcon({ disclosureIconProps, classes, }) {
|
|
|
63
64
|
}
|
|
64
65
|
const disclosureIcon = (() => {
|
|
65
66
|
if (disclosureIconProps.type === 'basic') {
|
|
66
|
-
return disclosureIconProps.isOpen ? _jsx(DisclosureBasicExpanded, {}) : _jsx(DisclosureBasicCollapsed, {});
|
|
67
|
+
return disclosureIconProps.isOpen ? (_jsx(DisclosureBasicExpanded, { "aria-hidden": "true" })) : (_jsx(DisclosureBasicCollapsed, { "aria-hidden": "true" }));
|
|
67
68
|
}
|
|
68
|
-
return disclosureIconProps.isOpen ? _jsx(DisclosureNestedExpanded, {}) : _jsx(DisclosureNestedCollapsed, {});
|
|
69
|
+
return disclosureIconProps.isOpen ? (_jsx(DisclosureNestedExpanded, { "aria-hidden": "true" })) : (_jsx(DisclosureNestedCollapsed, { "aria-hidden": "true" }));
|
|
69
70
|
})();
|
|
70
71
|
return (_jsx("div", { className: cx(classes.disclosureIconWrapper, 'mfui-DataTableCell__disclosureIconWrapper',
|
|
71
72
|
/* TODO: Remove in v5.0.0 */ 'mfui-DataGridCell__disclosureIconWrapper'), children: disclosureIcon }));
|
|
@@ -47,7 +47,7 @@ const Trigger = forwardRef(({ targetId, children, className, onClick, ...props }
|
|
|
47
47
|
toggle();
|
|
48
48
|
onClick?.(event);
|
|
49
49
|
}, [onClick, toggle]);
|
|
50
|
-
return (_jsx(FocusIndicator, { children: _jsxs("button", { ref: ref, className: cx(classes.trigger, 'mfui-Disclosure__trigger', className), "aria-expanded": isOpen, "aria-controls": targetId, onClick: handleClick, ...props, children: [_jsx(Typography, { variant: "controlLabel", children: children }), isOpen ? _jsx(DisclosureBasicExpanded, {}) : _jsx(DisclosureBasicCollapsed, {})] }) }));
|
|
50
|
+
return (_jsx(FocusIndicator, { children: _jsxs("button", { ref: ref, className: cx(classes.trigger, 'mfui-Disclosure__trigger', className), "aria-expanded": isOpen, "aria-controls": targetId, onClick: handleClick, ...props, children: [_jsx(Typography, { variant: "controlLabel", children: children }), isOpen ? _jsx(DisclosureBasicExpanded, { "aria-hidden": "true" }) : _jsx(DisclosureBasicCollapsed, { "aria-hidden": "true" })] }) }));
|
|
51
51
|
});
|
|
52
52
|
/**
|
|
53
53
|
* The target component for the Disclosure.
|
|
@@ -13,6 +13,6 @@ import { filterTriggerSlotRecipe } from '../../styled-system/recipes';
|
|
|
13
13
|
export const FilterTrigger = forwardRef(({ label, value, inputProps, className, enableClearButton = false, clearButtonProps, ...props }, ref) => {
|
|
14
14
|
const classes = filterTriggerSlotRecipe();
|
|
15
15
|
const displayContent = value ? (_jsxs(Typography, { variant: "strongBody", children: [_jsx("span", { "data-mfui-content": "filter-trigger-label", children: `${label}:` }), _jsx("span", { "data-mfui-content": "filter-trigger-value", children: value })] })) : (_jsx(Typography, { variant: "controlLabel", children: _jsx("span", { "data-mfui-content": "filter-trigger-label", children: label }) }));
|
|
16
|
-
return (_jsxs("div", { className: cx(classes.wrapper, 'mfui-FilterTrigger__wrapper'), children: [_jsx(FocusIndicator, { children: _jsxs("button", { ref: ref, type: "button", className: cx(classes.trigger, 'mfui-FilterTrigger__trigger', className), "data-selected": !!value, "data-mfui-has-clear-button": enableClearButton ? !!value : false, ...props, children: [_jsx("span", { className: cx(classes.content, 'mfui-FilterTrigger__content'), "data-mfui-content": "filter-trigger-display-value", children: displayContent }), _jsx("span", { className: cx(classes.dropdownIcon, 'mfui-FilterTrigger__dropdownIcon'), children: _jsx(DropdownIcon, {}) })] }) }), _jsx("input", { type: "hidden", ...inputProps, value: value }), enableClearButton && value ? (_jsx("div", { className: cx(classes.clearButtonWrapper, 'mfui-FilterTrigger__clearButtonWrapper'), children: _jsx(ClearButton, { "aria-label": clearButtonProps?.['aria-label'] ?? '値をクリアする', "data-mfui-content": "filter-trigger-clear-button", onClick: clearButtonProps?.onClick }) })) : null] }));
|
|
16
|
+
return (_jsxs("div", { className: cx(classes.wrapper, 'mfui-FilterTrigger__wrapper'), children: [_jsx(FocusIndicator, { children: _jsxs("button", { ref: ref, type: "button", className: cx(classes.trigger, 'mfui-FilterTrigger__trigger', className), "data-selected": !!value, "data-mfui-has-clear-button": enableClearButton ? !!value : false, ...props, children: [_jsx("span", { className: cx(classes.content, 'mfui-FilterTrigger__content'), "data-mfui-content": "filter-trigger-display-value", children: displayContent }), _jsx("span", { className: cx(classes.dropdownIcon, 'mfui-FilterTrigger__dropdownIcon'), children: _jsx(DropdownIcon, { "aria-hidden": "true" }) })] }) }), _jsx("input", { type: "hidden", ...inputProps, value: value }), enableClearButton && value ? (_jsx("div", { className: cx(classes.clearButtonWrapper, 'mfui-FilterTrigger__clearButtonWrapper'), children: _jsx(ClearButton, { "aria-label": clearButtonProps?.['aria-label'] ?? '値をクリアする', "data-mfui-content": "filter-trigger-clear-button", onClick: clearButtonProps?.onClick }) })) : null] }));
|
|
17
17
|
});
|
|
18
18
|
FilterTrigger.displayName = 'FilterTrigger';
|
|
@@ -8,8 +8,12 @@ type IconButtonCommonProps = {
|
|
|
8
8
|
*/
|
|
9
9
|
outlined?: IconButtonSlotRecipeVariant['outlined'];
|
|
10
10
|
/**
|
|
11
|
-
* Icon element to be rendered inside the button
|
|
12
|
-
* Only one element
|
|
11
|
+
* Icon element to be rendered inside the button.
|
|
12
|
+
* Only one element (typically an SVG icon) is expected.
|
|
13
|
+
*
|
|
14
|
+
* The icon is not hidden from assistive technologies automatically.
|
|
15
|
+
* If the icon is decorative, hide it yourself (e.g. `aria-hidden="true"`)
|
|
16
|
+
* and provide an `aria-label` on IconButton itself to expose the accessible name.
|
|
13
17
|
*/
|
|
14
18
|
children: React.ReactNode;
|
|
15
19
|
/**
|
|
@@ -38,7 +38,7 @@ export function BaseMainNavigation({ className, featureShortcut, navigationItems
|
|
|
38
38
|
if (navigation.children) {
|
|
39
39
|
return (_jsx(NestedNavigationItemRenderer, { navigation: navigation, originalIndex: index, classes: classes, InternalLinkTag: InternalLinkTag, isCollapsed: isCollapsed, openPopoverIndex: openPopoverIndex, setOpenPopoverIndex: setOpenPopoverIndex }, index));
|
|
40
40
|
}
|
|
41
|
-
return (_jsx("li", { className: cx(classes.listItem, 'mfui-BaseMainNavigation__listItem'), children: _jsx(Tooltip, { className: cx(classes.listItemTooltip, 'mfui-BaseMainNavigation__listItemTooltip'), content: navigation.label, disabled: !isCollapsed, placement: "right", children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: navigation.isExternal, href: navigation.href, className: cx(classes.listItemAnchor, 'mfui-BaseMainNavigation__listItemAnchor'), "aria-label": isCollapsed ? navigation.label : undefined, "aria-current": navigation.isCurrent ? 'page' : undefined, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-BaseMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-BaseMainNavigation__iconAndLabel'), children: [_jsx("div", { className: cx(classes.listItemAnchorIcon, 'mfui-BaseMainNavigation__listItemAnchorIcon'), children: navigation.icon }), isCollapsed ? null : _jsx(Typography, { variant: "controlLabel", children: navigation.label })] }), navigation.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-BaseMainNavigation__lockIcon'), "aria-label": navigation.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null, !isCollapsed && navigation.statusSlot && navigation.locked !== true
|
|
41
|
+
return (_jsx("li", { className: cx(classes.listItem, 'mfui-BaseMainNavigation__listItem'), children: _jsx(Tooltip, { className: cx(classes.listItemTooltip, 'mfui-BaseMainNavigation__listItemTooltip'), content: navigation.label, disabled: !isCollapsed, placement: "right", children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: navigation.isExternal, href: navigation.href, className: cx(classes.listItemAnchor, 'mfui-BaseMainNavigation__listItemAnchor'), "aria-label": isCollapsed ? navigation.label : undefined, "aria-current": navigation.isCurrent ? 'page' : undefined, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-BaseMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-BaseMainNavigation__iconAndLabel'), children: [_jsx("div", { "aria-hidden": "true", className: cx(classes.listItemAnchorIcon, 'mfui-BaseMainNavigation__listItemAnchorIcon'), children: navigation.icon }), isCollapsed ? null : _jsx(Typography, { variant: "controlLabel", children: navigation.label })] }), navigation.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-BaseMainNavigation__lockIcon'), "aria-label": navigation.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null, !isCollapsed && navigation.statusSlot && navigation.locked !== true
|
|
42
42
|
? navigation.statusSlot
|
|
43
43
|
: null] }) }) }) }) }, index));
|
|
44
44
|
}) }), navigationItems.some((navigation) => 'isGroupMenu' in navigation && navigation.isGroupMenu) && (_jsx("ul", { className: cx(classes.groupMenuList, 'mfui-BaseMainNavigation__groupMenuList'), children: navigationItems.map((navigation, index) => {
|
|
@@ -53,7 +53,7 @@ export function BaseMainNavigation({ className, featureShortcut, navigationItems
|
|
|
53
53
|
return null;
|
|
54
54
|
}
|
|
55
55
|
const groupLabelId = `${navId}-group-label-${String(index)}`;
|
|
56
|
-
return (_jsxs("div", { className: cx(classes.groupLabelSection, 'mfui-BaseMainNavigation__groupLabelSection'), children: [_jsx("div", { className: cx(classes.groupLabel, 'mfui-BaseMainNavigation__groupLabel'), children: _jsx(Typography, { id: groupLabelId, variant: "condensedControlLabel", className: cx(classes.groupLabelText, 'mfui-BaseMainNavigation__groupLabelText'), children: navigation.label }) }), _jsx("ul", { "aria-labelledby": groupLabelId, className: cx(classes.childrenList, 'mfui-BaseMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-BaseMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.listItemAnchor, 'mfui-BaseMainNavigation__listItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-BaseMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-BaseMainNavigation__iconAndLabel'), children: [_jsx("div", { className: cx(classes.listItemAnchorIcon, 'mfui-BaseMainNavigation__listItemAnchorIcon'), children: child.icon }), _jsx(Typography, { variant: "controlLabel", children: child.label })] }), child.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-BaseMainNavigation__lockIcon'), "aria-label": child.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null, child.statusSlot && child.locked !== true ? child.statusSlot : null] }) }) }) }, childIndex))) })] }, index));
|
|
56
|
+
return (_jsxs("div", { className: cx(classes.groupLabelSection, 'mfui-BaseMainNavigation__groupLabelSection'), children: [_jsx("div", { className: cx(classes.groupLabel, 'mfui-BaseMainNavigation__groupLabel'), children: _jsx(Typography, { id: groupLabelId, variant: "condensedControlLabel", className: cx(classes.groupLabelText, 'mfui-BaseMainNavigation__groupLabelText'), children: navigation.label }) }), _jsx("ul", { "aria-labelledby": groupLabelId, className: cx(classes.childrenList, 'mfui-BaseMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-BaseMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.listItemAnchor, 'mfui-BaseMainNavigation__listItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-BaseMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-BaseMainNavigation__iconAndLabel'), children: [_jsx("div", { "aria-hidden": "true", className: cx(classes.listItemAnchorIcon, 'mfui-BaseMainNavigation__listItemAnchorIcon'), children: child.icon }), _jsx(Typography, { variant: "controlLabel", children: child.label })] }), child.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-BaseMainNavigation__lockIcon'), "aria-label": child.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null, child.statusSlot && child.locked !== true ? child.statusSlot : null] }) }) }) }, childIndex))) })] }, index));
|
|
57
57
|
})] }), enableCollapsible ? (_jsx("div", { className: cx(classes.footer, 'mfui-BaseMainNavigation__footer'), children: _jsx(Tooltip, { content: toggleButtonLabel, placement: "right", children: _jsx(ToggleButton, { className: cx(classes.toggleButton, 'mfui-BaseMainNavigation__toggleButton'), iconClassName: cx(classes.toggleButtonIcon, 'mfui-BaseMainNavigation__toggleButtonIcon'), isCollapsed: isCollapsed, "aria-label": toggleButtonLabel, targetId: navId, handleClickToggleButton: handleClickToggleButton }) }) })) : null] }));
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
@@ -66,7 +66,7 @@ function NestedNavigationItemRenderer({ navigation, originalIndex, classes, Inte
|
|
|
66
66
|
const hasCurrentChildren = navigation.children.some((child) => child.isCurrent);
|
|
67
67
|
return (_jsx("li", { className: cx(classes.listItem, 'mfui-BaseMainNavigation__listItem'), "data-mfui-popover-portal-target-id": popoverPortalTargetId, children: isCollapsed ? (_jsx(CollapsedNestedNavigationItem, { navigation: navigation, classes: classes, InternalLinkTag: InternalLinkTag, hasCurrentChildren: hasCurrentChildren, popoverPortalTargetId: popoverPortalTargetId, isOpen: openPopoverIndex === originalIndex, onOpenChange: (isOpen) => {
|
|
68
68
|
setOpenPopoverIndex(isOpen ? originalIndex : null);
|
|
69
|
-
} })) : (_jsxs("details", { open: ('isOpenByDefault' in navigation && navigation.isOpenByDefault) || hasCurrentChildren, className: cx(classes.parentDetails, 'mfui-BaseMainNavigation__parentDetails'), children: [_jsx(FocusIndicator, { position: "inside", children: _jsxs("summary", { className: cx(classes.parentSummary, 'mfui-BaseMainNavigation__parentSummary'), children: [_jsx("div", { className: cx(classes.parentSummaryIcon, 'mfui-BaseMainNavigation__parentSummaryIcon'), children: navigation.icon }), _jsx(Typography, { variant: "controlLabel", children: navigation.label }), _jsx(DisclosureBasicCollapsed, { className: "mfui-BaseMainNavigation__icon_collapsed", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-collapsed" }), _jsx(DisclosureBasicExpanded, { className: "mfui-BaseMainNavigation__icon_expanded", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-expanded" })] }) }), _jsx("ul", { className: cx(classes.childrenList, 'mfui-BaseMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-BaseMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.childrenListItemAnchor, 'mfui-BaseMainNavigation__childrenListItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, children: _jsx(Typography, { variant: "controlLabel", children: child.label }) }) }) }, childIndex))) })] })) }));
|
|
69
|
+
} })) : (_jsxs("details", { open: ('isOpenByDefault' in navigation && navigation.isOpenByDefault) || hasCurrentChildren, className: cx(classes.parentDetails, 'mfui-BaseMainNavigation__parentDetails'), children: [_jsx(FocusIndicator, { position: "inside", children: _jsxs("summary", { className: cx(classes.parentSummary, 'mfui-BaseMainNavigation__parentSummary'), children: [_jsx("div", { "aria-hidden": "true", className: cx(classes.parentSummaryIcon, 'mfui-BaseMainNavigation__parentSummaryIcon'), children: navigation.icon }), _jsx(Typography, { variant: "controlLabel", children: navigation.label }), _jsx(DisclosureBasicCollapsed, { className: "mfui-BaseMainNavigation__icon_collapsed", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-collapsed" }), _jsx(DisclosureBasicExpanded, { className: "mfui-BaseMainNavigation__icon_expanded", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-expanded" })] }) }), _jsx("ul", { className: cx(classes.childrenList, 'mfui-BaseMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-BaseMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.childrenListItemAnchor, 'mfui-BaseMainNavigation__childrenListItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, children: _jsx(Typography, { variant: "controlLabel", children: child.label }) }) }) }, childIndex))) })] })) }));
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* The component for displaying nested navigation in collapsed state with popover.
|
|
@@ -87,7 +87,7 @@ function CollapsedNestedNavigationItem({ navigation, classes, InternalLinkTag, h
|
|
|
87
87
|
};
|
|
88
88
|
return (_jsx(Popover, { enableAutoFocusOnPopover: false, enableAutoFocusOnTrigger: false, open: isOpen, targetDOMNode: document.querySelector(`[data-mfui-popover-portal-target-id="${popoverPortalTargetId}"]`), allowedPlacements: ['right-start', 'right', 'right-end'], contentProps: {
|
|
89
89
|
tabIndex: -1,
|
|
90
|
-
}, renderTrigger: ({ setTriggerRef }) => (_jsx(Tooltip, { className: cx(classes.listItemTooltip, 'mfui-BaseMainNavigation__listItemTooltip'), content: navigation.label, disabled: isOpen, placement: "right", children: _jsx(FocusIndicator, { position: "inside", children: _jsx("button", { ref: setTriggerRef, type: "button", className: cx(classes.listItemAnchor, 'mfui-BaseMainNavigation__listItemAnchor'), "data-mfui-current": hasCurrentChildren ? 'page' : undefined, "aria-current": hasCurrentChildren ? true : undefined, "aria-label": navigation.label, onClick: handleClick, onKeyDown: handleKeyDown, children: _jsx("div", { className: cx(classes.labelGroup, 'mfui-BaseMainNavigation__labelGroup'), children: _jsx("div", { className: cx(classes.iconAndLabel, 'mfui-BaseMainNavigation__iconAndLabel'), children: _jsx("div", { className: cx(classes.listItemAnchorIcon, 'mfui-BaseMainNavigation__listItemAnchorIcon'), children: navigation.icon }) }) }) }) }) })), renderContent: () => (_jsx("div", { ref: popoverContentRef, className: cx(classes.popoverChildrenList, 'mfui-BaseMainNavigation__popoverChildrenList'), tabIndex: -1, children: navigation.children.map((child, childIndex) => (_jsx("div", { className: cx(classes.childrenListItem, 'mfui-BaseMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.childrenListItemAnchor, 'mfui-BaseMainNavigation__childrenListItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, onClick: () => {
|
|
90
|
+
}, renderTrigger: ({ setTriggerRef }) => (_jsx(Tooltip, { className: cx(classes.listItemTooltip, 'mfui-BaseMainNavigation__listItemTooltip'), content: navigation.label, disabled: isOpen, placement: "right", children: _jsx(FocusIndicator, { position: "inside", children: _jsx("button", { ref: setTriggerRef, type: "button", className: cx(classes.listItemAnchor, 'mfui-BaseMainNavigation__listItemAnchor'), "data-mfui-current": hasCurrentChildren ? 'page' : undefined, "aria-current": hasCurrentChildren ? true : undefined, "aria-label": navigation.label, onClick: handleClick, onKeyDown: handleKeyDown, children: _jsx("div", { className: cx(classes.labelGroup, 'mfui-BaseMainNavigation__labelGroup'), children: _jsx("div", { className: cx(classes.iconAndLabel, 'mfui-BaseMainNavigation__iconAndLabel'), children: _jsx("div", { "aria-hidden": "true", className: cx(classes.listItemAnchorIcon, 'mfui-BaseMainNavigation__listItemAnchorIcon'), children: navigation.icon }) }) }) }) }) })), renderContent: () => (_jsx("div", { ref: popoverContentRef, className: cx(classes.popoverChildrenList, 'mfui-BaseMainNavigation__popoverChildrenList'), tabIndex: -1, children: navigation.children.map((child, childIndex) => (_jsx("div", { className: cx(classes.childrenListItem, 'mfui-BaseMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.childrenListItemAnchor, 'mfui-BaseMainNavigation__childrenListItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, onClick: () => {
|
|
91
91
|
onOpenChange(false);
|
|
92
92
|
}, children: _jsx(Typography, { variant: "controlLabel", children: child.label }) }) }) }, childIndex))) })), onOpenStateChanged: onOpenChange }));
|
|
93
93
|
}
|
|
@@ -54,13 +54,13 @@ export const NarrowViewportMainNavigation = forwardRef(({ className, featureShor
|
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
return (_jsx("li", { className: cx(classes.listItem, 'mfui-NarrowViewportMainNavigation__listItem'), children: navigation.children ? (_jsxs("details", { open: ('isOpenByDefault' in navigation && navigation.isOpenByDefault) ||
|
|
57
|
-
hasCurrentNavigationInChildren(navigation.children), className: cx(classes.parentDetails, 'mfui-NarrowViewportMainNavigation__parentDetails'), children: [_jsx(FocusIndicator, { position: "inside", children: _jsxs("summary", { className: cx(classes.parentSummary, 'mfui-NarrowViewportMainNavigation__parentSummary'), children: [_jsx("div", { className: cx(classes.parentSummaryIcon, 'mfui-NarrowViewportMainNavigation__parentSummaryIcon'), children: navigation.icon }), _jsx(Typography, { variant: "controlLabel", children: navigation.label }), _jsx(DisclosureBasicCollapsed, { className: "mfui-NarrowViewportMainNavigation__icon_collapsed", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-collapsed" }), _jsx(DisclosureBasicExpanded, { className: "mfui-NarrowViewportMainNavigation__icon_expanded", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-expanded" })] }) }), _jsx("ul", { className: cx(classes.childrenList, 'mfui-NarrowViewportMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-NarrowViewportMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.childrenListItemAnchor, 'mfui-NarrowViewportMainNavigation__childrenListItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, onClick: handleCloseMainNavigation, children: _jsx(Typography, { variant: "controlLabel", children: child.label }) }) }) }, childIndex))) })] })) : (_jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: navigation.isExternal, href: navigation.href, className: cx(classes.listItemAnchor, 'mfui-NarrowViewportMainNavigation__listItemAnchor'), "aria-current": navigation.isCurrent ? 'page' : undefined, onClick: handleCloseMainNavigation, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-NarrowViewportMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-NarrowViewportMainNavigation__iconAndLabel'), children: [_jsx("div", { className: cx(classes.listItemAnchorIcon, 'mfui-NarrowViewportMainNavigation__listItemAnchorIcon'), children: navigation.icon }), _jsx(Typography, { variant: "controlLabel", children: navigation.label })] }), navigation.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-NarrowViewportMainNavigation__lockIcon'), "aria-label": navigation.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null] }) }) })) }, index));
|
|
57
|
+
hasCurrentNavigationInChildren(navigation.children), className: cx(classes.parentDetails, 'mfui-NarrowViewportMainNavigation__parentDetails'), children: [_jsx(FocusIndicator, { position: "inside", children: _jsxs("summary", { className: cx(classes.parentSummary, 'mfui-NarrowViewportMainNavigation__parentSummary'), children: [_jsx("div", { "aria-hidden": "true", className: cx(classes.parentSummaryIcon, 'mfui-NarrowViewportMainNavigation__parentSummaryIcon'), children: navigation.icon }), _jsx(Typography, { variant: "controlLabel", children: navigation.label }), _jsx(DisclosureBasicCollapsed, { className: "mfui-NarrowViewportMainNavigation__icon_collapsed", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-collapsed" }), _jsx(DisclosureBasicExpanded, { className: "mfui-NarrowViewportMainNavigation__icon_expanded", "aria-hidden": "true", "data-mfui-content": "main-navigation-icon-expanded" })] }) }), _jsx("ul", { className: cx(classes.childrenList, 'mfui-NarrowViewportMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-NarrowViewportMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.childrenListItemAnchor, 'mfui-NarrowViewportMainNavigation__childrenListItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, onClick: handleCloseMainNavigation, children: _jsx(Typography, { variant: "controlLabel", children: child.label }) }) }) }, childIndex))) })] })) : (_jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: navigation.isExternal, href: navigation.href, className: cx(classes.listItemAnchor, 'mfui-NarrowViewportMainNavigation__listItemAnchor'), "aria-current": navigation.isCurrent ? 'page' : undefined, onClick: handleCloseMainNavigation, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-NarrowViewportMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-NarrowViewportMainNavigation__iconAndLabel'), children: [_jsx("div", { "aria-hidden": "true", className: cx(classes.listItemAnchorIcon, 'mfui-NarrowViewportMainNavigation__listItemAnchorIcon'), children: navigation.icon }), _jsx(Typography, { variant: "controlLabel", children: navigation.label })] }), navigation.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-NarrowViewportMainNavigation__lockIcon'), "aria-label": navigation.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null] }) }) })) }, index));
|
|
58
58
|
}) }), navigationItems.map((navigation, index) => {
|
|
59
59
|
const isGroupLabel = navigation.children && 'isGroupLabel' in navigation && navigation.isGroupLabel;
|
|
60
60
|
if (!isGroupLabel) {
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
63
|
const groupLabelId = `${navId}-group-label-${String(index)}`;
|
|
64
|
-
return (_jsxs("div", { className: cx(classes.groupLabelSection, 'mfui-NarrowViewportMainNavigation__groupLabelSection'), children: [_jsx("div", { className: cx(classes.groupLabel, 'mfui-NarrowViewportMainNavigation__groupLabel'), children: _jsx(Typography, { id: groupLabelId, variant: "condensedControlLabel", className: cx(classes.groupLabelText, 'mfui-NarrowViewportMainNavigation__groupLabelText'), children: navigation.label }) }), _jsx("ul", { "aria-labelledby": groupLabelId, className: cx(classes.childrenList, 'mfui-NarrowViewportMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-NarrowViewportMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.listItemAnchor, 'mfui-NarrowViewportMainNavigation__listItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, onClick: handleCloseMainNavigation, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-NarrowViewportMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-NarrowViewportMainNavigation__iconAndLabel'), children: [_jsx("div", { className: cx(classes.listItemAnchorIcon, 'mfui-NarrowViewportMainNavigation__listItemAnchorIcon'), children: child.icon }), _jsx(Typography, { variant: "controlLabel", children: child.label })] }), child.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-NarrowViewportMainNavigation__lockIcon'), "aria-label": child.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null, child.statusSlot && child.locked !== true ? child.statusSlot : null] }) }) }) }, childIndex))) })] }, index));
|
|
64
|
+
return (_jsxs("div", { className: cx(classes.groupLabelSection, 'mfui-NarrowViewportMainNavigation__groupLabelSection'), children: [_jsx("div", { className: cx(classes.groupLabel, 'mfui-NarrowViewportMainNavigation__groupLabel'), children: _jsx(Typography, { id: groupLabelId, variant: "condensedControlLabel", className: cx(classes.groupLabelText, 'mfui-NarrowViewportMainNavigation__groupLabelText'), children: navigation.label }) }), _jsx("ul", { "aria-labelledby": groupLabelId, className: cx(classes.childrenList, 'mfui-NarrowViewportMainNavigation__childrenList'), children: navigation.children.map((child, childIndex) => (_jsx("li", { className: cx(classes.childrenListItem, 'mfui-NarrowViewportMainNavigation__childrenListItem'), children: _jsx(FocusIndicator, { position: "inside", children: _jsx(NavigationLink, { tag: InternalLinkTag, isExternal: child.isExternal, href: child.href, className: cx(classes.listItemAnchor, 'mfui-NarrowViewportMainNavigation__listItemAnchor'), "aria-current": child.isCurrent ? 'page' : undefined, onClick: handleCloseMainNavigation, children: _jsxs("div", { className: cx(classes.labelGroup, 'mfui-NarrowViewportMainNavigation__labelGroup'), children: [_jsxs("div", { className: cx(classes.iconAndLabel, 'mfui-NarrowViewportMainNavigation__iconAndLabel'), children: [_jsx("div", { "aria-hidden": "true", className: cx(classes.listItemAnchorIcon, 'mfui-NarrowViewportMainNavigation__listItemAnchorIcon'), children: child.icon }), _jsx(Typography, { variant: "controlLabel", children: child.label })] }), child.locked ? (_jsx(Lock, { className: cx(classes.lockIcon, 'mfui-NarrowViewportMainNavigation__lockIcon'), "aria-label": child.lockIconProps?.['aria-label'] ?? 'ロックされています' })) : null, child.statusSlot && child.locked !== true ? child.statusSlot : null] }) }) }) }, childIndex))) })] }, index));
|
|
65
65
|
})] })] })] }) }));
|
|
66
66
|
});
|
|
@@ -48,6 +48,6 @@ placeholder, renderDisplayValue, updateSelectedValues, clearButtonProps, disable
|
|
|
48
48
|
.map((option) => option.value)
|
|
49
49
|
.filter((v) => v != null)
|
|
50
50
|
.map(String);
|
|
51
|
-
return (_jsx(FocusIndicator, { children: _jsxs("div", { ref: wrapperRef, className: cx(classes.wrapper, 'mfui-MultipleSelectBoxTrigger__wrapper', triggerWrapperProps?.className), children: [_jsx("button", { ref: mergeRefs(ref, triggerRef), type: "button", role: "combobox", "aria-controls": listBoxId, "aria-expanded": isOptionPanelOpen, "aria-haspopup": "listbox", "aria-invalid": invalid, value: selectedValues, disabled: disabled, onKeyDown: onKeyDown, onBlur: onBlur, ...rest, ...triggerProps, className: cx(classes.trigger, 'mfui-MultipleSelectBoxTrigger__trigger', triggerProps?.className) }), _jsx("input", { type: "hidden", name: name, value: selectedValues }), _jsx("div", { className: cx(classes.displayValues, 'mfui-MultipleSelectBoxTrigger__displayValues'), "data-mfui-content": "multiple-select-box-trigger-display-values", children: renderer() }), selectedOptions.length > 0 && !disabled && !disableClearButton ? (_jsx("div", { className: cx(classes.clearButtonContainer, 'mfui-MultipleSelectBoxTrigger__clearButtonContainer'), children: _jsx(ClearButton, { size: size === 'small' ? 'small' : 'default', className: cx(classes.clearButton, 'mfui-MultipleSelectBoxTrigger__clearButton'), "aria-label": clearButtonProps?.['aria-label'] ?? '値をクリアする', "data-mfui-content": "multiple-select-box-clear-button", onClick: handleClearValue }) })) : null, _jsx("div", { className: cx(classes.dropdownIconContainer, 'mfui-MultipleSelectBoxTrigger__dropdownIconContainer'), children: _jsx(DropdownIcon, { className: cx(classes.dropdownIcon, 'mfui-MultipleSelectBoxTrigger__dropdownIcon') }) })] }) }));
|
|
51
|
+
return (_jsx(FocusIndicator, { children: _jsxs("div", { ref: wrapperRef, className: cx(classes.wrapper, 'mfui-MultipleSelectBoxTrigger__wrapper', triggerWrapperProps?.className), children: [_jsx("button", { ref: mergeRefs(ref, triggerRef), type: "button", role: "combobox", "aria-controls": listBoxId, "aria-expanded": isOptionPanelOpen, "aria-haspopup": "listbox", "aria-invalid": invalid, value: selectedValues, disabled: disabled, onKeyDown: onKeyDown, onBlur: onBlur, ...rest, ...triggerProps, className: cx(classes.trigger, 'mfui-MultipleSelectBoxTrigger__trigger', triggerProps?.className) }), _jsx("input", { type: "hidden", name: name, value: selectedValues }), _jsx("div", { className: cx(classes.displayValues, 'mfui-MultipleSelectBoxTrigger__displayValues'), "data-mfui-content": "multiple-select-box-trigger-display-values", children: renderer() }), selectedOptions.length > 0 && !disabled && !disableClearButton ? (_jsx("div", { className: cx(classes.clearButtonContainer, 'mfui-MultipleSelectBoxTrigger__clearButtonContainer'), children: _jsx(ClearButton, { size: size === 'small' ? 'small' : 'default', className: cx(classes.clearButton, 'mfui-MultipleSelectBoxTrigger__clearButton'), "aria-label": clearButtonProps?.['aria-label'] ?? '値をクリアする', "data-mfui-content": "multiple-select-box-clear-button", onClick: handleClearValue }) })) : null, _jsx("div", { className: cx(classes.dropdownIconContainer, 'mfui-MultipleSelectBoxTrigger__dropdownIconContainer'), children: _jsx(DropdownIcon, { "aria-hidden": "true", className: cx(classes.dropdownIcon, 'mfui-MultipleSelectBoxTrigger__dropdownIcon') }) })] }) }));
|
|
52
52
|
}
|
|
53
53
|
export const MultipleSelectBoxTrigger = forwardRef(MultipleSelectBoxTriggerInner);
|
|
@@ -12,7 +12,7 @@ export function PagePicker({ currentPageNumber, totalPages, prevButtonProps, pag
|
|
|
12
12
|
const classes = pagePickerSlotRecipe();
|
|
13
13
|
return (_jsxs("div", { className: cx(classes.root, 'mfui-PagePicker__root'), children: [_jsx(IconButton, { className: cx(classes.prevButton, 'mfui-PagePicker__prevButton'), disabled: currentPageNumber === 1, "aria-label": prevButtonProps?.['aria-label'] ?? '前のページへ戻る', onClick: () => {
|
|
14
14
|
onPageChange?.(currentPageNumber - 1);
|
|
15
|
-
}, children: _jsx(PickerBefore, {}) }), _jsx("div", { className: cx(classes.pageSelect, 'mfui-PagePicker__pageSelect'), children: _jsx(SelectBox, { size: "small", triggerProps: {
|
|
15
|
+
}, children: _jsx(PickerBefore, { "aria-hidden": "true" }) }), _jsx("div", { className: cx(classes.pageSelect, 'mfui-PagePicker__pageSelect'), children: _jsx(SelectBox, { size: "small", triggerProps: {
|
|
16
16
|
'aria-label': pageSelectBoxProps?.['aria-label'] ?? 'ページを選択する',
|
|
17
17
|
}, value: { value: currentPageNumber.toString(), label: currentPageNumber.toString() }, options: Array.from({ length: totalPages }).map((_, index) => ({
|
|
18
18
|
value: (index + 1).toString(),
|
|
@@ -21,5 +21,5 @@ export function PagePicker({ currentPageNumber, totalPages, prevButtonProps, pag
|
|
|
21
21
|
onPageChange?.(Number(option?.value));
|
|
22
22
|
} }) }), _jsx(Typography, { className: cx(classes.separator, 'mfui-PagePicker__separator'), children: "/" }), _jsxs(Typography, { className: cx(classes.totalPages, 'mfui-PagePicker__totalPages'), children: [totalPages, pageSuffixLabel] }), _jsx(IconButton, { className: cx(classes.nextButton, 'mfui-PagePicker__nextButton'), "aria-label": nextButtonProps?.['aria-label'] ?? '次のページへ進む', disabled: currentPageNumber === totalPages, onClick: () => {
|
|
23
23
|
onPageChange?.(currentPageNumber + 1);
|
|
24
|
-
}, children: _jsx(PickerAfter, {}) })] }));
|
|
24
|
+
}, children: _jsx(PickerAfter, { "aria-hidden": "true" }) })] }));
|
|
25
25
|
}
|
|
@@ -236,7 +236,9 @@ export function Popover({ renderTrigger, renderContent, open, onOpenStateChanged
|
|
|
236
236
|
const scrollableAncestors = getOverflowAncestors(referenceElement).filter((ancestor) => ancestor instanceof Element);
|
|
237
237
|
const popoverElement = refs.floating.current;
|
|
238
238
|
const preventScroll = (event) => {
|
|
239
|
-
|
|
239
|
+
// `event.target` is retargeted at shadow boundaries, so use the composed path
|
|
240
|
+
// to detect events coming from inside the popover across Shadow DOM.
|
|
241
|
+
if (popoverElement && event.composedPath().includes(popoverElement))
|
|
240
242
|
return;
|
|
241
243
|
event.preventDefault();
|
|
242
244
|
};
|
|
@@ -18,5 +18,5 @@ export const SearchBox = forwardRef(({ className, normalizeFullWidth: shouldNorm
|
|
|
18
18
|
}
|
|
19
19
|
onChange?.(event);
|
|
20
20
|
}, [shouldNormalizeFullWidth, onChange]);
|
|
21
|
-
return (_jsx(TextBox, { ref: ref, prefixSlot: _jsx(Search, {}), className: cx('mfui-SearchBox__root', className), onChange: handleChange, ...rest }));
|
|
21
|
+
return (_jsx(TextBox, { ref: ref, prefixSlot: _jsx(Search, { "aria-hidden": "true" }), className: cx('mfui-SearchBox__root', className), onChange: handleChange, ...rest }));
|
|
22
22
|
});
|
|
@@ -38,7 +38,7 @@ const SKELETON_ITEM_COUNT = 4;
|
|
|
38
38
|
export const SelectBox = forwardRef((props, ref) => {
|
|
39
39
|
const { id, triggerProps, clearButtonProps, enableClearButton = false, size, options = [], defaultValue,
|
|
40
40
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
41
|
-
placeholder, emptyMessage, disabled, invalid, targetDOMNode, name, onChange, onBlur, value, enableSearchOptions = false, notFoundMessage, searchBoxProps, loading = false, onSearchOptions, renderDisplayValue, renderOption, renderPopoverContent, enableAutoScrollToSelectedOption, popoverContentProps, popoverWrapperProps, onOpenStateChanged, showGroupOptionDivider, triggerWrapperProps, enableAutoUnmount = true, enableConstrainedPopoverWidth = false, enableVirtualization = false, virtualizationOptions, infiniteScroll, } = props;
|
|
41
|
+
placeholder, emptyMessage, disabled, invalid, required, targetDOMNode, name, onChange, onBlur, value, enableSearchOptions = false, notFoundMessage, searchBoxProps, loading = false, onSearchOptions, renderDisplayValue, renderOption, renderPopoverContent, enableAutoScrollToSelectedOption, popoverContentProps, popoverWrapperProps, onOpenStateChanged, showGroupOptionDivider, triggerWrapperProps, enableAutoUnmount = true, enableConstrainedPopoverWidth = false, enableVirtualization = false, virtualizationOptions, infiniteScroll, } = props;
|
|
42
42
|
const classes = selectBoxSlotRecipe({ size, showGroupOptionDivider });
|
|
43
43
|
const triggerRef = useRef(null);
|
|
44
44
|
const listBoxId = useId();
|
|
@@ -328,7 +328,7 @@ export const SelectBox = forwardRef((props, ref) => {
|
|
|
328
328
|
const hasSelectedValue = value !== undefined || localSelectedOption !== null;
|
|
329
329
|
const showClearButton = enableClearButton && hasSelectedValue;
|
|
330
330
|
// Use Popover's centralized blur handling instead of custom logic
|
|
331
|
-
return (_jsx(Popover, { open: isOptionPanelOpen, targetDOMNode: targetDOMNode, minWidth: popoverContentProps?.minWidth, maxHeight: popoverWrapperProps?.maxHeight, allowedPlacements: popoverContentProps?.allowedPlacements, enableConstrainedContentWidth: enableConstrainedPopoverWidth, renderContent: () => (_jsx("div", { ref: optionPanelRef, id: listBoxId, className: cx(classes.optionPanel, 'mfui-SelectBox__optionPanel', popoverContentProps?.className), tabIndex: -1, onKeyDown: handleKeyDownMenu, children: renderPopoverContent ? (renderPopoverContent({ searchNode, optionsNode })) : (_jsxs(_Fragment, { children: [searchNode, optionsNode] })) })), renderTrigger: ({ setTriggerRef, togglePopover, isPopoverOpen, handleTriggerKeyDown, handleTriggerBlur }) => (_jsxs("div", { ref: setTriggerRef, ...triggerWrapperProps, className: cx(classes.triggerWrapper, 'mfui-SelectBox__triggerWrapper', triggerWrapperProps?.className), children: [_jsx(FocusIndicator, { children: _jsxs("button", { ref: triggerRef, id: id, type: "button", role: "combobox", disabled: disabled, "aria-label": triggerProps?.['aria-label'], "aria-controls": listBoxId, "aria-expanded": isPopoverOpen, "aria-haspopup": "listbox", "aria-invalid": invalid, className: cx(classes.trigger, 'mfui-SelectBox__trigger', triggerProps?.className), "data-placeholder": !!placeholder && !localSelectedOption, "data-selected": !!localSelectedOption, "data-mfui-has-clear-button": showClearButton, onClick: togglePopover, onKeyDown: (event) => {
|
|
331
|
+
return (_jsx(Popover, { open: isOptionPanelOpen, targetDOMNode: targetDOMNode, minWidth: popoverContentProps?.minWidth, maxHeight: popoverWrapperProps?.maxHeight, allowedPlacements: popoverContentProps?.allowedPlacements, enableConstrainedContentWidth: enableConstrainedPopoverWidth, renderContent: () => (_jsx("div", { ref: optionPanelRef, id: listBoxId, className: cx(classes.optionPanel, 'mfui-SelectBox__optionPanel', popoverContentProps?.className), tabIndex: -1, onKeyDown: handleKeyDownMenu, children: renderPopoverContent ? (renderPopoverContent({ searchNode, optionsNode })) : (_jsxs(_Fragment, { children: [searchNode, optionsNode] })) })), renderTrigger: ({ setTriggerRef, togglePopover, isPopoverOpen, handleTriggerKeyDown, handleTriggerBlur }) => (_jsxs("div", { ref: setTriggerRef, ...triggerWrapperProps, className: cx(classes.triggerWrapper, 'mfui-SelectBox__triggerWrapper', triggerWrapperProps?.className), children: [_jsx(FocusIndicator, { children: _jsxs("button", { ref: triggerRef, id: id, type: "button", role: "combobox", disabled: disabled, "aria-label": triggerProps?.['aria-label'], "aria-controls": listBoxId, "aria-expanded": isPopoverOpen, "aria-haspopup": "listbox", "aria-invalid": invalid, "aria-required": required, className: cx(classes.trigger, 'mfui-SelectBox__trigger', triggerProps?.className), "data-placeholder": !!placeholder && !localSelectedOption, "data-selected": !!localSelectedOption, "data-mfui-has-clear-button": showClearButton, onClick: togglePopover, onKeyDown: (event) => {
|
|
332
332
|
handleTypeAhead(event.nativeEvent);
|
|
333
333
|
handleTriggerKeyDown(event);
|
|
334
334
|
}, onBlur: handleTriggerBlur, children: [_jsx("span", { "data-mfui-content": "select-box-trigger-display-value", children: renderTriggerLabel() }), _jsx(DropdownIcon, { "aria-hidden": "true", focusable: false }), _jsx("input", { ref: ref, type: "hidden", value: localSelectedOption?.value ?? '', name: name, disabled: disabled })] }) }), showClearButton ? (_jsx("div", { className: cx(classes.clearButtonWrapper, 'mfui-SelectBox__clearButtonWrapper'), children: _jsx(ClearButton, { size: size === 'small' ? 'small' : size === 'large' ? 'large' : 'default', "aria-label": clearButtonProps?.['aria-label'] ?? '値をクリアする', "data-mfui-content": "select-box-clear-button", onClick: (event) => {
|
|
@@ -227,6 +227,12 @@ export type SelectBoxProps<T extends AllowedValueTypes = string, AdditionalProps
|
|
|
227
227
|
* Whether the trigger is invalid.
|
|
228
228
|
*/
|
|
229
229
|
invalid?: boolean;
|
|
230
|
+
/**
|
|
231
|
+
* Whether the trigger is required.
|
|
232
|
+
* When true, `aria-required="true"` is forwarded to the trigger so that
|
|
233
|
+
* assistive technologies announce the field as required.
|
|
234
|
+
*/
|
|
235
|
+
required?: boolean;
|
|
230
236
|
/**
|
|
231
237
|
* Whether the popover width should be constrained to match the trigger element width.
|
|
232
238
|
*
|
|
@@ -17,7 +17,7 @@ declare function SidebarBase({ className, logoSlot, mainNavigationItems, extraNa
|
|
|
17
17
|
* The following composition components are provided as sub-components:
|
|
18
18
|
* - `Sidebar.NavigationItem` — a single navigation item; `mainNavigationItems` renders these for you,
|
|
19
19
|
* but it can also be used directly inside `extraNavigationSlot`.
|
|
20
|
-
* - `Sidebar.ServiceMenu` — the
|
|
20
|
+
* - `Sidebar.ServiceMenu` — the header service menu trigger, intended to wrap a list of services.
|
|
21
21
|
* - `Sidebar.TenantMenu` — the footer tenant (business) name and its menu.
|
|
22
22
|
* - `Sidebar.UserMenu` — the footer user (account) name and its menu.
|
|
23
23
|
*
|
|
@@ -15,12 +15,12 @@ function SidebarBase({ className, logoSlot, mainNavigationItems, extraNavigation
|
|
|
15
15
|
defaultWidth,
|
|
16
16
|
onWidthChange,
|
|
17
17
|
});
|
|
18
|
-
return (_jsxs("div", { ref: rootRef, className: cx(classes.root, 'mfui-Sidebar__root', className), style: { width: `${String(width)}px` }, "data-mfui-dragging": isDragging ? true : undefined, children: [_jsx("header", { className: cx(classes.header, 'mfui-Sidebar__header'), children:
|
|
18
|
+
return (_jsxs("div", { ref: rootRef, className: cx(classes.root, 'mfui-Sidebar__root', className), style: { width: `${String(width)}px` }, "data-mfui-dragging": isDragging ? true : undefined, children: [_jsx("header", { className: cx(classes.header, 'mfui-Sidebar__header'), children: _jsxs("div", { className: cx(classes.leftPane, 'mfui-Sidebar__leftPane'), children: [serviceMenuSlot ? (_jsx("div", { className: cx(classes.serviceMenu, 'mfui-Sidebar__serviceMenu'), children: serviceMenuSlot })) : null, _jsx("div", { className: cx(classes.logo, 'mfui-Sidebar__logo'), children: logoSlot })] }) }), _jsxs("div", { className: cx(classes.navigationWrapper, 'mfui-Sidebar__navigationWrapper'), children: [mainNavigationItems && mainNavigationItems.length > 0 ? (_jsx("nav", { "aria-label": mainNavigationLabel, className: cx(classes.mainNavigation, 'mfui-Sidebar__mainNavigation'), children: _jsx("ul", { className: cx(classes.navigationList, 'mfui-Sidebar__navigationList'), children: mainNavigationItems.map((item, index) => {
|
|
19
19
|
if ('type' in item) {
|
|
20
20
|
return (_jsx("li", { "aria-hidden": "true", className: cx(classes.navigationDivider, 'mfui-Sidebar__navigationDivider') }, index));
|
|
21
21
|
}
|
|
22
22
|
return _jsx(SidebarNavigationItem, { ...item }, index);
|
|
23
|
-
}) }) })) : null, extraNavigationSlot ? (_jsx("nav", { "aria-label": extraNavigationLabel, className: cx(classes.extraNavigation, 'mfui-Sidebar__extraNavigation'), children: extraNavigationSlot })) : null] }), _jsxs("div", { className: cx(classes.footer, 'mfui-Sidebar__footer'), children: [footerSlot ? _jsx("div", { className: cx(classes.footerSlot, 'mfui-Sidebar__footerSlot'), children: footerSlot }) : null,
|
|
23
|
+
}) }) })) : null, extraNavigationSlot ? (_jsx("nav", { "aria-label": extraNavigationLabel, className: cx(classes.extraNavigation, 'mfui-Sidebar__extraNavigation'), children: extraNavigationSlot })) : null] }), _jsxs("div", { className: cx(classes.footer, 'mfui-Sidebar__footer'), children: [footerSlot ? _jsx("div", { className: cx(classes.footerSlot, 'mfui-Sidebar__footerSlot'), children: footerSlot }) : null, _jsx("div", { className: cx(classes.footerIconMenu, 'mfui-Sidebar__footerIconMenu'), children: footerIconMenuSlot }), tenantSlot || userSlot ? (_jsxs("div", { className: cx(classes.footerUserIdMenu, 'mfui-Sidebar__footerUserIdMenu'), children: [tenantSlot ? (_jsx("div", { className: cx(classes.footerUserIdMenuItem, 'mfui-Sidebar__footerUserIdMenuItem'), children: tenantSlot })) : null, userSlot ? (_jsx("div", { className: cx(classes.footerUserIdMenuItem, 'mfui-Sidebar__footerUserIdMenuItem'), children: userSlot })) : null] })) : null] }), _jsx("div", { "data-mfui-handle": true, "data-mfui-dragging": isDragging ? true : undefined, role: "separator", "aria-orientation": "vertical", "aria-label": resizeHandleLabel, "aria-valuenow": width, "aria-valuemin": resolvedMinWidth, "aria-valuemax": resolvedMaxWidth,
|
|
24
24
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
|
|
25
25
|
tabIndex: 0, className: cx(classes.handle, 'mfui-Sidebar__handle'), onPointerDown: handlePointerDown, onKeyDown: handleKeyDown })] }));
|
|
26
26
|
}
|
|
@@ -37,7 +37,7 @@ function SidebarBase({ className, logoSlot, mainNavigationItems, extraNavigation
|
|
|
37
37
|
* The following composition components are provided as sub-components:
|
|
38
38
|
* - `Sidebar.NavigationItem` — a single navigation item; `mainNavigationItems` renders these for you,
|
|
39
39
|
* but it can also be used directly inside `extraNavigationSlot`.
|
|
40
|
-
* - `Sidebar.ServiceMenu` — the
|
|
40
|
+
* - `Sidebar.ServiceMenu` — the header service menu trigger, intended to wrap a list of services.
|
|
41
41
|
* - `Sidebar.TenantMenu` — the footer tenant (business) name and its menu.
|
|
42
42
|
* - `Sidebar.UserMenu` — the footer user (account) name and its menu.
|
|
43
43
|
*
|
|
@@ -74,12 +74,12 @@ export type SidebarProps = {
|
|
|
74
74
|
*/
|
|
75
75
|
extraNavigationSlot?: ReactNode;
|
|
76
76
|
/**
|
|
77
|
-
* Elements to be displayed above the
|
|
77
|
+
* Elements to be displayed above the footer icon menu.
|
|
78
78
|
* This slot accepts any content.
|
|
79
79
|
*/
|
|
80
80
|
footerSlot?: ReactNode;
|
|
81
81
|
/**
|
|
82
|
-
* Elements to be displayed as the service menu in the
|
|
82
|
+
* Elements to be displayed as the service menu in the header, to the left of the logo.
|
|
83
83
|
* Intended for a dropdown menu listing available services.
|
|
84
84
|
*/
|
|
85
85
|
serviceMenuSlot: ReactNode;
|
|
@@ -14,10 +14,9 @@ export type SidebarServiceMenuProps = {
|
|
|
14
14
|
children: ReactNode;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
|
-
* The service switcher menu shown in the Sidebar
|
|
17
|
+
* The service switcher menu shown in the Sidebar header.
|
|
18
18
|
*
|
|
19
|
-
* It renders
|
|
20
|
-
*
|
|
21
|
-
* menu items only.
|
|
19
|
+
* It renders an icon-only trigger with a tooltip that opens a dropdown of services.
|
|
20
|
+
* The trigger design and accessibility are fixed; pass the label, icon, and menu items only.
|
|
22
21
|
*/
|
|
23
22
|
export declare function SidebarServiceMenu({ label, icon, children }: SidebarServiceMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { DropdownMenu } from '../DropdownMenu';
|
|
4
|
+
import { Tooltip } from '../Tooltip';
|
|
4
5
|
/**
|
|
5
|
-
* The service switcher menu shown in the Sidebar
|
|
6
|
+
* The service switcher menu shown in the Sidebar header.
|
|
6
7
|
*
|
|
7
|
-
* It renders
|
|
8
|
-
*
|
|
9
|
-
* menu items only.
|
|
8
|
+
* It renders an icon-only trigger with a tooltip that opens a dropdown of services.
|
|
9
|
+
* The trigger design and accessibility are fixed; pass the label, icon, and menu items only.
|
|
10
10
|
*/
|
|
11
11
|
export function SidebarServiceMenu({ label, icon, children }) {
|
|
12
|
-
return (_jsx(DropdownMenu, { label: label,
|
|
13
|
-
priority: 'tertiary',
|
|
14
|
-
size: 'small',
|
|
15
|
-
isDropdownTrigger: false,
|
|
16
|
-
leftIcon: icon,
|
|
17
|
-
// Styled via the `serviceMenu` slot's `& .mfui-Sidebar__serviceTrigger` descendant selector.
|
|
18
|
-
className: 'mfui-Sidebar__serviceTrigger',
|
|
19
|
-
}, menuPopoverProps: { allowedPlacements: ['top-start'] }, children: children }));
|
|
12
|
+
return (_jsx(Tooltip, { content: label, placement: "bottom", children: _jsx(DropdownMenu, { label: label, icon: icon, menuPopoverProps: { allowedPlacements: ['bottom-start'] }, children: children }) }));
|
|
20
13
|
}
|
|
@@ -42,7 +42,7 @@ const renderNavigationItem = (navigationItem, customLinkComponent, classes, nest
|
|
|
42
42
|
return (_jsxs(_Fragment, { children: [_jsx(NavigationLink, { navigationItem: navigationItem, customLinkComponent: customLinkComponent, classes: classes, renderNavigationLabel: renderNavigationLabel }), _jsx(NestedNavigationList, { summarySlot: _jsx("div", { "data-mfui-content": "sub-navigation-disclosure-icon", className: cx(classes.disclosureIcon, 'mfui-SubNavigation__disclosureIcon'), children: _jsx(DisclosureBasicCollapsed, { "aria-label": label }) }), nestedNavigationItems: children, customLinkComponent: customLinkComponent, classes: classes, nestLevel: nestLevel + 1, renderNavigationLabel: renderNavigationLabel })] }));
|
|
43
43
|
}
|
|
44
44
|
// The the parent item will be rendered as a disclosure button with an icon.
|
|
45
|
-
return (_jsx(NestedNavigationList, { summarySlot: _jsxs(_Fragment, { children: [_jsx(NavigationLabelGroup, { label, labelIcon, locked, lockIconProps, statusSlot, classes, renderNavigationLabel }), _jsx("div", { "data-mfui-content": "sub-navigation-disclosure-icon", className: cx(classes.disclosureIcon, 'mfui-SubNavigation__disclosureIcon'), children: _jsx(DisclosureBasicCollapsed, { "aria-
|
|
45
|
+
return (_jsx(NestedNavigationList, { summarySlot: _jsxs(_Fragment, { children: [_jsx(NavigationLabelGroup, { label, labelIcon, locked, lockIconProps, statusSlot, classes, renderNavigationLabel }), _jsx("div", { "data-mfui-content": "sub-navigation-disclosure-icon", className: cx(classes.disclosureIcon, 'mfui-SubNavigation__disclosureIcon'), children: _jsx(DisclosureBasicCollapsed, { "aria-hidden": "true" }) })] }), nestedNavigationItems: children, customLinkComponent: customLinkComponent, classes: classes, nestLevel: nestLevel + 1, renderNavigationLabel: renderNavigationLabel }));
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
48
|
* This is a group of a text label, an optional icon, and a status.
|
|
@@ -59,7 +59,7 @@ function NavigationLabelGroup({ label, labelIcon, locked, lockIconProps, statusS
|
|
|
59
59
|
}
|
|
60
60
|
return null;
|
|
61
61
|
};
|
|
62
|
-
return (_jsxs(_Fragment, { children: [labelIcon ? _jsx("div", { className: cx(classes.labelIcon, 'mfui-SubNavigation__labelIcon'), children: labelIcon }) : null, renderNavigationLabel ? (renderNavigationLabel(label)) : (_jsx(Typography, { variant: "strongControlLabel", className: cx(classes.label, 'mfui-SubNavigation__label'), children: label })), renderStatus()] }));
|
|
62
|
+
return (_jsxs(_Fragment, { children: [labelIcon ? (_jsx("div", { "aria-hidden": "true", className: cx(classes.labelIcon, 'mfui-SubNavigation__labelIcon'), children: labelIcon })) : null, renderNavigationLabel ? (renderNavigationLabel(label)) : (_jsx(Typography, { variant: "strongControlLabel", className: cx(classes.label, 'mfui-SubNavigation__label'), children: label })), renderStatus()] }));
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* This is a link that has NavigationLabelGroup.
|
|
@@ -8,6 +8,7 @@ isCheckboxCell: boolean
|
|
|
8
8
|
rowHighlighted: boolean
|
|
9
9
|
fixedColumn: boolean
|
|
10
10
|
edgeFixedColumn: "left" | "right"
|
|
11
|
+
layout: "default" | "edge-to-edge"
|
|
11
12
|
type: "text" | "amount"
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -18,7 +19,7 @@ type DataTableCellSlotRecipeVariantMap = {
|
|
|
18
19
|
type DataTableCellSlotRecipeSlot = "root" | "defaultCell" | "interactiveCell" | "disclosureIconWrapper" | "disclosureSpacing" | "skeletonCell"
|
|
19
20
|
|
|
20
21
|
export type DataTableCellSlotRecipeVariantProps = {
|
|
21
|
-
[key in keyof DataTableCellSlotRecipeVariant]?:
|
|
22
|
+
[key in keyof DataTableCellSlotRecipeVariant]?: DataTableCellSlotRecipeVariant[key] | undefined
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export interface DataTableCellSlotRecipeRecipe {
|
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { compact, getSlotCompoundVariant, memo, splitProps } from '../helpers.js';
|
|
2
2
|
import { createRecipe } from './create-recipe.js';
|
|
3
3
|
const dataTableCellSlotRecipeDefaultVariants = {};
|
|
4
|
-
const dataTableCellSlotRecipeCompoundVariants = [
|
|
4
|
+
const dataTableCellSlotRecipeCompoundVariants = [
|
|
5
|
+
{
|
|
6
|
+
"edgeFixedColumn": [
|
|
7
|
+
"left",
|
|
8
|
+
"right"
|
|
9
|
+
],
|
|
10
|
+
"layout": "default",
|
|
11
|
+
"css": {
|
|
12
|
+
"root": {
|
|
13
|
+
"tr:last-child > &::before": {
|
|
14
|
+
"height": "[100%]"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
];
|
|
5
20
|
const dataTableCellSlotRecipeSlotNames = [
|
|
6
21
|
[
|
|
7
22
|
"root",
|
|
@@ -38,6 +53,7 @@ const dataTableCellSlotRecipeVariantKeys = [
|
|
|
38
53
|
"rowHighlighted",
|
|
39
54
|
"fixedColumn",
|
|
40
55
|
"edgeFixedColumn",
|
|
56
|
+
"layout",
|
|
41
57
|
"type"
|
|
42
58
|
];
|
|
43
59
|
const getVariantProps = (variants) => ({ ...dataTableCellSlotRecipeDefaultVariants, ...compact(variants) });
|
|
@@ -65,6 +81,10 @@ export const dataTableCellSlotRecipe = /* @__PURE__ */ Object.assign(dataTableCe
|
|
|
65
81
|
"left",
|
|
66
82
|
"right"
|
|
67
83
|
],
|
|
84
|
+
"layout": [
|
|
85
|
+
"default",
|
|
86
|
+
"edge-to-edge"
|
|
87
|
+
],
|
|
68
88
|
"type": [
|
|
69
89
|
"text",
|
|
70
90
|
"amount"
|
package/dist/styles.css
CHANGED
|
@@ -636,9 +636,10 @@
|
|
|
636
636
|
.mfui-ipiOcH {
|
|
637
637
|
display: inline-flex;
|
|
638
638
|
align-items: center;
|
|
639
|
-
vertical-align:
|
|
639
|
+
vertical-align: bottom;
|
|
640
640
|
padding-right: var(--mfui-spacing-mfui\.size\.padding\.icon-inline\.horizontal\.comfort);
|
|
641
641
|
padding-left: var(--mfui-spacing-mfui\.size\.padding\.icon-inline\.horizontal\.comfort);
|
|
642
|
+
height: 1lh;
|
|
642
643
|
}
|
|
643
644
|
|
|
644
645
|
.mfui-eBBgyo {
|
|
@@ -5936,9 +5937,19 @@ li:last-child > .mfui-cXGJls {
|
|
|
5936
5937
|
justify-content: space-between;
|
|
5937
5938
|
}
|
|
5938
5939
|
|
|
5939
|
-
.mfui-dXVlzk
|
|
5940
|
+
.mfui-dXVlzk {
|
|
5941
|
+
flex: 1 0 0;
|
|
5942
|
+
gap: 7px;
|
|
5943
|
+
display: inline-flex;
|
|
5944
|
+
align-items: center;
|
|
5945
|
+
min-width: 1px;
|
|
5946
|
+
}
|
|
5947
|
+
|
|
5948
|
+
.mfui-iaZfLW {
|
|
5949
|
+
overflow: hidden;
|
|
5940
5950
|
display: inline-flex;
|
|
5941
5951
|
align-items: center;
|
|
5952
|
+
flex-shrink: 0;
|
|
5942
5953
|
}
|
|
5943
5954
|
|
|
5944
5955
|
.mfui-eCoQhk {
|
|
@@ -6082,56 +6093,9 @@ li:last-child > .mfui-cXGJls {
|
|
|
6082
6093
|
}
|
|
6083
6094
|
|
|
6084
6095
|
.mfui-dsYgTD {
|
|
6085
|
-
|
|
6086
|
-
padding-block: 3px;
|
|
6087
|
-
}
|
|
6088
|
-
|
|
6089
|
-
.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger {
|
|
6090
|
-
padding: 4px 7px;
|
|
6091
|
-
margin: 0;
|
|
6092
|
-
border: none;
|
|
6093
|
-
gap: 7px;
|
|
6094
|
-
border-radius: 6px;
|
|
6095
|
-
display: flex;
|
|
6096
|
+
display: inline-flex;
|
|
6096
6097
|
align-items: center;
|
|
6097
|
-
justify-content: flex-start;
|
|
6098
|
-
appearance: none;
|
|
6099
|
-
-webkit-appearance: none;
|
|
6100
|
-
text-align: start;
|
|
6101
|
-
background-color: transparent;
|
|
6102
|
-
color: var(--mfui-colors-mfui\.color\.base\.content\.none);
|
|
6103
|
-
width: 100%;
|
|
6104
|
-
min-width: 0;
|
|
6105
|
-
height: auto;
|
|
6106
|
-
}
|
|
6107
|
-
|
|
6108
|
-
.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger .mfui-Typography__root {
|
|
6109
|
-
flex: 1 0 0;
|
|
6110
|
-
overflow: hidden;
|
|
6111
|
-
text-overflow: ellipsis;
|
|
6112
|
-
white-space: nowrap;
|
|
6113
|
-
min-width: 1px;
|
|
6114
|
-
}
|
|
6115
|
-
|
|
6116
|
-
.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger:is(:hover, [data-hover]),.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger:is(:focus-visible, [data-focus-visible]) {
|
|
6117
|
-
background-color: var(--mfui-colors-mfui\.color\.neutral\.thin-background\.hovered);
|
|
6118
|
-
color: var(--mfui-colors-mfui\.color\.base\.content\.hovered);
|
|
6119
|
-
}
|
|
6120
|
-
|
|
6121
|
-
.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger:is(:active, [data-active]),.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger:is([aria-expanded=true], [data-expanded], [data-state="expanded"]) {
|
|
6122
|
-
background-color: var(--mfui-colors-mfui\.color\.neutral\.thin-background\.pressed);
|
|
6123
|
-
color: var(--mfui-colors-mfui\.color\.base\.content\.pressed);
|
|
6124
|
-
}
|
|
6125
|
-
|
|
6126
|
-
.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger:is([aria-expanded=true], [data-expanded], [data-state="expanded"]):is(:hover, [data-hover]) {
|
|
6127
|
-
background-color: var(--mfui-colors-mfui\.color\.neutral\.thin-background\.hovered);
|
|
6128
|
-
color: var(--mfui-colors-mfui\.color\.base\.content\.hovered);
|
|
6129
|
-
}
|
|
6130
|
-
|
|
6131
|
-
.mfui-dsYgTD.mfui-Sidebar__serviceMenu .mfui-Sidebar__serviceTrigger .mfui-Button__leftIcon {
|
|
6132
|
-
font-size: 18px;
|
|
6133
6098
|
flex-shrink: 0;
|
|
6134
|
-
color: var(--mfui-colors-mfui\.color\.neutral\.content\.none);
|
|
6135
6099
|
}
|
|
6136
6100
|
|
|
6137
6101
|
.mfui-SeHWc {
|
|
@@ -8571,6 +8535,10 @@ li:last-child > .mfui-cXGJls {
|
|
|
8571
8535
|
cursor: not-allowed;
|
|
8572
8536
|
}
|
|
8573
8537
|
|
|
8538
|
+
tr:last-child > .mfui-gtOHny::before {
|
|
8539
|
+
height: 100%;
|
|
8540
|
+
}
|
|
8541
|
+
|
|
8574
8542
|
.mfui-kSeSQV:is(:focus-visible, [data-focus-visible]),.mfui-dqyxbp:has(input:focus-visible, input[data-focus-visible=true], textarea:focus-visible, textarea[data-focus-visible=true]) {
|
|
8575
8543
|
outline: 2px solid var(--mfui-colors-mfui\.color\.primary\.border\.none);
|
|
8576
8544
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneyforward/mfui-components",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.28.1",
|
|
4
4
|
"description": "React UI Component Library for all Money Forward products",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"@tanstack/react-virtual": "^3.13.18",
|
|
65
65
|
"dayjs": "^1.11.13",
|
|
66
66
|
"@moneyforward/mfui-design-tokens": "^3.2.1",
|
|
67
|
-
"@moneyforward/mfui-icons-react": "^3.
|
|
67
|
+
"@moneyforward/mfui-icons-react": "^3.6.0"
|
|
68
68
|
},
|
|
69
69
|
"scripts": {
|
|
70
70
|
"prepare:panda": "panda codegen",
|