@atlaskit/side-nav-items 1.0.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 +1 -0
- package/LICENSE.md +11 -0
- package/README.md +5 -0
- package/button-menu-item/package.json +17 -0
- package/container-avatar/package.json +17 -0
- package/dist/cjs/entry-points/button-menu-item.js +19 -0
- package/dist/cjs/entry-points/container-avatar.js +12 -0
- package/dist/cjs/entry-points/drag-and-drop/drag-handle.js +12 -0
- package/dist/cjs/entry-points/drag-and-drop/drag-preview.js +12 -0
- package/dist/cjs/entry-points/drag-and-drop/drop-indicator.js +12 -0
- package/dist/cjs/entry-points/drag-and-drop/group-drop-indicator.js +12 -0
- package/dist/cjs/entry-points/drag-and-drop/hitbox.js +18 -0
- package/dist/cjs/entry-points/drag-and-drop/use-menu-item-drag-and-drop.js +12 -0
- package/dist/cjs/entry-points/expandable-menu-item.js +33 -0
- package/dist/cjs/entry-points/flyout-menu-item.js +54 -0
- package/dist/cjs/entry-points/link-menu-item.js +19 -0
- package/dist/cjs/entry-points/menu-list-item.js +12 -0
- package/dist/cjs/entry-points/menu-list.js +12 -0
- package/dist/cjs/entry-points/menu-section.js +26 -0
- package/dist/cjs/entry-points/top-level-spacer.js +12 -0
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/ui/menu-item/button-menu-item.js +66 -0
- package/dist/cjs/ui/menu-item/constants.js +21 -0
- package/dist/cjs/ui/menu-item/container-avatar.compiled.css +4 -0
- package/dist/cjs/ui/menu-item/container-avatar.js +34 -0
- package/dist/cjs/ui/menu-item/drag-and-drop/drag-preview.compiled.css +9 -0
- package/dist/cjs/ui/menu-item/drag-and-drop/drag-preview.js +65 -0
- package/dist/cjs/ui/menu-item/drag-and-drop/drop-indicator.js +12 -0
- package/dist/cjs/ui/menu-item/drag-and-drop/group-drop-indicator.js +12 -0
- package/dist/cjs/ui/menu-item/drag-and-drop/hitbox.js +18 -0
- package/dist/cjs/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +202 -0
- package/dist/cjs/ui/menu-item/drag-handle/drag-handle.compiled.css +9 -0
- package/dist/cjs/ui/menu-item/drag-handle/drag-handle.js +28 -0
- package/dist/cjs/ui/menu-item/drag-handle/lazy-drag-handle.js +20 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +50 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +64 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +14 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +14 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +150 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
- package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item.js +69 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/close-button.js +33 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-body.compiled.css +11 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-body.js +38 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-footer.compiled.css +5 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-footer.js +29 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-header.compiled.css +11 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-header.js +54 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +8 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +223 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +58 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +68 -0
- package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item.js +76 -0
- package/dist/cjs/ui/menu-item/link-menu-item.compiled.css +1 -0
- package/dist/cjs/ui/menu-item/link-menu-item.js +81 -0
- package/dist/cjs/ui/menu-item/list-item.js +30 -0
- package/dist/cjs/ui/menu-item/list.js +40 -0
- package/dist/cjs/ui/menu-item/menu-item-signals.js +11 -0
- package/dist/cjs/ui/menu-item/menu-item.compiled.css +101 -0
- package/dist/cjs/ui/menu-item/menu-item.js +394 -0
- package/dist/cjs/ui/menu-item/menu-list-item.js +18 -0
- package/dist/cjs/ui/menu-item/menu-list.js +14 -0
- package/dist/cjs/ui/menu-item/top-level-spacer.compiled.css +1 -0
- package/dist/cjs/ui/menu-item/top-level-spacer.js +46 -0
- package/dist/cjs/ui/menu-item/types.js +5 -0
- package/dist/cjs/ui/menu-item/use-scroll-menu-item-into-view.js +70 -0
- package/dist/cjs/ui/menu-section/divider.compiled.css +4 -0
- package/dist/cjs/ui/menu-section/divider.js +32 -0
- package/dist/cjs/ui/menu-section/menu-section-context.js +19 -0
- package/dist/cjs/ui/menu-section/menu-section-heading.compiled.css +4 -0
- package/dist/cjs/ui/menu-section/menu-section-heading.js +30 -0
- package/dist/cjs/ui/menu-section/menu-section.js +49 -0
- package/dist/es2019/entry-points/button-menu-item.js +2 -0
- package/dist/es2019/entry-points/container-avatar.js +1 -0
- package/dist/es2019/entry-points/drag-and-drop/drag-handle.js +1 -0
- package/dist/es2019/entry-points/drag-and-drop/drag-preview.js +1 -0
- package/dist/es2019/entry-points/drag-and-drop/drop-indicator.js +1 -0
- package/dist/es2019/entry-points/drag-and-drop/group-drop-indicator.js +1 -0
- package/dist/es2019/entry-points/drag-and-drop/hitbox.js +1 -0
- package/dist/es2019/entry-points/drag-and-drop/use-menu-item-drag-and-drop.js +1 -0
- package/dist/es2019/entry-points/expandable-menu-item.js +4 -0
- package/dist/es2019/entry-points/flyout-menu-item.js +7 -0
- package/dist/es2019/entry-points/link-menu-item.js +2 -0
- package/dist/es2019/entry-points/menu-list-item.js +1 -0
- package/dist/es2019/entry-points/menu-list.js +1 -0
- package/dist/es2019/entry-points/menu-section.js +3 -0
- package/dist/es2019/entry-points/top-level-spacer.js +1 -0
- package/dist/es2019/index.js +3 -0
- package/dist/es2019/ui/menu-item/button-menu-item.js +59 -0
- package/dist/es2019/ui/menu-item/constants.js +15 -0
- package/dist/es2019/ui/menu-item/container-avatar.compiled.css +4 -0
- package/dist/es2019/ui/menu-item/container-avatar.js +25 -0
- package/dist/es2019/ui/menu-item/drag-and-drop/drag-preview.compiled.css +9 -0
- package/dist/es2019/ui/menu-item/drag-and-drop/drag-preview.js +60 -0
- package/dist/es2019/ui/menu-item/drag-and-drop/drop-indicator.js +7 -0
- package/dist/es2019/ui/menu-item/drag-and-drop/group-drop-indicator.js +7 -0
- package/dist/es2019/ui/menu-item/drag-and-drop/hitbox.js +7 -0
- package/dist/es2019/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +192 -0
- package/dist/es2019/ui/menu-item/drag-handle/drag-handle.compiled.css +9 -0
- package/dist/es2019/ui/menu-item/drag-handle/drag-handle.js +19 -0
- package/dist/es2019/ui/menu-item/drag-handle/lazy-drag-handle.js +9 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +43 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +53 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +9 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +14 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +141 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
- package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item.js +54 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/close-button.js +25 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-body.compiled.css +11 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-body.js +33 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-footer.compiled.css +5 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-footer.js +24 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-header.compiled.css +11 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-header.js +47 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +8 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +211 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +45 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +57 -0
- package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item.js +61 -0
- package/dist/es2019/ui/menu-item/link-menu-item.compiled.css +1 -0
- package/dist/es2019/ui/menu-item/link-menu-item.js +73 -0
- package/dist/es2019/ui/menu-item/list-item.js +23 -0
- package/dist/es2019/ui/menu-item/list.js +33 -0
- package/dist/es2019/ui/menu-item/menu-item-signals.js +5 -0
- package/dist/es2019/ui/menu-item/menu-item.compiled.css +101 -0
- package/dist/es2019/ui/menu-item/menu-item.js +383 -0
- package/dist/es2019/ui/menu-item/menu-list-item.js +12 -0
- package/dist/es2019/ui/menu-item/menu-list.js +9 -0
- package/dist/es2019/ui/menu-item/top-level-spacer.compiled.css +1 -0
- package/dist/es2019/ui/menu-item/top-level-spacer.js +38 -0
- package/dist/es2019/ui/menu-item/types.js +1 -0
- package/dist/es2019/ui/menu-item/use-scroll-menu-item-into-view.js +64 -0
- package/dist/es2019/ui/menu-section/divider.compiled.css +4 -0
- package/dist/es2019/ui/menu-section/divider.js +22 -0
- package/dist/es2019/ui/menu-section/menu-section-context.js +13 -0
- package/dist/es2019/ui/menu-section/menu-section-heading.compiled.css +4 -0
- package/dist/es2019/ui/menu-section/menu-section-heading.js +23 -0
- package/dist/es2019/ui/menu-section/menu-section.js +42 -0
- package/dist/esm/entry-points/button-menu-item.js +2 -0
- package/dist/esm/entry-points/container-avatar.js +1 -0
- package/dist/esm/entry-points/drag-and-drop/drag-handle.js +1 -0
- package/dist/esm/entry-points/drag-and-drop/drag-preview.js +1 -0
- package/dist/esm/entry-points/drag-and-drop/drop-indicator.js +1 -0
- package/dist/esm/entry-points/drag-and-drop/group-drop-indicator.js +1 -0
- package/dist/esm/entry-points/drag-and-drop/hitbox.js +1 -0
- package/dist/esm/entry-points/drag-and-drop/use-menu-item-drag-and-drop.js +1 -0
- package/dist/esm/entry-points/expandable-menu-item.js +4 -0
- package/dist/esm/entry-points/flyout-menu-item.js +7 -0
- package/dist/esm/entry-points/link-menu-item.js +2 -0
- package/dist/esm/entry-points/menu-list-item.js +1 -0
- package/dist/esm/entry-points/menu-list.js +1 -0
- package/dist/esm/entry-points/menu-section.js +3 -0
- package/dist/esm/entry-points/top-level-spacer.js +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/ui/menu-item/button-menu-item.js +58 -0
- package/dist/esm/ui/menu-item/constants.js +15 -0
- package/dist/esm/ui/menu-item/container-avatar.compiled.css +4 -0
- package/dist/esm/ui/menu-item/container-avatar.js +26 -0
- package/dist/esm/ui/menu-item/drag-and-drop/drag-preview.compiled.css +9 -0
- package/dist/esm/ui/menu-item/drag-and-drop/drag-preview.js +58 -0
- package/dist/esm/ui/menu-item/drag-and-drop/drop-indicator.js +7 -0
- package/dist/esm/ui/menu-item/drag-and-drop/group-drop-indicator.js +7 -0
- package/dist/esm/ui/menu-item/drag-and-drop/hitbox.js +7 -0
- package/dist/esm/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +193 -0
- package/dist/esm/ui/menu-item/drag-handle/drag-handle.compiled.css +9 -0
- package/dist/esm/ui/menu-item/drag-handle/drag-handle.js +19 -0
- package/dist/esm/ui/menu-item/drag-handle/lazy-drag-handle.js +11 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +42 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +57 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +9 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +14 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +141 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
- package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item.js +60 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/close-button.js +26 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-body.compiled.css +11 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-body.js +31 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-footer.compiled.css +5 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-footer.js +22 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-header.compiled.css +11 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-header.js +45 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +8 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +214 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +51 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +59 -0
- package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item.js +67 -0
- package/dist/esm/ui/menu-item/link-menu-item.compiled.css +1 -0
- package/dist/esm/ui/menu-item/link-menu-item.js +72 -0
- package/dist/esm/ui/menu-item/list-item.js +22 -0
- package/dist/esm/ui/menu-item/list.js +32 -0
- package/dist/esm/ui/menu-item/menu-item-signals.js +5 -0
- package/dist/esm/ui/menu-item/menu-item.compiled.css +101 -0
- package/dist/esm/ui/menu-item/menu-item.js +385 -0
- package/dist/esm/ui/menu-item/menu-list-item.js +12 -0
- package/dist/esm/ui/menu-item/menu-list.js +9 -0
- package/dist/esm/ui/menu-item/top-level-spacer.compiled.css +1 -0
- package/dist/esm/ui/menu-item/top-level-spacer.js +38 -0
- package/dist/esm/ui/menu-item/types.js +1 -0
- package/dist/esm/ui/menu-item/use-scroll-menu-item-into-view.js +63 -0
- package/dist/esm/ui/menu-section/divider.compiled.css +4 -0
- package/dist/esm/ui/menu-section/divider.js +24 -0
- package/dist/esm/ui/menu-section/menu-section-context.js +13 -0
- package/dist/esm/ui/menu-section/menu-section-heading.compiled.css +4 -0
- package/dist/esm/ui/menu-section/menu-section-heading.js +22 -0
- package/dist/esm/ui/menu-section/menu-section.js +42 -0
- package/dist/types/entry-points/button-menu-item.d.ts +3 -0
- package/dist/types/entry-points/container-avatar.d.ts +1 -0
- package/dist/types/entry-points/drag-and-drop/drag-handle.d.ts +1 -0
- package/dist/types/entry-points/drag-and-drop/drag-preview.d.ts +1 -0
- package/dist/types/entry-points/drag-and-drop/drop-indicator.d.ts +1 -0
- package/dist/types/entry-points/drag-and-drop/group-drop-indicator.d.ts +1 -0
- package/dist/types/entry-points/drag-and-drop/hitbox.d.ts +1 -0
- package/dist/types/entry-points/drag-and-drop/use-menu-item-drag-and-drop.d.ts +1 -0
- package/dist/types/entry-points/expandable-menu-item.d.ts +4 -0
- package/dist/types/entry-points/flyout-menu-item.d.ts +7 -0
- package/dist/types/entry-points/link-menu-item.d.ts +3 -0
- package/dist/types/entry-points/menu-list-item.d.ts +1 -0
- package/dist/types/entry-points/menu-list.d.ts +1 -0
- package/dist/types/entry-points/menu-section.d.ts +3 -0
- package/dist/types/entry-points/top-level-spacer.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/ui/menu-item/button-menu-item.d.ts +42 -0
- package/dist/types/ui/menu-item/constants.d.ts +15 -0
- package/dist/types/ui/menu-item/container-avatar.d.ts +18 -0
- package/dist/types/ui/menu-item/drag-and-drop/drag-preview.d.ts +24 -0
- package/dist/types/ui/menu-item/drag-and-drop/drop-indicator.d.ts +6 -0
- package/dist/types/ui/menu-item/drag-and-drop/group-drop-indicator.d.ts +6 -0
- package/dist/types/ui/menu-item/drag-and-drop/hitbox.d.ts +6 -0
- package/dist/types/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.d.ts +62 -0
- package/dist/types/ui/menu-item/drag-handle/drag-handle.d.ts +6 -0
- package/dist/types/ui/menu-item/drag-handle/lazy-drag-handle.d.ts +4 -0
- package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-content.d.ts +17 -0
- package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +36 -0
- package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +4 -0
- package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +65 -0
- package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item.d.ts +65 -0
- package/dist/types/ui/menu-item/flyout-menu-item/close-button.d.ts +34 -0
- package/dist/types/ui/menu-item/flyout-menu-item/flyout-body.d.ts +38 -0
- package/dist/types/ui/menu-item/flyout-menu-item/flyout-footer.d.ts +25 -0
- package/dist/types/ui/menu-item/flyout-menu-item/flyout-header.d.ts +35 -0
- package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-content.d.ts +39 -0
- package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +38 -0
- package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +46 -0
- package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item.d.ts +52 -0
- package/dist/types/ui/menu-item/link-menu-item.d.ts +22 -0
- package/dist/types/ui/menu-item/list-item.d.ts +27 -0
- package/dist/types/ui/menu-item/list.d.ts +28 -0
- package/dist/types/ui/menu-item/menu-item-signals.d.ts +6 -0
- package/dist/types/ui/menu-item/menu-item.d.ts +51 -0
- package/dist/types/ui/menu-item/menu-list-item.d.ts +11 -0
- package/dist/types/ui/menu-item/menu-list.d.ts +8 -0
- package/dist/types/ui/menu-item/top-level-spacer.d.ts +20 -0
- package/dist/types/ui/menu-item/types.d.ts +164 -0
- package/dist/types/ui/menu-item/use-scroll-menu-item-into-view.d.ts +12 -0
- package/dist/types/ui/menu-section/divider.d.ts +6 -0
- package/dist/types/ui/menu-section/menu-section-context.d.ts +6 -0
- package/dist/types/ui/menu-section/menu-section-heading.d.ts +16 -0
- package/dist/types/ui/menu-section/menu-section.d.ts +41 -0
- package/dist/types-ts4.5/entry-points/button-menu-item.d.ts +3 -0
- package/dist/types-ts4.5/entry-points/container-avatar.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/drag-and-drop/drag-handle.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/drag-and-drop/drag-preview.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/drag-and-drop/drop-indicator.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/drag-and-drop/group-drop-indicator.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/drag-and-drop/hitbox.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/drag-and-drop/use-menu-item-drag-and-drop.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/expandable-menu-item.d.ts +4 -0
- package/dist/types-ts4.5/entry-points/flyout-menu-item.d.ts +7 -0
- package/dist/types-ts4.5/entry-points/link-menu-item.d.ts +3 -0
- package/dist/types-ts4.5/entry-points/menu-list-item.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/menu-list.d.ts +1 -0
- package/dist/types-ts4.5/entry-points/menu-section.d.ts +3 -0
- package/dist/types-ts4.5/entry-points/top-level-spacer.d.ts +1 -0
- package/dist/types-ts4.5/index.d.ts +1 -0
- package/dist/types-ts4.5/ui/menu-item/button-menu-item.d.ts +42 -0
- package/dist/types-ts4.5/ui/menu-item/constants.d.ts +15 -0
- package/dist/types-ts4.5/ui/menu-item/container-avatar.d.ts +18 -0
- package/dist/types-ts4.5/ui/menu-item/drag-and-drop/drag-preview.d.ts +24 -0
- package/dist/types-ts4.5/ui/menu-item/drag-and-drop/drop-indicator.d.ts +6 -0
- package/dist/types-ts4.5/ui/menu-item/drag-and-drop/group-drop-indicator.d.ts +6 -0
- package/dist/types-ts4.5/ui/menu-item/drag-and-drop/hitbox.d.ts +6 -0
- package/dist/types-ts4.5/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.d.ts +62 -0
- package/dist/types-ts4.5/ui/menu-item/drag-handle/drag-handle.d.ts +6 -0
- package/dist/types-ts4.5/ui/menu-item/drag-handle/lazy-drag-handle.d.ts +4 -0
- package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-content.d.ts +17 -0
- package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +36 -0
- package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +4 -0
- package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +65 -0
- package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item.d.ts +65 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/close-button.d.ts +34 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-body.d.ts +38 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-footer.d.ts +25 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-header.d.ts +35 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-content.d.ts +39 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +38 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +46 -0
- package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item.d.ts +52 -0
- package/dist/types-ts4.5/ui/menu-item/link-menu-item.d.ts +22 -0
- package/dist/types-ts4.5/ui/menu-item/list-item.d.ts +27 -0
- package/dist/types-ts4.5/ui/menu-item/list.d.ts +28 -0
- package/dist/types-ts4.5/ui/menu-item/menu-item-signals.d.ts +6 -0
- package/dist/types-ts4.5/ui/menu-item/menu-item.d.ts +51 -0
- package/dist/types-ts4.5/ui/menu-item/menu-list-item.d.ts +11 -0
- package/dist/types-ts4.5/ui/menu-item/menu-list.d.ts +8 -0
- package/dist/types-ts4.5/ui/menu-item/top-level-spacer.d.ts +20 -0
- package/dist/types-ts4.5/ui/menu-item/types.d.ts +164 -0
- package/dist/types-ts4.5/ui/menu-item/use-scroll-menu-item-into-view.d.ts +12 -0
- package/dist/types-ts4.5/ui/menu-section/divider.d.ts +6 -0
- package/dist/types-ts4.5/ui/menu-section/menu-section-context.d.ts +6 -0
- package/dist/types-ts4.5/ui/menu-section/menu-section-heading.d.ts +16 -0
- package/dist/types-ts4.5/ui/menu-section/menu-section.d.ts +41 -0
- package/drag-and-drop/drag-handle/package.json +17 -0
- package/drag-and-drop/drag-preview/package.json +17 -0
- package/drag-and-drop/drop-indicator/package.json +17 -0
- package/drag-and-drop/group-drop-indicator/package.json +17 -0
- package/drag-and-drop/hitbox/package.json +17 -0
- package/drag-and-drop/use-menu-item-drag-and-drop/package.json +17 -0
- package/expandable-menu-item/package.json +17 -0
- package/flyout-menu-item/package.json +17 -0
- package/link-menu-item/package.json +17 -0
- package/menu-list/package.json +17 -0
- package/menu-list-item/package.json +17 -0
- package/menu-section/package.json +17 -0
- package/package.json +121 -0
- package/top-level-spacer/package.json +17 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
3
|
+
._zulppxbi{gap:var(--ds-space-200,1pc)}._1bah1yb4{justify-content:space-between}
|
|
4
|
+
._1bsb1osq{width:100%}
|
|
5
|
+
._1e0c1txw{display:flex}
|
|
6
|
+
._2lx21bp4{flex-direction:column}
|
|
7
|
+
._2lx21sbv{flex-direction:row-reverse}
|
|
8
|
+
._4cvr1h6o{align-items:center}
|
|
9
|
+
._85i512x7{padding-block-end:var(--ds-space-075,6px)}
|
|
10
|
+
._bozg1b66{padding-inline-start:var(--ds-space-050,4px)}
|
|
11
|
+
._bozgv77o{padding-inline-start:var(--ds-space-025,2px)}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/* flyout-header.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./flyout-header.compiled.css";
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import React, { useCallback, useContext } from 'react';
|
|
5
|
+
import Heading from '@atlaskit/heading';
|
|
6
|
+
import { Flex } from '@atlaskit/primitives/compiled';
|
|
7
|
+
import { CloseButton } from './close-button';
|
|
8
|
+
import { OnCloseContext, useTitleId } from './flyout-menu-item-context';
|
|
9
|
+
const headerStyles = {
|
|
10
|
+
root: "_zulp12x7 _bozg1b66 _85i512x7 _1e0c1txw _2lx21bp4",
|
|
11
|
+
flex: "_zulppxbi _1bah1yb4 _2lx21sbv _4cvr1h6o _1bsb1osq _bozgv77o"
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* __FlyoutHeader__
|
|
15
|
+
*
|
|
16
|
+
* The header section of a flyout menu. This component displays the title, and
|
|
17
|
+
* close button, as well as any other provided actions relevant to the menu.
|
|
18
|
+
* This component should be placed first within the FlyoutMenuItemContent.
|
|
19
|
+
*/
|
|
20
|
+
export const FlyoutHeader = props => {
|
|
21
|
+
const {
|
|
22
|
+
children,
|
|
23
|
+
testId,
|
|
24
|
+
title,
|
|
25
|
+
closeButtonLabel
|
|
26
|
+
} = props;
|
|
27
|
+
const id = useTitleId();
|
|
28
|
+
const onCloseRef = useContext(OnCloseContext);
|
|
29
|
+
const handleClose = useCallback(event => {
|
|
30
|
+
var _onCloseRef$current;
|
|
31
|
+
(_onCloseRef$current = onCloseRef.current) === null || _onCloseRef$current === void 0 ? void 0 : _onCloseRef$current.call(onCloseRef, event, 'close-button');
|
|
32
|
+
}, [onCloseRef]);
|
|
33
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
"data-testid": testId,
|
|
35
|
+
className: ax([headerStyles.root])
|
|
36
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
37
|
+
xcss: headerStyles.flex
|
|
38
|
+
}, /*#__PURE__*/React.createElement(CloseButton, {
|
|
39
|
+
label: closeButtonLabel,
|
|
40
|
+
onClick: handleClose,
|
|
41
|
+
testId: testId && `${testId}--close-button`
|
|
42
|
+
}), /*#__PURE__*/React.createElement(Heading, {
|
|
43
|
+
size: "xsmall",
|
|
44
|
+
as: "h2",
|
|
45
|
+
id: id
|
|
46
|
+
}, title)), children);
|
|
47
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
._1e0c1txw{display:flex}
|
|
2
|
+
._1q51u2gc{padding-block-start:var(--ds-space-100,8px)}
|
|
3
|
+
._2lx21bp4{flex-direction:column}
|
|
4
|
+
._4t3i1osq{height:100%}
|
|
5
|
+
._85i5u2gc{padding-block-end:var(--ds-space-100,8px)}
|
|
6
|
+
._bozgu2gc{padding-inline-start:var(--ds-space-100,8px)}
|
|
7
|
+
._y4tiu2gc{padding-inline-end:var(--ds-space-100,8px)}
|
|
8
|
+
@media (min-width:48rem){._14b51kdj{width:25pc}}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/* flyout-menu-item-content.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./flyout-menu-item-content.compiled.css";
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import React, { forwardRef, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
5
|
+
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
6
|
+
import mergeRefs from '@atlaskit/ds-lib/merge-refs';
|
|
7
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
8
|
+
import { PopupContent } from '@atlaskit/popup/experimental';
|
|
9
|
+
import { OnCloseContext, SetIsOpenContext, TitleIdContextProvider } from './flyout-menu-item-context';
|
|
10
|
+
/**
|
|
11
|
+
* The vertical offset in px to ensure the flyout container does not exceed the bounds of
|
|
12
|
+
* the window. This matches the padding of the content container, and it's position within
|
|
13
|
+
* the viewport.
|
|
14
|
+
*
|
|
15
|
+
* - FlyoutMenuItemContent: paddingBlock: token('space.100'); – 8px top, 8px bottom
|
|
16
|
+
* - Position: 5px top, 5px bottom
|
|
17
|
+
*
|
|
18
|
+
* Total vertical padding:
|
|
19
|
+
* (8px [content top] + 8px [content bottom]) +
|
|
20
|
+
* (5px [position top] + 5px [position bottom]) = 26px
|
|
21
|
+
*/
|
|
22
|
+
const FLYOUT_MENU_VERTICAL_OFFSET_PX = 26;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The maximum height of the flyout menu in pixels, following the Confluence standard maximum
|
|
26
|
+
* height of 760px.
|
|
27
|
+
*/
|
|
28
|
+
const FLYOUT_MENU_MAX_HEIGHT_PX = 760;
|
|
29
|
+
const flyoutMenuItemContentStyles = {
|
|
30
|
+
root: "_1q51u2gc _85i5u2gc _bozgu2gc _y4tiu2gc _14b51kdj"
|
|
31
|
+
};
|
|
32
|
+
const flyoutMenuItemContentContainerStyles = {
|
|
33
|
+
container: "_1e0c1txw _4t3i1osq _2lx21bp4"
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* __FlyoutMenuItemContent__
|
|
37
|
+
*
|
|
38
|
+
* The content that appears when the flyout menu is open.
|
|
39
|
+
*/
|
|
40
|
+
export const FlyoutMenuItemContent = /*#__PURE__*/forwardRef(({
|
|
41
|
+
children,
|
|
42
|
+
containerTestId,
|
|
43
|
+
onClose,
|
|
44
|
+
autoFocus,
|
|
45
|
+
maxHeight = FLYOUT_MENU_MAX_HEIGHT_PX
|
|
46
|
+
}, forwardedRef) => {
|
|
47
|
+
const setIsOpen = useContext(SetIsOpenContext);
|
|
48
|
+
const onCloseRef = useContext(OnCloseContext);
|
|
49
|
+
const {
|
|
50
|
+
createAnalyticsEvent
|
|
51
|
+
} = useAnalyticsEvents();
|
|
52
|
+
|
|
53
|
+
// The source of the close is not accessible to the consumer, it is determined within the
|
|
54
|
+
// handleClose function, or passed in as a parameter in FlyoutMenuItemTrigger (outside-click),
|
|
55
|
+
// or FlyoutHeader (close-button).
|
|
56
|
+
const handleClose = useCallback((event, source) => {
|
|
57
|
+
if (fg("platform_dst_nav4_flyout_menu_slots_close_button")) {
|
|
58
|
+
// Use the passed source if provided, otherwise determine from event
|
|
59
|
+
let determinedSource = source || 'other';
|
|
60
|
+
if (!source) {
|
|
61
|
+
if (event instanceof KeyboardEvent) {
|
|
62
|
+
const keyboardEvent = event;
|
|
63
|
+
if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
|
|
64
|
+
determinedSource = 'escape-key';
|
|
65
|
+
}
|
|
66
|
+
} else if (event instanceof MouseEvent) {
|
|
67
|
+
if (event && 'type' in event && event.type === 'click') {
|
|
68
|
+
determinedSource = 'outside-click';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// When flyout menu is closed, fire analytics event
|
|
74
|
+
const navigationAnalyticsEvent = createAnalyticsEvent({
|
|
75
|
+
source: 'sideNav',
|
|
76
|
+
actionSubject: 'flyoutMenu',
|
|
77
|
+
action: 'closed',
|
|
78
|
+
attributes: {
|
|
79
|
+
closeSource: determinedSource
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
navigationAnalyticsEvent.fire('navigation');
|
|
83
|
+
}
|
|
84
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
85
|
+
setIsOpen(false);
|
|
86
|
+
}, [setIsOpen, onClose, createAnalyticsEvent]);
|
|
87
|
+
|
|
88
|
+
// Register handleClose in the ref to allow the FlyoutMenuItemTrigger to access it
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
onCloseRef.current = handleClose;
|
|
91
|
+
}, [handleClose, onCloseRef]);
|
|
92
|
+
const titleId = useId();
|
|
93
|
+
const computedMaxHeight = useMemo(() => `min(
|
|
94
|
+
calc(100vh - ${FLYOUT_MENU_VERTICAL_OFFSET_PX}px),
|
|
95
|
+
${maxHeight}px
|
|
96
|
+
)`, [maxHeight]);
|
|
97
|
+
return /*#__PURE__*/React.createElement(PopupContent, {
|
|
98
|
+
appearance: "UNSAFE_modal-below-sm",
|
|
99
|
+
onClose: handleClose,
|
|
100
|
+
placement: "right-start"
|
|
101
|
+
// Using a capture event listener so that we are more resilient against
|
|
102
|
+
// code that stops events. We _really_ want to close the flyout whenever
|
|
103
|
+
// user user clicks outside the flyout content
|
|
104
|
+
,
|
|
105
|
+
shouldUseCaptureOnOutsideClick: true,
|
|
106
|
+
shouldFitViewport: true,
|
|
107
|
+
testId: containerTestId,
|
|
108
|
+
xcss: flyoutMenuItemContentStyles.root,
|
|
109
|
+
autoFocus: autoFocus,
|
|
110
|
+
role: fg("platform_dst_nav4_flyout_menu_slots_close_button") ? "dialog" : undefined,
|
|
111
|
+
titleId: fg("platform_dst_nav4_flyout_menu_slots_close_button") ? titleId : undefined
|
|
112
|
+
/**
|
|
113
|
+
* Disabling GPU acceleration removes the use of `transform` by popper.js for this popup.
|
|
114
|
+
*
|
|
115
|
+
* This allows makers to use popups with `shouldRenderToParent` inside the flyout.
|
|
116
|
+
*
|
|
117
|
+
* Without this, the `transform` makes the flyout the containing element for fixed positioning.
|
|
118
|
+
* Because the flyout is also a scroll container then any nested, layered element is unable to
|
|
119
|
+
* escape the flyout.
|
|
120
|
+
*
|
|
121
|
+
* Disabling the `transform` is the simplest way to resolve this layering issue,
|
|
122
|
+
* and should have negligible performance impacts, because the flyout menus should rarely
|
|
123
|
+
* need to be repositioned.
|
|
124
|
+
*/,
|
|
125
|
+
shouldDisableGpuAcceleration: true,
|
|
126
|
+
shouldRenderToParent: fg('platform_dst_nav4_flyoutmenuitem_render_to_parent')
|
|
127
|
+
}, ({
|
|
128
|
+
update
|
|
129
|
+
}) => /*#__PURE__*/React.createElement(UpdatePopperOnContentResize, {
|
|
130
|
+
ref: forwardedRef,
|
|
131
|
+
update: update
|
|
132
|
+
}, fg("platform_dst_nav4_flyout_menu_slots_close_button") ? /*#__PURE__*/React.createElement(TitleIdContextProvider, {
|
|
133
|
+
value: titleId
|
|
134
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
135
|
+
style: {
|
|
136
|
+
maxHeight: computedMaxHeight
|
|
137
|
+
},
|
|
138
|
+
"data-testid": containerTestId ? `${containerTestId}--container` : undefined,
|
|
139
|
+
className: ax([flyoutMenuItemContentContainerStyles.container])
|
|
140
|
+
}, children)) : children));
|
|
141
|
+
});
|
|
142
|
+
function createResizeObserver(update) {
|
|
143
|
+
return new ResizeObserver(update);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Will call the Popper.js `update()` method to recalculate positioning, when the flyout menu changes size.
|
|
148
|
+
* This is the size of the scroll container, NOT the scroll content.
|
|
149
|
+
*
|
|
150
|
+
* We could potentially bake this into `@atlaskit/popup` or `@atlaskit/popper` but there are a few
|
|
151
|
+
* reasons to keep it scoped to flyout menus for now:
|
|
152
|
+
*
|
|
153
|
+
* 1. It's easier to unwind
|
|
154
|
+
* 2. We've only had bug reports for flyout menus
|
|
155
|
+
* 3. Popup exposes the `update` function so consumers can already do this themselves if necessary
|
|
156
|
+
* 4. Flyout menus are a lot more restricted to other popups, it might not make sense more generally
|
|
157
|
+
*/
|
|
158
|
+
const UpdatePopperOnContentResize = /*#__PURE__*/forwardRef(({
|
|
159
|
+
update,
|
|
160
|
+
children
|
|
161
|
+
}, forwardedRef) => {
|
|
162
|
+
/**
|
|
163
|
+
* Storing our `update` function in a ref so that we have a stable reference to it.
|
|
164
|
+
* We need this because our `ResizeObserver` callback cannot be changed after creating it.
|
|
165
|
+
*/
|
|
166
|
+
const updateRef = useRef(update);
|
|
167
|
+
useEffect(() => {
|
|
168
|
+
updateRef.current = update;
|
|
169
|
+
}, [update]);
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Stable function that calls the latest `update` function by calling it through the stable ref.
|
|
173
|
+
*/
|
|
174
|
+
const triggerUpdate = useCallback(() => {
|
|
175
|
+
var _updateRef$current;
|
|
176
|
+
(_updateRef$current = updateRef.current) === null || _updateRef$current === void 0 ? void 0 : _updateRef$current.call(updateRef);
|
|
177
|
+
}, []);
|
|
178
|
+
const [resizeObserver] = useState(() => createResizeObserver(triggerUpdate));
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* This is a callback ref that will update which `HTMLElement` we are observing,
|
|
182
|
+
* if or when the underlying `HTMLElement` changes or unmounts.
|
|
183
|
+
*/
|
|
184
|
+
const observeCallbackRef = useCallback(element => {
|
|
185
|
+
/**
|
|
186
|
+
* Unobserves all observed elements.
|
|
187
|
+
* Allows us to cleanup without needing to store a reference to the previous element.
|
|
188
|
+
*/
|
|
189
|
+
resizeObserver.disconnect();
|
|
190
|
+
if (!element) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
resizeObserver.observe(element);
|
|
194
|
+
}, [resizeObserver]);
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* We need to memoize the ref otherwise `triggerUpdate` is repeatedly called.
|
|
198
|
+
*
|
|
199
|
+
* This stems from ResizeObserver firing once after calling `.observe()` even if there
|
|
200
|
+
* was no resize.
|
|
201
|
+
*
|
|
202
|
+
* Without memoizing the ref, the update causes a rerender, which causes the ref to
|
|
203
|
+
* get recreated, which triggers an update and so on in a loop.
|
|
204
|
+
*/
|
|
205
|
+
const ref = useMemo(() => {
|
|
206
|
+
return mergeRefs([forwardedRef, observeCallbackRef]);
|
|
207
|
+
}, [forwardedRef, observeCallbackRef]);
|
|
208
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
209
|
+
ref: ref
|
|
210
|
+
}, children);
|
|
211
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
import noop from '@atlaskit/ds-lib/noop';
|
|
3
|
+
/**
|
|
4
|
+
* __Is open context__
|
|
5
|
+
*
|
|
6
|
+
* A context for storing the isOpen value of the FlyoutMenuItem.
|
|
7
|
+
*/
|
|
8
|
+
export const IsOpenContext = /*#__PURE__*/createContext(false);
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* __Set is open context__
|
|
12
|
+
*
|
|
13
|
+
* A context for storing a function that sets isOpen value of the FlyoutMenuItem.
|
|
14
|
+
*/
|
|
15
|
+
export const SetIsOpenContext = /*#__PURE__*/createContext(noop);
|
|
16
|
+
export const useFlyoutMenuOpen = () => useContext(IsOpenContext);
|
|
17
|
+
export const useSetFlyoutMenuOpen = () => useContext(SetIsOpenContext);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* __On close context__
|
|
21
|
+
*
|
|
22
|
+
* A context for storing a ref to the onClose handler with source information.This
|
|
23
|
+
* is used by FlyoutMenuItemContent, FlyoutMenuItemTrigger and FlyoutHeader to store
|
|
24
|
+
* the on close function and source information for closing the flyout menu.
|
|
25
|
+
*/
|
|
26
|
+
export const OnCloseContext = /*#__PURE__*/createContext({
|
|
27
|
+
current: null
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* __Title id context__
|
|
32
|
+
*
|
|
33
|
+
* A context for storing the title id of the FlyoutMenuItem that is displayed in
|
|
34
|
+
* FlyoutHeader, and used as the aria-labelledby on the FlyoutMenuItemContent
|
|
35
|
+
* container.
|
|
36
|
+
*/
|
|
37
|
+
export const TitleIdContext = /*#__PURE__*/createContext(undefined);
|
|
38
|
+
export const useTitleId = () => useContext(TitleIdContext);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* __Title id provider__
|
|
42
|
+
*
|
|
43
|
+
* A context provider for supplying the title id to the FlyoutHeader.
|
|
44
|
+
*/
|
|
45
|
+
export const TitleIdContextProvider = TitleIdContext.Provider;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* flyout-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./flyout-menu-item-trigger.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import { forwardRef } from 'react';
|
|
6
|
+
import mergeRefs from '@atlaskit/ds-lib/merge-refs';
|
|
7
|
+
import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
|
|
8
|
+
import { PopupTrigger } from '@atlaskit/popup/experimental';
|
|
9
|
+
import { MenuItemBase } from '../menu-item';
|
|
10
|
+
const elemAfterStyles = {
|
|
11
|
+
root: "_18zr12x7 _1tz3r0mg"
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* __FlyoutMenuItemTrigger__
|
|
15
|
+
*
|
|
16
|
+
* The button that toggles the flyout menu.
|
|
17
|
+
*/
|
|
18
|
+
export const FlyoutMenuItemTrigger = /*#__PURE__*/forwardRef(({
|
|
19
|
+
children,
|
|
20
|
+
elemBefore,
|
|
21
|
+
onClick,
|
|
22
|
+
isSelected,
|
|
23
|
+
interactionName,
|
|
24
|
+
testId,
|
|
25
|
+
isContentTooltipDisabled,
|
|
26
|
+
visualContentRef,
|
|
27
|
+
isDragging,
|
|
28
|
+
hasDragIndicator,
|
|
29
|
+
dropIndicator
|
|
30
|
+
}, forwardedRef) => /*#__PURE__*/React.createElement(PopupTrigger, null, ({
|
|
31
|
+
ref,
|
|
32
|
+
'aria-controls': ariaControls,
|
|
33
|
+
'aria-expanded': ariaExpanded,
|
|
34
|
+
'aria-haspopup': ariaHasPopup
|
|
35
|
+
}) => /*#__PURE__*/React.createElement(MenuItemBase, {
|
|
36
|
+
testId: testId,
|
|
37
|
+
ref: mergeRefs([ref, forwardedRef]),
|
|
38
|
+
visualContentRef: visualContentRef,
|
|
39
|
+
elemBefore: elemBefore,
|
|
40
|
+
elemAfter: /*#__PURE__*/React.createElement("div", {
|
|
41
|
+
className: ax([elemAfterStyles.root])
|
|
42
|
+
}, /*#__PURE__*/React.createElement(ChevronRightIcon, {
|
|
43
|
+
label: "",
|
|
44
|
+
color: "currentColor",
|
|
45
|
+
size: "small"
|
|
46
|
+
})),
|
|
47
|
+
onClick: onClick,
|
|
48
|
+
ariaControls: ariaControls,
|
|
49
|
+
ariaExpanded: ariaExpanded,
|
|
50
|
+
ariaHasPopup: ariaHasPopup,
|
|
51
|
+
interactionName: interactionName,
|
|
52
|
+
isContentTooltipDisabled: isContentTooltipDisabled,
|
|
53
|
+
isSelected: isSelected,
|
|
54
|
+
isDragging: isDragging,
|
|
55
|
+
hasDragIndicator: hasDragIndicator,
|
|
56
|
+
dropIndicator: dropIndicator
|
|
57
|
+
}, children)));
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React, { forwardRef, useEffect } from 'react';
|
|
2
|
+
import useControlled from '@atlaskit/ds-lib/use-controlled';
|
|
3
|
+
import usePreviousValue from '@atlaskit/ds-lib/use-previous-value';
|
|
4
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
|
+
import { Popup } from '@atlaskit/popup/experimental';
|
|
6
|
+
import { MenuListItem } from '../menu-list-item';
|
|
7
|
+
import { IsOpenContext, SetIsOpenContext } from './flyout-menu-item-context';
|
|
8
|
+
/**
|
|
9
|
+
* __FlyoutMenuItem__
|
|
10
|
+
*
|
|
11
|
+
* Displays content in a flyout menu, triggered by a button.
|
|
12
|
+
*
|
|
13
|
+
* The top-level component that contains the trigger and content of a flyout menu.
|
|
14
|
+
*
|
|
15
|
+
* Usage example:
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <FlyoutMenuItem>
|
|
18
|
+
* <FlyoutMenuItemTrigger>Trigger</FlyoutMenuItemTrigger>
|
|
19
|
+
* <FlyoutMenuItemContent>
|
|
20
|
+
* <MenuList>
|
|
21
|
+
* <ButtonMenuItem>Item 1</ButtonMenuItem>
|
|
22
|
+
* <ButtonMenuItem>Item 2</ButtonMenuItem>
|
|
23
|
+
* </MenuList>
|
|
24
|
+
* </FlyoutMenuItemContent>
|
|
25
|
+
* </FlyoutMenuItem>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export const FlyoutMenuItem = /*#__PURE__*/forwardRef(({
|
|
29
|
+
children,
|
|
30
|
+
id,
|
|
31
|
+
isOpen: isOpenControlled,
|
|
32
|
+
isDefaultOpen = false,
|
|
33
|
+
onOpenChange
|
|
34
|
+
}, forwardedRef) => {
|
|
35
|
+
const [isOpen, setIsOpen] = useControlled(isOpenControlled, () => isDefaultOpen);
|
|
36
|
+
const previousIsOpen = usePreviousValue(isOpen);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (previousIsOpen === undefined || previousIsOpen === isOpen) {
|
|
39
|
+
/**
|
|
40
|
+
* The previous value is `undefined` on initialization, so if it is `undefined` then the value hasn't changed.
|
|
41
|
+
*
|
|
42
|
+
* The previous value can be equal to the current one if the component re-renders due to something else changing.
|
|
43
|
+
*
|
|
44
|
+
* In both cases the value hasn't changed and we don't want to notify consumers.
|
|
45
|
+
*/
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpen);
|
|
49
|
+
}, [isOpen, onOpenChange, previousIsOpen]);
|
|
50
|
+
return /*#__PURE__*/React.createElement(IsOpenContext.Provider, {
|
|
51
|
+
value: isOpen
|
|
52
|
+
}, /*#__PURE__*/React.createElement(SetIsOpenContext.Provider, {
|
|
53
|
+
value: setIsOpen
|
|
54
|
+
}, /*#__PURE__*/React.createElement(MenuListItem, {
|
|
55
|
+
ref: forwardedRef
|
|
56
|
+
}, /*#__PURE__*/React.createElement(Popup, {
|
|
57
|
+
id: id,
|
|
58
|
+
isOpen: isOpen,
|
|
59
|
+
role: fg('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined
|
|
60
|
+
}, children))));
|
|
61
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._10m98stt{scroll-margin-inline:750pt}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/* link-menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./link-menu-item.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import { useMemo, useRef } from 'react';
|
|
6
|
+
import forwardRefWithGeneric from '@atlaskit/ds-lib/forward-ref-with-generic';
|
|
7
|
+
import mergeRefs from '@atlaskit/ds-lib/merge-refs';
|
|
8
|
+
import { ListItem } from './list-item';
|
|
9
|
+
import { MenuItemBase } from './menu-item';
|
|
10
|
+
import { useScrollMenuItemIntoView } from './use-scroll-menu-item-into-view';
|
|
11
|
+
const listItemStyles = {
|
|
12
|
+
root: "_10m98stt"
|
|
13
|
+
};
|
|
14
|
+
const LinkMenuItemNoRef = ({
|
|
15
|
+
testId,
|
|
16
|
+
actions,
|
|
17
|
+
children,
|
|
18
|
+
description,
|
|
19
|
+
elemAfter,
|
|
20
|
+
elemBefore,
|
|
21
|
+
href,
|
|
22
|
+
target,
|
|
23
|
+
actionsOnHover,
|
|
24
|
+
isSelected,
|
|
25
|
+
onClick,
|
|
26
|
+
interactionName,
|
|
27
|
+
isContentTooltipDisabled,
|
|
28
|
+
visualContentRef,
|
|
29
|
+
listItemRef,
|
|
30
|
+
isDragging,
|
|
31
|
+
hasDragIndicator,
|
|
32
|
+
dropIndicator
|
|
33
|
+
}, forwardedRef) => {
|
|
34
|
+
const itemRef = useRef(null);
|
|
35
|
+
useScrollMenuItemIntoView({
|
|
36
|
+
elementRef: itemRef,
|
|
37
|
+
isSelected: isSelected !== null && isSelected !== void 0 ? isSelected : false
|
|
38
|
+
});
|
|
39
|
+
const ref = useMemo(() => {
|
|
40
|
+
return mergeRefs([itemRef, listItemRef !== null && listItemRef !== void 0 ? listItemRef : null]);
|
|
41
|
+
}, [itemRef, listItemRef]);
|
|
42
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
43
|
+
ref: ref,
|
|
44
|
+
xcss: listItemStyles.root
|
|
45
|
+
}, /*#__PURE__*/React.createElement(MenuItemBase, {
|
|
46
|
+
testId: testId,
|
|
47
|
+
description: description,
|
|
48
|
+
actions: actions,
|
|
49
|
+
elemAfter: elemAfter
|
|
50
|
+
// TODO Always use "open in new window" icon when `openInNewWindow` prop is true
|
|
51
|
+
,
|
|
52
|
+
elemBefore: elemBefore,
|
|
53
|
+
href: href,
|
|
54
|
+
target: target,
|
|
55
|
+
actionsOnHover: actionsOnHover,
|
|
56
|
+
isSelected: isSelected,
|
|
57
|
+
onClick: onClick,
|
|
58
|
+
ref: forwardedRef,
|
|
59
|
+
visualContentRef: visualContentRef,
|
|
60
|
+
interactionName: interactionName,
|
|
61
|
+
isContentTooltipDisabled: isContentTooltipDisabled,
|
|
62
|
+
isDragging: isDragging,
|
|
63
|
+
hasDragIndicator: hasDragIndicator,
|
|
64
|
+
dropIndicator: dropIndicator
|
|
65
|
+
}, children));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* LinkMenuItem
|
|
70
|
+
*
|
|
71
|
+
* A menu item link. It should be used within a `ul`.
|
|
72
|
+
*/
|
|
73
|
+
export const LinkMenuItem = forwardRefWithGeneric(LinkMenuItemNoRef);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* list-item.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
function _ListItem({
|
|
6
|
+
children,
|
|
7
|
+
testId,
|
|
8
|
+
xcss
|
|
9
|
+
}, ref) {
|
|
10
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
role: "listitem",
|
|
12
|
+
ref: ref,
|
|
13
|
+
className: xcss,
|
|
14
|
+
"data-testid": testId
|
|
15
|
+
}, children);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* __List item__
|
|
20
|
+
*
|
|
21
|
+
* A [list item](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li) with visual styles removed.
|
|
22
|
+
*/
|
|
23
|
+
export const ListItem = /*#__PURE__*/forwardRef(_ListItem);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* list.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
function _List({
|
|
6
|
+
children,
|
|
7
|
+
testId,
|
|
8
|
+
xcss
|
|
9
|
+
}, forwardedRef) {
|
|
10
|
+
return (
|
|
11
|
+
/*#__PURE__*/
|
|
12
|
+
/**
|
|
13
|
+
* We are using `role="list"` instead of a `ul` element to enable more flexible
|
|
14
|
+
* composition. By using ARIA roles we can validly have elements between a list
|
|
15
|
+
* and list items, as long as those in-between elements have no semantics.
|
|
16
|
+
*/
|
|
17
|
+
React.createElement("div", {
|
|
18
|
+
role: "list",
|
|
19
|
+
ref: forwardedRef,
|
|
20
|
+
className: xcss,
|
|
21
|
+
"data-testid": testId
|
|
22
|
+
}, children)
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* __List__
|
|
28
|
+
*
|
|
29
|
+
* A an element with the role of `list` for semantically grouping list items.
|
|
30
|
+
*
|
|
31
|
+
* This is the internal primitive used by other external components in the navigation system.
|
|
32
|
+
*/
|
|
33
|
+
export const List = /*#__PURE__*/forwardRef(_List);
|