twenty-ui 2.44.0 → 2.45.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 (147) hide show
  1. package/dist/{Avatar-Da_dlwJP.js → Avatar-C0FtFpJC.js} +1 -1
  2. package/dist/{Avatar-B5-MSVUG.cjs → Avatar-CkI8b3nh.cjs} +1 -1
  3. package/dist/ListItem-B2HOeN2h.cjs +1 -0
  4. package/dist/ListItem-D8BQRK1W.js +97 -0
  5. package/dist/ListItem.module-Dxd8jOJP.js +35 -0
  6. package/dist/ListItem.module-RqrfwrFg.cjs +1 -0
  7. package/dist/{OverflowingTextWithTooltip-maBlogGW.cjs → OverflowingTextWithTooltip-tsJWb_Ie.cjs} +1 -1
  8. package/dist/ProgressBar-21MXyySH.js +108 -0
  9. package/dist/ProgressBar-CyqeRyzA.cjs +1 -0
  10. package/dist/{ResizeHandle-DN1bRxQb.js → ResizeHandle-CGYGfOVF.js} +5 -5
  11. package/dist/{ResizeHandle-cll01qBQ.cjs → ResizeHandle-CI-VTVOi.cjs} +1 -1
  12. package/dist/Shortcut-CRCVbA2m.js +71 -0
  13. package/dist/Shortcut-CuBFak3I.cjs +1 -0
  14. package/dist/Switch-BQp0t6JZ.js +129 -0
  15. package/dist/Switch-CFCj3OQZ.cjs +1 -0
  16. package/dist/TabsTabContent-DZUNi_iE.cjs +1 -0
  17. package/dist/TabsTabContent-s6J5bZ3R.js +39 -0
  18. package/dist/components/code-editor.cjs +1 -1
  19. package/dist/components/code-editor.mjs +1 -1
  20. package/dist/components/data-display/MetricRow/MetricRow.d.ts +2 -0
  21. package/dist/components/data-display/MetricRow/types/MetricRowProps.d.ts +11 -0
  22. package/dist/components/index.d.ts +6 -1
  23. package/dist/components/input/IconButton/types/IconButtonProps.d.ts +1 -1
  24. package/dist/components/input/ImageInput/ImageInput.d.ts +2 -0
  25. package/dist/components/input/ImageInput/__stories__/ImageInputPreviewChangesExample.d.ts +2 -0
  26. package/dist/components/input/ImageInput/__stories__/imageInputPreviewUrl.d.ts +1 -0
  27. package/dist/components/input/ImageInput/internal/ImageInputPreview.d.ts +5 -0
  28. package/dist/components/input/ImageInput/types/ImageInputProps.d.ts +15 -0
  29. package/dist/components/layout/OverflowingList/OverflowingList.d.ts +2 -0
  30. package/dist/components/layout/OverflowingList/__stories__/OVERFLOWING_LIST_STORY_ITEMS.d.ts +1 -0
  31. package/dist/components/layout/OverflowingList/__stories__/OverflowingListControlledFocusExample.d.ts +1 -0
  32. package/dist/components/layout/OverflowingList/__stories__/OverflowingListMutableTag.d.ts +1 -0
  33. package/dist/components/layout/OverflowingList/__stories__/OverflowingListResizeExample.d.ts +1 -0
  34. package/dist/components/layout/OverflowingList/__stories__/expectOverflowingListPopupGeometry.d.ts +4 -0
  35. package/dist/components/layout/OverflowingList/internal/OverflowingListItem.d.ts +9 -0
  36. package/dist/components/layout/OverflowingList/internal/getVisibleItemCount.d.ts +6 -0
  37. package/dist/components/layout/OverflowingList/internal/measureItemWidths.d.ts +5 -0
  38. package/dist/components/layout/OverflowingList/internal/useFocusedElementUnmountRef.d.ts +1 -0
  39. package/dist/components/layout/OverflowingList/internal/useOverflowingListLayout.d.ts +12 -0
  40. package/dist/components/layout/OverflowingList/types/OverflowingListProps.d.ts +7 -0
  41. package/dist/components/navigation/Dropdown/Dropdown.d.ts +3 -3
  42. package/dist/components/navigation/Dropdown/internal/DropdownActionItem.d.ts +1 -1
  43. package/dist/components/navigation/Dropdown/internal/DropdownOptionItem.d.ts +1 -1
  44. package/dist/components/navigation/Dropdown/internal/DropdownSubmenuTrigger.d.ts +1 -1
  45. package/dist/components/navigation/Dropdown/types/DropdownActionItemProps.d.ts +1 -1
  46. package/dist/components/navigation/Dropdown/types/DropdownOptionItemProps.d.ts +1 -1
  47. package/dist/components/navigation/MenuItem/MenuItem.d.ts +1 -1
  48. package/dist/components/navigation/MenuItem/types/MenuItemProps.d.ts +3 -3
  49. package/dist/components/navigation/TabButton/types/TabButtonProps.d.ts +1 -1
  50. package/dist/components-BizDepCM.cjs +1 -0
  51. package/dist/components-CC-3jXEq.js +2144 -0
  52. package/dist/components.cjs +1 -1
  53. package/dist/components.mjs +30 -28
  54. package/dist/{data-display-DenoFbuP.cjs → data-display-BgweQocz.cjs} +1 -1
  55. package/dist/{data-display-npY0auY_.js → data-display-Dn_nzrc8.js} +25 -25
  56. package/dist/index.cjs +1 -1
  57. package/dist/index.mjs +631 -622
  58. package/dist/input-C50264Jb.js +407 -0
  59. package/dist/input-CRiX4eQH.cjs +1 -0
  60. package/dist/isRenderableSlot-DT_depzM.js +6 -0
  61. package/dist/isRenderableSlot-Guryb6Nf.cjs +1 -0
  62. package/dist/navigation-B9YTBTaa.cjs +1 -0
  63. package/dist/navigation-CQUyRKgk.js +122 -0
  64. package/dist/primitives/data-display.cjs +1 -1
  65. package/dist/primitives/data-display.mjs +2 -2
  66. package/dist/primitives/feedback/ProgressRing/ProgressRing.d.ts +2 -0
  67. package/dist/primitives/feedback/ProgressRing/types/ProgressRingProps.d.ts +6 -0
  68. package/dist/primitives/feedback/index.d.ts +2 -0
  69. package/dist/primitives/feedback.cjs +1 -1
  70. package/dist/primitives/feedback.mjs +6 -5
  71. package/dist/primitives/input/Button/Button.d.ts +1 -1
  72. package/dist/primitives/input/Button/types/ButtonProps.d.ts +3 -1
  73. package/dist/primitives/input/NumberStepper/NumberStepper.d.ts +2 -0
  74. package/dist/primitives/input/NumberStepper/__stories__/ControlledNumberStepperExample.d.ts +2 -0
  75. package/dist/primitives/input/NumberStepper/__stories__/NumberStepperFieldExample.d.ts +2 -0
  76. package/dist/primitives/input/NumberStepper/__stories__/NumberStepperFormExample.d.ts +4 -0
  77. package/dist/primitives/input/NumberStepper/internal/constants/NumberStepperFormat.d.ts +1 -0
  78. package/dist/primitives/input/NumberStepper/internal/utils/isBlurRoundingOfCurrentValue.d.ts +8 -0
  79. package/dist/primitives/input/NumberStepper/types/NumberStepperProps.d.ts +7 -0
  80. package/dist/primitives/input/index.d.ts +2 -0
  81. package/dist/primitives/input.cjs +1 -1
  82. package/dist/primitives/input.mjs +15 -14
  83. package/dist/primitives/layout.cjs +1 -1
  84. package/dist/primitives/layout.mjs +1 -1
  85. package/dist/primitives/navigation/Breadcrumb/Breadcrumb.d.ts +2 -0
  86. package/dist/primitives/navigation/Breadcrumb/internal/BreadcrumbItemContent.d.ts +6 -0
  87. package/dist/primitives/navigation/Breadcrumb/types/BreadcrumbItem.d.ts +2 -0
  88. package/dist/primitives/navigation/Breadcrumb/types/BreadcrumbProps.d.ts +5 -0
  89. package/dist/primitives/navigation/ListItem/ListItem.d.ts +1 -1
  90. package/dist/primitives/navigation/ListItem/types/ListItemProps.d.ts +3 -2
  91. package/dist/primitives/navigation/index.d.ts +3 -0
  92. package/dist/primitives/navigation.cjs +1 -1
  93. package/dist/primitives/navigation.mjs +5 -4
  94. package/dist/primitives/surfaces/Menu/internal/getMenuListItemProps.d.ts +2 -2
  95. package/dist/primitives/surfaces/Menu/types/MenuItemSlotProps.d.ts +1 -1
  96. package/dist/primitives/surfaces.cjs +1 -1
  97. package/dist/primitives/surfaces.mjs +2 -2
  98. package/dist/primitives/typography/Shortcut/Shortcut.d.ts +2 -0
  99. package/dist/primitives/typography/Shortcut/formatShortcut.d.ts +2 -0
  100. package/dist/primitives/typography/Shortcut/internal/getShortcutPresentation.d.ts +8 -0
  101. package/dist/primitives/typography/Shortcut/types/ShortcutDefinition.d.ts +1 -0
  102. package/dist/primitives/typography/Shortcut/types/ShortcutFormatOptions.d.ts +7 -0
  103. package/dist/primitives/typography/Shortcut/types/ShortcutProps.d.ts +6 -0
  104. package/dist/primitives/typography/index.d.ts +5 -0
  105. package/dist/primitives/typography.cjs +1 -1
  106. package/dist/primitives/typography.mjs +8 -4
  107. package/dist/primitives.cjs +1 -1
  108. package/dist/primitives.mjs +61 -54
  109. package/dist/style.css +1 -1
  110. package/dist/{surfaces-BJilWRcD.js → surfaces-C9ZUjKxU.js} +10 -10
  111. package/dist/{surfaces-iGk6vB0x.cjs → surfaces-Davk4uBw.cjs} +1 -1
  112. package/dist/typography-D3fk3hSo.cjs +1 -0
  113. package/dist/typography-DUJWRilJ.js +5 -0
  114. package/dist/useIsMobile-CAIiLC-3.js +37 -0
  115. package/dist/useIsMobile-UXHqqYXb.cjs +1 -0
  116. package/dist/utilities/index.d.ts +0 -1
  117. package/dist/utilities-CJKPcDM4.js +28 -0
  118. package/dist/utilities-CdR__WZM.cjs +1 -0
  119. package/dist/utilities.cjs +1 -1
  120. package/dist/utilities.mjs +16 -16
  121. package/package.json +1 -1
  122. package/dist/ListItem-Bg7Sk5Nv.js +0 -112
  123. package/dist/ListItem-UYe5GaEQ.cjs +0 -1
  124. package/dist/ListItem.module-DkSRO3lX.cjs +0 -1
  125. package/dist/ListItem.module-DqkBkYtI.js +0 -38
  126. package/dist/ProgressBar-C8N-1Iav.cjs +0 -1
  127. package/dist/ProgressBar-Cq6EDZz9.js +0 -58
  128. package/dist/Switch-BLO0Y9bi.cjs +0 -1
  129. package/dist/Switch-CMVfAYqP.js +0 -127
  130. package/dist/TabsTabContent-BseLV1Wk.cjs +0 -1
  131. package/dist/TabsTabContent-_NCTxoP6.js +0 -40
  132. package/dist/components/navigation/NavigationBar/NavigationBar.d.ts +0 -13
  133. package/dist/components/navigation/NavigationBar/internal/NavigationBarItem/NavigationBarItem.d.ts +0 -9
  134. package/dist/components-Bs-35QDJ.cjs +0 -1
  135. package/dist/components-kaERZ89J.js +0 -1865
  136. package/dist/input-BNuMVtkM.cjs +0 -1
  137. package/dist/input-COx4wMjs.js +0 -324
  138. package/dist/navigation-CUofX3gO.js +0 -78
  139. package/dist/navigation-qJfYicT7.cjs +0 -1
  140. package/dist/primitives/input/Button/internal/ButtonHotKeys.d.ts +0 -5
  141. package/dist/primitives/navigation/ListItem/internal/MenuItemHotKeys/MenuItemHotKeys.d.ts +0 -6
  142. package/dist/primitives/navigation/Tabs/internal/isRenderableSlot.d.ts +0 -2
  143. package/dist/utilities/device/getOsShortcutSeparator.d.ts +0 -1
  144. package/dist/utilities-B7EwAZ4L.cjs +0 -1
  145. package/dist/utilities-CMrqpiWM.js +0 -64
  146. package/dist/{OverflowingTextWithTooltip-CtHMhu6b.js → OverflowingTextWithTooltip-CNpmkBvJ.js} +1 -1
  147. /package/dist/{primitives/navigation/ListItem → utilities}/internal/isRenderableSlot.d.ts +0 -0
@@ -0,0 +1,4 @@
1
+ import { NumberStepperProps } from '../types/NumberStepperProps';
2
+ export declare const NumberStepperFormExample: ({ external, ...props }: NumberStepperProps & {
3
+ external?: boolean;
4
+ }) => import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const NUMBER_STEPPER_FORMAT: Intl.NumberFormatOptions;
@@ -0,0 +1,8 @@
1
+ import { NumberField } from '@base-ui/react/number-field';
2
+ type IsBlurRoundingOfCurrentValueArgs = {
3
+ nextValue: number | null;
4
+ currentValue: number | null;
5
+ reason: NumberField.Root.ChangeEventReason;
6
+ };
7
+ export declare const isBlurRoundingOfCurrentValue: ({ nextValue, currentValue, reason, }: IsBlurRoundingOfCurrentValueArgs) => boolean;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import { NumberField } from '@base-ui/react/number-field';
2
+ export type NumberStepperProps = Omit<NumberField.Input.Props, 'children' | 'defaultValue' | 'disabled' | 'max' | 'min' | 'name' | 'onChange' | 'readOnly' | 'required' | 'size' | 'step' | 'type' | 'value'> & Pick<NumberField.Root.Props, 'allowOutOfRange' | 'defaultValue' | 'disabled' | 'max' | 'min' | 'name' | 'onValueChange' | 'readOnly' | 'required' | 'value'> & {
3
+ step?: number;
4
+ showButtons?: boolean;
5
+ decrementLabel?: string;
6
+ incrementLabel?: string;
7
+ };
@@ -16,6 +16,8 @@ export { Input } from './Input/Input';
16
16
  export type { InputProps } from './Input/types/InputProps';
17
17
  export { InputGroup } from './InputGroup/InputGroup';
18
18
  export type { InputGroupProps } from './InputGroup/types/InputGroupProps';
19
+ export { NumberStepper } from './NumberStepper/NumberStepper';
20
+ export type { NumberStepperProps } from './NumberStepper/types/NumberStepperProps';
19
21
  export { Radio } from './Radio/Radio';
20
22
  export type { RadioProps } from './Radio/types/RadioProps';
21
23
  export { RadioGroup } from './RadioGroup/RadioGroup';
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../Switch-BLO0Y9bi.cjs"),e=require("../input-BNuMVtkM.cjs");exports.Button=t.Button;exports.ButtonGroup=e.ButtonGroup;exports.Checkbox=e.Checkbox;exports.Field=e.Field;exports.Input=t.Input;exports.InputGroup=t.InputGroup;exports.Radio=e.Radio;exports.RadioGroup=e.RadioGroup;exports.SegmentedControl=e.SegmentedControl;exports.Select=e.Select;exports.Slider=e.Slider;exports.Switch=t.Switch;exports.Textarea=e.Textarea;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../Switch-CFCj3OQZ.cjs"),e=require("../input-CRiX4eQH.cjs");exports.Button=t.Button;exports.ButtonGroup=e.ButtonGroup;exports.Checkbox=e.Checkbox;exports.Field=e.Field;exports.Input=t.Input;exports.InputGroup=t.InputGroup;exports.NumberStepper=e.NumberStepper;exports.Radio=e.Radio;exports.RadioGroup=e.RadioGroup;exports.SegmentedControl=e.SegmentedControl;exports.Select=e.Select;exports.Slider=e.Slider;exports.Switch=t.Switch;exports.Textarea=e.Textarea;
@@ -1,17 +1,18 @@
1
- import { a as o, n as t, r as s, t as r } from "../Switch-CMVfAYqP.js";
2
- import { a as i, c as n, i as p, l as u, n as d, o as l, r as m, s as c, t as S } from "../input-COx4wMjs.js";
1
+ import { a as t, n as o, r, t as s } from "../Switch-BQp0t6JZ.js";
2
+ import { a as p, c as u, i, l as n, n as m, o as d, r as l, s as S, t as c, u as x } from "../input-C50264Jb.js";
3
3
  export {
4
- o as Button,
5
- u as ButtonGroup,
4
+ t as Button,
5
+ x as ButtonGroup,
6
6
  n as Checkbox,
7
- c as Field,
8
- s as Input,
9
- t as InputGroup,
10
- l as Radio,
11
- i as RadioGroup,
12
- p as SegmentedControl,
13
- m as Select,
14
- d as Slider,
15
- r as Switch,
16
- S as Textarea
7
+ u as Field,
8
+ r as Input,
9
+ o as InputGroup,
10
+ S as NumberStepper,
11
+ d as Radio,
12
+ p as RadioGroup,
13
+ i as SegmentedControl,
14
+ l as Select,
15
+ m as Slider,
16
+ s as Switch,
17
+ c as Textarea
17
18
  };
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("../HorizontalSeparator-vJLHHlc4.cjs"),e=require("../layout-DniJJ8Mx.cjs"),o=require("../ResizeHandle-cll01qBQ.cjs");exports.Collapsible=e.Collapsible;exports.HorizontalSeparator=r.HorizontalSeparator;exports.ResizeHandle=o.ResizeHandle;exports.TextDirectionProvider=e.TextDirectionProvider;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("../HorizontalSeparator-vJLHHlc4.cjs"),e=require("../layout-DniJJ8Mx.cjs"),o=require("../ResizeHandle-CI-VTVOi.cjs");exports.Collapsible=e.Collapsible;exports.HorizontalSeparator=r.HorizontalSeparator;exports.ResizeHandle=o.ResizeHandle;exports.TextDirectionProvider=e.TextDirectionProvider;
@@ -1,6 +1,6 @@
1
1
  import { t as r } from "../HorizontalSeparator-JwV0dB5W.js";
2
2
  import { n as a, t as e } from "../layout-BEC7fKLU.js";
3
- import { t as m } from "../ResizeHandle-DN1bRxQb.js";
3
+ import { t as m } from "../ResizeHandle-CGYGfOVF.js";
4
4
  export {
5
5
  a as Collapsible,
6
6
  r as HorizontalSeparator,
@@ -0,0 +1,2 @@
1
+ import { BreadcrumbProps } from './types/BreadcrumbProps';
2
+ export declare const Breadcrumb: ({ links, className, render, ref, "aria-label": ariaLabel, ...props }: BreadcrumbProps) => import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
@@ -0,0 +1,6 @@
1
+ import { BreadcrumbItem } from '../types/BreadcrumbItem';
2
+ type BreadcrumbItemContentProps = BreadcrumbItem & {
3
+ current: boolean;
4
+ };
5
+ export declare const BreadcrumbItemContent: ({ children, href, render, title, current, }: BreadcrumbItemContentProps) => import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ export type BreadcrumbItem = Pick<useRender.ComponentProps<'a'>, 'children' | 'href' | 'render' | 'title'>;
@@ -0,0 +1,5 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import { BreadcrumbItem } from './BreadcrumbItem';
3
+ export type BreadcrumbProps = Omit<useRender.ComponentProps<'nav'>, 'children'> & {
4
+ links: BreadcrumbItem[];
5
+ };
@@ -1,2 +1,2 @@
1
1
  import { ListItemProps } from './types/ListItemProps';
2
- export declare const ListItem: ({ color, selected, focused, disabled, indicator, startIcon, endIcon, description, descriptionPlacement, actions, actionsVisibility, hotkeys, hotkeysJoinLabel, hasSubmenu, className, children, render, ref, onClick, ...props }: ListItemProps) => import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
2
+ export declare const ListItem: ({ color, selected, focused, disabled, indicator, startIcon, endIcon, description, descriptionPlacement, actions, actionsVisibility, shortcut, shortcutJoinLabel, hasSubmenu, className, children, render, ref, onClick, ...props }: ListItemProps) => import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
@@ -1,3 +1,4 @@
1
+ import { ShortcutDefinition } from '../../../typography/Shortcut/types/ShortcutDefinition';
1
2
  import { useRender } from '@base-ui/react/use-render';
2
3
  import { ReactNode } from 'react';
3
4
  import { ListItemColor } from './ListItemColor';
@@ -39,8 +40,8 @@ export type ListItemProps = Omit<useRender.ComponentProps<'div', ListItemState>,
39
40
  * Keyboard shortcut keys displayed at the end of the row. Registering the
40
41
  * shortcut is up to the application.
41
42
  */
42
- hotkeys?: string[];
43
- hotkeysJoinLabel?: string;
43
+ shortcut?: ShortcutDefinition;
44
+ shortcutJoinLabel?: string;
44
45
  /** Shows a chevron indicating that the item opens a submenu. */
45
46
  hasSubmenu?: boolean;
46
47
  };
@@ -1,3 +1,6 @@
1
+ export { Breadcrumb } from './Breadcrumb/Breadcrumb';
2
+ export type { BreadcrumbItem } from './Breadcrumb/types/BreadcrumbItem';
3
+ export type { BreadcrumbProps } from './Breadcrumb/types/BreadcrumbProps';
1
4
  export { ListItem } from './ListItem/ListItem';
2
5
  export type { ListItemColor } from './ListItem/types/ListItemColor';
3
6
  export type { ListItemDescriptionPlacement } from './ListItem/types/ListItemDescriptionPlacement';
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../ListItem-UYe5GaEQ.cjs"),t=require("../navigation-qJfYicT7.cjs");exports.ListItem=e.ListItem;exports.Tabs=t.Tabs;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("../ListItem-B2HOeN2h.cjs"),e=require("../navigation-B9YTBTaa.cjs");exports.Breadcrumb=e.Breadcrumb;exports.ListItem=r.ListItem;exports.Tabs=e.Tabs;
@@ -1,6 +1,7 @@
1
- import { t as m } from "../ListItem-Bg7Sk5Nv.js";
2
- import { t as r } from "../navigation-CUofX3gO.js";
1
+ import { t } from "../ListItem-D8BQRK1W.js";
2
+ import { n as a, t as o } from "../navigation-CQUyRKgk.js";
3
3
  export {
4
- m as ListItem,
5
- r as Tabs
4
+ a as Breadcrumb,
5
+ t as ListItem,
6
+ o as Tabs
6
7
  };
@@ -7,10 +7,10 @@ type MenuListItemProps<TState> = MenuItemSlotProps & {
7
7
  disabled?: boolean;
8
8
  render?: ReactElement | ComponentRenderFn<HTMLProps, TState>;
9
9
  };
10
- export declare const getMenuListItemProps: <TState, TProps extends MenuListItemProps<TState>>({ props: { color, startIcon, endIcon, description, descriptionPlacement, hotkeys, hotkeysJoinLabel, disabled, children, render, ...props }, getListItemState, }: {
10
+ export declare const getMenuListItemProps: <TState, TProps extends MenuListItemProps<TState>>({ props: { color, startIcon, endIcon, description, descriptionPlacement, shortcut, shortcutJoinLabel, disabled, children, render, ...props }, getListItemState, }: {
11
11
  props: TProps;
12
12
  getListItemState?: (state: TState) => Pick<ListItemProps, "indicator" | "selected" | "hasSubmenu">;
13
- }) => Omit<TProps, "children" | "color" | "disabled" | "render" | "hotkeys" | "startIcon" | "endIcon" | "description" | "descriptionPlacement" | "hotkeysJoinLabel"> & {
13
+ }) => Omit<TProps, "children" | "color" | "disabled" | "render" | "startIcon" | "shortcut" | "endIcon" | "shortcutJoinLabel" | "description" | "descriptionPlacement"> & {
14
14
  disabled: boolean;
15
15
  render: (renderProps: HTMLProps, state: TState) => import("react").JSX.Element;
16
16
  };
@@ -1,2 +1,2 @@
1
1
  import { ListItemProps } from '../../../navigation/ListItem/types/ListItemProps';
2
- export type MenuItemSlotProps = Pick<ListItemProps, 'color' | 'startIcon' | 'endIcon' | 'description' | 'descriptionPlacement' | 'hotkeys' | 'hotkeysJoinLabel'>;
2
+ export type MenuItemSlotProps = Pick<ListItemProps, 'color' | 'startIcon' | 'endIcon' | 'description' | 'descriptionPlacement' | 'shortcut' | 'shortcutJoinLabel'>;
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("../OverflowingTextWithTooltip-maBlogGW.cjs"),o=require("../MenuSeparator-Ct3cQtJ2.cjs"),e=require("../surfaces-iGk6vB0x.cjs");exports.AlertDialog=e.AlertDialog;exports.Card=e.Card;exports.Dialog=e.Dialog;exports.Menu=e.Menu;exports.Popover=o.Popover;exports.Tooltip=r.Tooltip;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("../OverflowingTextWithTooltip-tsJWb_Ie.cjs"),o=require("../MenuSeparator-Ct3cQtJ2.cjs"),e=require("../surfaces-Davk4uBw.cjs");exports.AlertDialog=e.AlertDialog;exports.Card=e.Card;exports.Dialog=e.Dialog;exports.Menu=e.Menu;exports.Popover=o.Popover;exports.Tooltip=r.Tooltip;
@@ -1,6 +1,6 @@
1
- import { r } from "../OverflowingTextWithTooltip-CtHMhu6b.js";
1
+ import { r } from "../OverflowingTextWithTooltip-CNpmkBvJ.js";
2
2
  import { a as i } from "../MenuSeparator-CyUYx1nk.js";
3
- import { i as m, n as p, r as s, t as e } from "../surfaces-BJilWRcD.js";
3
+ import { i as m, n as p, r as s, t as e } from "../surfaces-C9ZUjKxU.js";
4
4
  export {
5
5
  m as AlertDialog,
6
6
  s as Card,
@@ -0,0 +1,2 @@
1
+ import { ShortcutProps } from './types/ShortcutProps';
2
+ export declare const Shortcut: ({ shortcut, platform, sequenceJoinLabel, combinationSeparator, variant, visibility, className, "aria-label": ariaLabel, ...props }: ShortcutProps) => import("react").JSX.Element | null;
@@ -0,0 +1,2 @@
1
+ import { ShortcutFormatOptions } from './types/ShortcutFormatOptions';
2
+ export declare const formatShortcut: (options: ShortcutFormatOptions) => string;
@@ -0,0 +1,8 @@
1
+ import { ShortcutFormatOptions } from '../types/ShortcutFormatOptions';
2
+ export declare const getShortcutPresentation: ({ shortcut, platform, sequenceJoinLabel, combinationSeparator, }: ShortcutFormatOptions) => {
3
+ groups: string[][];
4
+ separator: string;
5
+ sequenceJoinLabel: string;
6
+ text: string;
7
+ accessibleLabel: string;
8
+ };
@@ -0,0 +1 @@
1
+ export type ShortcutDefinition = readonly string[] | readonly (readonly string[])[];
@@ -0,0 +1,7 @@
1
+ import { ShortcutDefinition } from './ShortcutDefinition';
2
+ export type ShortcutFormatOptions = {
3
+ shortcut: ShortcutDefinition;
4
+ platform?: 'mac' | 'other';
5
+ sequenceJoinLabel?: string;
6
+ combinationSeparator?: string;
7
+ };
@@ -0,0 +1,6 @@
1
+ import { ComponentPropsWithRef } from 'react';
2
+ import { ShortcutFormatOptions } from './ShortcutFormatOptions';
3
+ export type ShortcutProps = Omit<ComponentPropsWithRef<'span'>, 'children' | 'role'> & ShortcutFormatOptions & {
4
+ variant?: 'keys' | 'text' | 'button';
5
+ visibility?: 'always' | 'desktop';
6
+ };
@@ -1,4 +1,9 @@
1
1
  export { Heading } from './Heading/Heading';
2
2
  export type { HeadingProps } from './Heading/types/HeadingProps';
3
3
  export { OverflowingTextWithTooltip } from './OverflowingTextWithTooltip/OverflowingTextWithTooltip';
4
+ export { formatShortcut } from './Shortcut/formatShortcut';
5
+ export { Shortcut } from './Shortcut/Shortcut';
6
+ export type { ShortcutDefinition } from './Shortcut/types/ShortcutDefinition';
7
+ export type { ShortcutFormatOptions } from './Shortcut/types/ShortcutFormatOptions';
8
+ export type { ShortcutProps } from './Shortcut/types/ShortcutProps';
4
9
  export { Text } from './Text/Text';
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../OverflowingTextWithTooltip-maBlogGW.cjs"),i=require("../Heading-CQqDjovJ.cjs");exports.Heading=i.Heading;exports.OverflowingTextWithTooltip=e.OverflowingTextWithTooltip;exports.Text=e.Text;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../Shortcut-CuBFak3I.cjs"),e=require("../OverflowingTextWithTooltip-tsJWb_Ie.cjs"),r=require("../Heading-CQqDjovJ.cjs"),o=require("../typography-D3fk3hSo.cjs");exports.Heading=r.Heading;exports.OverflowingTextWithTooltip=e.OverflowingTextWithTooltip;exports.Shortcut=t.Shortcut;exports.Text=e.Text;exports.formatShortcut=o.formatShortcut;
@@ -1,7 +1,11 @@
1
- import { n as o, t as i } from "../OverflowingTextWithTooltip-CtHMhu6b.js";
2
- import { t as e } from "../Heading-DvxTKEaL.js";
1
+ import { t as o } from "../Shortcut-CRCVbA2m.js";
2
+ import { n as m, t as i } from "../OverflowingTextWithTooltip-CNpmkBvJ.js";
3
+ import { t as f } from "../Heading-DvxTKEaL.js";
4
+ import { t as e } from "../typography-DUJWRilJ.js";
3
5
  export {
4
- e as Heading,
6
+ f as Heading,
5
7
  i as OverflowingTextWithTooltip,
6
- o as Text
8
+ o as Shortcut,
9
+ m as Text,
10
+ e as formatShortcut
7
11
  };
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./handleClickableElementKeyDown-0XD9MRqa.cjs"),u=require("./Loader-CMXdrX1d.cjs"),i=require("./Switch-BLO0Y9bi.cjs"),n=require("./ProgressBar-C8N-1Iav.cjs"),t=require("./OverflowingTextWithTooltip-maBlogGW.cjs"),s=require("./HorizontalSeparator-vJLHHlc4.cjs"),d=require("./ListItem-UYe5GaEQ.cjs"),q=require("./Heading-CQqDjovJ.cjs"),c=require("./MenuSeparator-Ct3cQtJ2.cjs"),p=require("./Avatar-B5-MSVUG.cjs"),r=require("./data-display-DenoFbuP.cjs"),e=require("./input-BNuMVtkM.cjs"),l=require("./layout-DniJJ8Mx.cjs"),_=require("./ResizeHandle-cll01qBQ.cjs"),S=require("./navigation-qJfYicT7.cjs"),o=require("./surfaces-iGk6vB0x.cjs");exports.AVATAR_PROPERTIES_BY_SIZE=r.AVATAR_PROPERTIES_BY_SIZE;exports.AlertDialog=o.AlertDialog;exports.Avatar=p.Avatar;exports.Banner=n.Banner;exports.Button=i.Button;exports.ButtonGroup=e.ButtonGroup;exports.Card=o.Card;exports.Checkbox=e.Checkbox;exports.Chip=r.Chip;exports.Collapsible=l.Collapsible;exports.ColorSample=r.ColorSample;exports.Dialog=o.Dialog;exports.Field=e.Field;exports.Heading=q.Heading;exports.HorizontalSeparator=s.HorizontalSeparator;exports.Input=i.Input;exports.InputGroup=i.InputGroup;exports.ListItem=d.ListItem;exports.Loader=u.Loader;exports.Menu=o.Menu;exports.OverflowingTextWithTooltip=t.OverflowingTextWithTooltip;exports.Pill=r.Pill;exports.Popover=c.Popover;exports.ProgressBar=n.ProgressBar;exports.Radio=e.Radio;exports.RadioGroup=e.RadioGroup;exports.ResizeHandle=_.ResizeHandle;exports.SegmentedControl=e.SegmentedControl;exports.Select=e.Select;exports.Slider=e.Slider;exports.Status=r.Status;exports.Switch=i.Switch;exports.Tabs=S.Tabs;exports.Tag=r.Tag;exports.Text=t.Text;exports.TextDirectionProvider=l.TextDirectionProvider;exports.Textarea=e.Textarea;exports.Tooltip=t.Tooltip;exports.VisibilityHidden=a.VisibilityHidden;exports.handleClickableElementKeyDown=a.handleClickableElementKeyDown;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./handleClickableElementKeyDown-0XD9MRqa.cjs"),o=require("./ProgressBar-CyqeRyzA.cjs"),s=require("./Loader-CMXdrX1d.cjs"),c=require("./Shortcut-CuBFak3I.cjs"),t=require("./Switch-CFCj3OQZ.cjs"),a=require("./OverflowingTextWithTooltip-tsJWb_Ie.cjs"),d=require("./HorizontalSeparator-vJLHHlc4.cjs"),p=require("./ListItem-B2HOeN2h.cjs"),q=require("./MenuSeparator-Ct3cQtJ2.cjs"),S=require("./Heading-CQqDjovJ.cjs"),_=require("./Avatar-CkI8b3nh.cjs"),r=require("./data-display-BgweQocz.cjs"),e=require("./input-CRiX4eQH.cjs"),n=require("./layout-DniJJ8Mx.cjs"),g=require("./ResizeHandle-CI-VTVOi.cjs"),l=require("./navigation-B9YTBTaa.cjs"),i=require("./surfaces-Davk4uBw.cjs"),T=require("./typography-D3fk3hSo.cjs");exports.AVATAR_PROPERTIES_BY_SIZE=r.AVATAR_PROPERTIES_BY_SIZE;exports.AlertDialog=i.AlertDialog;exports.Avatar=_.Avatar;exports.Banner=o.Banner;exports.Breadcrumb=l.Breadcrumb;exports.Button=t.Button;exports.ButtonGroup=e.ButtonGroup;exports.Card=i.Card;exports.Checkbox=e.Checkbox;exports.Chip=r.Chip;exports.Collapsible=n.Collapsible;exports.ColorSample=r.ColorSample;exports.Dialog=i.Dialog;exports.Field=e.Field;exports.Heading=S.Heading;exports.HorizontalSeparator=d.HorizontalSeparator;exports.Input=t.Input;exports.InputGroup=t.InputGroup;exports.ListItem=p.ListItem;exports.Loader=s.Loader;exports.Menu=i.Menu;exports.NumberStepper=e.NumberStepper;exports.OverflowingTextWithTooltip=a.OverflowingTextWithTooltip;exports.Pill=r.Pill;exports.Popover=q.Popover;exports.ProgressBar=o.ProgressBar;exports.ProgressRing=o.ProgressRing;exports.Radio=e.Radio;exports.RadioGroup=e.RadioGroup;exports.ResizeHandle=g.ResizeHandle;exports.SegmentedControl=e.SegmentedControl;exports.Select=e.Select;exports.Shortcut=c.Shortcut;exports.Slider=e.Slider;exports.Status=r.Status;exports.Switch=t.Switch;exports.Tabs=l.Tabs;exports.Tag=r.Tag;exports.Text=a.Text;exports.TextDirectionProvider=n.TextDirectionProvider;exports.Textarea=e.Textarea;exports.Tooltip=a.Tooltip;exports.VisibilityHidden=u.VisibilityHidden;exports.formatShortcut=T.formatShortcut;exports.handleClickableElementKeyDown=u.handleClickableElementKeyDown;
@@ -1,58 +1,65 @@
1
- import { n as o, t as r } from "./handleClickableElementKeyDown-CJ_JsX2K.js";
2
- import { t as s } from "./Loader-BLkXvZli.js";
3
- import { a as e, n as m, r as p, t as n } from "./Switch-CMVfAYqP.js";
4
- import { n as f, t as d } from "./ProgressBar-Cq6EDZz9.js";
5
- import { n as u, r as S, t as g } from "./OverflowingTextWithTooltip-CtHMhu6b.js";
6
- import { t as c } from "./HorizontalSeparator-JwV0dB5W.js";
7
- import { t as P } from "./ListItem-Bg7Sk5Nv.js";
8
- import { t as b } from "./Heading-DvxTKEaL.js";
1
+ import { n as r, t as o } from "./handleClickableElementKeyDown-CJ_JsX2K.js";
2
+ import { n as s, r as i, t as m } from "./ProgressBar-21MXyySH.js";
3
+ import { t as p } from "./Loader-BLkXvZli.js";
4
+ import { t as l } from "./Shortcut-CRCVbA2m.js";
5
+ import { a as d, n as u, r as S, t as T } from "./Switch-BQp0t6JZ.js";
6
+ import { n as g, r as b, t as h } from "./OverflowingTextWithTooltip-CNpmkBvJ.js";
7
+ import { t as P } from "./HorizontalSeparator-JwV0dB5W.js";
8
+ import { t as x } from "./ListItem-D8BQRK1W.js";
9
9
  import { a as A } from "./MenuSeparator-CyUYx1nk.js";
10
- import { t as I } from "./Avatar-Da_dlwJP.js";
11
- import { a as D, i as E, n as H, o as w, r as G, t as _ } from "./data-display-npY0auY_.js";
12
- import { a as y, c as z, i as L, l as O, n as V, o as F, r as K, s as M, t as W } from "./input-COx4wMjs.js";
13
- import { n as Z, t as j } from "./layout-BEC7fKLU.js";
14
- import { t as J } from "./ResizeHandle-DN1bRxQb.js";
15
- import { t as Q } from "./navigation-CUofX3gO.js";
16
- import { i as X, n as $, r as aa, t as oa } from "./surfaces-BJilWRcD.js";
10
+ import { t as v } from "./Heading-DvxTKEaL.js";
11
+ import { t as E } from "./Avatar-C0FtFpJC.js";
12
+ import { a as w, i as G, n as _, o as k, r as y, t as z } from "./data-display-Dn_nzrc8.js";
13
+ import { a as O, c as V, i as F, l as K, n as M, o as N, r as W, s as Y, t as Z, u as j } from "./input-C50264Jb.js";
14
+ import { n as J, t as Q } from "./layout-BEC7fKLU.js";
15
+ import { t as X } from "./ResizeHandle-CGYGfOVF.js";
16
+ import { n as aa, t as ra } from "./navigation-CQUyRKgk.js";
17
+ import { i as ta, n as sa, r as ia, t as ma } from "./surfaces-C9ZUjKxU.js";
18
+ import { t as pa } from "./typography-DUJWRilJ.js";
17
19
  export {
18
- w as AVATAR_PROPERTIES_BY_SIZE,
19
- X as AlertDialog,
20
- I as Avatar,
21
- f as Banner,
22
- e as Button,
23
- O as ButtonGroup,
24
- aa as Card,
25
- z as Checkbox,
26
- D as Chip,
27
- Z as Collapsible,
28
- E as ColorSample,
29
- $ as Dialog,
30
- M as Field,
31
- b as Heading,
32
- c as HorizontalSeparator,
33
- p as Input,
34
- m as InputGroup,
35
- P as ListItem,
36
- s as Loader,
37
- oa as Menu,
38
- g as OverflowingTextWithTooltip,
39
- G as Pill,
20
+ k as AVATAR_PROPERTIES_BY_SIZE,
21
+ ta as AlertDialog,
22
+ E as Avatar,
23
+ s as Banner,
24
+ aa as Breadcrumb,
25
+ d as Button,
26
+ j as ButtonGroup,
27
+ ia as Card,
28
+ K as Checkbox,
29
+ w as Chip,
30
+ J as Collapsible,
31
+ G as ColorSample,
32
+ sa as Dialog,
33
+ V as Field,
34
+ v as Heading,
35
+ P as HorizontalSeparator,
36
+ S as Input,
37
+ u as InputGroup,
38
+ x as ListItem,
39
+ p as Loader,
40
+ ma as Menu,
41
+ Y as NumberStepper,
42
+ h as OverflowingTextWithTooltip,
43
+ y as Pill,
40
44
  A as Popover,
41
- d as ProgressBar,
42
- F as Radio,
43
- y as RadioGroup,
44
- J as ResizeHandle,
45
- L as SegmentedControl,
46
- K as Select,
47
- V as Slider,
48
- H as Status,
49
- n as Switch,
50
- Q as Tabs,
51
- _ as Tag,
52
- u as Text,
53
- j as TextDirectionProvider,
54
- W as Textarea,
55
- S as Tooltip,
56
- o as VisibilityHidden,
57
- r as handleClickableElementKeyDown
45
+ m as ProgressBar,
46
+ i as ProgressRing,
47
+ N as Radio,
48
+ O as RadioGroup,
49
+ X as ResizeHandle,
50
+ F as SegmentedControl,
51
+ W as Select,
52
+ l as Shortcut,
53
+ M as Slider,
54
+ _ as Status,
55
+ T as Switch,
56
+ ra as Tabs,
57
+ z as Tag,
58
+ g as Text,
59
+ Q as TextDirectionProvider,
60
+ Z as Textarea,
61
+ b as Tooltip,
62
+ r as VisibilityHidden,
63
+ pa as formatShortcut,
64
+ o as handleClickableElementKeyDown
58
65
  };