@atlaskit/navigation-system 2.9.0 → 2.10.1
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.
- package/CHANGELOG.md +18 -0
- package/constellation/index/examples.mdx +2 -1
- package/dist/cjs/ui/menu-section/divider.compiled.css +1 -1
- package/dist/cjs/ui/menu-section/divider.js +2 -2
- package/dist/cjs/ui/page-layout/panel.compiled.css +1 -1
- package/dist/cjs/ui/page-layout/panel.js +1 -1
- package/dist/cjs/ui/page-layout/root.js +6 -2
- package/dist/cjs/ui/page-layout/side-nav/side-nav.compiled.css +3 -3
- package/dist/cjs/ui/page-layout/side-nav/side-nav.js +7 -2
- package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +4 -1
- package/dist/cjs/ui/page-layout/side-nav/visibility-provider.js +11 -2
- package/dist/cjs/ui/page-layout/top-nav/top-nav.compiled.css +2 -2
- package/dist/cjs/ui/page-layout/top-nav/top-nav.js +2 -2
- package/dist/es2019/ui/menu-section/divider.compiled.css +1 -1
- package/dist/es2019/ui/menu-section/divider.js +1 -1
- package/dist/es2019/ui/page-layout/panel.compiled.css +1 -1
- package/dist/es2019/ui/page-layout/panel.js +1 -1
- package/dist/es2019/ui/page-layout/root.js +5 -2
- package/dist/es2019/ui/page-layout/side-nav/side-nav.compiled.css +3 -3
- package/dist/es2019/ui/page-layout/side-nav/side-nav.js +7 -2
- package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +4 -1
- package/dist/es2019/ui/page-layout/side-nav/visibility-provider.js +11 -2
- package/dist/es2019/ui/page-layout/top-nav/top-nav.compiled.css +2 -2
- package/dist/es2019/ui/page-layout/top-nav/top-nav.js +2 -2
- package/dist/esm/ui/menu-section/divider.compiled.css +1 -1
- package/dist/esm/ui/menu-section/divider.js +2 -2
- package/dist/esm/ui/page-layout/panel.compiled.css +1 -1
- package/dist/esm/ui/page-layout/panel.js +1 -1
- package/dist/esm/ui/page-layout/root.js +6 -2
- package/dist/esm/ui/page-layout/side-nav/side-nav.compiled.css +3 -3
- package/dist/esm/ui/page-layout/side-nav/side-nav.js +7 -2
- package/dist/esm/ui/page-layout/side-nav/toggle-button.js +4 -1
- package/dist/esm/ui/page-layout/side-nav/visibility-provider.js +11 -2
- package/dist/esm/ui/page-layout/top-nav/top-nav.compiled.css +2 -2
- package/dist/esm/ui/page-layout/top-nav/top-nav.js +2 -2
- package/dist/types/ui/page-layout/root.d.ts +13 -1
- package/dist/types/ui/page-layout/side-nav/side-nav.d.ts +7 -0
- package/dist/types/ui/page-layout/side-nav/toggle-button.d.ts +7 -0
- package/dist/types/ui/page-layout/side-nav/visibility-provider.d.ts +2 -1
- package/dist/types-ts4.5/ui/page-layout/root.d.ts +13 -1
- package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav.d.ts +7 -0
- package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button.d.ts +7 -0
- package/dist/types-ts4.5/ui/page-layout/side-nav/visibility-provider.d.ts +2 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlassian/navigation-system
|
|
2
2
|
|
|
3
|
+
## 2.10.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`248faa32d4835`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/248faa32d4835) -
|
|
8
|
+
Internal changes to how borders are applied.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 2.10.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [`8c5f4864d7d4c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8c5f4864d7d4c) -
|
|
16
|
+
Adds `defaultSideNavCollapsed` prop to `Root` which replaces the `defaultCollapsed` props on
|
|
17
|
+
`SideNav` and `SideNavToggleButton`. This prop is enabled behind the
|
|
18
|
+
`platform_dst_nav4_full_height_sidebar_api_changes` feature gate. When this gate is cleaned up the
|
|
19
|
+
`defaultCollapsed` props will be removed.
|
|
20
|
+
|
|
3
21
|
## 2.9.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
|
@@ -31,7 +31,8 @@ For ready-made navigation experiences see
|
|
|
31
31
|
|
|
32
32
|
- <a href="https://go.atlassian.com/nav4-interactive-example" target="_blank">
|
|
33
33
|
Full screen interactive example
|
|
34
|
-
</a>
|
|
34
|
+
</a>
|
|
35
|
+
(only available for Atlassian employees at this stage).
|
|
35
36
|
|
|
36
37
|
## Related
|
|
37
38
|
|
|
@@ -27,9 +27,9 @@ var Divider = exports.Divider = function Divider() {
|
|
|
27
27
|
* but it probably isn't necessary.
|
|
28
28
|
*/
|
|
29
29
|
role: "none",
|
|
30
|
-
className: (0, _runtime.ax)(["_h7alglyw _179rglyw
|
|
30
|
+
className: (0, _runtime.ax)(["_h7alglyw _179rglyw _mqm2kzr3 _1bsb1osq"]),
|
|
31
31
|
style: {
|
|
32
|
-
"--
|
|
32
|
+
"--_1hbmzy2": (0, _runtime.ix)("var(--ds-border-width, 1px)".concat(" solid ", "var(--ds-border, #091E4224)"))
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
35
|
};
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
._kqsw1if8{position:sticky}
|
|
15
15
|
._vchhusvi{box-sizing:border-box}
|
|
16
16
|
@media (min-width:48rem){._14b54rrg{width:var(--n_pnlRsz,var(--n_pnlW))}}
|
|
17
|
-
@media (min-width:64rem){.
|
|
17
|
+
@media (min-width:64rem){._1w6e7r9e{border-inline-start:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._scbpglyw{box-shadow:none}._4ap3vuon{background-color:var(--ds-surface,#fff)}}
|
|
18
18
|
@media (min-width:90rem){._1dhy1c6w{grid-area:panel}._9sns1wug{z-index:auto}}
|
|
@@ -36,7 +36,7 @@ var fallbackDefaultWidth = 365;
|
|
|
36
36
|
var fallbackResizeMinWidth = 400;
|
|
37
37
|
var styles = {
|
|
38
38
|
root: "_nd5l1b6c _10fph9n0 _vchhusvi _1pbykb7n _4t3ieqxy _kqsw1if8 _152timx3 _bfhk1bhr _1bsb1dxx _14b54rrg _4ap3vuon _1dhy1c6w _9sns1wug",
|
|
39
|
-
border: "_191wglyw _16qs1cd0
|
|
39
|
+
border: "_191wglyw _16qs1cd0 _1w6e7r9e _scbpglyw",
|
|
40
40
|
scrollContainer: "_1reo1wug _18m91wug _4t3i1osq",
|
|
41
41
|
hidden: "_1e0cglyw"
|
|
42
42
|
};
|
|
@@ -35,7 +35,9 @@ function Root(_ref) {
|
|
|
35
35
|
UNSAFE_dangerouslyHoistSlotSizes = _ref$UNSAFE_dangerous === void 0 ? false : _ref$UNSAFE_dangerous,
|
|
36
36
|
_ref$skipLinksLabel = _ref.skipLinksLabel,
|
|
37
37
|
skipLinksLabel = _ref$skipLinksLabel === void 0 ? 'Skip to:' : _ref$skipLinksLabel,
|
|
38
|
-
testId = _ref.testId
|
|
38
|
+
testId = _ref.testId,
|
|
39
|
+
_ref$defaultSideNavCo = _ref.defaultSideNavCollapsed,
|
|
40
|
+
defaultSideNavCollapsed = _ref$defaultSideNavCo === void 0 ? false : _ref$defaultSideNavCo;
|
|
39
41
|
var ref = (0, _react.useRef)(null);
|
|
40
42
|
(0, _react.useEffect)(function () {
|
|
41
43
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -50,7 +52,9 @@ function Root(_ref) {
|
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
}, []);
|
|
53
|
-
return /*#__PURE__*/_react.default.createElement(_visibilityProvider.SideNavVisibilityProvider,
|
|
55
|
+
return /*#__PURE__*/_react.default.createElement(_visibilityProvider.SideNavVisibilityProvider, {
|
|
56
|
+
defaultCollapsed: defaultSideNavCollapsed
|
|
57
|
+
}, /*#__PURE__*/_react.default.createElement(_toggleButtonProvider.SideNavToggleButtonProvider, null, /*#__PURE__*/_react.default.createElement(_elementContext.SideNavElementProvider, null, /*#__PURE__*/_react.default.createElement(_topNavStartContextProvider.TopNavStartProvider, null, /*#__PURE__*/_react.default.createElement(_openLayerObserver.OpenLayerObserver, null, /*#__PURE__*/_react.default.createElement(_hoistSlotSizesContext.DangerouslyHoistSlotSizes.Provider, {
|
|
54
58
|
value: UNSAFE_dangerouslyHoistSlotSizes
|
|
55
59
|
}, /*#__PURE__*/_react.default.createElement(_skipLinksProvider.SkipLinksProvider, {
|
|
56
60
|
label: skipLinksLabel,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
._nd5l1b6c{grid-area:main/aside/aside/aside}
|
|
3
3
|
._191wglyw{border-inline-start:none}
|
|
4
|
-
.
|
|
5
|
-
.
|
|
4
|
+
._t51z7r9e{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}
|
|
5
|
+
._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
|
|
6
6
|
._16qs1cd0{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #091e4226,0 0 1px #091e424f)}
|
|
7
7
|
._1bah1yb4{justify-content:space-between}
|
|
8
8
|
._1bsb1ego{width:min(90%,20pc)}
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
._kqsw1if8{position:sticky}
|
|
17
17
|
._vchhusvi{box-sizing:border-box}
|
|
18
18
|
@media (min-width:48rem){._14b5hc79{width:var(--n_snvRsz,var(--n_sNvw))}}
|
|
19
|
-
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._180k1wjm{inset-block-start:calc(var(--n_bnrM, 0px))}._26vxoned{padding-block-start:calc(var(--n_tNvM, 0px))}._1mt19dtb{margin-block-start:calc(var(--n_tNvM, 0px)*-1)}._dm2518uv{display:initial}._dm25glyw{display:none}.
|
|
19
|
+
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._180k1wjm{inset-block-start:calc(var(--n_bnrM, 0px))}._26vxoned{padding-block-start:calc(var(--n_tNvM, 0px))}._1mt19dtb{margin-block-start:calc(var(--n_tNvM, 0px)*-1)}._dm2518uv{display:initial}._dm25glyw{display:none}._p5cl7r9e{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._p5clglyw{border-inline-end:none}._qiln1gzg{grid-area:main}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp1cd0{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #091e4226,0 0 1px #091e424f)}._qilnk0mc{grid-area:side-nav}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
|
|
20
20
|
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
@@ -52,8 +52,8 @@ function getResizeBounds() {
|
|
|
52
52
|
var openLayerObserverSideNavNamespace = 'side-nav';
|
|
53
53
|
var styles = {
|
|
54
54
|
root: "_nd5l1b6c _bfhk1bhr _16qs1cd0 _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _4ap3vuon _scbpglyw",
|
|
55
|
-
oldBorder: "
|
|
56
|
-
newBorder: "_191wglyw _t51zglyw
|
|
55
|
+
oldBorder: "_t51z7r9e",
|
|
56
|
+
newBorder: "_191wglyw _t51zglyw _p5cl7r9e",
|
|
57
57
|
newBorderFlyoutOpen: "_p5clglyw",
|
|
58
58
|
flyoutOpen: "_qiln1gzg _4ap31bhr _scbp1cd0 _139f8iot _1tpvfnf5 _sylc1a5r _oyeijq3t",
|
|
59
59
|
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _139f8iot _1tpvfnf5 _sylc1a5r _1uwsjq3t",
|
|
@@ -247,6 +247,11 @@ function SideNavInternal(_ref) {
|
|
|
247
247
|
trigger: 'click-outside-on-mobile'
|
|
248
248
|
});
|
|
249
249
|
(0, _react.useEffect)(function () {
|
|
250
|
+
if ((0, _platformFeatureFlags.fg)('platform_dst_nav4_full_height_sidebar_api_changes')) {
|
|
251
|
+
// We are passing initial state to the Root now, so no initial sync is required
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
|
|
250
255
|
// Sync the visibility in context (provided in `<Root>`) with the local `defaultCollapsed` prop provided to `SideNav`
|
|
251
256
|
// after SSR hydration. This should only run once, after the initial render on the client.
|
|
252
257
|
setSideNavState({
|
|
@@ -53,7 +53,10 @@ var SideNavToggleButton = exports.SideNavToggleButton = function SideNavToggleBu
|
|
|
53
53
|
}),
|
|
54
54
|
isSideNavExpandedOnDesktop = _useSideNavVisibility.isExpandedOnDesktop,
|
|
55
55
|
isSideNavExpandedOnMobile = _useSideNavVisibility.isExpandedOnMobile;
|
|
56
|
-
|
|
56
|
+
|
|
57
|
+
// When `platform_dst_nav4_full_height_sidebar_api_changes` is enabled,
|
|
58
|
+
// we default to the desktop state for SSR
|
|
59
|
+
var _useState = (0, _react.useState)((0, _platformFeatureFlags.fg)('platform_dst_nav4_full_height_sidebar_api_changes') ? isSideNavExpandedOnDesktop : !defaultCollapsed),
|
|
57
60
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
58
61
|
isSideNavExpanded = _useState2[0],
|
|
59
62
|
setIsSideNavExpanded = _useState2[1];
|
|
@@ -8,15 +8,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.SideNavVisibilityProvider = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
12
|
var _visibilityContext = require("./visibility-context");
|
|
12
13
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
14
|
/**
|
|
14
15
|
* Manages the side nav visibility state and provides the context.
|
|
15
16
|
*/
|
|
16
17
|
var SideNavVisibilityProvider = exports.SideNavVisibilityProvider = function SideNavVisibilityProvider(_ref) {
|
|
17
|
-
var children = _ref.children
|
|
18
|
+
var children = _ref.children,
|
|
19
|
+
defaultCollapsed = _ref.defaultCollapsed;
|
|
20
|
+
var initialState = (0, _platformFeatureFlags.fg)('platform_dst_nav4_full_height_sidebar_api_changes') ? {
|
|
21
|
+
desktop: defaultCollapsed ? 'collapsed' : 'expanded',
|
|
22
|
+
mobile: 'collapsed',
|
|
23
|
+
flyout: 'closed',
|
|
24
|
+
lastTrigger: null
|
|
25
|
+
} : null;
|
|
26
|
+
|
|
18
27
|
// Defaults to null so we can determine if the value has been set yet (for SSR)
|
|
19
|
-
var _useState = (0, _react.useState)(
|
|
28
|
+
var _useState = (0, _react.useState)(initialState),
|
|
20
29
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
21
30
|
sideNavState = _useState2[0],
|
|
22
31
|
setSideNavState = _useState2[1];
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
._nd5l8cbt{grid-area:top-bar}
|
|
3
3
|
._zulpu2gc{gap:var(--ds-space-100,8px)}
|
|
4
4
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
5
|
-
.
|
|
6
|
-
.
|
|
5
|
+
._179r7r9e{border-block-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}
|
|
6
|
+
._179rglyw{border-block-end:none}._152t1nws{inset-block-start:var(--n_bnrM,0)}
|
|
7
7
|
._1bsb1osq{width:100%}
|
|
8
8
|
._1e0c11p5{display:grid}
|
|
9
9
|
._1pbyegat{z-index:4}
|
|
@@ -32,7 +32,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
32
32
|
* - The background sits below the expanded side nav
|
|
33
33
|
*/
|
|
34
34
|
var styles = {
|
|
35
|
-
root: "_nd5l8cbt _zulpu2gc _18zrutpp
|
|
35
|
+
root: "_nd5l8cbt _zulpu2gc _18zrutpp _179r7r9e _1e0c11p5 _yv0e1mfv _4cvr1h6o _bfhkvuon _vchhusvi _4t3i1dgc _152t1nws _kqsw1if8 _1pbyegat _d6vu1bgi _1j8b18ax",
|
|
36
36
|
fullHeightSidebar: "_179rglyw _bozgze3t _y4tiutpp _bfhkglyw _lcxvglyw _pdlmutpp",
|
|
37
37
|
fullHeightSidebarExpanded: "_1rqt15p1"
|
|
38
38
|
};
|
|
@@ -43,7 +43,7 @@ var styles = {
|
|
|
43
43
|
* This is on a lower z-index than the expanded side nav, and is separate to the top nav items which are above the expanded side nav.
|
|
44
44
|
*/
|
|
45
45
|
var backgroundStyles = {
|
|
46
|
-
root: "_nd5l8cbt
|
|
46
|
+
root: "_nd5l8cbt _179r7r9e _1bsb1osq _4t3i1osq _bfhkvuon _vchhusvi _152t1nws _kqsw1if8 _lcxvglyw _1pbyegat",
|
|
47
47
|
sideNavExpanded: "_hyzqcs5v"
|
|
48
48
|
};
|
|
49
49
|
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
._kqsw1if8{position:sticky}
|
|
15
15
|
._vchhusvi{box-sizing:border-box}
|
|
16
16
|
@media (min-width:48rem){._14b54rrg{width:var(--n_pnlRsz,var(--n_pnlW))}}
|
|
17
|
-
@media (min-width:64rem){.
|
|
17
|
+
@media (min-width:64rem){._1w6e7r9e{border-inline-start:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._scbpglyw{box-shadow:none}._4ap3vuon{background-color:var(--ds-surface,#fff)}}
|
|
18
18
|
@media (min-width:90rem){._1dhy1c6w{grid-area:panel}._9sns1wug{z-index:auto}}
|
|
@@ -25,7 +25,7 @@ const fallbackDefaultWidth = 365;
|
|
|
25
25
|
const fallbackResizeMinWidth = 400;
|
|
26
26
|
const styles = {
|
|
27
27
|
root: "_nd5l1b6c _10fph9n0 _vchhusvi _1pbykb7n _4t3ieqxy _kqsw1if8 _152timx3 _bfhk1bhr _1bsb1dxx _14b54rrg _4ap3vuon _1dhy1c6w _9sns1wug",
|
|
28
|
-
border: "_191wglyw _16qs1cd0
|
|
28
|
+
border: "_191wglyw _16qs1cd0 _1w6e7r9e _scbpglyw",
|
|
29
29
|
scrollContainer: "_1reo1wug _18m91wug _4t3i1osq",
|
|
30
30
|
hidden: "_1e0cglyw"
|
|
31
31
|
};
|
|
@@ -25,7 +25,8 @@ export function Root({
|
|
|
25
25
|
xcss,
|
|
26
26
|
UNSAFE_dangerouslyHoistSlotSizes = false,
|
|
27
27
|
skipLinksLabel = 'Skip to:',
|
|
28
|
-
testId
|
|
28
|
+
testId,
|
|
29
|
+
defaultSideNavCollapsed = false
|
|
29
30
|
}) {
|
|
30
31
|
const ref = useRef(null);
|
|
31
32
|
useEffect(() => {
|
|
@@ -50,7 +51,9 @@ This message will not be displayed in production.
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}, []);
|
|
53
|
-
return /*#__PURE__*/React.createElement(SideNavVisibilityProvider,
|
|
54
|
+
return /*#__PURE__*/React.createElement(SideNavVisibilityProvider, {
|
|
55
|
+
defaultCollapsed: defaultSideNavCollapsed
|
|
56
|
+
}, /*#__PURE__*/React.createElement(SideNavToggleButtonProvider, null, /*#__PURE__*/React.createElement(SideNavElementProvider, null, /*#__PURE__*/React.createElement(TopNavStartProvider, null, /*#__PURE__*/React.createElement(OpenLayerObserver, null, /*#__PURE__*/React.createElement(DangerouslyHoistSlotSizes.Provider, {
|
|
54
57
|
value: UNSAFE_dangerouslyHoistSlotSizes
|
|
55
58
|
}, /*#__PURE__*/React.createElement(SkipLinksProvider, {
|
|
56
59
|
label: skipLinksLabel,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
._nd5l1b6c{grid-area:main/aside/aside/aside}
|
|
3
3
|
._191wglyw{border-inline-start:none}
|
|
4
|
-
.
|
|
5
|
-
.
|
|
4
|
+
._t51z7r9e{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}
|
|
5
|
+
._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
|
|
6
6
|
._16qs1cd0{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #091e4226,0 0 1px #091e424f)}
|
|
7
7
|
._1bah1yb4{justify-content:space-between}
|
|
8
8
|
._1bsb1ego{width:min(90%,20pc)}
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
._kqsw1if8{position:sticky}
|
|
17
17
|
._vchhusvi{box-sizing:border-box}
|
|
18
18
|
@media (min-width:48rem){._14b5hc79{width:var(--n_snvRsz,var(--n_sNvw))}}
|
|
19
|
-
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._180k1wjm{inset-block-start:calc(var(--n_bnrM, 0px))}._26vxoned{padding-block-start:calc(var(--n_tNvM, 0px))}._1mt19dtb{margin-block-start:calc(var(--n_tNvM, 0px)*-1)}._dm2518uv{display:initial}._dm25glyw{display:none}.
|
|
19
|
+
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._180k1wjm{inset-block-start:calc(var(--n_bnrM, 0px))}._26vxoned{padding-block-start:calc(var(--n_tNvM, 0px))}._1mt19dtb{margin-block-start:calc(var(--n_tNvM, 0px)*-1)}._dm2518uv{display:initial}._dm25glyw{display:none}._p5cl7r9e{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._p5clglyw{border-inline-end:none}._qiln1gzg{grid-area:main}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp1cd0{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #091e4226,0 0 1px #091e424f)}._qilnk0mc{grid-area:side-nav}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
|
|
20
20
|
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
@@ -39,8 +39,8 @@ function getResizeBounds() {
|
|
|
39
39
|
const openLayerObserverSideNavNamespace = 'side-nav';
|
|
40
40
|
const styles = {
|
|
41
41
|
root: "_nd5l1b6c _bfhk1bhr _16qs1cd0 _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _4ap3vuon _scbpglyw",
|
|
42
|
-
oldBorder: "
|
|
43
|
-
newBorder: "_191wglyw _t51zglyw
|
|
42
|
+
oldBorder: "_t51z7r9e",
|
|
43
|
+
newBorder: "_191wglyw _t51zglyw _p5cl7r9e",
|
|
44
44
|
newBorderFlyoutOpen: "_p5clglyw",
|
|
45
45
|
flyoutOpen: "_qiln1gzg _4ap31bhr _scbp1cd0 _139f8iot _1tpvfnf5 _sylc1a5r _oyeijq3t",
|
|
46
46
|
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _139f8iot _1tpvfnf5 _sylc1a5r _1uwsjq3t",
|
|
@@ -230,6 +230,11 @@ function SideNavInternal({
|
|
|
230
230
|
trigger: 'click-outside-on-mobile'
|
|
231
231
|
});
|
|
232
232
|
useEffect(() => {
|
|
233
|
+
if (fg('platform_dst_nav4_full_height_sidebar_api_changes')) {
|
|
234
|
+
// We are passing initial state to the Root now, so no initial sync is required
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
|
|
233
238
|
// Sync the visibility in context (provided in `<Root>`) with the local `defaultCollapsed` prop provided to `SideNav`
|
|
234
239
|
// after SSR hydration. This should only run once, after the initial render on the client.
|
|
235
240
|
setSideNavState({
|
|
@@ -44,7 +44,10 @@ export const SideNavToggleButton = ({
|
|
|
44
44
|
} = useSideNavVisibility({
|
|
45
45
|
defaultCollapsed
|
|
46
46
|
});
|
|
47
|
-
|
|
47
|
+
|
|
48
|
+
// When `platform_dst_nav4_full_height_sidebar_api_changes` is enabled,
|
|
49
|
+
// we default to the desktop state for SSR
|
|
50
|
+
const [isSideNavExpanded, setIsSideNavExpanded] = useState(fg('platform_dst_nav4_full_height_sidebar_api_changes') ? isSideNavExpandedOnDesktop : !defaultCollapsed);
|
|
48
51
|
const ref = useContext(SideNavToggleButtonAttachRef);
|
|
49
52
|
const elementRef = useRef(null);
|
|
50
53
|
useEffect(() => {
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
3
|
import { SetSideNavVisibilityState, SideNavVisibilityState } from './visibility-context';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Manages the side nav visibility state and provides the context.
|
|
6
7
|
*/
|
|
7
8
|
export const SideNavVisibilityProvider = ({
|
|
8
|
-
children
|
|
9
|
+
children,
|
|
10
|
+
defaultCollapsed
|
|
9
11
|
}) => {
|
|
12
|
+
const initialState = fg('platform_dst_nav4_full_height_sidebar_api_changes') ? {
|
|
13
|
+
desktop: defaultCollapsed ? 'collapsed' : 'expanded',
|
|
14
|
+
mobile: 'collapsed',
|
|
15
|
+
flyout: 'closed',
|
|
16
|
+
lastTrigger: null
|
|
17
|
+
} : null;
|
|
18
|
+
|
|
10
19
|
// Defaults to null so we can determine if the value has been set yet (for SSR)
|
|
11
|
-
const [sideNavState, setSideNavState] = useState(
|
|
20
|
+
const [sideNavState, setSideNavState] = useState(initialState);
|
|
12
21
|
return /*#__PURE__*/React.createElement(SideNavVisibilityState.Provider, {
|
|
13
22
|
value: sideNavState
|
|
14
23
|
}, /*#__PURE__*/React.createElement(SetSideNavVisibilityState.Provider, {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
._nd5l8cbt{grid-area:top-bar}
|
|
3
3
|
._zulpu2gc{gap:var(--ds-space-100,8px)}
|
|
4
4
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
5
|
-
.
|
|
6
|
-
.
|
|
5
|
+
._179r7r9e{border-block-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}
|
|
6
|
+
._179rglyw{border-block-end:none}._152t1nws{inset-block-start:var(--n_bnrM,0)}
|
|
7
7
|
._1bsb1osq{width:100%}
|
|
8
8
|
._1e0c11p5{display:grid}
|
|
9
9
|
._1pbyegat{z-index:4}
|
|
@@ -21,7 +21,7 @@ import { useSideNavVisibility } from '../side-nav/use-side-nav-visibility';
|
|
|
21
21
|
* - The background sits below the expanded side nav
|
|
22
22
|
*/
|
|
23
23
|
const styles = {
|
|
24
|
-
root: "_nd5l8cbt _zulpu2gc _18zrutpp
|
|
24
|
+
root: "_nd5l8cbt _zulpu2gc _18zrutpp _179r7r9e _1e0c11p5 _yv0e1mfv _4cvr1h6o _bfhkvuon _vchhusvi _4t3i1dgc _152t1nws _kqsw1if8 _1pbyegat _d6vu1bgi _1j8b18ax",
|
|
25
25
|
fullHeightSidebar: "_179rglyw _bozgze3t _y4tiutpp _bfhkglyw _lcxvglyw _pdlmutpp",
|
|
26
26
|
fullHeightSidebarExpanded: "_1rqt15p1"
|
|
27
27
|
};
|
|
@@ -32,7 +32,7 @@ const styles = {
|
|
|
32
32
|
* This is on a lower z-index than the expanded side nav, and is separate to the top nav items which are above the expanded side nav.
|
|
33
33
|
*/
|
|
34
34
|
const backgroundStyles = {
|
|
35
|
-
root: "_nd5l8cbt
|
|
35
|
+
root: "_nd5l8cbt _179r7r9e _1bsb1osq _4t3i1osq _bfhkvuon _vchhusvi _152t1nws _kqsw1if8 _lcxvglyw _1pbyegat",
|
|
36
36
|
sideNavExpanded: "_hyzqcs5v"
|
|
37
37
|
};
|
|
38
38
|
|
|
@@ -19,9 +19,9 @@ export var Divider = function Divider() {
|
|
|
19
19
|
* but it probably isn't necessary.
|
|
20
20
|
*/
|
|
21
21
|
role: "none",
|
|
22
|
-
className: ax(["_h7alglyw _179rglyw
|
|
22
|
+
className: ax(["_h7alglyw _179rglyw _mqm2kzr3 _1bsb1osq"]),
|
|
23
23
|
style: {
|
|
24
|
-
"--
|
|
24
|
+
"--_1hbmzy2": ix("var(--ds-border-width, 1px)".concat(" solid ", "var(--ds-border, #091E4224)"))
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
};
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
._kqsw1if8{position:sticky}
|
|
15
15
|
._vchhusvi{box-sizing:border-box}
|
|
16
16
|
@media (min-width:48rem){._14b54rrg{width:var(--n_pnlRsz,var(--n_pnlW))}}
|
|
17
|
-
@media (min-width:64rem){.
|
|
17
|
+
@media (min-width:64rem){._1w6e7r9e{border-inline-start:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._scbpglyw{box-shadow:none}._4ap3vuon{background-color:var(--ds-surface,#fff)}}
|
|
18
18
|
@media (min-width:90rem){._1dhy1c6w{grid-area:panel}._9sns1wug{z-index:auto}}
|
|
@@ -27,7 +27,7 @@ var fallbackDefaultWidth = 365;
|
|
|
27
27
|
var fallbackResizeMinWidth = 400;
|
|
28
28
|
var styles = {
|
|
29
29
|
root: "_nd5l1b6c _10fph9n0 _vchhusvi _1pbykb7n _4t3ieqxy _kqsw1if8 _152timx3 _bfhk1bhr _1bsb1dxx _14b54rrg _4ap3vuon _1dhy1c6w _9sns1wug",
|
|
30
|
-
border: "_191wglyw _16qs1cd0
|
|
30
|
+
border: "_191wglyw _16qs1cd0 _1w6e7r9e _scbpglyw",
|
|
31
31
|
scrollContainer: "_1reo1wug _18m91wug _4t3i1osq",
|
|
32
32
|
hidden: "_1e0cglyw"
|
|
33
33
|
};
|
|
@@ -27,7 +27,9 @@ export function Root(_ref) {
|
|
|
27
27
|
UNSAFE_dangerouslyHoistSlotSizes = _ref$UNSAFE_dangerous === void 0 ? false : _ref$UNSAFE_dangerous,
|
|
28
28
|
_ref$skipLinksLabel = _ref.skipLinksLabel,
|
|
29
29
|
skipLinksLabel = _ref$skipLinksLabel === void 0 ? 'Skip to:' : _ref$skipLinksLabel,
|
|
30
|
-
testId = _ref.testId
|
|
30
|
+
testId = _ref.testId,
|
|
31
|
+
_ref$defaultSideNavCo = _ref.defaultSideNavCollapsed,
|
|
32
|
+
defaultSideNavCollapsed = _ref$defaultSideNavCo === void 0 ? false : _ref$defaultSideNavCo;
|
|
31
33
|
var ref = useRef(null);
|
|
32
34
|
useEffect(function () {
|
|
33
35
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -42,7 +44,9 @@ export function Root(_ref) {
|
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
}, []);
|
|
45
|
-
return /*#__PURE__*/React.createElement(SideNavVisibilityProvider,
|
|
47
|
+
return /*#__PURE__*/React.createElement(SideNavVisibilityProvider, {
|
|
48
|
+
defaultCollapsed: defaultSideNavCollapsed
|
|
49
|
+
}, /*#__PURE__*/React.createElement(SideNavToggleButtonProvider, null, /*#__PURE__*/React.createElement(SideNavElementProvider, null, /*#__PURE__*/React.createElement(TopNavStartProvider, null, /*#__PURE__*/React.createElement(OpenLayerObserver, null, /*#__PURE__*/React.createElement(DangerouslyHoistSlotSizes.Provider, {
|
|
46
50
|
value: UNSAFE_dangerouslyHoistSlotSizes
|
|
47
51
|
}, /*#__PURE__*/React.createElement(SkipLinksProvider, {
|
|
48
52
|
label: skipLinksLabel,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
._nd5l1b6c{grid-area:main/aside/aside/aside}
|
|
3
3
|
._191wglyw{border-inline-start:none}
|
|
4
|
-
.
|
|
5
|
-
.
|
|
4
|
+
._t51z7r9e{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}
|
|
5
|
+
._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
|
|
6
6
|
._16qs1cd0{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #091e4226,0 0 1px #091e424f)}
|
|
7
7
|
._1bah1yb4{justify-content:space-between}
|
|
8
8
|
._1bsb1ego{width:min(90%,20pc)}
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
._kqsw1if8{position:sticky}
|
|
17
17
|
._vchhusvi{box-sizing:border-box}
|
|
18
18
|
@media (min-width:48rem){._14b5hc79{width:var(--n_snvRsz,var(--n_sNvw))}}
|
|
19
|
-
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._180k1wjm{inset-block-start:calc(var(--n_bnrM, 0px))}._26vxoned{padding-block-start:calc(var(--n_tNvM, 0px))}._1mt19dtb{margin-block-start:calc(var(--n_tNvM, 0px)*-1)}._dm2518uv{display:initial}._dm25glyw{display:none}.
|
|
19
|
+
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._180k1wjm{inset-block-start:calc(var(--n_bnrM, 0px))}._26vxoned{padding-block-start:calc(var(--n_tNvM, 0px))}._1mt19dtb{margin-block-start:calc(var(--n_tNvM, 0px)*-1)}._dm2518uv{display:initial}._dm25glyw{display:none}._p5cl7r9e{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._p5clglyw{border-inline-end:none}._qiln1gzg{grid-area:main}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp1cd0{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #091e4226,0 0 1px #091e424f)}._qilnk0mc{grid-area:side-nav}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
|
|
20
20
|
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
@@ -43,8 +43,8 @@ function getResizeBounds() {
|
|
|
43
43
|
var openLayerObserverSideNavNamespace = 'side-nav';
|
|
44
44
|
var styles = {
|
|
45
45
|
root: "_nd5l1b6c _bfhk1bhr _16qs1cd0 _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _4ap3vuon _scbpglyw",
|
|
46
|
-
oldBorder: "
|
|
47
|
-
newBorder: "_191wglyw _t51zglyw
|
|
46
|
+
oldBorder: "_t51z7r9e",
|
|
47
|
+
newBorder: "_191wglyw _t51zglyw _p5cl7r9e",
|
|
48
48
|
newBorderFlyoutOpen: "_p5clglyw",
|
|
49
49
|
flyoutOpen: "_qiln1gzg _4ap31bhr _scbp1cd0 _139f8iot _1tpvfnf5 _sylc1a5r _oyeijq3t",
|
|
50
50
|
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _139f8iot _1tpvfnf5 _sylc1a5r _1uwsjq3t",
|
|
@@ -238,6 +238,11 @@ function SideNavInternal(_ref) {
|
|
|
238
238
|
trigger: 'click-outside-on-mobile'
|
|
239
239
|
});
|
|
240
240
|
useEffect(function () {
|
|
241
|
+
if (fg('platform_dst_nav4_full_height_sidebar_api_changes')) {
|
|
242
|
+
// We are passing initial state to the Root now, so no initial sync is required
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
|
|
241
246
|
// Sync the visibility in context (provided in `<Root>`) with the local `defaultCollapsed` prop provided to `SideNav`
|
|
242
247
|
// after SSR hydration. This should only run once, after the initial render on the client.
|
|
243
248
|
setSideNavState({
|
|
@@ -44,7 +44,10 @@ export var SideNavToggleButton = function SideNavToggleButton(_ref) {
|
|
|
44
44
|
}),
|
|
45
45
|
isSideNavExpandedOnDesktop = _useSideNavVisibility.isExpandedOnDesktop,
|
|
46
46
|
isSideNavExpandedOnMobile = _useSideNavVisibility.isExpandedOnMobile;
|
|
47
|
-
|
|
47
|
+
|
|
48
|
+
// When `platform_dst_nav4_full_height_sidebar_api_changes` is enabled,
|
|
49
|
+
// we default to the desktop state for SSR
|
|
50
|
+
var _useState = useState(fg('platform_dst_nav4_full_height_sidebar_api_changes') ? isSideNavExpandedOnDesktop : !defaultCollapsed),
|
|
48
51
|
_useState2 = _slicedToArray(_useState, 2),
|
|
49
52
|
isSideNavExpanded = _useState2[0],
|
|
50
53
|
setIsSideNavExpanded = _useState2[1];
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
4
|
import { SetSideNavVisibilityState, SideNavVisibilityState } from './visibility-context';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Manages the side nav visibility state and provides the context.
|
|
7
8
|
*/
|
|
8
9
|
export var SideNavVisibilityProvider = function SideNavVisibilityProvider(_ref) {
|
|
9
|
-
var children = _ref.children
|
|
10
|
+
var children = _ref.children,
|
|
11
|
+
defaultCollapsed = _ref.defaultCollapsed;
|
|
12
|
+
var initialState = fg('platform_dst_nav4_full_height_sidebar_api_changes') ? {
|
|
13
|
+
desktop: defaultCollapsed ? 'collapsed' : 'expanded',
|
|
14
|
+
mobile: 'collapsed',
|
|
15
|
+
flyout: 'closed',
|
|
16
|
+
lastTrigger: null
|
|
17
|
+
} : null;
|
|
18
|
+
|
|
10
19
|
// Defaults to null so we can determine if the value has been set yet (for SSR)
|
|
11
|
-
var _useState = useState(
|
|
20
|
+
var _useState = useState(initialState),
|
|
12
21
|
_useState2 = _slicedToArray(_useState, 2),
|
|
13
22
|
sideNavState = _useState2[0],
|
|
14
23
|
setSideNavState = _useState2[1];
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
._nd5l8cbt{grid-area:top-bar}
|
|
3
3
|
._zulpu2gc{gap:var(--ds-space-100,8px)}
|
|
4
4
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
5
|
-
.
|
|
6
|
-
.
|
|
5
|
+
._179r7r9e{border-block-end:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}
|
|
6
|
+
._179rglyw{border-block-end:none}._152t1nws{inset-block-start:var(--n_bnrM,0)}
|
|
7
7
|
._1bsb1osq{width:100%}
|
|
8
8
|
._1e0c11p5{display:grid}
|
|
9
9
|
._1pbyegat{z-index:4}
|
|
@@ -23,7 +23,7 @@ import { useSideNavVisibility } from '../side-nav/use-side-nav-visibility';
|
|
|
23
23
|
* - The background sits below the expanded side nav
|
|
24
24
|
*/
|
|
25
25
|
var styles = {
|
|
26
|
-
root: "_nd5l8cbt _zulpu2gc _18zrutpp
|
|
26
|
+
root: "_nd5l8cbt _zulpu2gc _18zrutpp _179r7r9e _1e0c11p5 _yv0e1mfv _4cvr1h6o _bfhkvuon _vchhusvi _4t3i1dgc _152t1nws _kqsw1if8 _1pbyegat _d6vu1bgi _1j8b18ax",
|
|
27
27
|
fullHeightSidebar: "_179rglyw _bozgze3t _y4tiutpp _bfhkglyw _lcxvglyw _pdlmutpp",
|
|
28
28
|
fullHeightSidebarExpanded: "_1rqt15p1"
|
|
29
29
|
};
|
|
@@ -34,7 +34,7 @@ var styles = {
|
|
|
34
34
|
* This is on a lower z-index than the expanded side nav, and is separate to the top nav items which are above the expanded side nav.
|
|
35
35
|
*/
|
|
36
36
|
var backgroundStyles = {
|
|
37
|
-
root: "_nd5l8cbt
|
|
37
|
+
root: "_nd5l8cbt _179r7r9e _1bsb1osq _4t3i1osq _bfhkvuon _vchhusvi _152t1nws _kqsw1if8 _lcxvglyw _1pbyegat",
|
|
38
38
|
sideNavExpanded: "_hyzqcs5v"
|
|
39
39
|
};
|
|
40
40
|
|
|
@@ -9,7 +9,7 @@ export declare const gridRootId = "unsafe-design-system-page-layout-root";
|
|
|
9
9
|
* The root component of the navigation system. It wraps the underlying components with the necessary contexts allowing to use certain data and hooks
|
|
10
10
|
* @param skipLinksLabel - The very first element of the layout is a skip links container that can be accessed by pressing Tab button and holds the links to the other sections of the layout thus improving accessibility. This parameter defines the header text for this container
|
|
11
11
|
*/
|
|
12
|
-
export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes, skipLinksLabel, testId, }: {
|
|
12
|
+
export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes, skipLinksLabel, testId, defaultSideNavCollapsed, }: {
|
|
13
13
|
/**
|
|
14
14
|
* For rendering the layout areas, e.g. TopNav, SideNav, Main.
|
|
15
15
|
* They should be rendered as immediate children.
|
|
@@ -35,4 +35,16 @@ export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes,
|
|
|
35
35
|
* A unique string that appears as data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
|
|
36
36
|
*/
|
|
37
37
|
testId?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the side nav should be collapsed by default __on desktop screens__.
|
|
40
|
+
*
|
|
41
|
+
* It is always collapsed by default for mobile screens.
|
|
42
|
+
*
|
|
43
|
+
* This value is used when the side nav is first mounted, but you should continuously update your
|
|
44
|
+
* persisted state using the `onCollapse` and `onExpand` callbacks, to ensure it is up to date
|
|
45
|
+
* when the app is reloaded.
|
|
46
|
+
*
|
|
47
|
+
* __Note:__ This prop will only work when the `platform_dst_nav4_full_height_sidebar_api_changes` gate is enabled.
|
|
48
|
+
*/
|
|
49
|
+
defaultSideNavCollapsed?: boolean;
|
|
38
50
|
}): JSX.Element;
|
|
@@ -12,6 +12,13 @@ type SideNavProps = CommonSlotProps & {
|
|
|
12
12
|
*/
|
|
13
13
|
label?: string;
|
|
14
14
|
/**
|
|
15
|
+
* @deprecated
|
|
16
|
+
*
|
|
17
|
+
* This prop is being replaced by `defaultSideNavCollapsed` on the `Root` element,
|
|
18
|
+
* and will be removed after `platform_dst_nav4_full_height_sidebar_api_changes` is cleaned up.
|
|
19
|
+
*
|
|
20
|
+
* ---
|
|
21
|
+
*
|
|
15
22
|
* Whether the side nav should be collapsed by default __on desktop screens__.
|
|
16
23
|
*
|
|
17
24
|
* It is always collapsed by default for mobile screens.
|
|
@@ -14,6 +14,13 @@ export type SideNavVisibilityChangeAnalyticsAttributes = {
|
|
|
14
14
|
*/
|
|
15
15
|
export declare const SideNavToggleButton: ({ defaultCollapsed, expandLabel, collapseLabel, testId, interactionName, onClick, }: {
|
|
16
16
|
/**
|
|
17
|
+
* @deprecated
|
|
18
|
+
*
|
|
19
|
+
* This prop is being replaced by `defaultSideNavCollapsed` on the `Root` element,
|
|
20
|
+
* and will be removed after `platform_dst_nav4_full_height_sidebar_api_changes` is cleaned up.
|
|
21
|
+
*
|
|
22
|
+
* ---
|
|
23
|
+
*
|
|
17
24
|
* Whether the side nav should be collapsed by default __on desktop screens__.
|
|
18
25
|
*
|
|
19
26
|
* It is always collapsed by default for mobile screens.
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
/**
|
|
3
3
|
* Manages the side nav visibility state and provides the context.
|
|
4
4
|
*/
|
|
5
|
-
export declare const SideNavVisibilityProvider: ({ children }: {
|
|
5
|
+
export declare const SideNavVisibilityProvider: ({ children, defaultCollapsed, }: {
|
|
6
6
|
children: React.ReactNode;
|
|
7
|
+
defaultCollapsed: boolean;
|
|
7
8
|
}) => React.JSX.Element;
|
|
@@ -9,7 +9,7 @@ export declare const gridRootId = "unsafe-design-system-page-layout-root";
|
|
|
9
9
|
* The root component of the navigation system. It wraps the underlying components with the necessary contexts allowing to use certain data and hooks
|
|
10
10
|
* @param skipLinksLabel - The very first element of the layout is a skip links container that can be accessed by pressing Tab button and holds the links to the other sections of the layout thus improving accessibility. This parameter defines the header text for this container
|
|
11
11
|
*/
|
|
12
|
-
export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes, skipLinksLabel, testId, }: {
|
|
12
|
+
export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes, skipLinksLabel, testId, defaultSideNavCollapsed, }: {
|
|
13
13
|
/**
|
|
14
14
|
* For rendering the layout areas, e.g. TopNav, SideNav, Main.
|
|
15
15
|
* They should be rendered as immediate children.
|
|
@@ -35,4 +35,16 @@ export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes,
|
|
|
35
35
|
* A unique string that appears as data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
|
|
36
36
|
*/
|
|
37
37
|
testId?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the side nav should be collapsed by default __on desktop screens__.
|
|
40
|
+
*
|
|
41
|
+
* It is always collapsed by default for mobile screens.
|
|
42
|
+
*
|
|
43
|
+
* This value is used when the side nav is first mounted, but you should continuously update your
|
|
44
|
+
* persisted state using the `onCollapse` and `onExpand` callbacks, to ensure it is up to date
|
|
45
|
+
* when the app is reloaded.
|
|
46
|
+
*
|
|
47
|
+
* __Note:__ This prop will only work when the `platform_dst_nav4_full_height_sidebar_api_changes` gate is enabled.
|
|
48
|
+
*/
|
|
49
|
+
defaultSideNavCollapsed?: boolean;
|
|
38
50
|
}): JSX.Element;
|
|
@@ -12,6 +12,13 @@ type SideNavProps = CommonSlotProps & {
|
|
|
12
12
|
*/
|
|
13
13
|
label?: string;
|
|
14
14
|
/**
|
|
15
|
+
* @deprecated
|
|
16
|
+
*
|
|
17
|
+
* This prop is being replaced by `defaultSideNavCollapsed` on the `Root` element,
|
|
18
|
+
* and will be removed after `platform_dst_nav4_full_height_sidebar_api_changes` is cleaned up.
|
|
19
|
+
*
|
|
20
|
+
* ---
|
|
21
|
+
*
|
|
15
22
|
* Whether the side nav should be collapsed by default __on desktop screens__.
|
|
16
23
|
*
|
|
17
24
|
* It is always collapsed by default for mobile screens.
|
|
@@ -14,6 +14,13 @@ export type SideNavVisibilityChangeAnalyticsAttributes = {
|
|
|
14
14
|
*/
|
|
15
15
|
export declare const SideNavToggleButton: ({ defaultCollapsed, expandLabel, collapseLabel, testId, interactionName, onClick, }: {
|
|
16
16
|
/**
|
|
17
|
+
* @deprecated
|
|
18
|
+
*
|
|
19
|
+
* This prop is being replaced by `defaultSideNavCollapsed` on the `Root` element,
|
|
20
|
+
* and will be removed after `platform_dst_nav4_full_height_sidebar_api_changes` is cleaned up.
|
|
21
|
+
*
|
|
22
|
+
* ---
|
|
23
|
+
*
|
|
17
24
|
* Whether the side nav should be collapsed by default __on desktop screens__.
|
|
18
25
|
*
|
|
19
26
|
* It is always collapsed by default for mobile screens.
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
/**
|
|
3
3
|
* Manages the side nav visibility state and provides the context.
|
|
4
4
|
*/
|
|
5
|
-
export declare const SideNavVisibilityProvider: ({ children }: {
|
|
5
|
+
export declare const SideNavVisibilityProvider: ({ children, defaultCollapsed, }: {
|
|
6
6
|
children: React.ReactNode;
|
|
7
|
+
defaultCollapsed: boolean;
|
|
7
8
|
}) => React.JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/navigation-system",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.1",
|
|
4
4
|
"description": "The latest navigation system for Atlassian apps.",
|
|
5
5
|
"repository": "https://bitbucket.org/atlassian/atlassian-frontend-mirror",
|
|
6
6
|
"author": "Atlassian Pty Ltd",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@atlaskit/button": "^23.4.0",
|
|
72
72
|
"@atlaskit/css": "^0.14.0",
|
|
73
73
|
"@atlaskit/ds-lib": "^5.0.0",
|
|
74
|
-
"@atlaskit/icon": "^28.
|
|
74
|
+
"@atlaskit/icon": "^28.2.0",
|
|
75
75
|
"@atlaskit/layering": "^3.0.0",
|
|
76
76
|
"@atlaskit/logo": "^19.7.0",
|
|
77
77
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"@atlaskit/banner": "^14.0.0",
|
|
103
103
|
"@atlaskit/breadcrumbs": "^15.3.0",
|
|
104
104
|
"@atlaskit/dropdown-menu": "^16.3.0",
|
|
105
|
-
"@atlaskit/form": "^12.
|
|
105
|
+
"@atlaskit/form": "^12.7.0",
|
|
106
106
|
"@atlaskit/heading": "^5.2.0",
|
|
107
107
|
"@atlaskit/link": "^3.2.0",
|
|
108
108
|
"@atlaskit/lozenge": "^13.0.0",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"@atlaskit/page-header": "^12.1.0",
|
|
112
112
|
"@atlaskit/page-layout": "^4.2.0",
|
|
113
113
|
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^2.1.0",
|
|
114
|
-
"@atlaskit/select": "^21.
|
|
114
|
+
"@atlaskit/select": "^21.3.0",
|
|
115
115
|
"@atlaskit/skeleton": "^2.1.0",
|
|
116
116
|
"@atlaskit/temp-nav-app-icons": "^0.10.0",
|
|
117
117
|
"@atlaskit/textfield": "^8.0.0",
|