UNPKG

@atlaskit/atlassian-navigation

Version:

A horizontal navigation component for Atlassian products.

134 lines (132 loc) 6.28 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.ProductHomeSkeleton = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = require("react"); var _react2 = require("@emotion/react"); var _constants = require("../../common/constants"); var _theme = require("../../theme"); var _css; var VAR_PRODUCT_HOME_COLOR_ACTIVE = '--product-home-color-active'; var VAR_PRODUCT_HOME_BACKGROUND_COLOR_ACTIVE = '--product-home-bg-color-active'; var VAR_PRODUCT_HOME_BOX_SHADOW_ACTIVE = '--product-home-box-shadow-active'; var VAR_PRODUCT_HOME_COLOR_FOCUS = '--product-home-color-focus'; var VAR_PRODUCT_HOME_BACKGROUND_COLOR_FOCUS = '--product-home-bg-color-focus'; var VAR_PRODUCT_HOME_BOX_SHADOW_FOCUS = '--product-home-box-shadow-focus'; var VAR_PRODUCT_HOME_COLOR_HOVER = '--product-home-color-hover'; var VAR_PRODUCT_HOME_BACKGROUND_COLOR_HOVER = '--product-home-bg-color-hover'; var VAR_PRODUCT_HOME_BOX_SHADOW_HOVER = '--product-home-box-shadow-hover'; var VAR_SITE_TITLE_BG_COLOR_AFTER = '--site-title-bg-color-after'; var productHomeButtonStyles = (0, _react2.css)((_css = { display: 'flex', padding: _constants.gridSize / 2, alignItems: 'center', background: 'none', border: 0, borderRadius: 3, color: 'inherit', cursor: 'pointer', '&::-moz-focus-inner': { border: 0 }, '&:first-of-type': { marginLeft: 0 }, '&:active': { backgroundColor: "var(".concat(VAR_PRODUCT_HOME_BACKGROUND_COLOR_ACTIVE, ")"), boxShadow: "var(".concat(VAR_PRODUCT_HOME_BOX_SHADOW_ACTIVE, ")"), color: "var(".concat(VAR_PRODUCT_HOME_COLOR_ACTIVE, ")") }, '&:focus': { backgroundColor: "var(".concat(VAR_PRODUCT_HOME_BACKGROUND_COLOR_FOCUS, ")"), boxShadow: "var(".concat(VAR_PRODUCT_HOME_BOX_SHADOW_FOCUS, ")"), color: "var(".concat(VAR_PRODUCT_HOME_COLOR_FOCUS, ")"), outline: 0 }, '&:hover': { backgroundColor: "var(".concat(VAR_PRODUCT_HOME_BACKGROUND_COLOR_HOVER, ")"), boxShadow: "var(".concat(VAR_PRODUCT_HOME_BOX_SHADOW_HOVER, ")"), color: "var(".concat(VAR_PRODUCT_HOME_COLOR_HOVER, ")") }, // eslint-disable-next-line @repo/internal/styles/no-nested-styles 'div&': { pointerEvents: 'none' } }, (0, _defineProperty2.default)(_css, "@media (max-width: ".concat(_constants.PRODUCT_HOME_BREAKPOINT - 0.1, "px)"), { margin: "0 ".concat(_constants.gridSize, "px") }), (0, _defineProperty2.default)(_css, "@media (min-width: ".concat(_constants.PRODUCT_HOME_BREAKPOINT, "px)"), { margin: "0 ".concat(_constants.gridSize * 2, "px") }), _css)); var productLogoStyles = (0, _react2.css)((0, _defineProperty2.default)({ display: 'flex', width: 120, maxWidth: 120, height: 24, maxHeight: 28, opacity: 0.15, // eslint-disable-next-line @repo/internal/styles/no-nested-styles '& > *': { maxHeight: 24 } }, "@media (max-width: ".concat(_constants.PRODUCT_HOME_BREAKPOINT - 0.1, "px)"), { display: 'none' })); var productIconStyles = (0, _react2.css)((0, _defineProperty2.default)({ display: 'flex', width: 28, height: 28, borderRadius: '50%', opacity: 0.15, // eslint-disable-next-line @repo/internal/styles/no-nested-styles '& > *': { maxHeight: 24 } }, "@media (min-width: ".concat(_constants.PRODUCT_HOME_BREAKPOINT, "px)"), { display: 'none' })); var siteTitleStyles = (0, _react2.css)({ display: 'flex', width: _constants.gridSize * 5, marginRight: _constants.gridSize / 2, marginLeft: _constants.gridSize * 0.5, paddingRight: _constants.gridSize * 2, alignItems: 'center', backgroundColor: 'transparent', '&:after': { width: '100%', height: 14, backgroundColor: "var(".concat(VAR_SITE_TITLE_BG_COLOR_AFTER, ")"), borderRadius: 4, content: '""' } }); // Not exported to consumers, only used in NavigationSkeleton // eslint-disable-next-line @repo/internal/react/require-jsdoc var ProductHomeSkeleton = function ProductHomeSkeleton(_ref) { var _productHomeButtonDyn; var showSiteName = _ref.showSiteName; var theme = (0, _theme.useTheme)(); var primaryButton = theme.mode.primaryButton; var productHomeButtonDynamicStyles = (_productHomeButtonDyn = {}, (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_COLOR_ACTIVE, primaryButton.active.color), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_BACKGROUND_COLOR_ACTIVE, primaryButton.active.backgroundColor), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_BOX_SHADOW_ACTIVE, primaryButton.active.boxShadow), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_COLOR_FOCUS, primaryButton.focus.color), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_BACKGROUND_COLOR_FOCUS, primaryButton.focus.backgroundColor), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_BOX_SHADOW_FOCUS, primaryButton.focus.boxShadow), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_COLOR_HOVER, primaryButton.hover.color), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_BACKGROUND_COLOR_HOVER, primaryButton.hover.backgroundColor), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_PRODUCT_HOME_BOX_SHADOW_HOVER, primaryButton.hover.boxShadow), (0, _defineProperty2.default)(_productHomeButtonDyn, VAR_SITE_TITLE_BG_COLOR_AFTER, theme.mode.skeleton.backgroundColor), _productHomeButtonDyn); var siteTitleDynamicStyles = (0, _defineProperty2.default)({ borderRight: theme.mode.productHome.borderRight, opacity: theme.mode.skeleton.opacity }, VAR_SITE_TITLE_BG_COLOR_AFTER, theme.mode.skeleton.backgroundColor); return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("div", { style: productHomeButtonDynamicStyles, css: productHomeButtonStyles }, (0, _react2.jsx)("div", { style: theme.mode.skeleton, css: productLogoStyles }), (0, _react2.jsx)("div", { style: theme.mode.skeleton, css: productIconStyles })), showSiteName && (0, _react2.jsx)("div", { style: siteTitleDynamicStyles, css: siteTitleStyles })); }; exports.ProductHomeSkeleton = ProductHomeSkeleton;