@jobber/components 7.8.0 → 7.9.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 (64) hide show
  1. package/dist/Autocomplete/index.mjs +1 -1
  2. package/dist/Button/buttonRenderAdapter.d.ts +304 -0
  3. package/dist/Card/index.cjs +7 -4
  4. package/dist/Card/index.mjs +7 -4
  5. package/dist/Countdown/index.cjs +1 -1
  6. package/dist/Countdown/index.mjs +1 -1
  7. package/dist/Countdown-cjs.js +1 -1
  8. package/dist/Countdown-es.js +1 -1
  9. package/dist/DataDump/index.cjs +7 -4
  10. package/dist/DataDump/index.mjs +7 -4
  11. package/dist/DrawerRoot-cjs.js +2634 -2142
  12. package/dist/DrawerRoot-es.js +2523 -2065
  13. package/dist/InputAvatar/index.cjs +1 -1
  14. package/dist/InputAvatar/index.mjs +1 -1
  15. package/dist/InputFile/index.cjs +1 -1
  16. package/dist/InputFile/index.mjs +1 -1
  17. package/dist/InputFile-cjs.js +1 -1
  18. package/dist/InputFile-es.js +1 -1
  19. package/dist/InputNumber/index.cjs +2441 -186
  20. package/dist/InputNumber/index.mjs +2361 -106
  21. package/dist/Menu/Menu.Legacy.d.ts +3 -0
  22. package/dist/Menu/Menu.d.ts +66 -24
  23. package/dist/Menu/Menu.types.d.ts +8 -108
  24. package/dist/Menu/MenuBottomSheet.d.ts +29 -0
  25. package/dist/Menu/MenuDropdown.d.ts +29 -0
  26. package/dist/Menu/index.cjs +7 -4
  27. package/dist/Menu/index.mjs +7 -4
  28. package/dist/Menu/menuComposableShared.d.ts +27 -0
  29. package/dist/Menu/menuComposableTypes.d.ts +99 -0
  30. package/dist/Menu-cjs.js +828 -8419
  31. package/dist/Menu-es.js +823 -8414
  32. package/dist/MenuSubmenuTrigger-cjs.js +5283 -0
  33. package/dist/MenuSubmenuTrigger-es.js +5224 -0
  34. package/dist/Modal/index.mjs +1 -1
  35. package/dist/Page/index.cjs +6 -3
  36. package/dist/Page/index.mjs +6 -3
  37. package/dist/Page-cjs.js +1 -1
  38. package/dist/Page-es.js +1 -1
  39. package/dist/RecurringSelect/index.cjs +0 -1
  40. package/dist/RecurringSelect/index.mjs +0 -1
  41. package/dist/docs/Menu/Menu.md +7 -62
  42. package/dist/floating-ui.react-dom-es.js +1 -1
  43. package/dist/floating-ui.react-es.js +2 -2
  44. package/dist/index-cjs.js +1161 -166
  45. package/dist/index-es.js +1160 -166
  46. package/dist/index.cjs +7 -3
  47. package/dist/index.esm-es.js +1 -1
  48. package/dist/index.mjs +7 -3
  49. package/dist/primitives/BottomSheet/index.cjs +0 -1
  50. package/dist/primitives/BottomSheet/index.mjs +0 -1
  51. package/dist/primitives/index.cjs +0 -1
  52. package/dist/primitives/index.mjs +0 -1
  53. package/dist/styles.css +540 -31
  54. package/dist/unstyledPrimitives/index.cjs +6662 -8039
  55. package/dist/unstyledPrimitives/index.d.ts +2 -1
  56. package/dist/unstyledPrimitives/index.mjs +6733 -8111
  57. package/dist/useRenderElement-cjs.js +212 -212
  58. package/dist/useRenderElement-es.js +213 -213
  59. package/dist/utils/meta/meta.json +9 -0
  60. package/package.json +2 -2
  61. package/dist/Text-cjs2.js +0 -2484
  62. package/dist/Text-es2.js +0 -2417
  63. package/dist/index-cjs2.js +0 -1189
  64. package/dist/index-es2.js +0 -1186
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { MenuLegacyProps } from "./Menu.types";
3
+ export declare function MenuLegacy({ activator, items, UNSAFE_className, UNSAFE_style, }: MenuLegacyProps): React.JSX.Element;
@@ -1,27 +1,69 @@
1
- import type { ReactElement } from "react";
2
1
  import React from "react";
3
- import type { MenuComposableProps, MenuContentComposableProps, MenuHeaderComposableProps, MenuItemComposableProps, MenuItemIconComposableProps, MenuItemLabelComposableProps, MenuLegacyProps, MenuSectionComposableProps, MenuSeparatorComposableProps, MenuTriggerComposableProps } from "./Menu.types";
4
- export declare function Menu(props: MenuLegacyProps): ReactElement;
5
- export declare function Menu(props: MenuComposableProps): ReactElement;
6
- export declare namespace Menu {
7
- var Section: typeof MenuSectionComposable;
8
- var Header: typeof MenuHeaderComposable;
9
- var Item: React.ForwardRefExoticComponent<MenuItemComposableProps & React.RefAttributes<object>>;
10
- var Trigger: React.ForwardRefExoticComponent<MenuTriggerComposableProps & React.RefAttributes<HTMLDivElement>>;
11
- var Content: typeof MenuContentComposable;
12
- var Separator: typeof MenuSeparatorComposable;
13
- var ItemIcon: typeof MenuItemIconComposable;
14
- var ItemLabel: typeof MenuItemLabelComposable;
15
- var HeaderLabel: typeof MenuHeaderLabel;
2
+ import type { ReactElement } from "react";
3
+ import type { ComposableMenuContentProps, ComposableMenuGroupLabelProps, ComposableMenuGroupProps, ComposableMenuItemIconProps, ComposableMenuItemLabelProps, ComposableMenuItemPrefixProps, ComposableMenuItemProps, ComposableMenuItemSuffixProps, ComposableMenuRadioGroupProps, ComposableMenuRadioItemProps, ComposableMenuSeparatorProps, ComposableMenuSubmenuContentProps, ComposableMenuSubmenuProps, ComposableMenuSubmenuTriggerProps, ComposableMenuTriggerProps } from "./menuComposableTypes";
4
+ import type { MenuHeaderComposableProps, MenuHeaderLabelComposableProps, MenuProps, MenuSectionComposableProps } from "./Menu.types";
5
+ export interface MenuComponent {
6
+ (props: MenuProps): ReactElement;
7
+ Group: typeof MenuGroup;
8
+ GroupLabel: typeof MenuGroupLabel;
9
+ /**
10
+ * @deprecated Use Menu.Group instead.
11
+ */
12
+ Section: typeof MenuSection;
13
+ /**
14
+ * @deprecated Use Menu.GroupLabel instead.
15
+ */
16
+ Header: typeof MenuHeader;
17
+ /**
18
+ * @deprecated Use Menu.GroupLabel content directly instead.
19
+ */
20
+ HeaderLabel: typeof MenuHeaderLabel;
21
+ Item: typeof MenuItem;
22
+ Trigger: typeof MenuTrigger;
23
+ Content: typeof MenuContent;
24
+ Separator: typeof MenuSeparator;
25
+ RadioGroup: typeof MenuRadioGroup;
26
+ RadioItem: typeof MenuRadioItem;
27
+ Submenu: typeof MenuSubmenu;
28
+ SubmenuTrigger: typeof MenuSubmenuTrigger;
29
+ SubmenuContent: typeof MenuSubmenuContent;
30
+ ItemIcon: typeof MenuItemIcon;
31
+ ItemLabel: typeof MenuItemLabel;
32
+ ItemPrefix: typeof MenuItemPrefix;
33
+ ItemSuffix: typeof MenuItemSuffix;
16
34
  }
17
- export declare function MenuLegacy({ activator, items, UNSAFE_className, UNSAFE_style, }: MenuLegacyProps): React.JSX.Element;
18
- declare function MenuContentComposable({ children, UNSAFE_style, UNSAFE_className, preferredPlacement, }: MenuContentComposableProps): React.JSX.Element;
19
- declare function MenuSeparatorComposable({ UNSAFE_style, UNSAFE_className, }: MenuSeparatorComposableProps): React.JSX.Element;
20
- declare function MenuSectionComposable({ children, UNSAFE_style, UNSAFE_className, ariaLabel, }: MenuSectionComposableProps): React.JSX.Element;
21
- declare function MenuHeaderComposable(props: MenuHeaderComposableProps): React.JSX.Element;
22
- declare function MenuItemIconComposable(props: MenuItemIconComposableProps): React.JSX.Element;
23
- declare function MenuItemLabelComposable(props: MenuItemLabelComposableProps): React.JSX.Element;
24
- declare function MenuHeaderLabel(props: {
25
- readonly children: React.ReactNode;
26
- }): React.JSX.Element;
35
+ declare const MenuTrigger: React.ForwardRefExoticComponent<ComposableMenuTriggerProps & React.RefAttributes<HTMLDivElement>>;
36
+ declare function MenuContent(props: ComposableMenuContentProps): React.JSX.Element;
37
+ declare function MenuSeparator(props: ComposableMenuSeparatorProps): React.JSX.Element;
38
+ declare function MenuRadioGroup(props: ComposableMenuRadioGroupProps): React.JSX.Element;
39
+ declare const MenuRadioItem: React.ForwardRefExoticComponent<ComposableMenuRadioItemProps & React.RefAttributes<HTMLElement>>;
40
+ declare function MenuSubmenu(props: ComposableMenuSubmenuProps): React.JSX.Element;
41
+ declare const MenuSubmenuTrigger: React.ForwardRefExoticComponent<ComposableMenuSubmenuTriggerProps & React.RefAttributes<HTMLElement>>;
42
+ declare function MenuSubmenuContent(props: ComposableMenuSubmenuContentProps): React.JSX.Element;
43
+ declare function MenuGroup(props: ComposableMenuGroupProps): React.JSX.Element;
44
+ /**
45
+ * @deprecated Use Menu.Group instead.
46
+ * This wrapper keeps the old composable authoring shape working while the
47
+ * underlying menu structure uses grouped semantics.
48
+ */
49
+ declare function MenuSection(props: MenuSectionComposableProps): React.JSX.Element;
50
+ declare const MenuItem: React.ForwardRefExoticComponent<ComposableMenuItemProps & React.RefAttributes<HTMLElement>>;
51
+ declare function MenuItemIcon(props: ComposableMenuItemIconProps): React.JSX.Element;
52
+ declare function MenuItemLabel(props: ComposableMenuItemLabelProps): React.JSX.Element;
53
+ declare function MenuItemPrefix(props: ComposableMenuItemPrefixProps): React.JSX.Element;
54
+ declare function MenuItemSuffix(props: ComposableMenuItemSuffixProps): React.JSX.Element;
55
+ declare function MenuGroupLabel(props: ComposableMenuGroupLabelProps): React.JSX.Element;
56
+ /**
57
+ * @deprecated Use Menu.GroupLabel instead.
58
+ * Header remains as a thin wrapper so older JSX can keep compiling without
59
+ * recreating the old internal DOM structure.
60
+ */
61
+ declare function MenuHeader(props: MenuHeaderComposableProps): React.JSX.Element;
62
+ /**
63
+ * @deprecated Use Menu.GroupLabel content directly instead.
64
+ * HeaderLabel is intentionally a pass-through so the old nested pattern:
65
+ * Menu.Header > Menu.HeaderLabel continues to compose onto the new GroupLabel.
66
+ */
67
+ declare function MenuHeaderLabel(props: MenuHeaderLabelComposableProps): React.JSX.Element;
68
+ export declare const Menu: MenuComponent;
27
69
  export {};
@@ -1,10 +1,7 @@
1
1
  import type { IconColorNames, IconNames } from "@jobber/design";
2
2
  import type React from "react";
3
- import type { CSSProperties, ComponentProps, ReactElement, ReactNode } from "react";
4
- import type { Pressable as AriaPressable } from "react-aria-components";
5
- import type { Placement } from "@react-types/overlays";
6
- import type { IconProps } from "../Icon";
7
- type PressableChild = ComponentProps<typeof AriaPressable>["children"];
3
+ import type { CSSProperties, ReactElement, ReactNode } from "react";
4
+ import type { BaseProps, ComposableMenuProps } from "./menuComposableTypes";
8
5
  export interface MenuLegacyProps extends MenuBaseProps {
9
6
  /**
10
7
  * Custom menu activator. If this is not provided a default [… More] will be used.
@@ -41,33 +38,11 @@ interface MenuBaseProps {
41
38
  action?: CSSProperties;
42
39
  };
43
40
  }
44
- export interface MenuComposableProps extends MenuBaseProps {
45
- /**
46
- * Composable children-based API.
47
- * The first child must be the Menu.Trigger
48
- * The second child must be the Menu.Content
49
- */
50
- readonly children: ReactNode;
51
- /**
52
- * Used to make the menu a Controlled Component.
53
- */
54
- readonly open?: boolean;
55
- /**
56
- * This sets the default open state of the menu.
57
- * By default the menu is closed.
58
- * For use when the component is being used as an Uncontrolled Component.
59
- */
60
- readonly defaultOpen?: boolean;
61
- /**
62
- * Callback when the menu is opened or closed
63
- */
64
- readonly onOpenChange?: (isOpen: boolean) => void;
65
- }
66
41
  /**
67
- * Backwards-compatible props for the items-based Menu API.
68
- * Existing imports of `MenuProps` will continue to refer to the legacy shape.
42
+ * Public Menu props now cover both the legacy items-based API and the new
43
+ * composable Base UI-backed API.
69
44
  */
70
- export type MenuProps = MenuLegacyProps;
45
+ export type MenuProps = MenuLegacyProps | ComposableMenuProps;
71
46
  export interface SectionProps {
72
47
  /**
73
48
  * Defines the section header to further explain the group of actions.
@@ -117,89 +92,14 @@ export interface ActionProps {
117
92
  */
118
93
  onClick?(event: React.MouseEvent<HTMLButtonElement>): void;
119
94
  }
120
- interface UnsafeProps {
121
- readonly UNSAFE_style?: CSSProperties;
122
- readonly UNSAFE_className?: string;
123
- }
124
- export interface MenuSectionComposableProps extends UnsafeProps {
125
- /**
126
- * Section content
127
- * If no Menu.Header is provided, ariaLabel must be provided to identify the section to assistive technologies
128
- */
95
+ export interface MenuSectionComposableProps extends BaseProps {
129
96
  readonly children: ReactNode;
130
- /**
131
- * Accessible label for the section
132
- */
133
97
  readonly ariaLabel?: string;
134
98
  }
135
- export interface MenuHeaderComposableProps extends UnsafeProps {
99
+ export interface MenuHeaderComposableProps extends BaseProps {
136
100
  readonly children: ReactNode;
137
101
  }
138
- type MenuItemVariants = "destructive";
139
- export interface MenuItemComposableProps extends UnsafeProps {
140
- /**
141
- * Visual style variations for the MenuItem default content.
142
- */
143
- readonly variation?: MenuItemVariants;
144
- /**
145
- * Item content.
146
- */
102
+ export interface MenuHeaderLabelComposableProps {
147
103
  readonly children: ReactNode;
148
- readonly onClick?: (event?: React.MouseEvent) => void;
149
- /**
150
- * String representation of the item's content.
151
- * Required for typeahead functionality.
152
- */
153
- readonly textValue: string;
154
- /**
155
- * Href for the item. When provided, renders as a link item.
156
- */
157
- readonly href?: string;
158
- /**
159
- * Target window for the link.
160
- */
161
- readonly target?: string;
162
- /**
163
- * Rel attribute for the link.
164
- */
165
- readonly rel?: string;
166
- }
167
- export interface MenuItemIconComposableProps extends IconProps {
168
- }
169
- export interface MenuContentComposableProps extends UnsafeProps {
170
- readonly children: ReactNode;
171
- /**
172
- * Describes the preferred placement of the Menu.
173
- * @default 'bottom start'
174
- */
175
- readonly preferredPlacement?: Placement;
176
- }
177
- export interface MenuTriggerComposableProps extends UnsafeProps {
178
- /**
179
- * Accessible name for the trigger.
180
- */
181
- readonly ariaLabel?: string;
182
- /**
183
- * Trigger content.
184
- * This MUST be an interactive element, such as Button. Note that any onClick is ignored.
185
- * If you want to access the open event, use the onOpenChange on the Menu component.
186
- * If it does not have an interactive role, or a focus style it will have issues.
187
- */
188
- readonly children: PressableChild;
189
- }
190
- export interface MenuSeparatorComposableProps extends UnsafeProps {
191
- }
192
- export type AnimationState = "unmounted" | "hidden" | "visible";
193
- export interface MenuMobileUnderlayProps {
194
- readonly animation: AnimationState;
195
- }
196
- export interface MenuItemLabelComposableProps {
197
- /**
198
- * Item label content.
199
- * This is rendered inside a Typography (span) component, so you MUST supply either
200
- * a string or a fragment/utility component that renders down to a raw string (e.g.
201
- * translation helpers).
202
- */
203
- readonly children: React.ReactNode;
204
104
  }
205
105
  export {};
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import type { ComposableMenuContentProps, ComposableMenuGroupLabelProps, ComposableMenuGroupProps, ComposableMenuItemProps, ComposableMenuProps, ComposableMenuRadioGroupProps, ComposableMenuRadioItemProps, ComposableMenuSeparatorProps, ComposableMenuSubmenuContentProps, ComposableMenuSubmenuProps, ComposableMenuSubmenuTriggerProps, ComposableMenuTriggerProps } from "./menuComposableTypes";
3
+ import { SharedMenuItemIcon, SharedMenuItemLabel, SharedMenuItemPrefix, SharedMenuItemSuffix } from "./menuComposableShared";
4
+ declare function BottomSheetRoot({ children, onOpenChange, open, defaultOpen, }: ComposableMenuProps): React.JSX.Element;
5
+ declare function BottomSheetContent({ children, style, className, UNSAFE_style, UNSAFE_className, }: ComposableMenuContentProps): React.JSX.Element;
6
+ declare function BottomSheetSeparator({ style, className, UNSAFE_style, UNSAFE_className, }: ComposableMenuSeparatorProps): React.JSX.Element;
7
+ declare function BottomSheetRadioGroup({ children, value, defaultValue, onValueChange, className, style, UNSAFE_style, UNSAFE_className, }: ComposableMenuRadioGroupProps): React.JSX.Element;
8
+ declare function BottomSheetGroup(props: ComposableMenuGroupProps): React.JSX.Element;
9
+ declare function BottomSheetSubmenu({ children, open, defaultOpen, onOpenChange, }: ComposableMenuSubmenuProps): React.JSX.Element;
10
+ declare function BottomSheetSubmenuContent({ children, className, style, UNSAFE_style, UNSAFE_className, }: ComposableMenuSubmenuContentProps): React.JSX.Element;
11
+ declare function BottomSheetGroupLabel(props: ComposableMenuGroupLabelProps): React.JSX.Element;
12
+ export declare const MenuBottomSheet: typeof BottomSheetRoot & {
13
+ Trigger: React.ForwardRefExoticComponent<ComposableMenuTriggerProps & React.RefAttributes<HTMLElement>>;
14
+ Content: typeof BottomSheetContent;
15
+ Separator: typeof BottomSheetSeparator;
16
+ RadioGroup: typeof BottomSheetRadioGroup;
17
+ RadioItem: React.ForwardRefExoticComponent<ComposableMenuRadioItemProps & React.RefAttributes<HTMLElement>>;
18
+ Submenu: typeof BottomSheetSubmenu;
19
+ SubmenuTrigger: React.ForwardRefExoticComponent<ComposableMenuSubmenuTriggerProps & React.RefAttributes<HTMLElement>>;
20
+ SubmenuContent: typeof BottomSheetSubmenuContent;
21
+ Group: typeof BottomSheetGroup;
22
+ Item: React.ForwardRefExoticComponent<ComposableMenuItemProps & React.RefAttributes<HTMLElement>>;
23
+ ItemIcon: typeof SharedMenuItemIcon;
24
+ ItemLabel: typeof SharedMenuItemLabel;
25
+ ItemPrefix: typeof SharedMenuItemPrefix;
26
+ ItemSuffix: typeof SharedMenuItemSuffix;
27
+ GroupLabel: typeof BottomSheetGroupLabel;
28
+ };
29
+ export {};
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import type { ComposableMenuContentProps, ComposableMenuGroupLabelProps, ComposableMenuGroupProps, ComposableMenuItemProps, ComposableMenuProps, ComposableMenuRadioGroupProps, ComposableMenuRadioItemProps, ComposableMenuSeparatorProps, ComposableMenuSubmenuContentProps, ComposableMenuSubmenuProps, ComposableMenuSubmenuTriggerProps, ComposableMenuTriggerProps } from "./menuComposableTypes";
3
+ import { SharedMenuItemIcon, SharedMenuItemLabel, SharedMenuItemPrefix, SharedMenuItemSuffix } from "./menuComposableShared";
4
+ declare function MenuDropdownRoot({ children, onOpenChange, open, defaultOpen, }: ComposableMenuProps): React.JSX.Element;
5
+ declare function MenuDropdownContent({ children, style, className, preferredPlacement, UNSAFE_style, UNSAFE_className, }: ComposableMenuContentProps): React.JSX.Element;
6
+ declare function MenuDropdownRadioGroup({ children, value, defaultValue, onValueChange, className, style, UNSAFE_style, UNSAFE_className, }: ComposableMenuRadioGroupProps): React.JSX.Element;
7
+ declare function MenuDropdownSeparator({ style, className, UNSAFE_style, UNSAFE_className, }: ComposableMenuSeparatorProps): React.JSX.Element;
8
+ declare function MenuDropdownGroup(props: ComposableMenuGroupProps): React.JSX.Element;
9
+ declare function MenuDropdownSubmenu({ children, open, defaultOpen, onOpenChange, }: ComposableMenuSubmenuProps): React.JSX.Element;
10
+ declare function MenuDropdownSubmenuContent({ children, className, style, UNSAFE_style, UNSAFE_className, }: ComposableMenuSubmenuContentProps): React.JSX.Element;
11
+ declare function MenuDropdownGroupLabel(props: ComposableMenuGroupLabelProps): React.JSX.Element;
12
+ export declare const MenuDropdown: typeof MenuDropdownRoot & {
13
+ Trigger: React.ForwardRefExoticComponent<ComposableMenuTriggerProps & React.RefAttributes<HTMLDivElement>>;
14
+ Content: typeof MenuDropdownContent;
15
+ Separator: typeof MenuDropdownSeparator;
16
+ RadioGroup: typeof MenuDropdownRadioGroup;
17
+ RadioItem: React.ForwardRefExoticComponent<ComposableMenuRadioItemProps & React.RefAttributes<HTMLElement>>;
18
+ Submenu: typeof MenuDropdownSubmenu;
19
+ SubmenuTrigger: React.ForwardRefExoticComponent<ComposableMenuSubmenuTriggerProps & React.RefAttributes<HTMLElement>>;
20
+ SubmenuContent: typeof MenuDropdownSubmenuContent;
21
+ Group: typeof MenuDropdownGroup;
22
+ Item: React.ForwardRefExoticComponent<ComposableMenuItemProps & React.RefAttributes<HTMLElement>>;
23
+ ItemIcon: typeof SharedMenuItemIcon;
24
+ ItemLabel: typeof SharedMenuItemLabel;
25
+ ItemPrefix: typeof SharedMenuItemPrefix;
26
+ ItemSuffix: typeof SharedMenuItemSuffix;
27
+ GroupLabel: typeof MenuDropdownGroupLabel;
28
+ };
29
+ export {};
@@ -2,17 +2,14 @@
2
2
 
3
3
  var Menu = require('../Menu-cjs.js');
4
4
  require('react');
5
+ require('@jobber/hooks');
5
6
  require('classnames');
6
7
  require('framer-motion');
7
- require('@jobber/hooks');
8
8
  require('../floating-ui.react-cjs.js');
9
9
  require('../index.esm-cjs.js');
10
10
  require('react/jsx-runtime');
11
11
  require('react-dom');
12
12
  require('../floating-ui.react-dom-cjs.js');
13
- require('../Text-cjs2.js');
14
- require('../clsx-cjs.js');
15
- require('../index-cjs.js');
16
13
  require('../Button-cjs.js');
17
14
  require('../tslib.es6-cjs.js');
18
15
  require('react-router-dom');
@@ -21,6 +18,12 @@ require('@jobber/design');
21
18
  require('../Typography-cjs.js');
22
19
  require('../useFormFieldFocus-cjs.js');
23
20
  require('../maxHeight-cjs.js');
21
+ require('../useRenderElement-cjs.js');
22
+ require('../BottomSheet-cjs.js');
23
+ require('../DrawerRoot-cjs.js');
24
+ require('../OverlaySeparator-cjs.js');
25
+ require('../Separator-cjs.js');
26
+ require('../MenuSubmenuTrigger-cjs.js');
24
27
 
25
28
 
26
29
 
@@ -1,16 +1,13 @@
1
1
  export { M as Menu } from '../Menu-es.js';
2
2
  import 'react';
3
+ import '@jobber/hooks';
3
4
  import 'classnames';
4
5
  import 'framer-motion';
5
- import '@jobber/hooks';
6
6
  import '../floating-ui.react-es.js';
7
7
  import '../index.esm-es.js';
8
8
  import 'react/jsx-runtime';
9
9
  import 'react-dom';
10
10
  import '../floating-ui.react-dom-es.js';
11
- import '../Text-es2.js';
12
- import '../clsx-es.js';
13
- import '../index-es.js';
14
11
  import '../Button-es.js';
15
12
  import '../tslib.es6-es.js';
16
13
  import 'react-router-dom';
@@ -19,3 +16,9 @@ import '@jobber/design';
19
16
  import '../Typography-es.js';
20
17
  import '../useFormFieldFocus-es.js';
21
18
  import '../maxHeight-es.js';
19
+ import '../useRenderElement-es.js';
20
+ import '../BottomSheet-es.js';
21
+ import '../DrawerRoot-es.js';
22
+ import '../OverlaySeparator-es.js';
23
+ import '../Separator-es.js';
24
+ import '../MenuSubmenuTrigger-es.js';
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ import type { ComposableMenuGroupLabelProps, ComposableMenuItemIconProps, ComposableMenuItemLabelProps, ComposableMenuItemPrefixProps, ComposableMenuItemProps, ComposableMenuItemSuffixProps, ComposableMenuTriggerProps } from "./menuComposableTypes";
3
+ export type MenuSlotName = "icon" | "prefix" | "suffix";
4
+ export declare function resolveComposableBaseProps(props: {
5
+ readonly className?: string;
6
+ readonly style?: React.CSSProperties;
7
+ readonly UNSAFE_className?: string;
8
+ readonly UNSAFE_style?: React.CSSProperties;
9
+ }): {
10
+ className: string | undefined;
11
+ style: React.CSSProperties | undefined;
12
+ };
13
+ export declare function hasMenuSlot(children: React.ReactNode, slot: MenuSlotName): boolean;
14
+ export declare function resolveMenuTriggerRender({ children, render, }: {
15
+ readonly children?: React.ReactNode;
16
+ readonly render?: ComposableMenuTriggerProps["render"];
17
+ }): React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ((props: React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>) => React.JSX.Element);
18
+ export declare function MenuItemProvider({ children, variation, }: {
19
+ readonly children: React.ReactNode;
20
+ readonly variation?: ComposableMenuItemProps["variation"];
21
+ }): React.JSX.Element;
22
+ export declare function SharedMenuItemIcon(props: ComposableMenuItemIconProps): React.JSX.Element;
23
+ export declare function SharedMenuItemLabel(props: ComposableMenuItemLabelProps): React.JSX.Element;
24
+ export declare function SharedMenuItemPrefix(props: ComposableMenuItemPrefixProps): React.JSX.Element;
25
+ export declare function SharedMenuItemSuffix(props: ComposableMenuItemSuffixProps): React.JSX.Element;
26
+ export declare const sharedMenuGroupLabelClassName: string;
27
+ export declare function SharedMenuGroupLabelContent(props: ComposableMenuGroupLabelProps): React.JSX.Element;
@@ -0,0 +1,99 @@
1
+ import type React from "react";
2
+ import type { CSSProperties, ComponentPropsWithRef, ReactNode } from "react";
3
+ import type { Placement } from "@react-types/overlays";
4
+ import type { IconProps } from "../Icon";
5
+ export interface BaseProps {
6
+ /**
7
+ * @deprecated Use `style` instead.
8
+ * This is kept for backward compatibility on the composable Menu pieces.
9
+ */
10
+ readonly UNSAFE_style?: CSSProperties;
11
+ /**
12
+ * @deprecated Use `className` instead.
13
+ * This is kept for backward compatibility on the composable Menu pieces.
14
+ */
15
+ readonly UNSAFE_className?: string;
16
+ readonly style?: CSSProperties;
17
+ readonly className?: string;
18
+ }
19
+ export type ComposableMenuTriggerRenderProps = ComponentPropsWithRef<"button">;
20
+ export type ComposableMenuTriggerRender = React.ReactElement | ((props: ComposableMenuTriggerRenderProps) => React.ReactElement);
21
+ export interface ComposableMenuProps extends BaseProps {
22
+ readonly children: ReactNode;
23
+ readonly open?: boolean;
24
+ readonly defaultOpen?: boolean;
25
+ readonly onOpenChange?: (isOpen: boolean) => void;
26
+ }
27
+ export interface ComposableMenuGroupProps extends BaseProps {
28
+ readonly children: ReactNode;
29
+ readonly ariaLabel?: string;
30
+ }
31
+ export interface ComposableMenuSubmenuProps extends BaseProps {
32
+ readonly children: ReactNode;
33
+ readonly open?: boolean;
34
+ readonly defaultOpen?: boolean;
35
+ readonly onOpenChange?: (isOpen: boolean) => void;
36
+ }
37
+ type MenuItemVariants = "destructive";
38
+ export interface ComposableMenuItemProps extends BaseProps {
39
+ readonly variation?: MenuItemVariants;
40
+ readonly children: ReactNode;
41
+ readonly onClick?: (event?: React.MouseEvent) => void;
42
+ readonly textValue?: string;
43
+ readonly closeOnClick?: boolean;
44
+ readonly href?: string;
45
+ readonly target?: string;
46
+ readonly rel?: string;
47
+ }
48
+ export interface ComposableMenuItemIconProps extends IconProps {
49
+ }
50
+ export interface ComposableMenuContentProps extends BaseProps {
51
+ readonly children: ReactNode;
52
+ readonly preferredPlacement?: Placement;
53
+ }
54
+ export interface ComposableMenuSubmenuContentProps extends BaseProps {
55
+ readonly children: ReactNode;
56
+ }
57
+ interface ComposableMenuTriggerBaseProps extends BaseProps {
58
+ readonly ariaLabel?: string;
59
+ }
60
+ interface ComposableMenuTriggerDefaultProps extends ComposableMenuTriggerBaseProps {
61
+ readonly children: ReactNode;
62
+ readonly render?: undefined;
63
+ }
64
+ interface ComposableMenuTriggerCustomRenderProps extends ComposableMenuTriggerBaseProps {
65
+ readonly children?: ReactNode;
66
+ readonly render: ComposableMenuTriggerRender;
67
+ }
68
+ export type ComposableMenuTriggerProps = ComposableMenuTriggerDefaultProps | ComposableMenuTriggerCustomRenderProps;
69
+ export interface ComposableMenuSubmenuTriggerProps extends BaseProps {
70
+ readonly children: ReactNode;
71
+ readonly textValue?: string;
72
+ }
73
+ export interface ComposableMenuSeparatorProps extends BaseProps {
74
+ }
75
+ export interface ComposableMenuItemLabelProps {
76
+ readonly children: React.ReactNode;
77
+ }
78
+ export interface ComposableMenuGroupLabelProps extends BaseProps {
79
+ readonly children: React.ReactNode;
80
+ }
81
+ export interface ComposableMenuItemPrefixProps extends BaseProps {
82
+ readonly children: React.ReactNode;
83
+ }
84
+ export interface ComposableMenuItemSuffixProps extends BaseProps {
85
+ readonly children: React.ReactNode;
86
+ }
87
+ export interface ComposableMenuRadioGroupProps extends BaseProps {
88
+ readonly children: ReactNode;
89
+ readonly value?: string;
90
+ readonly defaultValue?: string;
91
+ readonly onValueChange?: (value: string) => void;
92
+ }
93
+ export interface ComposableMenuRadioItemProps extends BaseProps {
94
+ readonly children: ReactNode;
95
+ readonly value: string;
96
+ readonly textValue?: string;
97
+ readonly closeOnClick?: boolean;
98
+ }
99
+ export {};