@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,192 @@
|
|
|
1
|
+
/* use-menu-item-drag-and-drop.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
|
+
import { createPortal } from 'react-dom';
|
|
6
|
+
import invariant from 'tiny-invariant';
|
|
7
|
+
import { draggable, dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
8
|
+
import { pointerOutsideOfPreview } from '@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview';
|
|
9
|
+
import { setCustomNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview';
|
|
10
|
+
import { DragPreview } from './drag-preview';
|
|
11
|
+
import { DropIndicator } from './drop-indicator';
|
|
12
|
+
import { attachInstruction, extractInstruction } from './hitbox';
|
|
13
|
+
const idle = {
|
|
14
|
+
type: 'idle'
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* A convenience helper for setting up drag and drop for menu items
|
|
18
|
+
*
|
|
19
|
+
* - Don't include the `draggable` property if you don't want the menu item to be a draggable
|
|
20
|
+
* - Don't include the `dropTarget` property if you don't want the menu item to be a drop target
|
|
21
|
+
*/
|
|
22
|
+
export function useMenuItemDragAndDrop({
|
|
23
|
+
draggable: draggableArgs,
|
|
24
|
+
dropTarget: dropTargetArgs
|
|
25
|
+
}) {
|
|
26
|
+
const draggableAnchorRef = useRef(null);
|
|
27
|
+
const draggableButtonRef = useRef(null);
|
|
28
|
+
const dropTargetRef = useRef(null);
|
|
29
|
+
const [internalState, setInternalState] = useState(idle);
|
|
30
|
+
const getDraggableElement = useCallback(() => {
|
|
31
|
+
var _ref, _draggableAnchorRef$c;
|
|
32
|
+
return (_ref = (_draggableAnchorRef$c = draggableAnchorRef.current) !== null && _draggableAnchorRef$c !== void 0 ? _draggableAnchorRef$c : draggableButtonRef.current) !== null && _ref !== void 0 ? _ref : null;
|
|
33
|
+
}, []);
|
|
34
|
+
|
|
35
|
+
// Set up draggable
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
// Don't set up a draggable if there are no draggable args
|
|
38
|
+
if (!draggableArgs) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const element = getDraggableElement();
|
|
42
|
+
invariant(element, `draggableAnchorRef or draggableButtonRef not set`);
|
|
43
|
+
return draggable({
|
|
44
|
+
element,
|
|
45
|
+
getInitialData: draggableArgs.getInitialData,
|
|
46
|
+
canDrag: draggableArgs.canDrag,
|
|
47
|
+
onGenerateDragPreview({
|
|
48
|
+
nativeSetDragImage,
|
|
49
|
+
source,
|
|
50
|
+
location
|
|
51
|
+
}) {
|
|
52
|
+
setCustomNativeDragPreview({
|
|
53
|
+
nativeSetDragImage,
|
|
54
|
+
getOffset: pointerOutsideOfPreview({
|
|
55
|
+
x: "var(--ds-space-200, 16px)",
|
|
56
|
+
y: "var(--ds-space-100, 8px)"
|
|
57
|
+
}),
|
|
58
|
+
render({
|
|
59
|
+
container
|
|
60
|
+
}) {
|
|
61
|
+
const args = {
|
|
62
|
+
dragHandle: source.dragHandle,
|
|
63
|
+
element: source.element,
|
|
64
|
+
input: location.current.input
|
|
65
|
+
};
|
|
66
|
+
setInternalState({
|
|
67
|
+
type: 'preview',
|
|
68
|
+
container,
|
|
69
|
+
ui: draggableArgs.getDragPreviewPieces(args)
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
},
|
|
74
|
+
onDragStart() {
|
|
75
|
+
setInternalState({
|
|
76
|
+
type: 'dragging'
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
onDrop() {
|
|
80
|
+
setInternalState(idle);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}, [draggableArgs, getDraggableElement]);
|
|
84
|
+
|
|
85
|
+
// Set up drop target
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
if (!dropTargetArgs) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Don't need to provide a draggable element to have a drop target.
|
|
92
|
+
// Using this element in our `canDrop` check
|
|
93
|
+
const draggableElement = getDraggableElement();
|
|
94
|
+
const dropTarget = dropTargetRef.current;
|
|
95
|
+
invariant(dropTarget, `dropTargetRef was not set`);
|
|
96
|
+
return dropTargetForElements({
|
|
97
|
+
element: dropTarget,
|
|
98
|
+
// cannot drop on self
|
|
99
|
+
canDrop: args => {
|
|
100
|
+
// cannot drop on self
|
|
101
|
+
if (args.source.element === draggableElement) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
if (dropTargetArgs.canDrop) {
|
|
105
|
+
return dropTargetArgs.canDrop(args);
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
},
|
|
109
|
+
// menu items are always sticky, and the GroupDropIndicator should clear stickiness
|
|
110
|
+
getIsSticky: () => true,
|
|
111
|
+
getData(args) {
|
|
112
|
+
var _dropTargetArgs$getDa, _dropTargetArgs$getDa2;
|
|
113
|
+
const 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 : {};
|
|
114
|
+
const operations = dropTargetArgs.getOperations(args);
|
|
115
|
+
return attachInstruction(data, {
|
|
116
|
+
input: args.input,
|
|
117
|
+
element: args.element,
|
|
118
|
+
operations
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
onDragStart({
|
|
122
|
+
self
|
|
123
|
+
}) {
|
|
124
|
+
const instruction = extractInstruction(self.data);
|
|
125
|
+
setInternalState({
|
|
126
|
+
type: 'is-over',
|
|
127
|
+
instruction
|
|
128
|
+
});
|
|
129
|
+
},
|
|
130
|
+
onDrag({
|
|
131
|
+
self
|
|
132
|
+
}) {
|
|
133
|
+
const instruction = extractInstruction(self.data);
|
|
134
|
+
setInternalState(current => {
|
|
135
|
+
var _current$instruction, _current$instruction2;
|
|
136
|
+
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)) {
|
|
137
|
+
return current;
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
type: 'is-over',
|
|
141
|
+
instruction
|
|
142
|
+
};
|
|
143
|
+
});
|
|
144
|
+
},
|
|
145
|
+
onDragLeave() {
|
|
146
|
+
setInternalState(idle);
|
|
147
|
+
},
|
|
148
|
+
onDrop() {
|
|
149
|
+
setInternalState(idle);
|
|
150
|
+
},
|
|
151
|
+
onDragEnter({
|
|
152
|
+
self
|
|
153
|
+
}) {
|
|
154
|
+
const instruction = extractInstruction(self.data);
|
|
155
|
+
setInternalState({
|
|
156
|
+
type: 'is-over',
|
|
157
|
+
instruction
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}, [dropTargetArgs, getDraggableElement]);
|
|
162
|
+
const dragPreview = (() => {
|
|
163
|
+
if (internalState.type !== 'preview') {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(DragPreview, {
|
|
167
|
+
elemBefore: internalState.ui.elemBefore
|
|
168
|
+
}, internalState.ui.content), internalState.container);
|
|
169
|
+
})();
|
|
170
|
+
const dropIndicator = internalState.type === 'is-over' && internalState.instruction && /*#__PURE__*/React.createElement(DropIndicator, {
|
|
171
|
+
instruction: internalState.instruction
|
|
172
|
+
});
|
|
173
|
+
const state = useMemo(() => {
|
|
174
|
+
if (internalState.type === 'preview') {
|
|
175
|
+
return {
|
|
176
|
+
type: 'preview'
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
// returning a new object to avoid modification of our `internalState` object
|
|
180
|
+
return {
|
|
181
|
+
...internalState
|
|
182
|
+
};
|
|
183
|
+
}, [internalState]);
|
|
184
|
+
return {
|
|
185
|
+
state,
|
|
186
|
+
draggableButtonRef,
|
|
187
|
+
dropTargetRef,
|
|
188
|
+
draggableAnchorRef,
|
|
189
|
+
dragPreview,
|
|
190
|
+
dropIndicator
|
|
191
|
+
};
|
|
192
|
+
}
|
|
@@ -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
|
+
const 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,9 @@
|
|
|
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 const LazyDragHandle = /*#__PURE__*/lazy(() => import( /* webpackChunkName: "@atlaskit-internal_nav4-menu-item-drag-handle" */
|
|
9
|
+
'./drag-handle'));
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
const 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 const ExpandableMenuItemContent = /*#__PURE__*/forwardRef(({
|
|
20
|
+
children
|
|
21
|
+
}, forwardedRef) => {
|
|
22
|
+
const isExpanded = useIsExpanded();
|
|
23
|
+
const level = useLevel();
|
|
24
|
+
const hasExpanded = useRef(false);
|
|
25
|
+
const areAllAncestorsExpanded = useAreAllAncestorsExpanded();
|
|
26
|
+
if (!isExpanded && !hasExpanded.current) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
hasExpanded.current = true;
|
|
30
|
+
return /*#__PURE__*/React.createElement(LevelContext.Provider, {
|
|
31
|
+
value: level + 1
|
|
32
|
+
}, /*#__PURE__*/React.createElement(AreAllAncestorsExpandedContext.Provider, {
|
|
33
|
+
value:
|
|
34
|
+
/**
|
|
35
|
+
* By combining the current ancestor and with the current menu item's state, all nested menu items will know if their
|
|
36
|
+
* ancestor menu items are all expanded.
|
|
37
|
+
*/
|
|
38
|
+
areAllAncestorsExpanded && isExpanded
|
|
39
|
+
}, /*#__PURE__*/React.createElement(List, {
|
|
40
|
+
ref: forwardedRef,
|
|
41
|
+
xcss: cx(styles.content, !isExpanded && styles.collapsedContent)
|
|
42
|
+
}, children)));
|
|
43
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
import invariant from 'tiny-invariant';
|
|
3
|
+
import { ExpandableMenuItemLevelContext } from './expandable-menu-item-level-context';
|
|
4
|
+
/**
|
|
5
|
+
* Whether all ancestor menu items of the current menu item are expanded. Used to know if the current menu item is
|
|
6
|
+
* shown within the menu item tree.
|
|
7
|
+
*/
|
|
8
|
+
export const AreAllAncestorsExpandedContext = /*#__PURE__*/createContext(null);
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A context for storing the isExpanded value of the ExpandableMenuItem.
|
|
12
|
+
*/
|
|
13
|
+
export const IsExpandedContext = /*#__PURE__*/createContext(null);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A context for storing a function that sets isExpanded value of the ExpandableMenuItem.
|
|
17
|
+
*/
|
|
18
|
+
export const SetIsExpandedContext = /*#__PURE__*/createContext(null);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A context for storing a function that triggers when isExpanded value of the ExpandableMenuItem is changed.
|
|
22
|
+
*/
|
|
23
|
+
export const OnExpansionToggleContext = /*#__PURE__*/createContext(null);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* A context for storing the level value of the ExpandableMenuItem.
|
|
27
|
+
*/
|
|
28
|
+
export const LevelContext = ExpandableMenuItemLevelContext;
|
|
29
|
+
export const useIsExpanded = () => {
|
|
30
|
+
const context = useContext(IsExpandedContext);
|
|
31
|
+
invariant(context !== null, 'useIsExpanded must be used within an ExpandableMenuItem');
|
|
32
|
+
return context;
|
|
33
|
+
};
|
|
34
|
+
export const useSetIsExpanded = () => {
|
|
35
|
+
const context = useContext(SetIsExpandedContext);
|
|
36
|
+
invariant(context !== null, 'useSetIsExpanded must be used within an ExpandableMenuItem');
|
|
37
|
+
return context;
|
|
38
|
+
};
|
|
39
|
+
export const useOnExpansionToggle = () => useContext(OnExpansionToggleContext);
|
|
40
|
+
export const useLevel = () => useContext(LevelContext);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Whether all ancestor menu items of the current menu item are expanded. Used to know if the current menu item is
|
|
44
|
+
* shown within the menu item tree.
|
|
45
|
+
*
|
|
46
|
+
* It works by combining (using &&) all the expansion states of the current menu item's ancestors.
|
|
47
|
+
*
|
|
48
|
+
* Using `true` as the fallback for cases when the menu item does not have ancestors.
|
|
49
|
+
*/
|
|
50
|
+
export const useAreAllAncestorsExpanded = () => {
|
|
51
|
+
var _useContext;
|
|
52
|
+
return (_useContext = useContext(AreAllAncestorsExpandedContext)) !== null && _useContext !== void 0 ? _useContext : true;
|
|
53
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
// Note: this context value is in a seperate file as it is consumed
|
|
4
|
+
// by our drag and drop drag preview
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A context for storing the level value of the ExpandableMenuItem.
|
|
8
|
+
*/
|
|
9
|
+
export const ExpandableMenuItemLevelContext = /*#__PURE__*/createContext(0);
|
package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
._12xsglyw:has(:focus-visible){--expandable-provided-elembefore-display:none}
|
|
2
|
+
._165n1bgi{--expandable-provided-elembefore-display:contents}
|
|
3
|
+
._165nglyw{--expandable-provided-elembefore-display:none}
|
|
4
|
+
._1e0c1xb2{display:var(--expandable-provided-elembefore-display)}
|
|
5
|
+
._1e0ciw0t{display:var(--expandable-chevron-display)}
|
|
6
|
+
._1hl9glyw:has([aria-expanded=true][aria-haspopup=true]){--expandable-provided-elembefore-display:none}
|
|
7
|
+
._1mmi1txw{--expandable-chevron-display:flex}
|
|
8
|
+
._1mmiglyw{--expandable-chevron-display:none}
|
|
9
|
+
._b31z1txw:has(:focus-visible){--expandable-chevron-display:flex}
|
|
10
|
+
._syazxl6c{color:var(--ds-icon-selected,#1868db)}
|
|
11
|
+
._v9u71txw:has([aria-expanded=true][aria-haspopup=true]){--expandable-chevron-display:flex}
|
|
12
|
+
[dir=rtl] ._1tz3r0mg{transform:scaleX(-1)}
|
|
13
|
+
._1vnl1txw:hover{--expandable-chevron-display:flex}
|
|
14
|
+
._p8btglyw:hover{--expandable-provided-elembefore-display:none}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/* expandable-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import "./expandable-menu-item-trigger.compiled.css";
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import React, { useCallback, useId, useRef } from 'react';
|
|
6
|
+
import { IconButton } from '@atlaskit/button/new';
|
|
7
|
+
import forwardRefWithGeneric from '@atlaskit/ds-lib/forward-ref-with-generic';
|
|
8
|
+
import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
9
|
+
import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
|
|
10
|
+
import { MenuItemBase, nestedOpenPopupCSSSelector } from '../menu-item';
|
|
11
|
+
import { useScrollMenuItemIntoView } from '../use-scroll-menu-item-into-view';
|
|
12
|
+
import { useIsExpanded, useOnExpansionToggle, useSetIsExpanded } from './expandable-menu-item-context';
|
|
13
|
+
// Widening type to `string` to side-step Compiled cssMap typescript warnings with unknown properties
|
|
14
|
+
const chevronDisplayCssVar = '--expandable-chevron-display';
|
|
15
|
+
const providedElemBeforeDisplayCssVar = '--expandable-provided-elembefore-display';
|
|
16
|
+
const wrapperStyles = {
|
|
17
|
+
root: "_1mmi1txw _165nglyw",
|
|
18
|
+
showProvidedElemBefore: "_1mmiglyw _165n1bgi _v9u71txw _1hl9glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
|
|
19
|
+
};
|
|
20
|
+
const iconStyles = {
|
|
21
|
+
chevron: "_1e0ciw0t _1tz3r0mg",
|
|
22
|
+
providedElemBefore: "_1e0c1xb2",
|
|
23
|
+
providedElemBeforeSelected: "_syazxl6c"
|
|
24
|
+
};
|
|
25
|
+
const ExpandableMenuItemIcon = ({
|
|
26
|
+
iconProps,
|
|
27
|
+
isExpanded,
|
|
28
|
+
isSelected,
|
|
29
|
+
providedElemBefore
|
|
30
|
+
}) => {
|
|
31
|
+
const ChevronIcon = isExpanded ? ChevronDownIcon : ChevronRightIcon;
|
|
32
|
+
const chevronElem = /*#__PURE__*/React.createElement(ChevronIcon, _extends({}, iconProps, {
|
|
33
|
+
label: "",
|
|
34
|
+
color: isSelected ? "var(--ds-icon-selected, #1868DB)" : undefined,
|
|
35
|
+
size: "small"
|
|
36
|
+
}));
|
|
37
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
38
|
+
className: ax([iconStyles.chevron])
|
|
39
|
+
}, chevronElem), providedElemBefore && /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
className: ax([iconStyles.providedElemBefore, isSelected && iconStyles.providedElemBeforeSelected])
|
|
41
|
+
}, providedElemBefore));
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* __ExpandableMenuItemTrigger__
|
|
45
|
+
*
|
|
46
|
+
* The trigger component for an `ExpandableMenuItem`. Interacting with it will expand or collapse the expandable.
|
|
47
|
+
*/
|
|
48
|
+
export const ExpandableMenuItemTrigger = forwardRefWithGeneric(({
|
|
49
|
+
actions,
|
|
50
|
+
isSelected,
|
|
51
|
+
href,
|
|
52
|
+
elemBefore: providedElemBefore,
|
|
53
|
+
elemAfter,
|
|
54
|
+
actionsOnHover,
|
|
55
|
+
onClick,
|
|
56
|
+
children,
|
|
57
|
+
testId,
|
|
58
|
+
interactionName,
|
|
59
|
+
isContentTooltipDisabled,
|
|
60
|
+
visualContentRef,
|
|
61
|
+
isDragging,
|
|
62
|
+
hasDragIndicator,
|
|
63
|
+
dropIndicator
|
|
64
|
+
}, forwardedRef) => {
|
|
65
|
+
const id = useId();
|
|
66
|
+
const onExpansionToggle = useOnExpansionToggle();
|
|
67
|
+
const isExpanded = useIsExpanded();
|
|
68
|
+
const setIsExpanded = useSetIsExpanded();
|
|
69
|
+
const itemRef = useRef(null);
|
|
70
|
+
const handleIconClick = useCallback(() => {
|
|
71
|
+
onExpansionToggle === null || onExpansionToggle === void 0 ? void 0 : onExpansionToggle(!isExpanded);
|
|
72
|
+
setIsExpanded(!isExpanded);
|
|
73
|
+
}, [isExpanded, onExpansionToggle, setIsExpanded]);
|
|
74
|
+
const handleMenuContentClick = useCallback((event, analyticsEvent) => {
|
|
75
|
+
const newValue = !isExpanded;
|
|
76
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event, analyticsEvent, {
|
|
77
|
+
isExpanded: newValue
|
|
78
|
+
});
|
|
79
|
+
onExpansionToggle === null || onExpansionToggle === void 0 ? void 0 : onExpansionToggle(newValue);
|
|
80
|
+
setIsExpanded(newValue);
|
|
81
|
+
}, [onClick, onExpansionToggle, isExpanded, setIsExpanded]);
|
|
82
|
+
const isSelectable = typeof href !== 'undefined';
|
|
83
|
+
useScrollMenuItemIntoView({
|
|
84
|
+
elementRef: itemRef,
|
|
85
|
+
isSelected: Boolean(isSelectable && isSelected)
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
// Wrapped in an IconButton if the expandable menu item trigger is selectable
|
|
89
|
+
const elemBefore = isSelectable ? /*#__PURE__*/React.createElement(IconButton, {
|
|
90
|
+
icon: iconProps => /*#__PURE__*/React.createElement(ExpandableMenuItemIcon, {
|
|
91
|
+
iconProps: iconProps,
|
|
92
|
+
isExpanded: isExpanded,
|
|
93
|
+
isSelected: isSelected,
|
|
94
|
+
providedElemBefore: providedElemBefore
|
|
95
|
+
}),
|
|
96
|
+
"aria-expanded": isExpanded
|
|
97
|
+
// We are labelling the icon button using the containing menu item's content, to provide context to
|
|
98
|
+
// screen readers on what will actually be expanded or collapsed. Screen readers will also use the
|
|
99
|
+
// `aria-expanded` attribute to indicate the expanded state of the menu item.
|
|
100
|
+
// We are not using the `aria-label` attribute here as it is not supported by the `IconButton` component.
|
|
101
|
+
,
|
|
102
|
+
"aria-labelledby": id
|
|
103
|
+
// IconButton requires a label prop, however it will not be used by screen readers as we are setting
|
|
104
|
+
// `aria-labelledby`, which will be used instead.
|
|
105
|
+
,
|
|
106
|
+
label: "",
|
|
107
|
+
appearance: "subtle",
|
|
108
|
+
spacing: "compact",
|
|
109
|
+
onClick: handleIconClick,
|
|
110
|
+
interactionName: interactionName,
|
|
111
|
+
testId: testId ? `${testId}--elem-before-button` : undefined
|
|
112
|
+
}) : /*#__PURE__*/React.createElement(ExpandableMenuItemIcon, {
|
|
113
|
+
isExpanded: isExpanded,
|
|
114
|
+
isSelected: isSelected,
|
|
115
|
+
providedElemBefore: providedElemBefore
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// For expandable menu items, we shouldn't wrap in a `li` here. The `li` is instead at a higher level (`ExpandableMenuItem`), grouping the expandable menu item trigger and its content
|
|
119
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
120
|
+
ref: itemRef,
|
|
121
|
+
className: ax([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore])
|
|
122
|
+
}, /*#__PURE__*/React.createElement(MenuItemBase, {
|
|
123
|
+
id: id,
|
|
124
|
+
actions: actions,
|
|
125
|
+
actionsOnHover: actionsOnHover,
|
|
126
|
+
elemBefore: elemBefore,
|
|
127
|
+
ariaExpanded: isExpanded,
|
|
128
|
+
elemAfter: elemAfter,
|
|
129
|
+
href: href,
|
|
130
|
+
isSelected: isSelected,
|
|
131
|
+
onClick: handleMenuContentClick,
|
|
132
|
+
ref: forwardedRef,
|
|
133
|
+
visualContentRef: visualContentRef,
|
|
134
|
+
testId: testId,
|
|
135
|
+
interactionName: interactionName,
|
|
136
|
+
isContentTooltipDisabled: isContentTooltipDisabled,
|
|
137
|
+
isDragging: isDragging,
|
|
138
|
+
hasDragIndicator: hasDragIndicator,
|
|
139
|
+
dropIndicator: dropIndicator
|
|
140
|
+
}, children));
|
|
141
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._kqswh2mm{position:relative}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* expandable-menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./expandable-menu-item.compiled.css";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
+
import { forwardRef } from 'react';
|
|
6
|
+
import useControlled from '@atlaskit/ds-lib/use-controlled';
|
|
7
|
+
import { MenuListItem } from '../menu-list-item';
|
|
8
|
+
import { IsExpandedContext, OnExpansionToggleContext, SetIsExpandedContext } from './expandable-menu-item-context';
|
|
9
|
+
const relativeStyles = {
|
|
10
|
+
root: "_kqswh2mm"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* __ExpandableMenuItem__
|
|
15
|
+
*
|
|
16
|
+
* A composable component for nested menu items that can be revealed and hidden by interacting witih the parent menu item.
|
|
17
|
+
*
|
|
18
|
+
* Follows the [disclosure pattern](https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/).
|
|
19
|
+
*
|
|
20
|
+
* Should be used with `ExpandableMenuItemTrigger` as the parent menu item, and children menu items should be wrapped in a `ExpandableMenuItemContent`.
|
|
21
|
+
*
|
|
22
|
+
* Usage example:
|
|
23
|
+
* ```jsx
|
|
24
|
+
* <ExpandableMenuItem>
|
|
25
|
+
* <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
|
|
26
|
+
* <ExpandableMenuItemContent>
|
|
27
|
+
* <ButtonMenuItem>Item 1</ButtonMenuItem>
|
|
28
|
+
* <ButtonMenuItem>Item 2</ButtonMenuItem>
|
|
29
|
+
* </ExpandableMenuItemContent>
|
|
30
|
+
* </ExpandableMenuItem>
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export const ExpandableMenuItem = /*#__PURE__*/forwardRef(({
|
|
34
|
+
isExpanded: isExpandedControlled,
|
|
35
|
+
isDefaultExpanded = false,
|
|
36
|
+
onExpansionToggle,
|
|
37
|
+
children,
|
|
38
|
+
dropIndicator,
|
|
39
|
+
testId
|
|
40
|
+
}, forwardedRef) => {
|
|
41
|
+
const [isExpanded, setIsExpanded] = useControlled(isExpandedControlled, () => isDefaultExpanded);
|
|
42
|
+
return /*#__PURE__*/React.createElement(IsExpandedContext.Provider, {
|
|
43
|
+
value: isExpanded
|
|
44
|
+
}, /*#__PURE__*/React.createElement(SetIsExpandedContext.Provider, {
|
|
45
|
+
value: setIsExpanded
|
|
46
|
+
}, /*#__PURE__*/React.createElement(OnExpansionToggleContext.Provider, {
|
|
47
|
+
value: onExpansionToggle !== null && onExpansionToggle !== void 0 ? onExpansionToggle : null
|
|
48
|
+
}, /*#__PURE__*/React.createElement(MenuListItem, {
|
|
49
|
+
ref: forwardedRef,
|
|
50
|
+
testId: testId
|
|
51
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: ax([dropIndicator && relativeStyles.root])
|
|
53
|
+
}, children, dropIndicator)))));
|
|
54
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IconButton } from "@atlaskit/button/new";
|
|
3
|
+
import CrossIcon from "@atlaskit/icon/core/cross";
|
|
4
|
+
/**
|
|
5
|
+
* __Close button__
|
|
6
|
+
*
|
|
7
|
+
* The close button is to be used for flyout menu item headers to ensure that
|
|
8
|
+
* all users have an accessible and obvious way to close the flyout menu.
|
|
9
|
+
*
|
|
10
|
+
* Ensure that the close button renders first in the DOM to make sure that
|
|
11
|
+
* users will encounter all elements of the flyout menu, including everything
|
|
12
|
+
* within the flyout menu header. This can be done using a `Flex` primitive as
|
|
13
|
+
* the custom header's container with a flex direction of `row-reverse`.
|
|
14
|
+
*/
|
|
15
|
+
export const CloseButton = ({
|
|
16
|
+
label,
|
|
17
|
+
onClick,
|
|
18
|
+
testId
|
|
19
|
+
}) => /*#__PURE__*/React.createElement(IconButton, {
|
|
20
|
+
testId: testId,
|
|
21
|
+
appearance: "subtle",
|
|
22
|
+
icon: CrossIcon,
|
|
23
|
+
label: label,
|
|
24
|
+
onClick: onClick
|
|
25
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
._12l2x0bf{margin-inline-end:var(--ds-space-negative-100,-8px)}
|
|
2
|
+
._18m91wug{overflow-y:auto}
|
|
3
|
+
._1bahv2br{justify-content:start}
|
|
4
|
+
._1e0c1txw{display:flex}
|
|
5
|
+
._2lx21bp4{flex-direction:column}
|
|
6
|
+
._4t3i1osq{height:100%}
|
|
7
|
+
._6rthx0bf{margin-block-end:var(--ds-space-negative-100,-8px)}
|
|
8
|
+
._85i5u2gc{padding-block-end:var(--ds-space-100,8px)}
|
|
9
|
+
._ahbqx0bf{margin-inline-start:var(--ds-space-negative-100,-8px)}
|
|
10
|
+
._bozgu2gc{padding-inline-start:var(--ds-space-100,8px)}
|
|
11
|
+
._y4tiu2gc{padding-inline-end:var(--ds-space-100,8px)}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* flyout-body.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./flyout-body.compiled.css";
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
const bodyStyles = {
|
|
6
|
+
root: "_1e0c1txw _2lx21bp4 _18m91wug _4t3i1osq _1bahv2br _ahbqx0bf _12l2x0bf _6rthx0bf _bozgu2gc _y4tiu2gc _85i5u2gc"
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* __Flyout menu item body__
|
|
10
|
+
*
|
|
11
|
+
* The main section of a flyout menu. This component is used to render the
|
|
12
|
+
* primary contents of the flyout menu. This component should be placed between
|
|
13
|
+
* FlyoutHeader and FlyoutFooter (if present), as is scrollable if the content
|
|
14
|
+
* exceeds the available space.
|
|
15
|
+
*/
|
|
16
|
+
export const FlyoutBody = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
17
|
+
const {
|
|
18
|
+
children,
|
|
19
|
+
testId,
|
|
20
|
+
onKeyDown,
|
|
21
|
+
onKeyUp,
|
|
22
|
+
onBlurCapture
|
|
23
|
+
} = props;
|
|
24
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
25
|
+
ref: ref,
|
|
26
|
+
"data-testid": testId,
|
|
27
|
+
onKeyDown: onKeyDown,
|
|
28
|
+
onKeyUp: onKeyUp,
|
|
29
|
+
onBlurCapture: onBlurCapture,
|
|
30
|
+
role: "presentation",
|
|
31
|
+
className: ax([bodyStyles.root])
|
|
32
|
+
}, children);
|
|
33
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
._1pfhu2gc{margin-block-start:var(--ds-space-100,8px)}
|
|
2
|
+
._1q51u2gc{padding-block-start:var(--ds-space-100,8px)}
|
|
3
|
+
._1sw7nqa1{border-block-start-style:solid}
|
|
4
|
+
._7myae4h9{border-block-start-width:var(--ds-border-width,1px)}
|
|
5
|
+
._qgnu1l7x{border-block-start-color:var(--ds-border,#0b120e24)}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* flyout-footer.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
import "./flyout-footer.compiled.css";
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
const footerStyles = {
|
|
6
|
+
root: "_7myae4h9 _1sw7nqa1 _qgnu1l7x _1pfhu2gc _1q51u2gc"
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* __Flyout menu item footer__
|
|
10
|
+
*
|
|
11
|
+
* The footer section of a flyout menu. This component can display
|
|
12
|
+
* supplementary actions or information at the bottom of the flyout menu. This
|
|
13
|
+
* component should be placed after FlyoutBody within the FlyoutMenuItemContent.
|
|
14
|
+
*/
|
|
15
|
+
export const FlyoutFooter = props => {
|
|
16
|
+
const {
|
|
17
|
+
children,
|
|
18
|
+
testId
|
|
19
|
+
} = props;
|
|
20
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
21
|
+
"data-testid": testId,
|
|
22
|
+
className: ax([footerStyles.root])
|
|
23
|
+
}, children);
|
|
24
|
+
};
|