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.
package/dist/index.css
CHANGED
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("
|
|
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
|
-
|
|
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$
|
|
190
|
+
var _route$subRoutes3;
|
|
188
191
|
toggleSubMenu();
|
|
189
|
-
if (((_route$
|
|
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,
|
|
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.
|
|
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.
|
|
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":";;;;;;;;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;AAGO,IAAMC,MAAM,GAAG;EACpB,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE,SAAS;EACd,GAAG,EAAE;CACN;;SChCuBC,QAAQA,CAACC,KAAgC;EAC/D,IAAAC,SAAA,GAA4CC,cAAQ,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,EAAEZ,MAAM,CAACE,KAAK,CAACW,aAAa,CAACC,WAAW,EAAE;KAAG;IAChEL,SAAS,EAAC;KAAgCP,KAAK,CAACW,aAAa,CAACC,WAAW,EAAE,CAAQ,EACzFN;IAAMC,SAAS,EAAC;KACdD,6BAACO,gCAAe;IACdC,IAAI,EAAEX,cAAc,GAAGY,6BAAW,GAAGC,+BAAa;IAClDT,SAAS,EAAC;IACV,CACG,EACNJ,cAAc,IACbG;IAAKC,SAAS,EAAC;KACbD,gEAA4B,CAE/B,CACG;AAEV;;SCrBwBW,QAAQA,CAAAC,IAAA;MAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;EAC5C,OACEd;IAAKC,SAAS,EAAC;KACbD;IAAMC,SAAS,EAAC;KAAuBY,IAAI,MAAS,EACpDb,2CAAOc,KAAK,CAAQ,CAChB;AAEV;;SCNwBC,gBAAgBA,CAACrB,KAAgC;EACvE,IAAAC,SAAA,GAAgDC,cAAQ,CACtDF,KAAK,CAACsB,SAAS,CAAC,CAAC,CAAC,CACnB;IAFMC,gBAAgB,GAAAtB,SAAA;IAAEuB,mBAAmB,GAAAvB,SAAA;EAI5C,IAAMwB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,QAAkB;IAC9CF,mBAAmB,CAACE,QAAQ,CAAC;GAC9B;EAED,OACEpB;IAAKC,SAAS,EAAC;KACbD;IAAMC,SAAS,EAAC;KACdD;IAAMC,SAAS,4BAA0BgB,gBAAgB,CAACI;IAAe,CACpE,EAEPrB;IAAKC,SAAS,EAAC;KACbD;IAAQC,SAAS,EAAC,2BAA2B;IAACqB,IAAI,EAAC;uBAE1C,EACTtB;IAAIC,SAAS,EAAC;yBAAkD,EAC/DP,KAAK,CAACsB,SAAS,CAACO,GAAG,CAAC,UAACH,QAAQ;IAAA,OAC5BpB;MACEwB,GAAG,EAAEJ,QAAQ,CAACK,IAAI;MAClBH,IAAI,EAAC,QAAQ;MACbrB,SAAS,EAAC,0BAA0B;MACpCC,OAAO,EAAE,SAAAA;QAAA,OAAMiB,oBAAoB,CAACC,QAAQ,CAAC;;OAE7CpB;MACEC,SAAS,wDAAsDmB,QAAQ,CAACC;MAClE,EACPD,QAAQ,CAACK,IAAI,CACP;GACV,CAAC,CACE,CACF;AAEV;;SC5BwBC,kBAAkBA,CAAChC,KAAY;;EAGrD,OACEM;IAAKC,SAAS,EAAC;KACbD;IAAKC,SAAS,EAAC;KACbD,6BAACO,gCAAe;IACdC,IAAI,EAAEmB,wBAAM;IACZC,KAAK,EAAC,SAAS;IACfC,IAAI,EAAC,IAAI;IACT5B,SAAS,EAAC;IACV,EACFD;IAAKC,SAAS,EAAC;KACbD;IAAKC,SAAS,EAAC;KACbD,6BAACO,gCAAe;IACdC,IAAI,EAAEsB,0BAAQ;IACdF,KAAK,EAAC,SAAS;IACf3B,SAAS,EAAC,EAAE;IACZ4B,IAAI,EAAC;IACL,CACE,EAEN7B;IACE+B,GAAG,GAAAC,cAAA,GAAEtC,KAAK,CAACuC,OAAO,YAAAD,cAAA,GAAI,iCAAiC;IACvD7B,KAAK,EAAE;MAAE+B,MAAM,EAAE;KAAQ;IACzBC,GAAG,EAAC;IACJ,CACE,CACF,EACNnC;IAAKC,SAAS,EAAC;KAGbD,6BAACe,gBAAgB;IAACC,SAAS,EAAEtB,KAAK,CAACsB;IAAa,EAGhDhB,6BAACP,QAAQ;IAACY,aAAa,GAAA+B,gBAAA,GAAE1C,KAAK,CAAC2C,IAAI,CAACxB,IAAI,cAAAuB,gBAAA,uBAAfA,gBAAA,CAAkB,CAAC;IAAK,EACjDpC,6BAACW,QAAQ;IAACE,IAAI,EAAEnB,KAAK,CAAC2C,IAAI,CAACxB,IAAI;IAAEC,KAAK,EAAEpB,KAAK,CAAC2C,IAAI,CAACvB;IAAS,CACxD,CACF;AAEV;;ACnDO,IAAMwB,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,CAAA3B,IAAA;MAAM4B,KAAK,GAAA5B,IAAA,CAAL4B,KAAK;EAC1B,IAAAC,eAAA,GAA4DD,KAAK,CAAzDE,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAEE,KAAK,GAAgCH,KAAK,CAA1CG,KAAK;IAAAC,gBAAA,GAAgCJ,KAAK,CAAnCK,SAAS;IAATA,SAAS,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IAAE3C,SAAS,GAAKuC,KAAK,CAAnBvC,SAAS;EACvD,IAAAN,SAAA,GAA0CC,cAAQ,CAAC4C,KAAK,CAACM,QAAQ,IAAI,KAAK,CAAC;IAApEC,aAAa,GAAApD,SAAA;IAAEqD,gBAAgB,GAAArD,SAAA;EAEtC,IAAMsD,aAAa,GAAG,SAAhBA,aAAaA;IACjBD,gBAAgB,CAAC,UAACE,SAAS;MAAA,OAAK,CAACA,SAAS;MAAC;GAC5C;EAED,IAAM1C,IAAI,GAAmB2C,aAAO,CAAC;IACnC,IAAMtC,IAAI,GAAGyB,SAAS,CAACI,QAAQ,CAAC,IAAIA,QAAQ;IAE5C,OAAOU,OAAO,sCAAsC,CAAC,CAACvC,IAAI,CAAC;GAC5D,EAAE,EAAE,CAAC;EAEN,OACEb,6BAACA,cAAK,CAACqD,QAAQ,QACbrD;IACEC,SAAS,6BAA0BA,SAAS,WAATA,SAAS,GAAI,EAAE,CAAE;IACpDC,OAAO,EAAE,SAAAA;;MACP+C,aAAa,EAAE;MACf,IAAI,EAAAK,iBAAA,GAAAd,KAAK,CAACK,SAAS,cAAAS,iBAAA,uBAAfA,iBAAA,CAAiBC,MAAM,MAAK,CAAC,EAAE;QAAA,IAAAC,aAAA;QACjC,CAAAA,aAAA,GAAAhB,KAAK,CAACiB,MAAM,cAAAD,aAAA,uBAAZA,aAAA,CAAAE,IAAA,CAAAlB,MAAgB;;;KAInBhC,IAAI,IACHR;IAAMC,SAAS,EAAC;KACZD,6BAACO,gCAAe;IACdC,IAAI,EAAEA,IAAI;IACVP,SAAS,EAAC;IACV,CAEP,EACDD;IAEEC,SAAS,GAAKuC,KAAK,CAACM,QAAQ,GAAG,qBAAqB,GAAG,EAAE;KACzDH,KAAK,CAAQ,EAEd,CAAC,CAACE,SAAS,CAACU,MAAM,IACjBvD;IAAMC,SAAS,EAAC;KACdD,6BAACO,gCAAe;IACdC,IAAI,EAAEuC,aAAa,GAAGtC,6BAAW,GAAGC,+BAAa;IACjDT,SAAS,EAAC;IACV,CAEL,CACE,EACH8C,aAAa,IAAK,CAAC,CAACF,SAAS,CAACU,MAAM,IACpCvD;IAAIC,SAAS,EAAC;KACX4C,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEtB,GAAG,CAAC,UAACoC,IAAI;IAAA,OACnB3D,6BAACuC,WAAW;MAACf,GAAG,EAAEvC,MAAM,EAAE;MAAEuD,KAAK,EAAEmB;MAAQ;GAC5C,CAAC,CAEL,CACc;AAErB,CAAC;;AChED,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACjBjB,KAAa,EACbnC,IAAwB,EACxBiD,OAAmB,EACnBZ;MAAAA;IAAAA,YAAqB,EAAE;;EAAA,OACZ;IACXF,KAAK,EAALA,KAAK;IACLkB,OAAO,EAAE,IAAI;IACbC,MAAM,EAAE,IAAI;IACZpB,QAAQ,EAAElC,IAAI;IACdiD,MAAM,EAAE,SAAAA;MAAA,OAAMA,OAAM,aAANA,OAAM,uBAANA,OAAM,EAAI;;IACxBZ,SAAS,EAAEA,SAAS,CAACtB,GAAG,CAAC,UAACwC,QAAQ;MAAA,OAChCH,aAAa,CAACG,QAAQ,CAACpB,KAAK,EAAEoB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAErB,QAAQ,EAAEqB,QAAQ,CAACN,MAAM,EAAEM,QAAQ,CAAClB,SAAS,IAAI,EAAE,CAAC;;GAE/F;AAAA,CAAC;AAEF,IAAMmB,cAAc,GAAG,SAAjBA,cAAcA,CAClBC,UAKG;EAEH,OAAOA,UAAU,CAAC1C,GAAG,CAAC,UAAC2C,SAAS;IAAA,OAC9BN,aAAa,CAACM,SAAS,CAACvB,KAAK,EAAEuB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE1D,IAAI,EAAE0D,SAAS,CAACT,MAAM,EAAES,SAAS,CAACrB,SAAS,CAAC;IACvF;AACH,CAAC;AAED,IAAMsB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIzE,KAA8D;EAGtF,IAAM0E,MAAM,GAAYJ,cAAc,CAACtE,KAAK,CAACuE,UAAU,CAAC;EAExD,OACEjE;IAAKG,KAAK,EAAE;MAAEkE,OAAO,EAAE;;KACrBrE;IAAKC,SAAS,EAAC;KACbD;IAAIC,SAAS,EAAC;KACZD;IAAMC,SAAS,EAAC;YAA6B,EAE5CmE,MAAM,CAAC7C,GAAG,CAAC,UAACiB,KAAK,EAAE8B,KAAK;IAAA,OACvBtE,6BAACuC,WAAW;MAACf,GAAG,aAAW8C,KAAO;MAAE9B,KAAK,EAAEA;MAAS;GACrD,CAAC,CAEC,CACD,EACNxC;IAAKC,SAAS,EAAC;KACZP,KAAK,CAAC6E,QAAQ,CACX,CACF;AAEV,CAAC;;ICpDYC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,MAAc,EAAEC,YAAoC;EACtF,OAAOD,MAAM,CAAClD,GAAG,CAAC,UAACoB,KAAK;IAAA,OAAM;MAC5BA,KAAK,EAAEA,KAAK,CAAC9B,IAAI;MACjBZ,SAAS,EAAE,iBAAiB;MAC5BwD,MAAM,EAAE,SAAAA;QAAA,OAAMiB,YAAY,CAAC/B,KAAK,CAACgC,IAAI,CAAC;;MACtC9B,SAAS,EAAE2B,mBAAmB,CAAC7B,KAAK,CAACiC,KAAK,IAAI,EAAE,EAAEF,YAAY;KAC/D;GAAC,CAAC;AACL,CAAC;AAED,IAAaG,KAAK,GAAmC;EACnDC,OAAO,EAAEC,yBAAK;EACd,WAASA;CACV;;;;;;;"}
|
|
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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"}
|
package/dist/index.modern.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { faChevronUp, faChevronDown, faBars
|
|
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("
|
|
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
|
-
|
|
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$
|
|
187
|
+
var _route$subRoutes3;
|
|
185
188
|
toggleSubMenu();
|
|
186
|
-
if (((_route$
|
|
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,
|
|
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.
|
|
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.
|
|
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
|
});
|
package/dist/index.modern.js.map
CHANGED
|
@@ -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.
|
|
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"
|