@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,81 @@
|
|
|
1
|
+
/* link-menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.LinkMenuItem = void 0;
|
|
10
|
+
require("./link-menu-item.compiled.css");
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var React = _react;
|
|
13
|
+
var _runtime = require("@compiled/react/runtime");
|
|
14
|
+
var _forwardRefWithGeneric = _interopRequireDefault(require("@atlaskit/ds-lib/forward-ref-with-generic"));
|
|
15
|
+
var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
|
|
16
|
+
var _listItem = require("./list-item");
|
|
17
|
+
var _menuItem = require("./menu-item");
|
|
18
|
+
var _useScrollMenuItemIntoView = require("./use-scroll-menu-item-into-view");
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
20
|
+
var listItemStyles = {
|
|
21
|
+
root: "_10m98stt"
|
|
22
|
+
};
|
|
23
|
+
var LinkMenuItemNoRef = function LinkMenuItemNoRef(_ref, forwardedRef) {
|
|
24
|
+
var testId = _ref.testId,
|
|
25
|
+
actions = _ref.actions,
|
|
26
|
+
children = _ref.children,
|
|
27
|
+
description = _ref.description,
|
|
28
|
+
elemAfter = _ref.elemAfter,
|
|
29
|
+
elemBefore = _ref.elemBefore,
|
|
30
|
+
href = _ref.href,
|
|
31
|
+
target = _ref.target,
|
|
32
|
+
actionsOnHover = _ref.actionsOnHover,
|
|
33
|
+
isSelected = _ref.isSelected,
|
|
34
|
+
onClick = _ref.onClick,
|
|
35
|
+
interactionName = _ref.interactionName,
|
|
36
|
+
isContentTooltipDisabled = _ref.isContentTooltipDisabled,
|
|
37
|
+
visualContentRef = _ref.visualContentRef,
|
|
38
|
+
listItemRef = _ref.listItemRef,
|
|
39
|
+
isDragging = _ref.isDragging,
|
|
40
|
+
hasDragIndicator = _ref.hasDragIndicator,
|
|
41
|
+
dropIndicator = _ref.dropIndicator;
|
|
42
|
+
var itemRef = (0, _react.useRef)(null);
|
|
43
|
+
(0, _useScrollMenuItemIntoView.useScrollMenuItemIntoView)({
|
|
44
|
+
elementRef: itemRef,
|
|
45
|
+
isSelected: isSelected !== null && isSelected !== void 0 ? isSelected : false
|
|
46
|
+
});
|
|
47
|
+
var ref = (0, _react.useMemo)(function () {
|
|
48
|
+
return (0, _mergeRefs.default)([itemRef, listItemRef !== null && listItemRef !== void 0 ? listItemRef : null]);
|
|
49
|
+
}, [itemRef, listItemRef]);
|
|
50
|
+
return /*#__PURE__*/React.createElement(_listItem.ListItem, {
|
|
51
|
+
ref: ref,
|
|
52
|
+
xcss: listItemStyles.root
|
|
53
|
+
}, /*#__PURE__*/React.createElement(_menuItem.MenuItemBase, {
|
|
54
|
+
testId: testId,
|
|
55
|
+
description: description,
|
|
56
|
+
actions: actions,
|
|
57
|
+
elemAfter: elemAfter
|
|
58
|
+
// TODO Always use "open in new window" icon when `openInNewWindow` prop is true
|
|
59
|
+
,
|
|
60
|
+
elemBefore: elemBefore,
|
|
61
|
+
href: href,
|
|
62
|
+
target: target,
|
|
63
|
+
actionsOnHover: actionsOnHover,
|
|
64
|
+
isSelected: isSelected,
|
|
65
|
+
onClick: onClick,
|
|
66
|
+
ref: forwardedRef,
|
|
67
|
+
visualContentRef: visualContentRef,
|
|
68
|
+
interactionName: interactionName,
|
|
69
|
+
isContentTooltipDisabled: isContentTooltipDisabled,
|
|
70
|
+
isDragging: isDragging,
|
|
71
|
+
hasDragIndicator: hasDragIndicator,
|
|
72
|
+
dropIndicator: dropIndicator
|
|
73
|
+
}, children));
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* LinkMenuItem
|
|
78
|
+
*
|
|
79
|
+
* A menu item link. It should be used within a `ul`.
|
|
80
|
+
*/
|
|
81
|
+
var LinkMenuItem = exports.LinkMenuItem = (0, _forwardRefWithGeneric.default)(LinkMenuItemNoRef);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* list-item.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ListItem = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var React = _react;
|
|
11
|
+
var _runtime = require("@compiled/react/runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function _ListItem(_ref, ref) {
|
|
14
|
+
var children = _ref.children,
|
|
15
|
+
testId = _ref.testId,
|
|
16
|
+
xcss = _ref.xcss;
|
|
17
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
18
|
+
role: "listitem",
|
|
19
|
+
ref: ref,
|
|
20
|
+
className: xcss,
|
|
21
|
+
"data-testid": testId
|
|
22
|
+
}, children);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* __List item__
|
|
27
|
+
*
|
|
28
|
+
* A [list item](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li) with visual styles removed.
|
|
29
|
+
*/
|
|
30
|
+
var ListItem = exports.ListItem = /*#__PURE__*/(0, _react.forwardRef)(_ListItem);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* list.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.List = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var React = _react;
|
|
11
|
+
var _runtime = require("@compiled/react/runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function _List(_ref, forwardedRef) {
|
|
14
|
+
var children = _ref.children,
|
|
15
|
+
testId = _ref.testId,
|
|
16
|
+
xcss = _ref.xcss;
|
|
17
|
+
return (
|
|
18
|
+
/*#__PURE__*/
|
|
19
|
+
/**
|
|
20
|
+
* We are using `role="list"` instead of a `ul` element to enable more flexible
|
|
21
|
+
* composition. By using ARIA roles we can validly have elements between a list
|
|
22
|
+
* and list items, as long as those in-between elements have no semantics.
|
|
23
|
+
*/
|
|
24
|
+
React.createElement("div", {
|
|
25
|
+
role: "list",
|
|
26
|
+
ref: forwardedRef,
|
|
27
|
+
className: xcss,
|
|
28
|
+
"data-testid": testId
|
|
29
|
+
}, children)
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* __List__
|
|
35
|
+
*
|
|
36
|
+
* A an element with the role of `list` for semantically grouping list items.
|
|
37
|
+
*
|
|
38
|
+
* This is the internal primitive used by other external components in the navigation system.
|
|
39
|
+
*/
|
|
40
|
+
var List = exports.List = /*#__PURE__*/(0, _react.forwardRef)(_List);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.COLLAPSE_ELEM_BEFORE = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* A symbol to collapse the `elemBefore` slot.
|
|
9
|
+
* This should be placed in the `elemBefore` prop of supported menu items.
|
|
10
|
+
*/
|
|
11
|
+
var COLLAPSE_ELEM_BEFORE = exports.COLLAPSE_ELEM_BEFORE = Symbol('collapse-elem-before');
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
|
|
2
|
+
._1r04ze3t{inset:var(--ds-space-0,0)}
|
|
3
|
+
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
4
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
5
|
+
._nd5l16dh{grid-area:elem-after}
|
|
6
|
+
._nd5l17zh{grid-area:elem-before}
|
|
7
|
+
._nd5l19l3{grid-area:interactive}
|
|
8
|
+
._nd5lbc26{grid-area:actions}
|
|
9
|
+
._zulp1b66{gap:var(--ds-space-050,4px)}
|
|
10
|
+
._zulpv77o{gap:var(--ds-space-025,2px)}
|
|
11
|
+
._1ii7kb7n{grid-row:1}
|
|
12
|
+
._yyhyjvu9{grid-column:1/-1}
|
|
13
|
+
._14iu13ro:active:not(:disabled){background-color:var(--ds-surface-pressed,#dddee1)}
|
|
14
|
+
._14iunozp:active:not(:disabled){background-color:var(--ds-background-selected-pressed,#8fb8f6)}
|
|
15
|
+
._152t1ssb{inset-block-start:50%}
|
|
16
|
+
._18m915vq{overflow-y:hidden}
|
|
17
|
+
._18ukglyw:not(:has(button,a)){pointer-events:none}
|
|
18
|
+
._1bah1h6o{justify-content:center}
|
|
19
|
+
._1bsb1tcg{width:24px}
|
|
20
|
+
._1bsbty16{width:var(--actions-on-hover-width)}
|
|
21
|
+
._1bsbyh40{width:2px}
|
|
22
|
+
._1cykglyw{--drag-handle-display:none}
|
|
23
|
+
._1djyglyw:has([aria-expanded=true][aria-haspopup=true]){--elem-after-display:none}
|
|
24
|
+
._1e02ze3t{inset-inline-start:var(--ds-space-0,0)}
|
|
25
|
+
._1e0c11p5{display:grid}
|
|
26
|
+
._1e0c13yo{display:var(--elem-after-display)}
|
|
27
|
+
._1e0c1txw{display:flex}
|
|
28
|
+
._1ifmglyw{-webkit-touch-callout:none}
|
|
29
|
+
._1lmcu4vt{grid-template-areas:"elem-before interactive elem-after actions"}
|
|
30
|
+
._1o9zidpf{flex-shrink:0}
|
|
31
|
+
._1q511b66{padding-block-start:var(--ds-space-050,4px)}
|
|
32
|
+
._1rbv1wug:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-width:auto}
|
|
33
|
+
._1reo15vq{overflow-x:hidden}
|
|
34
|
+
._1swv19i6:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-surface-hovered,#f0f1f2)}
|
|
35
|
+
._1swvufnl:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
36
|
+
._1ul91c9m{min-width:1ch}
|
|
37
|
+
._1ul9t9kd{min-width:72px}
|
|
38
|
+
._1yyu1j28{--notch-color:transparent}
|
|
39
|
+
._1yyujmqp{--notch-color:var(--ds-background-selected-bold,#1868db)}
|
|
40
|
+
._2lx21bp4{flex-direction:column}
|
|
41
|
+
._2z05hkll{grid-template-rows:1fr}
|
|
42
|
+
._2z05nbh3{grid-template-rows:subgrid}
|
|
43
|
+
._4cvr1h6o{align-items:center}
|
|
44
|
+
._4t3i1crf{height:9pt}
|
|
45
|
+
._4t3i1tcg{height:24px}
|
|
46
|
+
._4t3i1wto{height:3rem}
|
|
47
|
+
._4t3iviql{height:2rem}
|
|
48
|
+
._85i51b66{padding-block-end:var(--ds-space-050,4px)}
|
|
49
|
+
._91ju1txw{--elem-after-display:flex}
|
|
50
|
+
._91juglyw{--elem-after-display:none}
|
|
51
|
+
._ae4v1h6o{align-content:center}
|
|
52
|
+
._bfhk15s3{background-color:var(--ds-background-selected,#e9f2fe)}
|
|
53
|
+
._bfhk1j28{background-color:transparent}
|
|
54
|
+
._bfhk1o0g{background-color:var(--notch-color)}
|
|
55
|
+
._bfhkn7od{background-color:unset}
|
|
56
|
+
._bozg12x7{padding-inline-start:var(--ds-space-075,6px)}
|
|
57
|
+
._bozg1b66{padding-inline-start:var(--ds-space-050,4px)}
|
|
58
|
+
._db801b66{--actions-on-hover-padding:var(--ds-space-050,4px)}
|
|
59
|
+
._db80idpf{--actions-on-hover-padding:0}
|
|
60
|
+
._kqswh2mm{position:relative}
|
|
61
|
+
._kqswstnw{position:absolute}
|
|
62
|
+
._kwq51b66:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-padding:var(--ds-space-050,4px)}
|
|
63
|
+
._pmxp1wug{--actions-on-hover-width:auto}
|
|
64
|
+
._pmxpidpf{--actions-on-hover-width:0}
|
|
65
|
+
._qxq9kb7n:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-opacity:1}
|
|
66
|
+
._syaz1gmx{color:var(--ds-text-disabled,#080f214a)}
|
|
67
|
+
._syaz6x5g{color:var(--ds-text-selected,#1868db)}
|
|
68
|
+
._syazazsu{color:var(--ds-text-subtle,#505258)}
|
|
69
|
+
._t9ec1i34{transform:translateY(-50%)}
|
|
70
|
+
._tzy41ou4{opacity:.4}
|
|
71
|
+
._tzy4pnc3{opacity:var(--actions-on-hover-opacity)}
|
|
72
|
+
._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}
|
|
73
|
+
._uomdidpf{--actions-on-hover-opacity:0}
|
|
74
|
+
._uomdkb7n{--actions-on-hover-opacity:1}
|
|
75
|
+
._vchh1ntv{box-sizing:content-box}
|
|
76
|
+
._vchhusvi{box-sizing:border-box}
|
|
77
|
+
._y3gnv2br{text-align:start}
|
|
78
|
+
._y4ti1b66{padding-inline-end:var(--ds-space-050,4px)}
|
|
79
|
+
._y4tidria{padding-inline-end:var(--actions-on-hover-padding)}
|
|
80
|
+
._yv0e7dup{grid-template-columns:minmax(0,auto) 1fr minmax(0,auto) minmax(0,auto)}
|
|
81
|
+
._yv0enbh3{grid-template-columns:subgrid}
|
|
82
|
+
._12s918uv:focus-within{overflow-y:initial}
|
|
83
|
+
._1guo18uv:focus-within{overflow-x:initial}
|
|
84
|
+
._1mfcglyw:focus-within{--elem-after-display:none}
|
|
85
|
+
._91nl1wug:focus-within{--actions-on-hover-width:auto}
|
|
86
|
+
._iy5o1b66:focus-within{--actions-on-hover-padding:var(--ds-space-050,4px)}
|
|
87
|
+
._t7p8kb7n:focus-within{--actions-on-hover-opacity:1}._11om6b4r:hover{animation-name:k1xyysw3}
|
|
88
|
+
._1sjuglyw:hover{--elem-after-display:none}
|
|
89
|
+
._1uy01amc:hover{animation-delay:.8s}
|
|
90
|
+
._30l31gmx:hover{color:var(--ds-text-disabled,#080f214a)}
|
|
91
|
+
._30l36x5g:hover{color:var(--ds-text-selected,#1868db)}
|
|
92
|
+
._7psyru3m:hover{animation-duration:0s}
|
|
93
|
+
._bir2q7pw:hover{animation-fill-mode:forwards}
|
|
94
|
+
._g4kikb7n:hover{--actions-on-hover-opacity:1}
|
|
95
|
+
._irr319i6:hover{background-color:var(--ds-surface-hovered,#f0f1f2)}
|
|
96
|
+
._irr3n7od:hover{background-color:unset}
|
|
97
|
+
._irr3ufnl:hover{background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
98
|
+
._v4o21b66:hover{--actions-on-hover-padding:var(--ds-space-050,4px)}
|
|
99
|
+
._x0kw1txw:hover{--drag-handle-display:flex}
|
|
100
|
+
._ynyi1wug:hover{--actions-on-hover-width:auto}
|
|
101
|
+
@keyframes k1xyysw3{to{cursor:grab}}
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
/* menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.nestedOpenPopupCSSSelector = exports.MenuItemBase = void 0;
|
|
10
|
+
require("./menu-item.compiled.css");
|
|
11
|
+
var _runtime = require("@compiled/react/runtime");
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _react2 = require("@compiled/react");
|
|
16
|
+
var _avatar = require("@atlaskit/avatar");
|
|
17
|
+
var _forwardRefWithGeneric = _interopRequireDefault(require("@atlaskit/ds-lib/forward-ref-with-generic"));
|
|
18
|
+
var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
|
|
19
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
20
|
+
var _compiled = require("@atlaskit/primitives/compiled");
|
|
21
|
+
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
22
|
+
var _constants = require("./constants");
|
|
23
|
+
var _lazyDragHandle = require("./drag-handle/lazy-drag-handle");
|
|
24
|
+
var _expandableMenuItemContext = require("./expandable-menu-item/expandable-menu-item-context");
|
|
25
|
+
var _flyoutMenuItemContext = require("./flyout-menu-item/flyout-menu-item-context");
|
|
26
|
+
var _menuItemSignals = require("./menu-item-signals");
|
|
27
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
|
+
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; }
|
|
29
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
30
|
+
function isTextClamped(element) {
|
|
31
|
+
// Checking for vertical height rather than horizontal height.
|
|
32
|
+
// When text is "clamped", it's technically being clamped vertically! 🤯
|
|
33
|
+
return element.scrollHeight > element.clientHeight;
|
|
34
|
+
}
|
|
35
|
+
var defaultAvatarValues = {
|
|
36
|
+
size: 'small'
|
|
37
|
+
};
|
|
38
|
+
var elemAfterDisplayVar = '--elem-after-display';
|
|
39
|
+
var actionsOnHoverOpacityVar = '--actions-on-hover-opacity';
|
|
40
|
+
var actionsOnHoverWidthVar = '--actions-on-hover-width';
|
|
41
|
+
var actionsOnHoverPaddingInlineEndVar = '--actions-on-hover-padding';
|
|
42
|
+
var notchColorVar = '--notch-color';
|
|
43
|
+
|
|
44
|
+
// Note: this is also used in `drag-handle.tsx`
|
|
45
|
+
var dragHandleDisplayVar = '--drag-handle-display';
|
|
46
|
+
var dragCursorAnimation = null;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* ## 🤹 `position:relative`
|
|
50
|
+
*
|
|
51
|
+
* We need `position:relative` on an element that takes
|
|
52
|
+
* up the full size of the interactive element so we
|
|
53
|
+
* can correctly use `position:absolute` to place:
|
|
54
|
+
* 1. the notch for links
|
|
55
|
+
* 2. drop indicators for drag and drop
|
|
56
|
+
* 3. a child of button / anchor to stretch it out to
|
|
57
|
+
* increase it's pressable area.
|
|
58
|
+
*
|
|
59
|
+
* ⛔️ We cannot add `position:relative` _only_ on the
|
|
60
|
+
* button / anchor as that will cause sibling elements
|
|
61
|
+
* to be rendered under the button / anchor when setting
|
|
62
|
+
* a background color on the button / anchor.
|
|
63
|
+
*
|
|
64
|
+
* 📖 Note: `position:relative` elements are painted after
|
|
65
|
+
* elements with `position:static` (the default)
|
|
66
|
+
* https://drafts.csswg.org/css-position-4/#painting-order
|
|
67
|
+
*
|
|
68
|
+
* ⛔️ We cannot add `position:relative` to the container
|
|
69
|
+
* element, as then the `:focus` ring styles on the
|
|
70
|
+
* button / anchor can be cut off by the next sibling if it has
|
|
71
|
+
* has a background color set (eg when selected)
|
|
72
|
+
*
|
|
73
|
+
* ✅ Add `position:relative` to all first level descendants
|
|
74
|
+
* of the container element so that we don't impact DOM ordered
|
|
75
|
+
* paint ordering within the item and the button / anchor focus
|
|
76
|
+
* ring can still bleed over siblings
|
|
77
|
+
*
|
|
78
|
+
* 📖 We could use `> * { position: relative; }` on the container,
|
|
79
|
+
* but that would violate our styling standard.
|
|
80
|
+
*/
|
|
81
|
+
var topLevelSiblingStyles = {
|
|
82
|
+
root: "_kqswh2mm"
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* All slots on the menu item (eg `elemBefore`) are rendered as siblings
|
|
87
|
+
* of our main button / anchor element and they are visually placed on
|
|
88
|
+
* top of the main button / anchor.
|
|
89
|
+
*
|
|
90
|
+
* 📖 This is done so that we don't nest interactive elements in our markup.
|
|
91
|
+
*
|
|
92
|
+
* ✅ This is great when element in the slot is an interactive element
|
|
93
|
+
* as we don't want the main menu item button / anchor to be triggered
|
|
94
|
+
* when interacting with the element in the slot.
|
|
95
|
+
*
|
|
96
|
+
* ⛔️ When the element in the slot is static content (eg an `<Icon>`) it will
|
|
97
|
+
* prevent the main button / anchor (that is visually behind the element in
|
|
98
|
+
* the slot) from being clicked. The element in the slot is a sibling of our
|
|
99
|
+
* main button / anchor (not a child of it) so clicking on the element in the
|
|
100
|
+
* slot will not bubble up to the button / anchor.
|
|
101
|
+
*
|
|
102
|
+
* 🚀 We set `pointer-events:none` on a slot if it does not contain and interactive
|
|
103
|
+
* element so that static content in a slot does not prevent clicking on the main
|
|
104
|
+
* button / anchor.
|
|
105
|
+
*/
|
|
106
|
+
var onTopOfButtonOrAnchorStyles = {
|
|
107
|
+
root: "_18ukglyw"
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* This is being _internally_ exported so it can be used in other menu item wrapper components, like
|
|
112
|
+
* ExpandableMenuItemTrigger.
|
|
113
|
+
*
|
|
114
|
+
* This selector is used to apply hover styling on the menu item if it contains an open nested popup.
|
|
115
|
+
* It's looking for a popup trigger with `aria-hasexpanded` and `aria-haspopup` attributes. The
|
|
116
|
+
* reason for targeting the _trigger_ instead of the popup itself, is the popup might be rendered
|
|
117
|
+
* outside the menu item, e.g. if rendered in a portal.
|
|
118
|
+
*
|
|
119
|
+
* An alternative solution might involve wrapping it with a popup context and listening to the popup
|
|
120
|
+
* events through it (and applying the hover style when the popup is open). Exploring this has been
|
|
121
|
+
* captured in [BLU-3354](https://jplat.atlassian.net/browse/BLU-3354).
|
|
122
|
+
*/
|
|
123
|
+
var nestedOpenPopupCSSSelector = exports.nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup="true"])';
|
|
124
|
+
var containerStyles = {
|
|
125
|
+
root: "_2rko12b0 _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3iviql _4cvr1h6o _uiztglyw _syazazsu _1yyu1j28 _91ju1txw _uomdidpf _pmxpidpf _db80idpf _qxq9kb7n _1rbv1wug _kwq51b66 _1swv19i6 _irr319i6 _t7p8kb7n _g4kikb7n _91nl1wug _ynyi1wug _iy5o1b66 _v4o21b66",
|
|
126
|
+
rootT26Shape: "_2rko1qi0",
|
|
127
|
+
removeElemAfter: "_91juglyw",
|
|
128
|
+
showHoverActions: "_uomdkb7n _pmxp1wug _db801b66",
|
|
129
|
+
removeElemAfterOnHoverOrOpenNestedPopup: "_1djyglyw _1mfcglyw _1sjuglyw",
|
|
130
|
+
selected: "_bfhk15s3 _syaz6x5g _1yyujmqp _1swvufnl _30l36x5g _irr3ufnl",
|
|
131
|
+
disabled: "_syaz1gmx _bfhkn7od _irr3n7od _30l31gmx",
|
|
132
|
+
hasDescription: "_4t3i1wto",
|
|
133
|
+
dragging: "_tzy41ou4"
|
|
134
|
+
};
|
|
135
|
+
var buttonOrAnchorStyles = {
|
|
136
|
+
root: "_2rko12b0 _yyhyjvu9 _1ii7kb7n _1e0c11p5 _yv0enbh3 _2z05nbh3 _y4ti1b66 _bozg1b66 _1q511b66 _85i51b66 _bfhk1j28 _syazazsu _4cvr1h6o _y3gnv2br _14iu13ro",
|
|
137
|
+
rootT26Shape: "_2rko1qi0",
|
|
138
|
+
selected: "_syaz6x5g _14iunozp",
|
|
139
|
+
hasDragIndicator: "_1ifmglyw _1cykglyw _x0kw1txw _11om6b4r _7psyru3m _1uy01amc _bir2q7pw"
|
|
140
|
+
};
|
|
141
|
+
var extendButtonOrAnchorStyles = {
|
|
142
|
+
root: "_1r04ze3t _kqswstnw"
|
|
143
|
+
};
|
|
144
|
+
var notchStyles = {
|
|
145
|
+
root: "_kqswstnw _152t1ssb _1e02ze3t _1bsbyh40 _4t3i1crf _t9ec1i34 _bfhk1o0g"
|
|
146
|
+
};
|
|
147
|
+
var actionStyles = {
|
|
148
|
+
root: "_zulp1b66 _nd5lbc26 _1reo15vq _18m915vq _1e0c1txw _4cvr1h6o _y4ti1b66 _1guo18uv _12s918uv"
|
|
149
|
+
};
|
|
150
|
+
var actionsOnHoverStyles = {
|
|
151
|
+
root: "_nd5l16dh _zulp1b66 _1reo15vq _18m915vq _4cvr1h6o _1e0c1txw _tzy4pnc3 _1bsbty16 _y4tidria _1guo18uv _12s918uv"
|
|
152
|
+
};
|
|
153
|
+
var textStyles = {
|
|
154
|
+
root: "_zulpv77o _1reo15vq _18m915vq _y4ti1b66 _bozg1b66 _1e0c1txw _2lx21bp4 _1ul91c9m _1guo18uv _12s918uv",
|
|
155
|
+
noElemBeforeIndent: "_bozg12x7"
|
|
156
|
+
};
|
|
157
|
+
var elemBeforeStyles = {
|
|
158
|
+
root: "_nd5l17zh _1reo15vq _18m915vq _1e0c1txw _1o9zidpf _1bsb1tcg _4t3i1tcg _4cvr1h6o _1bah1h6o _bozg1b66 _vchh1ntv _1guo18uv _12s918uv"
|
|
159
|
+
};
|
|
160
|
+
var elemAfterStyles = {
|
|
161
|
+
root: "_nd5l16dh _1reo15vq _18m915vq _1e0c13yo _1o9zidpf _4t3i1tcg _4cvr1h6o _y4ti1b66 _1guo18uv _12s918uv"
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* We are using a wrapping element for our interactive content
|
|
166
|
+
* even though only the `Text` element is the only thing not using `position:absolute`
|
|
167
|
+
*
|
|
168
|
+
* Rationale:
|
|
169
|
+
* - Super clear that everything inside the interactive content should be in a specific slot in the grid
|
|
170
|
+
* - To work around a browser bug in Safari where it does not work well with `position:absolute`
|
|
171
|
+
* on a subgrid child.
|
|
172
|
+
* Safari bug: https://bugs.webkit.org/show_bug.cgi?id=292516
|
|
173
|
+
*/
|
|
174
|
+
var interactiveContentStyles = {
|
|
175
|
+
root: "_nd5l19l3 _1e0c1txw _2lx21bp4 _ae4v1h6o"
|
|
176
|
+
};
|
|
177
|
+
function getTextColor(_ref) {
|
|
178
|
+
var isDisabled = _ref.isDisabled,
|
|
179
|
+
isSelected = _ref.isSelected;
|
|
180
|
+
if (isDisabled) {
|
|
181
|
+
return 'color.text.disabled';
|
|
182
|
+
}
|
|
183
|
+
if (isSelected) {
|
|
184
|
+
return 'color.text.selected';
|
|
185
|
+
}
|
|
186
|
+
return 'color.text.subtle';
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Includes all props that are used by any menu item, as MenuItembase is the base component for all menu item components.
|
|
191
|
+
*
|
|
192
|
+
* We also include additional `aria` props to support the menu item being a trigger for the FlyoutMenuItem popup and for the
|
|
193
|
+
* expanded content for ExpandableMenuItem.
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* This is the internal version of the component, to be passed into `forwardRef`.
|
|
198
|
+
*
|
|
199
|
+
* It contains a type argument `<T>`, to specify the type of the interactive element (`button` or `a`).
|
|
200
|
+
* This can be inferred from the type of the `onClick` prop.
|
|
201
|
+
*/
|
|
202
|
+
var MenuItemBaseNoRef = function MenuItemBaseNoRef(_ref2, forwardedRef) {
|
|
203
|
+
var id = _ref2.id,
|
|
204
|
+
testId = _ref2.testId,
|
|
205
|
+
actions = _ref2.actions,
|
|
206
|
+
actionsOnHover = _ref2.actionsOnHover,
|
|
207
|
+
children = _ref2.children,
|
|
208
|
+
description = _ref2.description,
|
|
209
|
+
elemAfter = _ref2.elemAfter,
|
|
210
|
+
elemBefore = _ref2.elemBefore,
|
|
211
|
+
href = _ref2.href,
|
|
212
|
+
target = _ref2.target,
|
|
213
|
+
isDisabled = _ref2.isDisabled,
|
|
214
|
+
isSelected = _ref2.isSelected,
|
|
215
|
+
onClick = _ref2.onClick,
|
|
216
|
+
ariaControls = _ref2.ariaControls,
|
|
217
|
+
ariaExpanded = _ref2.ariaExpanded,
|
|
218
|
+
ariaHasPopup = _ref2.ariaHasPopup,
|
|
219
|
+
interactionName = _ref2.interactionName,
|
|
220
|
+
isContentTooltipDisabled = _ref2.isContentTooltipDisabled,
|
|
221
|
+
visualContentRef = _ref2.visualContentRef,
|
|
222
|
+
isDragging = _ref2.isDragging,
|
|
223
|
+
hasDragIndicator = _ref2.hasDragIndicator,
|
|
224
|
+
dropIndicator = _ref2.dropIndicator;
|
|
225
|
+
var level = (0, _expandableMenuItemContext.useLevel)();
|
|
226
|
+
var setFlyoutMenuOpen = (0, _flyoutMenuItemContext.useSetFlyoutMenuOpen)();
|
|
227
|
+
var isFlyoutMenuOpen = (0, _flyoutMenuItemContext.useFlyoutMenuOpen)();
|
|
228
|
+
var isLink = typeof href !== 'undefined';
|
|
229
|
+
var labelRef = (0, _react.useRef)(null);
|
|
230
|
+
var descriptionRef = (0, _react.useRef)(null);
|
|
231
|
+
var tooltipOnClick = (0, _react.useRef)(null);
|
|
232
|
+
var handleClick = (0, _react.useCallback)(function (event, analyticsEvent) {
|
|
233
|
+
var _tooltipOnClick$curre;
|
|
234
|
+
onClick === null || onClick === void 0 || onClick(event, analyticsEvent);
|
|
235
|
+
// Toggle flyout menu open state when inside a flyout context provider
|
|
236
|
+
setFlyoutMenuOpen(!isFlyoutMenuOpen);
|
|
237
|
+
(_tooltipOnClick$curre = tooltipOnClick.current) === null || _tooltipOnClick$curre === void 0 || _tooltipOnClick$curre.call(tooltipOnClick, event);
|
|
238
|
+
}, [onClick, setFlyoutMenuOpen, isFlyoutMenuOpen]);
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Show the tooltip if _either_ label or description is truncated
|
|
242
|
+
*/
|
|
243
|
+
var canTooltipAppear = (0, _react.useCallback)(function () {
|
|
244
|
+
if (isContentTooltipDisabled) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Show tooltip if _either_ label or description are clamped
|
|
249
|
+
|
|
250
|
+
var label = labelRef.current;
|
|
251
|
+
var description = descriptionRef.current;
|
|
252
|
+
if (label && isTextClamped(label)) {
|
|
253
|
+
return true;
|
|
254
|
+
}
|
|
255
|
+
return Boolean(description && isTextClamped(description));
|
|
256
|
+
}, [isContentTooltipDisabled]);
|
|
257
|
+
|
|
258
|
+
// By default provide the spacing for `elemBefore` to have good
|
|
259
|
+
// vertical alignment of labels and to give clear indentation between levels
|
|
260
|
+
// in the side navigation (even when items don't use elemBefore).
|
|
261
|
+
var showElemBefore = elemBefore !== _menuItemSignals.COLLAPSE_ELEM_BEFORE;
|
|
262
|
+
var interactiveElemContent = /*#__PURE__*/_react.default.createElement("div", {
|
|
263
|
+
className: (0, _runtime.ax)([interactiveContentStyles.root])
|
|
264
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
265
|
+
// This extends the clickable area of nested menu items to the width
|
|
266
|
+
// of the root level menu items, while being visually indented.
|
|
267
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values
|
|
268
|
+
style: {
|
|
269
|
+
insetInlineStart: "calc(-1 * ".concat(level, " * ").concat(_constants.expandableMenuItemIndentation, ")")
|
|
270
|
+
},
|
|
271
|
+
"aria-hidden": "true",
|
|
272
|
+
className: (0, _runtime.ax)([extendButtonOrAnchorStyles.root])
|
|
273
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
274
|
+
className: (0, _runtime.ax)([textStyles.root, !showElemBefore && textStyles.noElemBeforeIndent])
|
|
275
|
+
}, /*#__PURE__*/_react.default.createElement(_compiled.Text, {
|
|
276
|
+
weight: "medium",
|
|
277
|
+
maxLines: 1,
|
|
278
|
+
color: getTextColor({
|
|
279
|
+
isDisabled: isDisabled,
|
|
280
|
+
isSelected: isSelected
|
|
281
|
+
}),
|
|
282
|
+
ref: labelRef
|
|
283
|
+
}, children), description && /*#__PURE__*/_react.default.createElement(_compiled.Text, {
|
|
284
|
+
color: (0, _platformFeatureFlags.fg)('platform-dst-menu-item-description-selected') ? getTextColor({
|
|
285
|
+
isDisabled: isDisabled,
|
|
286
|
+
isSelected: isSelected
|
|
287
|
+
}) : isDisabled ? 'color.text.disabled' : 'color.text.subtle',
|
|
288
|
+
size: "small",
|
|
289
|
+
maxLines: 1,
|
|
290
|
+
ref: descriptionRef
|
|
291
|
+
}, description)), hasDragIndicator ? /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
292
|
+
fallback: null
|
|
293
|
+
}, /*#__PURE__*/_react.default.createElement(_lazyDragHandle.LazyDragHandle, null)) : null, dropIndicator);
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* If the [expandable] menu item is expanded, show hover actions even when *not* hovered.
|
|
297
|
+
*
|
|
298
|
+
* Note: we also remove the `elemAfter` when showing `actionsOnHover`
|
|
299
|
+
*/
|
|
300
|
+
var showHoverActionsWhenNotHovered = Boolean(ariaExpanded && actionsOnHover);
|
|
301
|
+
return /*#__PURE__*/_react.default.createElement(_avatar.AvatarContext.Provider, {
|
|
302
|
+
value: defaultAvatarValues
|
|
303
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
304
|
+
ref: visualContentRef,
|
|
305
|
+
"data-testid": testId ? "".concat(testId, "-container") : undefined,
|
|
306
|
+
"data-selected": isSelected,
|
|
307
|
+
className: (0, _runtime.ax)([containerStyles.root, (0, _platformFeatureFlags.fg)('platform-dst-shape-theme-default') && containerStyles.rootT26Shape, isSelected && containerStyles.selected, isDragging && containerStyles.dragging, description && containerStyles.hasDescription, showHoverActionsWhenNotHovered && containerStyles.showHoverActions, showHoverActionsWhenNotHovered && elemAfter && containerStyles.removeElemAfter, actionsOnHover && elemAfter && containerStyles.removeElemAfterOnHoverOrOpenNestedPopup, isDisabled && containerStyles.disabled])
|
|
308
|
+
}, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
309
|
+
content: function content() {
|
|
310
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, children), description ? /*#__PURE__*/_react.default.createElement("div", null, description) : null);
|
|
311
|
+
},
|
|
312
|
+
position: "right-start",
|
|
313
|
+
ignoreTooltipPointerEvents: true,
|
|
314
|
+
hideTooltipOnMouseDown: true
|
|
315
|
+
// We don't need a duplicate hidden element containing tooltip content
|
|
316
|
+
// as the content of the tooltip matches what is rendered for the menu item.
|
|
317
|
+
,
|
|
318
|
+
isScreenReaderAnnouncementDisabled: true,
|
|
319
|
+
canAppear: canTooltipAppear
|
|
320
|
+
}, function (tooltipProps) {
|
|
321
|
+
// Putting the tooltip onClick into a ref.
|
|
322
|
+
// This way we don't need to create a new `onClick` function on each
|
|
323
|
+
// render (as we would need to merge `tooltipProps.onClick` and our `handleClick`)
|
|
324
|
+
tooltipOnClick.current = tooltipProps.onClick;
|
|
325
|
+
var sharedProps = _objectSpread(_objectSpread({}, tooltipProps), {}, {
|
|
326
|
+
'aria-controls': ariaControls,
|
|
327
|
+
'aria-haspopup': ariaHasPopup,
|
|
328
|
+
ref: (0, _mergeRefs.default)([forwardedRef, tooltipProps.ref]),
|
|
329
|
+
id: id,
|
|
330
|
+
testId: testId,
|
|
331
|
+
interactionName: interactionName
|
|
332
|
+
});
|
|
333
|
+
return isLink ? /*#__PURE__*/_react.default.createElement(_compiled.Anchor, (0, _extends2.default)({}, sharedProps, {
|
|
334
|
+
onClick: handleClick,
|
|
335
|
+
xcss: (0, _react2.cx)(buttonOrAnchorStyles.root, (0, _platformFeatureFlags.fg)('platform-dst-shape-theme-default') && buttonOrAnchorStyles.rootT26Shape, topLevelSiblingStyles.root, isSelected && buttonOrAnchorStyles.selected, hasDragIndicator && buttonOrAnchorStyles.hasDragIndicator)
|
|
336
|
+
// Needed to override Anchor style due to a compiled/emotion conflict
|
|
337
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
338
|
+
,
|
|
339
|
+
style: {
|
|
340
|
+
textDecoration: 'none'
|
|
341
|
+
},
|
|
342
|
+
"aria-current": isSelected ? 'page' : undefined,
|
|
343
|
+
href: href,
|
|
344
|
+
target: target
|
|
345
|
+
/**
|
|
346
|
+
* For anchors we don't want to have the standard drag and drop behaviour.
|
|
347
|
+
*
|
|
348
|
+
* Thinking on the topic:
|
|
349
|
+
*
|
|
350
|
+
* - Anchors look visually similar to buttons in the sidenav
|
|
351
|
+
* - Why should some menu items be natively draggable, while others are not?
|
|
352
|
+
* - A user cannot know which menu items are "natively" draggable (ie anchors)
|
|
353
|
+
* - If you wire up an anchor to be draggable using our standard affordances
|
|
354
|
+
* it will have a different preview experience to native anchor dragging.
|
|
355
|
+
*
|
|
356
|
+
* To promote consistency, all elements need to use the same visual affordances.
|
|
357
|
+
*
|
|
358
|
+
* Anchor elements will automatically attach URL information
|
|
359
|
+
* to the native data store.
|
|
360
|
+
*
|
|
361
|
+
* When `hasDragIndicator` is `true` we are expecting consumers to register
|
|
362
|
+
* the element as draggable through the `draggable()` Pragmatic drag and drop function.
|
|
363
|
+
* The `draggable()` function will add `draggable="true"` to the element.
|
|
364
|
+
*/,
|
|
365
|
+
draggable: hasDragIndicator ? undefined : false
|
|
366
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
367
|
+
"aria-hidden": "true",
|
|
368
|
+
className: (0, _runtime.ax)([notchStyles.root])
|
|
369
|
+
}), interactiveElemContent) : /*#__PURE__*/_react.default.createElement(_compiled.Pressable, (0, _extends2.default)({}, sharedProps, {
|
|
370
|
+
onClick: handleClick,
|
|
371
|
+
xcss: (0, _react2.cx)(buttonOrAnchorStyles.root, (0, _platformFeatureFlags.fg)('platform-dst-shape-theme-default') && buttonOrAnchorStyles.rootT26Shape, topLevelSiblingStyles.root, isSelected && buttonOrAnchorStyles.selected, hasDragIndicator && buttonOrAnchorStyles.hasDragIndicator),
|
|
372
|
+
"aria-expanded": ariaExpanded,
|
|
373
|
+
isDisabled: isDisabled
|
|
374
|
+
}), interactiveElemContent);
|
|
375
|
+
}), showElemBefore && /*#__PURE__*/_react.default.createElement("div", {
|
|
376
|
+
className: (0, _runtime.ax)([elemBeforeStyles.root, topLevelSiblingStyles.root, onTopOfButtonOrAnchorStyles.root])
|
|
377
|
+
}, elemBefore), actionsOnHover && /*#__PURE__*/_react.default.createElement("div", {
|
|
378
|
+
className: (0, _runtime.ax)([actionsOnHoverStyles.root])
|
|
379
|
+
}, actionsOnHover), elemAfter && /*#__PURE__*/_react.default.createElement("div", {
|
|
380
|
+
className: (0, _runtime.ax)([elemAfterStyles.root, topLevelSiblingStyles.root, onTopOfButtonOrAnchorStyles.root])
|
|
381
|
+
}, elemAfter), actions && /*#__PURE__*/_react.default.createElement("div", {
|
|
382
|
+
className: (0, _runtime.ax)([actionStyles.root, topLevelSiblingStyles.root, onTopOfButtonOrAnchorStyles.root])
|
|
383
|
+
}, actions)));
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* __MenuItemBase__
|
|
388
|
+
*
|
|
389
|
+
* The base menu item component used to compose ButtonMenuItem and LinkMenuItem.
|
|
390
|
+
*
|
|
391
|
+
* It contains a type argument `<T>`, to specify the type of the interactive element (`button` or `a`).
|
|
392
|
+
* This can be inferred from the type of the `onClick` prop.
|
|
393
|
+
*/
|
|
394
|
+
var MenuItemBase = exports.MenuItemBase = (0, _forwardRefWithGeneric.default)(MenuItemBaseNoRef);
|