takeat-design-system-ui-kit 0.1.68 → 0.1.69

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 (67) hide show
  1. package/dist/cjs/components/Menu/Menu.stories.d.ts +6 -0
  2. package/dist/cjs/components/Menu/Menu.stories.js +38 -0
  3. package/dist/cjs/components/Menu/Menu.stories.js.map +1 -0
  4. package/dist/cjs/components/Menu/MenuModal/index.d.ts +8 -0
  5. package/dist/cjs/components/Menu/MenuModal/index.js +28 -0
  6. package/dist/cjs/components/Menu/MenuModal/index.js.map +1 -0
  7. package/dist/cjs/components/Menu/MenuModal/styles.d.ts +0 -0
  8. package/dist/cjs/components/Menu/MenuModal/styles.js +2 -0
  9. package/dist/cjs/components/Menu/MenuModal/styles.js.map +1 -0
  10. package/dist/cjs/components/Menu/MenuSubSubitem/index.d.ts +7 -0
  11. package/dist/cjs/components/Menu/MenuSubSubitem/index.js +11 -0
  12. package/dist/cjs/components/Menu/MenuSubSubitem/index.js.map +1 -0
  13. package/dist/cjs/components/Menu/MenuSubSubitem/styles.d.ts +3 -0
  14. package/dist/cjs/components/Menu/MenuSubSubitem/styles.js +32 -0
  15. package/dist/cjs/components/Menu/MenuSubSubitem/styles.js.map +1 -0
  16. package/dist/cjs/components/Menu/MenuSubitem/index.d.ts +10 -0
  17. package/dist/cjs/components/Menu/MenuSubitem/index.js +26 -0
  18. package/dist/cjs/components/Menu/MenuSubitem/index.js.map +1 -0
  19. package/dist/cjs/components/Menu/MenuSubitem/styles.d.ts +4 -0
  20. package/dist/cjs/components/Menu/MenuSubitem/styles.js +54 -0
  21. package/dist/cjs/components/Menu/MenuSubitem/styles.js.map +1 -0
  22. package/dist/cjs/components/Menu/index.d.ts +19 -0
  23. package/dist/cjs/components/Menu/index.js +43 -0
  24. package/dist/cjs/components/Menu/index.js.map +1 -0
  25. package/dist/cjs/components/Menu/styles.d.ts +296 -0
  26. package/dist/cjs/components/Menu/styles.js +138 -0
  27. package/dist/cjs/components/Menu/styles.js.map +1 -0
  28. package/dist/cjs/index.d.ts +2 -0
  29. package/dist/cjs/index.js +6 -4
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/utils/consts.d.ts +2 -0
  32. package/dist/cjs/utils/consts.js +175 -1
  33. package/dist/cjs/utils/consts.js.map +1 -1
  34. package/dist/esm/components/Menu/Menu.stories.d.ts +6 -0
  35. package/dist/esm/components/Menu/Menu.stories.js +35 -0
  36. package/dist/esm/components/Menu/Menu.stories.js.map +1 -0
  37. package/dist/esm/components/Menu/MenuModal/index.d.ts +8 -0
  38. package/dist/esm/components/Menu/MenuModal/index.js +24 -0
  39. package/dist/esm/components/Menu/MenuModal/index.js.map +1 -0
  40. package/dist/esm/components/Menu/MenuModal/styles.d.ts +0 -0
  41. package/dist/esm/components/Menu/MenuModal/styles.js +2 -0
  42. package/dist/esm/components/Menu/MenuModal/styles.js.map +1 -0
  43. package/dist/esm/components/Menu/MenuSubSubitem/index.d.ts +7 -0
  44. package/dist/esm/components/Menu/MenuSubSubitem/index.js +7 -0
  45. package/dist/esm/components/Menu/MenuSubSubitem/index.js.map +1 -0
  46. package/dist/esm/components/Menu/MenuSubSubitem/styles.d.ts +3 -0
  47. package/dist/esm/components/Menu/MenuSubSubitem/styles.js +28 -0
  48. package/dist/esm/components/Menu/MenuSubSubitem/styles.js.map +1 -0
  49. package/dist/esm/components/Menu/MenuSubitem/index.d.ts +10 -0
  50. package/dist/esm/components/Menu/MenuSubitem/index.js +22 -0
  51. package/dist/esm/components/Menu/MenuSubitem/index.js.map +1 -0
  52. package/dist/esm/components/Menu/MenuSubitem/styles.d.ts +4 -0
  53. package/dist/esm/components/Menu/MenuSubitem/styles.js +50 -0
  54. package/dist/esm/components/Menu/MenuSubitem/styles.js.map +1 -0
  55. package/dist/esm/components/Menu/index.d.ts +19 -0
  56. package/dist/esm/components/Menu/index.js +40 -0
  57. package/dist/esm/components/Menu/index.js.map +1 -0
  58. package/dist/esm/components/Menu/styles.d.ts +296 -0
  59. package/dist/esm/components/Menu/styles.js +134 -0
  60. package/dist/esm/components/Menu/styles.js.map +1 -0
  61. package/dist/esm/index.d.ts +2 -0
  62. package/dist/esm/index.js +2 -0
  63. package/dist/esm/index.js.map +1 -1
  64. package/dist/esm/utils/consts.d.ts +2 -0
  65. package/dist/esm/utils/consts.js +174 -0
  66. package/dist/esm/utils/consts.js.map +1 -1
  67. package/package.json +3 -1
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { Menu } from ".";
3
+ declare const meta: Meta<typeof Menu>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Menu>;
6
+ export declare const Example: Story;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Example = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const _1 = require(".");
6
+ const styles_1 = require("../StoriesComponents/styles");
7
+ const consts_1 = require("../../utils/consts");
8
+ const meta = {
9
+ title: "Design System/Menu",
10
+ component: _1.Menu,
11
+ parameters: {
12
+ componentSubtitle: (0, jsx_runtime_1.jsx)(styles_1.Subtitle, {}),
13
+ },
14
+ argTypes: {
15
+ menuItems: {
16
+ description: "Itens do menu",
17
+ table: {
18
+ type: {
19
+ summary: "MenuItem[]",
20
+ detail: `interface MenuItem {
21
+ id: string;
22
+ text: string;
23
+ }
24
+ `,
25
+ },
26
+ },
27
+ },
28
+ },
29
+ args: {},
30
+ };
31
+ exports.default = meta;
32
+ exports.Example = {
33
+ name: "Exemplo",
34
+ args: {
35
+ menuItems: consts_1.MENU_ITEMS,
36
+ },
37
+ };
38
+ //# sourceMappingURL=Menu.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.stories.js","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.stories.tsx"],"names":[],"mappings":";;;;AACA,wBAAyB;AACzB,wDAAuD;AACvD,+CAAgD;AAEhD,MAAM,IAAI,GAAsB;IAC9B,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,OAAI;IACf,UAAU,EAAE;QACV,iBAAiB,EAAE,uBAAC,iBAAQ,KAAY;KACzC;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE;;;;SAIT;iBACA;aACF;SACF;KACF;IACD,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,kBAAe,IAAI,CAAC;AAIP,QAAA,OAAO,GAAU;IAC5B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE;QACJ,SAAS,EAAE,mBAAU;KACtB;CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { MenuItemProps } from "..";
2
+ import { Dispatch, SetStateAction } from "react";
3
+ interface MenuModalProps {
4
+ item: MenuItemProps;
5
+ setModalItem: Dispatch<SetStateAction<MenuItemProps | null>>;
6
+ }
7
+ export declare const MenuModal: ({ item, setModalItem }: MenuModalProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MenuModal = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const styles_1 = require("../styles");
6
+ const MenuSubitem_1 = require("../MenuSubitem");
7
+ const react_1 = require("react");
8
+ const MenuModal = ({ item, setModalItem }) => {
9
+ const [itemOpen, setItemOpen] = (0, react_1.useState)(null);
10
+ const elementById = document.getElementById(`menu-item-${item.id}`);
11
+ const left = (elementById?.offsetLeft || 0) + (elementById?.offsetWidth || 0);
12
+ const eventListenerFunction = () => {
13
+ setModalItem(null);
14
+ };
15
+ (0, react_1.useEffect)(() => {
16
+ window.addEventListener("click", eventListenerFunction);
17
+ return () => {
18
+ window.removeEventListener("click", eventListenerFunction);
19
+ };
20
+ }, []);
21
+ return ((0, jsx_runtime_1.jsx)(styles_1.MenuModalStyle, { onClick: (e) => e.stopPropagation(), top: elementById?.offsetTop, left: left, children: item.subitems?.map((subitem) => {
22
+ if (subitem.condition === false)
23
+ return;
24
+ return ((0, jsx_runtime_1.jsx)(MenuSubitem_1.MenuSubitem, { subitem: subitem, parentPath: item.path, isOpen: itemOpen === subitem.id, setIsOpen: setItemOpen }, subitem.id));
25
+ }) }));
26
+ };
27
+ exports.MenuModal = MenuModal;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Menu/MenuModal/index.tsx"],"names":[],"mappings":";;;;AAAA,sCAA2C;AAE3C,gDAA6C;AAC7C,iCAAsE;AAO/D,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAkB,EAAE,EAAE;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAE9E,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAExD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,uBAAC,uBAAc,IACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,GAAG,EAAE,WAAW,EAAE,SAAS,EAC3B,IAAI,EAAE,IAAI,YAET,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;gBAAE,OAAO;YAExC,OAAO,CACL,uBAAC,yBAAW,IAEV,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,IAAI,CAAC,IAAI,EACrB,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,EAAE,EAC/B,SAAS,EAAE,WAAW,IAJjB,OAAO,CAAC,EAAE,CAKf,CACH,CAAC;QACJ,CAAC,CAAC,GACa,CAClB,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,SAAS,aAsCpB"}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/components/Menu/MenuModal/styles.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { MenuItemProps } from "..";
2
+ interface MenuSubSubitemProps {
3
+ subsubitem: MenuItemProps;
4
+ parentPath: string;
5
+ }
6
+ export declare const MenuSubSubitem: ({ subsubitem, parentPath, }: MenuSubSubitemProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MenuSubSubitem = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const styles_1 = require("./styles");
6
+ const MenuSubSubitem = ({ subsubitem, parentPath, }) => {
7
+ const pathToGo = parentPath + subsubitem.path;
8
+ return ((0, jsx_runtime_1.jsx)(styles_1.SubsubitemStyles, { id: `menu-item-${subsubitem.id}`, to: pathToGo, children: subsubitem.text }));
9
+ };
10
+ exports.MenuSubSubitem = MenuSubSubitem;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Menu/MenuSubSubitem/index.tsx"],"names":[],"mappings":";;;;AACA,qCAA4C;AAOrC,MAAM,cAAc,GAAG,CAAC,EAC7B,UAAU,EACV,UAAU,GACU,EAAE,EAAE;IACxB,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IAE9C,OAAO,CACL,uBAAC,yBAAgB,IAAC,EAAE,EAAE,aAAa,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,YAC7D,UAAU,CAAC,IAAI,GACC,CACpB,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB"}
@@ -0,0 +1,3 @@
1
+ export declare const SubsubitemStyles: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react-router-dom").LinkProps & import("react").RefAttributes<HTMLAnchorElement>, "ref"> & {
2
+ ref?: ((instance: HTMLAnchorElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement> | null | undefined;
3
+ }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("react-router-dom").LinkProps & import("react").RefAttributes<HTMLAnchorElement>>, keyof import("react").Component<any, {}, any>>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubsubitemStyles = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_router_dom_1 = require("react-router-dom");
6
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
7
+ exports.SubsubitemStyles = (0, styled_components_1.default)(react_router_dom_1.Link) `
8
+ display: flex;
9
+ height: 32px;
10
+ padding: ${({ theme }) => theme.spacing.xs};
11
+ align-items: center;
12
+ gap: 10px;
13
+ flex: 1 0 0;
14
+ border-radius: ${({ theme }) => theme.radius.s};
15
+ background: #fff;
16
+ text-decoration: none;
17
+ transform: all 0.3s;
18
+
19
+ color: ${({ theme }) => theme.colors.neutral.dark};
20
+ font-family: ${({ theme }) => theme.typography.family.default};
21
+ font-size: 14px;
22
+ font-style: normal;
23
+ font-weight: 500;
24
+ line-height: 20px; /* 142.857% */
25
+ letter-spacing: 0.1px;
26
+
27
+ &:hover {
28
+ background: ${({ theme }) => theme.colors.neutral.lightest};
29
+ color: ${({ theme }) => theme.colors.neutral.darker};
30
+ }
31
+ `;
32
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/components/Menu/MenuSubSubitem/styles.ts"],"names":[],"mappings":";;;;AAAA,uDAAwC;AACxC,kFAAuC;AAE1B,QAAA,gBAAgB,GAAG,IAAA,2BAAM,EAAC,uBAAI,CAAC,CAAA;;;aAG/B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;;;;mBAIzB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;;;;;WAKrC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;iBAClC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;;;;;;;;kBAQ7C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;aACjD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;;CAEtD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ import { MenuItemProps } from "..";
3
+ interface MenuSubitemProps {
4
+ subitem: MenuItemProps;
5
+ parentPath: string;
6
+ isOpen: boolean;
7
+ setIsOpen: Dispatch<SetStateAction<string | null>>;
8
+ }
9
+ export declare const MenuSubitem: ({ subitem, parentPath, isOpen, setIsOpen, }: MenuSubitemProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MenuSubitem = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const icons_1 = require("../../icons");
6
+ const MenuSubSubitem_1 = require("../MenuSubSubitem");
7
+ const styles_1 = require("./styles");
8
+ const framer_motion_1 = require("framer-motion");
9
+ const MenuSubitem = ({ subitem, parentPath, isOpen, setIsOpen, }) => {
10
+ const hasSubitems = subitem.subitems && subitem.subitems.length > 0;
11
+ const pathToGo = subitem.external || hasSubitems ? "#" : parentPath + subitem.path;
12
+ const handleClick = () => {
13
+ if (subitem.external) {
14
+ window.open(subitem.external, "_blank");
15
+ return;
16
+ }
17
+ if (hasSubitems) {
18
+ setIsOpen((state) => (state === subitem.id ? null : subitem.id));
19
+ }
20
+ };
21
+ return ((0, jsx_runtime_1.jsxs)(styles_1.SubitemContainer, { id: `menu-item-${subitem.id}`, children: [(0, jsx_runtime_1.jsxs)(styles_1.SubitemHeader, { onClick: () => handleClick(), to: pathToGo, children: [hasSubitems ? ((0, jsx_runtime_1.jsx)(icons_1.IconChevronRight, { style: { transform: isOpen && "rotate(90deg)" } })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsx)("span", { children: subitem.text })] }), (0, jsx_runtime_1.jsx)(framer_motion_1.AnimatePresence, { children: isOpen && ((0, jsx_runtime_1.jsx)(framer_motion_1.motion.div, { style: { transformOrigin: "top" }, initial: { height: 0, scaleY: 0 }, animate: { height: "auto", scaleY: 1 }, exit: { height: 0, scaleY: 0 }, transition: { duration: 0.3, stiffness: 100 }, children: subitem.subitems?.map((subsubitem) => {
22
+ return ((0, jsx_runtime_1.jsx)(MenuSubSubitem_1.MenuSubSubitem, { subsubitem: subsubitem, parentPath: pathToGo }, subsubitem.id));
23
+ }) })) })] }));
24
+ };
25
+ exports.MenuSubitem = MenuSubitem;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Menu/MenuSubitem/index.tsx"],"names":[],"mappings":";;;;AAEA,uCAA+C;AAC/C,sDAAmD;AACnD,qCAA2D;AAC3D,iDAAwD;AASjD,MAAM,WAAW,GAAG,CAAC,EAC1B,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,GACQ,EAAE,EAAE;IACrB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,wBAAC,yBAAgB,IAAC,EAAE,EAAE,aAAa,OAAO,CAAC,EAAE,EAAE,aAC7C,wBAAC,sBAAa,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,aACtD,WAAW,CAAC,CAAC,CAAC,CACb,uBAAC,wBAAgB,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,IAAI,eAAe,EAAE,GAAI,CACtE,CAAC,CAAC,CAAC,CACF,iCAAO,CACR,EACD,2CAAO,OAAO,CAAC,IAAI,GAAQ,IACb,EAChB,uBAAC,+BAAe,cACb,MAAM,IAAI,CACT,uBAAC,sBAAM,CAAC,GAAG,IACT,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,EACjC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EACjC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EACtC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAC9B,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,YAE5C,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;wBACpC,OAAO,CACL,uBAAC,+BAAc,IAEb,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,QAAQ,IAFf,UAAU,CAAC,EAAE,CAGlB,CACH,CAAC;oBACJ,CAAC,CAAC,GACS,CACd,GACe,IACD,CACpB,CAAC;AACJ,CAAC,CAAC;AArDW,QAAA,WAAW,eAqDtB"}
@@ -0,0 +1,4 @@
1
+ export declare const SubitemContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
+ export declare const SubitemHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react-router-dom").LinkProps & import("react").RefAttributes<HTMLAnchorElement>, "ref"> & {
3
+ ref?: ((instance: HTMLAnchorElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement> | null | undefined;
4
+ }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("react-router-dom").LinkProps & import("react").RefAttributes<HTMLAnchorElement>>, keyof import("react").Component<any, {}, any>>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubitemHeader = exports.SubitemContainer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_router_dom_1 = require("react-router-dom");
6
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
7
+ exports.SubitemContainer = styled_components_1.default.div `
8
+ display: flex;
9
+ flex-direction: column;
10
+ padding: 4px 0;
11
+
12
+ &:not(:last-child) {
13
+ border-bottom: 1px solid ${({ theme }) => theme.colors.primary.default};
14
+ }
15
+
16
+ &:last-child {
17
+ padding-bottom: 0;
18
+ }
19
+
20
+ &:first-child {
21
+ padding-top: 0;
22
+ }
23
+ `;
24
+ exports.SubitemHeader = (0, styled_components_1.default)(react_router_dom_1.Link) `
25
+ display: flex;
26
+ align-items: center;
27
+ gap: ${({ theme }) => theme.spacing.xs};
28
+ text-decoration: none;
29
+ padding: 4px 0;
30
+
31
+ svg {
32
+ flex-shrink: 0;
33
+ transition: transform 0.3s;
34
+ font-size: 20px;
35
+ fill: ${({ theme }) => theme.colors.primary.default};
36
+ }
37
+
38
+ div {
39
+ flex-shrink: 0;
40
+ width: 20px;
41
+ height: 20px;
42
+ }
43
+
44
+ span {
45
+ color: ${({ theme }) => theme.colors.neutral.dark};
46
+ font-family: ${({ theme }) => theme.typography.family.default};
47
+ font-size: 14px;
48
+ font-style: normal;
49
+ font-weight: 700;
50
+ line-height: 20px; /* 142.857% */
51
+ letter-spacing: 0.1px;
52
+ }
53
+ `;
54
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/components/Menu/MenuSubitem/styles.ts"],"names":[],"mappings":";;;;AAAA,uDAAwC;AACxC,kFAAuC;AAE1B,QAAA,gBAAgB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;+BAMX,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;;;;;;;;;;CAUzE,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,2BAAM,EAAC,uBAAI,CAAC,CAAA;;;SAGhC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;;;;;;;;YAQ5B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;;;;;;;;;;aAU1C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;mBAClC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;;;;;;;CAOhE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import React, { ReactNode } from "react";
2
+ export interface MenuItemProps {
3
+ id: string;
4
+ text: string;
5
+ path: string;
6
+ icon?: ReactNode;
7
+ subitems?: MenuItemProps[];
8
+ disabled?: boolean;
9
+ condition?: boolean;
10
+ external?: string;
11
+ overridePath?: string;
12
+ filler?: boolean;
13
+ height?: number;
14
+ }
15
+ interface MenuProps extends React.HTMLAttributes<HTMLDivElement> {
16
+ menuItems: MenuItemProps[];
17
+ }
18
+ export declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLDivElement>>;
19
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Menu = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const styles_1 = require("./styles");
7
+ const MenuModal_1 = require("./MenuModal");
8
+ const framer_motion_1 = require("framer-motion");
9
+ exports.Menu = (0, react_1.forwardRef)(function Menu({ menuItems = [], ...props }, ref) {
10
+ const [modalItem, setModalItem] = (0, react_1.useState)(null);
11
+ const location = window.location.pathname.split("/")[1];
12
+ const toggleModalItem = (item) => {
13
+ if (modalItem?.id === item.id) {
14
+ setModalItem(null);
15
+ }
16
+ else {
17
+ setModalItem(item);
18
+ }
19
+ };
20
+ const handleClick = (item, hasSubitems) => {
21
+ if (item.external) {
22
+ window.open(item.external, "_blank");
23
+ return;
24
+ }
25
+ if (hasSubitems) {
26
+ toggleModalItem(item);
27
+ }
28
+ };
29
+ return ((0, jsx_runtime_1.jsxs)(styles_1.MenuContainer, { ref: ref, ...props, children: [menuItems.map((item) => {
30
+ if (item.condition === false)
31
+ return;
32
+ if (item.filler) {
33
+ return (0, jsx_runtime_1.jsx)(styles_1.Filler, { height: item.height || 20 }, item.id);
34
+ }
35
+ const hasSubitems = item.subitems && item.subitems.length > 0;
36
+ const pathToGo = item.external || hasSubitems ? "#" : item.path;
37
+ return ((0, jsx_runtime_1.jsxs)(styles_1.ItemContainer, { id: `menu-item-${item.id}`, to: pathToGo, "aria-selected": location === item.path.split("/")[1], onClick: (e) => {
38
+ e.stopPropagation();
39
+ handleClick(item, hasSubitems);
40
+ }, children: [item.icon, (0, jsx_runtime_1.jsx)("span", { children: item.text })] }, item.id));
41
+ }), (0, jsx_runtime_1.jsx)(framer_motion_1.AnimatePresence, { children: modalItem && ((0, jsx_runtime_1.jsx)(MenuModal_1.MenuModal, { item: modalItem, setModalItem: setModalItem })) })] }));
42
+ });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Menu/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAA+D;AAC/D,qCAAgE;AAChE,2CAAwC;AACxC,iDAAgD;AAoBnC,QAAA,IAAI,GAAG,IAAA,kBAAU,EAAC,SAAS,IAAI,CAC1C,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAa,EACvC,GAA8B;IAE9B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAuB,IAAI,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAE,EAAE;QAC9C,IAAI,SAAS,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,WAAqB,EAAE,EAAE;QACjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,wBAAC,sBAAa,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,aAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;oBAAE,OAAO;gBAErC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,uBAAC,eAAM,IAAe,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,IAAlC,IAAI,CAAC,EAAE,CAA+B,CAAC;gBAC7D,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAEhE,OAAO,CACL,wBAAC,sBAAa,IAEZ,EAAE,EAAE,aAAa,IAAI,CAAC,EAAE,EAAE,EAC1B,EAAE,EAAE,QAAQ,mBACG,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACnD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBACb,CAAC,CAAC,eAAe,EAAE,CAAC;wBACpB,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACjC,CAAC,aAEA,IAAI,CAAC,IAAI,EACV,2CAAO,IAAI,CAAC,IAAI,GAAQ,KAVnB,IAAI,CAAC,EAAE,CAWE,CACjB,CAAC;YACJ,CAAC,CAAC,EACF,uBAAC,+BAAe,cACb,SAAS,IAAI,CACZ,uBAAC,qBAAS,IAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAI,CAC3D,GACe,IACJ,CACjB,CAAC;AACJ,CAAC,CAAC,CAAC"}