Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

1 wiersz
19 KiB

  1. {"ast":null,"code":"var _jsxFileName = \"E:\\\\Project\\\\tbg-ecomm-nextjs\\\\components\\\\CustomDropdown\\\\CustomDropdown.js\";\nvar __jsx = React.createElement;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\"; // nodejs library that concatenates classes\n\nimport classNames from \"classnames\"; // nodejs library to set properties for components\n\nimport PropTypes from \"prop-types\"; // @material-ui/core components\n\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Icon from \"@material-ui/core/Icon\";\nimport Popper from \"@material-ui/core/Popper\"; // core components\n\nimport Button from \"components/CustomButtons/Button.js\";\nimport styles from \"assets/jss/nextjs-material-kit/components/customDropdownStyle.js\";\nconst useStyles = makeStyles(styles);\nexport default function CustomDropdown(props) {\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const handleClick = event => {\n if (anchorEl && anchorEl.contains(event.target)) {\n setAnchorEl(null);\n } else {\n setAnchorEl(event.currentTarget);\n }\n };\n\n const handleClose = param => {\n setAnchorEl(null);\n\n if (props && props.onClick) {\n props.onClick(param);\n }\n };\n\n const handleCloseAway = event => {\n if (anchorEl.contains(event.target)) {\n return;\n }\n\n setAnchorEl(null);\n };\n\n const classes = useStyles();\n const {\n buttonText,\n buttonIcon,\n dropdownList,\n buttonProps,\n dropup,\n dropdownHeader,\n caret,\n hoverColor,\n left,\n rtlActive,\n noLiPadding,\n navDropdown\n } = props;\n const caretClasses = classNames({\n [classes.caret]: true,\n [classes.caretActive]: Boolean(anchorEl),\n [classes.caretRTL]: rtlActive\n });\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding,\n [classes.dropdownItemRTL]: rtlActive\n });\n let icon = null;\n\n switch (typeof buttonIcon) {\n case \"object\":\n icon = __jsx(props.buttonIcon, {\n className: classes.buttonIcon,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 14\n }\n });\n break;\n\n case \"string\":\n icon = __jsx(Icon, {\n className: classes.buttonIcon,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 14\n }\n }, props.buttonIcon);\n break;\n\n default:\n icon = null;\n break;\n }\n\n return __jsx(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 5\n }\n }, __jsx(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 7\n }\n }, __jsx(Button, _extends({\n \"aria-label\": \"Notifications\",\n \"aria-owns\": anchorEl ? \"menu-list\" : null,\n \"aria-haspopup\": \"true\"\n }, buttonProps, {\n onClick: handleClick,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 87,\n columnNumber: 9\n }\n }), icon, buttonText !== undefined ? buttonText : null, caret ? __jsx(\"b\", {\n className: caretClasses,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 20\n }\n }) : null)), __jsx(Popper, {\n open: Boolean(anchorEl),\n anchorEl: anchorEl,\n transition: true,\n disablePortal: true,\n placement: dropup ? left ? \"top-start\" : \"top\" : left ? \"bottom-start\" : \"bottom\",\n className: classNames({\n [classes.popperClose]: !anchorEl,\n [classes.popperResponsive]: true,\n [classes.pooperNav]: Boolean(anchorEl) && navDropdown\n }),\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 7\n }\n }, () => __jsx(Grow, {\n in: Boolean(anchorEl),\n id: \"menu-list\",\n style: dropup ? {\n transformOrigin: \"0 100% 0\"\n } : {\n transformOrigin: \"0 0 0\"\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 120,\n columnNumber: 11\n }\n }, __jsx(Paper, {\n className: classes.dropdown,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 129,\n columnNumber: 13\n }\n }, __jsx(ClickAwayListener, {\n onClickAway: handleCloseAway,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 130,\n columnNumber: 15\n }\n }, __jsx(MenuList, {\n role: \"menu\",\n className: classes.menuList,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 131,\n columnNumber: 17\n }\n }, dropdownHeader !== undefined ? __jsx(MenuItem, {\n onClick: () => handleClose(dropdownHeader),\n className: classes.dropdownHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 21\n }\n }, dropdownHeader) : null, dropdownList.map((prop, key) => {\n if (prop.divider) {\n return __jsx(Divider, {\n key: key,\n onClick: () => handleClose(\"divider\"),\n className: classes.dropdownDividerItem,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 143,\n columnNumber: 25\n }\n });\n }\n\n return __jsx(MenuItem, {\n key: key,\n onClick: () => handleClose(prop),\n className: dropdownItem,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 151,\n columnNumber: 23\n }\n }, prop);\n })))))));\n}\nCustomDropdown.defaultProps = {\n caret: true,\n hoverColor: \"primary\"\n};\nCustomDropdown.propTypes = {\n hoverColor: PropTypes.oneOf([\"black\", \"primary\", \"info\", \"success\", \"warning\", \"danger\", \"rose\"]),\n buttonText: PropTypes.node,\n buttonIcon: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n dropdownList: PropTypes.array,\n buttonProps: PropTypes.object,\n dropup: PropTypes.bool,\n dropdownHeader: PropTypes.node,\n rtlActive: PropTypes.bool,\n caret: PropTypes.bool,\n left: PropTypes.bool,\n noLiPadding: PropTypes.bool,\n navDropdown: PropTypes.bool,\n // function that retuns the selected item\n onClick: PropTypes.func\n};","map":{"version":3,"sources":["E:/Project/tbg-ecomm-nextjs/components/CustomDropdown/CustomDropdown.js"],"names":["React","classNames","PropTypes","makeStyles","MenuItem","MenuList","ClickAwayListener","Paper","Grow","Divider","Icon","Popper","Button","styles","useStyles","CustomDropdown","props","anchorEl","setAnchorEl","useState","handleClick","event","contains","target","currentTarget","handleClose","param","onClick","handleCloseAway","classes","buttonText","buttonIcon","dropdownList","buttonProps","dropup","dropdownHeader","caret","hoverColor","left","rtlActive","noLiPadding","navDropdown","caretClasses","caretActive","Boolean","caretRTL","dropdownItem","dropdownItemRTL","icon","undefined","popperClose","popperResponsive","pooperNav","transformOrigin","dropdown","menuList","map","prop","key","divider","dropdownDividerItem","defaultProps","propTypes","oneOf","node","oneOfType","object","string","array","bool","func"],"mappings":"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","sourcesContent":["import React from \"react\";\r\n// nodejs library that concatenates classes\r\nimport classNames from \"classnames\";\r\n// nodejs library to set properties for components\r\nimport PropTypes from \"prop-types\";\r\n\r\n// @material-ui/core components\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport MenuList from \"@material-ui/core/MenuList\";\r\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grow from \"@material-ui/core/Grow\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\nimport Popper from \"@material-ui/core/Popper\";\r\n\r\n// core components\r\nimport Button from \"components/CustomButtons/Button.js\";\r\n\r\nimport styles from \"assets/jss/nextjs-material-kit/components/customDropdownStyle.js\";\r\n\r\nconst useStyles = makeStyles(styles);\r\n\r\nexport default function CustomDropdown(props) {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const handleClick = event => {\r\n if (anchorEl && anchorEl.contains(event.target)) {\r\n setAnchorEl(null);\r\n } else {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n };\r\n const handleClose = param => {\r\n setAnchorEl(null);\r\n if (props && props.onClick) {\r\n props.onClick(param);\r\n }\r\n };\r\n const handleCloseAway = event => {\r\n if (anchorEl.contains(event.target)) {\r\n return;\r\n }\r\n setAnchorEl(null);\r\n };\r\n const classes = useStyles();\r\n const {\r\n buttonText,\r\n buttonIcon,\r\n dropdownList,\r\n buttonProps,\r\n dropup,\r\n dropdownHeader,\r\n caret,\r\n hoverColor,\r\n left,\r\n rtlActive,\r\n noLiPadding,\r\n navDropdown\r\n } = props;\r\n const caretClasses = classNames({\r\n [classes.caret]: true,\r\n [classes.caretActive]: Boolean(anchorEl),\r\n [classes.caretRTL]: rtlActive\r\n });\r\n const dropdownItem = classNames({\r\n [classes.dropdownItem]: true,\r\n [classes[hoverColor + \"Hover\"]]: true,\r\n [classes.noLiPadding]: noLiPadding,\r\n [classes.dropdownItemRTL]: rtlActive\r\n });\r\n let icon = null;\r\n switch (typeof buttonIcon) {\r\n case \"object\":\r\n icon = <props.buttonIcon className={classes.buttonIcon} />;\r\n break;\r\n case \"string\":\r\n icon = <Icon className={classes.buttonIcon}>{props.buttonIcon}</Icon>;\r\n break;\r\n default:\r\n icon = null;\r\n break;\r\n }\r\n return (\r\n <div>\r\n <div>\r\n <Button\r\n aria-label=\"Notifications\"\r\n aria-owns={anchorEl ? \"menu-list\" : null}\r\n aria-haspopup=\"true\"\r\n {...buttonProps}\r\n onClick={handleClick}\r\n >\r\n {icon}\r\n {buttonText !== undefined ? buttonText : null}\r\n {caret ? <b className={caretClasses} /> : null}\r\n </Button>\r\n </div>\r\n <Popper\r\n open={Boolean(anchorEl)}\r\n anchorEl={anchorEl}\r\n transition\r\n disablePortal\r\n placement={\r\n dropup\r\n ? left\r\n ? \"top-start\"\r\n : \"top\"\r\n : left\r\n ? \"bottom-start\"\r\n : \"bottom\"\r\n }\r\n className={classNames({\r\n [classes.popperClose]: !anchorEl,\r\n [classes.popperResponsive]: true,\r\n [classes.pooperNav]: Boolean(anchorEl) && navDropdown\r\n })}\r\n >\r\n {() => (\r\n <Grow\r\n in={Boolean(anchorEl)}\r\n id=\"menu-list\"\r\n style={\r\n dropup\r\n ? { transformOrigin: \"0 100% 0\" }\r\n : { transformOrigin: \"0 0 0\" }\r\n }\r\n >\r\n <Paper className={classes.dropdown}>\r\n <ClickAwayListener onClickAway={handleCloseAway}>\r\n <MenuList role=\"menu\" className={classes.menuList}>\r\n {dropdownHeader !== undefined ? (\r\n <MenuItem\r\n onClick={() => handleClose(dropdownHeader)}\r\n className={classes.dropdownHeader}\r\n >\r\n {dropdownHeader}\r\n </MenuItem>\r\n ) : null}\r\n {dropdownList.map((prop, key) => {\r\n if (prop.divider) {\r\n return (\r\n <Divider\r\n key={key}\r\n onClick={() => handleClose(\"divider\")}\r\n className={classes.dropdownDividerItem}\r\n />\r\n );\r\n }\r\n return (\r\n <MenuItem\r\n key={key}\r\n onClick={() => handleClose(prop)}\r\n className={dropdownItem}\r\n >\r\n {prop}\r\n </MenuItem>\r\n );\r\n })}\r\n </MenuList>\r\n </ClickAwayListener>\r\n </Paper>\r\n </Grow>\r\n )}\r\n </Popper>\r\n </div>\r\n );\r\n}\r\n\r\nCustomDropdown.defaultProps = {\r\n caret: true,\r\n hoverColor: \"primary\"\r\n};\r\n\r\nCustomDropdown.propTypes = {\r\n hoverColor: PropTypes.oneOf([\r\n \"black\",\r\n \"primary\",\r\n \"info\",\r\n \"success\",\r\n \"warning\",\r\n \"danger\",\r\n \"rose\"\r\n ]),\r\n buttonText: PropTypes.node,\r\n buttonIcon: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\r\n dropdownList: PropTypes.array,\r\n buttonProps: PropTypes.object,\r\n dropup: PropTypes.bool,\r\n dropdownHeader: PropTypes.node,\r\n rtlActive: PropTypes.bool,\r\n caret: PropTypes.bool,\r\n left: PropTypes.bool,\r\n noLiPadding: PropTypes.bool,\r\n navDropdown: PropTypes.bool,\r\n // function that retuns the selected item\r\n onClick: PropTypes.func\r\n};\r\n"]},"metadata":{},"sourceType":"module"}