sbx-crm-menu-ui 2.0.1-beta.2 → 2.0.1-beta.4

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.
@@ -8,6 +8,7 @@ interface Props {
8
8
  email: string;
9
9
  };
10
10
  logoSrc?: string;
11
+ onClickLogo?: () => void;
11
12
  }
12
13
  export default function TopNavBarComponent(props: Props): React.JSX.Element;
13
14
  export {};
package/dist/index.css CHANGED
@@ -294,4 +294,8 @@
294
294
  align-items: center;
295
295
  justify-items: center;
296
296
  justify-content: center;
297
+ }
298
+
299
+ .crm-pointer {
300
+ cursor: pointer;
297
301
  }
package/dist/index.js CHANGED
@@ -110,7 +110,7 @@ function LanguageDropdown(props) {
110
110
  }
111
111
 
112
112
  function TopNavBarComponent(props) {
113
- var _props$logoSrc, _props$user$name;
113
+ var _props$logoSrc, _props$onClickLogo, _props$user$name;
114
114
  return React__default.createElement("div", {
115
115
  className: "crm-class-top-nav-bar"
116
116
  }, React__default.createElement("div", {
@@ -122,19 +122,14 @@ function TopNavBarComponent(props) {
122
122
  className: "crm-class-mr-20 crm-class-cursor-pointer"
123
123
  }), React__default.createElement("div", {
124
124
  className: "crm-class-flex-container"
125
- }, React__default.createElement("div", {
126
- className: "crm-class-icon-container crm-class-mr-20"
127
- }, React__default.createElement(reactFontawesome.FontAwesomeIcon, {
128
- icon: freeSolidSvgIcons.faSearch,
129
- color: "#3f6ad8",
130
- className: "",
131
- size: "1x"
132
- })), React__default.createElement("img", {
125
+ }, React__default.createElement("img", {
133
126
  src: (_props$logoSrc = props.logoSrc) != null ? _props$logoSrc : 'https://via.placeholder.com/150',
134
127
  style: {
135
128
  height: '30px'
136
129
  },
137
- alt: ""
130
+ className: props.onClickLogo ? 'crm-pointer' : '',
131
+ alt: "",
132
+ onClick: (_props$onClickLogo = props.onClickLogo) != null ? _props$onClickLogo : undefined
138
133
  }))), React__default.createElement("div", {
139
134
  className: "crm-class-top-nav-bar-options"
140
135
  }, React__default.createElement(LanguageDropdown, {
@@ -179,14 +174,22 @@ var SidebarItem = function SidebarItem(_ref) {
179
174
  };
180
175
  var icon = React.useMemo(function () {
181
176
  var name = iconsPath[iconName] || iconName;
182
- return require("@fortawesome/free-regular-svg-icons")[name];
177
+ return require("@fortawesome/free-regular-svg-icons")[name] || require("@fortawesome/free-solid-svg-icons")[name];
178
+ }, []);
179
+ React.useEffect(function () {
180
+ var _route$subRoutes2;
181
+ if ((_route$subRoutes2 = route.subRoutes) !== null && _route$subRoutes2 !== void 0 && _route$subRoutes2.some(function (subRoute) {
182
+ return subRoute.selected;
183
+ })) {
184
+ setIsSubMenuOpen(true);
185
+ }
183
186
  }, []);
184
187
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("li", {
185
188
  className: "crm-class-sidebar-li " + (className != null ? className : ''),
186
189
  onClick: function onClick() {
187
- var _route$subRoutes2;
190
+ var _route$subRoutes3;
188
191
  toggleSubMenu();
189
- if (((_route$subRoutes2 = route.subRoutes) === null || _route$subRoutes2 === void 0 ? void 0 : _route$subRoutes2.length) === 0) {
192
+ if (((_route$subRoutes3 = route.subRoutes) === null || _route$subRoutes3 === void 0 ? void 0 : _route$subRoutes3.length) === 0) {
190
193
  var _route$action;
191
194
  (_route$action = route.action) === null || _route$action === void 0 ? void 0 : _route$action.call(route);
192
195
  }
@@ -213,7 +216,7 @@ var SidebarItem = function SidebarItem(_ref) {
213
216
  })));
214
217
  };
215
218
 
216
- var generateRoute = function generateRoute(label, icon, _action, subRoutes) {
219
+ var generateRoute = function generateRoute(label, icon, subRoutes, path, _action) {
217
220
  if (subRoutes === void 0) {
218
221
  subRoutes = [];
219
222
  }
@@ -221,18 +224,19 @@ var generateRoute = function generateRoute(label, icon, _action, subRoutes) {
221
224
  label: label,
222
225
  visible: true,
223
226
  enable: true,
227
+ selected: window.location.pathname === path,
224
228
  iconName: icon,
225
229
  action: function action() {
226
230
  return _action === null || _action === void 0 ? void 0 : _action();
227
231
  },
228
232
  subRoutes: subRoutes.map(function (subRoute) {
229
- return generateRoute(subRoute.label, subRoute === null || subRoute === void 0 ? void 0 : subRoute.iconName, subRoute.action, subRoute.subRoutes || []);
233
+ return generateRoute(subRoute.label, subRoute === null || subRoute === void 0 ? void 0 : subRoute.iconName, subRoute.subRoutes || [], subRoute.path, subRoute.action);
230
234
  })
231
235
  };
232
236
  };
233
237
  var generateRoutes = function generateRoutes(routesData) {
234
238
  return routesData.map(function (routeData) {
235
- return generateRoute(routeData.label, routeData === null || routeData === void 0 ? void 0 : routeData.icon, routeData.action, routeData.subRoutes);
239
+ return generateRoute(routeData.label, routeData === null || routeData === void 0 ? void 0 : routeData.icon, routeData.subRoutes, '', routeData.action);
236
240
  });
237
241
  };
238
242
  var SidebarComponent = function SidebarComponent(props) {
@@ -265,6 +269,7 @@ var generateSubMenuData = function generateSubMenuData(labels, callBackPath) {
265
269
  action: function action() {
266
270
  return callBackPath(label.path);
267
271
  },
272
+ path: label.path,
268
273
  subRoutes: generateSubMenuData(label.views || [], callBackPath)
269
274
  };
270
275
  });
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"],"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\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","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: 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-20\">\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 <p>Dropdown content here</p>\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\">{name} </span>\n <span>{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\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\">\n <span className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n <div className=\"crm-class-dropdown-menu\">\n <button className=\"crm-class-dropdown-toggle\" type=\"button\">\n Choose Language\n </button>\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 \"\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 </div>\n )\n}\n","import { faBars, faSearch } 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 logoSrc?: string;\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 <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\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 <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '30px' }}\n alt=\"\"\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]} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useMemo, useState } from 'react'\nimport { faChevronDown, faChevronUp, IconDefinition } 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\nconst SidebarItem = ({ route }: SidebarItemProps) => {\n const { iconName = '', label, subRoutes = [], className } = route\n const [isSubMenuOpen, setIsSubMenuOpen] = useState(route.selected || false)\n\n const toggleSubMenu = () => {\n setIsSubMenuOpen((prevState) => !prevState)\n }\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require(`@fortawesome/free-regular-svg-icons`)[name]\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 === 0) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className=\"crm-class-color-icon crm-class-mr-10\">\n <FontAwesomeIcon\n icon={icon}\n className=\"crm-class-color-icon\"\n />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >{label}</span>\n\n {!!subRoutes.length && (\n <span className=\"crm-class-ml-auto\">\n <FontAwesomeIcon\n icon={isSubMenuOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-font-10 crm-class-slate-gray\"\n />\n </span>\n )}\n </li>\n {(isSubMenuOpen) && !!subRoutes.length && (\n <ul className=\"crm-class-sidebar-sub-menu-list\">\n {subRoutes?.map((item) => (\n <SidebarItem key={uuidV4()} route={item} />\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 { Route } from '../../../types/Common'\nimport SidebarItem from './SidebarItem'\nimport React from 'react'\n\ninterface RoutesData {\n label: string;\n icon: string;\n subRoutes: Route[];\n}\n\nconst generateRoute = (\n label: string,\n icon: string | undefined,\n action?: () => void,\n subRoutes: Route[] = []\n): Route => ({\n label,\n visible: true,\n enable: true,\n iconName: icon,\n action: () => action?.(),\n subRoutes: subRoutes.map((subRoute) =>\n generateRoute(subRoute.label, subRoute?.iconName, subRoute.action, subRoute.subRoutes || [])\n )\n})\n\nconst generateRoutes = (\n routesData: {\n label: string;\n icon: string;\n action?: () => void;\n subRoutes: Route[];\n }[]\n): Route[] => {\n return routesData.map((routeData) =>\n generateRoute(routeData.label, routeData?.icon, routeData.action, routeData.subRoutes)\n )\n}\n\nconst SidebarComponent = (props: { routesData: RoutesData[], children: React.ReactNode }) => {\n\n\n const routes: Route[] = generateRoutes(props.routesData)\n\n return (\n <div style={{ display: 'flex' }}>\n <div className=\"crm-class-sidebar\">\n <ul className=\"crm-class-sidebar-list\">\n <span className=\"crm-class-title\">MENU</span>\n\n {routes.map((route, index) => (\n <SidebarItem key={`route_${index}`} route={route} />\n ))}\n\n </ul>\n </div>\n <div className=\"crm-class-sidebar-content\">\n {props.children}\n </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 = (labels: View[], callBackPath: (path: string) => void): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label.path),\n subRoutes: generateSubMenuData(label.views || [], callBackPath)\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","UserInfo","_ref","name","email","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","handleLanguageChange","language","flag","type","map","key","code","TopNavBarComponent","faBars","color","size","faSearch","src","_props$logoSrc","logoSrc","height","alt","_props$user$name","user","iconsPath","SidebarItem","route","_route$iconName","iconName","label","_route$subRoutes","subRoutes","selected","isSubMenuOpen","setIsSubMenuOpen","toggleSubMenu","prevState","useMemo","require","Fragment","_route$subRoutes2","length","_route$action","action","call","item","generateRoute","visible","enable","subRoute","generateRoutes","routesData","routeData","SidebarComponent","routes","display","index","children","generateSubMenuData","labels","callBackPath","path","views","icons","diamond","faGem"],"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"],"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\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","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: 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-20\">\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 <p>Dropdown content here</p>\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\">{name} </span>\n <span>{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\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\">\n <span className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n <div className=\"crm-class-dropdown-menu\">\n <button className=\"crm-class-dropdown-toggle\" type=\"button\">\n Choose Language\n </button>\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 \"\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 </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 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 <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\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 <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '30px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\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]} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { faChevronDown, faChevronUp, IconDefinition } 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\nconst SidebarItem = ({ route }: SidebarItemProps) => {\n const { iconName = '', label, subRoutes = [], className } = route\n const [isSubMenuOpen, setIsSubMenuOpen] = useState(route.selected || false)\n\n const toggleSubMenu = () => {\n setIsSubMenuOpen((prevState) => !prevState)\n }\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require(`@fortawesome/free-regular-svg-icons`)[name] || require(`@fortawesome/free-solid-svg-icons`)[name]\n }, [])\n\n useEffect(() => {\n if(route.subRoutes?.some(subRoute => subRoute.selected)) {\n setIsSubMenuOpen(true);\n }\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 === 0) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className=\"crm-class-color-icon crm-class-mr-10\">\n <FontAwesomeIcon\n icon={icon}\n className=\"crm-class-color-icon\"\n />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >{label}</span>\n\n {!!subRoutes.length && (\n <span className=\"crm-class-ml-auto\">\n <FontAwesomeIcon\n icon={isSubMenuOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-font-10 crm-class-slate-gray\"\n />\n </span>\n )}\n </li>\n {(isSubMenuOpen) && !!subRoutes.length && (\n <ul className=\"crm-class-sidebar-sub-menu-list\">\n {subRoutes?.map((item) => (\n <SidebarItem key={uuidV4()} route={item} />\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 { Route } from '../../../types/Common'\nimport SidebarItem from './SidebarItem'\nimport React from 'react'\n\ninterface RoutesData {\n label: string;\n icon: string;\n subRoutes: Route[];\n}\n\nconst generateRoute = (\n label: string,\n icon: string | undefined,\n subRoutes: Route[] = [],\n path: string | undefined,\n action?: () => void,\n): Route => ({\n label,\n visible: true,\n enable: true,\n selected: window.location.pathname === path,\n iconName: icon,\n action: () => action?.(),\n subRoutes: subRoutes.map((subRoute) =>\n generateRoute(subRoute.label, subRoute?.iconName, subRoute.subRoutes || [], subRoute.path, subRoute.action)\n )\n})\n\nconst generateRoutes = (\n routesData: {\n label: string;\n icon: string;\n action?: () => void;\n subRoutes: Route[];\n }[]\n): Route[] => {\n return routesData.map((routeData) =>\n generateRoute(routeData.label, routeData?.icon, routeData.subRoutes, '', routeData.action)\n )\n}\n\nconst SidebarComponent = (props: { routesData: RoutesData[], children: React.ReactNode }) => {\n\n\n const routes: Route[] = generateRoutes(props.routesData)\n\n return (\n <div style={{ display: 'flex' }}>\n <div className=\"crm-class-sidebar\">\n <ul className=\"crm-class-sidebar-list\">\n <span className=\"crm-class-title\">MENU</span>\n\n {routes.map((route, index) => (\n <SidebarItem key={`route_${index}`} route={route} />\n ))}\n\n </ul>\n </div>\n <div className=\"crm-class-sidebar-content\">\n {props.children}\n </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 = (labels: View[], callBackPath: (path: string) => void): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label.path),\n path: label.path,\n subRoutes: generateSubMenuData(label.views || [], callBackPath)\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","UserInfo","_ref","name","email","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","handleLanguageChange","language","flag","type","map","key","code","TopNavBarComponent","faBars","color","size","src","_props$logoSrc","logoSrc","height","onClickLogo","alt","_props$onClickLogo","undefined","_props$user$name","user","iconsPath","SidebarItem","route","_route$iconName","iconName","label","_route$subRoutes","subRoutes","selected","isSubMenuOpen","setIsSubMenuOpen","toggleSubMenu","prevState","useMemo","require","useEffect","_route$subRoutes2","some","subRoute","Fragment","_route$subRoutes3","length","_route$action","action","call","item","generateRoute","path","visible","enable","window","location","pathname","generateRoutes","routesData","routeData","SidebarComponent","routes","display","index","children","generateSubMenuData","labels","callBackPath","views","icons","diamond","faGem"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { faChevronUp, faChevronDown, faBars, faSearch } from '@fortawesome/free-solid-svg-icons';
1
+ import { faChevronUp, faChevronDown, faBars } from '@fortawesome/free-solid-svg-icons';
2
2
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
- import React, { useState, useMemo } from 'react';
3
+ import React, { useState, useMemo, useEffect } from 'react';
4
4
  import { faGem } from '@fortawesome/free-regular-svg-icons';
5
5
 
6
6
  function uuidV4() {
@@ -107,7 +107,7 @@ function LanguageDropdown(props) {
107
107
  }
108
108
 
109
109
  function TopNavBarComponent(props) {
110
- var _props$logoSrc, _props$user$name;
110
+ var _props$logoSrc, _props$onClickLogo, _props$user$name;
111
111
  return React.createElement("div", {
112
112
  className: "crm-class-top-nav-bar"
113
113
  }, React.createElement("div", {
@@ -119,19 +119,14 @@ function TopNavBarComponent(props) {
119
119
  className: "crm-class-mr-20 crm-class-cursor-pointer"
120
120
  }), React.createElement("div", {
121
121
  className: "crm-class-flex-container"
122
- }, React.createElement("div", {
123
- className: "crm-class-icon-container crm-class-mr-20"
124
- }, React.createElement(FontAwesomeIcon, {
125
- icon: faSearch,
126
- color: "#3f6ad8",
127
- className: "",
128
- size: "1x"
129
- })), React.createElement("img", {
122
+ }, React.createElement("img", {
130
123
  src: (_props$logoSrc = props.logoSrc) != null ? _props$logoSrc : 'https://via.placeholder.com/150',
131
124
  style: {
132
125
  height: '30px'
133
126
  },
134
- alt: ""
127
+ className: props.onClickLogo ? 'crm-pointer' : '',
128
+ alt: "",
129
+ onClick: (_props$onClickLogo = props.onClickLogo) != null ? _props$onClickLogo : undefined
135
130
  }))), React.createElement("div", {
136
131
  className: "crm-class-top-nav-bar-options"
137
132
  }, React.createElement(LanguageDropdown, {
@@ -176,14 +171,22 @@ var SidebarItem = function SidebarItem(_ref) {
176
171
  };
177
172
  var icon = useMemo(function () {
178
173
  var name = iconsPath[iconName] || iconName;
179
- return require("@fortawesome/free-regular-svg-icons")[name];
174
+ return require("@fortawesome/free-regular-svg-icons")[name] || require("@fortawesome/free-solid-svg-icons")[name];
175
+ }, []);
176
+ useEffect(function () {
177
+ var _route$subRoutes2;
178
+ if ((_route$subRoutes2 = route.subRoutes) !== null && _route$subRoutes2 !== void 0 && _route$subRoutes2.some(function (subRoute) {
179
+ return subRoute.selected;
180
+ })) {
181
+ setIsSubMenuOpen(true);
182
+ }
180
183
  }, []);
181
184
  return React.createElement(React.Fragment, null, React.createElement("li", {
182
185
  className: "crm-class-sidebar-li " + (className != null ? className : ''),
183
186
  onClick: function onClick() {
184
- var _route$subRoutes2;
187
+ var _route$subRoutes3;
185
188
  toggleSubMenu();
186
- if (((_route$subRoutes2 = route.subRoutes) === null || _route$subRoutes2 === void 0 ? void 0 : _route$subRoutes2.length) === 0) {
189
+ if (((_route$subRoutes3 = route.subRoutes) === null || _route$subRoutes3 === void 0 ? void 0 : _route$subRoutes3.length) === 0) {
187
190
  var _route$action;
188
191
  (_route$action = route.action) === null || _route$action === void 0 ? void 0 : _route$action.call(route);
189
192
  }
@@ -210,7 +213,7 @@ var SidebarItem = function SidebarItem(_ref) {
210
213
  })));
211
214
  };
212
215
 
213
- var generateRoute = function generateRoute(label, icon, _action, subRoutes) {
216
+ var generateRoute = function generateRoute(label, icon, subRoutes, path, _action) {
214
217
  if (subRoutes === void 0) {
215
218
  subRoutes = [];
216
219
  }
@@ -218,18 +221,19 @@ var generateRoute = function generateRoute(label, icon, _action, subRoutes) {
218
221
  label: label,
219
222
  visible: true,
220
223
  enable: true,
224
+ selected: window.location.pathname === path,
221
225
  iconName: icon,
222
226
  action: function action() {
223
227
  return _action === null || _action === void 0 ? void 0 : _action();
224
228
  },
225
229
  subRoutes: subRoutes.map(function (subRoute) {
226
- return generateRoute(subRoute.label, subRoute === null || subRoute === void 0 ? void 0 : subRoute.iconName, subRoute.action, subRoute.subRoutes || []);
230
+ return generateRoute(subRoute.label, subRoute === null || subRoute === void 0 ? void 0 : subRoute.iconName, subRoute.subRoutes || [], subRoute.path, subRoute.action);
227
231
  })
228
232
  };
229
233
  };
230
234
  var generateRoutes = function generateRoutes(routesData) {
231
235
  return routesData.map(function (routeData) {
232
- return generateRoute(routeData.label, routeData === null || routeData === void 0 ? void 0 : routeData.icon, routeData.action, routeData.subRoutes);
236
+ return generateRoute(routeData.label, routeData === null || routeData === void 0 ? void 0 : routeData.icon, routeData.subRoutes, '', routeData.action);
233
237
  });
234
238
  };
235
239
  var SidebarComponent = function SidebarComponent(props) {
@@ -262,6 +266,7 @@ var generateSubMenuData = function generateSubMenuData(labels, callBackPath) {
262
266
  action: function action() {
263
267
  return callBackPath(label.path);
264
268
  },
269
+ path: label.path,
265
270
  subRoutes: generateSubMenuData(label.views || [], callBackPath)
266
271
  };
267
272
  });
@@ -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"],"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\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","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: 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-20\">\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 <p>Dropdown content here</p>\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\">{name} </span>\n <span>{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\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\">\n <span className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n <div className=\"crm-class-dropdown-menu\">\n <button className=\"crm-class-dropdown-toggle\" type=\"button\">\n Choose Language\n </button>\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 \"\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 </div>\n )\n}\n","import { faBars, faSearch } 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 logoSrc?: string;\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 <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\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 <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '30px' }}\n alt=\"\"\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]} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useMemo, useState } from 'react'\nimport { faChevronDown, faChevronUp, IconDefinition } 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\nconst SidebarItem = ({ route }: SidebarItemProps) => {\n const { iconName = '', label, subRoutes = [], className } = route\n const [isSubMenuOpen, setIsSubMenuOpen] = useState(route.selected || false)\n\n const toggleSubMenu = () => {\n setIsSubMenuOpen((prevState) => !prevState)\n }\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require(`@fortawesome/free-regular-svg-icons`)[name]\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 === 0) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className=\"crm-class-color-icon crm-class-mr-10\">\n <FontAwesomeIcon\n icon={icon}\n className=\"crm-class-color-icon\"\n />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >{label}</span>\n\n {!!subRoutes.length && (\n <span className=\"crm-class-ml-auto\">\n <FontAwesomeIcon\n icon={isSubMenuOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-font-10 crm-class-slate-gray\"\n />\n </span>\n )}\n </li>\n {(isSubMenuOpen) && !!subRoutes.length && (\n <ul className=\"crm-class-sidebar-sub-menu-list\">\n {subRoutes?.map((item) => (\n <SidebarItem key={uuidV4()} route={item} />\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 { Route } from '../../../types/Common'\nimport SidebarItem from './SidebarItem'\nimport React from 'react'\n\ninterface RoutesData {\n label: string;\n icon: string;\n subRoutes: Route[];\n}\n\nconst generateRoute = (\n label: string,\n icon: string | undefined,\n action?: () => void,\n subRoutes: Route[] = []\n): Route => ({\n label,\n visible: true,\n enable: true,\n iconName: icon,\n action: () => action?.(),\n subRoutes: subRoutes.map((subRoute) =>\n generateRoute(subRoute.label, subRoute?.iconName, subRoute.action, subRoute.subRoutes || [])\n )\n})\n\nconst generateRoutes = (\n routesData: {\n label: string;\n icon: string;\n action?: () => void;\n subRoutes: Route[];\n }[]\n): Route[] => {\n return routesData.map((routeData) =>\n generateRoute(routeData.label, routeData?.icon, routeData.action, routeData.subRoutes)\n )\n}\n\nconst SidebarComponent = (props: { routesData: RoutesData[], children: React.ReactNode }) => {\n\n\n const routes: Route[] = generateRoutes(props.routesData)\n\n return (\n <div style={{ display: 'flex' }}>\n <div className=\"crm-class-sidebar\">\n <ul className=\"crm-class-sidebar-list\">\n <span className=\"crm-class-title\">MENU</span>\n\n {routes.map((route, index) => (\n <SidebarItem key={`route_${index}`} route={route} />\n ))}\n\n </ul>\n </div>\n <div className=\"crm-class-sidebar-content\">\n {props.children}\n </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 = (labels: View[], callBackPath: (path: string) => void): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label.path),\n subRoutes: generateSubMenuData(label.views || [], callBackPath)\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","UserInfo","_ref","name","email","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","handleLanguageChange","language","flag","type","map","key","code","TopNavBarComponent","faBars","color","size","faSearch","src","_props$logoSrc","logoSrc","height","alt","_props$user$name","user","iconsPath","SidebarItem","route","_route$iconName","iconName","label","_route$subRoutes","subRoutes","selected","isSubMenuOpen","setIsSubMenuOpen","toggleSubMenu","prevState","useMemo","require","Fragment","_route$subRoutes2","length","_route$action","action","call","item","generateRoute","visible","enable","subRoute","generateRoutes","routesData","routeData","SidebarComponent","routes","display","index","children","generateSubMenuData","labels","callBackPath","path","views","icons","diamond","faGem"],"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"],"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\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","import React, { useState } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons'\nimport { colors } from '../../utils/utils'\n\nexport default function Dropdown(props: { startNameWord: 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-20\">\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 <p>Dropdown content here</p>\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\">{name} </span>\n <span>{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\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\">\n <span className={`crm-class-flag large ${selectedLanguage.flag}`}></span>\n </span>\n\n <div className=\"crm-class-dropdown-menu\">\n <button className=\"crm-class-dropdown-toggle\" type=\"button\">\n Choose Language\n </button>\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 \"\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 </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 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 <FontAwesomeIcon\n icon={faBars}\n color=\"#3f6ad8\"\n size=\"1x\"\n className=\"crm-class-mr-20 crm-class-cursor-pointer\"\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 <img\n src={props.logoSrc ?? 'https://via.placeholder.com/150'}\n style={{ height: '30px' }}\n className={props.onClickLogo ? 'crm-pointer' : ''}\n alt=\"\"\n onClick={props.onClickLogo ?? undefined}\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]} />\n <UserInfo name={props.user.name} email={props.user.email} />\n </div>\n </div>\n )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { faChevronDown, faChevronUp, IconDefinition } 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\nconst SidebarItem = ({ route }: SidebarItemProps) => {\n const { iconName = '', label, subRoutes = [], className } = route\n const [isSubMenuOpen, setIsSubMenuOpen] = useState(route.selected || false)\n\n const toggleSubMenu = () => {\n setIsSubMenuOpen((prevState) => !prevState)\n }\n\n const icon: IconDefinition = useMemo(() => {\n const name = iconsPath[iconName] || iconName\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require(`@fortawesome/free-regular-svg-icons`)[name] || require(`@fortawesome/free-solid-svg-icons`)[name]\n }, [])\n\n useEffect(() => {\n if(route.subRoutes?.some(subRoute => subRoute.selected)) {\n setIsSubMenuOpen(true);\n }\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 === 0) {\n route.action?.()\n }\n }}\n >\n {icon && (\n <span className=\"crm-class-color-icon crm-class-mr-10\">\n <FontAwesomeIcon\n icon={icon}\n className=\"crm-class-color-icon\"\n />\n </span>\n )}\n <span\n // onClick={route.subRoutes?.length ? undefined : route.action}\n className={`${route.selected ? 'crm-class-font-bold' : ''} `}\n >{label}</span>\n\n {!!subRoutes.length && (\n <span className=\"crm-class-ml-auto\">\n <FontAwesomeIcon\n icon={isSubMenuOpen ? faChevronUp : faChevronDown}\n className=\"crm-class-color-icon crm-class-font-10 crm-class-slate-gray\"\n />\n </span>\n )}\n </li>\n {(isSubMenuOpen) && !!subRoutes.length && (\n <ul className=\"crm-class-sidebar-sub-menu-list\">\n {subRoutes?.map((item) => (\n <SidebarItem key={uuidV4()} route={item} />\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 { Route } from '../../../types/Common'\nimport SidebarItem from './SidebarItem'\nimport React from 'react'\n\ninterface RoutesData {\n label: string;\n icon: string;\n subRoutes: Route[];\n}\n\nconst generateRoute = (\n label: string,\n icon: string | undefined,\n subRoutes: Route[] = [],\n path: string | undefined,\n action?: () => void,\n): Route => ({\n label,\n visible: true,\n enable: true,\n selected: window.location.pathname === path,\n iconName: icon,\n action: () => action?.(),\n subRoutes: subRoutes.map((subRoute) =>\n generateRoute(subRoute.label, subRoute?.iconName, subRoute.subRoutes || [], subRoute.path, subRoute.action)\n )\n})\n\nconst generateRoutes = (\n routesData: {\n label: string;\n icon: string;\n action?: () => void;\n subRoutes: Route[];\n }[]\n): Route[] => {\n return routesData.map((routeData) =>\n generateRoute(routeData.label, routeData?.icon, routeData.subRoutes, '', routeData.action)\n )\n}\n\nconst SidebarComponent = (props: { routesData: RoutesData[], children: React.ReactNode }) => {\n\n\n const routes: Route[] = generateRoutes(props.routesData)\n\n return (\n <div style={{ display: 'flex' }}>\n <div className=\"crm-class-sidebar\">\n <ul className=\"crm-class-sidebar-list\">\n <span className=\"crm-class-title\">MENU</span>\n\n {routes.map((route, index) => (\n <SidebarItem key={`route_${index}`} route={route} />\n ))}\n\n </ul>\n </div>\n <div className=\"crm-class-sidebar-content\">\n {props.children}\n </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 = (labels: View[], callBackPath: (path: string) => void): Route[] => {\n return labels.map((label) => ({\n label: label.name,\n className: 'crm-class-ml-20',\n action: () => callBackPath(label.path),\n path: label.path,\n subRoutes: generateSubMenuData(label.views || [], callBackPath)\n }))\n}\n\nexport const icons: Record<string, IconDefinition> = {\n diamond: faGem,\n default: faGem\n}\n"],"names":["uuidV4","replace","c","crypto","getRandomValues","Uint8Array","toString","colors","Dropdown","props","_useState","useState","isDropdownOpen","setIsDropdownOpen","toggleDropdown","React","className","onClick","style","background","startNameWord","toUpperCase","FontAwesomeIcon","icon","faChevronUp","faChevronDown","UserInfo","_ref","name","email","LanguageDropdown","languages","selectedLanguage","setSelectedLanguage","handleLanguageChange","language","flag","type","map","key","code","TopNavBarComponent","faBars","color","size","src","_props$logoSrc","logoSrc","height","onClickLogo","alt","_props$onClickLogo","undefined","_props$user$name","user","iconsPath","SidebarItem","route","_route$iconName","iconName","label","_route$subRoutes","subRoutes","selected","isSubMenuOpen","setIsSubMenuOpen","toggleSubMenu","prevState","useMemo","require","useEffect","_route$subRoutes2","some","subRoute","Fragment","_route$subRoutes3","length","_route$action","action","call","item","generateRoute","path","visible","enable","window","location","pathname","generateRoutes","routesData","routeData","SidebarComponent","routes","display","index","children","generateSubMenuData","labels","callBackPath","views","icons","diamond","faGem"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sbx-crm-menu-ui",
3
- "version": "2.0.1-beta.2",
3
+ "version": "2.0.1-beta.4",
4
4
  "description": "Menu Created by SBX Company for CRM.",
5
5
  "author": "Frank Carpio",
6
6
  "license": "ISC",
@@ -21,7 +21,8 @@
21
21
  "test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
22
22
  "test:watch": "react-scripts test --env=jsdom",
23
23
  "predeploy": "cd example && yarn install && yarn run build",
24
- "test-lib": "yarn run build && cp -r dist ${BASE_PATH_LIB}/sbx-crm-menu-ui/example/src/lib"
24
+ "test-lib": "yarn run build && cp -r dist ${BASE_PATH_LIB}/sbx-crm-menu-ui/example/src/lib",
25
+ "publish": "yarn run build && npm publish"
25
26
  },
26
27
  "peerDependencies": {
27
28
  "react": "^18.8.0"