Skip to content

Commit ee8a7ce

Browse files
authored
Add 'use client' directives to support React Server Components (#1516)
1 parent 5cb76d8 commit ee8a7ce

File tree

8 files changed

+231
-171
lines changed

8 files changed

+231
-171
lines changed

dist/cjs/index.cjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
'use client';
13
'use strict';
24

35
var MenuButton = require('./components/MenuButton.cjs');

dist/esm/index.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
'use client';
13
export { MenuButton } from './components/MenuButton.mjs';
24
export { Menu } from './components/Menu.mjs';
35
export { ControlledMenu } from './components/ControlledMenu.mjs';

example/package-lock.json

Lines changed: 181 additions & 163 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
"dependencies": {
77
"@szhsin/react-menu": "file:..",
88
"highlight.js": "^11.11.1",
9-
"next": "^15.1.5",
9+
"next": "^15.3.0",
1010
"react": "file:../node_modules/react",
1111
"react-dom": "file:../node_modules/react-dom",
1212
"reactish-state": "0.11.1"
1313
},
1414
"devDependencies": {
15-
"eslint-config-next": "^15.1.5"
15+
"eslint-config-next": "^15.3.0"
1616
},
1717
"scripts": {
1818
"dev": "next dev",

example/src/utils/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { useEffect, useLayoutEffect } from 'react';
22
import { useTheme } from '../store';
33

4-
export const version = '4.3.1';
5-
export const build = '140';
4+
export const version = '4.4.0';
5+
export const build = '141';
66

77
export const bem = (block, element, modifiers = {}) => {
88
let blockElement = element ? `${block}__${element}` : block;

package-lock.json

Lines changed: 31 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@szhsin/react-menu",
3-
"version": "4.3.1",
3+
"version": "4.4.0",
44
"description": "React component for building accessible menu, dropdown, submenu, context menu and more.",
55
"author": "Zheng Song",
66
"license": "MIT",
@@ -71,6 +71,7 @@
7171
"react": "^19.1.0",
7272
"react-dom": "^19.1.0",
7373
"rollup": "^4.40.0",
74+
"rollup-plugin-add-directive": "^1.0.0",
7475
"sass": "^1.86.3",
7576
"typescript": "^5.8.3"
7677
},

rollup.config.mjs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1+
// @ts-check
2+
13
import { nodeResolve } from '@rollup/plugin-node-resolve';
24
import { babel } from '@rollup/plugin-babel';
5+
import { addDirective } from 'rollup-plugin-add-directive';
36

47
/**
58
* @type {import('rollup').RollupOptions}
69
*/
710
const sharedConfig = {
811
external: ['react', 'react-dom', 'react/jsx-runtime', 'react-transition-state'],
9-
plugins: [nodeResolve(), babel({ babelHelpers: 'bundled' })],
1012
treeshake: {
1113
moduleSideEffects: false,
1214
propertyReadSideEffects: false
@@ -19,6 +21,11 @@ const sharedConfig = {
1921
export default [
2022
{
2123
...sharedConfig,
24+
plugins: [
25+
nodeResolve(),
26+
babel({ babelHelpers: 'bundled' }),
27+
addDirective({ pattern: 'index' })
28+
],
2229
input: 'src/index.js',
2330
output: [
2431
{
@@ -38,6 +45,7 @@ export default [
3845
},
3946
{
4047
...sharedConfig,
48+
plugins: [nodeResolve(), babel({ babelHelpers: 'bundled' })],
4149
input: 'src/style-utils/index.js',
4250
output: [
4351
{

0 commit comments

Comments
 (0)