tenjin-ui-kit 0.2.134 → 0.2.136

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.
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _material = require("@mui/material");
9
+ var _clsx2 = _interopRequireDefault(require("clsx"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _reactRouterDom = require("react-router-dom");
13
+ var _style = _interopRequireDefault(require("./style"));
14
+ var _text = _interopRequireDefault(require("../../text"));
15
+ var _ = require("..");
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
23
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
28
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
29
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
+ var GroupedIconMenu = function GroupedIconMenu(_ref) {
31
+ var groups = _ref.groups,
32
+ draggable = _ref.draggable,
33
+ title = _ref.title;
34
+ var classes = (0, _style.default)();
35
+ var popupRef = (0, _react.useRef)(null);
36
+ var navigate = (0, _reactRouterDom.useNavigate)();
37
+ var _useContext = (0, _react.useContext)(_.LayoutContext),
38
+ _useContext$layoutSta = _useContext.layoutState,
39
+ collapsed = _useContext$layoutSta.sidebarCollapsed,
40
+ selectedSidebarKey = _useContext$layoutSta.selectedSidebarKey,
41
+ setSelectedSidebarKey = _useContext.setSelectedSidebarKey;
42
+ var _useState = (0, _react.useState)({}),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ selectedCollapsedSidebar = _useState2[0],
45
+ setselectedCollapsedSidebar = _useState2[1];
46
+ var _useState3 = (0, _react.useState)({
47
+ index: null,
48
+ open: false
49
+ }),
50
+ _useState4 = _slicedToArray(_useState3, 2),
51
+ selectedItem = _useState4[0],
52
+ setselectedItem = _useState4[1];
53
+ var handleClick = function handleClick(event, index, selected) {
54
+ setselectedItem(function (prev) {
55
+ return _objectSpread(_objectSpread({}, prev), {}, {
56
+ index: index,
57
+ open: true,
58
+ anchorE1: event.currentTarget,
59
+ selected: selected
60
+ });
61
+ });
62
+ };
63
+ var handleClose = function handleClose() {
64
+ setselectedItem(function (prev) {
65
+ return _objectSpread(_objectSpread({}, prev), {}, {
66
+ index: null,
67
+ open: false,
68
+ anchorE1: null
69
+ });
70
+ });
71
+ };
72
+ (0, _react.useEffect)(function () {
73
+ function handleClickOutside(event) {
74
+ if (popupRef.current && !popupRef.current.contains(event.target)) {
75
+ handleClose();
76
+ }
77
+ }
78
+ document.addEventListener("mousedown", handleClickOutside);
79
+ return function () {
80
+ document.removeEventListener("mousedown", handleClickOutside);
81
+ };
82
+ }, [popupRef]);
83
+ var theme = (0, _material.useTheme)();
84
+ return groups ? /*#__PURE__*/_react.default.createElement("div", {
85
+ className: classes.projectMenuMainWrapper
86
+ }, /*#__PURE__*/_react.default.createElement("div", null, !collapsed && title && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_text.default, {
87
+ className: classes.projectMenuHeader,
88
+ fontWeight: 600
89
+ // marginBottom="0.5rem"
90
+ ,
91
+ margin: "0.7rem 0rem"
92
+ }, title), /*#__PURE__*/_react.default.createElement(_material.Divider, {
93
+ sx: {
94
+ height: "initial !important"
95
+ }
96
+ }))), /*#__PURE__*/_react.default.createElement("div", null, groups.map(function (group, index) {
97
+ var _group$items$filter$, _group$items$filter$2, _clsx, _group$groupName, _group$groupName2;
98
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
99
+ key: group.groupName
100
+ }, /*#__PURE__*/_react.default.createElement(_material.List, {
101
+ sx: {
102
+ display: "inline-block",
103
+ position: "relative",
104
+ width: "100%",
105
+ height: "100%"
106
+ },
107
+ subheader: /*#__PURE__*/_react.default.createElement(_material.ListSubheader, {
108
+ className: "sidebar",
109
+ sx: {
110
+ // padding: 0,
111
+ display: "flex",
112
+ fontWeight: 600,
113
+ lineHeight: collapsed && 0,
114
+ marginTop: !collapsed && (index == 0 ? "0rem" : "1rem"),
115
+ padding: !collapsed ? "0.8rem 0rem" : 0,
116
+ justifyContent: collapsed && "center",
117
+ alignItems: "center"
118
+ }
119
+ }, collapsed ? /*#__PURE__*/_react.default.createElement("div", {
120
+ className: "buttonIcon"
121
+ }, /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
122
+ key: index,
123
+ title: collapsed ? group.groupName : null,
124
+ placement: "right"
125
+ }, /*#__PURE__*/_react.default.createElement(_material.ListItemButton, {
126
+ id: "account-button",
127
+ selected: (group === null || group === void 0 ? void 0 : (_group$items$filter$ = group.items.filter(function (item) {
128
+ return item.key === selectedSidebarKey;
129
+ })[0]) === null || _group$items$filter$ === void 0 ? void 0 : _group$items$filter$.key) === selectedSidebarKey,
130
+ classes: {
131
+ selected: classes.selectedProjectMenuItem
132
+ },
133
+ key: selectedCollapsedSidebar === null || selectedCollapsedSidebar === void 0 ? void 0 : selectedCollapsedSidebar.key,
134
+ onClick: function onClick(e) {
135
+ selectedItem.open ? handleClose() : handleClick(e, index, group);
136
+ }
137
+ }, /*#__PURE__*/_react.default.createElement(_material.ListItemText, {
138
+ disableTypography: true,
139
+ className: (0, _clsx2.default)((_clsx = {}, _defineProperty(_clsx, classes.projectListIcon, true), _defineProperty(_clsx, "selected", {
140
+ color: "#fff !important"
141
+ }), _defineProperty(_clsx, classes.selectedProjectMenuItemIcon, (group === null || group === void 0 ? void 0 : (_group$items$filter$2 = group.items.filter(function (item) {
142
+ return item.key === selectedSidebarKey;
143
+ })[0]) === null || _group$items$filter$2 === void 0 ? void 0 : _group$items$filter$2.key) === selectedSidebarKey), _clsx))
144
+ }, group.icon)))) : /*#__PURE__*/_react.default.createElement("span", {
145
+ className: classes.subHeaderIcon
146
+ }, group.icon), /*#__PURE__*/_react.default.createElement(_text.default, {
147
+ fontSize: theme.typography.fontSize - 2,
148
+ semibold: true,
149
+ sx: {
150
+ marginLeft: theme.spacing(1),
151
+ alignItems: "center",
152
+ height: "100%",
153
+ display: collapsed ? "none !important" : "flex"
154
+ }
155
+ }, (_group$groupName = group.groupName) === null || _group$groupName === void 0 ? void 0 : _group$groupName.toUpperCase()))
156
+ }, !collapsed && group.items.map(function (i) {
157
+ return /*#__PURE__*/_react.default.createElement(_material.ListItemButton, {
158
+ disableRipple: true,
159
+ disableTouchRipple: true,
160
+ component: i.serverSide ? "a" : _reactRouterDom.Link,
161
+ href: i.href,
162
+ to: i.href,
163
+ selected: i.key === selectedSidebarKey,
164
+ sidebarKey: i.key,
165
+ key: i.key,
166
+ onClick: function onClick() {
167
+ setSelectedSidebarKey(i.key);
168
+ setselectedCollapsedSidebar(i);
169
+ },
170
+ classes: {
171
+ selected: classes.selectedProjectMenuItem
172
+ }
173
+ }, /*#__PURE__*/_react.default.createElement(_text.default, {
174
+ semibold: true,
175
+ sx: {
176
+ marginLeft: theme.spacing(1)
177
+ },
178
+ fontSize: theme.typography.fontSize,
179
+ color: i.key === selectedSidebarKey ? "#fff" : theme.palette.primary.main
180
+ }, i.display));
181
+ })), !collapsed && index < groups.length - 1 && /*#__PURE__*/_react.default.createElement(_material.Divider, {
182
+ sx: {
183
+ height: "initial !important"
184
+ }
185
+ }), selectedItem.index === index && /*#__PURE__*/_react.default.createElement("div", {
186
+ ref: popupRef,
187
+ className: selectedItem.open ? classes.menuItemOpen : classes.menuItem
188
+ }, /*#__PURE__*/_react.default.createElement(_material.Paper, {
189
+ sx: {
190
+ width: "13rem",
191
+ padding: "0.7rem",
192
+ maxHeight: "14.5rem",
193
+ overFlow: "auto"
194
+ }
195
+ }, /*#__PURE__*/_react.default.createElement(_text.default, {
196
+ fontWeight: "600",
197
+ pl: "0.3rem",
198
+ color: "#7D7D7D"
199
+ }, (_group$groupName2 = group.groupName) === null || _group$groupName2 === void 0 ? void 0 : _group$groupName2.toUpperCase()), group.items.map(function (i) {
200
+ return /*#__PURE__*/_react.default.createElement(_material.ListItemText, {
201
+ disableTypography: true,
202
+ sx: {
203
+ color: "#44409A !important",
204
+ fontWeight: 600,
205
+ p: "0.3rem",
206
+ cursor: "pointer",
207
+ fontSize: "14px !important",
208
+ backgroundColor: i.key === selectedSidebarKey ? "#f5f6f7" : "none",
209
+ "&:hover": {
210
+ backgroundColor: "#f5f6f7"
211
+ }
212
+ },
213
+ onClick: function onClick() {
214
+ setSelectedSidebarKey(i.key);
215
+ setselectedCollapsedSidebar(i);
216
+ handleClose();
217
+ i.serverSide ? window.location.href = i.href : navigate(i.href);
218
+ }
219
+ }, /*#__PURE__*/_react.default.createElement(_text.default, null, i.display));
220
+ }))));
221
+ }))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
222
+ };
223
+ GroupedIconMenu.propTypes = {
224
+ groups: _propTypes.default.array.isRequired
225
+ };
226
+ var _default = GroupedIconMenu;
227
+ exports.default = _default;
@@ -16,6 +16,7 @@ var _GroupedMenu = _interopRequireDefault(require("./GroupedMenu"));
16
16
  var _ProjectMenu = _interopRequireDefault(require("./ProjectMenu"));
17
17
  var _style = _interopRequireDefault(require("./style"));
18
18
  var _DragBox = require("../../DragBox");
19
+ var _GroupedIconMenu = _interopRequireDefault(require("./GroupedIconMenu"));
19
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -78,5 +79,6 @@ Sidebar.propTypes = {
78
79
  Sidebar.GroupedMenu = _GroupedMenu.default;
79
80
  Sidebar.FlatMenu = _FlatMenu.default;
80
81
  Sidebar.ProjectMenu = _ProjectMenu.default;
82
+ Sidebar.GroupedIconMenu = _GroupedIconMenu.default;
81
83
  var _default = Sidebar;
82
84
  exports.default = _default;
@@ -25,7 +25,7 @@ var _default = (0, _styles.makeStyles)(function () {
25
25
  fontWeight: "500 !important"
26
26
  },
27
27
  expanded: {
28
- width: "240px"
28
+ width: "200px"
29
29
  },
30
30
  collapsed: {
31
31
  width: "72px"
@@ -81,9 +81,10 @@ var _default = (0, _styles.makeStyles)(function () {
81
81
  backgroundColor: "".concat(_responsiveTheme.default.palette.primary.main, " !important"),
82
82
  color: "#fff !important",
83
83
  borderRadius: "5px !important",
84
- fontWeight: 600,
85
- fontSize: "16px !important"
84
+ fontWeight: 600
85
+ // fontSize: "16px !important",
86
86
  },
87
+
87
88
  projectListText: {
88
89
  color: "".concat(_responsiveTheme.default.palette.primary.main, " !important"),
89
90
  marginLeft: "24px",
@@ -92,23 +93,30 @@ var _default = (0, _styles.makeStyles)(function () {
92
93
  },
93
94
  projectListIcon: {
94
95
  color: "".concat(_responsiveTheme.default.palette.primary.main, " !important"),
95
- fontSize: "1rem"
96
+ display: "flex",
97
+ alignItems: "center",
98
+ width: "1rem",
99
+ height: "1rem"
96
100
  },
97
101
  selectedProjectMenuItemText: {
98
- color: "#fff !important",
99
- fontSize: "14px !important"
102
+ color: "#fff !important"
103
+ // fontSize: "14px !important",
100
104
  // fontWeight: 600,
101
105
  },
102
106
 
103
107
  selectedProjectMenuItemIcon: {
104
- color: "#fff !important"
108
+ color: "#fff !important",
109
+ display: "flex",
110
+ alignItems: "center",
111
+ width: "1rem",
112
+ height: "1rem"
105
113
  },
106
114
  subHeaderIcon: {
107
115
  color: "#44409A",
108
116
  display: "flex",
109
117
  alignItems: "center",
110
- width: "18px",
111
- height: "18px"
118
+ width: "0.8rem",
119
+ height: "0.8rem"
112
120
  },
113
121
  sidebar: {
114
122
  display: "inline-block",
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _material = require("@mui/material");
10
+ var _fi = require("react-icons/fi");
11
+ var _text = _interopRequireDefault(require("../text"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+ var ITEM_HEIGHT = 500;
22
+
23
+ /**
24
+ *
25
+ * @param {{
26
+ * options: Array<{
27
+ * name: String | Number,
28
+ * displayName: String,
29
+ * onClick: (name: String | Number, optionId: String | Number) => void,
30
+ * visibility?: boolean,
31
+ * divider?: boolean
32
+ * }>,
33
+ * optionId?: String | Number,
34
+ * }} props
35
+ * @description
36
+ * options: provide this object in an array for options
37
+ * {
38
+ * name, displayName , onClick, visibility, divider
39
+ * }
40
+ * name: name for Menuoption it will act like ID
41
+ * displayname: To display name
42
+ * onClick: Accepts a callbac function, this function will provide name in parameter
43
+ * visibility: (optional) if set to false, the option will be disabled
44
+ * divider: (optional) if set to true, a divider line will be displayed after the MenuItem
45
+ *
46
+ * optionId: Provide an option ID to get it as 2nd parameter of callback function
47
+ * @returns An option component
48
+ */
49
+
50
+ var OptionMenu = function OptionMenu(_ref) {
51
+ var options = _ref.options,
52
+ _ref$optionId = _ref.optionId,
53
+ optionId = _ref$optionId === void 0 ? null : _ref$optionId;
54
+ var _React$useState = _react.default.useState(null),
55
+ _React$useState2 = _slicedToArray(_React$useState, 2),
56
+ anchorEl = _React$useState2[0],
57
+ setAnchorEl = _React$useState2[1];
58
+ var open = Boolean(anchorEl);
59
+ var handleClick = function handleClick(event) {
60
+ setAnchorEl(event.currentTarget);
61
+ };
62
+ var handleClose = function handleClose() {
63
+ setAnchorEl(null);
64
+ };
65
+ var handleMenuItemClick = function handleMenuItemClick(callback) {
66
+ handleClose();
67
+ callback();
68
+ };
69
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, null, /*#__PURE__*/_react.default.createElement(_material.IconButton, {
70
+ "aria-label": "more",
71
+ "aria-controls": "long-menu",
72
+ "aria-haspopup": "true",
73
+ onClick: handleClick
74
+ }, /*#__PURE__*/_react.default.createElement(_fi.FiMoreHorizontal, {
75
+ color: "#44409A"
76
+ })), /*#__PURE__*/_react.default.createElement(_material.Menu, {
77
+ id: "long-menu",
78
+ anchorEl: anchorEl,
79
+ keepMounted: true,
80
+ open: open,
81
+ onClose: handleClose,
82
+ PaperProps: {
83
+ style: {
84
+ maxHeight: ITEM_HEIGHT * 4.5,
85
+ width: "27ch"
86
+ }
87
+ }
88
+ }, options === null || options === void 0 ? void 0 : options.map(function (option, index) {
89
+ return /*#__PURE__*/_react.default.createElement("div", {
90
+ key: option.name
91
+ }, /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
92
+ disabled: option.visibility === false,
93
+ onClick: function onClick() {
94
+ handleMenuItemClick(function () {
95
+ return option === null || option === void 0 ? void 0 : option.onClick(option.name, optionId);
96
+ });
97
+ }
98
+ }, /*#__PURE__*/_react.default.createElement(_material.Grid, {
99
+ container: true,
100
+ alignItems: "center"
101
+ }, /*#__PURE__*/_react.default.createElement("div", null, option.icon && /*#__PURE__*/_react.default.createElement(_material.Box, {
102
+ mr: 1
103
+ }, option.icon)), /*#__PURE__*/_react.default.createElement(_text.default, {
104
+ style: {
105
+ display: "flex",
106
+ flexWrap: "wrap"
107
+ }
108
+ }, option === null || option === void 0 ? void 0 : option.displayName))), option.divider && index < options.length - 1 && /*#__PURE__*/_react.default.createElement(_material.Divider, null));
109
+ }))));
110
+ };
111
+ var _default = OptionMenu;
112
+ exports.default = _default;
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _reactSelect = _interopRequireWildcard(require("react-select"));
11
+ var _material = require("@mui/material");
12
+ var _KeyboardArrowDown = _interopRequireDefault(require("@mui/icons-material/KeyboardArrowDown"));
13
+ var _style = require("./style");
14
+ var _excluded = ["getStyles", "Icon", "isDisabled", "isFocused", "isSelected", "children", "innerProps", "isCheckBox"],
15
+ _excluded2 = ["options", "value", "label", "defaultValue", "isMulti", "isDisabled", "placeholder", "className", "isRequired", "simulateNativeSelect", "onChange", "theme", "error", "helperText", "isBlueTheme", "isLoading", "isCheckBox"];
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
25
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
26
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
29
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
30
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
32
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
+ var DropdownIndicator = function DropdownIndicator(props) {
34
+ return /*#__PURE__*/_react.default.createElement(_reactSelect.components.DropdownIndicator, props, /*#__PURE__*/_react.default.createElement(_KeyboardArrowDown.default, null));
35
+ };
36
+ var InputOption = function InputOption(_ref) {
37
+ var getStyles = _ref.getStyles,
38
+ Icon = _ref.Icon,
39
+ isDisabled = _ref.isDisabled,
40
+ isFocused = _ref.isFocused,
41
+ isSelected = _ref.isSelected,
42
+ children = _ref.children,
43
+ innerProps = _ref.innerProps,
44
+ isCheckBox = _ref.isCheckBox,
45
+ rest = _objectWithoutProperties(_ref, _excluded);
46
+ var _React$useState = _react.default.useState(false),
47
+ _React$useState2 = _slicedToArray(_React$useState, 2),
48
+ isActive = _React$useState2[0],
49
+ setIsActive = _React$useState2[1];
50
+ var onMouseDown = function onMouseDown() {
51
+ return setIsActive(true);
52
+ };
53
+ var onMouseUp = function onMouseUp() {
54
+ return setIsActive(false);
55
+ };
56
+ var onMouseLeave = function onMouseLeave() {
57
+ return setIsActive(false);
58
+ };
59
+
60
+ // styles
61
+ var bg = "transparent";
62
+ if (isFocused) bg = "#eee";
63
+ if (isActive) bg = "#B2D4FF";
64
+ var style = {
65
+ alignItems: "center",
66
+ backgroundColor: bg,
67
+ color: "inherit",
68
+ display: "flex "
69
+ };
70
+
71
+ // prop assignment
72
+ var props = _objectSpread(_objectSpread({}, innerProps), {}, {
73
+ onMouseDown: onMouseDown,
74
+ onMouseUp: onMouseUp,
75
+ onMouseLeave: onMouseLeave,
76
+ style: style
77
+ });
78
+ return /*#__PURE__*/_react.default.createElement(_reactSelect.components.Option, _extends({}, rest, {
79
+ isDisabled: isDisabled,
80
+ isFocused: isFocused,
81
+ isSelected: isSelected,
82
+ getStyles: getStyles,
83
+ innerProps: props
84
+ }), /*#__PURE__*/_react.default.createElement("input", {
85
+ type: "checkbox",
86
+ checked: isSelected
87
+ }), children);
88
+ };
89
+ var ReactSelect = function ReactSelect(_ref2) {
90
+ var options = _ref2.options,
91
+ value = _ref2.value,
92
+ label = _ref2.label,
93
+ defaultValue = _ref2.defaultValue,
94
+ isMulti = _ref2.isMulti,
95
+ isDisabled = _ref2.isDisabled,
96
+ placeholder = _ref2.placeholder,
97
+ className = _ref2.className,
98
+ isRequired = _ref2.isRequired,
99
+ simulateNativeSelect = _ref2.simulateNativeSelect,
100
+ onChange = _ref2.onChange,
101
+ theme = _ref2.theme,
102
+ error = _ref2.error,
103
+ helperText = _ref2.helperText,
104
+ isBlueTheme = _ref2.isBlueTheme,
105
+ isLoading = _ref2.isLoading,
106
+ isCheckBox = _ref2.isCheckBox,
107
+ rest = _objectWithoutProperties(_ref2, _excluded2);
108
+ var classes = (0, _style.useStyles)({
109
+ colorTheme: isBlueTheme
110
+ });
111
+ var handleSelectChange = function handleSelectChange(value) {
112
+ if (simulateNativeSelect) {
113
+ onChange(value.value);
114
+ } else {
115
+ onChange(value);
116
+ }
117
+ };
118
+ var handleChange = function handleChange(options) {
119
+ if (Array.isArray(options)) {
120
+ setSelectedOptions(options.map(function (opt) {
121
+ return opt.value;
122
+ }));
123
+ }
124
+ };
125
+ var _React$useState3 = _react.default.useState([]),
126
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
127
+ selectedOptions = _React$useState4[0],
128
+ setSelectedOptions = _React$useState4[1];
129
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
130
+ style: {
131
+ width: "100%"
132
+ }
133
+ }, label && /*#__PURE__*/_react.default.createElement("div", null, label, isRequired && /*#__PURE__*/_react.default.createElement(_material.Typography, {
134
+ component: "span",
135
+ color: "error"
136
+ }, "*")), isMulti ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactSelect.default, _extends({
137
+ isMulti: true,
138
+ options: options,
139
+ defaultValue: defaultValue && defaultValue.length > 0 ? defaultValue : "",
140
+ styles: (0, _style.getCustomStyles)({
141
+ colorTheme: isBlueTheme,
142
+ error: error
143
+ }),
144
+ isDisabled: isDisabled,
145
+ placeholder: placeholder,
146
+ components: isCheckBox ? {
147
+ DropdownIndicator: DropdownIndicator,
148
+ Option: InputOption
149
+ } : {
150
+ DropdownIndicator: DropdownIndicator
151
+ },
152
+ isLoading: isLoading
153
+ /////isCheckBox
154
+ ,
155
+ closeMenuOnSelect: !isCheckBox ? true : false,
156
+ hideSelectedOptions: !isCheckBox ? true : false,
157
+ onChange: function onChange(options) {
158
+ return isCheckBox && handleChange(options);
159
+ }
160
+ }, rest))) : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactSelect.default, _extends({
161
+ options: options,
162
+ styles: (0, _style.getCustomStyles)({
163
+ colorTheme: isBlueTheme,
164
+ error: error
165
+ }),
166
+ onChange: handleSelectChange,
167
+ defaultValue: options.filter(function (option) {
168
+ return option.value === defaultValue;
169
+ }),
170
+ value: options.filter(function (option) {
171
+ return option.value === value;
172
+ }),
173
+ isMulti: isMulti,
174
+ isDisabled: isDisabled,
175
+ placeholder: placeholder,
176
+ components: {
177
+ DropdownIndicator: DropdownIndicator
178
+ },
179
+ isLoading: isLoading
180
+ }, rest))), helperText && /*#__PURE__*/_react.default.createElement(_material.Typography, {
181
+ style: {
182
+ color: "#be1515"
183
+ }
184
+ }, helperText)));
185
+ };
186
+ ReactSelect.propTypes = {
187
+ value: _propTypes.default.string,
188
+ className: _propTypes.default.string,
189
+ label: _propTypes.default.string,
190
+ defaultValue: _propTypes.default.instanceOf(Object),
191
+ isMulti: _propTypes.default.bool,
192
+ isDisabled: _propTypes.default.bool,
193
+ options: _propTypes.default.instanceOf(Array),
194
+ placeholder: _propTypes.default.string,
195
+ isRequired: _propTypes.default.bool,
196
+ simulateNativeSelect: _propTypes.default.bool,
197
+ onChange: _propTypes.default.func
198
+ };
199
+ ReactSelect.defaultProps = {
200
+ value: {},
201
+ label: "",
202
+ className: "",
203
+ defaultValue: {},
204
+ isMulti: false,
205
+ isDisabled: false,
206
+ options: [],
207
+ placeholder: "",
208
+ isRequired: false,
209
+ simulateNativeSelect: true
210
+ };
211
+ var _default = ReactSelect;
212
+ exports.default = _default;