alicia-design-system 1.76.16 → 1.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cjs/alicia/common/Sidebar/Sidebar.d.ts +31 -0
  2. package/dist/cjs/alicia/common/Sidebar/Sidebar.js +71 -0
  3. package/dist/cjs/alicia/common/Sidebar/Sidebar.js.map +1 -0
  4. package/dist/cjs/alicia/common/Sidebar/Sidebar.spec.d.ts +1 -0
  5. package/dist/cjs/alicia/common/Sidebar/Sidebar.spec.js +78 -0
  6. package/dist/cjs/alicia/common/Sidebar/Sidebar.spec.js.map +1 -0
  7. package/dist/cjs/alicia/common/Sidebar/Sidebar.stories.d.ts +5 -0
  8. package/dist/cjs/alicia/common/Sidebar/Sidebar.stories.js +83 -0
  9. package/dist/cjs/alicia/common/Sidebar/Sidebar.stories.js.map +1 -0
  10. package/dist/cjs/alicia/common/Sidebar/index.d.ts +1 -0
  11. package/dist/cjs/alicia/common/Sidebar/index.js +6 -0
  12. package/dist/cjs/alicia/common/Sidebar/index.js.map +1 -0
  13. package/dist/cjs/alicia/common/icons/PlusIcon.d.ts +3 -0
  14. package/dist/cjs/alicia/common/icons/PlusIcon.js +12 -0
  15. package/dist/cjs/alicia/common/icons/PlusIcon.js.map +1 -0
  16. package/dist/cjs/alicia/common/icons/index.d.ts +1 -0
  17. package/dist/cjs/alicia/common/icons/index.js +1 -0
  18. package/dist/cjs/alicia/common/icons/index.js.map +1 -1
  19. package/dist/cjs/index.d.ts +1 -0
  20. package/dist/cjs/index.js +1 -0
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/esm/alicia/common/Sidebar/Sidebar.d.ts +31 -0
  23. package/dist/esm/alicia/common/Sidebar/Sidebar.js +67 -0
  24. package/dist/esm/alicia/common/Sidebar/Sidebar.js.map +1 -0
  25. package/dist/esm/alicia/common/Sidebar/Sidebar.spec.d.ts +1 -0
  26. package/dist/esm/alicia/common/Sidebar/Sidebar.spec.js +76 -0
  27. package/dist/esm/alicia/common/Sidebar/Sidebar.spec.js.map +1 -0
  28. package/dist/esm/alicia/common/Sidebar/Sidebar.stories.d.ts +5 -0
  29. package/dist/esm/alicia/common/Sidebar/Sidebar.stories.js +80 -0
  30. package/dist/esm/alicia/common/Sidebar/Sidebar.stories.js.map +1 -0
  31. package/dist/esm/alicia/common/Sidebar/index.d.ts +1 -0
  32. package/dist/esm/alicia/common/Sidebar/index.js +2 -0
  33. package/dist/esm/alicia/common/Sidebar/index.js.map +1 -0
  34. package/dist/esm/alicia/common/icons/PlusIcon.d.ts +3 -0
  35. package/dist/esm/alicia/common/icons/PlusIcon.js +8 -0
  36. package/dist/esm/alicia/common/icons/PlusIcon.js.map +1 -0
  37. package/dist/esm/alicia/common/icons/index.d.ts +1 -0
  38. package/dist/esm/alicia/common/icons/index.js +1 -0
  39. package/dist/esm/alicia/common/icons/index.js.map +1 -1
  40. package/dist/esm/index.d.ts +1 -0
  41. package/dist/esm/index.js +1 -0
  42. package/dist/esm/index.js.map +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ import { FC } from "react";
2
+ export declare const Sidebar: FC<SidebarProps>;
3
+ export type SidebarProps = {
4
+ menu: MenuItem[];
5
+ activeRoute: string;
6
+ colors: NavbarColors;
7
+ onClick: (route: string) => void;
8
+ };
9
+ type MenuItem = {
10
+ id: string;
11
+ label: string;
12
+ route?: string;
13
+ icon?: React.ReactNode;
14
+ subMenu?: SubMenuItem[];
15
+ };
16
+ type SubMenuItem = {
17
+ id: string;
18
+ label: string;
19
+ route: string;
20
+ icon?: React.ReactNode;
21
+ };
22
+ type NavbarColors = {
23
+ navbarBackgroundColor?: string;
24
+ menuItemBackgroundColor?: string;
25
+ menuItemTextColor?: string;
26
+ menuItemActiveTextColor?: string;
27
+ menuItemActiveBackgroundColor?: string;
28
+ menuItemHoverTextColor?: string;
29
+ menuItemHoverBackgroundColor?: string;
30
+ };
31
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Sidebar = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("@chakra-ui/react");
6
+ const polished_1 = require("polished");
7
+ const react_2 = require("react");
8
+ const framer_motion_1 = require("framer-motion");
9
+ const icons_1 = require("@chakra-ui/icons");
10
+ const Sidebar = ({ menu, colors, onClick, activeRoute }) => {
11
+ const [openParentId, setOpenParentId] = (0, react_2.useState)(undefined);
12
+ const onNavItemClick = (value, type, parent) => {
13
+ if (type === NavItemTypeEnum.HAS_CHILDREN) {
14
+ setOpenParentId(openParentId === value ? undefined : value);
15
+ }
16
+ else {
17
+ setOpenParentId(parent);
18
+ onClick(value);
19
+ }
20
+ };
21
+ return ((0, jsx_runtime_1.jsx)(react_1.Flex, Object.assign({ w: "100%", px: (0, polished_1.rem)(24), pt: (0, polished_1.rem)(45), flexDirection: "column", gap: (0, polished_1.rem)(12) }, { children: menu.map((item) => {
22
+ return ((0, jsx_runtime_1.jsx)(ListItem, Object.assign({}, item, { colors: colors, activeRoute: activeRoute, onClick: onNavItemClick, openParentMenuId: openParentId }), item.id));
23
+ }) })));
24
+ };
25
+ exports.Sidebar = Sidebar;
26
+ const ListItem = ({ id, label, route, icon, subMenu, colors, activeRoute, onClick, openParentMenuId }) => {
27
+ const isActive = route === activeRoute;
28
+ const isActiveSubMenu = subMenu && subMenu.length > 0 && subMenu.some((item) => item.route === activeRoute);
29
+ const container = {
30
+ hidden: { y: -50, opacity: 0, zIndex: -1 },
31
+ show: {
32
+ y: [-50, 0, 0],
33
+ opacity: [0, 1],
34
+ zIndex: 0,
35
+ transition: {
36
+ duration: 0.5,
37
+ },
38
+ },
39
+ };
40
+ const onNavItemClick = (value) => {
41
+ if (subMenu && subMenu.length > 0) {
42
+ onClick(value, NavItemTypeEnum.HAS_CHILDREN);
43
+ }
44
+ else {
45
+ onClick(value, NavItemTypeEnum.HAS_NO_CHILDREN);
46
+ }
47
+ };
48
+ return ((0, jsx_runtime_1.jsxs)(react_1.Flex, Object.assign({ w: "100%", flexDirection: "column" }, { children: [(0, jsx_runtime_1.jsx)(NavItem, { id: id, label: label, route: route, icon: icon, colors: colors, isActive: isActive || (isActiveSubMenu !== null && isActiveSubMenu !== void 0 ? isActiveSubMenu : false), onClick: onNavItemClick, hasSubMenu: subMenu && subMenu.length > 0, isOpen: openParentMenuId === id || isActiveSubMenu }), ((isActiveSubMenu !== null && isActiveSubMenu !== void 0 ? isActiveSubMenu : false) || openParentMenuId === id) && subMenu && (subMenu === null || subMenu === void 0 ? void 0 : subMenu.length) > 0 && ((0, jsx_runtime_1.jsx)(framer_motion_1.AnimatePresence, Object.assign({ mode: "wait", initial: true }, { children: (0, jsx_runtime_1.jsx)(framer_motion_1.motion.div, Object.assign({ variants: container, initial: "hidden", animate: "show", style: { width: '100%' } }, { children: (0, jsx_runtime_1.jsx)(react_1.Flex, Object.assign({ w: "100%", flexDir: "column", mt: (0, polished_1.rem)(8), pl: (0, polished_1.rem)(24), gap: (0, polished_1.rem)(12) }, { children: subMenu.map((item) => ((0, jsx_runtime_1.jsx)(NavItem, Object.assign({}, item, { colors: colors, isActive: item.route === activeRoute, onClick: (e) => onClick(e, NavItemTypeEnum.HAS_NO_CHILDREN, id) }), item.id))) })) })) })))] })));
49
+ };
50
+ const NavItem = ({ id, label, route, icon, colors, isActive, onClick, hasSubMenu = false, isOpen }) => {
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
52
+ return ((0, jsx_runtime_1.jsx)(react_1.Flex, Object.assign({ w: "100%", px: (0, polished_1.rem)(12), rounded: "full", sx: {
53
+ py: hasSubMenu ? (0, polished_1.rem)(8) : (0, polished_1.rem)(12),
54
+ cursor: 'pointer',
55
+ border: `${!hasSubMenu ? (0, polished_1.rem)(1) : 0} solid ${isActive ? (_a = colors.menuItemActiveBackgroundColor) !== null && _a !== void 0 ? _a : 'transparent' : (_b = colors.menuItemTextColor) !== null && _b !== void 0 ? _b : '#E5E5E5'}`,
56
+ backgroundColor: hasSubMenu ? "transparent" : isActive ? (_c = colors.menuItemActiveBackgroundColor) !== null && _c !== void 0 ? _c : "transparent" : (_d = colors.menuItemBackgroundColor) !== null && _d !== void 0 ? _d : '#FFFFFF',
57
+ color: isActive ? (_e = colors.menuItemActiveTextColor) !== null && _e !== void 0 ? _e : "13100D" : (_f = colors.menuItemTextColor) !== null && _f !== void 0 ? _f : '#13100D',
58
+ fontWeight: hasSubMenu ? "bold" : "500",
59
+ _hover: {
60
+ bg: hasSubMenu ? "transparent" : isActive ? (_g = colors.menuItemBackgroundColor) !== null && _g !== void 0 ? _g : '#FFFFFF' : (_h = colors.menuItemHoverBackgroundColor) !== null && _h !== void 0 ? _h : 'transparent',
61
+ color: (_j = colors.menuItemHoverTextColor) !== null && _j !== void 0 ? _j : '#13100D',
62
+ border: `${!hasSubMenu ? (0, polished_1.rem)(1) : 0} solid ${isActive ? (_k = colors.menuItemTextColor) !== null && _k !== void 0 ? _k : 'transparent' : (_l = colors.menuItemHoverBackgroundColor) !== null && _l !== void 0 ? _l : 'transparent'}`,
63
+ }
64
+ }, onClick: () => { onClick(hasSubMenu ? id : route !== null && route !== void 0 ? route : ""); } }, { children: (0, jsx_runtime_1.jsxs)(react_1.Flex, Object.assign({ w: "100%", alignItems: "center" }, { children: [(0, jsx_runtime_1.jsxs)(react_1.Flex, { children: [!hasSubMenu && icon, (0, jsx_runtime_1.jsx)(react_1.Text, Object.assign({ pl: icon ? (0, polished_1.rem)(12) : 0, fontSize: (0, polished_1.rem)(14), lineHeight: (0, polished_1.rem)(20) }, { children: label }))] }), hasSubMenu && ((0, jsx_runtime_1.jsx)(react_1.Flex, Object.assign({ ml: (0, polished_1.rem)(12), mt: (0, polished_1.rem)(2) }, { children: isOpen ? (0, jsx_runtime_1.jsx)(icons_1.ChevronUpIcon, {}) : (0, jsx_runtime_1.jsx)(icons_1.ChevronDownIcon, {}) })))] })) })));
65
+ };
66
+ var NavItemTypeEnum;
67
+ (function (NavItemTypeEnum) {
68
+ NavItemTypeEnum[NavItemTypeEnum["HAS_CHILDREN"] = 0] = "HAS_CHILDREN";
69
+ NavItemTypeEnum[NavItemTypeEnum["HAS_NO_CHILDREN"] = 1] = "HAS_NO_CHILDREN";
70
+ })(NavItemTypeEnum || (NavItemTypeEnum = {}));
71
+ //# sourceMappingURL=Sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("@testing-library/react");
5
+ require("@testing-library/jest-dom");
6
+ const index_1 = require("./index");
7
+ const SupportIcon_1 = require("../icons/SupportIcon");
8
+ const data = {
9
+ menu: [{
10
+ id: "dashboard",
11
+ label: "Dashboard",
12
+ route: "/dashboard",
13
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
14
+ },
15
+ {
16
+ id: "partnerAdmin",
17
+ label: "Partner Admin",
18
+ route: "/partner-admin",
19
+ },
20
+ {
21
+ id: "generalAdmin",
22
+ label: "General Admin",
23
+ route: "/general-admin",
24
+ },
25
+ {
26
+ id: "claims",
27
+ label: "Claims",
28
+ subMenu: [
29
+ {
30
+ id: "claimsOverview",
31
+ label: "Claims Overview",
32
+ route: "/claims-overview",
33
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
34
+ },
35
+ {
36
+ id: "claimsDetails",
37
+ label: "Claims details",
38
+ route: "/claims-details",
39
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ id: "access",
45
+ label: "Access management",
46
+ subMenu: [
47
+ {
48
+ id: "accessOverview",
49
+ label: "Access Overview",
50
+ route: "/access-overview",
51
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
52
+ },
53
+ {
54
+ id: "accessDetails",
55
+ label: "Access details",
56
+ route: "/access-details",
57
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
58
+ }
59
+ ]
60
+ }
61
+ ],
62
+ activeRoute: "/dashboard",
63
+ colors: {
64
+ menuItemBackgroundColor: "transparent",
65
+ menuItemTextColor: "#13100D",
66
+ menuItemActiveBackgroundColor: "#EBFF00",
67
+ menuItemActiveTextColor: "13100D",
68
+ menuItemHoverBackgroundColor: "rgba(0, 0, 0, 0.05)",
69
+ menuItemHoverTextColor: "#13100D",
70
+ },
71
+ };
72
+ describe("Sidebar component testing with testing-library", () => {
73
+ it("renders without crashing", () => {
74
+ const component = (0, react_1.render)((0, jsx_runtime_1.jsx)(index_1.Sidebar, Object.assign({}, data, { onClick: jest.fn() })));
75
+ expect(component).toBeTruthy();
76
+ });
77
+ });
78
+ //# sourceMappingURL=Sidebar.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.spec.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/Sidebar.spec.tsx"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,qCAAmC;AACnC,mCAAkC;AAClC,sDAAmD;AAEnD,MAAM,IAAI,GAAE;IACV,IAAI,EAAE,CAAC;YACL,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;SACrC;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;KACA;IACD,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE;QACN,uBAAuB,EAAE,aAAa;QACtC,iBAAiB,EAAE,SAAS;QAC5B,6BAA6B,EAAE,SAAS;QACxC,uBAAuB,EAAE,QAAQ;QACjC,4BAA4B,EAAE,qBAAqB;QACnD,sBAAsB,EAAE,SAAS;KAClC;CACF,CAAA;AAGD,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,IAAA,cAAM,EAAC,uBAAC,eAAO,oBAAK,IAAI,IAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEpE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { ComponentStory, ComponentMeta } from "@storybook/react";
3
+ declare const _default: ComponentMeta<import("react").FC<import("./Sidebar").SidebarProps>>;
4
+ export default _default;
5
+ export declare const Primary: ComponentStory<import("react").FC<import("./Sidebar").SidebarProps>>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Primary = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("@chakra-ui/react");
6
+ const polished_1 = require("polished");
7
+ const react_2 = require("react");
8
+ const SupportIcon_1 = require("../icons/SupportIcon");
9
+ const Sidebar_1 = require("./Sidebar");
10
+ exports.default = {
11
+ title: "Alicia/common/Sidebar",
12
+ component: Sidebar_1.Sidebar,
13
+ };
14
+ const Template = (args) => {
15
+ const [activeRoute, setActiveRoute] = (0, react_2.useState)("/dashboard");
16
+ return ((0, jsx_runtime_1.jsx)(react_1.Flex, Object.assign({ maxW: (0, polished_1.rem)(300) }, { children: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, Object.assign({}, args, { activeRoute: activeRoute, onClick: (e) => setActiveRoute(e) })) })));
17
+ };
18
+ exports.Primary = Template.bind({});
19
+ exports.Primary.args = {
20
+ menu: [{
21
+ id: "dashboard",
22
+ label: "Dashboard",
23
+ route: "/dashboard",
24
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
25
+ },
26
+ {
27
+ id: "partnerAdmin",
28
+ label: "Partner Admin",
29
+ route: "/partner-admin",
30
+ },
31
+ {
32
+ id: "generalAdmin",
33
+ label: "General Admin",
34
+ route: "/general-admin",
35
+ },
36
+ {
37
+ id: "claims",
38
+ label: "Claims",
39
+ subMenu: [
40
+ {
41
+ id: "claimsOverview",
42
+ label: "Claims Overview",
43
+ route: "/claims-overview",
44
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
45
+ },
46
+ {
47
+ id: "claimsDetails",
48
+ label: "Claims details",
49
+ route: "/claims-details",
50
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ id: "access",
56
+ label: "Access management",
57
+ subMenu: [
58
+ {
59
+ id: "accessOverview",
60
+ label: "Access Overview",
61
+ route: "/access-overview",
62
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
63
+ },
64
+ {
65
+ id: "accessDetails",
66
+ label: "Access details",
67
+ route: "/access-details",
68
+ icon: (0, jsx_runtime_1.jsx)(SupportIcon_1.SupportIcon, { fill: "#006A70" })
69
+ }
70
+ ]
71
+ }
72
+ ],
73
+ activeRoute: "/dashboard",
74
+ colors: {
75
+ menuItemBackgroundColor: "transparent",
76
+ menuItemTextColor: "#13100D",
77
+ menuItemActiveBackgroundColor: "#EBFF00",
78
+ menuItemActiveTextColor: "13100D",
79
+ menuItemHoverBackgroundColor: "rgba(0, 0, 0, 0.05)",
80
+ menuItemHoverTextColor: "#13100D",
81
+ },
82
+ };
83
+ //# sourceMappingURL=Sidebar.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.stories.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/Sidebar.stories.tsx"],"names":[],"mappings":";;;;AAAA,4CAAwC;AAExC,uCAA+B;AAC/B,iCAAiC;AACjC,sDAAmD;AACnD,uCAAoC;AAEpC,kBAAe;IACb,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,iBAAO;CACc,CAAC;AAEnC,MAAM,QAAQ,GAAmC,CAAC,IAAI,EAAE,EAAE;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAS,YAAY,CAAC,CAAC;IAErE,OAAO,CACL,uBAAC,YAAI,kBAAC,IAAI,EAAE,IAAA,cAAG,EAAC,GAAG,CAAC,gBAClB,uBAAC,iBAAO,oBACF,IAAI,IACR,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IACjC,IACG,CACR,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEzC,eAAO,CAAC,IAAI,GAAG;IACb,IAAI,EAAE,CAAC;YACL,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;SACrC;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,uBAAC,yBAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;KACA;IACD,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE;QACN,uBAAuB,EAAE,aAAa;QACtC,iBAAiB,EAAE,SAAS;QAC5B,6BAA6B,EAAE,SAAS;QACxC,uBAAuB,EAAE,QAAQ;QACjC,4BAA4B,EAAE,qBAAqB;QACnD,sBAAsB,EAAE,SAAS;KAClC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export { Sidebar } from './Sidebar';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Sidebar = void 0;
4
+ var Sidebar_1 = require("./Sidebar");
5
+ Object.defineProperty(exports, "Sidebar", { enumerable: true, get: function () { return Sidebar_1.Sidebar; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/index.tsx"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const PlusIcon: ({ fillColor }: {
2
+ fillColor?: string | undefined;
3
+ }) => import("@chakra-ui/system/dist/system.types").ComponentWithAs<"svg", import("@chakra-ui/icon/dist/icon").IconProps>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlusIcon = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const icons_1 = require("@chakra-ui/icons");
6
+ const PlusIcon = ({ fillColor }) => (0, icons_1.createIcon)({
7
+ displayName: "PlusIcon",
8
+ viewBox: "0 0 22 22",
9
+ path: ((0, jsx_runtime_1.jsx)("path", { d: "M11.6145 16.2607L11.1725 16.2607L11.1725 11.3109L6.2228 11.3109L6.2228 10.869L11.1725 10.869L11.1725 5.91925L11.6145 5.91925L11.6145 10.869L16.5642 10.869L16.5642 11.3109L11.6145 11.3109L11.6145 16.2607Z", fill: fillColor })),
10
+ });
11
+ exports.PlusIcon = PlusIcon;
12
+ //# sourceMappingURL=PlusIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlusIcon.js","sourceRoot":"","sources":["../../../../../src/alicia/common/icons/PlusIcon.tsx"],"names":[],"mappings":";;;;AAAA,4CAA8C;AAEvC,MAAM,QAAQ,GAAI,CAAC,EAAE,SAAS,EAA2B,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC;IAC5E,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,CACF,iCACI,CAAC,EAAC,6MAA6M,EAC/M,IAAI,EAAE,SAAS,GACjB,CACL;CACJ,CAAC,CAAC;AATU,QAAA,QAAQ,YASlB"}
@@ -24,3 +24,4 @@ export * from "./EllipseEmptyIcon";
24
24
  export * from "./UnderlineIcon";
25
25
  export * from "./TextBackdrop";
26
26
  export * from "./SearchIcon";
27
+ export * from "./PlusIcon";
@@ -40,4 +40,5 @@ __exportStar(require("./EllipseEmptyIcon"), exports);
40
40
  __exportStar(require("./UnderlineIcon"), exports);
41
41
  __exportStar(require("./TextBackdrop"), exports);
42
42
  __exportStar(require("./SearchIcon"), exports);
43
+ __exportStar(require("./PlusIcon"), exports);
43
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/alicia/common/icons/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,+CAA6B;AAC7B,6CAA2B;AAC3B,gDAA8B;AAC9B,kDAAgC;AAChC,oDAAkC;AAClC,8CAA4B;AAC5B,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC;AACnC,8CAA4B;AAC5B,6CAA2B;AAC3B,6CAA2B;AAC3B,qDAAmC;AACnC,2DAAyC;AACzC,6CAA2B;AAC3B,+CAA6B;AAC7B,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B;AAC5B,gDAA8B;AAC9B,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/alicia/common/icons/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,+CAA6B;AAC7B,6CAA2B;AAC3B,gDAA8B;AAC9B,kDAAgC;AAChC,oDAAkC;AAClC,8CAA4B;AAC5B,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC;AACnC,8CAA4B;AAC5B,6CAA2B;AAC3B,6CAA2B;AAC3B,qDAAmC;AACnC,2DAAyC;AACzC,6CAA2B;AAC3B,+CAA6B;AAC7B,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B;AAC5B,gDAA8B;AAC9B,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,+CAA6B;AAC7B,6CAA2B"}
@@ -21,3 +21,4 @@ export * from "./alicia/common/HeaderNavigation";
21
21
  export * from "./alicia/common/StepsProgressBar";
22
22
  export * from "./types";
23
23
  export * from "./alicia/common/SupportMenu";
24
+ export * from "./alicia/common/Sidebar";
package/dist/cjs/index.js CHANGED
@@ -37,4 +37,5 @@ __exportStar(require("./alicia/common/HeaderNavigation"), exports);
37
37
  __exportStar(require("./alicia/common/StepsProgressBar"), exports);
38
38
  __exportStar(require("./types"), exports);
39
39
  __exportStar(require("./alicia/common/SupportMenu"), exports);
40
+ __exportStar(require("./alicia/common/Sidebar"), exports);
40
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,2DAAyC;AACzC,yDAAuC;AACvC,uDAAqC;AACrC,6DAA2C;AAC3C,6DAA2C;AAC3C,uDAAqC;AACrC,mEAAiD;AACjD,wDAAsC;AACtC,0DAAwC;AACxC,yDAAuC;AACvC,4DAA0C;AAC1C,oEAAkD;AAClD,0DAAwC;AACxC,uDAAqC;AACrC,8DAA4C;AAC5C,yDAAuC;AACvC,yDAAuC;AACvC,uDAAqC;AACrC,mEAAiD;AACjD,mEAAiD;AACjD,0CAAwB;AACxB,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,2DAAyC;AACzC,yDAAuC;AACvC,uDAAqC;AACrC,6DAA2C;AAC3C,6DAA2C;AAC3C,uDAAqC;AACrC,mEAAiD;AACjD,wDAAsC;AACtC,0DAAwC;AACxC,yDAAuC;AACvC,4DAA0C;AAC1C,oEAAkD;AAClD,0DAAwC;AACxC,uDAAqC;AACrC,8DAA4C;AAC5C,yDAAuC;AACvC,yDAAuC;AACvC,uDAAqC;AACrC,mEAAiD;AACjD,mEAAiD;AACjD,0CAAwB;AACxB,8DAA4C;AAC5C,0DAAwC"}
@@ -0,0 +1,31 @@
1
+ import { FC } from "react";
2
+ export declare const Sidebar: FC<SidebarProps>;
3
+ export type SidebarProps = {
4
+ menu: MenuItem[];
5
+ activeRoute: string;
6
+ colors: NavbarColors;
7
+ onClick: (route: string) => void;
8
+ };
9
+ type MenuItem = {
10
+ id: string;
11
+ label: string;
12
+ route?: string;
13
+ icon?: React.ReactNode;
14
+ subMenu?: SubMenuItem[];
15
+ };
16
+ type SubMenuItem = {
17
+ id: string;
18
+ label: string;
19
+ route: string;
20
+ icon?: React.ReactNode;
21
+ };
22
+ type NavbarColors = {
23
+ navbarBackgroundColor?: string;
24
+ menuItemBackgroundColor?: string;
25
+ menuItemTextColor?: string;
26
+ menuItemActiveTextColor?: string;
27
+ menuItemActiveBackgroundColor?: string;
28
+ menuItemHoverTextColor?: string;
29
+ menuItemHoverBackgroundColor?: string;
30
+ };
31
+ export {};
@@ -0,0 +1,67 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex, Text } from '@chakra-ui/react';
3
+ import { rem } from 'polished';
4
+ import { useState } from "react";
5
+ import { AnimatePresence, motion } from 'framer-motion';
6
+ import { ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons';
7
+ export const Sidebar = ({ menu, colors, onClick, activeRoute }) => {
8
+ const [openParentId, setOpenParentId] = useState(undefined);
9
+ const onNavItemClick = (value, type, parent) => {
10
+ if (type === NavItemTypeEnum.HAS_CHILDREN) {
11
+ setOpenParentId(openParentId === value ? undefined : value);
12
+ }
13
+ else {
14
+ setOpenParentId(parent);
15
+ onClick(value);
16
+ }
17
+ };
18
+ return (_jsx(Flex, Object.assign({ w: "100%", px: rem(24), pt: rem(45), flexDirection: "column", gap: rem(12) }, { children: menu.map((item) => {
19
+ return (_jsx(ListItem, Object.assign({}, item, { colors: colors, activeRoute: activeRoute, onClick: onNavItemClick, openParentMenuId: openParentId }), item.id));
20
+ }) })));
21
+ };
22
+ const ListItem = ({ id, label, route, icon, subMenu, colors, activeRoute, onClick, openParentMenuId }) => {
23
+ const isActive = route === activeRoute;
24
+ const isActiveSubMenu = subMenu && subMenu.length > 0 && subMenu.some((item) => item.route === activeRoute);
25
+ const container = {
26
+ hidden: { y: -50, opacity: 0, zIndex: -1 },
27
+ show: {
28
+ y: [-50, 0, 0],
29
+ opacity: [0, 1],
30
+ zIndex: 0,
31
+ transition: {
32
+ duration: 0.5,
33
+ },
34
+ },
35
+ };
36
+ const onNavItemClick = (value) => {
37
+ if (subMenu && subMenu.length > 0) {
38
+ onClick(value, NavItemTypeEnum.HAS_CHILDREN);
39
+ }
40
+ else {
41
+ onClick(value, NavItemTypeEnum.HAS_NO_CHILDREN);
42
+ }
43
+ };
44
+ return (_jsxs(Flex, Object.assign({ w: "100%", flexDirection: "column" }, { children: [_jsx(NavItem, { id: id, label: label, route: route, icon: icon, colors: colors, isActive: isActive || (isActiveSubMenu !== null && isActiveSubMenu !== void 0 ? isActiveSubMenu : false), onClick: onNavItemClick, hasSubMenu: subMenu && subMenu.length > 0, isOpen: openParentMenuId === id || isActiveSubMenu }), ((isActiveSubMenu !== null && isActiveSubMenu !== void 0 ? isActiveSubMenu : false) || openParentMenuId === id) && subMenu && (subMenu === null || subMenu === void 0 ? void 0 : subMenu.length) > 0 && (_jsx(AnimatePresence, Object.assign({ mode: "wait", initial: true }, { children: _jsx(motion.div, Object.assign({ variants: container, initial: "hidden", animate: "show", style: { width: '100%' } }, { children: _jsx(Flex, Object.assign({ w: "100%", flexDir: "column", mt: rem(8), pl: rem(24), gap: rem(12) }, { children: subMenu.map((item) => (_jsx(NavItem, Object.assign({}, item, { colors: colors, isActive: item.route === activeRoute, onClick: (e) => onClick(e, NavItemTypeEnum.HAS_NO_CHILDREN, id) }), item.id))) })) })) })))] })));
45
+ };
46
+ const NavItem = ({ id, label, route, icon, colors, isActive, onClick, hasSubMenu = false, isOpen }) => {
47
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
48
+ return (_jsx(Flex, Object.assign({ w: "100%", px: rem(12), rounded: "full", sx: {
49
+ py: hasSubMenu ? rem(8) : rem(12),
50
+ cursor: 'pointer',
51
+ border: `${!hasSubMenu ? rem(1) : 0} solid ${isActive ? (_a = colors.menuItemActiveBackgroundColor) !== null && _a !== void 0 ? _a : 'transparent' : (_b = colors.menuItemTextColor) !== null && _b !== void 0 ? _b : '#E5E5E5'}`,
52
+ backgroundColor: hasSubMenu ? "transparent" : isActive ? (_c = colors.menuItemActiveBackgroundColor) !== null && _c !== void 0 ? _c : "transparent" : (_d = colors.menuItemBackgroundColor) !== null && _d !== void 0 ? _d : '#FFFFFF',
53
+ color: isActive ? (_e = colors.menuItemActiveTextColor) !== null && _e !== void 0 ? _e : "13100D" : (_f = colors.menuItemTextColor) !== null && _f !== void 0 ? _f : '#13100D',
54
+ fontWeight: hasSubMenu ? "bold" : "500",
55
+ _hover: {
56
+ bg: hasSubMenu ? "transparent" : isActive ? (_g = colors.menuItemBackgroundColor) !== null && _g !== void 0 ? _g : '#FFFFFF' : (_h = colors.menuItemHoverBackgroundColor) !== null && _h !== void 0 ? _h : 'transparent',
57
+ color: (_j = colors.menuItemHoverTextColor) !== null && _j !== void 0 ? _j : '#13100D',
58
+ border: `${!hasSubMenu ? rem(1) : 0} solid ${isActive ? (_k = colors.menuItemTextColor) !== null && _k !== void 0 ? _k : 'transparent' : (_l = colors.menuItemHoverBackgroundColor) !== null && _l !== void 0 ? _l : 'transparent'}`,
59
+ }
60
+ }, onClick: () => { onClick(hasSubMenu ? id : route !== null && route !== void 0 ? route : ""); } }, { children: _jsxs(Flex, Object.assign({ w: "100%", alignItems: "center" }, { children: [_jsxs(Flex, { children: [!hasSubMenu && icon, _jsx(Text, Object.assign({ pl: icon ? rem(12) : 0, fontSize: rem(14), lineHeight: rem(20) }, { children: label }))] }), hasSubMenu && (_jsx(Flex, Object.assign({ ml: rem(12), mt: rem(2) }, { children: isOpen ? _jsx(ChevronUpIcon, {}) : _jsx(ChevronDownIcon, {}) })))] })) })));
61
+ };
62
+ var NavItemTypeEnum;
63
+ (function (NavItemTypeEnum) {
64
+ NavItemTypeEnum[NavItemTypeEnum["HAS_CHILDREN"] = 0] = "HAS_CHILDREN";
65
+ NavItemTypeEnum[NavItemTypeEnum["HAS_NO_CHILDREN"] = 1] = "HAS_NO_CHILDREN";
66
+ })(NavItemTypeEnum || (NavItemTypeEnum = {}));
67
+ //# sourceMappingURL=Sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render } from "@testing-library/react";
3
+ import '@testing-library/jest-dom';
4
+ import { Sidebar } from "./index";
5
+ import { SupportIcon } from '../icons/SupportIcon';
6
+ const data = {
7
+ menu: [{
8
+ id: "dashboard",
9
+ label: "Dashboard",
10
+ route: "/dashboard",
11
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
12
+ },
13
+ {
14
+ id: "partnerAdmin",
15
+ label: "Partner Admin",
16
+ route: "/partner-admin",
17
+ },
18
+ {
19
+ id: "generalAdmin",
20
+ label: "General Admin",
21
+ route: "/general-admin",
22
+ },
23
+ {
24
+ id: "claims",
25
+ label: "Claims",
26
+ subMenu: [
27
+ {
28
+ id: "claimsOverview",
29
+ label: "Claims Overview",
30
+ route: "/claims-overview",
31
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
32
+ },
33
+ {
34
+ id: "claimsDetails",
35
+ label: "Claims details",
36
+ route: "/claims-details",
37
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ id: "access",
43
+ label: "Access management",
44
+ subMenu: [
45
+ {
46
+ id: "accessOverview",
47
+ label: "Access Overview",
48
+ route: "/access-overview",
49
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
50
+ },
51
+ {
52
+ id: "accessDetails",
53
+ label: "Access details",
54
+ route: "/access-details",
55
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
56
+ }
57
+ ]
58
+ }
59
+ ],
60
+ activeRoute: "/dashboard",
61
+ colors: {
62
+ menuItemBackgroundColor: "transparent",
63
+ menuItemTextColor: "#13100D",
64
+ menuItemActiveBackgroundColor: "#EBFF00",
65
+ menuItemActiveTextColor: "13100D",
66
+ menuItemHoverBackgroundColor: "rgba(0, 0, 0, 0.05)",
67
+ menuItemHoverTextColor: "#13100D",
68
+ },
69
+ };
70
+ describe("Sidebar component testing with testing-library", () => {
71
+ it("renders without crashing", () => {
72
+ const component = render(_jsx(Sidebar, Object.assign({}, data, { onClick: jest.fn() })));
73
+ expect(component).toBeTruthy();
74
+ });
75
+ });
76
+ //# sourceMappingURL=Sidebar.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.spec.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/Sidebar.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,IAAI,GAAE;IACV,IAAI,EAAE,CAAC;YACL,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;SACrC;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;KACA;IACD,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE;QACN,uBAAuB,EAAE,aAAa;QACtC,iBAAiB,EAAE,SAAS;QAC5B,6BAA6B,EAAE,SAAS;QACxC,uBAAuB,EAAE,QAAQ;QACjC,4BAA4B,EAAE,qBAAqB;QACnD,sBAAsB,EAAE,SAAS;KAClC;CACF,CAAA;AAGD,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAC,OAAO,oBAAK,IAAI,IAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEpE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { ComponentStory, ComponentMeta } from "@storybook/react";
3
+ declare const _default: ComponentMeta<import("react").FC<import("./Sidebar").SidebarProps>>;
4
+ export default _default;
5
+ export declare const Primary: ComponentStory<import("react").FC<import("./Sidebar").SidebarProps>>;
@@ -0,0 +1,80 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Flex } from '@chakra-ui/react';
3
+ import { rem } from 'polished';
4
+ import { useState } from 'react';
5
+ import { SupportIcon } from '../icons/SupportIcon';
6
+ import { Sidebar } from "./Sidebar";
7
+ export default {
8
+ title: "Alicia/common/Sidebar",
9
+ component: Sidebar,
10
+ };
11
+ const Template = (args) => {
12
+ const [activeRoute, setActiveRoute] = useState("/dashboard");
13
+ return (_jsx(Flex, Object.assign({ maxW: rem(300) }, { children: _jsx(Sidebar, Object.assign({}, args, { activeRoute: activeRoute, onClick: (e) => setActiveRoute(e) })) })));
14
+ };
15
+ export const Primary = Template.bind({});
16
+ Primary.args = {
17
+ menu: [{
18
+ id: "dashboard",
19
+ label: "Dashboard",
20
+ route: "/dashboard",
21
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
22
+ },
23
+ {
24
+ id: "partnerAdmin",
25
+ label: "Partner Admin",
26
+ route: "/partner-admin",
27
+ },
28
+ {
29
+ id: "generalAdmin",
30
+ label: "General Admin",
31
+ route: "/general-admin",
32
+ },
33
+ {
34
+ id: "claims",
35
+ label: "Claims",
36
+ subMenu: [
37
+ {
38
+ id: "claimsOverview",
39
+ label: "Claims Overview",
40
+ route: "/claims-overview",
41
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
42
+ },
43
+ {
44
+ id: "claimsDetails",
45
+ label: "Claims details",
46
+ route: "/claims-details",
47
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ id: "access",
53
+ label: "Access management",
54
+ subMenu: [
55
+ {
56
+ id: "accessOverview",
57
+ label: "Access Overview",
58
+ route: "/access-overview",
59
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
60
+ },
61
+ {
62
+ id: "accessDetails",
63
+ label: "Access details",
64
+ route: "/access-details",
65
+ icon: _jsx(SupportIcon, { fill: "#006A70" })
66
+ }
67
+ ]
68
+ }
69
+ ],
70
+ activeRoute: "/dashboard",
71
+ colors: {
72
+ menuItemBackgroundColor: "transparent",
73
+ menuItemTextColor: "#13100D",
74
+ menuItemActiveBackgroundColor: "#EBFF00",
75
+ menuItemActiveTextColor: "13100D",
76
+ menuItemHoverBackgroundColor: "rgba(0, 0, 0, 0.05)",
77
+ menuItemHoverTextColor: "#13100D",
78
+ },
79
+ };
80
+ //# sourceMappingURL=Sidebar.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.stories.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/Sidebar.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAe;IACb,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,OAAO;CACc,CAAC;AAEnC,MAAM,QAAQ,GAAmC,CAAC,IAAI,EAAE,EAAE;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,YAAY,CAAC,CAAC;IAErE,OAAO,CACL,KAAC,IAAI,kBAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,gBAClB,KAAC,OAAO,oBACF,IAAI,IACR,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IACjC,IACG,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEzC,OAAO,CAAC,IAAI,GAAG;IACb,IAAI,EAAE,CAAC;YACL,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;SACrC;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,gBAAgB;oBACpB,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,GAAG;iBACrC;aACF;SACF;KACA;IACD,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE;QACN,uBAAuB,EAAE,aAAa;QACtC,iBAAiB,EAAE,SAAS;QAC5B,6BAA6B,EAAE,SAAS;QACxC,uBAAuB,EAAE,QAAQ;QACjC,4BAA4B,EAAE,qBAAqB;QACnD,sBAAsB,EAAE,SAAS;KAClC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export { Sidebar } from './Sidebar';
@@ -0,0 +1,2 @@
1
+ export { Sidebar } from './Sidebar';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/alicia/common/Sidebar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const PlusIcon: ({ fillColor }: {
2
+ fillColor?: string | undefined;
3
+ }) => import("@chakra-ui/system/dist/system.types").ComponentWithAs<"svg", import("@chakra-ui/icon/dist/icon").IconProps>;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createIcon } from "@chakra-ui/icons";
3
+ export const PlusIcon = ({ fillColor }) => createIcon({
4
+ displayName: "PlusIcon",
5
+ viewBox: "0 0 22 22",
6
+ path: (_jsx("path", { d: "M11.6145 16.2607L11.1725 16.2607L11.1725 11.3109L6.2228 11.3109L6.2228 10.869L11.1725 10.869L11.1725 5.91925L11.6145 5.91925L11.6145 10.869L16.5642 10.869L16.5642 11.3109L11.6145 11.3109L11.6145 16.2607Z", fill: fillColor })),
7
+ });
8
+ //# sourceMappingURL=PlusIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlusIcon.js","sourceRoot":"","sources":["../../../../../src/alicia/common/icons/PlusIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,QAAQ,GAAI,CAAC,EAAE,SAAS,EAA2B,EAAE,EAAE,CAAC,UAAU,CAAC;IAC5E,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,CACF,eACI,CAAC,EAAC,6MAA6M,EAC/M,IAAI,EAAE,SAAS,GACjB,CACL;CACJ,CAAC,CAAC"}
@@ -24,3 +24,4 @@ export * from "./EllipseEmptyIcon";
24
24
  export * from "./UnderlineIcon";
25
25
  export * from "./TextBackdrop";
26
26
  export * from "./SearchIcon";
27
+ export * from "./PlusIcon";
@@ -24,4 +24,5 @@ export * from "./EllipseEmptyIcon";
24
24
  export * from "./UnderlineIcon";
25
25
  export * from "./TextBackdrop";
26
26
  export * from "./SearchIcon";
27
+ export * from "./PlusIcon";
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/alicia/common/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/alicia/common/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -21,3 +21,4 @@ export * from "./alicia/common/HeaderNavigation";
21
21
  export * from "./alicia/common/StepsProgressBar";
22
22
  export * from "./types";
23
23
  export * from "./alicia/common/SupportMenu";
24
+ export * from "./alicia/common/Sidebar";
package/dist/esm/index.js CHANGED
@@ -21,4 +21,5 @@ export * from "./alicia/common/HeaderNavigation";
21
21
  export * from "./alicia/common/StepsProgressBar";
22
22
  export * from "./types";
23
23
  export * from "./alicia/common/SupportMenu";
24
+ export * from "./alicia/common/Sidebar";
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alicia-design-system",
3
- "version": "1.76.16",
3
+ "version": "1.77.0",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/esm/index.d.ts",