@dxos/react-ui-menu 0.8.4-main.f9ba587 → 0.8.4-main.fd6878d
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/lib/browser/index.mjs +4 -2
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +4 -2
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/ActionLabel.d.ts +1 -1
- package/dist/types/src/components/ActionLabel.d.ts.map +1 -1
- package/dist/types/src/components/DropdownMenu.d.ts +1 -1
- package/dist/types/src/components/DropdownMenu.d.ts.map +1 -1
- package/dist/types/src/components/MenuContext.d.ts.map +1 -1
- package/dist/types/src/components/ToolbarMenu.d.ts +1 -1
- package/dist/types/src/components/ToolbarMenu.d.ts.map +1 -1
- package/dist/types/src/hooks/useMenuActions.d.ts.map +1 -1
- package/dist/types/src/testing/generator.d.ts +2 -2
- package/dist/types/src/testing/generator.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +2 -2
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -15
- package/src/components/ActionLabel.tsx +3 -3
- package/src/components/DropdownMenu.tsx +6 -3
- package/src/components/MenuContext.tsx +1 -1
- package/src/components/Menus.stories.tsx +1 -1
- package/src/components/ToolbarMenu.tsx +7 -6
- package/src/hooks/useMenuActions.ts +1 -1
- package/src/testing/generator.ts +4 -4
- package/src/types.ts +2 -2
- package/src/util.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-menu",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.fd6878d",
|
|
4
4
|
"description": "Components for facilitating reactive and consistent menus.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
+
"source": "./src/index.ts",
|
|
13
14
|
"types": "./dist/types/src/index.d.ts",
|
|
14
15
|
"browser": "./dist/lib/browser/index.mjs",
|
|
15
16
|
"node": "./dist/lib/node-esm/index.mjs"
|
|
@@ -28,26 +29,26 @@
|
|
|
28
29
|
"@preact/signals-react": "^3.2.0",
|
|
29
30
|
"@radix-ui/react-context": "1.1.1",
|
|
30
31
|
"@radix-ui/react-use-controllable-state": "1.1.0",
|
|
31
|
-
"@dxos/app-graph": "0.8.4-main.
|
|
32
|
-
"@dxos/invariant": "0.8.4-main.
|
|
33
|
-
"@dxos/keyboard": "0.8.4-main.
|
|
34
|
-
"@dxos/react-ui-attention": "0.8.4-main.
|
|
35
|
-
"@dxos/util": "0.8.4-main.
|
|
32
|
+
"@dxos/app-graph": "0.8.4-main.fd6878d",
|
|
33
|
+
"@dxos/invariant": "0.8.4-main.fd6878d",
|
|
34
|
+
"@dxos/keyboard": "0.8.4-main.fd6878d",
|
|
35
|
+
"@dxos/react-ui-attention": "0.8.4-main.fd6878d",
|
|
36
|
+
"@dxos/util": "0.8.4-main.fd6878d"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
39
|
"@effect-rx/rx-react": "0.38.0",
|
|
39
|
-
"@effect/platform": "0.
|
|
40
|
+
"@effect/platform": "0.90.2",
|
|
40
41
|
"@types/react": "~18.2.0",
|
|
41
42
|
"@types/react-dom": "~18.2.0",
|
|
42
|
-
"effect": "3.
|
|
43
|
+
"effect": "3.17.7",
|
|
43
44
|
"react": "~18.2.0",
|
|
44
45
|
"react-dom": "~18.2.0",
|
|
45
46
|
"vite": "5.4.7",
|
|
46
|
-
"@dxos/live-object": "0.8.4-main.
|
|
47
|
-
"@dxos/random": "0.8.4-main.
|
|
48
|
-
"@dxos/react-ui
|
|
49
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
50
|
-
"@dxos/storybook-utils": "0.8.4-main.
|
|
47
|
+
"@dxos/live-object": "0.8.4-main.fd6878d",
|
|
48
|
+
"@dxos/random": "0.8.4-main.fd6878d",
|
|
49
|
+
"@dxos/react-ui": "0.8.4-main.fd6878d",
|
|
50
|
+
"@dxos/react-ui-theme": "0.8.4-main.fd6878d",
|
|
51
|
+
"@dxos/storybook-utils": "0.8.4-main.fd6878d"
|
|
51
52
|
},
|
|
52
53
|
"peerDependencies": {
|
|
53
54
|
"@effect-rx/rx-react": "^0.34.1",
|
|
@@ -55,8 +56,8 @@
|
|
|
55
56
|
"effect": "^3.13.3",
|
|
56
57
|
"react": "~18.2.0",
|
|
57
58
|
"react-dom": "~18.2.0",
|
|
58
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
59
|
-
"@dxos/react-ui-theme": "0.8.4-main.
|
|
59
|
+
"@dxos/react-ui": "0.8.4-main.fd6878d",
|
|
60
|
+
"@dxos/react-ui-theme": "0.8.4-main.fd6878d"
|
|
60
61
|
},
|
|
61
62
|
"publishConfig": {
|
|
62
63
|
"access": "public"
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
|
|
7
|
-
import { type Action as GraphAction
|
|
7
|
+
import { type ActionGroup, type Action as GraphAction } from '@dxos/app-graph';
|
|
8
8
|
import { keySymbols } from '@dxos/keyboard';
|
|
9
|
-
import { toLocalizedString, useTranslation
|
|
10
|
-
import {
|
|
9
|
+
import { type TFunction, toLocalizedString, useTranslation } from '@dxos/react-ui';
|
|
10
|
+
import { descriptionText, mx } from '@dxos/react-ui-theme';
|
|
11
11
|
|
|
12
12
|
import { translationKey } from '../translations';
|
|
13
13
|
import { type MenuActionProperties } from '../types';
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
6
6
|
import React, { type MouseEvent, useCallback } from 'react';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { type DropdownMenuRootProps, Icon, DropdownMenu as NaturalDropdownMenu } from '@dxos/react-ui';
|
|
9
|
+
|
|
10
|
+
import { type MenuAction, type MenuItem, type MenuItemGroup } from '../types';
|
|
9
11
|
|
|
10
12
|
import { ActionLabel } from './ActionLabel';
|
|
11
13
|
import { type MenuScopedProps, useMenu, useMenuItems } from './MenuContext';
|
|
12
|
-
import { type MenuAction, type MenuItem, type MenuItemGroup } from '../types';
|
|
13
14
|
|
|
14
15
|
export type DropdownMenuProps = DropdownMenuRootProps & {
|
|
15
16
|
group?: MenuItemGroup;
|
|
@@ -80,7 +81,9 @@ const DropdownMenuRoot = ({
|
|
|
80
81
|
<NaturalDropdownMenu.Portal>
|
|
81
82
|
<NaturalDropdownMenu.Content>
|
|
82
83
|
<NaturalDropdownMenu.Viewport>
|
|
83
|
-
{items?.map((item) =>
|
|
84
|
+
{items?.map((item) => (
|
|
85
|
+
<DropdownMenuItem key={item.id} item={item} onClick={handleActionClick} />
|
|
86
|
+
))}
|
|
84
87
|
</NaturalDropdownMenu.Viewport>
|
|
85
88
|
<NaturalDropdownMenu.Arrow />
|
|
86
89
|
</NaturalDropdownMenu.Content>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { type Scope, createContextScope } from '@radix-ui/react-context';
|
|
6
6
|
import React, { type PropsWithChildren, useMemo } from 'react';
|
|
7
7
|
|
|
8
8
|
import { type MenuContextValue, type MenuItem, type MenuItemGroup } from '../types';
|
|
@@ -9,7 +9,7 @@ import { faker } from '@dxos/random';
|
|
|
9
9
|
import { IconButton } from '@dxos/react-ui';
|
|
10
10
|
import { withTheme } from '@dxos/storybook-utils';
|
|
11
11
|
|
|
12
|
-
import { DropdownMenu as NaturalDropdownMenu, ToolbarMenu
|
|
12
|
+
import { MenuProvider, DropdownMenu as NaturalDropdownMenu, ToolbarMenu } from '../components';
|
|
13
13
|
import { useMenuActions } from '../hooks';
|
|
14
14
|
import { createActions, createNestedActions, createNestedActionsResolver, useMutateActions } from '../testing';
|
|
15
15
|
import { translations } from '../translations';
|
|
@@ -8,21 +8,22 @@ import { Icon, Toolbar as NaturalToolbar, type ToolbarRootProps, useTranslation
|
|
|
8
8
|
import { useAttention } from '@dxos/react-ui-attention';
|
|
9
9
|
import { mx, textBlockWidth, toolbarLayout } from '@dxos/react-ui-theme';
|
|
10
10
|
|
|
11
|
-
import { actionLabel, ActionLabel } from './ActionLabel';
|
|
12
|
-
import { DropdownMenu } from './DropdownMenu';
|
|
13
|
-
import { type MenuScopedProps, useMenu, useMenuItems } from './MenuContext';
|
|
14
11
|
import { translationKey } from '../translations';
|
|
15
12
|
import {
|
|
16
13
|
type MenuAction,
|
|
14
|
+
type MenuActionProperties,
|
|
17
15
|
type MenuItem,
|
|
18
|
-
isMenuGroup,
|
|
19
|
-
isSeparator,
|
|
20
16
|
type MenuItemGroup,
|
|
21
|
-
type MenuActionProperties,
|
|
22
17
|
type MenuMultipleSelectActionGroup,
|
|
23
18
|
type MenuSingleSelectActionGroup,
|
|
19
|
+
isMenuGroup,
|
|
20
|
+
isSeparator,
|
|
24
21
|
} from '../types';
|
|
25
22
|
|
|
23
|
+
import { ActionLabel, actionLabel } from './ActionLabel';
|
|
24
|
+
import { DropdownMenu } from './DropdownMenu';
|
|
25
|
+
import { type MenuScopedProps, useMenu, useMenuItems } from './MenuContext';
|
|
26
|
+
|
|
26
27
|
export type ToolbarMenuDropdownMenuActionGroup = Omit<MenuActionProperties, 'variant' | 'icon'> & {
|
|
27
28
|
variant: 'dropdownMenu';
|
|
28
29
|
icon: string;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { RegistryContext, type Rx, useRxValue } from '@effect-rx/rx-react';
|
|
6
6
|
import { useCallback, useContext, useEffect, useState } from 'react';
|
|
7
7
|
|
|
8
|
-
import { type Edge, type Edges, Graph, type
|
|
8
|
+
import { type Edge, type Edges, Graph, type Node, type NodeArg, ROOT_ID } from '@dxos/app-graph';
|
|
9
9
|
|
|
10
10
|
import { type MenuItem, type MenuItemGroup } from '../types';
|
|
11
11
|
|
package/src/testing/generator.ts
CHANGED
|
@@ -6,20 +6,20 @@ import { Rx } from '@effect-rx/rx-react';
|
|
|
6
6
|
import { useEffect } from 'react';
|
|
7
7
|
|
|
8
8
|
import {
|
|
9
|
+
ACTION_GROUP_TYPE,
|
|
10
|
+
ACTION_TYPE,
|
|
9
11
|
type Action,
|
|
10
12
|
Graph,
|
|
11
13
|
type NodeArg,
|
|
12
|
-
ACTION_TYPE,
|
|
13
|
-
ACTION_GROUP_TYPE,
|
|
14
|
-
actionGroupSymbol,
|
|
15
14
|
ROOT_ID,
|
|
15
|
+
actionGroupSymbol,
|
|
16
16
|
} from '@dxos/app-graph';
|
|
17
17
|
import { live } from '@dxos/live-object';
|
|
18
18
|
import { faker } from '@dxos/random';
|
|
19
19
|
import { type DeepWriteable } from '@dxos/util';
|
|
20
20
|
|
|
21
21
|
import { type ActionGraphProps } from '../hooks/useMenuActions';
|
|
22
|
-
import { type MenuAction, type
|
|
22
|
+
import { type MenuAction, type MenuItem, type MenuItemGroup } from '../types';
|
|
23
23
|
|
|
24
24
|
export type CreateActionsParams = Partial<{
|
|
25
25
|
type?: typeof ACTION_TYPE | typeof ACTION_GROUP_TYPE;
|
package/src/types.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import { type
|
|
5
|
+
import { ACTION_GROUP_TYPE, type Action, type ActionGroup, type Node } from '@dxos/app-graph';
|
|
6
|
+
import { type ClassNameValue, type IconButtonProps, type Label, type ToolbarSeparatorProps } from '@dxos/react-ui';
|
|
7
7
|
|
|
8
8
|
export type MenuActionProperties = {
|
|
9
9
|
label: Label;
|
package/src/util.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { ACTION_GROUP_TYPE, ACTION_TYPE,
|
|
5
|
+
import { ACTION_GROUP_TYPE, ACTION_TYPE, type ActionLike, actionGroupSymbol } from '@dxos/app-graph';
|
|
6
6
|
import { getHostPlatform } from '@dxos/util';
|
|
7
7
|
|
|
8
8
|
import {
|