@moneyforward/mfui-components 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/src/Breadcrumbs/Breadcrumbs.d.ts +9 -0
  2. package/dist/src/Breadcrumbs/Breadcrumbs.js +150 -0
  3. package/dist/src/Breadcrumbs/Breadcrumbs.types.d.ts +31 -0
  4. package/dist/src/Breadcrumbs/Breadcrumbs.types.js +1 -0
  5. package/dist/src/Breadcrumbs/index.d.ts +2 -0
  6. package/dist/src/Breadcrumbs/index.js +1 -0
  7. package/dist/src/Button/Button.d.ts +1 -1
  8. package/dist/src/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  9. package/dist/src/DateTimeSelection/DateRangePicker/DateRangePickerProvider/DateRangePickerProvider.d.ts +2 -2
  10. package/dist/src/DateTimeSelection/shared/BaseRangePicker/BaseRangePickerProvider/BaseRangePickerProvider.d.ts +2 -2
  11. package/dist/src/IconButton/IconButton.d.ts +2 -2
  12. package/dist/src/MultipleSelectBox/MultipleSelectBox.d.ts +1 -1
  13. package/dist/src/MultipleSelectBox/MultipleSelectBox.js +5 -2
  14. package/dist/src/MultipleSelectBox/MultipleSelectBox.types.d.ts +9 -0
  15. package/dist/src/RadioButton/RadioButton.d.ts +1 -1
  16. package/dist/src/RadioGroup/RadioGroup.d.ts +1 -1
  17. package/dist/src/SplitView/SplitView.d.ts +7 -16
  18. package/dist/src/SplitView/SplitView.js +110 -70
  19. package/dist/src/SplitView/SplitView.types.d.ts +84 -56
  20. package/dist/src/SplitView/hooks/useSplitViewAnimation.d.ts +6 -6
  21. package/dist/src/SplitView/hooks/useSplitViewAnimation.js +46 -48
  22. package/dist/src/SplitView/hooks/useSplitViewDrag.d.ts +5 -4
  23. package/dist/src/SplitView/hooks/useSplitViewDrag.js +22 -12
  24. package/dist/src/SplitView/hooks/useSplitViewKeyboard.d.ts +7 -6
  25. package/dist/src/SplitView/hooks/useSplitViewKeyboard.js +22 -16
  26. package/dist/src/SplitView/hooks/useSplitViewPanelVisibility.d.ts +3 -3
  27. package/dist/src/SplitView/hooks/useSplitViewPanelVisibility.js +9 -9
  28. package/dist/src/SplitView/hooks/useSplitViewResize.d.ts +6 -6
  29. package/dist/src/SplitView/hooks/useSplitViewResize.js +16 -16
  30. package/dist/src/SplitView/utils/calculatePanelSize.d.ts +11 -11
  31. package/dist/src/SplitView/utils/calculatePanelSize.js +13 -13
  32. package/dist/src/SplitView/utils/styles.d.ts +21 -5
  33. package/dist/src/SplitView/utils/styles.js +47 -21
  34. package/dist/src/Tooltip/Tooltip.d.ts +2 -1
  35. package/dist/src/Tooltip/Tooltip.js +4 -2
  36. package/dist/src/Tooltip/Tooltip.types.d.ts +11 -0
  37. package/dist/src/index.d.ts +1 -0
  38. package/dist/src/index.js +1 -0
  39. package/dist/styled-system/recipes/breadcrumbs-slot-recipe.d.ts +33 -0
  40. package/dist/styled-system/recipes/breadcrumbs-slot-recipe.js +63 -0
  41. package/dist/styled-system/recipes/index.d.ts +1 -0
  42. package/dist/styled-system/recipes/index.js +1 -0
  43. package/dist/styles.css +88 -7
  44. package/dist/tsconfig.build.tsbuildinfo +1 -1
  45. package/package.json +3 -3
@@ -24,32 +24,55 @@ export function calculateDividerStyle(options) {
24
24
  };
25
25
  }
26
26
  /**
27
- * Calculate the right panel style based on the current size state, visibility, and animation state.
27
+ * Calculate the controlled panel style based on the current size state, visibility, and animation state.
28
28
  *
29
29
  * @param options - Style calculation options
30
30
  *
31
- * @returns The style object for the right panel
31
+ * @returns Styles for the outer panel div and the inner content wrapper div.
32
32
  */
33
- export function calculateRightPanelStyleUnified(options) {
34
- const { currentSize, enableAutoUnmount, isRightPanelVisible, isSlideOutAnimating, hasRightPanelBeenVisible, isAnimating, rightPanelPropsStyle, } = options;
35
- // Base size styles (width, flex, flexShrink)
36
- const baseStyle = {
33
+ export function calculateControlledPanelStyle(options) {
34
+ const { currentSize, fullPanelSize, targetPanel, enableAutoUnmount, isRightPanelVisible, isSlideOutAnimating, hasRightPanelBeenVisible, isAnimating, panelPropsStyle, } = options;
35
+ // Base outer style (width, flex, flexShrink).
36
+ // During animation, overflow:hidden clips the inner wrapper so content is masked rather than reflowed.
37
+ const baseOuterStyle = {
37
38
  flexShrink: 0,
38
39
  ...(currentSize !== undefined ? { width: `${String(currentSize)}px`, flex: 'none' } : { width: 0, flex: 0 }),
40
+ ...(isAnimating && { overflow: 'hidden' }),
39
41
  };
40
- // State preservation mode (enableAutoUnmount=false)
41
- if (!enableAutoUnmount && // Hide the panel when not visible (but keep it mounted for state preservation)
42
- !isRightPanelVisible &&
43
- !isSlideOutAnimating) {
42
+ // Inner wrapper: fixed width during animation so content never reflows as the outer div shrinks.
43
+ //
44
+ // For targetPanel="left" during slide-OUT, the inner div is shifted left via a negative marginLeft
45
+ // so that the RIGHT portion of the content stays visible until the end — matching the visual
46
+ // expectation of a panel that slides off to the left.
47
+ // For all other cases (slide-in, targetPanel="right"), the inner div is left-aligned (default).
48
+ const innerStyle = isAnimating
49
+ ? {
50
+ width: `${String(fullPanelSize)}px`,
51
+ height: '100%',
52
+ // For targetPanel="left", shift the inner div left so its right edge always aligns
53
+ // with the outer div's right edge. This makes the panel appear to slide in/out
54
+ // from the left: on slide-in the right portion is revealed first, and on slide-out
55
+ // the right portion stays visible last.
56
+ ...(targetPanel === 'left' &&
57
+ currentSize !== undefined && {
58
+ marginLeft: `${String(currentSize - fullPanelSize)}px`,
59
+ }),
60
+ }
61
+ : { width: '100%', height: '100%' };
62
+ // State preservation mode (enableAutoUnmount=false): hide but keep mounted
63
+ if (!enableAutoUnmount && !isRightPanelVisible && !isSlideOutAnimating) {
44
64
  return {
45
- ...baseStyle,
46
- minWidth: 0,
47
- overflow: 'hidden',
48
- opacity: 0,
49
- visibility: 'hidden',
50
- pointerEvents: 'none',
51
- display: 'none',
52
- ...rightPanelPropsStyle,
65
+ outer: {
66
+ ...baseOuterStyle,
67
+ minWidth: 0,
68
+ overflow: 'hidden',
69
+ opacity: 0,
70
+ visibility: 'hidden',
71
+ pointerEvents: 'none',
72
+ display: 'none',
73
+ ...panelPropsStyle,
74
+ },
75
+ inner: innerStyle,
53
76
  };
54
77
  }
55
78
  // Animation-related styles (common for both modes)
@@ -66,8 +89,11 @@ export function calculateRightPanelStyleUnified(options) {
66
89
  }
67
90
  }
68
91
  return {
69
- ...baseStyle,
70
- ...animationStyle,
71
- ...rightPanelPropsStyle,
92
+ outer: {
93
+ ...baseOuterStyle,
94
+ ...animationStyle,
95
+ ...panelPropsStyle,
96
+ },
97
+ inner: innerStyle,
72
98
  };
73
99
  }
@@ -40,6 +40,7 @@ export declare const Tooltip: import("react").ForwardRefExoticComponent<{
40
40
  trigger?: import("./Tooltip.types").TooltipTriggerType | import("./Tooltip.types").TooltipTriggerType[];
41
41
  targetDOMNode?: HTMLElement | null;
42
42
  disabled?: boolean;
43
+ hideFromScreenReader?: boolean;
43
44
  maxWidth?: import("react").CSSProperties["maxWidth"];
44
45
  contentProps?: Pick<import("react").ComponentPropsWithoutRef<"div">, "className">;
45
- } & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref">, "disabled" | "content"> & import("react").RefAttributes<HTMLDivElement>>;
46
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref">, "content" | "disabled"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -43,7 +43,7 @@ export const DEFAULT_MAX_WIDTH = '268px';
43
43
  * </Tooltip>
44
44
  * ```
45
45
  */
46
- export const Tooltip = forwardRef(({ children, open, onOpenStateChanged, content, targetDOMNode, placement, trigger = ['hover', 'focus'], disabled = false, maxWidth = DEFAULT_MAX_WIDTH, className, contentProps, ...wrapperProps }, ref) => {
46
+ export const Tooltip = forwardRef(({ children, open, onOpenStateChanged, content, targetDOMNode, placement, trigger = ['hover', 'focus'], disabled = false, hideFromScreenReader = false, maxWidth = DEFAULT_MAX_WIDTH, className, contentProps, ...wrapperProps }, ref) => {
47
47
  const rootRef = useRef(null);
48
48
  const arrowRef = useRef(null);
49
49
  const tooltipId = useId();
@@ -79,5 +79,7 @@ export const Tooltip = forwardRef(({ children, open, onOpenStateChanged, content
79
79
  }, [calculatedOpen, closeImmediate]);
80
80
  const triggerRef = mergeRefs(setTriggerReference, rootRef, ref);
81
81
  const classes = tooltipSlotRecipe();
82
- return (_jsxs(_Fragment, { children: [_jsx("div", { ref: triggerRef, ...wrapperProps, className: cx(classes.root, 'mfui-Tooltip__root', className), ...rootAttributes, children: isValidElement(children) ? (cloneElement(children, calculatedOpen ? { 'aria-describedby': tooltipId } : undefined)) : (_jsx("span", { ...(calculatedOpen ? { 'aria-describedby': tooltipId } : undefined), children: children })) }), calculatedOpen ? (_jsx(Portal, { targetDOMNode: targetElement, children: _jsxs("div", { ref: setTooltipReference, className: cx(classes.tooltip, 'mfui-Tooltip__tooltip', contentProps?.className), role: "tooltip", id: tooltipId, style: { maxWidth, ...tooltipStyles }, ...tooltipAttributes, children: [typeof content === 'string' ? _jsx(Typography, { variant: "helpMessage", children: content }) : content, _jsx(ArrowIcon, { ref: arrowRef, "aria-hidden": true, placement: calculatedPlacement, className: cx(classes.arrow, 'mfui-Tooltip__arrow'), style: arrowStyles })] }) })) : null] }));
82
+ return (_jsxs(_Fragment, { children: [_jsx("div", { ref: triggerRef, ...wrapperProps, className: cx(classes.root, 'mfui-Tooltip__root', className), ...rootAttributes, children: isValidElement(children) ? (cloneElement(children, calculatedOpen && !hideFromScreenReader
83
+ ? { 'aria-describedby': tooltipId }
84
+ : undefined)) : (_jsx("span", { ...(calculatedOpen && !hideFromScreenReader ? { 'aria-describedby': tooltipId } : undefined), children: children })) }), calculatedOpen ? (_jsx(Portal, { targetDOMNode: targetElement, children: _jsxs("div", { ref: setTooltipReference, className: cx(classes.tooltip, 'mfui-Tooltip__tooltip', contentProps?.className), role: "tooltip", id: tooltipId, "aria-hidden": hideFromScreenReader ? true : undefined, style: { maxWidth, ...tooltipStyles }, ...tooltipAttributes, children: [typeof content === 'string' ? _jsx(Typography, { variant: "helpMessage", children: content }) : content, _jsx(ArrowIcon, { ref: arrowRef, "aria-hidden": true, placement: calculatedPlacement, className: cx(classes.arrow, 'mfui-Tooltip__arrow'), style: arrowStyles })] }) })) : null] }));
83
85
  });
@@ -78,6 +78,17 @@ export type TooltipProps = {
78
78
  * @default false
79
79
  */
80
80
  disabled?: boolean;
81
+ /**
82
+ * If `true`, the tooltip will be hidden from screen readers.
83
+ * `aria-describedby` will not be added to the trigger element, and the tooltip content
84
+ * will have `aria-hidden="true"`.
85
+ *
86
+ * Use this when the tooltip content is redundant with the trigger's accessible name
87
+ * (e.g., showing the full text of a truncated label), to avoid double announcement.
88
+ *
89
+ * @default false
90
+ */
91
+ hideFromScreenReader?: boolean;
81
92
  /**
82
93
  * Sets the maximum width of the tooltip content.
83
94
  *
@@ -1,3 +1,4 @@
1
+ export * from './Breadcrumbs';
1
2
  export * from './Button';
2
3
  export * from './Dialog';
3
4
  export * from './DropdownMenu';
package/dist/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './Breadcrumbs';
1
2
  export * from './Button';
2
3
  export * from './Dialog';
3
4
  export * from './DropdownMenu';
@@ -0,0 +1,33 @@
1
+ /* eslint-disable */
2
+ import type { ConditionalValue } from '../types/index';
3
+ import type { DistributiveOmit, Pretty } from '../types/system-types';
4
+
5
+ interface BreadcrumbsSlotRecipeVariant {
6
+ wrap: boolean
7
+ }
8
+
9
+ type BreadcrumbsSlotRecipeVariantMap = {
10
+ [key in keyof BreadcrumbsSlotRecipeVariant]: Array<BreadcrumbsSlotRecipeVariant[key]>
11
+ }
12
+
13
+ type BreadcrumbsSlotRecipeSlot = "root" | "list" | "item" | "truncateItem" | "separator" | "linkText" | "currentItem" | "truncateButton"
14
+
15
+ export type BreadcrumbsSlotRecipeVariantProps = {
16
+ [key in keyof BreadcrumbsSlotRecipeVariant]?: ConditionalValue<BreadcrumbsSlotRecipeVariant[key]> | undefined
17
+ }
18
+
19
+ export interface BreadcrumbsSlotRecipeRecipe {
20
+ __slot: BreadcrumbsSlotRecipeSlot
21
+ __type: BreadcrumbsSlotRecipeVariantProps
22
+ (props?: BreadcrumbsSlotRecipeVariantProps): Pretty<Record<BreadcrumbsSlotRecipeSlot, string>>
23
+ raw: (props?: BreadcrumbsSlotRecipeVariantProps) => BreadcrumbsSlotRecipeVariantProps
24
+ variantMap: BreadcrumbsSlotRecipeVariantMap
25
+ variantKeys: Array<keyof BreadcrumbsSlotRecipeVariant>
26
+ splitVariantProps<Props extends BreadcrumbsSlotRecipeVariantProps>(props: Props): [BreadcrumbsSlotRecipeVariantProps, Pretty<DistributiveOmit<Props, keyof BreadcrumbsSlotRecipeVariantProps>>]
27
+ getVariantProps: (props?: BreadcrumbsSlotRecipeVariantProps) => BreadcrumbsSlotRecipeVariantProps
28
+ }
29
+
30
+ /**
31
+ * Slot class created for the MFUI Breadcrumbs component.
32
+ */
33
+ export declare const breadcrumbsSlotRecipe: BreadcrumbsSlotRecipeRecipe
@@ -0,0 +1,63 @@
1
+ import { compact, getSlotCompoundVariant, memo, splitProps } from '../helpers.js';
2
+ import { createRecipe } from './create-recipe.js';
3
+ const breadcrumbsSlotRecipeDefaultVariants = {};
4
+ const breadcrumbsSlotRecipeCompoundVariants = [];
5
+ const breadcrumbsSlotRecipeSlotNames = [
6
+ [
7
+ "root",
8
+ "Breadcrumbs__root"
9
+ ],
10
+ [
11
+ "list",
12
+ "Breadcrumbs__list"
13
+ ],
14
+ [
15
+ "item",
16
+ "Breadcrumbs__item"
17
+ ],
18
+ [
19
+ "truncateItem",
20
+ "Breadcrumbs__truncateItem"
21
+ ],
22
+ [
23
+ "separator",
24
+ "Breadcrumbs__separator"
25
+ ],
26
+ [
27
+ "linkText",
28
+ "Breadcrumbs__linkText"
29
+ ],
30
+ [
31
+ "currentItem",
32
+ "Breadcrumbs__currentItem"
33
+ ],
34
+ [
35
+ "truncateButton",
36
+ "Breadcrumbs__truncateButton"
37
+ ]
38
+ ];
39
+ const breadcrumbsSlotRecipeSlotFns = /* @__PURE__ */ breadcrumbsSlotRecipeSlotNames.map(([slotName, slotKey]) => [slotName, createRecipe(slotKey, breadcrumbsSlotRecipeDefaultVariants, getSlotCompoundVariant(breadcrumbsSlotRecipeCompoundVariants, slotName))]);
40
+ const breadcrumbsSlotRecipeFn = memo((props = {}) => {
41
+ return Object.fromEntries(breadcrumbsSlotRecipeSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]));
42
+ });
43
+ const breadcrumbsSlotRecipeVariantKeys = [
44
+ "wrap"
45
+ ];
46
+ const getVariantProps = (variants) => ({ ...breadcrumbsSlotRecipeDefaultVariants, ...compact(variants) });
47
+ export const breadcrumbsSlotRecipe = /* @__PURE__ */ Object.assign(breadcrumbsSlotRecipeFn, {
48
+ __recipe__: false,
49
+ __name__: 'breadcrumbsSlotRecipe',
50
+ raw: (props) => props,
51
+ classNameMap: {},
52
+ variantKeys: breadcrumbsSlotRecipeVariantKeys,
53
+ variantMap: {
54
+ "wrap": [
55
+ "true",
56
+ "false"
57
+ ]
58
+ },
59
+ splitVariantProps(props) {
60
+ return splitProps(props, breadcrumbsSlotRecipeVariantKeys);
61
+ },
62
+ getVariantProps
63
+ });
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable */
2
+ export * from './breadcrumbs-slot-recipe';
2
3
  export * from './icon-button-slot-recipe';
3
4
  export * from './focus-indicator-slot-recipe';
4
5
  export * from './typography-slot-recipe';
@@ -1,3 +1,4 @@
1
+ export * from './breadcrumbs-slot-recipe.js';
1
2
  export * from './icon-button-slot-recipe.js';
2
3
  export * from './focus-indicator-slot-recipe.js';
3
4
  export * from './typography-slot-recipe.js';
package/dist/styles.css CHANGED
@@ -252,8 +252,11 @@
252
252
  --mfui-sizes-mfui\.layout\.area\.horizontal\.floating-default: 448px;
253
253
  --mfui-sizes-mfui\.layout\.area\.horizontal\.fixed: 588px;
254
254
  --mfui-sizes-mfui\.layout\.area\.vertical\.global-header: 48px;
255
- --mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.2: 48px;
256
- --mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.0-1of3: 8px;
255
+ --mfui-sizes-mfui\.layout\.grid\.scale\.horizontal\.1: 14px;
256
+ --mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.1: 24px;
257
+ --mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.2: 48px;
258
+ --mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.0-1of6: 4px;
259
+ --mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.0-1of3: 8px;
257
260
  --mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.1-1of4: 30px;
258
261
  --mfui-sizes-mfui\.layout\.safe-area\.edge\.horizontal: 49px;
259
262
  --mfui-sizes-mfui\.layout\.safe-area\.edge\.vertical: 48px;
@@ -471,6 +474,76 @@
471
474
  --mfui-line-heights-mfui\.typography\.line-height\.condensed-input\.narrow: 21px;
472
475
  }
473
476
 
477
+ .mfui-dOaOSF {
478
+ margin: 0;
479
+ list-style: none;
480
+ padding-inline: var(--mfui-sizes-mfui\.layout\.grid\.scale\.horizontal\.1);
481
+ padding-block: var(--mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.0-1of6);
482
+ display: flex;
483
+ align-items: center;
484
+ }
485
+
486
+ .mfui-czEBLe {
487
+ display: flex;
488
+ align-items: center;
489
+ flex-shrink: 0;
490
+ min-width: 0;
491
+ height: var(--mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.1);
492
+ }
493
+
494
+ [data-mfui-all-collapsed] .mfui-czEBLe {
495
+ flex-shrink: 1;
496
+ }
497
+
498
+ .mfui-fSvpzs {
499
+ display: flex;
500
+ align-items: center;
501
+ flex-shrink: 0;
502
+ min-width: 0;
503
+ height: var(--mfui-sizes-mfui\.layout\.grid\.scale\.vertical\.1);
504
+ }
505
+
506
+ .mfui-fMjXdK {
507
+ padding-inline: var(--mfui-spacing-mfui\.size\.spacing\.inline\.horizontal\.comfort);
508
+ display: flex;
509
+ align-items: center;
510
+ flex-shrink: 0;
511
+ color: var(--mfui-colors-mfui\.color\.neutral\.content\.none);
512
+ }
513
+
514
+ .mfui-iMiGMy {
515
+ --mfui-colors-mfui\.color\.link\.content\.none: var(--mfui-colors-mfui\.color\.neutral\.content\.none);
516
+ --mfui-colors-mfui\.color\.link\.content\.hovered: var(--mfui-colors-mfui\.color\.neutral\.content\.hovered);
517
+ --mfui-colors-mfui\.color\.link\.content\.pressed: var(--mfui-colors-mfui\.color\.neutral\.content\.pressed);
518
+ text-decoration: underline;
519
+ cursor: pointer;
520
+ font-family: var(--mfui-fonts-mfui\.typography\.font-family\.condensed-link-body);
521
+ font-weight: var(--mfui-font-weights-mfui\.typography\.font-weight\.condensed-link-body);
522
+ font-size: var(--mfui-font-sizes-mfui\.typography\.font-size\.condensed-link-body);
523
+ line-height: var(--mfui-line-heights-mfui\.typography\.line-height\.condensed-link-body);
524
+ min-width: 0;
525
+ max-width: 100%;
526
+ }
527
+
528
+ .mfui-iMiGMy,.mfui-jnwedv {
529
+ overflow: hidden;
530
+ text-overflow: ellipsis;
531
+ white-space: nowrap;
532
+ display: block;
533
+ }
534
+
535
+ .mfui-jnwedv {
536
+ font-family: var(--mfui-fonts-mfui\.typography\.font-family\.condensed-body);
537
+ font-weight: var(--mfui-font-weights-mfui\.typography\.font-weight\.condensed-body);
538
+ font-size: var(--mfui-font-sizes-mfui\.typography\.font-size\.condensed-body);
539
+ line-height: var(--mfui-line-heights-mfui\.typography\.line-height\.condensed-body);
540
+ color: var(--mfui-colors-mfui\.color\.neutral\.content\.none);
541
+ }
542
+
543
+ .mfui-cdQcHH {
544
+ flex-shrink: 0;
545
+ }
546
+
474
547
  .mfui-iTZtNc {
475
548
  border: none;
476
549
  padding: 0;
@@ -538,8 +611,7 @@
538
611
 
539
612
  .mfui-fNikSU {
540
613
  text-decoration: underline;
541
- align-items: center;
542
- display: inline-flex;
614
+ display: inline;
543
615
  font-family: var(--mfui-fonts-mfui\.typography\.font-family\.link-body);
544
616
  cursor: pointer;
545
617
  color: var(--mfui-colors-mfui\.color\.link\.content\.none);
@@ -554,8 +626,9 @@
554
626
  }
555
627
 
556
628
  .mfui-ipiOcH {
557
- display: flex;
629
+ display: inline-flex;
558
630
  align-items: center;
631
+ vertical-align: middle;
559
632
  padding-right: var(--mfui-spacing-mfui\.size\.padding\.icon-inline\.horizontal\.comfort);
560
633
  padding-left: var(--mfui-spacing-mfui\.size\.padding\.icon-inline\.horizontal\.comfort);
561
634
  }
@@ -5072,6 +5145,14 @@ li:last-child > .mfui-cXGJls {
5072
5145
  }
5073
5146
  }
5074
5147
 
5148
+ .mfui-bTxnBg {
5149
+ flex-wrap: wrap;
5150
+ }
5151
+
5152
+ .mfui-iuLcfv {
5153
+ flex-wrap: nowrap;
5154
+ }
5155
+
5075
5156
  .mfui-fSrZsx {
5076
5157
  border-radius: 12px;
5077
5158
  width: 24px;
@@ -6299,7 +6380,7 @@ li:last-child > .mfui-cXGJls {
6299
6380
  }
6300
6381
 
6301
6382
  .mfui-cVbPhZ {
6302
- height: calc(var(--mfui-sizes-mfui\.size\.dimension\.control-component\.height\.comfort) - 2px);
6383
+ height: calc(100% - 2px);
6303
6384
  }
6304
6385
 
6305
6386
  .mfui-eSkNXq,.mfui-bNQKjD,.mfui-fTTJNR {
@@ -6317,7 +6398,7 @@ li:last-child > .mfui-cXGJls {
6317
6398
  }
6318
6399
 
6319
6400
  .mfui-gptIZX {
6320
- height: calc(var(--mfui-sizes-mfui\.size\.dimension\.control-component\.height\.condensed) - 2px);
6401
+ height: calc(100% - 2px);
6321
6402
  }
6322
6403
 
6323
6404
  .mfui-ccKtgp span {