@atlaskit/navigation-system 7.3.0 → 8.1.0
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 +25 -0
- package/constellation/layout/custom-theming.mdx +1 -1
- package/dist/cjs/components/skip-links/skip-link.compiled.css +2 -1
- package/dist/cjs/components/skip-links/skip-link.js +4 -2
- package/dist/cjs/components/skip-links/skip-links-container.compiled.css +7 -2
- package/dist/cjs/components/skip-links/skip-links-container.js +14 -6
- package/dist/cjs/context/skip-links/skip-links-context.js +2 -54
- package/dist/cjs/context/skip-links/use-skip-link-internal.js +45 -0
- package/dist/cjs/context/skip-links/use-skip-link.js +17 -0
- package/dist/cjs/context/top-nav-start/top-nav-start-attach-ref.js +10 -0
- package/dist/cjs/context/top-nav-start/top-nav-start-context-provider.js +4 -3
- package/dist/cjs/context/top-nav-start/top-nav-start-element.js +8 -0
- package/dist/cjs/entry-points/experimental/top-nav-button.js +8 -5
- package/dist/cjs/entry-points/layout/skip-links.js +4 -4
- package/dist/cjs/ui/page-layout/aside.js +10 -7
- package/dist/cjs/ui/page-layout/banner.js +12 -8
- package/dist/cjs/ui/page-layout/{hoist-utils.js → dangerously-hoist-css-var-to-document-root.js} +6 -25
- package/dist/cjs/ui/page-layout/hoist-css-var-to-local-grid.js +22 -0
- package/dist/cjs/ui/page-layout/main/main.js +6 -5
- package/dist/cjs/ui/page-layout/panel-splitter/get-pixel-width.js +13 -0
- package/dist/cjs/ui/page-layout/panel-splitter/{get-width.js → get-width-from-drag-location.js} +1 -12
- package/dist/cjs/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.js +10 -0
- package/dist/cjs/ui/page-layout/panel-splitter/{context.js → on-double-click-context.js} +1 -9
- package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter-context.js +14 -0
- package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.js +7 -0
- package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +17 -19
- package/dist/cjs/ui/page-layout/panel-splitter/provider.js +2 -2
- package/dist/cjs/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +4 -3
- package/dist/cjs/ui/page-layout/panel.js +12 -9
- package/dist/cjs/ui/page-layout/ribbon.js +4 -4
- package/dist/cjs/ui/page-layout/root.js +7 -6
- package/dist/cjs/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.js +3 -25
- package/dist/cjs/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.js +16 -0
- package/dist/cjs/ui/page-layout/side-nav/set-side-nav-visibility-state.js +10 -0
- package/dist/cjs/ui/page-layout/side-nav/{element-context.js → side-nav-element-provider.js} +2 -14
- package/dist/cjs/ui/page-layout/side-nav/side-nav-ref-context.js +10 -0
- package/dist/cjs/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.js +10 -0
- package/dist/cjs/ui/page-layout/side-nav/side-nav-toggle-button-element.js +12 -0
- package/dist/cjs/ui/page-layout/side-nav/side-nav-visibility-state.js +12 -0
- package/dist/cjs/ui/page-layout/side-nav/side-nav.js +19 -18
- package/dist/cjs/ui/page-layout/side-nav/toggle-button-provider.js +4 -3
- package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +8 -8
- package/dist/cjs/ui/page-layout/side-nav/use-expand-side-nav.js +2 -2
- package/dist/cjs/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.js +15 -0
- package/dist/cjs/ui/page-layout/side-nav/use-side-nav-ref.js +16 -0
- package/dist/cjs/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +2 -2
- package/dist/cjs/ui/page-layout/side-nav/use-side-nav-visibility.js +2 -2
- package/dist/cjs/ui/page-layout/side-nav/use-toggle-side-nav.js +2 -2
- package/dist/cjs/ui/page-layout/side-nav/visibility-provider.js +4 -3
- package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +2 -2
- package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +5 -5
- package/dist/cjs/ui/page-layout/top-nav/top-nav.js +25 -15
- package/dist/cjs/ui/page-layout/{id-utils.js → use-layout-id.js} +2 -14
- package/dist/cjs/ui/page-layout/use-resizing-width-css-var-on-root-element.js +2 -2
- package/dist/cjs/ui/page-layout/use-skip-link-id.js +17 -0
- package/dist/cjs/ui/top-nav-items/app-switcher.js +2 -2
- package/dist/cjs/ui/top-nav-items/chat-button.js +2 -2
- package/dist/cjs/ui/top-nav-items/create-button.js +2 -2
- package/dist/cjs/ui/top-nav-items/end-item.js +2 -2
- package/dist/cjs/ui/top-nav-items/log-in.js +2 -2
- package/dist/cjs/ui/top-nav-items/search.js +2 -2
- package/dist/cjs/ui/top-nav-items/themed/button.js +12 -358
- package/dist/cjs/ui/top-nav-items/themed/get-custom-theme-styles.js +10 -10
- package/dist/cjs/ui/top-nav-items/themed/get-primitives-spread-props.js +39 -0
- package/dist/cjs/ui/top-nav-items/themed/icon-button.js +21 -0
- package/dist/cjs/ui/top-nav-items/themed/link-button.js +21 -0
- package/dist/cjs/ui/top-nav-items/themed/link-icon-button.js +21 -0
- package/dist/cjs/ui/top-nav-items/themed/palette-rgba.js +20 -0
- package/dist/cjs/ui/top-nav-items/themed/palette.js +1 -21
- package/dist/cjs/ui/top-nav-items/themed/search.js +1 -2
- package/dist/cjs/ui/top-nav-items/themed/{button.compiled.css → themed-anchor.compiled.css} +0 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-anchor.js +76 -0
- package/dist/cjs/ui/top-nav-items/themed/themed-button.compiled.css +2 -0
- package/dist/cjs/ui/top-nav-items/themed/themed-button.js +40 -0
- package/dist/cjs/ui/top-nav-items/themed/themed-icon-button.js +85 -0
- package/dist/cjs/ui/top-nav-items/themed/themed-link-button.compiled.css +2 -0
- package/dist/cjs/ui/top-nav-items/themed/themed-link-button.js +45 -0
- package/dist/cjs/ui/top-nav-items/themed/themed-link-icon-button.js +83 -0
- package/dist/{esm/ui/top-nav-items/themed/button.compiled.css → cjs/ui/top-nav-items/themed/themed-pressable.compiled.css} +0 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-pressable.js +64 -0
- package/dist/cjs/ui/top-nav-items/themed/types.js +5 -0
- package/dist/cjs/ui/top-nav-items/themed/use-custom-theme-new.js +53 -0
- package/dist/cjs/ui/top-nav-items/themed/use-custom-theme.js +0 -41
- package/dist/es2019/components/skip-links/skip-link.compiled.css +2 -1
- package/dist/es2019/components/skip-links/skip-link.js +4 -2
- package/dist/es2019/components/skip-links/skip-links-container.compiled.css +7 -2
- package/dist/es2019/components/skip-links/skip-links-container.js +14 -6
- package/dist/es2019/context/skip-links/skip-links-context.js +2 -54
- package/dist/es2019/context/skip-links/use-skip-link-internal.js +41 -0
- package/dist/es2019/context/skip-links/use-skip-link.js +12 -0
- package/dist/es2019/context/top-nav-start/top-nav-start-attach-ref.js +3 -0
- package/dist/es2019/context/top-nav-start/top-nav-start-context-provider.js +2 -1
- package/dist/es2019/context/top-nav-start/top-nav-start-element.js +2 -0
- package/dist/es2019/entry-points/experimental/top-nav-button.js +4 -1
- package/dist/es2019/entry-points/layout/skip-links.js +2 -2
- package/dist/es2019/ui/page-layout/aside.js +7 -4
- package/dist/es2019/ui/page-layout/banner.js +8 -4
- package/dist/es2019/ui/page-layout/{hoist-utils.js → dangerously-hoist-css-var-to-document-root.js} +0 -19
- package/dist/es2019/ui/page-layout/hoist-css-var-to-local-grid.js +15 -0
- package/dist/es2019/ui/page-layout/main/main.js +4 -3
- package/dist/es2019/ui/page-layout/panel-splitter/get-pixel-width.js +7 -0
- package/dist/es2019/ui/page-layout/panel-splitter/{get-width.js → get-width-from-drag-location.js} +0 -11
- package/dist/es2019/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.js +4 -0
- package/dist/es2019/ui/page-layout/panel-splitter/{context.js → on-double-click-context.js} +0 -8
- package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter-context.js +9 -0
- package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.js +1 -0
- package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +12 -13
- package/dist/es2019/ui/page-layout/panel-splitter/provider.js +1 -1
- package/dist/es2019/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +2 -1
- package/dist/es2019/ui/page-layout/panel.js +8 -5
- package/dist/es2019/ui/page-layout/ribbon.js +2 -2
- package/dist/es2019/ui/page-layout/root.js +6 -4
- package/dist/es2019/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.js +2 -22
- package/dist/es2019/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.js +10 -0
- package/dist/es2019/ui/page-layout/side-nav/set-side-nav-visibility-state.js +3 -0
- package/dist/es2019/ui/page-layout/side-nav/side-nav-element-provider.js +10 -0
- package/dist/es2019/ui/page-layout/side-nav/side-nav-ref-context.js +4 -0
- package/dist/es2019/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.js +3 -0
- package/dist/es2019/ui/page-layout/side-nav/side-nav-toggle-button-element.js +7 -0
- package/dist/es2019/ui/page-layout/side-nav/{visibility-context.js → side-nav-visibility-state.js} +1 -7
- package/dist/es2019/ui/page-layout/side-nav/side-nav.js +9 -8
- package/dist/es2019/ui/page-layout/side-nav/toggle-button-provider.js +2 -1
- package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +4 -4
- package/dist/es2019/ui/page-layout/side-nav/use-expand-side-nav.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.js +10 -0
- package/dist/es2019/ui/page-layout/side-nav/use-side-nav-ref.js +11 -0
- package/dist/es2019/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/use-side-nav-visibility.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/use-toggle-side-nav.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/visibility-provider.js +2 -2
- package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +1 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +2 -2
- package/dist/es2019/ui/page-layout/top-nav/top-nav.js +21 -10
- package/dist/es2019/ui/page-layout/use-layout-id.js +15 -0
- package/dist/es2019/ui/page-layout/use-resizing-width-css-var-on-root-element.js +1 -1
- package/dist/es2019/ui/page-layout/{id-utils.js → use-skip-link-id.js} +0 -14
- package/dist/es2019/ui/top-nav-items/app-switcher.js +1 -1
- package/dist/es2019/ui/top-nav-items/chat-button.js +1 -1
- package/dist/es2019/ui/top-nav-items/create-button.js +1 -1
- package/dist/es2019/ui/top-nav-items/end-item.js +1 -1
- package/dist/es2019/ui/top-nav-items/log-in.js +1 -1
- package/dist/es2019/ui/top-nav-items/search.js +1 -1
- package/dist/es2019/ui/top-nav-items/themed/button.js +11 -347
- package/dist/es2019/ui/top-nav-items/themed/get-custom-theme-styles.js +28 -28
- package/dist/es2019/ui/top-nav-items/themed/get-primitives-spread-props.js +31 -0
- package/dist/es2019/ui/top-nav-items/themed/icon-button.js +12 -0
- package/dist/es2019/ui/top-nav-items/themed/link-button.js +12 -0
- package/dist/es2019/ui/top-nav-items/themed/link-icon-button.js +12 -0
- package/dist/es2019/ui/top-nav-items/themed/palette-rgba.js +14 -0
- package/dist/es2019/ui/top-nav-items/themed/palette.js +0 -20
- package/dist/es2019/ui/top-nav-items/themed/search.js +1 -2
- package/dist/es2019/ui/top-nav-items/themed/{button.compiled.css → themed-anchor.compiled.css} +0 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-anchor.js +66 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-button.compiled.css +2 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-button.js +30 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-icon-button.js +72 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-link-button.compiled.css +2 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-link-button.js +37 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-link-icon-button.js +73 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-pressable.compiled.css +68 -0
- package/dist/es2019/ui/top-nav-items/themed/themed-pressable.js +52 -0
- package/dist/es2019/ui/top-nav-items/themed/types.js +1 -0
- package/dist/es2019/ui/top-nav-items/themed/use-custom-theme-new.js +45 -0
- package/dist/es2019/ui/top-nav-items/themed/use-custom-theme.js +0 -38
- package/dist/esm/components/skip-links/skip-link.compiled.css +2 -1
- package/dist/esm/components/skip-links/skip-link.js +4 -2
- package/dist/esm/components/skip-links/skip-links-container.compiled.css +7 -2
- package/dist/esm/components/skip-links/skip-links-container.js +14 -6
- package/dist/esm/context/skip-links/skip-links-context.js +2 -54
- package/dist/esm/context/skip-links/use-skip-link-internal.js +39 -0
- package/dist/esm/context/skip-links/use-skip-link.js +12 -0
- package/dist/esm/context/top-nav-start/top-nav-start-attach-ref.js +3 -0
- package/dist/esm/context/top-nav-start/top-nav-start-context-provider.js +2 -1
- package/dist/esm/context/top-nav-start/top-nav-start-element.js +2 -0
- package/dist/esm/entry-points/experimental/top-nav-button.js +4 -1
- package/dist/esm/entry-points/layout/skip-links.js +2 -2
- package/dist/esm/ui/page-layout/aside.js +7 -4
- package/dist/esm/ui/page-layout/banner.js +8 -4
- package/dist/esm/ui/page-layout/dangerously-hoist-css-var-to-document-root.js +31 -0
- package/dist/esm/ui/page-layout/hoist-css-var-to-local-grid.js +16 -0
- package/dist/esm/ui/page-layout/main/main.js +4 -3
- package/dist/esm/ui/page-layout/panel-splitter/get-pixel-width.js +7 -0
- package/dist/esm/ui/page-layout/panel-splitter/{get-width.js → get-width-from-drag-location.js} +0 -11
- package/dist/esm/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.js +4 -0
- package/dist/esm/ui/page-layout/panel-splitter/{context.js → on-double-click-context.js} +0 -8
- package/dist/esm/ui/page-layout/panel-splitter/panel-splitter-context.js +9 -0
- package/dist/esm/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.js +1 -0
- package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +9 -10
- package/dist/esm/ui/page-layout/panel-splitter/provider.js +1 -1
- package/dist/esm/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +2 -1
- package/dist/esm/ui/page-layout/panel.js +8 -5
- package/dist/esm/ui/page-layout/ribbon.js +2 -2
- package/dist/esm/ui/page-layout/root.js +6 -5
- package/dist/esm/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.js +2 -21
- package/dist/esm/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.js +9 -0
- package/dist/esm/ui/page-layout/side-nav/set-side-nav-visibility-state.js +3 -0
- package/dist/esm/ui/page-layout/side-nav/side-nav-element-provider.js +9 -0
- package/dist/esm/ui/page-layout/side-nav/side-nav-ref-context.js +4 -0
- package/dist/esm/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.js +3 -0
- package/dist/esm/ui/page-layout/side-nav/side-nav-toggle-button-element.js +7 -0
- package/dist/esm/ui/page-layout/side-nav/{visibility-context.js → side-nav-visibility-state.js} +1 -7
- package/dist/esm/ui/page-layout/side-nav/side-nav.js +9 -8
- package/dist/esm/ui/page-layout/side-nav/toggle-button-provider.js +2 -1
- package/dist/esm/ui/page-layout/side-nav/toggle-button.js +4 -4
- package/dist/esm/ui/page-layout/side-nav/use-expand-side-nav.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.js +10 -0
- package/dist/esm/ui/page-layout/side-nav/use-side-nav-ref.js +11 -0
- package/dist/esm/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/use-side-nav-visibility.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/use-toggle-side-nav.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/visibility-provider.js +2 -2
- package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +1 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +2 -2
- package/dist/esm/ui/page-layout/top-nav/top-nav.js +21 -10
- package/dist/esm/ui/page-layout/{id-utils.js → use-layout-id.js} +1 -12
- package/dist/esm/ui/page-layout/use-resizing-width-css-var-on-root-element.js +1 -1
- package/dist/esm/ui/page-layout/use-skip-link-id.js +12 -0
- package/dist/esm/ui/top-nav-items/app-switcher.js +1 -1
- package/dist/esm/ui/top-nav-items/chat-button.js +1 -1
- package/dist/esm/ui/top-nav-items/create-button.js +1 -1
- package/dist/esm/ui/top-nav-items/end-item.js +1 -1
- package/dist/esm/ui/top-nav-items/log-in.js +1 -1
- package/dist/esm/ui/top-nav-items/search.js +1 -1
- package/dist/esm/ui/top-nav-items/themed/button.js +11 -358
- package/dist/esm/ui/top-nav-items/themed/get-custom-theme-styles.js +9 -9
- package/dist/esm/ui/top-nav-items/themed/get-primitives-spread-props.js +32 -0
- package/dist/esm/ui/top-nav-items/themed/icon-button.js +12 -0
- package/dist/esm/ui/top-nav-items/themed/link-button.js +12 -0
- package/dist/esm/ui/top-nav-items/themed/link-icon-button.js +12 -0
- package/dist/esm/ui/top-nav-items/themed/palette-rgba.js +14 -0
- package/dist/esm/ui/top-nav-items/themed/palette.js +0 -20
- package/dist/esm/ui/top-nav-items/themed/search.js +1 -2
- package/dist/esm/ui/top-nav-items/themed/themed-anchor.compiled.css +68 -0
- package/dist/esm/ui/top-nav-items/themed/themed-anchor.js +69 -0
- package/dist/esm/ui/top-nav-items/themed/themed-button.compiled.css +2 -0
- package/dist/esm/ui/top-nav-items/themed/themed-button.js +31 -0
- package/dist/esm/ui/top-nav-items/themed/themed-icon-button.js +76 -0
- package/dist/esm/ui/top-nav-items/themed/themed-link-button.compiled.css +2 -0
- package/dist/esm/ui/top-nav-items/themed/themed-link-button.js +38 -0
- package/dist/esm/ui/top-nav-items/themed/themed-link-icon-button.js +77 -0
- package/dist/esm/ui/top-nav-items/themed/themed-pressable.compiled.css +68 -0
- package/dist/esm/ui/top-nav-items/themed/themed-pressable.js +55 -0
- package/dist/esm/ui/top-nav-items/themed/types.js +1 -0
- package/dist/esm/ui/top-nav-items/themed/use-custom-theme-new.js +46 -0
- package/dist/esm/ui/top-nav-items/themed/use-custom-theme.js +0 -39
- package/dist/types/context/skip-links/skip-links-context.d.ts +0 -27
- package/dist/types/context/skip-links/use-skip-link-internal.d.ts +10 -0
- package/dist/types/context/skip-links/use-skip-link.d.ts +18 -0
- package/dist/types/context/top-nav-start/top-nav-start-attach-ref.d.ts +1 -0
- package/dist/types/context/top-nav-start/top-nav-start-element.d.ts +1 -0
- package/dist/types/entry-points/experimental/top-nav-button.d.ts +4 -1
- package/dist/types/entry-points/layout/skip-links.d.ts +2 -2
- package/dist/types/ui/page-layout/dangerously-hoist-css-var-to-document-root.d.ts +8 -0
- package/dist/{types-ts4.5/ui/page-layout/hoist-utils.d.ts → types/ui/page-layout/hoist-css-var-to-local-grid.d.ts} +0 -11
- package/dist/types/ui/page-layout/panel-splitter/get-pixel-width.d.ts +4 -0
- package/dist/types/ui/page-layout/panel-splitter/get-width-from-drag-location.d.ts +8 -0
- package/dist/types/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.d.ts +9 -0
- package/dist/types/ui/page-layout/panel-splitter/on-double-click-context.d.ts +8 -0
- package/dist/{types-ts4.5/ui/page-layout/panel-splitter/context.d.ts → types/ui/page-layout/panel-splitter/panel-splitter-context.d.ts} +0 -8
- package/dist/types/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.d.ts +1 -0
- package/dist/types/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -10
- package/dist/types/ui/page-layout/panel-splitter/provider.d.ts +1 -1
- package/dist/types/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.d.ts +6 -11
- package/dist/types/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.d.ts +5 -0
- package/dist/types/ui/page-layout/side-nav/set-side-nav-visibility-state.d.ts +3 -0
- package/dist/types/ui/page-layout/side-nav/side-nav-element-provider.d.ts +4 -0
- package/dist/types/ui/page-layout/side-nav/side-nav-ref-context.d.ts +2 -0
- package/dist/types/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.d.ts +1 -0
- package/dist/types/ui/page-layout/side-nav/side-nav-toggle-button-element.d.ts +5 -0
- package/dist/{types-ts4.5/ui/page-layout/side-nav/visibility-context.d.ts → types/ui/page-layout/side-nav/side-nav-visibility-state.d.ts} +0 -5
- package/dist/types/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.d.ts +5 -0
- package/dist/{types-ts4.5/ui/page-layout/side-nav/element-context.d.ts → types/ui/page-layout/side-nav/use-side-nav-ref.d.ts} +1 -4
- package/dist/types/ui/page-layout/top-nav/top-nav.d.ts +3 -4
- package/dist/{types-ts4.5/ui/page-layout/id-utils.d.ts → types/ui/page-layout/use-layout-id.d.ts} +0 -5
- package/dist/types/ui/page-layout/use-skip-link-id.d.ts +5 -0
- package/dist/types/ui/top-nav-items/themed/button.d.ts +5 -126
- package/dist/types/ui/top-nav-items/themed/get-primitives-spread-props.d.ts +16 -0
- package/dist/types/ui/top-nav-items/themed/icon-button.d.ts +7 -0
- package/dist/types/ui/top-nav-items/themed/link-button.d.ts +3 -0
- package/dist/types/ui/top-nav-items/themed/link-icon-button.d.ts +7 -0
- package/dist/types/ui/top-nav-items/themed/palette-rgba.d.ts +14 -0
- package/dist/types/ui/top-nav-items/themed/palette.d.ts +0 -20
- package/dist/types/ui/top-nav-items/themed/themed-anchor.d.ts +32 -0
- package/dist/types/ui/top-nav-items/themed/themed-button.d.ts +10 -0
- package/dist/types/ui/top-nav-items/themed/themed-icon-button.d.ts +10 -0
- package/dist/types/ui/top-nav-items/themed/themed-link-button.d.ts +16 -0
- package/dist/types/ui/top-nav-items/themed/themed-link-icon-button.d.ts +13 -0
- package/dist/types/ui/top-nav-items/themed/themed-pressable.d.ts +18 -0
- package/dist/types/ui/top-nav-items/themed/types.d.ts +54 -0
- package/dist/types/ui/top-nav-items/themed/use-custom-theme-new.d.ts +20 -0
- package/dist/types/ui/top-nav-items/themed/use-custom-theme.d.ts +0 -11
- package/dist/types-ts4.5/context/skip-links/skip-links-context.d.ts +0 -27
- package/dist/types-ts4.5/context/skip-links/use-skip-link-internal.d.ts +10 -0
- package/dist/types-ts4.5/context/skip-links/use-skip-link.d.ts +18 -0
- package/dist/types-ts4.5/context/top-nav-start/top-nav-start-attach-ref.d.ts +1 -0
- package/dist/types-ts4.5/context/top-nav-start/top-nav-start-element.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/experimental/top-nav-button.d.ts +4 -1
- package/dist/types-ts4.5/entry-points/layout/skip-links.d.ts +2 -2
- package/dist/types-ts4.5/ui/page-layout/dangerously-hoist-css-var-to-document-root.d.ts +8 -0
- package/dist/{types/ui/page-layout/hoist-utils.d.ts → types-ts4.5/ui/page-layout/hoist-css-var-to-local-grid.d.ts} +0 -11
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-pixel-width.d.ts +4 -0
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-width-from-drag-location.d.ts +8 -0
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.d.ts +9 -0
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/on-double-click-context.d.ts +8 -0
- package/dist/{types/ui/page-layout/panel-splitter/context.d.ts → types-ts4.5/ui/page-layout/panel-splitter/panel-splitter-context.d.ts} +0 -8
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.d.ts +1 -0
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -10
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/provider.d.ts +1 -1
- package/dist/types-ts4.5/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.d.ts +6 -11
- package/dist/types-ts4.5/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.d.ts +5 -0
- package/dist/types-ts4.5/ui/page-layout/side-nav/set-side-nav-visibility-state.d.ts +3 -0
- package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-element-provider.d.ts +4 -0
- package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-ref-context.d.ts +2 -0
- package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.d.ts +1 -0
- package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-toggle-button-element.d.ts +5 -0
- package/dist/{types/ui/page-layout/side-nav/visibility-context.d.ts → types-ts4.5/ui/page-layout/side-nav/side-nav-visibility-state.d.ts} +0 -5
- package/dist/types-ts4.5/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.d.ts +5 -0
- package/dist/{types/ui/page-layout/side-nav/element-context.d.ts → types-ts4.5/ui/page-layout/side-nav/use-side-nav-ref.d.ts} +1 -4
- package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav.d.ts +3 -4
- package/dist/{types/ui/page-layout/id-utils.d.ts → types-ts4.5/ui/page-layout/use-layout-id.d.ts} +0 -5
- package/dist/types-ts4.5/ui/page-layout/use-skip-link-id.d.ts +5 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/button.d.ts +5 -126
- package/dist/types-ts4.5/ui/top-nav-items/themed/get-primitives-spread-props.d.ts +16 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/icon-button.d.ts +7 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/link-button.d.ts +3 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/link-icon-button.d.ts +7 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/palette-rgba.d.ts +14 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/palette.d.ts +0 -20
- package/dist/types-ts4.5/ui/top-nav-items/themed/themed-anchor.d.ts +32 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/themed-button.d.ts +10 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/themed-icon-button.d.ts +10 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/themed-link-button.d.ts +16 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/themed-link-icon-button.d.ts +13 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/themed-pressable.d.ts +18 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/types.d.ts +54 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/use-custom-theme-new.d.ts +20 -0
- package/dist/types-ts4.5/ui/top-nav-items/themed/use-custom-theme.d.ts +0 -11
- package/package.json +19 -16
- package/dist/cjs/context/top-nav-start/top-nav-start-context.js +0 -26
- package/dist/cjs/ui/page-layout/side-nav/toggle-button-context.js +0 -26
- package/dist/cjs/ui/page-layout/side-nav/visibility-context.js +0 -19
- package/dist/cjs/ui/top-nav-items/themed/migration.js +0 -53
- package/dist/es2019/context/top-nav-start/top-nav-start-context.js +0 -20
- package/dist/es2019/ui/page-layout/side-nav/element-context.js +0 -21
- package/dist/es2019/ui/page-layout/side-nav/toggle-button-context.js +0 -19
- package/dist/es2019/ui/top-nav-items/themed/migration.js +0 -45
- package/dist/esm/context/top-nav-start/top-nav-start-context.js +0 -20
- package/dist/esm/ui/page-layout/hoist-utils.js +0 -51
- package/dist/esm/ui/page-layout/side-nav/element-context.js +0 -20
- package/dist/esm/ui/page-layout/side-nav/toggle-button-context.js +0 -19
- package/dist/esm/ui/top-nav-items/themed/migration.js +0 -45
- package/dist/types/context/top-nav-start/top-nav-start-context.d.ts +0 -16
- package/dist/types/ui/page-layout/panel-splitter/get-width.d.ts +0 -16
- package/dist/types/ui/page-layout/side-nav/toggle-button-context.d.ts +0 -16
- package/dist/types/ui/top-nav-items/themed/migration.d.ts +0 -10
- package/dist/types-ts4.5/context/top-nav-start/top-nav-start-context.d.ts +0 -16
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-width.d.ts +0 -16
- package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button-context.d.ts +0 -16
- package/dist/types-ts4.5/ui/top-nav-items/themed/migration.d.ts +0 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createContext
|
|
1
|
+
import { createContext } from 'react';
|
|
2
2
|
import noop from '@atlaskit/ds-lib/noop';
|
|
3
3
|
/**
|
|
4
4
|
* Provides a way to register and unregister skip links
|
|
@@ -6,56 +6,4 @@ import noop from '@atlaskit/ds-lib/noop';
|
|
|
6
6
|
export const SkipLinksContext = /*#__PURE__*/createContext({
|
|
7
7
|
registerSkipLink: noop,
|
|
8
8
|
unregisterSkipLink: noop
|
|
9
|
-
});
|
|
10
|
-
const useSkipLinks = () => useContext(SkipLinksContext);
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Internal-only hook for registering skip links.
|
|
14
|
-
*
|
|
15
|
-
* `useSkipLink` is the public API wrapper of this.
|
|
16
|
-
*
|
|
17
|
-
* This private version exists for us to support `onBeforeNavigate` for the side nav use case,
|
|
18
|
-
* where we might need to expand it before moving focus, without having to support `onBeforeNavigate` publicly.
|
|
19
|
-
*/
|
|
20
|
-
export const useSkipLinkInternal = ({
|
|
21
|
-
id,
|
|
22
|
-
label,
|
|
23
|
-
listIndex,
|
|
24
|
-
onBeforeNavigate,
|
|
25
|
-
isHidden
|
|
26
|
-
}) => {
|
|
27
|
-
const {
|
|
28
|
-
registerSkipLink,
|
|
29
|
-
unregisterSkipLink
|
|
30
|
-
} = useSkipLinks();
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
if (isHidden) {
|
|
33
|
-
/**
|
|
34
|
-
* Skip links are hidden for slots with 0 height or width.
|
|
35
|
-
* They should not be registered.
|
|
36
|
-
*/
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
registerSkipLink({
|
|
40
|
-
id,
|
|
41
|
-
label,
|
|
42
|
-
listIndex,
|
|
43
|
-
onBeforeNavigate,
|
|
44
|
-
isHidden
|
|
45
|
-
});
|
|
46
|
-
return () => {
|
|
47
|
-
unregisterSkipLink(id);
|
|
48
|
-
};
|
|
49
|
-
}, [id, isHidden, label, listIndex, onBeforeNavigate, registerSkipLink, unregisterSkipLink]);
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Call `useSkipLink` to register a skip link for important elements on the page.
|
|
54
|
-
*/
|
|
55
|
-
export const useSkipLink = (id, label, listIndex) => {
|
|
56
|
-
useSkipLinkInternal({
|
|
57
|
-
id,
|
|
58
|
-
label,
|
|
59
|
-
listIndex
|
|
60
|
-
});
|
|
61
|
-
};
|
|
9
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useContext, useEffect } from 'react';
|
|
2
|
+
import { SkipLinksContext } from './skip-links-context';
|
|
3
|
+
/**
|
|
4
|
+
* Internal-only hook for registering skip links.
|
|
5
|
+
*
|
|
6
|
+
* `useSkipLink` is the public API wrapper of this.
|
|
7
|
+
*
|
|
8
|
+
* This private version exists for us to support `onBeforeNavigate` for the side nav use case,
|
|
9
|
+
* where we might need to expand it before moving focus, without having to support `onBeforeNavigate` publicly.
|
|
10
|
+
*/
|
|
11
|
+
export const useSkipLinkInternal = ({
|
|
12
|
+
id,
|
|
13
|
+
label,
|
|
14
|
+
listIndex,
|
|
15
|
+
onBeforeNavigate,
|
|
16
|
+
isHidden
|
|
17
|
+
}) => {
|
|
18
|
+
const {
|
|
19
|
+
registerSkipLink,
|
|
20
|
+
unregisterSkipLink
|
|
21
|
+
} = useContext(SkipLinksContext);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
if (isHidden) {
|
|
24
|
+
/**
|
|
25
|
+
* Skip links are hidden for slots with 0 height or width.
|
|
26
|
+
* They should not be registered.
|
|
27
|
+
*/
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
registerSkipLink({
|
|
31
|
+
id,
|
|
32
|
+
label,
|
|
33
|
+
listIndex,
|
|
34
|
+
onBeforeNavigate,
|
|
35
|
+
isHidden
|
|
36
|
+
});
|
|
37
|
+
return () => {
|
|
38
|
+
unregisterSkipLink(id);
|
|
39
|
+
};
|
|
40
|
+
}, [id, isHidden, label, listIndex, onBeforeNavigate, registerSkipLink, unregisterSkipLink]);
|
|
41
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useSkipLinkInternal } from './use-skip-link-internal';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Call `useSkipLink` to register a skip link for important elements on the page.
|
|
5
|
+
*/
|
|
6
|
+
export const useSkipLink = (id, label, listIndex) => {
|
|
7
|
+
useSkipLinkInternal({
|
|
8
|
+
id,
|
|
9
|
+
label,
|
|
10
|
+
listIndex
|
|
11
|
+
});
|
|
12
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import { TopNavStartAttachRef
|
|
2
|
+
import { TopNavStartAttachRef } from './top-nav-start-attach-ref';
|
|
3
|
+
import { TopNavStartElement } from './top-nav-start-element';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Provider for the TopNavStart container element contexts.
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
export { Button as TopNavButton
|
|
1
|
+
export { Button as TopNavButton } from '../../ui/top-nav-items/themed/button';
|
|
2
|
+
export { LinkButton as TopNavLinkButton } from '../../ui/top-nav-items/themed/link-button';
|
|
3
|
+
export { IconButton as TopNavIconButton } from '../../ui/top-nav-items/themed/icon-button';
|
|
4
|
+
export { LinkIconButton as TopNavLinkIconButton } from '../../ui/top-nav-items/themed/link-icon-button';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { useSkipLinkId } from '../../ui/page-layout/id
|
|
2
|
-
export { useSkipLink } from '../../context/skip-links/skip-
|
|
1
|
+
export { useSkipLinkId } from '../../ui/page-layout/use-skip-link-id';
|
|
2
|
+
export { useSkipLink } from '../../context/skip-links/use-skip-link';
|
|
@@ -4,13 +4,14 @@ import * as React from 'react';
|
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import { useContext, useEffect, useRef, useState } from 'react';
|
|
6
6
|
import usePreviousValue from '@atlaskit/ds-lib/use-previous-value';
|
|
7
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
8
|
import { media } from '@atlaskit/primitives/responsive';
|
|
8
|
-
import { useSkipLinkInternal } from '../../context/skip-links/skip-
|
|
9
|
+
import { useSkipLinkInternal } from '../../context/skip-links/use-skip-link-internal';
|
|
9
10
|
import { asidePanelSplitterId, asideVar, contentHeightWhenFixed, contentInsetBlockStart, UNSAFE_asideLayoutVar } from './constants';
|
|
11
|
+
import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
|
|
10
12
|
import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
|
|
11
|
-
import { DangerouslyHoistCssVarToDocumentRoot } from './hoist-utils';
|
|
12
|
-
import { useLayoutId } from './id-utils';
|
|
13
13
|
import { PanelSplitterProvider } from './panel-splitter/provider';
|
|
14
|
+
import { useLayoutId } from './use-layout-id';
|
|
14
15
|
import { useResizingWidthCssVarOnRootElement } from './use-resizing-width-css-var-on-root-element';
|
|
15
16
|
import { useSafeDefaultWidth } from './use-safe-default-width';
|
|
16
17
|
const panelSplitterResizingVar = '--n_asdRsz';
|
|
@@ -76,11 +77,13 @@ export function Aside({
|
|
|
76
77
|
* Don't show the skip link if the slot has 0 width.
|
|
77
78
|
*
|
|
78
79
|
* Remove `isHidden` usage after https://jplat.atlassian.net/browse/BLU-3951
|
|
80
|
+
*
|
|
81
|
+
* TODO: when cleaning up 'platform_dst_nav4_skip_link_a11y_1' remove this call entirely
|
|
79
82
|
*/
|
|
80
83
|
useSkipLinkInternal({
|
|
81
84
|
id,
|
|
82
85
|
label: skipLinkLabel,
|
|
83
|
-
isHidden: defaultWidth === 0
|
|
86
|
+
isHidden: defaultWidth === 0 || fg('platform_dst_nav4_skip_link_a11y_1')
|
|
84
87
|
});
|
|
85
88
|
const ref = useRef(null);
|
|
86
89
|
const [width, setWidth] = useState(defaultWidth);
|
|
@@ -3,12 +3,14 @@ import "./banner.compiled.css";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import { useContext } from 'react';
|
|
6
|
-
import {
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
|
+
import { useSkipLinkInternal } from '../../context/skip-links/use-skip-link-internal';
|
|
7
8
|
import { useIsFhsEnabled } from '../fhs-rollout/use-is-fhs-enabled';
|
|
8
9
|
import { bannerMountedVar, localSlotLayers, UNSAFE_bannerVar } from './constants';
|
|
10
|
+
import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
|
|
11
|
+
import { HoistCssVarToLocalGrid } from './hoist-css-var-to-local-grid';
|
|
9
12
|
import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
|
|
10
|
-
import {
|
|
11
|
-
import { useLayoutId } from './id-utils';
|
|
13
|
+
import { useLayoutId } from './use-layout-id';
|
|
12
14
|
const styles = {
|
|
13
15
|
root: "_nd5ldkfm _1reo15vq _18m915vq _4t3iutvi _152tidpf _kqsw1if8 _1pbyegat",
|
|
14
16
|
fullHeightSidebar: "_1pby11wp"
|
|
@@ -36,11 +38,13 @@ export function Banner({
|
|
|
36
38
|
|
|
37
39
|
/**
|
|
38
40
|
* Don't show the skip link if the slot has 0 height.
|
|
41
|
+
*
|
|
42
|
+
* TODO: when cleaning up 'platform_dst_nav4_skip_link_a11y_1' remove this call entirely
|
|
39
43
|
*/
|
|
40
44
|
useSkipLinkInternal({
|
|
41
45
|
id,
|
|
42
46
|
label: skipLinkLabel,
|
|
43
|
-
isHidden: height === 0
|
|
47
|
+
isHidden: height === 0 || fg('platform_dst_nav4_skip_link_a11y_1')
|
|
44
48
|
});
|
|
45
49
|
return /*#__PURE__*/React.createElement("div", {
|
|
46
50
|
id: id,
|
package/dist/es2019/ui/page-layout/{hoist-utils.js → dangerously-hoist-css-var-to-document-root.js}
RENAMED
|
@@ -1,24 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { gridRootId } from './root';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* This is not ideal and shouldn't be used by anything outside of `<Banner>` and `<TopNav>`.
|
|
6
|
-
*
|
|
7
|
-
* This makes the other page layout elements aware that the banner and top bar have been mounted, provides them
|
|
8
|
-
* with their heights. This is needed to power the stick points of page layout elements like SideNav and Panel.
|
|
9
|
-
*
|
|
10
|
-
* We should clean this up once we have a better solution, such as moving the size props for banner and top bar into `Root`.
|
|
11
|
-
*/
|
|
12
|
-
export const HoistCssVarToLocalGrid = ({
|
|
13
|
-
variableName,
|
|
14
|
-
value
|
|
15
|
-
}) => /*#__PURE__*/React.createElement("style", null, `#${gridRootId} { ${variableName}: ${value}px }`);
|
|
16
2
|
const getCssStringValue = value => typeof value === 'number' ? `${value}px` : value;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Hoists CSS variables to the document root. This is support the legacy edge case of monolith pages being injected as a
|
|
20
|
-
* sibling to the page layout, as opposed to within the `Main` slot.
|
|
21
|
-
*/
|
|
22
3
|
export const DangerouslyHoistCssVarToDocumentRoot = ({
|
|
23
4
|
variableName,
|
|
24
5
|
value,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { gridRootId } from './root';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This is not ideal and shouldn't be used by anything outside of `<Banner>` and `<TopNav>`.
|
|
6
|
+
*
|
|
7
|
+
* This makes the other page layout elements aware that the banner and top bar have been mounted, provides them
|
|
8
|
+
* with their heights. This is needed to power the stick points of page layout elements like SideNav and Panel.
|
|
9
|
+
*
|
|
10
|
+
* We should clean this up once we have a better solution, such as moving the size props for banner and top bar into `Root`.
|
|
11
|
+
*/
|
|
12
|
+
export const HoistCssVarToLocalGrid = ({
|
|
13
|
+
variableName,
|
|
14
|
+
value
|
|
15
|
+
}) => /*#__PURE__*/React.createElement("style", null, `#${gridRootId} { ${variableName}: ${value}px }`);
|
|
@@ -3,9 +3,10 @@ import "./main.compiled.css";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import { Fragment } from 'react';
|
|
6
|
-
import {
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
|
+
import { useSkipLink } from '../../../context/skip-links/use-skip-link';
|
|
7
8
|
import { contentHeightWhenFixed, contentInsetBlockStart } from '../constants';
|
|
8
|
-
import { useLayoutId } from '../id
|
|
9
|
+
import { useLayoutId } from '../use-layout-id';
|
|
9
10
|
const mainElementStyles = {
|
|
10
11
|
root: "_nd5l1gzg _1reo1wug _18m91wug _19121cl4 _152timx3 _qwfh1wug _165teqxy _13wn1if8"
|
|
11
12
|
};
|
|
@@ -16,7 +17,7 @@ const mainElementStyles = {
|
|
|
16
17
|
export function Main({
|
|
17
18
|
children,
|
|
18
19
|
xcss,
|
|
19
|
-
skipLinkLabel = 'Main Content',
|
|
20
|
+
skipLinkLabel = fg('platform_dst_nav4_skip_link_a11y_1') ? 'Main content' : 'Main Content',
|
|
20
21
|
testId,
|
|
21
22
|
id: providedId
|
|
22
23
|
}) {
|
package/dist/es2019/ui/page-layout/panel-splitter/{get-width.js → get-width-from-drag-location.js}
RENAMED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ⚠️ Note: We are using the initial client location captured from the mousedown event, not from the dragstart event.
|
|
3
|
-
* Some browser extensions can cause the client locations (e.g. clientX) in the `dragstart` event to incorrectly return 0.
|
|
4
|
-
*/
|
|
5
1
|
export const getWidthFromDragLocation = ({
|
|
6
2
|
initialWidth,
|
|
7
3
|
location,
|
|
@@ -20,11 +16,4 @@ export const getWidthFromDragLocation = ({
|
|
|
20
16
|
// Resize line is positioned at the inline-start (left) of the element.
|
|
21
17
|
// If the direction is left-to-right, the width will decrease when the mouse is moved to the right, and vice versa.
|
|
22
18
|
return direction === 'ltr' ? initialWidth - diffX : initialWidth + diffX;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Returns the computed width of an element in pixels.
|
|
26
|
-
*/
|
|
27
|
-
export const getPixelWidth = element => {
|
|
28
|
-
// Always returns an integer. Returns 0 if element is hidden / removed.
|
|
29
|
-
return element.offsetWidth;
|
|
30
19
|
};
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { createContext } from 'react';
|
|
2
2
|
|
|
3
|
-
// Disabling the rule to allow for `Type` suffix, to differentiate from the Context object.
|
|
4
|
-
// eslint-disable-next-line @repo/internal/react/consistent-types-definitions
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Context for the panel splitter. Only internally exported.
|
|
8
|
-
*/
|
|
9
|
-
export const PanelSplitterContext = /*#__PURE__*/createContext(null);
|
|
10
|
-
|
|
11
3
|
/**
|
|
12
4
|
* Context for the panel splitter's double click handler. Only internally exported.
|
|
13
5
|
*
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
// Disabling the rule to allow for `Type` suffix, to differentiate from the Context object.
|
|
4
|
+
// eslint-disable-next-line @repo/internal/react/consistent-types-definitions
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Context for the panel splitter. Only internally exported.
|
|
8
|
+
*/
|
|
9
|
+
export const PanelSplitterContext = /*#__PURE__*/createContext(null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const panelSplitterDragDataSymbol = Symbol('panel-splitter-drag-data');
|
|
@@ -21,11 +21,21 @@ import TooltipContainer from '@atlaskit/tooltip/TooltipContainer';
|
|
|
21
21
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
22
22
|
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
23
23
|
import { contentInsetBlockStart } from '../constants';
|
|
24
|
-
import { OnDoubleClickContext, PanelSplitterContext } from './context';
|
|
25
24
|
import { convertResizeBoundToPixels } from './convert-resize-bound-to-pixels';
|
|
26
25
|
import { getPercentageWithinPixelBounds } from './get-percentage-within-pixel-bounds';
|
|
27
|
-
import { getPixelWidth
|
|
26
|
+
import { getPixelWidth } from './get-pixel-width';
|
|
27
|
+
import { getWidthFromDragLocation } from './get-width-from-drag-location';
|
|
28
|
+
import { isPanelSplitterDragData } from './is-panel-splitter-drag-data';
|
|
28
29
|
import { createKeyboardResizeManager } from './keyboard-resize-manager';
|
|
30
|
+
import { OnDoubleClickContext } from './on-double-click-context';
|
|
31
|
+
import { PanelSplitterContext } from './panel-splitter-context';
|
|
32
|
+
import { panelSplitterDragDataSymbol } from './panel-splitter-drag-symbol';
|
|
33
|
+
function signPanelSplitterDragData(data) {
|
|
34
|
+
return {
|
|
35
|
+
...data,
|
|
36
|
+
[panelSplitterDragDataSymbol]: true
|
|
37
|
+
};
|
|
38
|
+
}
|
|
29
39
|
const containerStyles = {
|
|
30
40
|
root: "_12ji1r31 _1qu2glyw _12y31o36 _1e0cglyw _kqswstnw _u7coidpf _152tidpf _1pbykb7n _181n1ule",
|
|
31
41
|
positionEnd: "_rjxpftgi",
|
|
@@ -43,13 +53,6 @@ const lineStyles = {
|
|
|
43
53
|
const tooltipStyles = {
|
|
44
54
|
root: "_ahbq196n _1bsb1ris"
|
|
45
55
|
};
|
|
46
|
-
const panelSplitterDragDataSymbol = Symbol('panel-splitter-drag-data');
|
|
47
|
-
function signPanelSplitterDragData(data) {
|
|
48
|
-
return {
|
|
49
|
-
...data,
|
|
50
|
-
[panelSplitterDragDataSymbol]: true
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
56
|
const PanelSplitterTooltip = /*#__PURE__*/forwardRef(({
|
|
54
57
|
children,
|
|
55
58
|
className,
|
|
@@ -119,9 +122,6 @@ const MaybeTooltip = ({
|
|
|
119
122
|
}
|
|
120
123
|
return children;
|
|
121
124
|
};
|
|
122
|
-
export function isPanelSplitterDragData(data) {
|
|
123
|
-
return data[panelSplitterDragDataSymbol] === true;
|
|
124
|
-
}
|
|
125
125
|
function getTextDirection(element) {
|
|
126
126
|
const {
|
|
127
127
|
direction
|
|
@@ -402,7 +402,6 @@ const PortaledPanelSplitter = ({
|
|
|
402
402
|
className: ax([lineStyles.root])
|
|
403
403
|
})))), portal);
|
|
404
404
|
};
|
|
405
|
-
|
|
406
405
|
/**
|
|
407
406
|
* _PanelSplitter_
|
|
408
407
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { Fragment, useMemo, useRef } from 'react';
|
|
2
|
-
import { PanelSplitterContext } from './context';
|
|
2
|
+
import { PanelSplitterContext } from './panel-splitter-context';
|
|
3
3
|
/**
|
|
4
4
|
* Provides the context required for the panel splitter to work within a page layout slot.
|
|
5
5
|
*
|
|
@@ -4,8 +4,9 @@ import { useOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer
|
|
|
4
4
|
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
5
5
|
import { openLayerObserverSideNavNamespace, openLayerObserverTopNavEndNamespace, openLayerObserverTopNavMiddleNamespace, openLayerObserverTopNavStartNamespace, sideNavPanelSplitterId } from '../constants';
|
|
6
6
|
import { useToggleSideNav } from '../side-nav/use-toggle-side-nav';
|
|
7
|
-
import { OnDoubleClickContext
|
|
7
|
+
import { OnDoubleClickContext } from './on-double-click-context';
|
|
8
8
|
import { PanelSplitter } from './panel-splitter';
|
|
9
|
+
import { PanelSplitterContext } from './panel-splitter-context';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Namespaces to check for open layers that would interfere with the panel splitter.
|
|
@@ -3,14 +3,15 @@ import "./panel.compiled.css";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import { useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
7
|
import { media } from '@atlaskit/primitives/responsive';
|
|
7
|
-
import { useSkipLinkInternal } from '../../context/skip-links/skip-
|
|
8
|
+
import { useSkipLinkInternal } from '../../context/skip-links/use-skip-link-internal';
|
|
8
9
|
import { contentHeightWhenFixed, contentInsetBlockStart, localSlotLayers, panelPanelSplitterId, panelVar, sideNavLiveWidthVar, UNSAFE_panelLayoutVar } from './constants';
|
|
10
|
+
import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
|
|
9
11
|
import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
|
|
10
|
-
import { DangerouslyHoistCssVarToDocumentRoot } from './hoist-utils';
|
|
11
|
-
import { useLayoutId } from './id-utils';
|
|
12
12
|
import { PanelSplitterProvider } from './panel-splitter/provider';
|
|
13
|
-
import { useSideNavRef } from './side-nav/
|
|
13
|
+
import { useSideNavRef } from './side-nav/use-side-nav-ref';
|
|
14
|
+
import { useLayoutId } from './use-layout-id';
|
|
14
15
|
import { useResizingWidthCssVarOnRootElement } from './use-resizing-width-css-var-on-root-element';
|
|
15
16
|
import { useSafeDefaultWidth } from './use-safe-default-width';
|
|
16
17
|
const panelSplitterResizingVar = '--n_pnlRsz';
|
|
@@ -61,11 +62,13 @@ export function Panel({
|
|
|
61
62
|
* Don't show the skip link if the slot has 0 width.
|
|
62
63
|
*
|
|
63
64
|
* Remove `isHidden` usage after https://jplat.atlassian.net/browse/BLU-3951
|
|
65
|
+
*
|
|
66
|
+
* TODO: when cleaning up 'platform_dst_nav4_skip_link_a11y_1' remove this call entirely
|
|
64
67
|
*/
|
|
65
68
|
useSkipLinkInternal({
|
|
66
69
|
id,
|
|
67
70
|
label: skipLinkLabel,
|
|
68
|
-
isHidden: defaultWidth === 0
|
|
71
|
+
isHidden: defaultWidth === 0 || fg('platform_dst_nav4_skip_link_a11y_1')
|
|
69
72
|
});
|
|
70
73
|
const ref = useRef(null);
|
|
71
74
|
const [width, setWidth] = useState(defaultWidth);
|
|
@@ -5,9 +5,9 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
5
5
|
import { useContext } from 'react';
|
|
6
6
|
import { media } from '@atlaskit/primitives/responsive';
|
|
7
7
|
import { localSlotLayers, UNSAFE_ribbonVar } from './constants';
|
|
8
|
+
import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
|
|
8
9
|
import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
|
|
9
|
-
import {
|
|
10
|
-
import { useLayoutId } from './id-utils';
|
|
10
|
+
import { useLayoutId } from './use-layout-id';
|
|
11
11
|
const styles = {
|
|
12
12
|
root: "_nd5l1c99 _1reo15vq _18m915vq _4t3i1osq _152tidpf _kqsw1if8 _vchhusvi _1pbyegat _1e0cglyw _dm2518uv"
|
|
13
13
|
};
|
|
@@ -3,11 +3,12 @@ import "./root.compiled.css";
|
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React, { useEffect, useRef } from 'react';
|
|
5
5
|
import { OpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
7
|
import { SkipLinksProvider } from '../../context/skip-links/skip-links-provider';
|
|
7
8
|
import { TopNavStartProvider } from '../../context/top-nav-start/top-nav-start-context-provider';
|
|
8
9
|
import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
10
|
+
import { IsSideNavShortcutEnabledProvider } from './side-nav/is-side-nav-shortcut-enabled-provider';
|
|
11
|
+
import { SideNavElementProvider } from './side-nav/side-nav-element-provider';
|
|
11
12
|
import { SideNavToggleButtonProvider } from './side-nav/toggle-button-provider';
|
|
12
13
|
import { SideNavVisibilityProvider } from './side-nav/visibility-provider';
|
|
13
14
|
|
|
@@ -25,11 +26,12 @@ export function Root({
|
|
|
25
26
|
children,
|
|
26
27
|
xcss,
|
|
27
28
|
UNSAFE_dangerouslyHoistSlotSizes = false,
|
|
28
|
-
skipLinksLabel
|
|
29
|
+
skipLinksLabel,
|
|
29
30
|
testId,
|
|
30
31
|
defaultSideNavCollapsed,
|
|
31
32
|
isSideNavShortcutEnabled = false
|
|
32
33
|
}) {
|
|
34
|
+
const resolvedSkipLinksLabel = skipLinksLabel !== null && skipLinksLabel !== void 0 ? skipLinksLabel : fg('platform_dst_nav4_skip_link_a11y_1') ? 'Skip to' : 'Skip to:';
|
|
33
35
|
const ref = useRef(null);
|
|
34
36
|
useEffect(() => {
|
|
35
37
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -60,7 +62,7 @@ This message will not be displayed in production.
|
|
|
60
62
|
}, /*#__PURE__*/React.createElement(TopNavStartProvider, null, /*#__PURE__*/React.createElement(OpenLayerObserver, null, /*#__PURE__*/React.createElement(DangerouslyHoistSlotSizes.Provider, {
|
|
61
63
|
value: UNSAFE_dangerouslyHoistSlotSizes
|
|
62
64
|
}, /*#__PURE__*/React.createElement(SkipLinksProvider, {
|
|
63
|
-
label:
|
|
65
|
+
label: resolvedSkipLinksLabel,
|
|
64
66
|
testId: testId
|
|
65
67
|
}, /*#__PURE__*/React.createElement("div", {
|
|
66
68
|
ref: ref,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createContext } from 'react';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Context for whether the side nav toggle shortcut is enabled.
|
|
@@ -6,24 +6,4 @@ import React, { createContext, useContext } from 'react';
|
|
|
6
6
|
* Used to share the `isSideNavShortcutEnabled` prop value from `Root` with other components,
|
|
7
7
|
* so the visual keyboard shortcut in tooltips can be conditionally displayed.
|
|
8
8
|
*/
|
|
9
|
-
const IsSideNavShortcutEnabledContext = /*#__PURE__*/createContext(false);
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Provider for the `IsSideNavShortcutEnabledContext`.
|
|
13
|
-
*/
|
|
14
|
-
export function IsSideNavShortcutEnabledProvider({
|
|
15
|
-
children,
|
|
16
|
-
isSideNavShortcutEnabled
|
|
17
|
-
}) {
|
|
18
|
-
return /*#__PURE__*/React.createElement(IsSideNavShortcutEnabledContext.Provider, {
|
|
19
|
-
value: isSideNavShortcutEnabled
|
|
20
|
-
}, children);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Returns the value of the `isSideNavShortcutEnabled` prop from the `Root` component, which
|
|
25
|
-
* is shared through context.
|
|
26
|
-
*/
|
|
27
|
-
export function useIsSideNavShortcutEnabled() {
|
|
28
|
-
return useContext(IsSideNavShortcutEnabledContext);
|
|
29
|
-
}
|
|
9
|
+
export const IsSideNavShortcutEnabledContext = /*#__PURE__*/createContext(false);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IsSideNavShortcutEnabledContext } from './is-side-nav-shortcut-enabled-context';
|
|
3
|
+
export function IsSideNavShortcutEnabledProvider({
|
|
4
|
+
children,
|
|
5
|
+
isSideNavShortcutEnabled
|
|
6
|
+
}) {
|
|
7
|
+
return /*#__PURE__*/React.createElement(IsSideNavShortcutEnabledContext.Provider, {
|
|
8
|
+
value: isSideNavShortcutEnabled
|
|
9
|
+
}, children);
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { useRef } from 'react';
|
|
2
|
+
import { SideNavRefContext } from './side-nav-ref-context';
|
|
3
|
+
export function SideNavElementProvider({
|
|
4
|
+
children
|
|
5
|
+
}) {
|
|
6
|
+
const sideNavRef = useRef(null);
|
|
7
|
+
return /*#__PURE__*/React.createElement(SideNavRefContext.Provider, {
|
|
8
|
+
value: sideNavRef
|
|
9
|
+
}, children);
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Context for the side nav toggle button element.
|
|
5
|
+
* Used to power the side nav flyout by allowing the side nav to bind event listeners to the button element.
|
|
6
|
+
*/
|
|
7
|
+
export const SideNavToggleButtonElement = /*#__PURE__*/createContext(null);
|
package/dist/es2019/ui/page-layout/side-nav/{visibility-context.js → side-nav-visibility-state.js}
RENAMED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { createContext } from 'react';
|
|
2
|
-
import __noop from '@atlaskit/ds-lib/noop';
|
|
3
2
|
/**
|
|
4
3
|
* Context for the visibility of the side nav.
|
|
5
4
|
* State is initialised as null. This is used when the value has not been set yet - which is important to know for SSR.
|
|
6
5
|
*/
|
|
7
|
-
export const SideNavVisibilityState = /*#__PURE__*/createContext(null);
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Sets the visibility of the side nav.
|
|
11
|
-
*/
|
|
12
|
-
export const SetSideNavVisibilityState = /*#__PURE__*/createContext(__noop);
|
|
6
|
+
export const SideNavVisibilityState = /*#__PURE__*/createContext(null);
|