@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
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* themed-button.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import "./themed-button.compiled.css";
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import React, { forwardRef } from 'react';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
|
+
import IconRenderer from '../icon-renderer';
|
|
8
|
+
import { ThemedPressable } from './themed-pressable';
|
|
9
|
+
const textButtonStyles = {
|
|
10
|
+
iconBefore: "_vwz4idpf",
|
|
11
|
+
text: "_k48p1wq8"
|
|
12
|
+
};
|
|
13
|
+
export const ThemedButton = /*#__PURE__*/forwardRef(function ThemedButton({
|
|
14
|
+
iconBefore: IconBefore,
|
|
15
|
+
children,
|
|
16
|
+
...props
|
|
17
|
+
}, ref) {
|
|
18
|
+
return /*#__PURE__*/React.createElement(ThemedPressable, _extends({}, props, {
|
|
19
|
+
ref: ref
|
|
20
|
+
}), IconBefore && /*#__PURE__*/React.createElement("span", {
|
|
21
|
+
className: ax([textButtonStyles.iconBefore])
|
|
22
|
+
}, fg('platform_themed_button_use_icon_renderer') ? /*#__PURE__*/React.createElement(IconRenderer, {
|
|
23
|
+
icon: IconBefore
|
|
24
|
+
}) : /*#__PURE__*/React.createElement(IconBefore, {
|
|
25
|
+
label: "",
|
|
26
|
+
color: "currentColor"
|
|
27
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
28
|
+
className: ax([textButtonStyles.text])
|
|
29
|
+
}, children));
|
|
30
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* themed-icon-button.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import React, { forwardRef } from 'react';
|
|
5
|
+
import mergeRefs from '@atlaskit/ds-lib/merge-refs';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
|
+
import Tooltip from '@atlaskit/tooltip';
|
|
8
|
+
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
9
|
+
import IconRenderer from '../icon-renderer';
|
|
10
|
+
import { ThemedPressable } from './themed-pressable';
|
|
11
|
+
export const ThemedIconButton = /*#__PURE__*/forwardRef(function ThemedIconButton({
|
|
12
|
+
icon: Icon,
|
|
13
|
+
label,
|
|
14
|
+
tooltip,
|
|
15
|
+
...props
|
|
16
|
+
}, ref) {
|
|
17
|
+
var _tooltip$content;
|
|
18
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltip, {
|
|
19
|
+
content: (_tooltip$content = tooltip === null || tooltip === void 0 ? void 0 : tooltip.content) !== null && _tooltip$content !== void 0 ? _tooltip$content : label
|
|
20
|
+
}), triggerProps =>
|
|
21
|
+
/*#__PURE__*/
|
|
22
|
+
/**
|
|
23
|
+
* The `aria-describedby` from `triggerProps` is intentionally not passed down,
|
|
24
|
+
* because it would cause double announcements with the `VisuallyHidden` label.
|
|
25
|
+
*
|
|
26
|
+
* The `@atlaskit/button` IconButton uses the same approach.
|
|
27
|
+
*/
|
|
28
|
+
React.createElement(ThemedPressable, _extends({}, props, {
|
|
29
|
+
shape: "square",
|
|
30
|
+
ref: mergeRefs([ref, triggerProps.ref]),
|
|
31
|
+
onClick: (event, analyticsEvent) => {
|
|
32
|
+
var _props$onClick, _triggerProps$onClick;
|
|
33
|
+
(_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props, event, analyticsEvent);
|
|
34
|
+
triggerProps === null || triggerProps === void 0 ? void 0 : (_triggerProps$onClick = triggerProps.onClick) === null || _triggerProps$onClick === void 0 ? void 0 : _triggerProps$onClick.call(triggerProps, event);
|
|
35
|
+
},
|
|
36
|
+
onMouseOver: e => {
|
|
37
|
+
var _triggerProps$onMouse, _props$onMouseOver;
|
|
38
|
+
(_triggerProps$onMouse = triggerProps.onMouseOver) === null || _triggerProps$onMouse === void 0 ? void 0 : _triggerProps$onMouse.call(triggerProps, e);
|
|
39
|
+
(_props$onMouseOver = props.onMouseOver) === null || _props$onMouseOver === void 0 ? void 0 : _props$onMouseOver.call(props, e);
|
|
40
|
+
},
|
|
41
|
+
onMouseOut: e => {
|
|
42
|
+
var _triggerProps$onMouse2, _props$onMouseOut;
|
|
43
|
+
(_triggerProps$onMouse2 = triggerProps.onMouseOut) === null || _triggerProps$onMouse2 === void 0 ? void 0 : _triggerProps$onMouse2.call(triggerProps, e);
|
|
44
|
+
(_props$onMouseOut = props.onMouseOut) === null || _props$onMouseOut === void 0 ? void 0 : _props$onMouseOut.call(props, e);
|
|
45
|
+
},
|
|
46
|
+
onMouseMove: e => {
|
|
47
|
+
var _triggerProps$onMouse3, _props$onMouseMove;
|
|
48
|
+
(_triggerProps$onMouse3 = triggerProps.onMouseMove) === null || _triggerProps$onMouse3 === void 0 ? void 0 : _triggerProps$onMouse3.call(triggerProps, e);
|
|
49
|
+
(_props$onMouseMove = props.onMouseMove) === null || _props$onMouseMove === void 0 ? void 0 : _props$onMouseMove.call(props, e);
|
|
50
|
+
},
|
|
51
|
+
onMouseDown: e => {
|
|
52
|
+
var _triggerProps$onMouse4, _props$onMouseDown;
|
|
53
|
+
(_triggerProps$onMouse4 = triggerProps.onMouseDown) === null || _triggerProps$onMouse4 === void 0 ? void 0 : _triggerProps$onMouse4.call(triggerProps, e);
|
|
54
|
+
(_props$onMouseDown = props.onMouseDown) === null || _props$onMouseDown === void 0 ? void 0 : _props$onMouseDown.call(props, e);
|
|
55
|
+
},
|
|
56
|
+
onFocus: e => {
|
|
57
|
+
var _triggerProps$onFocus, _props$onFocus;
|
|
58
|
+
(_triggerProps$onFocus = triggerProps.onFocus) === null || _triggerProps$onFocus === void 0 ? void 0 : _triggerProps$onFocus.call(triggerProps, e);
|
|
59
|
+
(_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, e);
|
|
60
|
+
},
|
|
61
|
+
onBlur: e => {
|
|
62
|
+
var _triggerProps$onBlur, _props$onBlur;
|
|
63
|
+
(_triggerProps$onBlur = triggerProps.onBlur) === null || _triggerProps$onBlur === void 0 ? void 0 : _triggerProps$onBlur.call(triggerProps, e);
|
|
64
|
+
(_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, e);
|
|
65
|
+
}
|
|
66
|
+
}), fg('platform_themed_button_use_icon_renderer') ? /*#__PURE__*/React.createElement(IconRenderer, {
|
|
67
|
+
icon: Icon
|
|
68
|
+
}) : /*#__PURE__*/React.createElement(Icon, {
|
|
69
|
+
label: "",
|
|
70
|
+
color: "currentColor"
|
|
71
|
+
}), /*#__PURE__*/React.createElement(VisuallyHidden, null, label)));
|
|
72
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/* themed-link-button.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import "./themed-link-button.compiled.css";
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import forwardRefWithGeneric from '@atlaskit/ds-lib/forward-ref-with-generic';
|
|
7
|
+
import { ThemedAnchor } from './themed-anchor';
|
|
8
|
+
const textButtonStyles = {
|
|
9
|
+
iconBefore: "_vwz4idpf",
|
|
10
|
+
text: "_k48p1wq8"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Props that are common between link buttons.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
function ThemedLinkButtonFn({
|
|
18
|
+
iconBefore: IconBefore,
|
|
19
|
+
children,
|
|
20
|
+
...props
|
|
21
|
+
}, ref) {
|
|
22
|
+
return (
|
|
23
|
+
/*#__PURE__*/
|
|
24
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
25
|
+
React.createElement(ThemedAnchor, _extends({}, props, {
|
|
26
|
+
ref: ref
|
|
27
|
+
}), IconBefore && /*#__PURE__*/React.createElement("span", {
|
|
28
|
+
className: ax([textButtonStyles.iconBefore])
|
|
29
|
+
}, /*#__PURE__*/React.createElement(IconBefore, {
|
|
30
|
+
label: "",
|
|
31
|
+
color: "currentColor"
|
|
32
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
33
|
+
className: ax([textButtonStyles.text])
|
|
34
|
+
}, children))
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
export const ThemedLinkButton = forwardRefWithGeneric(ThemedLinkButtonFn);
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import forwardRefWithGeneric from '@atlaskit/ds-lib/forward-ref-with-generic';
|
|
4
|
+
import mergeRefs from '@atlaskit/ds-lib/merge-refs';
|
|
5
|
+
import Tooltip from '@atlaskit/tooltip';
|
|
6
|
+
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
7
|
+
import { ThemedAnchor } from './themed-anchor';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Props that are common between link buttons.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
function ThemedLinkIconButtonFn({
|
|
14
|
+
icon: Icon,
|
|
15
|
+
label,
|
|
16
|
+
tooltip,
|
|
17
|
+
...props
|
|
18
|
+
}, ref) {
|
|
19
|
+
var _tooltip$content;
|
|
20
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltip, {
|
|
21
|
+
content: (_tooltip$content = tooltip === null || tooltip === void 0 ? void 0 : tooltip.content) !== null && _tooltip$content !== void 0 ? _tooltip$content : label
|
|
22
|
+
}), triggerProps =>
|
|
23
|
+
/*#__PURE__*/
|
|
24
|
+
/**
|
|
25
|
+
* The `aria-describedby` from `triggerProps` is intentionally not passed down,
|
|
26
|
+
* because it would cause double announcements with the `VisuallyHidden` label.
|
|
27
|
+
*
|
|
28
|
+
* The `@atlaskit/button` IconButton uses the same approach.
|
|
29
|
+
*/
|
|
30
|
+
React.createElement(ThemedAnchor, _extends({}, props, {
|
|
31
|
+
shape: "square",
|
|
32
|
+
ref: mergeRefs([ref, triggerProps.ref]),
|
|
33
|
+
onClick: (event, analyticsEvent) => {
|
|
34
|
+
var _props$onClick, _triggerProps$onClick;
|
|
35
|
+
(_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props, event, analyticsEvent);
|
|
36
|
+
triggerProps === null || triggerProps === void 0 ? void 0 : (_triggerProps$onClick = triggerProps.onClick) === null || _triggerProps$onClick === void 0 ? void 0 : _triggerProps$onClick.call(triggerProps, event);
|
|
37
|
+
},
|
|
38
|
+
onMouseOver: e => {
|
|
39
|
+
var _triggerProps$onMouse, _props$onMouseOver;
|
|
40
|
+
(_triggerProps$onMouse = triggerProps.onMouseOver) === null || _triggerProps$onMouse === void 0 ? void 0 : _triggerProps$onMouse.call(triggerProps, e);
|
|
41
|
+
(_props$onMouseOver = props.onMouseOver) === null || _props$onMouseOver === void 0 ? void 0 : _props$onMouseOver.call(props, e);
|
|
42
|
+
},
|
|
43
|
+
onMouseOut: e => {
|
|
44
|
+
var _triggerProps$onMouse2, _props$onMouseOut;
|
|
45
|
+
(_triggerProps$onMouse2 = triggerProps.onMouseOut) === null || _triggerProps$onMouse2 === void 0 ? void 0 : _triggerProps$onMouse2.call(triggerProps, e);
|
|
46
|
+
(_props$onMouseOut = props.onMouseOut) === null || _props$onMouseOut === void 0 ? void 0 : _props$onMouseOut.call(props, e);
|
|
47
|
+
},
|
|
48
|
+
onMouseMove: e => {
|
|
49
|
+
var _triggerProps$onMouse3, _props$onMouseMove;
|
|
50
|
+
(_triggerProps$onMouse3 = triggerProps.onMouseMove) === null || _triggerProps$onMouse3 === void 0 ? void 0 : _triggerProps$onMouse3.call(triggerProps, e);
|
|
51
|
+
(_props$onMouseMove = props.onMouseMove) === null || _props$onMouseMove === void 0 ? void 0 : _props$onMouseMove.call(props, e);
|
|
52
|
+
},
|
|
53
|
+
onMouseDown: e => {
|
|
54
|
+
var _triggerProps$onMouse4, _props$onMouseDown;
|
|
55
|
+
(_triggerProps$onMouse4 = triggerProps.onMouseDown) === null || _triggerProps$onMouse4 === void 0 ? void 0 : _triggerProps$onMouse4.call(triggerProps, e);
|
|
56
|
+
(_props$onMouseDown = props.onMouseDown) === null || _props$onMouseDown === void 0 ? void 0 : _props$onMouseDown.call(props, e);
|
|
57
|
+
},
|
|
58
|
+
onFocus: e => {
|
|
59
|
+
var _triggerProps$onFocus, _props$onFocus;
|
|
60
|
+
(_triggerProps$onFocus = triggerProps.onFocus) === null || _triggerProps$onFocus === void 0 ? void 0 : _triggerProps$onFocus.call(triggerProps, e);
|
|
61
|
+
(_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, e);
|
|
62
|
+
},
|
|
63
|
+
onBlur: e => {
|
|
64
|
+
var _triggerProps$onBlur, _props$onBlur;
|
|
65
|
+
(_triggerProps$onBlur = triggerProps.onBlur) === null || _triggerProps$onBlur === void 0 ? void 0 : _triggerProps$onBlur.call(triggerProps, e);
|
|
66
|
+
(_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, e);
|
|
67
|
+
}
|
|
68
|
+
}), /*#__PURE__*/React.createElement(Icon, {
|
|
69
|
+
label: "",
|
|
70
|
+
color: "currentColor"
|
|
71
|
+
}), /*#__PURE__*/React.createElement(VisuallyHidden, null, label)));
|
|
72
|
+
}
|
|
73
|
+
export const ThemedLinkIconButton = forwardRefWithGeneric(ThemedLinkIconButtonFn);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
|
|
2
|
+
._11c8fhey{font:var(--ds-font-body,normal 400 14px/20px "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
|
+
._11q71c9b{background:var(--ds-top-bar-button-disabled-background)}
|
|
4
|
+
._11q71qds{background:var(--ds-top-bar-button-selected-background)}
|
|
5
|
+
._11q7esko{background:var(--ds-top-bar-button-primary-background)}
|
|
6
|
+
._11q7pkxg{background:var(--ds-top-bar-button-background)}
|
|
7
|
+
._14mj1kw7:after{border-radius:inherit}
|
|
8
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
9
|
+
._2rkofajl{border-radius:var(--ds-radius-small,3px)}
|
|
10
|
+
._9v7aze3t:after{inset:var(--ds-space-0,0)}
|
|
11
|
+
._v5649dqc{transition:background .1s ease-out}
|
|
12
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
13
|
+
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
14
|
+
._18zrze3t{padding-inline:var(--ds-space-0,0)}
|
|
15
|
+
._1rjcze3t{padding-block:var(--ds-space-0,0)}
|
|
16
|
+
._1tv3nqa1:after{border-style:solid}
|
|
17
|
+
._39yqe4h9:after{border-width:var(--ds-border-width,1px)}
|
|
18
|
+
._8l3m15jn:after{border-color:var(--ds-top-bar-button-selected-border)}
|
|
19
|
+
._8l3m1j28:after{border-color:transparent}
|
|
20
|
+
._8l3maykr:after{border-color:var(--ds-top-bar-button-border)}
|
|
21
|
+
._18postnw:after{position:absolute}
|
|
22
|
+
._1bah1h6o{justify-content:center}
|
|
23
|
+
._1bsb5r7u{width:2.2857142857142856em}
|
|
24
|
+
._1e0c1txw{display:flex}
|
|
25
|
+
._1hmsglyw{text-decoration-line:none}
|
|
26
|
+
._4bfu1r31{text-decoration-color:currentColor}
|
|
27
|
+
._4cvr1h6o{align-items:center}
|
|
28
|
+
._4t3i5r7u{height:2.2857142857142856em}
|
|
29
|
+
._aetrb3bt:after{content:""}
|
|
30
|
+
._ajmmnqa1{text-decoration-style:solid}
|
|
31
|
+
._kqswh2mm{position:relative}
|
|
32
|
+
._syaz15o7{color:var(--ds-top-bar-button-primary-text)}
|
|
33
|
+
._syaz1i3i{color:var(--ds-top-bar-button-disabled-text)}
|
|
34
|
+
._syaz1r31{color:currentColor}
|
|
35
|
+
._syazw5ct{color:var(--ds-top-bar-button-selected-text)}
|
|
36
|
+
._vwz4idpf{line-height:0}._105315o7:visited{color:var(--ds-top-bar-button-primary-text)}
|
|
37
|
+
._10531i3i:visited{color:var(--ds-top-bar-button-disabled-text)}
|
|
38
|
+
._10531r31:visited{color:currentColor}
|
|
39
|
+
._1053w5ct:visited{color:var(--ds-top-bar-button-selected-text)}
|
|
40
|
+
._1a3b1r31:focus{text-decoration-color:currentColor}
|
|
41
|
+
._4fprglyw:focus{text-decoration-line:none}
|
|
42
|
+
._5goinqa1:focus{text-decoration-style:solid}
|
|
43
|
+
._f8pj15o7:focus{color:var(--ds-top-bar-button-primary-text)}
|
|
44
|
+
._f8pj1i3i:focus{color:var(--ds-top-bar-button-disabled-text)}
|
|
45
|
+
._f8pj1r31:focus{color:currentColor}
|
|
46
|
+
._f8pjw5ct:focus{color:var(--ds-top-bar-button-selected-text)}
|
|
47
|
+
._19lc1c9b:hover{background:var(--ds-top-bar-button-disabled-background)}
|
|
48
|
+
._19lc1rps:hover{background:var(--ds-top-bar-button-background-hovered)}
|
|
49
|
+
._19lcjrv1:hover{background:var(--ds-top-bar-button-selected-background-hovered)}
|
|
50
|
+
._19lcp6hf:hover{background:var(--ds-top-bar-button-primary-background-hovered)}
|
|
51
|
+
._1bnxglyw:hover{text-decoration-line:none}
|
|
52
|
+
._30l315o7:hover{color:var(--ds-top-bar-button-primary-text)}
|
|
53
|
+
._30l31i3i:hover{color:var(--ds-top-bar-button-disabled-text)}
|
|
54
|
+
._30l31r31:hover{color:currentColor}
|
|
55
|
+
._30l3w5ct:hover{color:var(--ds-top-bar-button-selected-text)}
|
|
56
|
+
._9oik1r31:hover{text-decoration-color:currentColor}
|
|
57
|
+
._jf4cnqa1:hover{text-decoration-style:solid}
|
|
58
|
+
._j6xt1c9b:active{background:var(--ds-top-bar-button-disabled-background)}
|
|
59
|
+
._j6xt5sko:active{background:var(--ds-top-bar-button-primary-background-pressed)}
|
|
60
|
+
._j6xtnh62:active{background:var(--ds-top-bar-button-selected-background-pressed)}
|
|
61
|
+
._j6xtqtgh:active{background:var(--ds-top-bar-button-background-pressed)}
|
|
62
|
+
._1iohnqa1:active{text-decoration-style:solid}
|
|
63
|
+
._1nrm1r31:active{text-decoration-color:currentColor}
|
|
64
|
+
._9h8h15o7:active{color:var(--ds-top-bar-button-primary-text)}
|
|
65
|
+
._9h8h1i3i:active{color:var(--ds-top-bar-button-disabled-text)}
|
|
66
|
+
._9h8h1r31:active{color:currentColor}
|
|
67
|
+
._9h8hw5ct:active{color:var(--ds-top-bar-button-selected-text)}
|
|
68
|
+
._c2waglyw:active{text-decoration-line:none}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/* themed-pressable.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import "./themed-pressable.compiled.css";
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import React, { forwardRef } from 'react';
|
|
6
|
+
import { cx } from '@compiled/react';
|
|
7
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
8
|
+
import { Pressable } from '@atlaskit/primitives/compiled';
|
|
9
|
+
import { getPrimitiveSpreadProps } from './get-primitives-spread-props';
|
|
10
|
+
const styles = {
|
|
11
|
+
root: "_zulp12x7 _11c8fhey _2rkofajl _v5649dqc _4bfu1r31 _1hmsglyw _ajmmnqa1 _1rjcze3t _1e0c1txw _4cvr1h6o _1bah1h6o _4t3i5r7u _kqswh2mm _1nrm1r31 _1a3b1r31 _9oik1r31 _c2waglyw _4fprglyw _1bnxglyw _1iohnqa1 _5goinqa1 _jf4cnqa1",
|
|
12
|
+
rootT26Shape: "_2rko1qi0",
|
|
13
|
+
border: "_14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _aetrb3bt _18postnw",
|
|
14
|
+
selected: "_11q71qds _syazw5ct _8l3m15jn _f8pjw5ct _1053w5ct _19lcjrv1 _30l3w5ct _j6xtnh62 _9h8hw5ct",
|
|
15
|
+
disabled: "_11q71c9b _syaz1i3i _8l3m1j28 _f8pj1i3i _10531i3i _19lc1c9b _30l31i3i _j6xt1c9b _9h8h1i3i"
|
|
16
|
+
};
|
|
17
|
+
const shapeStyles = {
|
|
18
|
+
default: "_18zrutpp",
|
|
19
|
+
square: "_18zrze3t _1bsb5r7u _vwz4idpf"
|
|
20
|
+
};
|
|
21
|
+
const appearanceStyles = {
|
|
22
|
+
default: "_11q7pkxg _syaz1r31 _8l3maykr _f8pj1r31 _10531r31 _19lc1rps _30l31r31 _j6xtqtgh _9h8h1r31",
|
|
23
|
+
subtle: "_11q7pkxg _syaz1r31 _f8pj1r31 _10531r31 _19lc1rps _30l31r31 _j6xtqtgh _9h8h1r31",
|
|
24
|
+
primary: "_11q7esko _syaz15o7 _f8pj15o7 _105315o7 _19lcp6hf _30l315o7 _j6xt5sko _9h8h15o7"
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Props shared by `ThemedPressable` and `ThemedAnchor`
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
export const ThemedPressable = /*#__PURE__*/forwardRef(function ThemedPressable({
|
|
32
|
+
appearance = 'default',
|
|
33
|
+
shape = 'default',
|
|
34
|
+
isSelected,
|
|
35
|
+
isDisabled,
|
|
36
|
+
...props
|
|
37
|
+
}, ref) {
|
|
38
|
+
const hasBorder = appearance === 'default' || isSelected;
|
|
39
|
+
return /*#__PURE__*/React.createElement(Pressable, _extends({}, getPrimitiveSpreadProps(props), {
|
|
40
|
+
ref: ref,
|
|
41
|
+
type: "button"
|
|
42
|
+
/**
|
|
43
|
+
* We are using some style values that are outside of the strict
|
|
44
|
+
* `@atlaskit/css` types.
|
|
45
|
+
*/
|
|
46
|
+
// @ts-expect-error
|
|
47
|
+
// eslint-disable-next-line @compiled/no-suppress-xcss
|
|
48
|
+
,
|
|
49
|
+
xcss: cx(styles.root, fg('platform-dst-shape-theme-default') && styles.rootT26Shape, shapeStyles[shape], hasBorder && styles.border, appearanceStyles[appearance], isSelected && styles.selected, isDisabled && styles.disabled),
|
|
50
|
+
isDisabled: isDisabled
|
|
51
|
+
}));
|
|
52
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { useColorMode } from '@atlaskit/app-provider';
|
|
3
|
+
import { getTokenValue } from '@atlaskit/tokens';
|
|
4
|
+
import { parseHex } from './color-utils/formats/hex';
|
|
5
|
+
import { useCustomTheme } from './use-custom-theme';
|
|
6
|
+
function toRGBString({
|
|
7
|
+
r,
|
|
8
|
+
g,
|
|
9
|
+
b
|
|
10
|
+
}) {
|
|
11
|
+
return `rgb(${r}, ${g}, ${b})`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* React hook that computes the custom theme style for the top navigation bar.
|
|
15
|
+
*
|
|
16
|
+
* Determines whether a custom theme is enabled, computes the resulting style,
|
|
17
|
+
* and checks if the background color matches the default for the current color mode.
|
|
18
|
+
*
|
|
19
|
+
* @param theme Optional custom theme configuration object.
|
|
20
|
+
* @returns An object indicating if the custom theme is enabled, the computed style,
|
|
21
|
+
* and a flag specifying if the default background color is used.
|
|
22
|
+
*/
|
|
23
|
+
export function useCustomThemeNew(theme) {
|
|
24
|
+
const value = useCustomTheme(theme);
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* We use the color mode to determine the default background color for the top nav.
|
|
28
|
+
* We need to use the hook because the user could change their color mode preference.
|
|
29
|
+
*/
|
|
30
|
+
const colorMode = useColorMode();
|
|
31
|
+
const hasDefaultBackground = useMemo(() => {
|
|
32
|
+
if (!value.isEnabled) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
const defaultBackground = parseHex(getTokenValue('elevation.surface', colorMode === 'light' ? '#FFFFFF' : '#1F1F21'));
|
|
36
|
+
return defaultBackground ? value.style.backgroundColor === toRGBString(defaultBackground) : true;
|
|
37
|
+
}, [value, colorMode]);
|
|
38
|
+
if (value.isEnabled) {
|
|
39
|
+
return {
|
|
40
|
+
...value,
|
|
41
|
+
hasDefaultBackground
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
@@ -1,43 +1,5 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
|
-
import { useColorMode } from '@atlaskit/app-provider';
|
|
3
|
-
import { getTokenValue } from '@atlaskit/tokens';
|
|
4
|
-
import { parseHex } from './color-utils/formats/hex';
|
|
5
2
|
import { getCustomThemeStyles } from './get-custom-theme-styles';
|
|
6
|
-
function toRGBString({
|
|
7
|
-
r,
|
|
8
|
-
g,
|
|
9
|
-
b
|
|
10
|
-
}) {
|
|
11
|
-
return `rgb(${r}, ${g}, ${b})`;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
// TODO: Fill in the hook {description}.
|
|
15
|
-
/**
|
|
16
|
-
* {description}.
|
|
17
|
-
*/
|
|
18
|
-
export function useCustomThemeNew(theme) {
|
|
19
|
-
const value = useCustomTheme(theme);
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* We use the color mode to determine the default background color for the top nav.
|
|
23
|
-
* We need to use the hook because the user could change their color mode preference.
|
|
24
|
-
*/
|
|
25
|
-
const colorMode = useColorMode();
|
|
26
|
-
const hasDefaultBackground = useMemo(() => {
|
|
27
|
-
if (!value.isEnabled) {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
const defaultBackground = parseHex(getTokenValue('elevation.surface', colorMode === 'light' ? '#FFFFFF' : '#1F1F21'));
|
|
31
|
-
return defaultBackground ? value.style.backgroundColor === toRGBString(defaultBackground) : true;
|
|
32
|
-
}, [value, colorMode]);
|
|
33
|
-
if (value.isEnabled) {
|
|
34
|
-
return {
|
|
35
|
-
...value,
|
|
36
|
-
hasDefaultBackground
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
3
|
/**
|
|
42
4
|
* Processes the provided theme and returns theme styles if possible.
|
|
43
5
|
*/
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
._1rjcu2gc{padding-block:var(--ds-space-100,8px)}._1pfhze3t{margin-block-start:var(--ds-space-0,0)}
|
|
@@ -3,10 +3,12 @@ import "./skip-link.compiled.css";
|
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React, { useCallback } from 'react';
|
|
5
5
|
import { bind } from 'bind-event-listener';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
7
|
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
|
|
7
8
|
import { Anchor } from '@atlaskit/primitives/compiled';
|
|
8
9
|
var styles = {
|
|
9
|
-
skipLinkListItem: "_1pfhze3t"
|
|
10
|
+
skipLinkListItem: "_1pfhze3t",
|
|
11
|
+
skipLinkListItemNew: "_1rjcu2gc"
|
|
10
12
|
};
|
|
11
13
|
|
|
12
14
|
/**
|
|
@@ -99,7 +101,7 @@ export var SkipLink = function SkipLink(_ref) {
|
|
|
99
101
|
window.scrollTo(0, 0);
|
|
100
102
|
}, [id, onBeforeNavigate]);
|
|
101
103
|
return /*#__PURE__*/React.createElement("li", {
|
|
102
|
-
className: ax([styles.skipLinkListItem])
|
|
104
|
+
className: ax([styles.skipLinkListItem, fg('platform_dst_nav4_skip_link_a11y_1') && styles.skipLinkListItemNew])
|
|
103
105
|
}, /*#__PURE__*/React.createElement(Anchor
|
|
104
106
|
/**
|
|
105
107
|
* It looks like Safari handles link clicks during `pointerdown` unless it has an explicit `tabIndex={0}` :/
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
._11c8i4vh{font:var(--ds-font-heading-xxsmall,normal 653 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
2
|
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
3
|
+
._2rko1mok{border-radius:var(--ds-radius-large,8px)}
|
|
3
4
|
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
5
|
+
._18zrpxbi{padding-inline:var(--ds-space-200,1pc)}
|
|
4
6
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
5
|
-
.
|
|
7
|
+
._1rjcu2gc{padding-block:var(--ds-space-100,8px)}
|
|
8
|
+
._1rjcutpp{padding-block:var(--ds-space-150,9pt)}
|
|
9
|
+
._152tv47k{inset-block-start:var(--ds-space-250,20px)}
|
|
6
10
|
._16qs130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}
|
|
7
11
|
._1e02v47k{inset-inline-start:var(--ds-space-250,20px)}
|
|
8
12
|
._1e0c1txw{display:flex}
|
|
@@ -15,6 +19,7 @@
|
|
|
15
19
|
._bozgze3t{padding-inline-start:var(--ds-space-0,0)}
|
|
16
20
|
._kqsw1n9t{position:fixed}
|
|
17
21
|
._lcxvglyw{pointer-events:none}
|
|
22
|
+
._syazazsu{color:var(--ds-text-subtle,#505258)}
|
|
18
23
|
._tzy4idpf{opacity:0}
|
|
19
24
|
._18eu1wug:focus-within{pointer-events:auto}
|
|
20
25
|
._1digjh3g:focus-within{z-index:calc(infinity)}
|
|
@@ -7,11 +7,16 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
7
7
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
8
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
9
|
import { useMemo } from 'react';
|
|
10
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
11
|
import { Text } from '@atlaskit/primitives/compiled';
|
|
11
12
|
import { SkipLink } from './skip-link';
|
|
12
13
|
var styles = {
|
|
13
|
-
root: "
|
|
14
|
-
|
|
14
|
+
root: "_1e0c1txw _2lx21bp4 _kqsw1n9t _1e02v47k _152tv47k _bfhk1bhr _16qs130s _1pby1mrw _tzy4idpf _lcxvglyw _1digjh3g _1mygkb7n _18eu1wug",
|
|
15
|
+
rootOld: "_zulp1b66 _2rko12b0 _1rjcutpp _18zrutpp",
|
|
16
|
+
rootNew: "_2rko1mok _1rjcu2gc _18zrpxbi",
|
|
17
|
+
label: "_11c8i4vh _1rjcu2gc _syazazsu",
|
|
18
|
+
skipLinkList: "_1e0c1txw _2lx21bp4 _1x8w11lx _2mzuglyw _1pfhze3t _bozgze3t",
|
|
19
|
+
skipLinkListOld: "_zulp1b66"
|
|
15
20
|
};
|
|
16
21
|
|
|
17
22
|
/**
|
|
@@ -98,12 +103,15 @@ export function SkipLinksContainer(_ref) {
|
|
|
98
103
|
return /*#__PURE__*/React.createElement("div", {
|
|
99
104
|
onKeyDown: closeOnEscape,
|
|
100
105
|
"data-testid": testId ? "".concat(testId, "--skip-links-container") : undefined,
|
|
101
|
-
className: ax([styles.root])
|
|
102
|
-
}, !isEmptyLabel && /*#__PURE__*/React.createElement(
|
|
106
|
+
className: ax([styles.root, fg('platform_dst_nav4_skip_link_a11y_1') ? styles.rootNew : styles.rootOld])
|
|
107
|
+
}, !isEmptyLabel && (fg('platform_dst_nav4_skip_link_a11y_1') ? /*#__PURE__*/React.createElement("div", {
|
|
108
|
+
"data-testid": testId ? "".concat(testId, "--skip-links-container--label") : undefined,
|
|
109
|
+
className: ax([styles.label])
|
|
110
|
+
}, label) : /*#__PURE__*/React.createElement(Text, {
|
|
103
111
|
weight: "bold",
|
|
104
112
|
testId: testId ? "".concat(testId, "--skip-links-container--label") : undefined
|
|
105
|
-
}, label), /*#__PURE__*/React.createElement("ol", {
|
|
106
|
-
className: ax([styles.skipLinkList])
|
|
113
|
+
}, label)), /*#__PURE__*/React.createElement("ol", {
|
|
114
|
+
className: ax([styles.skipLinkList, !fg('platform_dst_nav4_skip_link_a11y_1') && styles.skipLinkListOld])
|
|
107
115
|
}, sortedLinks.map(function (_ref2) {
|
|
108
116
|
var id = _ref2.id,
|
|
109
117
|
label = _ref2.label,
|
|
@@ -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 var SkipLinksContext = /*#__PURE__*/createContext({
|
|
7
7
|
registerSkipLink: noop,
|
|
8
8
|
unregisterSkipLink: noop
|
|
9
|
-
});
|
|
10
|
-
var useSkipLinks = function useSkipLinks() {
|
|
11
|
-
return useContext(SkipLinksContext);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Internal-only hook for registering skip links.
|
|
16
|
-
*
|
|
17
|
-
* `useSkipLink` is the public API wrapper of this.
|
|
18
|
-
*
|
|
19
|
-
* This private version exists for us to support `onBeforeNavigate` for the side nav use case,
|
|
20
|
-
* where we might need to expand it before moving focus, without having to support `onBeforeNavigate` publicly.
|
|
21
|
-
*/
|
|
22
|
-
export var useSkipLinkInternal = function useSkipLinkInternal(_ref) {
|
|
23
|
-
var id = _ref.id,
|
|
24
|
-
label = _ref.label,
|
|
25
|
-
listIndex = _ref.listIndex,
|
|
26
|
-
onBeforeNavigate = _ref.onBeforeNavigate,
|
|
27
|
-
isHidden = _ref.isHidden;
|
|
28
|
-
var _useSkipLinks = useSkipLinks(),
|
|
29
|
-
registerSkipLink = _useSkipLinks.registerSkipLink,
|
|
30
|
-
unregisterSkipLink = _useSkipLinks.unregisterSkipLink;
|
|
31
|
-
useEffect(function () {
|
|
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: id,
|
|
41
|
-
label: label,
|
|
42
|
-
listIndex: listIndex,
|
|
43
|
-
onBeforeNavigate: onBeforeNavigate,
|
|
44
|
-
isHidden: isHidden
|
|
45
|
-
});
|
|
46
|
-
return function () {
|
|
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 var useSkipLink = function useSkipLink(id, label, listIndex) {
|
|
56
|
-
useSkipLinkInternal({
|
|
57
|
-
id: id,
|
|
58
|
-
label: label,
|
|
59
|
-
listIndex: listIndex
|
|
60
|
-
});
|
|
61
|
-
};
|
|
9
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
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 var useSkipLinkInternal = function useSkipLinkInternal(_ref) {
|
|
12
|
+
var id = _ref.id,
|
|
13
|
+
label = _ref.label,
|
|
14
|
+
listIndex = _ref.listIndex,
|
|
15
|
+
onBeforeNavigate = _ref.onBeforeNavigate,
|
|
16
|
+
isHidden = _ref.isHidden;
|
|
17
|
+
var _useContext = useContext(SkipLinksContext),
|
|
18
|
+
registerSkipLink = _useContext.registerSkipLink,
|
|
19
|
+
unregisterSkipLink = _useContext.unregisterSkipLink;
|
|
20
|
+
useEffect(function () {
|
|
21
|
+
if (isHidden) {
|
|
22
|
+
/**
|
|
23
|
+
* Skip links are hidden for slots with 0 height or width.
|
|
24
|
+
* They should not be registered.
|
|
25
|
+
*/
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
registerSkipLink({
|
|
29
|
+
id: id,
|
|
30
|
+
label: label,
|
|
31
|
+
listIndex: listIndex,
|
|
32
|
+
onBeforeNavigate: onBeforeNavigate,
|
|
33
|
+
isHidden: isHidden
|
|
34
|
+
});
|
|
35
|
+
return function () {
|
|
36
|
+
unregisterSkipLink(id);
|
|
37
|
+
};
|
|
38
|
+
}, [id, isHidden, label, listIndex, onBeforeNavigate, registerSkipLink, unregisterSkipLink]);
|
|
39
|
+
};
|
|
@@ -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 var useSkipLink = function useSkipLink(id, label, listIndex) {
|
|
7
|
+
useSkipLinkInternal({
|
|
8
|
+
id: id,
|
|
9
|
+
label: label,
|
|
10
|
+
listIndex: listIndex
|
|
11
|
+
});
|
|
12
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
|
-
import { TopNavStartAttachRef
|
|
3
|
+
import { TopNavStartAttachRef } from './top-nav-start-attach-ref';
|
|
4
|
+
import { TopNavStartElement } from './top-nav-start-element';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Provider for the TopNavStart container element contexts.
|