@panneau/element-menu 1.0.4 → 1.1.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.
- package/es/index.js +9 -7
- package/lib/index.js +13 -11
- package/package.json +7 -7
package/es/index.js
CHANGED
|
@@ -2,13 +2,13 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
|
-
import React, { useState } from 'react';
|
|
6
|
-
import PropTypes$1 from 'prop-types';
|
|
7
5
|
import classNames from 'classnames';
|
|
6
|
+
import PropTypes$1 from 'prop-types';
|
|
7
|
+
import React, { useState } from 'react';
|
|
8
8
|
import { PropTypes } from '@panneau/core';
|
|
9
|
-
import Link from '@panneau/element-link';
|
|
10
|
-
import Label from '@panneau/element-label';
|
|
11
9
|
import Dropdown from '@panneau/element-dropdown';
|
|
10
|
+
import Label from '@panneau/element-label';
|
|
11
|
+
import Link from '@panneau/element-link';
|
|
12
12
|
|
|
13
13
|
var _excluded = ["id", "className", "linkClassName", "href", "label", "external", "items", "dropdown", "active", "onClick"];
|
|
14
14
|
var propTypes = {
|
|
@@ -99,6 +99,7 @@ var Menu = function Menu(_ref) {
|
|
|
99
99
|
itemProps = _objectWithoutProperties(it, _excluded);
|
|
100
100
|
var onClickItem = dropdown !== null ? function (e) {
|
|
101
101
|
e.preventDefault();
|
|
102
|
+
e.stopPropagation();
|
|
102
103
|
setDropdownsVisible([].concat(_toConsumableArray(dropdownsVisible.slice(0, index)), [!(dropdownsVisible[index] || false)], _toConsumableArray(dropdownsVisible.slice(index + 1))));
|
|
103
104
|
if (customOnClick !== null) {
|
|
104
105
|
customOnClick(e);
|
|
@@ -108,6 +109,7 @@ var Menu = function Menu(_ref) {
|
|
|
108
109
|
setDropdownsVisible([].concat(_toConsumableArray(dropdownsVisible.slice(0, index)), [false], _toConsumableArray(dropdownsVisible.slice(index + 1))));
|
|
109
110
|
} : null;
|
|
110
111
|
var ItemComponent = itemTagName;
|
|
112
|
+
var dropdownVisible = dropdownsVisible[index] || false;
|
|
111
113
|
return linkAsItem ? /*#__PURE__*/React.createElement(Link, Object.assign({}, itemProps, {
|
|
112
114
|
key: "item-".concat(id || index),
|
|
113
115
|
onClick: onClickItem,
|
|
@@ -122,9 +124,9 @@ var Menu = function Menu(_ref) {
|
|
|
122
124
|
dropdown: dropdown !== null,
|
|
123
125
|
active: active
|
|
124
126
|
}, _defineProperty(_classNames2, itemClassName, itemClassName !== null), _defineProperty(_classNames2, customClassName, customClassName !== null), _defineProperty(_classNames2, hasSubMenuClassName, subItems !== null && hasSubMenuClassName !== null), _defineProperty(_classNames2, hasDropdownClassName, subItems !== null && hasDropdownClassName !== null), _classNames2))
|
|
125
|
-
}, href !== null ? /*#__PURE__*/React.createElement(Link, Object.assign({}, itemProps, {
|
|
127
|
+
}, href !== null || dropdown !== null ? /*#__PURE__*/React.createElement(Link, Object.assign({}, itemProps, {
|
|
126
128
|
onClick: onClickItem,
|
|
127
|
-
href: href,
|
|
129
|
+
href: href || '#',
|
|
128
130
|
external: external,
|
|
129
131
|
className: classNames((_classNames3 = {}, _defineProperty(_classNames3, linkClassName, linkClassName !== null), _defineProperty(_classNames3, 'dropdown-toggle', dropdown !== null), _defineProperty(_classNames3, customLinkClassName, customLinkClassName !== null), _classNames3))
|
|
130
132
|
}), label) : /*#__PURE__*/React.createElement(Label, itemProps, label), subItems !== null ? /*#__PURE__*/React.createElement(Menu, {
|
|
@@ -134,7 +136,7 @@ var Menu = function Menu(_ref) {
|
|
|
134
136
|
linkClassName: classNames((_classNames5 = {}, _defineProperty(_classNames5, subMenuLinkClassName, subMenuLinkClassName !== null), _defineProperty(_classNames5, linkClassName, subMenuLinkClassName === null && linkClassName !== null), _classNames5))
|
|
135
137
|
}) : null, dropdown !== null ? /*#__PURE__*/React.createElement(Dropdown, {
|
|
136
138
|
items: dropdown,
|
|
137
|
-
visible:
|
|
139
|
+
visible: dropdownVisible,
|
|
138
140
|
className: dropdownClassName,
|
|
139
141
|
itemClassName: classNames((_classNames6 = {}, _defineProperty(_classNames6, dropdownItemClassName, dropdownItemClassName !== null), _defineProperty(_classNames6, itemClassName, dropdownItemClassName === null && itemClassName !== null), _classNames6)),
|
|
140
142
|
linkClassName: classNames((_classNames7 = {}, _defineProperty(_classNames7, dropdownLinkClassName, dropdownLinkClassName !== null), _defineProperty(_classNames7, linkClassName, dropdownLinkClassName === null && linkClassName !== null), _classNames7)),
|
package/lib/index.js
CHANGED
|
@@ -6,13 +6,13 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
6
6
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
7
7
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
8
8
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
9
|
-
var React = require('react');
|
|
10
|
-
var PropTypes = require('prop-types');
|
|
11
9
|
var classNames = require('classnames');
|
|
10
|
+
var PropTypes = require('prop-types');
|
|
11
|
+
var React = require('react');
|
|
12
12
|
var core = require('@panneau/core');
|
|
13
|
-
var Link = require('@panneau/element-link');
|
|
14
|
-
var Label = require('@panneau/element-label');
|
|
15
13
|
var Dropdown = require('@panneau/element-dropdown');
|
|
14
|
+
var Label = require('@panneau/element-label');
|
|
15
|
+
var Link = require('@panneau/element-link');
|
|
16
16
|
|
|
17
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
18
|
|
|
@@ -20,12 +20,12 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
20
20
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
21
21
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
22
22
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
23
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
|
-
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
25
23
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
26
|
-
var
|
|
27
|
-
var
|
|
24
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
25
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
28
26
|
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
|
27
|
+
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
|
28
|
+
var Link__default = /*#__PURE__*/_interopDefaultLegacy(Link);
|
|
29
29
|
|
|
30
30
|
var _excluded = ["id", "className", "linkClassName", "href", "label", "external", "items", "dropdown", "active", "onClick"];
|
|
31
31
|
var propTypes = {
|
|
@@ -116,6 +116,7 @@ var Menu = function Menu(_ref) {
|
|
|
116
116
|
itemProps = _objectWithoutProperties__default["default"](it, _excluded);
|
|
117
117
|
var onClickItem = dropdown !== null ? function (e) {
|
|
118
118
|
e.preventDefault();
|
|
119
|
+
e.stopPropagation();
|
|
119
120
|
setDropdownsVisible([].concat(_toConsumableArray__default["default"](dropdownsVisible.slice(0, index)), [!(dropdownsVisible[index] || false)], _toConsumableArray__default["default"](dropdownsVisible.slice(index + 1))));
|
|
120
121
|
if (customOnClick !== null) {
|
|
121
122
|
customOnClick(e);
|
|
@@ -125,6 +126,7 @@ var Menu = function Menu(_ref) {
|
|
|
125
126
|
setDropdownsVisible([].concat(_toConsumableArray__default["default"](dropdownsVisible.slice(0, index)), [false], _toConsumableArray__default["default"](dropdownsVisible.slice(index + 1))));
|
|
126
127
|
} : null;
|
|
127
128
|
var ItemComponent = itemTagName;
|
|
129
|
+
var dropdownVisible = dropdownsVisible[index] || false;
|
|
128
130
|
return linkAsItem ? /*#__PURE__*/React__default["default"].createElement(Link__default["default"], Object.assign({}, itemProps, {
|
|
129
131
|
key: "item-".concat(id || index),
|
|
130
132
|
onClick: onClickItem,
|
|
@@ -139,9 +141,9 @@ var Menu = function Menu(_ref) {
|
|
|
139
141
|
dropdown: dropdown !== null,
|
|
140
142
|
active: active
|
|
141
143
|
}, _defineProperty__default["default"](_classNames2, itemClassName, itemClassName !== null), _defineProperty__default["default"](_classNames2, customClassName, customClassName !== null), _defineProperty__default["default"](_classNames2, hasSubMenuClassName, subItems !== null && hasSubMenuClassName !== null), _defineProperty__default["default"](_classNames2, hasDropdownClassName, subItems !== null && hasDropdownClassName !== null), _classNames2))
|
|
142
|
-
}, href !== null ? /*#__PURE__*/React__default["default"].createElement(Link__default["default"], Object.assign({}, itemProps, {
|
|
144
|
+
}, href !== null || dropdown !== null ? /*#__PURE__*/React__default["default"].createElement(Link__default["default"], Object.assign({}, itemProps, {
|
|
143
145
|
onClick: onClickItem,
|
|
144
|
-
href: href,
|
|
146
|
+
href: href || '#',
|
|
145
147
|
external: external,
|
|
146
148
|
className: classNames__default["default"]((_classNames3 = {}, _defineProperty__default["default"](_classNames3, linkClassName, linkClassName !== null), _defineProperty__default["default"](_classNames3, 'dropdown-toggle', dropdown !== null), _defineProperty__default["default"](_classNames3, customLinkClassName, customLinkClassName !== null), _classNames3))
|
|
147
149
|
}), label) : /*#__PURE__*/React__default["default"].createElement(Label__default["default"], itemProps, label), subItems !== null ? /*#__PURE__*/React__default["default"].createElement(Menu, {
|
|
@@ -151,7 +153,7 @@ var Menu = function Menu(_ref) {
|
|
|
151
153
|
linkClassName: classNames__default["default"]((_classNames5 = {}, _defineProperty__default["default"](_classNames5, subMenuLinkClassName, subMenuLinkClassName !== null), _defineProperty__default["default"](_classNames5, linkClassName, subMenuLinkClassName === null && linkClassName !== null), _classNames5))
|
|
152
154
|
}) : null, dropdown !== null ? /*#__PURE__*/React__default["default"].createElement(Dropdown__default["default"], {
|
|
153
155
|
items: dropdown,
|
|
154
|
-
visible:
|
|
156
|
+
visible: dropdownVisible,
|
|
155
157
|
className: dropdownClassName,
|
|
156
158
|
itemClassName: classNames__default["default"]((_classNames6 = {}, _defineProperty__default["default"](_classNames6, dropdownItemClassName, dropdownItemClassName !== null), _defineProperty__default["default"](_classNames6, itemClassName, dropdownItemClassName === null && itemClassName !== null), _classNames6)),
|
|
157
159
|
linkClassName: classNames__default["default"]((_classNames7 = {}, _defineProperty__default["default"](_classNames7, dropdownLinkClassName, dropdownLinkClassName !== null), _defineProperty__default["default"](_classNames7, linkClassName, dropdownLinkClassName === null && linkClassName !== null), _classNames7)),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/element-menu",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Menu element",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
48
48
|
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
49
|
-
"react-router-dom": "^
|
|
49
|
+
"react-router-dom": "^6.2.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@babel/runtime": "^7.12.5",
|
|
57
|
-
"@panneau/core": "^1.0
|
|
58
|
-
"@panneau/element-dropdown": "^1.0
|
|
59
|
-
"@panneau/element-label": "^1.0
|
|
60
|
-
"@panneau/element-link": "^1.0
|
|
57
|
+
"@panneau/core": "^1.1.0",
|
|
58
|
+
"@panneau/element-dropdown": "^1.1.0",
|
|
59
|
+
"@panneau/element-label": "^1.1.0",
|
|
60
|
+
"@panneau/element-link": "^1.1.0",
|
|
61
61
|
"classnames": "^2.2.6",
|
|
62
62
|
"prop-types": "^15.7.2",
|
|
63
63
|
"react-intl": "^5.15.8||^6.0.0"
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "1d4ce10073e63024309c615ffaec2e1193aeec7e"
|
|
69
69
|
}
|