@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,23 @@
|
|
|
1
|
+
/* menu-section-heading.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./menu-section-heading.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import { useMenuSectionContext } from './menu-section-context';
|
|
6
|
+
const styles = {
|
|
7
|
+
root: "_11c8i4vh _1rjcu2gc _syaz1rpy _bozg12x7"
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* __MenuSectionHeading__
|
|
12
|
+
*
|
|
13
|
+
* The label for the menu section group.
|
|
14
|
+
*/
|
|
15
|
+
export const MenuSectionHeading = ({
|
|
16
|
+
children
|
|
17
|
+
}) => {
|
|
18
|
+
const id = useMenuSectionContext();
|
|
19
|
+
return /*#__PURE__*/React.createElement("p", {
|
|
20
|
+
id: `${id}-heading`,
|
|
21
|
+
className: ax([styles.root])
|
|
22
|
+
}, children);
|
|
23
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useId } from '@atlaskit/ds-lib/use-id';
|
|
3
|
+
import { MenuListItem } from '../menu-item/menu-list-item';
|
|
4
|
+
import { MenuSectionContext } from './menu-section-context';
|
|
5
|
+
/**
|
|
6
|
+
* __MenuSection__
|
|
7
|
+
*
|
|
8
|
+
* A composable component for grouping menu items, along with a heading (`MenuSectionHeading`) and a divider (`Divider`).
|
|
9
|
+
*
|
|
10
|
+
* Usage example:
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <MenuSection>
|
|
13
|
+
* <MenuSectionHeading>Section heading</MenuSectionHeading>
|
|
14
|
+
* <MenuList>
|
|
15
|
+
* <MenuItem>Item 1</MenuItem>
|
|
16
|
+
* <MenuItem>Item 2</MenuItem>
|
|
17
|
+
* </MenuList>
|
|
18
|
+
* <Divider />
|
|
19
|
+
* </MenuSection>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export const MenuSection = ({
|
|
23
|
+
children,
|
|
24
|
+
testId,
|
|
25
|
+
isMenuListItem = false
|
|
26
|
+
}) => {
|
|
27
|
+
const id = useId();
|
|
28
|
+
const content = /*#__PURE__*/React.createElement(MenuSectionContext.Provider, {
|
|
29
|
+
value: id
|
|
30
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
role: "group",
|
|
32
|
+
"aria-labelledby": `${id}-heading`
|
|
33
|
+
}, children));
|
|
34
|
+
if (isMenuListItem) {
|
|
35
|
+
return /*#__PURE__*/React.createElement(MenuListItem, {
|
|
36
|
+
testId: testId
|
|
37
|
+
}, content);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Legacy. isMenuListItem should become default.
|
|
41
|
+
return content;
|
|
42
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ContainerAvatar } from '../ui/menu-item/container-avatar';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { LazyDragHandle } from '../../ui/menu-item/drag-handle/lazy-drag-handle';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DragPreview } from '../../ui/menu-item/drag-and-drop/drag-preview';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DropIndicator } from '../../ui/menu-item/drag-and-drop/drop-indicator';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { GroupDropIndicator } from '../../ui/menu-item/drag-and-drop/group-drop-indicator';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { attachInstruction, extractInstruction } from '../../ui/menu-item/drag-and-drop/hitbox';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useMenuItemDragAndDrop } from '../../ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ExpandableMenuItem } from '../ui/menu-item/expandable-menu-item/expandable-menu-item';
|
|
2
|
+
export { ExpandableMenuItemTrigger } from '../ui/menu-item/expandable-menu-item/expandable-menu-item-trigger';
|
|
3
|
+
export { ExpandableMenuItemContent } from '../ui/menu-item/expandable-menu-item/expandable-menu-item-content';
|
|
4
|
+
export { useIsExpanded } from '../ui/menu-item/expandable-menu-item/expandable-menu-item-context';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { FlyoutMenuItem } from '../ui/menu-item/flyout-menu-item/flyout-menu-item';
|
|
2
|
+
export { FlyoutBody } from '../ui/menu-item/flyout-menu-item/flyout-body';
|
|
3
|
+
export { FlyoutMenuItemContent } from '../ui/menu-item/flyout-menu-item/flyout-menu-item-content';
|
|
4
|
+
export { FlyoutFooter } from '../ui/menu-item/flyout-menu-item/flyout-footer';
|
|
5
|
+
export { FlyoutHeader } from '../ui/menu-item/flyout-menu-item/flyout-header';
|
|
6
|
+
export { COLLAPSE_ELEM_BEFORE } from '../ui/menu-item/menu-item-signals';
|
|
7
|
+
export { FlyoutMenuItemTrigger } from '../ui/menu-item/flyout-menu-item/flyout-menu-item-trigger';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MenuListItem } from '../ui/menu-item/menu-list-item';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MenuList } from '../ui/menu-item/menu-list';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TopLevelSpacer } from '../ui/menu-item/top-level-spacer';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
|
+
import { MenuItemBase } from './menu-item';
|
|
4
|
+
import { MenuListItem } from './menu-list-item';
|
|
5
|
+
/**
|
|
6
|
+
* __ButtonMenuItem__
|
|
7
|
+
*
|
|
8
|
+
* A menu item button. It should be used within a `ul`, as it renders a list item.
|
|
9
|
+
*/
|
|
10
|
+
export var ButtonMenuItem = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
|
|
11
|
+
var testId = _ref.testId,
|
|
12
|
+
actions = _ref.actions,
|
|
13
|
+
children = _ref.children,
|
|
14
|
+
description = _ref.description,
|
|
15
|
+
elemAfter = _ref.elemAfter,
|
|
16
|
+
isDisabled = _ref.isDisabled,
|
|
17
|
+
isSelected = _ref.isSelected,
|
|
18
|
+
elemBefore = _ref.elemBefore,
|
|
19
|
+
actionsOnHover = _ref.actionsOnHover,
|
|
20
|
+
onClick = _ref.onClick,
|
|
21
|
+
ariaControls = _ref['aria-controls'],
|
|
22
|
+
ariaExpanded = _ref['aria-expanded'],
|
|
23
|
+
ariaHasPopup = _ref['aria-haspopup'],
|
|
24
|
+
interactionName = _ref.interactionName,
|
|
25
|
+
isContentTooltipDisabled = _ref.isContentTooltipDisabled,
|
|
26
|
+
visualContentRef = _ref.visualContentRef,
|
|
27
|
+
listItemRef = _ref.listItemRef,
|
|
28
|
+
isDragging = _ref.isDragging,
|
|
29
|
+
hasDragIndicator = _ref.hasDragIndicator,
|
|
30
|
+
dropIndicator = _ref.dropIndicator;
|
|
31
|
+
return /*#__PURE__*/React.createElement(MenuListItem, {
|
|
32
|
+
ref: listItemRef
|
|
33
|
+
}, /*#__PURE__*/React.createElement(MenuItemBase, {
|
|
34
|
+
testId: testId,
|
|
35
|
+
description: description,
|
|
36
|
+
elemAfter: elemAfter,
|
|
37
|
+
elemBefore: elemBefore,
|
|
38
|
+
isDisabled: isDisabled
|
|
39
|
+
/**
|
|
40
|
+
* Not passing `actions` and `actionsOnHover` to MenuItemBase when `isDisabled`,
|
|
41
|
+
* so they aren't rendered in the disabled state.
|
|
42
|
+
*/,
|
|
43
|
+
actions: isDisabled ? undefined : actions,
|
|
44
|
+
actionsOnHover: isDisabled ? undefined : actionsOnHover,
|
|
45
|
+
onClick: onClick,
|
|
46
|
+
ariaControls: fg('platform-dst-buttonmenuitem-selected-state-support') ? ariaControls : undefined,
|
|
47
|
+
ariaExpanded: fg('platform-dst-buttonmenuitem-selected-state-support') ? ariaExpanded : undefined,
|
|
48
|
+
ariaHasPopup: fg('platform-dst-buttonmenuitem-selected-state-support') ? ariaHasPopup : undefined,
|
|
49
|
+
isSelected: fg('platform-dst-buttonmenuitem-selected-state-support') ? isSelected : undefined,
|
|
50
|
+
ref: forwardedRef,
|
|
51
|
+
visualContentRef: visualContentRef,
|
|
52
|
+
interactionName: interactionName,
|
|
53
|
+
isContentTooltipDisabled: isContentTooltipDisabled,
|
|
54
|
+
isDragging: isDragging,
|
|
55
|
+
hasDragIndicator: hasDragIndicator,
|
|
56
|
+
dropIndicator: dropIndicator
|
|
57
|
+
}, children));
|
|
58
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* _Internally_ shared value for the menu item indentation. Used in:
|
|
3
|
+
* - Expandable menu item content, to add padding for each expandable level
|
|
4
|
+
* - The base menu item, to set the negative inset to extend the clickable area of nested menu items
|
|
5
|
+
* to the root level menu items.
|
|
6
|
+
*
|
|
7
|
+
* Internal to the package only. Should not be exported from the package.
|
|
8
|
+
*
|
|
9
|
+
* Note: We're unable to use a token() call here, as Compiled complains about function calls in imported
|
|
10
|
+
* values - it requires statically defined values only.
|
|
11
|
+
*
|
|
12
|
+
* @private
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export var expandableMenuItemIndentation = '12px';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* container-avatar.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./container-avatar.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
var styles = {
|
|
6
|
+
root: "_2rko12b0 _vchhusvi _4t3igktf _1bsbgktf"
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* __Container avatar__
|
|
10
|
+
*
|
|
11
|
+
* This component has been introduced specifically for the Nav4 sidebar because the existing Avatar component
|
|
12
|
+
* did not offer the correct sizes to align with the designs. It was necessary to create a new component rather than
|
|
13
|
+
* using the ADS image component because that did not allow the ability to set the border and radius and the desired
|
|
14
|
+
* presentation was not achievable through nesting within another styled component. At some point this component maybe
|
|
15
|
+
* removed if the Avatar component is updated to allow for the desired presentation.
|
|
16
|
+
*
|
|
17
|
+
* A container avatar to be used in sidebar navigation items.
|
|
18
|
+
*/
|
|
19
|
+
export var ContainerAvatar = function ContainerAvatar(_ref) {
|
|
20
|
+
var src = _ref.src;
|
|
21
|
+
return /*#__PURE__*/React.createElement("img", {
|
|
22
|
+
src: src,
|
|
23
|
+
alt: "",
|
|
24
|
+
className: ax([styles.root])
|
|
25
|
+
});
|
|
26
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
._2rko12b0{border-radius:var(--ds-radius-small,4px)}
|
|
3
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
4
|
+
._1dqonqa1{border-style:solid}
|
|
5
|
+
._1h6d1l7x{border-color:var(--ds-border,#0b120e24)}
|
|
6
|
+
._1ul9uuw1{min-width:200px}
|
|
7
|
+
._bfhkvuon{background-color:var(--ds-surface,#fff)}
|
|
8
|
+
._p12fgx0z{max-width:260px}
|
|
9
|
+
._y4ti1b66{padding-inline-end:var(--ds-space-050,4px)}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/* drag-preview.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./drag-preview.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
|
+
import { ExpandableMenuItemLevelContext } from '../expandable-menu-item/expandable-menu-item-level-context';
|
|
7
|
+
import { MenuItemBase } from '../menu-item';
|
|
8
|
+
import { COLLAPSE_ELEM_BEFORE } from '../menu-item-signals';
|
|
9
|
+
|
|
10
|
+
// Using JavaScript for detecting Safari, as I could not find a reliable way to do it with CSS.
|
|
11
|
+
function isSafari() {
|
|
12
|
+
if (process.env.NODE_ENV === 'test') {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (typeof window === 'undefined') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
var _navigator = navigator,
|
|
19
|
+
userAgent = _navigator.userAgent;
|
|
20
|
+
return userAgent.includes('AppleWebKit') && !userAgent.includes('Chrome');
|
|
21
|
+
}
|
|
22
|
+
var dragPreviewStyles = {
|
|
23
|
+
root: "_2rko12b0 _189ee4h9 _1h6d1l7x _1dqonqa1 _bfhkvuon _y4ti1b66 _p12fgx0z",
|
|
24
|
+
rootT26Shape: "_2rko1qi0",
|
|
25
|
+
safariFix: "_1ul9uuw1"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* A drag preview for sidebar menu items.
|
|
30
|
+
*
|
|
31
|
+
* The limited API corresponds with the limited amount of information we
|
|
32
|
+
* want to show in drag previews.
|
|
33
|
+
*
|
|
34
|
+
* If no `elemBefore` is provided, then the `elemBefore` will automatically collapse.
|
|
35
|
+
* There is no need to pass in `COLLAPSE_ELEM_BEFORE`. We do this as there is no
|
|
36
|
+
* need to maintain vertical side navigation vertical alignment in the drag preview.
|
|
37
|
+
*
|
|
38
|
+
* Please ensure the drag preview is pushed away from the users pointer
|
|
39
|
+
* (with `pointerOutsideOfPreview()` from Pragmatic drag and drop) by our
|
|
40
|
+
* standard amount (`{x: token('space.200'), y: token('space.100')`)
|
|
41
|
+
*/
|
|
42
|
+
export function DragPreview(_ref) {
|
|
43
|
+
var elemBefore = _ref.elemBefore,
|
|
44
|
+
children = _ref.children;
|
|
45
|
+
return (
|
|
46
|
+
/*#__PURE__*/
|
|
47
|
+
// Resetting the expandable menu items to 0.
|
|
48
|
+
// This is to prevent our hidden element from pushing
|
|
49
|
+
// the drag preview further away from the users pointer
|
|
50
|
+
React.createElement(ExpandableMenuItemLevelContext.Provider, {
|
|
51
|
+
value: 0
|
|
52
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
53
|
+
className: ax([dragPreviewStyles.root, fg('platform-dst-shape-theme-default') && dragPreviewStyles.rootT26Shape, isSafari() && dragPreviewStyles.safariFix])
|
|
54
|
+
}, /*#__PURE__*/React.createElement(MenuItemBase, {
|
|
55
|
+
elemBefore: elemBefore !== null && elemBefore !== void 0 ? elemBefore : COLLAPSE_ELEM_BEFORE
|
|
56
|
+
}, children)))
|
|
57
|
+
);
|
|
58
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* These outputs where originally created within nav4, but have since moved out into
|
|
3
|
+
* pragmatic drag and drop itself for broader usage. Now this file simply re-exports
|
|
4
|
+
* the pdnd outputs
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/list-item';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* These outputs where originally created within nav4, but have since moved out into
|
|
3
|
+
* pragmatic drag and drop itself for broader usage. Now this file simply re-exports
|
|
4
|
+
* the pdnd outputs
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { GroupDropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/group';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* These outputs where originally created within nav4, but have since moved out into
|
|
3
|
+
* pragmatic drag and drop itself for broader usage. Now this file simply re-exports
|
|
4
|
+
* the pdnd outputs
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { attachInstruction, extractInstruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/list-item';
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/* use-menu-item-drag-and-drop.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
6
|
+
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; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
9
|
+
import { createPortal } from 'react-dom';
|
|
10
|
+
import invariant from 'tiny-invariant';
|
|
11
|
+
import { draggable, dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
12
|
+
import { pointerOutsideOfPreview } from '@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview';
|
|
13
|
+
import { setCustomNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview';
|
|
14
|
+
import { DragPreview } from './drag-preview';
|
|
15
|
+
import { DropIndicator } from './drop-indicator';
|
|
16
|
+
import { attachInstruction, extractInstruction } from './hitbox';
|
|
17
|
+
var idle = {
|
|
18
|
+
type: 'idle'
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A convenience helper for setting up drag and drop for menu items
|
|
22
|
+
*
|
|
23
|
+
* - Don't include the `draggable` property if you don't want the menu item to be a draggable
|
|
24
|
+
* - Don't include the `dropTarget` property if you don't want the menu item to be a drop target
|
|
25
|
+
*/
|
|
26
|
+
export function useMenuItemDragAndDrop(_ref) {
|
|
27
|
+
var draggableArgs = _ref.draggable,
|
|
28
|
+
dropTargetArgs = _ref.dropTarget;
|
|
29
|
+
var draggableAnchorRef = useRef(null);
|
|
30
|
+
var draggableButtonRef = useRef(null);
|
|
31
|
+
var dropTargetRef = useRef(null);
|
|
32
|
+
var _useState = useState(idle),
|
|
33
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
34
|
+
internalState = _useState2[0],
|
|
35
|
+
setInternalState = _useState2[1];
|
|
36
|
+
var getDraggableElement = useCallback(function () {
|
|
37
|
+
var _ref2, _draggableAnchorRef$c;
|
|
38
|
+
return (_ref2 = (_draggableAnchorRef$c = draggableAnchorRef.current) !== null && _draggableAnchorRef$c !== void 0 ? _draggableAnchorRef$c : draggableButtonRef.current) !== null && _ref2 !== void 0 ? _ref2 : null;
|
|
39
|
+
}, []);
|
|
40
|
+
|
|
41
|
+
// Set up draggable
|
|
42
|
+
useEffect(function () {
|
|
43
|
+
// Don't set up a draggable if there are no draggable args
|
|
44
|
+
if (!draggableArgs) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
var element = getDraggableElement();
|
|
48
|
+
invariant(element, "draggableAnchorRef or draggableButtonRef not set");
|
|
49
|
+
return draggable({
|
|
50
|
+
element: element,
|
|
51
|
+
getInitialData: draggableArgs.getInitialData,
|
|
52
|
+
canDrag: draggableArgs.canDrag,
|
|
53
|
+
onGenerateDragPreview: function onGenerateDragPreview(_ref3) {
|
|
54
|
+
var nativeSetDragImage = _ref3.nativeSetDragImage,
|
|
55
|
+
source = _ref3.source,
|
|
56
|
+
location = _ref3.location;
|
|
57
|
+
setCustomNativeDragPreview({
|
|
58
|
+
nativeSetDragImage: nativeSetDragImage,
|
|
59
|
+
getOffset: pointerOutsideOfPreview({
|
|
60
|
+
x: "var(--ds-space-200, 16px)",
|
|
61
|
+
y: "var(--ds-space-100, 8px)"
|
|
62
|
+
}),
|
|
63
|
+
render: function render(_ref4) {
|
|
64
|
+
var container = _ref4.container;
|
|
65
|
+
var args = {
|
|
66
|
+
dragHandle: source.dragHandle,
|
|
67
|
+
element: source.element,
|
|
68
|
+
input: location.current.input
|
|
69
|
+
};
|
|
70
|
+
setInternalState({
|
|
71
|
+
type: 'preview',
|
|
72
|
+
container: container,
|
|
73
|
+
ui: draggableArgs.getDragPreviewPieces(args)
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
onDragStart: function onDragStart() {
|
|
79
|
+
setInternalState({
|
|
80
|
+
type: 'dragging'
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
onDrop: function onDrop() {
|
|
84
|
+
setInternalState(idle);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}, [draggableArgs, getDraggableElement]);
|
|
88
|
+
|
|
89
|
+
// Set up drop target
|
|
90
|
+
useEffect(function () {
|
|
91
|
+
if (!dropTargetArgs) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Don't need to provide a draggable element to have a drop target.
|
|
96
|
+
// Using this element in our `canDrop` check
|
|
97
|
+
var draggableElement = getDraggableElement();
|
|
98
|
+
var dropTarget = dropTargetRef.current;
|
|
99
|
+
invariant(dropTarget, "dropTargetRef was not set");
|
|
100
|
+
return dropTargetForElements({
|
|
101
|
+
element: dropTarget,
|
|
102
|
+
// cannot drop on self
|
|
103
|
+
canDrop: function canDrop(args) {
|
|
104
|
+
// cannot drop on self
|
|
105
|
+
if (args.source.element === draggableElement) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (dropTargetArgs.canDrop) {
|
|
109
|
+
return dropTargetArgs.canDrop(args);
|
|
110
|
+
}
|
|
111
|
+
return true;
|
|
112
|
+
},
|
|
113
|
+
// menu items are always sticky, and the GroupDropIndicator should clear stickiness
|
|
114
|
+
getIsSticky: function getIsSticky() {
|
|
115
|
+
return true;
|
|
116
|
+
},
|
|
117
|
+
getData: function getData(args) {
|
|
118
|
+
var _dropTargetArgs$getDa, _dropTargetArgs$getDa2;
|
|
119
|
+
var data = (_dropTargetArgs$getDa = (_dropTargetArgs$getDa2 = dropTargetArgs.getData) === null || _dropTargetArgs$getDa2 === void 0 ? void 0 : _dropTargetArgs$getDa2.call(dropTargetArgs, args)) !== null && _dropTargetArgs$getDa !== void 0 ? _dropTargetArgs$getDa : {};
|
|
120
|
+
var operations = dropTargetArgs.getOperations(args);
|
|
121
|
+
return attachInstruction(data, {
|
|
122
|
+
input: args.input,
|
|
123
|
+
element: args.element,
|
|
124
|
+
operations: operations
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
onDragStart: function onDragStart(_ref5) {
|
|
128
|
+
var self = _ref5.self;
|
|
129
|
+
var instruction = extractInstruction(self.data);
|
|
130
|
+
setInternalState({
|
|
131
|
+
type: 'is-over',
|
|
132
|
+
instruction: instruction
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
onDrag: function onDrag(_ref6) {
|
|
136
|
+
var self = _ref6.self;
|
|
137
|
+
var instruction = extractInstruction(self.data);
|
|
138
|
+
setInternalState(function (current) {
|
|
139
|
+
var _current$instruction, _current$instruction2;
|
|
140
|
+
if (current.type === 'is-over' && (instruction === null || instruction === void 0 ? void 0 : instruction.operation) === ((_current$instruction = current.instruction) === null || _current$instruction === void 0 ? void 0 : _current$instruction.operation) && (instruction === null || instruction === void 0 ? void 0 : instruction.blocked) === ((_current$instruction2 = current.instruction) === null || _current$instruction2 === void 0 ? void 0 : _current$instruction2.blocked)) {
|
|
141
|
+
return current;
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
type: 'is-over',
|
|
145
|
+
instruction: instruction
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
},
|
|
149
|
+
onDragLeave: function onDragLeave() {
|
|
150
|
+
setInternalState(idle);
|
|
151
|
+
},
|
|
152
|
+
onDrop: function onDrop() {
|
|
153
|
+
setInternalState(idle);
|
|
154
|
+
},
|
|
155
|
+
onDragEnter: function onDragEnter(_ref7) {
|
|
156
|
+
var self = _ref7.self;
|
|
157
|
+
var instruction = extractInstruction(self.data);
|
|
158
|
+
setInternalState({
|
|
159
|
+
type: 'is-over',
|
|
160
|
+
instruction: instruction
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}, [dropTargetArgs, getDraggableElement]);
|
|
165
|
+
var dragPreview = function () {
|
|
166
|
+
if (internalState.type !== 'preview') {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(DragPreview, {
|
|
170
|
+
elemBefore: internalState.ui.elemBefore
|
|
171
|
+
}, internalState.ui.content), internalState.container);
|
|
172
|
+
}();
|
|
173
|
+
var dropIndicator = internalState.type === 'is-over' && internalState.instruction && /*#__PURE__*/React.createElement(DropIndicator, {
|
|
174
|
+
instruction: internalState.instruction
|
|
175
|
+
});
|
|
176
|
+
var state = useMemo(function () {
|
|
177
|
+
if (internalState.type === 'preview') {
|
|
178
|
+
return {
|
|
179
|
+
type: 'preview'
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
// returning a new object to avoid modification of our `internalState` object
|
|
183
|
+
return _objectSpread({}, internalState);
|
|
184
|
+
}, [internalState]);
|
|
185
|
+
return {
|
|
186
|
+
state: state,
|
|
187
|
+
draggableButtonRef: draggableButtonRef,
|
|
188
|
+
dropTargetRef: dropTargetRef,
|
|
189
|
+
draggableAnchorRef: draggableAnchorRef,
|
|
190
|
+
dragPreview: dragPreview,
|
|
191
|
+
dropIndicator: dropIndicator
|
|
192
|
+
};
|
|
193
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
._152tidpf{inset-block-start:0}
|
|
2
|
+
._1bah1h6o{justify-content:center}
|
|
3
|
+
._1e02idpf{inset-inline-start:0}
|
|
4
|
+
._1e0c1i3c{display:var(--drag-handle-display,none)}
|
|
5
|
+
._2lx21bp4{flex-direction:column}
|
|
6
|
+
._ahbqxmi2{margin-inline-start:var(--ds-space-negative-150,-9pt)}
|
|
7
|
+
._kqswstnw{position:absolute}
|
|
8
|
+
._syazazsu{color:var(--ds-text-subtle,#505258)}
|
|
9
|
+
._u7coidpf{inset-block-end:0}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* drag-handle.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./drag-handle.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import DragHandleVerticalIcon from '@atlaskit/icon/core/drag-handle-vertical';
|
|
6
|
+
var styles = {
|
|
7
|
+
root: "_syazazsu _1e0c1i3c _2lx21bp4 _1bah1h6o _kqswstnw _152tidpf _u7coidpf _1e02idpf _ahbqxmi2"
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// Using default export to play well with React.lazy
|
|
11
|
+
export default function DragHandle() {
|
|
12
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
"aria-hidden": "true",
|
|
14
|
+
className: ax([styles.root])
|
|
15
|
+
}, /*#__PURE__*/React.createElement(DragHandleVerticalIcon, {
|
|
16
|
+
label: "",
|
|
17
|
+
size: "small"
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Using `lazy` so that only consumers who want drag and drop
|
|
2
|
+
// need to include code for the drag handle.
|
|
3
|
+
import { lazy } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Exposing this for use by custom components
|
|
7
|
+
*/
|
|
8
|
+
export var LazyDragHandle = /*#__PURE__*/lazy(function () {
|
|
9
|
+
return import( /* webpackChunkName: "@atlaskit-internal_nav4-menu-item-drag-handle" */
|
|
10
|
+
'./drag-handle');
|
|
11
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* expandable-menu-item-content.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./expandable-menu-item-content.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import { forwardRef, useRef } from 'react';
|
|
6
|
+
import { cx } from '@compiled/react';
|
|
7
|
+
import { expandableMenuItemIndentation } from '../constants';
|
|
8
|
+
import { List } from '../list';
|
|
9
|
+
import { AreAllAncestorsExpandedContext, LevelContext, useAreAllAncestorsExpanded, useIsExpanded, useLevel } from './expandable-menu-item-context';
|
|
10
|
+
var styles = {
|
|
11
|
+
content: "_bozg1crf",
|
|
12
|
+
collapsedContent: "_1e0cglyw"
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* __ExpandableMenuItemContent__
|
|
16
|
+
*
|
|
17
|
+
* The expandable and collapsable section of the expandable menu item. It should contain the nested menu items.
|
|
18
|
+
*/
|
|
19
|
+
export var ExpandableMenuItemContent = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
|
|
20
|
+
var children = _ref.children;
|
|
21
|
+
var isExpanded = useIsExpanded();
|
|
22
|
+
var level = useLevel();
|
|
23
|
+
var hasExpanded = useRef(false);
|
|
24
|
+
var areAllAncestorsExpanded = useAreAllAncestorsExpanded();
|
|
25
|
+
if (!isExpanded && !hasExpanded.current) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
hasExpanded.current = true;
|
|
29
|
+
return /*#__PURE__*/React.createElement(LevelContext.Provider, {
|
|
30
|
+
value: level + 1
|
|
31
|
+
}, /*#__PURE__*/React.createElement(AreAllAncestorsExpandedContext.Provider, {
|
|
32
|
+
value:
|
|
33
|
+
/**
|
|
34
|
+
* By combining the current ancestor and with the current menu item's state, all nested menu items will know if their
|
|
35
|
+
* ancestor menu items are all expanded.
|
|
36
|
+
*/
|
|
37
|
+
areAllAncestorsExpanded && isExpanded
|
|
38
|
+
}, /*#__PURE__*/React.createElement(List, {
|
|
39
|
+
ref: forwardedRef,
|
|
40
|
+
xcss: cx(styles.content, !isExpanded && styles.collapsedContent)
|
|
41
|
+
}, children)));
|
|
42
|
+
});
|