Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

1 rinda
20 KiB

  1. {"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _jsxFileName = \"E:\\\\Project\\\\tbg-ecomm-nextjs\\\\components\\\\CustomDropdown\\\\CustomDropdown.js\";\nvar __jsx = React.createElement;\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\";\nvar useStyles = makeStyles(styles);\nexport default function CustomDropdown(props) {\n var _classNames,\n _classNames2,\n _classNames3,\n _this = this;\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n anchorEl = _React$useState2[0],\n setAnchorEl = _React$useState2[1];\n\n var handleClick = function handleClick(event) {\n if (anchorEl && anchorEl.contains(event.target)) {\n setAnchorEl(null);\n } else {\n setAnchorEl(event.currentTarget);\n }\n };\n\n var handleClose = function handleClose(param) {\n setAnchorEl(null);\n\n if (props && props.onClick) {\n props.onClick(param);\n }\n };\n\n var handleCloseAway = function handleCloseAway(event) {\n if (anchorEl.contains(event.target)) {\n return;\n }\n\n setAnchorEl(null);\n };\n\n var classes = useStyles();\n var buttonText = props.buttonText,\n buttonIcon = props.buttonIcon,\n dropdownList = props.dropdownList,\n buttonProps = props.buttonProps,\n dropup = props.dropup,\n dropdownHeader = props.dropdownHeader,\n caret = props.caret,\n hoverColor = props.hoverColor,\n left = props.left,\n rtlActive = props.rtlActive,\n noLiPadding = props.noLiPadding,\n navDropdown = props.navDropdown;\n var caretClasses = classNames((_classNames = {}, _defineProperty(_classNames, classes.caret, true), _defineProperty(_classNames, classes.caretActive, Boolean(anchorEl)), _defineProperty(_classNames, classes.caretRTL, rtlActive), _classNames));\n var dropdownItem = classNames((_classNames2 = {}, _defineProperty(_classNames2, classes.dropdownItem, true), _defineProperty(_classNames2, classes[hoverColor + \"Hover\"], true), _defineProperty(_classNames2, classes.noLiPadding, noLiPadding), _defineProperty(_classNames2, classes.dropdownItemRTL, rtlActive), _classNames2));\n var 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((_classNames3 = {}, _defineProperty(_classNames3, classes.popperClose, !anchorEl), _defineProperty(_classNames3, classes.popperResponsive, true), _defineProperty(_classNames3, classes.pooperNav, Boolean(anchorEl) && navDropdown), _classNames3)),\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 7\n }\n }, function () {\n return __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: function onClick() {\n return handleClose(dropdownHeader);\n },\n className: classes.dropdownHeader,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 21\n }\n }, dropdownHeader) : null, dropdownList.map(function (prop, key) {\n if (prop.divider) {\n return __jsx(Divider, {\n key: key,\n onClick: function onClick() {\n return handleClose(\"divider\");\n },\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: function onClick() {\n return handleClose(prop);\n },\n className: dropdownItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 151,\n columnNumber: 23\n }\n }, prop);\n })))));\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","useState","anchorEl","setAnchorEl","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"}