@atlaskit/page-layout
Version:
A collection of components which let you compose an application's page layout.
59 lines (56 loc) • 2.37 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = 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 _utils = require("../../common/utils");
var _controllers = require("../../controllers");
var _leftSidebarInner = _interopRequireDefault(require("./internal/left-sidebar-inner"));
var _leftSidebarOuter = _interopRequireDefault(require("./internal/left-sidebar-outer"));
var _slotDimensions = _interopRequireDefault(require("./slot-dimensions"));
/**
* @jsxRuntime classic
* @jsx jsx
*/
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
/**
* __Left sidebar without resize__
*
* Provides a slot for a left sidebar without resize within the PageLayout.
*
* - [Examples](https://atlassian.design/components/page-layout/examples)
* - [Code](https://atlassian.design/components/page-layout/code)
*/
var LeftSidebarWithoutResize = function LeftSidebarWithoutResize(props) {
var children = props.children,
id = props.id,
width = props.width,
isFixed = props.isFixed,
shouldPersistWidth = props.shouldPersistWidth,
testId = props.testId,
skipLinkTitle = props.skipLinkTitle;
var leftSidebarWidth = (0, _utils.resolveDimension)(_constants.VAR_LEFT_SIDEBAR_WIDTH, width, shouldPersistWidth);
(0, _react.useEffect)(function () {
(0, _controllers.publishGridState)((0, _defineProperty2.default)({}, _constants.VAR_LEFT_SIDEBAR_WIDTH, leftSidebarWidth));
return function () {
(0, _controllers.publishGridState)((0, _defineProperty2.default)({}, _constants.VAR_LEFT_SIDEBAR_WIDTH, 0));
};
}, [leftSidebarWidth]);
(0, _controllers.useSkipLink)(id, skipLinkTitle);
return (0, _react2.jsx)(_leftSidebarOuter.default, {
id: id,
testId: testId,
isFixed: isFixed
}, (0, _react2.jsx)(_slotDimensions.default, {
variableName: _constants.VAR_LEFT_SIDEBAR_WIDTH,
value: leftSidebarWidth
}), (0, _react2.jsx)(_leftSidebarInner.default, {
isFixed: isFixed
}, children));
};
var _default = exports.default = LeftSidebarWithoutResize;