@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 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: dropdownsVisible[index] || false,
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 Link__default = /*#__PURE__*/_interopDefaultLegacy(Link);
27
- var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
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: dropdownsVisible[index] || false,
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.4",
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": "^5.2.0"
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.4",
58
- "@panneau/element-dropdown": "^1.0.4",
59
- "@panneau/element-label": "^1.0.4",
60
- "@panneau/element-link": "^1.0.4",
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": "95997ec1ccd1b55d0d6f2522baa92d831bf5f13d"
68
+ "gitHead": "1d4ce10073e63024309c615ffaec2e1193aeec7e"
69
69
  }