sbx-crm-menu-ui 2.0.3 → 2.0.5

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.
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { SidebarItemProps } from '../../../types/Common';
3
3
  export declare const iconsPath: Record<string, string>;
4
- declare const SidebarItem: ({ route, isActive, idName, onClick, firstToggle }: SidebarItemProps) => React.JSX.Element | null;
4
+ declare const SidebarItem: ({ route, isActive, idName, onClick, firstToggle, firstExpanded, setFirstExpanded }: SidebarItemProps) => React.JSX.Element | null;
5
5
  export default SidebarItem;
package/dist/index.css CHANGED
@@ -8,6 +8,7 @@
8
8
  width: 320px;
9
9
  height: 100vh;
10
10
  color: white;
11
+ background-color: white;
11
12
  overflow-x: hidden;
12
13
  transition: 0.5s;
13
14
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
@@ -34,7 +35,7 @@
34
35
  }
35
36
 
36
37
  .crm-class-sidebar-content {
37
- padding: 80px 10px;
38
+ padding: 60px 10px 20px 10px;
38
39
  width: 100%;
39
40
  height: 100vh;
40
41
  overflow: auto;
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
2
2
 
3
- var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
3
+ var solidIcons = require('@fortawesome/free-solid-svg-icons');
4
4
  var reactFontawesome = require('@fortawesome/react-fontawesome');
5
5
  var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
- var freeRegularSvgIcons = require('@fortawesome/free-regular-svg-icons');
7
+ var regularIcons = require('@fortawesome/free-regular-svg-icons');
8
8
 
9
9
  function uuidV4() {
10
10
  return ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
@@ -70,7 +70,7 @@ function Dropdown(props) {
70
70
  }, props.startNameWord.toUpperCase()), React__default.createElement("span", {
71
71
  className: "crm-class-ml-15"
72
72
  }, React__default.createElement(reactFontawesome.FontAwesomeIcon, {
73
- icon: isDropdownOpen ? freeSolidSvgIcons.faChevronUp : freeSolidSvgIcons.faChevronDown,
73
+ icon: isDropdownOpen ? solidIcons.faChevronUp : solidIcons.faChevronDown,
74
74
  className: "crm-class-color-icon crm-class-slate-gray"
75
75
  })), isDropdownOpen && React__default.createElement("div", {
76
76
  className: "crm-class-dropdown-content"
@@ -91,11 +91,11 @@ function Dropdown(props) {
91
91
  }, "Options"), React__default.createElement("li", null, React__default.createElement("a", {
92
92
  href: "/en/auth/profile/proposal-profile"
93
93
  }, React__default.createElement(reactFontawesome.FontAwesomeIcon, {
94
- icon: freeSolidSvgIcons.faUser
94
+ icon: solidIcons.faUser
95
95
  }), "My Profile")), React__default.createElement("li", null, React__default.createElement("a", {
96
96
  href: ""
97
97
  }, React__default.createElement(reactFontawesome.FontAwesomeIcon, {
98
- icon: freeSolidSvgIcons.faPowerOff
98
+ icon: solidIcons.faPowerOff
99
99
  }), "Logout"))))));
100
100
  }
101
101
 
@@ -174,7 +174,7 @@ function TopNavBarComponent(props) {
174
174
  alt: "",
175
175
  onClick: (_props$onClickLogo = props.onClickLogo) != null ? _props$onClickLogo : undefined
176
176
  }), React__default.createElement(reactFontawesome.FontAwesomeIcon, {
177
- icon: freeSolidSvgIcons.faBars,
177
+ icon: solidIcons.faBars,
178
178
  color: "#3f6ad8",
179
179
  size: "1x",
180
180
  className: "crm-class-mr-20 crm-class-cursor-pointer",
@@ -225,8 +225,10 @@ var SidebarItem = function SidebarItem(_ref) {
225
225
  var route = _ref.route,
226
226
  isActive = _ref.isActive,
227
227
  idName = _ref.idName,
228
- onClick = _ref.onClick,
229
- firstToggle = _ref.firstToggle;
228
+ _onClick = _ref.onClick,
229
+ firstToggle = _ref.firstToggle,
230
+ firstExpanded = _ref.firstExpanded,
231
+ setFirstExpanded = _ref.setFirstExpanded;
230
232
  var _route$iconName = route.iconName,
231
233
  iconName = _route$iconName === void 0 ? '' : _route$iconName,
232
234
  label = route.label,
@@ -235,9 +237,6 @@ var SidebarItem = function SidebarItem(_ref) {
235
237
  className = route.className,
236
238
  _route$visible = route.visible,
237
239
  visible = _route$visible === void 0 ? true : _route$visible;
238
- var toggleSubMenu = function toggleSubMenu() {
239
- onClick(idName);
240
- };
241
240
  var _React$useState = React__default.useState(null),
242
241
  activeIndex = _React$useState[0],
243
242
  setActiveIndex = _React$useState[1];
@@ -246,18 +245,19 @@ var SidebarItem = function SidebarItem(_ref) {
246
245
  };
247
246
  var icon = React.useMemo(function () {
248
247
  var name = iconsPath[iconName] || iconName;
249
- return require("@fortawesome/free-regular-svg-icons")[name] || require("@fortawesome/free-solid-svg-icons")[name];
248
+ return regularIcons[name] || solidIcons[name];
250
249
  }, []);
251
250
  var firstToggle2 = function firstToggle2(callback) {
252
251
  callback(setActiveIndex);
253
252
  };
254
253
  React.useEffect(function () {
255
254
  firstToggle(function (set) {
256
- if (route.expanded) {
255
+ if (route.expanded && firstExpanded) {
257
256
  set(idName);
257
+ setFirstExpanded(false);
258
258
  }
259
259
  });
260
- }, [route.expanded]);
260
+ }, []);
261
261
  if (!visible) {
262
262
  return null;
263
263
  }
@@ -265,7 +265,7 @@ var SidebarItem = function SidebarItem(_ref) {
265
265
  className: "crm-class-sidebar-li " + (className != null ? className : ''),
266
266
  onClick: function onClick() {
267
267
  var _route$subRoutes2;
268
- toggleSubMenu();
268
+ _onClick(idName);
269
269
  if (!((_route$subRoutes2 = route.subRoutes) !== null && _route$subRoutes2 !== void 0 && _route$subRoutes2.length)) {
270
270
  var _route$action;
271
271
  (_route$action = route.action) === null || _route$action === void 0 ? void 0 : _route$action.call(route);
@@ -283,9 +283,12 @@ var SidebarItem = function SidebarItem(_ref) {
283
283
  }, label), !!subRoutes.length && React__default.createElement("span", {
284
284
  className: 'crm-class-ml-auto'
285
285
  }, React__default.createElement(reactFontawesome.FontAwesomeIcon, {
286
- icon: isActive ? freeSolidSvgIcons.faChevronUp : freeSolidSvgIcons.faChevronDown,
286
+ icon: isActive ? solidIcons.faChevronUp : solidIcons.faChevronDown,
287
287
  className: 'crm-class-color-icon crm-class-font-10 crm-class-slate-gray'
288
- }))), !!subRoutes.length && isActive && React__default.createElement("ul", {
288
+ }))), React__default.createElement("ul", {
289
+ style: {
290
+ display: !!subRoutes.length && isActive ? 'block' : 'none'
291
+ },
289
292
  className: 'crm-class-sidebar-sub-menu-list'
290
293
  }, subRoutes === null || subRoutes === void 0 ? void 0 : subRoutes.map(function (item) {
291
294
  return React__default.createElement(SidebarItem, {
@@ -294,7 +297,9 @@ var SidebarItem = function SidebarItem(_ref) {
294
297
  idName: item.label,
295
298
  isActive: activeIndex === item.label,
296
299
  onClick: toggleMenu2,
297
- firstToggle: firstToggle2
300
+ firstToggle: firstToggle2,
301
+ firstExpanded: firstExpanded,
302
+ setFirstExpanded: setFirstExpanded
298
303
  });
299
304
  })));
300
305
  };
@@ -306,6 +311,9 @@ var SidebarComponent = function SidebarComponent(props) {
306
311
  var _React$useState = React__default.useState(null),
307
312
  activeIndex = _React$useState[0],
308
313
  setActiveIndex = _React$useState[1];
314
+ var _React$useState2 = React__default.useState(true),
315
+ firstExpanded = _React$useState2[0],
316
+ setFirstExpanded = _React$useState2[1];
309
317
  var toggleMenu = function toggleMenu(index) {
310
318
  setActiveIndex(index === activeIndex ? null : index);
311
319
  };
@@ -313,8 +321,11 @@ var SidebarComponent = function SidebarComponent(props) {
313
321
  callback(setActiveIndex);
314
322
  };
315
323
  function iconFa(iconName) {
316
- var name = iconsPath[iconName != null ? iconName : ''];
317
- return require("@fortawesome/free-regular-svg-icons")[name] || require("@fortawesome/free-solid-svg-icons")[name];
324
+ if (iconName === void 0) {
325
+ iconName = '';
326
+ }
327
+ var name = iconsPath[iconName] || iconName;
328
+ return regularIcons[name] || solidIcons[name];
318
329
  }
319
330
  return React__default.createElement("div", {
320
331
  style: {
@@ -352,7 +363,9 @@ var SidebarComponent = function SidebarComponent(props) {
352
363
  idName: route.label,
353
364
  isActive: activeIndex === route.label,
354
365
  onClick: toggleMenu,
355
- firstToggle: firstToggle
366
+ firstToggle: firstToggle,
367
+ firstExpanded: firstExpanded,
368
+ setFirstExpanded: setFirstExpanded
356
369
  });
357
370
  })), React__default.createElement("div", {
358
371
  style: {
@@ -395,8 +408,8 @@ var generateSubMenuData = function generateSubMenuData(labels, callBackPath, rul
395
408
  });
396
409
  };
397
410
  var icons = {
398
- diamond: freeRegularSvgIcons.faGem,
399
- "default": freeRegularSvgIcons.faGem
411
+ diamond: regularIcons.faGem,
412
+ "default": regularIcons.faGem
400
413
  };
401
414
 
402
415
  function _objectWithoutPropertiesLoose(r, e) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils/utils.ts","../src/components/dropdown/Dropdown.tsx","../src/components/contentMenuComponent/UserInfo.tsx","../src/components/contentMenuComponent/LanguageDropdown.tsx","../src/components/menu/TopNavBarComponent/TopNavBarComponent.tsx","../src/components/menu/sidebar/SidebarItem.tsx","../src/components/menu/sidebar/Sidebar.tsx","../src/components/menu/sidebar/subMenuComponent/SubMenuComponent.tsx","../src/provider/TranslateProvider.tsx","../src/hooks/useTranslate.ts"],"sourcesContent":["export function uuidV4() {\n return ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) =>\n (\n ((c ^ crypto.getRandomValues(new Uint8Array(1))[0]) & 15) >>\n (c / 4)\n ).toString(16)\n )\n}\n\nexport const colors = {\n A: '#FF5733',\n B: '#33FF57',\n C: '#5733FF',\n D: '#FF33B8',\n E: '#33B8FF',\n F: '#FFFF33',\n G: '#33FFFF',\n H: '#FF33A6',\n I: '#33A6FF',\n J: '#FF9033',\n K: '#3390FF',\n L: '#FF33F6',\n M: '#33F6FF',\n N: '#C833FF',\n O: '#33FFC8',\n P: '#FFC833',\n Q: '#33FF58',\n R: '#FF5833',\n S: '#58FF33',\n T: '#FF3358',\n U: '#3358FF',\n V: '#FF33D6',\n W: '#33D6FF',\n X: '#FF336A',\n Y: '#336AFF',\n Z: '#FFD633'\n}\n\nexport function getDataFromKey<T>(data: T, key: string): string {\n try {\n let val: any = data\n if (val[key]) return val[key]\n key.split('.').forEach((key) => {\n val = val[key]\n })\n return val as string\n } catch (e) {\n return ''\n }\n}\n","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp, faUser, faPowerOff } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: string, name: string, email: string }) {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false)\n\n const toggleDropdown = () => {\n setIsDropdownOpen(!isDropdownOpen)\n }\n\n return (\n <div className=\"crm-class-dropdown crm-class-mr-20\" onClick={toggleDropdown}>\n <span style={{ background: colors[props.startNameWord.toUpperCase()] }}\n className=\"crm-class-top-nav-bar-avatar\">{props.startNameWord.toUpperCase()}</span>\n <span className=\"crm-class-ml-15\">\n <FontAwesomeIcon\n icon={isDropdownOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-slate-gray\"\n />\n </span>\n {isDropdownOpen && (\n <div className=\"crm-class-dropdown-content\">\n <div className='crm-class-dropdown-header'>\n <div className='crm-class-dropdown-user-bg'>\n </div>\n <div className='crm-class-dropdown-user-content'>\n <p className='crm-class-dropdown-user-name'>{props.name}</p>\n <p className='crm-class-dropdown-user-email'>{props.email}</p>\n </div>\n </div>\n <div className='crm-class-dropdown-options'>\n <ul>\n <li className='crm-class-dropdown-first-option'>Options</li>\n <li>\n <a href=\"/en/auth/profile/proposal-profile\">\n <FontAwesomeIcon\n icon={faUser}\n />\n My Profile\n </a>\n </li>\n <li>\n <a href=\"\">\n <FontAwesomeIcon\n icon={faPowerOff}\n />\n Logout\n </a>\n </li>\n </ul>\n </div>\n </div>\n )}\n </div>\n )\n}\n","import React from 'react'\n\n\ninterface Props {\n email: string;\n name: string;\n}\n\nexport default function UserInfo({ name, email }: Props) {\n return (\n <div className=\"crm-class-top-nav-bar-info-user\">\n <span className=\"crm-class-font-bold\" style={{fontSize: 13}}>{name} </span>\n <span style={{fontSize: 10}}>{email}</span>\n </div>\n )\n}\n","import React, { useState } from 'react'\n\nexport interface Language {\n code: string;\n label: string;\n flag: string;\n}\n\n\nexport default function LanguageDropdown(props: { languages: Language[] }) {\n const [selectedLanguage, setSelectedLanguage] = useState<Language>(\n props.languages[0]\n );\n const [openLanguageDropdown, setOpenLanguageDropdown] = useState(false);\n\n const handleLanguageChange = (language: Language) => {\n setSelectedLanguage(language)\n }\n\n return (\n <div className=\"crm-class-dropdown-flag crm-class-mr-20\">\n <span className=\"crm-class-content-flag\" onClick={() => setOpenLanguageDropdown(!openLanguageDropdown)} >\n <span \n style={{borderRadius: 30}} \n className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n {\n openLanguageDropdown && (\n <div className=\"crm-class-dropdown-menu\">\n <div className=\"crm-class-dropdown-title\">\n Choose Language\n </div>\n <h6 className=\"crm-class-dropdown-header\">Popular Languages</h6>\n {props.languages.map((language) => (\n <button\n key={language.code}\n type=\"button\"\n className={`crm-class-dropdown-item ${language.code === selectedLanguage.code ? 'selected' : ''}`}\n onClick={() => handleLanguageChange(language)}\n >\n <span\n className={` opacity-8 crm-class-flag large crm-class-mr-20 ${language.flag}`}\n ></span>\n {language.code}\n </button>\n ))}\n </div>\n )\n }\n </div>\n )\n}\n","import { faBars } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React from 'react'\nimport Dropdown from '../../dropdown/Dropdown'\nimport UserInfo from '../../contentMenuComponent/UserInfo'\nimport LanguageDropdown, { Language } from '../../contentMenuComponent/LanguageDropdown'\n\ninterface Props {\n languages: Language[];\n onChooseLanguage?: (language: Language) => void;\n user: {\n name: string;\n email: string;\n },\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n logoSrc?: string;\n onClickLogo?: () => void; \n}\n\nexport default function TopNavBarComponent(props: Props) {\n\n\n return (\n <div className=\"crm-class-top-nav-bar\">\n <div className=\"crm-class-flex-container\">\n {\n props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '20px', marginRight: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\n onClick={() => props.setOpenSideBar((prevOpen) => !prevOpen)}\n />\n <div className=\"crm-class-flex-container\">\n {/* <div className=\"crm-class-icon-container crm-class-mr-20\">\n <FontAwesomeIcon\n icon={faSearch}\n color=\"#3f6ad8\"\n className=\"\"\n size=\"1x\"\n />\n </div> */}\n {\n !props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n </div>\n </div>\n <div className=\"crm-class-top-nav-bar-options\">\n {/* */}\n\n <LanguageDropdown languages={props.languages} />\n\n\n <Dropdown startNameWord={props.user.name?.[0]} name={props.user.name} email={props.user.email} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useEffect, useMemo } from 'react'\nimport {\n faChevronDown,\n faChevronUp,\n IconDefinition\n} from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { SidebarItemProps } from '../../../types/Common'\nimport { uuidV4 } from '../../../utils/utils'\n\nexport const iconsPath: Record<string, string> = {\n 'pe-7s-diamond': 'faGem',\n 'pe-7s-piggy': 'faPiggyBank',\n 'pe-7s-helm': 'faShip',\n 'pe-7s-hourglass': 'faHourglass',\n 'pe-7s-safe': 'faWallet',\n 'pe-7s-headphones': 'faHeadphones',\n 'pe-7s-next-2': 'faRectangleList',\n 'pe-7s-cloud-download': 'faCloudDownloadAlt',\n 'pe-7s-news-paper': 'faNewspaper',\n 'pe-7s-upload': 'faUpload',\n 'pe-7s-display1': 'faChartBar',\n 'pe-7s-settings': 'faCog'\n}\n\n\n\nconst SidebarItem = ({ \n route, \n isActive, \n idName,\n onClick,\n firstToggle\n}: \n SidebarItemProps\n) => {\n const {\n iconName = '',\n label,\n subRoutes = [],\n className,\n visible = true\n } = route\n\n // const [isSubMenuOpen, setIsSubMenuOpen] = useState(route.expanded || false)\n\n const toggleSubMenu = () => {\n // setIsSubMenuOpen((prevState) => !prevState)\n onClick(idName);\n }\n\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n\n const toggleMenu2 = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n return (\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-regular-svg-icons`)[name] ||\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-solid-svg-icons`)[name]\n )\n }, [])\n\n const firstToggle2 = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n useEffect(() => {\n firstToggle((set) => {\n if(route.expanded) {\n set(idName);\n }\n });\n }, [route.expanded]);\n \n\n if (!visible) {\n return null\n }\n\n return (\n <React.Fragment>\n <li\n className={`crm-class-sidebar-li ${className ?? ''}`}\n onClick={() => {\n toggleSubMenu()\n if (!route.subRoutes?.length) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className='crm-class-mr-10'>\n <FontAwesomeIcon icon={icon} />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n style={isActive ? {fontWeight: '700'} : {}}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >\n {label}\n </span>\n\n {!!subRoutes.length && (\n <span className='crm-class-ml-auto'>\n <FontAwesomeIcon\n icon={isActive ? faChevronUp : faChevronDown}\n className='crm-class-color-icon crm-class-font-10 crm-class-slate-gray'\n />\n </span>\n )}\n </li>\n {!!subRoutes.length && isActive && (\n <ul className='crm-class-sidebar-sub-menu-list'>\n {subRoutes?.map((item) => (\n <SidebarItem \n key={uuidV4()} \n route={item} \n idName={item.label} \n isActive={activeIndex === item.label}\n onClick={toggleMenu2} \n firstToggle={firstToggle2}\n />\n ))}\n </ul>\n )}\n </React.Fragment>\n )\n}\n\nexport default SidebarItem\n","// import { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { Route } from '../../../types/Common'\nimport SidebarItem, { iconsPath } from './SidebarItem'\nimport React from 'react'\n\nconst SidebarComponent = (props: {\n routes: Route[],\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n children: React.ReactNode\n}) => {\n const { routes, openSideBar, setOpenSideBar } = props;\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n\n const toggleMenu = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const firstToggle = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n function iconFa (iconName: string | undefined) {\n const name = iconsPath[iconName ?? '']\n return (\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-regular-svg-icons`)[name] ||\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-solid-svg-icons`)[name]\n )\n }\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={!openSideBar ? { width: '80px'} : {}} \n className='crm-class-sidebar' \n onMouseOver={() => setOpenSideBar(true)}\n onMouseOut={() => setOpenSideBar(false)}\n >\n <ul className={ openSideBar ? `crm-class-sidebar-list` : `crm-class-sidebar-icons-content`}>\n\n {\n openSideBar\n ? <span className='crm-class-title'>MENU</span>\n : <div style={{backgroundColor: '#e0f3ff', height: '2px', borderRadius: '15px'}}></div>\n }\n\n <div style={{ display: openSideBar ? 'block' : 'none'}}>\n {\n routes.map((route, index) => (\n <SidebarItem \n key={`route_${index}`} \n route={route} \n idName={route.label} \n isActive={activeIndex === route.label}\n onClick={toggleMenu} \n firstToggle={firstToggle} \n />\n ))\n }\n </div>\n\n <div style={{ display: !openSideBar ? 'block' : 'none'}}>\n {/* <ul className='crm-class-sidebar-icons-content'> */}\n {\n routes.map((route, index) => {\n const icon = iconFa(route.iconName);\n\n if(icon) {\n return (\n <li key={`route_${index}`} style={index === 0 ? {marginTop: 10} : {}}>\n <span>\n <FontAwesomeIcon style={{fontSize: 13, color: '#cacaca'}} icon={icon} />\n </span>\n </li>\n )\n }\n\n return <React.Fragment></React.Fragment>;\n })\n }\n {/* </ul> */}\n </div>\n </ul>\n </div>\n <div className='crm-class-sidebar-content'>{props.children}</div>\n </div>\n )\n}\nexport default SidebarComponent\n","import { faGem } from '@fortawesome/free-regular-svg-icons'\nimport { Route } from '../../../../types/Common'\nimport { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n\ninterface View {\n path: string\n name: string\n root: string\n permission: string | string[]\n views?: View[]\n}\n\nexport const generateSubMenuData = (\n labels: View[],\n callBackPath: (v: View) => void,\n ruleSelection?: (v: View) => boolean\n): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label),\n path: label.path,\n selected: ruleSelection?.(label) || false,\n subRoutes: generateSubMenuData(\n label.views || [],\n callBackPath,\n ruleSelection\n )\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n","import React from 'react'\n\ninterface TranslateProviderProps<Config> {\n children: React.ReactNode\n locale: string\n translations: Config\n}\n\nexport const TranslateContext = React.createContext<{\n locale: string\n translations: Record<string, Record<string, string>>\n}>({\n locale: '',\n translations: {}\n})\n\nexport default function TranslateProvider<Config>(\n props: TranslateProviderProps<Config>\n) {\n const { children, ...value } = props\n\n return (\n <TranslateContext.Provider value={value as any}>\n {children}\n </TranslateContext.Provider>\n )\n}\n","import { useCallback, useContext } from 'react'\nimport { TranslateContext } from '../provider/TranslateProvider'\nimport { getDataFromKey } from '../utils/utils'\n\nconst useTranslate = (module: string) => {\n const { translations: language, locale } = useContext(TranslateContext)\n\n const t = useCallback(\n (field = ''): string => {\n return getDataFromKey(language[locale][module], field)\n },\n [language, locale]\n )\n return { t }\n}\n\nexport default useTranslate\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","getDataFromKey","data","key","val","split","forEach","e","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","name","email","href","faUser","faPowerOff","UserInfo","_ref","fontSize","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","_useState2","openLanguageDropdown","setOpenLanguageDropdown","handleLanguageChange","language","borderRadius","flag","map","code","type","TopNavBarComponent","openSideBar","src","_props$logoSrc","logoSrc","height","marginRight","onClickLogo","alt","_props$onClickLogo","undefined","faBars","color","size","setOpenSideBar","prevOpen","_props$logoSrc2","_props$onClickLogo2","_props$user$name","user","iconsPath","SidebarItem","route","isActive","idName","firstToggle","_route$iconName","iconName","label","_route$subRoutes","subRoutes","_route$visible","visible","toggleSubMenu","_React$useState","activeIndex","setActiveIndex","toggleMenu2","index","useMemo","require","firstToggle2","callback","useEffect","set","expanded","Fragment","_route$subRoutes2","length","_route$action","action","call","fontWeight","selected","item","SidebarComponent","routes","toggleMenu","iconFa","display","width","onMouseOver","onMouseOut","backgroundColor","marginTop","children","generateSubMenuData","labels","callBackPath","ruleSelection","path","views","icons","diamond","faGem","TranslateContext","createContext","locale","translations","TranslateProvider","value","_objectWithoutPropertiesLoose","_excluded","Provider","useTranslate","module","_useContext","useContext","t","useCallback","field"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/utils.ts","../src/components/dropdown/Dropdown.tsx","../src/components/contentMenuComponent/UserInfo.tsx","../src/components/contentMenuComponent/LanguageDropdown.tsx","../src/components/menu/TopNavBarComponent/TopNavBarComponent.tsx","../src/components/menu/sidebar/SidebarItem.tsx","../src/components/menu/sidebar/Sidebar.tsx","../src/components/menu/sidebar/subMenuComponent/SubMenuComponent.tsx","../src/provider/TranslateProvider.tsx","../src/hooks/useTranslate.ts"],"sourcesContent":["export function uuidV4() {\n return ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) =>\n (\n ((c ^ crypto.getRandomValues(new Uint8Array(1))[0]) & 15) >>\n (c / 4)\n ).toString(16)\n )\n}\n\nexport const colors = {\n A: '#FF5733',\n B: '#33FF57',\n C: '#5733FF',\n D: '#FF33B8',\n E: '#33B8FF',\n F: '#FFFF33',\n G: '#33FFFF',\n H: '#FF33A6',\n I: '#33A6FF',\n J: '#FF9033',\n K: '#3390FF',\n L: '#FF33F6',\n M: '#33F6FF',\n N: '#C833FF',\n O: '#33FFC8',\n P: '#FFC833',\n Q: '#33FF58',\n R: '#FF5833',\n S: '#58FF33',\n T: '#FF3358',\n U: '#3358FF',\n V: '#FF33D6',\n W: '#33D6FF',\n X: '#FF336A',\n Y: '#336AFF',\n Z: '#FFD633'\n}\n\nexport function getDataFromKey<T>(data: T, key: string): string {\n try {\n let val: any = data\n if (val[key]) return val[key]\n key.split('.').forEach((key) => {\n val = val[key]\n })\n return val as string\n } catch (e) {\n return ''\n }\n}\n","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp, faUser, faPowerOff } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: string, name: string, email: string }) {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false)\n\n const toggleDropdown = () => {\n setIsDropdownOpen(!isDropdownOpen)\n }\n\n return (\n <div className=\"crm-class-dropdown crm-class-mr-20\" onClick={toggleDropdown}>\n <span style={{ background: colors[props.startNameWord.toUpperCase()] }}\n className=\"crm-class-top-nav-bar-avatar\">{props.startNameWord.toUpperCase()}</span>\n <span className=\"crm-class-ml-15\">\n <FontAwesomeIcon\n icon={isDropdownOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-slate-gray\"\n />\n </span>\n {isDropdownOpen && (\n <div className=\"crm-class-dropdown-content\">\n <div className='crm-class-dropdown-header'>\n <div className='crm-class-dropdown-user-bg'>\n </div>\n <div className='crm-class-dropdown-user-content'>\n <p className='crm-class-dropdown-user-name'>{props.name}</p>\n <p className='crm-class-dropdown-user-email'>{props.email}</p>\n </div>\n </div>\n <div className='crm-class-dropdown-options'>\n <ul>\n <li className='crm-class-dropdown-first-option'>Options</li>\n <li>\n <a href=\"/en/auth/profile/proposal-profile\">\n <FontAwesomeIcon\n icon={faUser}\n />\n My Profile\n </a>\n </li>\n <li>\n <a href=\"\">\n <FontAwesomeIcon\n icon={faPowerOff}\n />\n Logout\n </a>\n </li>\n </ul>\n </div>\n </div>\n )}\n </div>\n )\n}\n","import React from 'react'\n\n\ninterface Props {\n email: string;\n name: string;\n}\n\nexport default function UserInfo({ name, email }: Props) {\n return (\n <div className=\"crm-class-top-nav-bar-info-user\">\n <span className=\"crm-class-font-bold\" style={{fontSize: 13}}>{name} </span>\n <span style={{fontSize: 10}}>{email}</span>\n </div>\n )\n}\n","import React, { useState } from 'react'\n\nexport interface Language {\n code: string;\n label: string;\n flag: string;\n}\n\n\nexport default function LanguageDropdown(props: { languages: Language[] }) {\n const [selectedLanguage, setSelectedLanguage] = useState<Language>(\n props.languages[0]\n );\n const [openLanguageDropdown, setOpenLanguageDropdown] = useState(false);\n\n const handleLanguageChange = (language: Language) => {\n setSelectedLanguage(language)\n }\n\n return (\n <div className=\"crm-class-dropdown-flag crm-class-mr-20\">\n <span className=\"crm-class-content-flag\" onClick={() => setOpenLanguageDropdown(!openLanguageDropdown)} >\n <span \n style={{borderRadius: 30}} \n className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n {\n openLanguageDropdown && (\n <div className=\"crm-class-dropdown-menu\">\n <div className=\"crm-class-dropdown-title\">\n Choose Language\n </div>\n <h6 className=\"crm-class-dropdown-header\">Popular Languages</h6>\n {props.languages.map((language) => (\n <button\n key={language.code}\n type=\"button\"\n className={`crm-class-dropdown-item ${language.code === selectedLanguage.code ? 'selected' : ''}`}\n onClick={() => handleLanguageChange(language)}\n >\n <span\n className={` opacity-8 crm-class-flag large crm-class-mr-20 ${language.flag}`}\n ></span>\n {language.code}\n </button>\n ))}\n </div>\n )\n }\n </div>\n )\n}\n","import { faBars } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React from 'react'\nimport Dropdown from '../../dropdown/Dropdown'\nimport UserInfo from '../../contentMenuComponent/UserInfo'\nimport LanguageDropdown, { Language } from '../../contentMenuComponent/LanguageDropdown'\n\ninterface Props {\n languages: Language[];\n onChooseLanguage?: (language: Language) => void;\n user: {\n name: string;\n email: string;\n },\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n logoSrc?: string;\n onClickLogo?: () => void; \n}\n\nexport default function TopNavBarComponent(props: Props) {\n\n\n return (\n <div className=\"crm-class-top-nav-bar\">\n <div className=\"crm-class-flex-container\">\n {\n props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '20px', marginRight: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\n onClick={() => props.setOpenSideBar((prevOpen) => !prevOpen)}\n />\n <div className=\"crm-class-flex-container\">\n {/* <div className=\"crm-class-icon-container crm-class-mr-20\">\n <FontAwesomeIcon\n icon={faSearch}\n color=\"#3f6ad8\"\n className=\"\"\n size=\"1x\"\n />\n </div> */}\n {\n !props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n </div>\n </div>\n <div className=\"crm-class-top-nav-bar-options\">\n {/* */}\n\n <LanguageDropdown languages={props.languages} />\n\n\n <Dropdown startNameWord={props.user.name?.[0]} name={props.user.name} email={props.user.email} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useEffect, useMemo } from 'react'\nimport {\n faChevronDown,\n faChevronUp,\n IconDefinition\n} from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { SidebarItemProps } from '../../../types/Common'\nimport { uuidV4 } from '../../../utils/utils'\nimport * as regularIcons from '@fortawesome/free-regular-svg-icons'\nimport * as solidIcons from '@fortawesome/free-solid-svg-icons'\n\nexport const iconsPath: Record<string, string> = {\n 'pe-7s-diamond': 'faGem',\n 'pe-7s-piggy': 'faPiggyBank',\n 'pe-7s-helm': 'faShip',\n 'pe-7s-hourglass': 'faHourglass',\n 'pe-7s-safe': 'faWallet',\n 'pe-7s-headphones': 'faHeadphones',\n 'pe-7s-next-2': 'faRectangleList',\n 'pe-7s-cloud-download': 'faCloudDownloadAlt',\n 'pe-7s-news-paper': 'faNewspaper',\n 'pe-7s-upload': 'faUpload',\n 'pe-7s-display1': 'faChartBar',\n 'pe-7s-settings': 'faCog'\n}\n\nconst SidebarItem = ({ \n route, \n isActive, \n idName,\n onClick,\n firstToggle,\n firstExpanded,\n setFirstExpanded\n}: \n SidebarItemProps\n) => {\n const {\n iconName = '',\n label,\n subRoutes = [],\n className,\n visible = true\n } = route\n\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n\n const toggleMenu2 = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n return (\n (regularIcons as any)[name] ||\n (solidIcons as any)[name]\n )\n }, [])\n\n const firstToggle2 = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n useEffect(() => {\n firstToggle((set) => {\n if(route.expanded && firstExpanded) {\n set(idName);\n setFirstExpanded(false);\n }\n });\n\n }, []);\n \n\n if (!visible) {\n return null\n }\n\n return (\n <React.Fragment>\n <li\n className={`crm-class-sidebar-li ${className ?? ''}`}\n onClick={() => {\n onClick(idName);\n if (!route.subRoutes?.length) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className='crm-class-mr-10'>\n <FontAwesomeIcon icon={icon} />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n style={isActive ? {fontWeight: '700'} : {}}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >\n {label}\n </span>\n\n {!!subRoutes.length && (\n <span className='crm-class-ml-auto'>\n <FontAwesomeIcon\n icon={isActive ? faChevronUp : faChevronDown}\n className='crm-class-color-icon crm-class-font-10 crm-class-slate-gray'\n />\n </span>\n )}\n </li>\n \n <ul style={{display: !!subRoutes.length && isActive ? 'block' : 'none'}} className='crm-class-sidebar-sub-menu-list'>\n {subRoutes?.map((item) => (\n <SidebarItem \n key={uuidV4()} \n route={item} \n idName={item.label} \n isActive={activeIndex === item.label}\n onClick={toggleMenu2} \n firstToggle={firstToggle2}\n firstExpanded={firstExpanded}\n setFirstExpanded={setFirstExpanded}\n />\n ))}\n </ul>\n \n </React.Fragment>\n )\n}\n\nexport default SidebarItem\n","// import { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { Route } from '../../../types/Common'\nimport SidebarItem, { iconsPath } from './SidebarItem'\nimport React from 'react'\nimport * as regularIcons from '@fortawesome/free-regular-svg-icons'\nimport * as solidIcons from '@fortawesome/free-solid-svg-icons'\n\nconst SidebarComponent = (props: {\n routes: Route[],\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n children: React.ReactNode\n}) => {\n const { routes, openSideBar, setOpenSideBar } = props;\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n const [firstExpanded, setFirstExpanded] = React.useState<boolean>(true);\n\n const toggleMenu = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const firstToggle = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n function iconFa (iconName: string = '') {\n const name = iconsPath[iconName] || iconName\n return (\n (regularIcons as any)[name] ||\n (solidIcons as any)[name]\n )\n }\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={!openSideBar ? { width: '80px'} : {}} \n className='crm-class-sidebar' \n onMouseOver={() => setOpenSideBar(true)}\n onMouseOut={() => setOpenSideBar(false)}\n >\n <ul className={ openSideBar ? `crm-class-sidebar-list` : `crm-class-sidebar-icons-content`}>\n\n {\n openSideBar\n ? <span className='crm-class-title'>MENU</span>\n : <div style={{backgroundColor: '#e0f3ff', height: '2px', borderRadius: '15px'}}></div>\n }\n\n <div style={{ display: openSideBar ? 'block' : 'none'}}>\n {\n routes.map((route, index) => (\n <SidebarItem \n key={`route_${index}`} \n route={route} \n idName={route.label} \n isActive={activeIndex === route.label}\n onClick={toggleMenu} \n firstToggle={firstToggle} \n firstExpanded={firstExpanded}\n setFirstExpanded={setFirstExpanded}\n />\n ))\n }\n </div>\n\n <div style={{ display: !openSideBar ? 'block' : 'none'}}>\n {/* <ul className='crm-class-sidebar-icons-content'> */}\n {\n routes.map((route, index) => {\n const icon = iconFa(route.iconName);\n\n if(icon) {\n return (\n <li key={`route_${index}`} style={index === 0 ? {marginTop: 10} : {}}>\n <span>\n <FontAwesomeIcon style={{fontSize: 13, color: '#cacaca'}} icon={icon} />\n </span>\n </li>\n )\n }\n\n return <React.Fragment></React.Fragment>;\n })\n }\n {/* </ul> */}\n </div>\n </ul>\n </div>\n <div className='crm-class-sidebar-content'>{props.children}</div>\n </div>\n )\n}\nexport default SidebarComponent\n","import { faGem } from '@fortawesome/free-regular-svg-icons'\nimport { Route } from '../../../../types/Common'\nimport { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n\ninterface View {\n path: string\n name: string\n root: string\n permission: string | string[]\n views?: View[]\n}\n\nexport const generateSubMenuData = (\n labels: View[],\n callBackPath: (v: View) => void,\n ruleSelection?: (v: View) => boolean\n): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label),\n path: label.path,\n selected: ruleSelection?.(label) || false,\n subRoutes: generateSubMenuData(\n label.views || [],\n callBackPath,\n ruleSelection\n )\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n","import React from 'react'\n\ninterface TranslateProviderProps<Config> {\n children: React.ReactNode\n locale: string\n translations: Config\n}\n\nexport const TranslateContext = React.createContext<{\n locale: string\n translations: Record<string, Record<string, string>>\n}>({\n locale: '',\n translations: {}\n})\n\nexport default function TranslateProvider<Config>(\n props: TranslateProviderProps<Config>\n) {\n const { children, ...value } = props\n\n return (\n <TranslateContext.Provider value={value as any}>\n {children}\n </TranslateContext.Provider>\n )\n}\n","import { useCallback, useContext } from 'react'\nimport { TranslateContext } from '../provider/TranslateProvider'\nimport { getDataFromKey } from '../utils/utils'\n\nconst useTranslate = (module: string) => {\n const { translations: language, locale } = useContext(TranslateContext)\n\n const t = useCallback(\n (field = ''): string => {\n return getDataFromKey(language[locale][module], field)\n },\n [language, locale]\n )\n return { t }\n}\n\nexport default useTranslate\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","getDataFromKey","data","key","val","split","forEach","e","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","name","email","href","faUser","faPowerOff","UserInfo","_ref","fontSize","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","_useState2","openLanguageDropdown","setOpenLanguageDropdown","handleLanguageChange","language","borderRadius","flag","map","code","type","TopNavBarComponent","openSideBar","src","_props$logoSrc","logoSrc","height","marginRight","onClickLogo","alt","_props$onClickLogo","undefined","faBars","color","size","setOpenSideBar","prevOpen","_props$logoSrc2","_props$onClickLogo2","_props$user$name","user","iconsPath","SidebarItem","route","isActive","idName","firstToggle","firstExpanded","setFirstExpanded","_route$iconName","iconName","label","_route$subRoutes","subRoutes","_route$visible","visible","_React$useState","activeIndex","setActiveIndex","toggleMenu2","index","useMemo","regularIcons","solidIcons","firstToggle2","callback","useEffect","set","expanded","Fragment","_route$subRoutes2","length","_route$action","action","call","fontWeight","selected","display","item","SidebarComponent","routes","_React$useState2","toggleMenu","iconFa","width","onMouseOver","onMouseOut","backgroundColor","marginTop","children","generateSubMenuData","labels","callBackPath","ruleSelection","path","views","icons","diamond","faGem","TranslateContext","createContext","locale","translations","TranslateProvider","value","_objectWithoutPropertiesLoose","_excluded","Provider","useTranslate","module","_useContext","useContext","t","useCallback","field"],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import * as solidIcons from '@fortawesome/free-solid-svg-icons';
1
2
  import { faChevronUp, faChevronDown, faUser, faPowerOff, faBars } from '@fortawesome/free-solid-svg-icons';
2
3
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
4
  import React, { useState, useMemo, useEffect, useContext, useCallback } from 'react';
5
+ import * as regularIcons from '@fortawesome/free-regular-svg-icons';
4
6
  import { faGem } from '@fortawesome/free-regular-svg-icons';
5
7
 
6
8
  function uuidV4() {
@@ -222,8 +224,10 @@ var SidebarItem = function SidebarItem(_ref) {
222
224
  var route = _ref.route,
223
225
  isActive = _ref.isActive,
224
226
  idName = _ref.idName,
225
- onClick = _ref.onClick,
226
- firstToggle = _ref.firstToggle;
227
+ _onClick = _ref.onClick,
228
+ firstToggle = _ref.firstToggle,
229
+ firstExpanded = _ref.firstExpanded,
230
+ setFirstExpanded = _ref.setFirstExpanded;
227
231
  var _route$iconName = route.iconName,
228
232
  iconName = _route$iconName === void 0 ? '' : _route$iconName,
229
233
  label = route.label,
@@ -232,9 +236,6 @@ var SidebarItem = function SidebarItem(_ref) {
232
236
  className = route.className,
233
237
  _route$visible = route.visible,
234
238
  visible = _route$visible === void 0 ? true : _route$visible;
235
- var toggleSubMenu = function toggleSubMenu() {
236
- onClick(idName);
237
- };
238
239
  var _React$useState = React.useState(null),
239
240
  activeIndex = _React$useState[0],
240
241
  setActiveIndex = _React$useState[1];
@@ -243,18 +244,19 @@ var SidebarItem = function SidebarItem(_ref) {
243
244
  };
244
245
  var icon = useMemo(function () {
245
246
  var name = iconsPath[iconName] || iconName;
246
- return require("@fortawesome/free-regular-svg-icons")[name] || require("@fortawesome/free-solid-svg-icons")[name];
247
+ return regularIcons[name] || solidIcons[name];
247
248
  }, []);
248
249
  var firstToggle2 = function firstToggle2(callback) {
249
250
  callback(setActiveIndex);
250
251
  };
251
252
  useEffect(function () {
252
253
  firstToggle(function (set) {
253
- if (route.expanded) {
254
+ if (route.expanded && firstExpanded) {
254
255
  set(idName);
256
+ setFirstExpanded(false);
255
257
  }
256
258
  });
257
- }, [route.expanded]);
259
+ }, []);
258
260
  if (!visible) {
259
261
  return null;
260
262
  }
@@ -262,7 +264,7 @@ var SidebarItem = function SidebarItem(_ref) {
262
264
  className: "crm-class-sidebar-li " + (className != null ? className : ''),
263
265
  onClick: function onClick() {
264
266
  var _route$subRoutes2;
265
- toggleSubMenu();
267
+ _onClick(idName);
266
268
  if (!((_route$subRoutes2 = route.subRoutes) !== null && _route$subRoutes2 !== void 0 && _route$subRoutes2.length)) {
267
269
  var _route$action;
268
270
  (_route$action = route.action) === null || _route$action === void 0 ? void 0 : _route$action.call(route);
@@ -282,7 +284,10 @@ var SidebarItem = function SidebarItem(_ref) {
282
284
  }, React.createElement(FontAwesomeIcon, {
283
285
  icon: isActive ? faChevronUp : faChevronDown,
284
286
  className: 'crm-class-color-icon crm-class-font-10 crm-class-slate-gray'
285
- }))), !!subRoutes.length && isActive && React.createElement("ul", {
287
+ }))), React.createElement("ul", {
288
+ style: {
289
+ display: !!subRoutes.length && isActive ? 'block' : 'none'
290
+ },
286
291
  className: 'crm-class-sidebar-sub-menu-list'
287
292
  }, subRoutes === null || subRoutes === void 0 ? void 0 : subRoutes.map(function (item) {
288
293
  return React.createElement(SidebarItem, {
@@ -291,7 +296,9 @@ var SidebarItem = function SidebarItem(_ref) {
291
296
  idName: item.label,
292
297
  isActive: activeIndex === item.label,
293
298
  onClick: toggleMenu2,
294
- firstToggle: firstToggle2
299
+ firstToggle: firstToggle2,
300
+ firstExpanded: firstExpanded,
301
+ setFirstExpanded: setFirstExpanded
295
302
  });
296
303
  })));
297
304
  };
@@ -303,6 +310,9 @@ var SidebarComponent = function SidebarComponent(props) {
303
310
  var _React$useState = React.useState(null),
304
311
  activeIndex = _React$useState[0],
305
312
  setActiveIndex = _React$useState[1];
313
+ var _React$useState2 = React.useState(true),
314
+ firstExpanded = _React$useState2[0],
315
+ setFirstExpanded = _React$useState2[1];
306
316
  var toggleMenu = function toggleMenu(index) {
307
317
  setActiveIndex(index === activeIndex ? null : index);
308
318
  };
@@ -310,8 +320,11 @@ var SidebarComponent = function SidebarComponent(props) {
310
320
  callback(setActiveIndex);
311
321
  };
312
322
  function iconFa(iconName) {
313
- var name = iconsPath[iconName != null ? iconName : ''];
314
- return require("@fortawesome/free-regular-svg-icons")[name] || require("@fortawesome/free-solid-svg-icons")[name];
323
+ if (iconName === void 0) {
324
+ iconName = '';
325
+ }
326
+ var name = iconsPath[iconName] || iconName;
327
+ return regularIcons[name] || solidIcons[name];
315
328
  }
316
329
  return React.createElement("div", {
317
330
  style: {
@@ -349,7 +362,9 @@ var SidebarComponent = function SidebarComponent(props) {
349
362
  idName: route.label,
350
363
  isActive: activeIndex === route.label,
351
364
  onClick: toggleMenu,
352
- firstToggle: firstToggle
365
+ firstToggle: firstToggle,
366
+ firstExpanded: firstExpanded,
367
+ setFirstExpanded: setFirstExpanded
353
368
  });
354
369
  })), React.createElement("div", {
355
370
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/utils/utils.ts","../src/components/dropdown/Dropdown.tsx","../src/components/contentMenuComponent/UserInfo.tsx","../src/components/contentMenuComponent/LanguageDropdown.tsx","../src/components/menu/TopNavBarComponent/TopNavBarComponent.tsx","../src/components/menu/sidebar/SidebarItem.tsx","../src/components/menu/sidebar/Sidebar.tsx","../src/components/menu/sidebar/subMenuComponent/SubMenuComponent.tsx","../src/provider/TranslateProvider.tsx","../src/hooks/useTranslate.ts"],"sourcesContent":["export function uuidV4() {\n return ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) =>\n (\n ((c ^ crypto.getRandomValues(new Uint8Array(1))[0]) & 15) >>\n (c / 4)\n ).toString(16)\n )\n}\n\nexport const colors = {\n A: '#FF5733',\n B: '#33FF57',\n C: '#5733FF',\n D: '#FF33B8',\n E: '#33B8FF',\n F: '#FFFF33',\n G: '#33FFFF',\n H: '#FF33A6',\n I: '#33A6FF',\n J: '#FF9033',\n K: '#3390FF',\n L: '#FF33F6',\n M: '#33F6FF',\n N: '#C833FF',\n O: '#33FFC8',\n P: '#FFC833',\n Q: '#33FF58',\n R: '#FF5833',\n S: '#58FF33',\n T: '#FF3358',\n U: '#3358FF',\n V: '#FF33D6',\n W: '#33D6FF',\n X: '#FF336A',\n Y: '#336AFF',\n Z: '#FFD633'\n}\n\nexport function getDataFromKey<T>(data: T, key: string): string {\n try {\n let val: any = data\n if (val[key]) return val[key]\n key.split('.').forEach((key) => {\n val = val[key]\n })\n return val as string\n } catch (e) {\n return ''\n }\n}\n","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp, faUser, faPowerOff } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: string, name: string, email: string }) {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false)\n\n const toggleDropdown = () => {\n setIsDropdownOpen(!isDropdownOpen)\n }\n\n return (\n <div className=\"crm-class-dropdown crm-class-mr-20\" onClick={toggleDropdown}>\n <span style={{ background: colors[props.startNameWord.toUpperCase()] }}\n className=\"crm-class-top-nav-bar-avatar\">{props.startNameWord.toUpperCase()}</span>\n <span className=\"crm-class-ml-15\">\n <FontAwesomeIcon\n icon={isDropdownOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-slate-gray\"\n />\n </span>\n {isDropdownOpen && (\n <div className=\"crm-class-dropdown-content\">\n <div className='crm-class-dropdown-header'>\n <div className='crm-class-dropdown-user-bg'>\n </div>\n <div className='crm-class-dropdown-user-content'>\n <p className='crm-class-dropdown-user-name'>{props.name}</p>\n <p className='crm-class-dropdown-user-email'>{props.email}</p>\n </div>\n </div>\n <div className='crm-class-dropdown-options'>\n <ul>\n <li className='crm-class-dropdown-first-option'>Options</li>\n <li>\n <a href=\"/en/auth/profile/proposal-profile\">\n <FontAwesomeIcon\n icon={faUser}\n />\n My Profile\n </a>\n </li>\n <li>\n <a href=\"\">\n <FontAwesomeIcon\n icon={faPowerOff}\n />\n Logout\n </a>\n </li>\n </ul>\n </div>\n </div>\n )}\n </div>\n )\n}\n","import React from 'react'\n\n\ninterface Props {\n email: string;\n name: string;\n}\n\nexport default function UserInfo({ name, email }: Props) {\n return (\n <div className=\"crm-class-top-nav-bar-info-user\">\n <span className=\"crm-class-font-bold\" style={{fontSize: 13}}>{name} </span>\n <span style={{fontSize: 10}}>{email}</span>\n </div>\n )\n}\n","import React, { useState } from 'react'\n\nexport interface Language {\n code: string;\n label: string;\n flag: string;\n}\n\n\nexport default function LanguageDropdown(props: { languages: Language[] }) {\n const [selectedLanguage, setSelectedLanguage] = useState<Language>(\n props.languages[0]\n );\n const [openLanguageDropdown, setOpenLanguageDropdown] = useState(false);\n\n const handleLanguageChange = (language: Language) => {\n setSelectedLanguage(language)\n }\n\n return (\n <div className=\"crm-class-dropdown-flag crm-class-mr-20\">\n <span className=\"crm-class-content-flag\" onClick={() => setOpenLanguageDropdown(!openLanguageDropdown)} >\n <span \n style={{borderRadius: 30}} \n className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n {\n openLanguageDropdown && (\n <div className=\"crm-class-dropdown-menu\">\n <div className=\"crm-class-dropdown-title\">\n Choose Language\n </div>\n <h6 className=\"crm-class-dropdown-header\">Popular Languages</h6>\n {props.languages.map((language) => (\n <button\n key={language.code}\n type=\"button\"\n className={`crm-class-dropdown-item ${language.code === selectedLanguage.code ? 'selected' : ''}`}\n onClick={() => handleLanguageChange(language)}\n >\n <span\n className={` opacity-8 crm-class-flag large crm-class-mr-20 ${language.flag}`}\n ></span>\n {language.code}\n </button>\n ))}\n </div>\n )\n }\n </div>\n )\n}\n","import { faBars } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React from 'react'\nimport Dropdown from '../../dropdown/Dropdown'\nimport UserInfo from '../../contentMenuComponent/UserInfo'\nimport LanguageDropdown, { Language } from '../../contentMenuComponent/LanguageDropdown'\n\ninterface Props {\n languages: Language[];\n onChooseLanguage?: (language: Language) => void;\n user: {\n name: string;\n email: string;\n },\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n logoSrc?: string;\n onClickLogo?: () => void; \n}\n\nexport default function TopNavBarComponent(props: Props) {\n\n\n return (\n <div className=\"crm-class-top-nav-bar\">\n <div className=\"crm-class-flex-container\">\n {\n props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '20px', marginRight: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\n onClick={() => props.setOpenSideBar((prevOpen) => !prevOpen)}\n />\n <div className=\"crm-class-flex-container\">\n {/* <div className=\"crm-class-icon-container crm-class-mr-20\">\n <FontAwesomeIcon\n icon={faSearch}\n color=\"#3f6ad8\"\n className=\"\"\n size=\"1x\"\n />\n </div> */}\n {\n !props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n </div>\n </div>\n <div className=\"crm-class-top-nav-bar-options\">\n {/* */}\n\n <LanguageDropdown languages={props.languages} />\n\n\n <Dropdown startNameWord={props.user.name?.[0]} name={props.user.name} email={props.user.email} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useEffect, useMemo } from 'react'\nimport {\n faChevronDown,\n faChevronUp,\n IconDefinition\n} from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { SidebarItemProps } from '../../../types/Common'\nimport { uuidV4 } from '../../../utils/utils'\n\nexport const iconsPath: Record<string, string> = {\n 'pe-7s-diamond': 'faGem',\n 'pe-7s-piggy': 'faPiggyBank',\n 'pe-7s-helm': 'faShip',\n 'pe-7s-hourglass': 'faHourglass',\n 'pe-7s-safe': 'faWallet',\n 'pe-7s-headphones': 'faHeadphones',\n 'pe-7s-next-2': 'faRectangleList',\n 'pe-7s-cloud-download': 'faCloudDownloadAlt',\n 'pe-7s-news-paper': 'faNewspaper',\n 'pe-7s-upload': 'faUpload',\n 'pe-7s-display1': 'faChartBar',\n 'pe-7s-settings': 'faCog'\n}\n\n\n\nconst SidebarItem = ({ \n route, \n isActive, \n idName,\n onClick,\n firstToggle\n}: \n SidebarItemProps\n) => {\n const {\n iconName = '',\n label,\n subRoutes = [],\n className,\n visible = true\n } = route\n\n // const [isSubMenuOpen, setIsSubMenuOpen] = useState(route.expanded || false)\n\n const toggleSubMenu = () => {\n // setIsSubMenuOpen((prevState) => !prevState)\n onClick(idName);\n }\n\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n\n const toggleMenu2 = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n return (\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-regular-svg-icons`)[name] ||\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-solid-svg-icons`)[name]\n )\n }, [])\n\n const firstToggle2 = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n useEffect(() => {\n firstToggle((set) => {\n if(route.expanded) {\n set(idName);\n }\n });\n }, [route.expanded]);\n \n\n if (!visible) {\n return null\n }\n\n return (\n <React.Fragment>\n <li\n className={`crm-class-sidebar-li ${className ?? ''}`}\n onClick={() => {\n toggleSubMenu()\n if (!route.subRoutes?.length) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className='crm-class-mr-10'>\n <FontAwesomeIcon icon={icon} />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n style={isActive ? {fontWeight: '700'} : {}}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >\n {label}\n </span>\n\n {!!subRoutes.length && (\n <span className='crm-class-ml-auto'>\n <FontAwesomeIcon\n icon={isActive ? faChevronUp : faChevronDown}\n className='crm-class-color-icon crm-class-font-10 crm-class-slate-gray'\n />\n </span>\n )}\n </li>\n {!!subRoutes.length && isActive && (\n <ul className='crm-class-sidebar-sub-menu-list'>\n {subRoutes?.map((item) => (\n <SidebarItem \n key={uuidV4()} \n route={item} \n idName={item.label} \n isActive={activeIndex === item.label}\n onClick={toggleMenu2} \n firstToggle={firstToggle2}\n />\n ))}\n </ul>\n )}\n </React.Fragment>\n )\n}\n\nexport default SidebarItem\n","// import { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { Route } from '../../../types/Common'\nimport SidebarItem, { iconsPath } from './SidebarItem'\nimport React from 'react'\n\nconst SidebarComponent = (props: {\n routes: Route[],\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n children: React.ReactNode\n}) => {\n const { routes, openSideBar, setOpenSideBar } = props;\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n\n const toggleMenu = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const firstToggle = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n function iconFa (iconName: string | undefined) {\n const name = iconsPath[iconName ?? '']\n return (\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-regular-svg-icons`)[name] ||\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(`@fortawesome/free-solid-svg-icons`)[name]\n )\n }\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={!openSideBar ? { width: '80px'} : {}} \n className='crm-class-sidebar' \n onMouseOver={() => setOpenSideBar(true)}\n onMouseOut={() => setOpenSideBar(false)}\n >\n <ul className={ openSideBar ? `crm-class-sidebar-list` : `crm-class-sidebar-icons-content`}>\n\n {\n openSideBar\n ? <span className='crm-class-title'>MENU</span>\n : <div style={{backgroundColor: '#e0f3ff', height: '2px', borderRadius: '15px'}}></div>\n }\n\n <div style={{ display: openSideBar ? 'block' : 'none'}}>\n {\n routes.map((route, index) => (\n <SidebarItem \n key={`route_${index}`} \n route={route} \n idName={route.label} \n isActive={activeIndex === route.label}\n onClick={toggleMenu} \n firstToggle={firstToggle} \n />\n ))\n }\n </div>\n\n <div style={{ display: !openSideBar ? 'block' : 'none'}}>\n {/* <ul className='crm-class-sidebar-icons-content'> */}\n {\n routes.map((route, index) => {\n const icon = iconFa(route.iconName);\n\n if(icon) {\n return (\n <li key={`route_${index}`} style={index === 0 ? {marginTop: 10} : {}}>\n <span>\n <FontAwesomeIcon style={{fontSize: 13, color: '#cacaca'}} icon={icon} />\n </span>\n </li>\n )\n }\n\n return <React.Fragment></React.Fragment>;\n })\n }\n {/* </ul> */}\n </div>\n </ul>\n </div>\n <div className='crm-class-sidebar-content'>{props.children}</div>\n </div>\n )\n}\nexport default SidebarComponent\n","import { faGem } from '@fortawesome/free-regular-svg-icons'\nimport { Route } from '../../../../types/Common'\nimport { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n\ninterface View {\n path: string\n name: string\n root: string\n permission: string | string[]\n views?: View[]\n}\n\nexport const generateSubMenuData = (\n labels: View[],\n callBackPath: (v: View) => void,\n ruleSelection?: (v: View) => boolean\n): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label),\n path: label.path,\n selected: ruleSelection?.(label) || false,\n subRoutes: generateSubMenuData(\n label.views || [],\n callBackPath,\n ruleSelection\n )\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n","import React from 'react'\n\ninterface TranslateProviderProps<Config> {\n children: React.ReactNode\n locale: string\n translations: Config\n}\n\nexport const TranslateContext = React.createContext<{\n locale: string\n translations: Record<string, Record<string, string>>\n}>({\n locale: '',\n translations: {}\n})\n\nexport default function TranslateProvider<Config>(\n props: TranslateProviderProps<Config>\n) {\n const { children, ...value } = props\n\n return (\n <TranslateContext.Provider value={value as any}>\n {children}\n </TranslateContext.Provider>\n )\n}\n","import { useCallback, useContext } from 'react'\nimport { TranslateContext } from '../provider/TranslateProvider'\nimport { getDataFromKey } from '../utils/utils'\n\nconst useTranslate = (module: string) => {\n const { translations: language, locale } = useContext(TranslateContext)\n\n const t = useCallback(\n (field = ''): string => {\n return getDataFromKey(language[locale][module], field)\n },\n [language, locale]\n )\n return { t }\n}\n\nexport default useTranslate\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","getDataFromKey","data","key","val","split","forEach","e","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","name","email","href","faUser","faPowerOff","UserInfo","_ref","fontSize","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","_useState2","openLanguageDropdown","setOpenLanguageDropdown","handleLanguageChange","language","borderRadius","flag","map","code","type","TopNavBarComponent","openSideBar","src","_props$logoSrc","logoSrc","height","marginRight","onClickLogo","alt","_props$onClickLogo","undefined","faBars","color","size","setOpenSideBar","prevOpen","_props$logoSrc2","_props$onClickLogo2","_props$user$name","user","iconsPath","SidebarItem","route","isActive","idName","firstToggle","_route$iconName","iconName","label","_route$subRoutes","subRoutes","_route$visible","visible","toggleSubMenu","_React$useState","activeIndex","setActiveIndex","toggleMenu2","index","useMemo","require","firstToggle2","callback","useEffect","set","expanded","Fragment","_route$subRoutes2","length","_route$action","action","call","fontWeight","selected","item","SidebarComponent","routes","toggleMenu","iconFa","display","width","onMouseOver","onMouseOut","backgroundColor","marginTop","children","generateSubMenuData","labels","callBackPath","ruleSelection","path","views","icons","diamond","faGem","TranslateContext","createContext","locale","translations","TranslateProvider","value","_objectWithoutPropertiesLoose","_excluded","Provider","useTranslate","module","_useContext","useContext","t","useCallback","field"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/utils/utils.ts","../src/components/dropdown/Dropdown.tsx","../src/components/contentMenuComponent/UserInfo.tsx","../src/components/contentMenuComponent/LanguageDropdown.tsx","../src/components/menu/TopNavBarComponent/TopNavBarComponent.tsx","../src/components/menu/sidebar/SidebarItem.tsx","../src/components/menu/sidebar/Sidebar.tsx","../src/components/menu/sidebar/subMenuComponent/SubMenuComponent.tsx","../src/provider/TranslateProvider.tsx","../src/hooks/useTranslate.ts"],"sourcesContent":["export function uuidV4() {\n return ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) =>\n (\n ((c ^ crypto.getRandomValues(new Uint8Array(1))[0]) & 15) >>\n (c / 4)\n ).toString(16)\n )\n}\n\nexport const colors = {\n A: '#FF5733',\n B: '#33FF57',\n C: '#5733FF',\n D: '#FF33B8',\n E: '#33B8FF',\n F: '#FFFF33',\n G: '#33FFFF',\n H: '#FF33A6',\n I: '#33A6FF',\n J: '#FF9033',\n K: '#3390FF',\n L: '#FF33F6',\n M: '#33F6FF',\n N: '#C833FF',\n O: '#33FFC8',\n P: '#FFC833',\n Q: '#33FF58',\n R: '#FF5833',\n S: '#58FF33',\n T: '#FF3358',\n U: '#3358FF',\n V: '#FF33D6',\n W: '#33D6FF',\n X: '#FF336A',\n Y: '#336AFF',\n Z: '#FFD633'\n}\n\nexport function getDataFromKey<T>(data: T, key: string): string {\n try {\n let val: any = data\n if (val[key]) return val[key]\n key.split('.').forEach((key) => {\n val = val[key]\n })\n return val as string\n } catch (e) {\n return ''\n }\n}\n","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp, faUser, faPowerOff } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: string, name: string, email: string }) {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false)\n\n const toggleDropdown = () => {\n setIsDropdownOpen(!isDropdownOpen)\n }\n\n return (\n <div className=\"crm-class-dropdown crm-class-mr-20\" onClick={toggleDropdown}>\n <span style={{ background: colors[props.startNameWord.toUpperCase()] }}\n className=\"crm-class-top-nav-bar-avatar\">{props.startNameWord.toUpperCase()}</span>\n <span className=\"crm-class-ml-15\">\n <FontAwesomeIcon\n icon={isDropdownOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-slate-gray\"\n />\n </span>\n {isDropdownOpen && (\n <div className=\"crm-class-dropdown-content\">\n <div className='crm-class-dropdown-header'>\n <div className='crm-class-dropdown-user-bg'>\n </div>\n <div className='crm-class-dropdown-user-content'>\n <p className='crm-class-dropdown-user-name'>{props.name}</p>\n <p className='crm-class-dropdown-user-email'>{props.email}</p>\n </div>\n </div>\n <div className='crm-class-dropdown-options'>\n <ul>\n <li className='crm-class-dropdown-first-option'>Options</li>\n <li>\n <a href=\"/en/auth/profile/proposal-profile\">\n <FontAwesomeIcon\n icon={faUser}\n />\n My Profile\n </a>\n </li>\n <li>\n <a href=\"\">\n <FontAwesomeIcon\n icon={faPowerOff}\n />\n Logout\n </a>\n </li>\n </ul>\n </div>\n </div>\n )}\n </div>\n )\n}\n","import React from 'react'\n\n\ninterface Props {\n email: string;\n name: string;\n}\n\nexport default function UserInfo({ name, email }: Props) {\n return (\n <div className=\"crm-class-top-nav-bar-info-user\">\n <span className=\"crm-class-font-bold\" style={{fontSize: 13}}>{name} </span>\n <span style={{fontSize: 10}}>{email}</span>\n </div>\n )\n}\n","import React, { useState } from 'react'\n\nexport interface Language {\n code: string;\n label: string;\n flag: string;\n}\n\n\nexport default function LanguageDropdown(props: { languages: Language[] }) {\n const [selectedLanguage, setSelectedLanguage] = useState<Language>(\n props.languages[0]\n );\n const [openLanguageDropdown, setOpenLanguageDropdown] = useState(false);\n\n const handleLanguageChange = (language: Language) => {\n setSelectedLanguage(language)\n }\n\n return (\n <div className=\"crm-class-dropdown-flag crm-class-mr-20\">\n <span className=\"crm-class-content-flag\" onClick={() => setOpenLanguageDropdown(!openLanguageDropdown)} >\n <span \n style={{borderRadius: 30}} \n className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n {\n openLanguageDropdown && (\n <div className=\"crm-class-dropdown-menu\">\n <div className=\"crm-class-dropdown-title\">\n Choose Language\n </div>\n <h6 className=\"crm-class-dropdown-header\">Popular Languages</h6>\n {props.languages.map((language) => (\n <button\n key={language.code}\n type=\"button\"\n className={`crm-class-dropdown-item ${language.code === selectedLanguage.code ? 'selected' : ''}`}\n onClick={() => handleLanguageChange(language)}\n >\n <span\n className={` opacity-8 crm-class-flag large crm-class-mr-20 ${language.flag}`}\n ></span>\n {language.code}\n </button>\n ))}\n </div>\n )\n }\n </div>\n )\n}\n","import { faBars } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React from 'react'\nimport Dropdown from '../../dropdown/Dropdown'\nimport UserInfo from '../../contentMenuComponent/UserInfo'\nimport LanguageDropdown, { Language } from '../../contentMenuComponent/LanguageDropdown'\n\ninterface Props {\n languages: Language[];\n onChooseLanguage?: (language: Language) => void;\n user: {\n name: string;\n email: string;\n },\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n logoSrc?: string;\n onClickLogo?: () => void; \n}\n\nexport default function TopNavBarComponent(props: Props) {\n\n\n return (\n <div className=\"crm-class-top-nav-bar\">\n <div className=\"crm-class-flex-container\">\n {\n props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '20px', marginRight: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\n onClick={() => props.setOpenSideBar((prevOpen) => !prevOpen)}\n />\n <div className=\"crm-class-flex-container\">\n {/* <div className=\"crm-class-icon-container crm-class-mr-20\">\n <FontAwesomeIcon\n icon={faSearch}\n color=\"#3f6ad8\"\n className=\"\"\n size=\"1x\"\n />\n </div> */}\n {\n !props.openSideBar && (\n <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '40px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\n />\n )\n }\n </div>\n </div>\n <div className=\"crm-class-top-nav-bar-options\">\n {/* */}\n\n <LanguageDropdown languages={props.languages} />\n\n\n <Dropdown startNameWord={props.user.name?.[0]} name={props.user.name} email={props.user.email} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useEffect, useMemo } from 'react'\nimport {\n faChevronDown,\n faChevronUp,\n IconDefinition\n} from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { SidebarItemProps } from '../../../types/Common'\nimport { uuidV4 } from '../../../utils/utils'\nimport * as regularIcons from '@fortawesome/free-regular-svg-icons'\nimport * as solidIcons from '@fortawesome/free-solid-svg-icons'\n\nexport const iconsPath: Record<string, string> = {\n 'pe-7s-diamond': 'faGem',\n 'pe-7s-piggy': 'faPiggyBank',\n 'pe-7s-helm': 'faShip',\n 'pe-7s-hourglass': 'faHourglass',\n 'pe-7s-safe': 'faWallet',\n 'pe-7s-headphones': 'faHeadphones',\n 'pe-7s-next-2': 'faRectangleList',\n 'pe-7s-cloud-download': 'faCloudDownloadAlt',\n 'pe-7s-news-paper': 'faNewspaper',\n 'pe-7s-upload': 'faUpload',\n 'pe-7s-display1': 'faChartBar',\n 'pe-7s-settings': 'faCog'\n}\n\nconst SidebarItem = ({ \n route, \n isActive, \n idName,\n onClick,\n firstToggle,\n firstExpanded,\n setFirstExpanded\n}: \n SidebarItemProps\n) => {\n const {\n iconName = '',\n label,\n subRoutes = [],\n className,\n visible = true\n } = route\n\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n\n const toggleMenu2 = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n return (\n (regularIcons as any)[name] ||\n (solidIcons as any)[name]\n )\n }, [])\n\n const firstToggle2 = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n useEffect(() => {\n firstToggle((set) => {\n if(route.expanded && firstExpanded) {\n set(idName);\n setFirstExpanded(false);\n }\n });\n\n }, []);\n \n\n if (!visible) {\n return null\n }\n\n return (\n <React.Fragment>\n <li\n className={`crm-class-sidebar-li ${className ?? ''}`}\n onClick={() => {\n onClick(idName);\n if (!route.subRoutes?.length) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className='crm-class-mr-10'>\n <FontAwesomeIcon icon={icon} />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n style={isActive ? {fontWeight: '700'} : {}}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >\n {label}\n </span>\n\n {!!subRoutes.length && (\n <span className='crm-class-ml-auto'>\n <FontAwesomeIcon\n icon={isActive ? faChevronUp : faChevronDown}\n className='crm-class-color-icon crm-class-font-10 crm-class-slate-gray'\n />\n </span>\n )}\n </li>\n \n <ul style={{display: !!subRoutes.length && isActive ? 'block' : 'none'}} className='crm-class-sidebar-sub-menu-list'>\n {subRoutes?.map((item) => (\n <SidebarItem \n key={uuidV4()} \n route={item} \n idName={item.label} \n isActive={activeIndex === item.label}\n onClick={toggleMenu2} \n firstToggle={firstToggle2}\n firstExpanded={firstExpanded}\n setFirstExpanded={setFirstExpanded}\n />\n ))}\n </ul>\n \n </React.Fragment>\n )\n}\n\nexport default SidebarItem\n","// import { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { Route } from '../../../types/Common'\nimport SidebarItem, { iconsPath } from './SidebarItem'\nimport React from 'react'\nimport * as regularIcons from '@fortawesome/free-regular-svg-icons'\nimport * as solidIcons from '@fortawesome/free-solid-svg-icons'\n\nconst SidebarComponent = (props: {\n routes: Route[],\n openSideBar: boolean,\n setOpenSideBar: React.Dispatch<React.SetStateAction<boolean>>,\n children: React.ReactNode\n}) => {\n const { routes, openSideBar, setOpenSideBar } = props;\n const [activeIndex, setActiveIndex] = React.useState<string | null>(null);\n const [firstExpanded, setFirstExpanded] = React.useState<boolean>(true);\n\n const toggleMenu = (index: string) => {\n setActiveIndex(index === activeIndex ? null : index);\n };\n\n const firstToggle = (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => {\n callback(setActiveIndex);\n }\n\n function iconFa (iconName: string = '') {\n const name = iconsPath[iconName] || iconName\n return (\n (regularIcons as any)[name] ||\n (solidIcons as any)[name]\n )\n }\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={!openSideBar ? { width: '80px'} : {}} \n className='crm-class-sidebar' \n onMouseOver={() => setOpenSideBar(true)}\n onMouseOut={() => setOpenSideBar(false)}\n >\n <ul className={ openSideBar ? `crm-class-sidebar-list` : `crm-class-sidebar-icons-content`}>\n\n {\n openSideBar\n ? <span className='crm-class-title'>MENU</span>\n : <div style={{backgroundColor: '#e0f3ff', height: '2px', borderRadius: '15px'}}></div>\n }\n\n <div style={{ display: openSideBar ? 'block' : 'none'}}>\n {\n routes.map((route, index) => (\n <SidebarItem \n key={`route_${index}`} \n route={route} \n idName={route.label} \n isActive={activeIndex === route.label}\n onClick={toggleMenu} \n firstToggle={firstToggle} \n firstExpanded={firstExpanded}\n setFirstExpanded={setFirstExpanded}\n />\n ))\n }\n </div>\n\n <div style={{ display: !openSideBar ? 'block' : 'none'}}>\n {/* <ul className='crm-class-sidebar-icons-content'> */}\n {\n routes.map((route, index) => {\n const icon = iconFa(route.iconName);\n\n if(icon) {\n return (\n <li key={`route_${index}`} style={index === 0 ? {marginTop: 10} : {}}>\n <span>\n <FontAwesomeIcon style={{fontSize: 13, color: '#cacaca'}} icon={icon} />\n </span>\n </li>\n )\n }\n\n return <React.Fragment></React.Fragment>;\n })\n }\n {/* </ul> */}\n </div>\n </ul>\n </div>\n <div className='crm-class-sidebar-content'>{props.children}</div>\n </div>\n )\n}\nexport default SidebarComponent\n","import { faGem } from '@fortawesome/free-regular-svg-icons'\nimport { Route } from '../../../../types/Common'\nimport { IconDefinition } from '@fortawesome/free-solid-svg-icons'\n\ninterface View {\n path: string\n name: string\n root: string\n permission: string | string[]\n views?: View[]\n}\n\nexport const generateSubMenuData = (\n labels: View[],\n callBackPath: (v: View) => void,\n ruleSelection?: (v: View) => boolean\n): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label),\n path: label.path,\n selected: ruleSelection?.(label) || false,\n subRoutes: generateSubMenuData(\n label.views || [],\n callBackPath,\n ruleSelection\n )\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n","import React from 'react'\n\ninterface TranslateProviderProps<Config> {\n children: React.ReactNode\n locale: string\n translations: Config\n}\n\nexport const TranslateContext = React.createContext<{\n locale: string\n translations: Record<string, Record<string, string>>\n}>({\n locale: '',\n translations: {}\n})\n\nexport default function TranslateProvider<Config>(\n props: TranslateProviderProps<Config>\n) {\n const { children, ...value } = props\n\n return (\n <TranslateContext.Provider value={value as any}>\n {children}\n </TranslateContext.Provider>\n )\n}\n","import { useCallback, useContext } from 'react'\nimport { TranslateContext } from '../provider/TranslateProvider'\nimport { getDataFromKey } from '../utils/utils'\n\nconst useTranslate = (module: string) => {\n const { translations: language, locale } = useContext(TranslateContext)\n\n const t = useCallback(\n (field = ''): string => {\n return getDataFromKey(language[locale][module], field)\n },\n [language, locale]\n )\n return { t }\n}\n\nexport default useTranslate\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","getDataFromKey","data","key","val","split","forEach","e","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","name","email","href","faUser","faPowerOff","UserInfo","_ref","fontSize","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","_useState2","openLanguageDropdown","setOpenLanguageDropdown","handleLanguageChange","language","borderRadius","flag","map","code","type","TopNavBarComponent","openSideBar","src","_props$logoSrc","logoSrc","height","marginRight","onClickLogo","alt","_props$onClickLogo","undefined","faBars","color","size","setOpenSideBar","prevOpen","_props$logoSrc2","_props$onClickLogo2","_props$user$name","user","iconsPath","SidebarItem","route","isActive","idName","firstToggle","firstExpanded","setFirstExpanded","_route$iconName","iconName","label","_route$subRoutes","subRoutes","_route$visible","visible","_React$useState","activeIndex","setActiveIndex","toggleMenu2","index","useMemo","regularIcons","solidIcons","firstToggle2","callback","useEffect","set","expanded","Fragment","_route$subRoutes2","length","_route$action","action","call","fontWeight","selected","display","item","SidebarComponent","routes","_React$useState2","toggleMenu","iconFa","width","onMouseOver","onMouseOut","backgroundColor","marginTop","children","generateSubMenuData","labels","callBackPath","ruleSelection","path","views","icons","diamond","faGem","TranslateContext","createContext","locale","translations","TranslateProvider","value","_objectWithoutPropertiesLoose","_excluded","Provider","useTranslate","module","_useContext","useContext","t","useCallback","field"],"mappings":";;;;;;;SAAgBA,MAAMA;EACpB,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAEC,OAAO,CAAC,QAAQ,EAAE,UAACC,CAAM;IAAA,OACtE,CACE,CAAC,CAACA,CAAC,GAAGC,MAAM,CAACC,eAAe,CAAC,IAAIC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KACvDH,CAAC,GAAG,CAAE,EACPI,QAAQ,CAAC,EAAE,CAAC;IACf;AACH;AAEO,IAAMC,MAAM,GAAG;EACpBC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE,SAAS;EACZC,CAAC,EAAE;CACJ;SAEeC,cAAcA,CAAIC,IAAO,EAAEC,GAAW;EACpD,IAAI;IACF,IAAIC,GAAG,GAAQF,IAAI;IACnB,IAAIE,GAAG,CAACD,GAAG,CAAC,EAAE,OAAOC,GAAG,CAACD,GAAG,CAAC;IAC7BA,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,OAAO,CAAC,UAACH,GAAG;MACzBC,GAAG,GAAGA,GAAG,CAACD,GAAG,CAAC;KACf,CAAC;IACF,OAAOC,GAAa;GACrB,CAAC,OAAOG,CAAC,EAAE;IACV,OAAO,EAAE;;AAEb;;SC5CwBC,QAAQA,CAACC,KAA6D;EAC5F,IAAAC,SAAA,GAA4CC,QAAQ,CAAC,KAAK,CAAC;IAApDC,cAAc,GAAAF,SAAA;IAAEG,iBAAiB,GAAAH,SAAA;EAExC,IAAMI,cAAc,GAAG,SAAjBA,cAAcA;IAClBD,iBAAiB,CAAC,CAACD,cAAc,CAAC;GACnC;EAED,OACEG;IAAKC,SAAS,EAAC,oCAAoC;IAACC,OAAO,EAAEH;KAC3DC;IAAMG,KAAK,EAAE;MAAEC,UAAU,EAAE7C,MAAM,CAACmC,KAAK,CAACW,aAAa,CAACC,WAAW,EAAE;KAAG;IAChEL,SAAS,EAAC;KAAgCP,KAAK,CAACW,aAAa,CAACC,WAAW,EAAE,CAAQ,EACzFN;IAAMC,SAAS,EAAC;KACdD,oBAACO,eAAe;IACdC,IAAI,EAAEX,cAAc,GAAGY,WAAW,GAAGC,aAAa;IAClDT,SAAS,EAAC;IACV,CACG,EACNJ,cAAc,IACbG;IAAKC,SAAS,EAAC;KACbD;IAAKC,SAAS,EAAC;KACbD;IAAKC,SAAS,EAAC;IACT,EACND;IAAKC,SAAS,EAAC;KACXD;IAAGC,SAAS,EAAC;KAAgCP,KAAK,CAACiB,IAAI,CAAK,EAC5DX;IAAGC,SAAS,EAAC;KAAiCP,KAAK,CAACkB,KAAK,CAAK,CAC5D,CACF,EACNZ;IAAKC,SAAS,EAAC;KACbD,gCACEA;IAAIC,SAAS,EAAC;eAA8C,EAC5DD,gCACEA;IAAGa,IAAI,EAAC;KACNb,oBAACO,eAAe;IACdC,IAAI,EAAEM;IACN,eAEA,CACD,EACLd,gCACEA;IAAGa,IAAI,EAAC;KACNb,oBAACO,eAAe;IACdC,IAAI,EAAEO;IACN,WAEA,CACD,CACF,CACD,CAET,CACG;AAEV;;SCjDwBC,QAAQA,CAAAC,IAAA;MAAGN,IAAI,GAAAM,IAAA,CAAJN,IAAI;IAAEC,KAAK,GAAAK,IAAA,CAALL,KAAK;EAC5C,OACEZ;IAAKC,SAAS,EAAC;KACbD;IAAMC,SAAS,EAAC,qBAAqB;IAACE,KAAK,EAAE;MAACe,QAAQ,EAAE;;KAAMP,IAAI,MAAS,EAC3EX;IAAMG,KAAK,EAAE;MAACe,QAAQ,EAAE;;KAAMN,KAAK,CAAQ,CACvC;AAEV;;SCNwBO,gBAAgBA,CAACzB,KAAgC;EACvE,IAAAC,SAAA,GAAgDC,QAAQ,CACtDF,KAAK,CAAC0B,SAAS,CAAC,CAAC,CAAC,CACnB;IAFMC,gBAAgB,GAAA1B,SAAA;IAAE2B,mBAAmB,GAAA3B,SAAA;EAG5C,IAAA4B,UAAA,GAAwD3B,QAAQ,CAAC,KAAK,CAAC;IAAhE4B,oBAAoB,GAAAD,UAAA;IAAEE,uBAAuB,GAAAF,UAAA;EAEpD,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,QAAkB;IAC9CL,mBAAmB,CAACK,QAAQ,CAAC;GAC9B;EAED,OACE3B;IAAKC,SAAS,EAAC;KACbD;IAAMC,SAAS,EAAC,wBAAwB;IAACC,OAAO,EAAE,SAAAA;MAAA,OAAMuB,uBAAuB,CAAC,CAACD,oBAAoB,CAAC;;KACpGxB;IACAG,KAAK,EAAE;MAACyB,YAAY,EAAE;KAAG;IACzB3B,SAAS,4BAA0BoB,gBAAgB,CAACQ;IAAe,CAC9D,EAGLL,oBAAoB,IAClBxB;IAAKC,SAAS,EAAC;KACbD;IAAKC,SAAS,EAAC;uBAET,EACND;IAAIC,SAAS,EAAC;yBAAkD,EAC/DP,KAAK,CAAC0B,SAAS,CAACU,GAAG,CAAC,UAACH,QAAQ;IAAA,OAC5B3B;MACEZ,GAAG,EAAEuC,QAAQ,CAACI,IAAI;MAClBC,IAAI,EAAC,QAAQ;MACb/B,SAAS,gCAA6B0B,QAAQ,CAACI,IAAI,KAAKV,gBAAgB,CAACU,IAAI,GAAG,UAAU,GAAG,EAAE,CAAE;MACjG7B,OAAO,EAAE,SAAAA;QAAA,OAAMwB,oBAAoB,CAACC,QAAQ,CAAC;;OAE7C3B;MACEC,SAAS,wDAAsD0B,QAAQ,CAACE;MAClE,EACPF,QAAQ,CAACI,IAAI,CACP;GACV,CAAC,CAEL,CAEC;AAEV;;SChCwBE,kBAAkBA,CAACvC,KAAY;;EAGrD,OACEM;IAAKC,SAAS,EAAC;KACbD;IAAKC,SAAS,EAAC;KAEXP,KAAK,CAACwC,WAAW,IACflC;IACEmC,GAAG,GAAAC,cAAA,GAAE1C,KAAK,CAAC2C,OAAO,YAAAD,cAAA,GAAI,iCAAiC;IACvDjC,KAAK,EAAE;MAAEmC,MAAM,EAAE,MAAM;MAAEC,WAAW,EAAE;KAAQ;IAC9CtC,SAAS,EAAEP,KAAK,CAAC8C,WAAW,GAAG,aAAa,GAAG,EAAE;IACjDC,GAAG,EAAC,EAAE;IACNvC,OAAO,GAAAwC,kBAAA,GAAEhD,KAAK,CAAC8C,WAAW,YAAAE,kBAAA,GAAIC;IAEjC,EAEH3C,oBAACO,eAAe;IACdC,IAAI,EAAEoC,MAAM;IACZC,KAAK,EAAC,SAAS;IACfC,IAAI,EAAC,IAAI;IACT7C,SAAS,EAAC,0CAA0C;IACpDC,OAAO,EAAE,SAAAA;MAAA,OAAMR,KAAK,CAACqD,cAAc,CAAC,UAACC,QAAQ;QAAA,OAAK,CAACA,QAAQ;QAAC;;IAC5D,EACFhD;IAAKC,SAAS,EAAC;KAUX,CAACP,KAAK,CAACwC,WAAW,IAChBlC;IACEmC,GAAG,GAAAc,eAAA,GAAEvD,KAAK,CAAC2C,OAAO,YAAAY,eAAA,GAAI,iCAAiC;IACvD9C,KAAK,EAAE;MAAEmC,MAAM,EAAE;KAAQ;IACzBrC,SAAS,EAAEP,KAAK,CAAC8C,WAAW,GAAG,aAAa,GAAG,EAAE;IACjDC,GAAG,EAAC,EAAE;IACNvC,OAAO,GAAAgD,mBAAA,GAAExD,KAAK,CAAC8C,WAAW,YAAAU,mBAAA,GAAIP;IAEjC,CAEC,CACF,EACN3C;IAAKC,SAAS,EAAC;KAGbD,oBAACmB,gBAAgB;IAACC,SAAS,EAAE1B,KAAK,CAAC0B;IAAa,EAGhDpB,oBAACP,QAAQ;IAACY,aAAa,GAAA8C,gBAAA,GAAEzD,KAAK,CAAC0D,IAAI,CAACzC,IAAI,cAAAwC,gBAAA,uBAAfA,gBAAA,CAAkB,CAAC,CAAC;IAAExC,IAAI,EAAEjB,KAAK,CAAC0D,IAAI,CAACzC,IAAI;IAAEC,KAAK,EAAElB,KAAK,CAAC0D,IAAI,CAACxC;IAAS,EACjGZ,oBAACgB,QAAQ;IAACL,IAAI,EAAEjB,KAAK,CAAC0D,IAAI,CAACzC,IAAI;IAAEC,KAAK,EAAElB,KAAK,CAAC0D,IAAI,CAACxC;IAAS,CACxD,CACF;AAEV;;ACjEO,IAAMyC,SAAS,GAA2B;EAC/C,eAAe,EAAE,OAAO;EACxB,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,QAAQ;EACtB,iBAAiB,EAAE,aAAa;EAChC,YAAY,EAAE,UAAU;EACxB,kBAAkB,EAAE,cAAc;EAClC,cAAc,EAAE,iBAAiB;EACjC,sBAAsB,EAAE,oBAAoB;EAC5C,kBAAkB,EAAE,aAAa;EACjC,cAAc,EAAE,UAAU;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE;CACnB;AAED,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAArC,IAAA;MACfsC,KAAK,GAAAtC,IAAA,CAALsC,KAAK;IACLC,QAAQ,GAAAvC,IAAA,CAARuC,QAAQ;IACRC,MAAM,GAAAxC,IAAA,CAANwC,MAAM;IACNvD,QAAO,GAAAe,IAAA,CAAPf,OAAO;IACPwD,WAAW,GAAAzC,IAAA,CAAXyC,WAAW;IACXC,aAAa,GAAA1C,IAAA,CAAb0C,aAAa;IACbC,gBAAgB,GAAA3C,IAAA,CAAhB2C,gBAAgB;EAIhB,IAAAC,eAAA,GAMIN,KAAK,CALPO,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;IACbE,KAAK,GAIHR,KAAK,CAJPQ,KAAK;IAAAC,gBAAA,GAIHT,KAAK,CAHPU,SAAS;IAATA,SAAS,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IACd/D,SAAS,GAEPsD,KAAK,CAFPtD,SAAS;IAAAiE,cAAA,GAEPX,KAAK,CADPY,OAAO;IAAPA,OAAO,GAAAD,cAAA,cAAG,IAAI,GAAAA,cAAA;EAGhB,IAAAE,eAAA,GAAsCpE,KAAK,CAACJ,QAAQ,CAAgB,IAAI,CAAC;IAAlEyE,WAAW,GAAAD,eAAA;IAAEE,cAAc,GAAAF,eAAA;EAElC,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAa;IAChCF,cAAc,CAACE,KAAK,KAAKH,WAAW,GAAG,IAAI,GAAGG,KAAK,CAAC;GACrD;EAED,IAAMhE,IAAI,GAAmBiE,OAAO,CAAC;IACnC,IAAM9D,IAAI,GAAG0C,SAAS,CAACS,QAAQ,CAAC,IAAIA,QAAQ;IAC5C,OACGY,YAAoB,CAAC/D,IAAI,CAAC,IAC1BgE,UAAkB,CAAChE,IAAI,CAAC;GAE5B,EAAE,EAAE,CAAC;EAEN,IAAMiE,YAAY,GAAG,SAAfA,YAAYA,CAAIC,QAA6E;IACjGA,QAAQ,CAACP,cAAc,CAAC;GACzB;EAEDQ,SAAS,CAAC;IACRpB,WAAW,CAAC,UAACqB,GAAG;MACd,IAAGxB,KAAK,CAACyB,QAAQ,IAAIrB,aAAa,EAAE;QAClCoB,GAAG,CAACtB,MAAM,CAAC;QACXG,gBAAgB,CAAC,KAAK,CAAC;;KAE1B,CAAC;GAEH,EAAE,EAAE,CAAC;EAGN,IAAI,CAACO,OAAO,EAAE;IACZ,OAAO,IAAI;;EAGb,OACEnE,oBAACA,KAAK,CAACiF,QAAQ,QACbjF;IACEC,SAAS,6BAA0BA,SAAS,WAATA,SAAS,GAAI,EAAE,CAAE;IACpDC,OAAO,EAAE,SAAAA;;MACPA,QAAO,CAACuD,MAAM,CAAC;MACf,IAAI,GAAAyB,iBAAA,GAAC3B,KAAK,CAACU,SAAS,cAAAiB,iBAAA,eAAfA,iBAAA,CAAiBC,MAAM,GAAE;QAAA,IAAAC,aAAA;QAC5B,CAAAA,aAAA,GAAA7B,KAAK,CAAC8B,MAAM,cAAAD,aAAA,uBAAZA,aAAA,CAAAE,IAAA,CAAA/B,MAAgB;;;KAInB/C,IAAI,IACHR;IAAMC,SAAS,EAAC;KACdD,oBAACO,eAAe;IAACC,IAAI,EAAEA;IAAQ,CAElC,EACDR;IAEEG,KAAK,EAAEqD,QAAQ,GAAG;MAAC+B,UAAU,EAAE;KAAM,GAAG,EAAE;IAC1CtF,SAAS,GAAKsD,KAAK,CAACiC,QAAQ,GAAG,qBAAqB,GAAG,EAAE;KAExDzB,KAAK,CACD,EAEN,CAAC,CAACE,SAAS,CAACkB,MAAM,IACjBnF;IAAMC,SAAS,EAAC;KACdD,oBAACO,eAAe;IACdC,IAAI,EAAEgD,QAAQ,GAAG/C,WAAW,GAAGC,aAAa;IAC5CT,SAAS,EAAC;IACV,CAEL,CACE,EAELD;IAAIG,KAAK,EAAE;MAACsF,OAAO,EAAE,CAAC,CAACxB,SAAS,CAACkB,MAAM,IAAI3B,QAAQ,GAAG,OAAO,GAAG;KAAO;IAAEvD,SAAS,EAAC;KAChFgE,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEnC,GAAG,CAAC,UAAC4D,IAAI;IAAA,OACnB1F,oBAACsD,WAAW;MACVlE,GAAG,EAAEpC,MAAM,EAAE;MACbuG,KAAK,EAAEmC,IAAI;MACXjC,MAAM,EAAEiC,IAAI,CAAC3B,KAAK;MAClBP,QAAQ,EAAEa,WAAW,KAAKqB,IAAI,CAAC3B,KAAK;MACpC7D,OAAO,EAAEqE,WAAW;MACpBb,WAAW,EAAEkB,YAAY;MACzBjB,aAAa,EAAEA,aAAa;MAC5BC,gBAAgB,EAAEA;MAClB;GACH,CAAC,CACC,CAEU;AAErB,CAAC;;ACxHD,IAAM+B,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIjG,KAKzB;EACC,IAAQkG,MAAM,GAAkClG,KAAK,CAA7CkG,MAAM;IAAE1D,WAAW,GAAqBxC,KAAK,CAArCwC,WAAW;IAAEa,cAAc,GAAKrD,KAAK,CAAxBqD,cAAc;EAC3C,IAAAqB,eAAA,GAAsCpE,KAAK,CAACJ,QAAQ,CAAgB,IAAI,CAAC;IAAlEyE,WAAW,GAAAD,eAAA;IAAEE,cAAc,GAAAF,eAAA;EAClC,IAAAyB,gBAAA,GAA0C7F,KAAK,CAACJ,QAAQ,CAAU,IAAI,CAAC;IAAhE+D,aAAa,GAAAkC,gBAAA;IAAEjC,gBAAgB,GAAAiC,gBAAA;EAEtC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAItB,KAAa;IAC/BF,cAAc,CAACE,KAAK,KAAKH,WAAW,GAAG,IAAI,GAAGG,KAAK,CAAC;GACrD;EAED,IAAMd,WAAW,GAAG,SAAdA,WAAWA,CAAImB,QAA6E;IAChGA,QAAQ,CAACP,cAAc,CAAC;GACzB;EAED,SAASyB,MAAMA,CAAEjC;QAAAA;MAAAA,WAAmB,EAAE;;IAClC,IAAMnD,IAAI,GAAG0C,SAAS,CAACS,QAAQ,CAAC,IAAIA,QAAQ;IAC5C,OACGY,YAAoB,CAAC/D,IAAI,CAAC,IAC1BgE,UAAkB,CAAChE,IAAI,CAAC;;EAI/B,OACEX;IAAKG,KAAK,EAAE;MAAEsF,OAAO,EAAE;;KACrBzF;IAAKG,KAAK,EAAE,CAAC+B,WAAW,GAAG;MAAE8D,KAAK,EAAE;KAAO,GAAG,EAAE;IAC9C/F,SAAS,EAAC,mBAAmB;IAC7BgG,WAAW,EAAE,SAAAA;MAAA,OAAMlD,cAAc,CAAC,IAAI,CAAC;;IACvCmD,UAAU,EAAE,SAAAA;MAAA,OAAMnD,cAAc,CAAC,KAAK,CAAC;;KAEvC/C;IAAIC,SAAS,EAAGiC,WAAW;KAGvBA,WAAW,GACTlC;IAAMC,SAAS,EAAC;YAA6B,GAC7CD;IAAKG,KAAK,EAAE;MAACgG,eAAe,EAAE,SAAS;MAAE7D,MAAM,EAAE,KAAK;MAAEV,YAAY,EAAE;;IAAe,EAGzF5B;IAAKG,KAAK,EAAE;MAAEsF,OAAO,EAAEvD,WAAW,GAAG,OAAO,GAAG;;KAE7C0D,MAAM,CAAC9D,GAAG,CAAC,UAACyB,KAAK,EAAEiB,KAAK;IAAA,OACtBxE,oBAACsD,WAAW;MACVlE,GAAG,aAAWoF,KAAO;MACrBjB,KAAK,EAAEA,KAAK;MACZE,MAAM,EAAEF,KAAK,CAACQ,KAAK;MACnBP,QAAQ,EAAEa,WAAW,KAAKd,KAAK,CAACQ,KAAK;MACrC7D,OAAO,EAAE4F,UAAU;MACnBpC,WAAW,EAAEA,WAAW;MACxBC,aAAa,EAAEA,aAAa;MAC5BC,gBAAgB,EAAEA;MAClB;GACH,CAAC,CAEE,EAEN5D;IAAKG,KAAK,EAAE;MAAEsF,OAAO,EAAE,CAACvD,WAAW,GAAG,OAAO,GAAG;;KAG5C0D,MAAM,CAAC9D,GAAG,CAAC,UAACyB,KAAK,EAAEiB,KAAK;IACtB,IAAMhE,IAAI,GAAGuF,MAAM,CAACxC,KAAK,CAACO,QAAQ,CAAC;IAEnC,IAAGtD,IAAI,EAAE;MACP,OACER;QAAIZ,GAAG,aAAWoF,KAAO;QAAErE,KAAK,EAAEqE,KAAK,KAAK,CAAC,GAAG;UAAC4B,SAAS,EAAE;SAAG,GAAG;SAChEpG,kCACEA,oBAACO,eAAe;QAACJ,KAAK,EAAE;UAACe,QAAQ,EAAE,EAAE;UAAE2B,KAAK,EAAE;SAAU;QAAErC,IAAI,EAAEA;QAAQ,CACnE,CACJ;;IAIT,OAAOR,oBAACA,KAAK,CAACiF,QAAQ,OAAkB;GACzC,CAAC,CAGA,CACH,CACD,EACNjF;IAAKC,SAAS,EAAC;KAA6BP,KAAK,CAAC2G,QAAQ,CAAO,CAC7D;AAEV,CAAC;;IClFYC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC9BC,MAAc,EACdC,YAA+B,EAC/BC,aAAoC;EAEpC,OAAOF,MAAM,CAACzE,GAAG,CAAC,UAACiC,KAAK;IAAA,OAAM;MAC5BA,KAAK,EAAEA,KAAK,CAACpD,IAAI;MACjBV,SAAS,EAAE,iBAAiB;MAC5BoF,MAAM,EAAE,SAAAA;QAAA,OAAMmB,YAAY,CAACzC,KAAK,CAAC;;MACjC2C,IAAI,EAAE3C,KAAK,CAAC2C,IAAI;MAChBlB,QAAQ,EAAE,CAAAiB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG1C,KAAK,CAAC,KAAI,KAAK;MACzCE,SAAS,EAAEqC,mBAAmB,CAC5BvC,KAAK,CAAC4C,KAAK,IAAI,EAAE,EACjBH,YAAY,EACZC,aAAa;KAEhB;GAAC,CAAC;AACL,CAAC;AAED,IAAaG,KAAK,GAAmC;EACnDC,OAAO,EAAEC,KAAK;EACd,WAASA;CACV;;;;;;;;;;;;;AClCD,AAQO,IAAMC,gBAAgB,GAAG/G,KAAK,CAACgH,aAAa,CAGhD;EACDC,MAAM,EAAE,EAAE;EACVC,YAAY,EAAE;CACf,CAAC;AAEF,SAAwBC,iBAAiBA,CACvCzH,KAAqC;EAErC,IAAQ2G,QAAQ,GAAe3G,KAAK,CAA5B2G,QAAQ;IAAKe,KAAK,GAAAC,6BAAA,CAAK3H,KAAK,EAAA4H,SAAA;EAEpC,OACEtH,oBAAC+G,gBAAgB,CAACQ,QAAQ;IAACH,KAAK,EAAEA;KAC/Bf,QAAQ,CACiB;AAEhC;;ACtBA,IAAMmB,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAc;EAClC,IAAAC,WAAA,GAA2CC,UAAU,CAACZ,gBAAgB,CAAC;IAAjDpF,QAAQ,GAAA+F,WAAA,CAAtBR,YAAY;IAAYD,MAAM,GAAAS,WAAA,CAANT,MAAM;EAEtC,IAAMW,CAAC,GAAGC,WAAW,CACnB,UAACC,KAAK;QAALA,KAAK;MAALA,KAAK,GAAG,EAAE;;IACT,OAAO5I,cAAc,CAACyC,QAAQ,CAACsF,MAAM,CAAC,CAACQ,MAAM,CAAC,EAAEK,KAAK,CAAC;GACvD,EACD,CAACnG,QAAQ,EAAEsF,MAAM,CAAC,CACnB;EACD,OAAO;IAAEW,CAAC,EAADA;GAAG;AACd,CAAC;;;;"}
@@ -17,4 +17,6 @@ export interface SidebarItemProps {
17
17
  isActive: boolean;
18
18
  onClick: (index: string) => void;
19
19
  firstToggle: (callback: (set: (value: React.SetStateAction<string | null>) => void) => void) => void;
20
+ firstExpanded: boolean;
21
+ setFirstExpanded: React.Dispatch<React.SetStateAction<boolean>>;
20
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sbx-crm-menu-ui",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "Menu Created by SBX Company for CRM.",
5
5
  "author": "Frank Carpio",
6
6
  "license": "ISC",