@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,202 @@
|
|
|
1
|
+
/* use-menu-item-drag-and-drop.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.useMenuItemDragAndDrop = useMenuItemDragAndDrop;
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var React = _react;
|
|
12
|
+
var _runtime = require("@compiled/react/runtime");
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
var _reactDom = require("react-dom");
|
|
16
|
+
var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
|
|
17
|
+
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
|
|
18
|
+
var _pointerOutsideOfPreview = require("@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview");
|
|
19
|
+
var _setCustomNativeDragPreview = require("@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview");
|
|
20
|
+
var _dragPreview = require("./drag-preview");
|
|
21
|
+
var _dropIndicator = require("./drop-indicator");
|
|
22
|
+
var _hitbox = require("./hitbox");
|
|
23
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
24
|
+
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; }
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
|
+
var idle = {
|
|
27
|
+
type: 'idle'
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* A convenience helper for setting up drag and drop for menu items
|
|
31
|
+
*
|
|
32
|
+
* - Don't include the `draggable` property if you don't want the menu item to be a draggable
|
|
33
|
+
* - Don't include the `dropTarget` property if you don't want the menu item to be a drop target
|
|
34
|
+
*/
|
|
35
|
+
function useMenuItemDragAndDrop(_ref) {
|
|
36
|
+
var draggableArgs = _ref.draggable,
|
|
37
|
+
dropTargetArgs = _ref.dropTarget;
|
|
38
|
+
var draggableAnchorRef = (0, _react.useRef)(null);
|
|
39
|
+
var draggableButtonRef = (0, _react.useRef)(null);
|
|
40
|
+
var dropTargetRef = (0, _react.useRef)(null);
|
|
41
|
+
var _useState = (0, _react.useState)(idle),
|
|
42
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
43
|
+
internalState = _useState2[0],
|
|
44
|
+
setInternalState = _useState2[1];
|
|
45
|
+
var getDraggableElement = (0, _react.useCallback)(function () {
|
|
46
|
+
var _ref2, _draggableAnchorRef$c;
|
|
47
|
+
return (_ref2 = (_draggableAnchorRef$c = draggableAnchorRef.current) !== null && _draggableAnchorRef$c !== void 0 ? _draggableAnchorRef$c : draggableButtonRef.current) !== null && _ref2 !== void 0 ? _ref2 : null;
|
|
48
|
+
}, []);
|
|
49
|
+
|
|
50
|
+
// Set up draggable
|
|
51
|
+
(0, _react.useEffect)(function () {
|
|
52
|
+
// Don't set up a draggable if there are no draggable args
|
|
53
|
+
if (!draggableArgs) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
var element = getDraggableElement();
|
|
57
|
+
(0, _tinyInvariant.default)(element, "draggableAnchorRef or draggableButtonRef not set");
|
|
58
|
+
return (0, _adapter.draggable)({
|
|
59
|
+
element: element,
|
|
60
|
+
getInitialData: draggableArgs.getInitialData,
|
|
61
|
+
canDrag: draggableArgs.canDrag,
|
|
62
|
+
onGenerateDragPreview: function onGenerateDragPreview(_ref3) {
|
|
63
|
+
var nativeSetDragImage = _ref3.nativeSetDragImage,
|
|
64
|
+
source = _ref3.source,
|
|
65
|
+
location = _ref3.location;
|
|
66
|
+
(0, _setCustomNativeDragPreview.setCustomNativeDragPreview)({
|
|
67
|
+
nativeSetDragImage: nativeSetDragImage,
|
|
68
|
+
getOffset: (0, _pointerOutsideOfPreview.pointerOutsideOfPreview)({
|
|
69
|
+
x: "var(--ds-space-200, 16px)",
|
|
70
|
+
y: "var(--ds-space-100, 8px)"
|
|
71
|
+
}),
|
|
72
|
+
render: function render(_ref4) {
|
|
73
|
+
var container = _ref4.container;
|
|
74
|
+
var args = {
|
|
75
|
+
dragHandle: source.dragHandle,
|
|
76
|
+
element: source.element,
|
|
77
|
+
input: location.current.input
|
|
78
|
+
};
|
|
79
|
+
setInternalState({
|
|
80
|
+
type: 'preview',
|
|
81
|
+
container: container,
|
|
82
|
+
ui: draggableArgs.getDragPreviewPieces(args)
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
onDragStart: function onDragStart() {
|
|
88
|
+
setInternalState({
|
|
89
|
+
type: 'dragging'
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
onDrop: function onDrop() {
|
|
93
|
+
setInternalState(idle);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}, [draggableArgs, getDraggableElement]);
|
|
97
|
+
|
|
98
|
+
// Set up drop target
|
|
99
|
+
(0, _react.useEffect)(function () {
|
|
100
|
+
if (!dropTargetArgs) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Don't need to provide a draggable element to have a drop target.
|
|
105
|
+
// Using this element in our `canDrop` check
|
|
106
|
+
var draggableElement = getDraggableElement();
|
|
107
|
+
var dropTarget = dropTargetRef.current;
|
|
108
|
+
(0, _tinyInvariant.default)(dropTarget, "dropTargetRef was not set");
|
|
109
|
+
return (0, _adapter.dropTargetForElements)({
|
|
110
|
+
element: dropTarget,
|
|
111
|
+
// cannot drop on self
|
|
112
|
+
canDrop: function canDrop(args) {
|
|
113
|
+
// cannot drop on self
|
|
114
|
+
if (args.source.element === draggableElement) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (dropTargetArgs.canDrop) {
|
|
118
|
+
return dropTargetArgs.canDrop(args);
|
|
119
|
+
}
|
|
120
|
+
return true;
|
|
121
|
+
},
|
|
122
|
+
// menu items are always sticky, and the GroupDropIndicator should clear stickiness
|
|
123
|
+
getIsSticky: function getIsSticky() {
|
|
124
|
+
return true;
|
|
125
|
+
},
|
|
126
|
+
getData: function getData(args) {
|
|
127
|
+
var _dropTargetArgs$getDa, _dropTargetArgs$getDa2;
|
|
128
|
+
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 : {};
|
|
129
|
+
var operations = dropTargetArgs.getOperations(args);
|
|
130
|
+
return (0, _hitbox.attachInstruction)(data, {
|
|
131
|
+
input: args.input,
|
|
132
|
+
element: args.element,
|
|
133
|
+
operations: operations
|
|
134
|
+
});
|
|
135
|
+
},
|
|
136
|
+
onDragStart: function onDragStart(_ref5) {
|
|
137
|
+
var self = _ref5.self;
|
|
138
|
+
var instruction = (0, _hitbox.extractInstruction)(self.data);
|
|
139
|
+
setInternalState({
|
|
140
|
+
type: 'is-over',
|
|
141
|
+
instruction: instruction
|
|
142
|
+
});
|
|
143
|
+
},
|
|
144
|
+
onDrag: function onDrag(_ref6) {
|
|
145
|
+
var self = _ref6.self;
|
|
146
|
+
var instruction = (0, _hitbox.extractInstruction)(self.data);
|
|
147
|
+
setInternalState(function (current) {
|
|
148
|
+
var _current$instruction, _current$instruction2;
|
|
149
|
+
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)) {
|
|
150
|
+
return current;
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
type: 'is-over',
|
|
154
|
+
instruction: instruction
|
|
155
|
+
};
|
|
156
|
+
});
|
|
157
|
+
},
|
|
158
|
+
onDragLeave: function onDragLeave() {
|
|
159
|
+
setInternalState(idle);
|
|
160
|
+
},
|
|
161
|
+
onDrop: function onDrop() {
|
|
162
|
+
setInternalState(idle);
|
|
163
|
+
},
|
|
164
|
+
onDragEnter: function onDragEnter(_ref7) {
|
|
165
|
+
var self = _ref7.self;
|
|
166
|
+
var instruction = (0, _hitbox.extractInstruction)(self.data);
|
|
167
|
+
setInternalState({
|
|
168
|
+
type: 'is-over',
|
|
169
|
+
instruction: instruction
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}, [dropTargetArgs, getDraggableElement]);
|
|
174
|
+
var dragPreview = function () {
|
|
175
|
+
if (internalState.type !== 'preview') {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
return /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/React.createElement(_dragPreview.DragPreview, {
|
|
179
|
+
elemBefore: internalState.ui.elemBefore
|
|
180
|
+
}, internalState.ui.content), internalState.container);
|
|
181
|
+
}();
|
|
182
|
+
var dropIndicator = internalState.type === 'is-over' && internalState.instruction && /*#__PURE__*/React.createElement(_dropIndicator.DropIndicator, {
|
|
183
|
+
instruction: internalState.instruction
|
|
184
|
+
});
|
|
185
|
+
var state = (0, _react.useMemo)(function () {
|
|
186
|
+
if (internalState.type === 'preview') {
|
|
187
|
+
return {
|
|
188
|
+
type: 'preview'
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
// returning a new object to avoid modification of our `internalState` object
|
|
192
|
+
return _objectSpread({}, internalState);
|
|
193
|
+
}, [internalState]);
|
|
194
|
+
return {
|
|
195
|
+
state: state,
|
|
196
|
+
draggableButtonRef: draggableButtonRef,
|
|
197
|
+
dropTargetRef: dropTargetRef,
|
|
198
|
+
draggableAnchorRef: draggableAnchorRef,
|
|
199
|
+
dragPreview: dragPreview,
|
|
200
|
+
dropIndicator: dropIndicator
|
|
201
|
+
};
|
|
202
|
+
}
|
|
@@ -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,28 @@
|
|
|
1
|
+
/* drag-handle.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.default = DragHandle;
|
|
10
|
+
require("./drag-handle.compiled.css");
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _runtime = require("@compiled/react/runtime");
|
|
13
|
+
var _dragHandleVertical = _interopRequireDefault(require("@atlaskit/icon/core/drag-handle-vertical"));
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
15
|
+
var styles = {
|
|
16
|
+
root: "_syazazsu _1e0c1i3c _2lx21bp4 _1bah1h6o _kqswstnw _152tidpf _u7coidpf _1e02idpf _ahbqxmi2"
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Using default export to play well with React.lazy
|
|
20
|
+
function DragHandle() {
|
|
21
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
22
|
+
"aria-hidden": "true",
|
|
23
|
+
className: (0, _runtime.ax)([styles.root])
|
|
24
|
+
}, /*#__PURE__*/React.createElement(_dragHandleVertical.default, {
|
|
25
|
+
label: "",
|
|
26
|
+
size: "small"
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.LazyDragHandle = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } // Using `lazy` so that only consumers who want drag and drop
|
|
11
|
+
// need to include code for the drag handle.
|
|
12
|
+
/**
|
|
13
|
+
* Exposing this for use by custom components
|
|
14
|
+
*/
|
|
15
|
+
var LazyDragHandle = exports.LazyDragHandle = /*#__PURE__*/(0, _react.lazy)(function () {
|
|
16
|
+
return Promise.resolve().then(function () {
|
|
17
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_nav4-menu-item-drag-handle" */
|
|
18
|
+
'./drag-handle'));
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* expandable-menu-item-content.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ExpandableMenuItemContent = void 0;
|
|
9
|
+
require("./expandable-menu-item-content.compiled.css");
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var React = _react;
|
|
12
|
+
var _runtime = require("@compiled/react/runtime");
|
|
13
|
+
var _react2 = require("@compiled/react");
|
|
14
|
+
var _constants = require("../constants");
|
|
15
|
+
var _list = require("../list");
|
|
16
|
+
var _expandableMenuItemContext = require("./expandable-menu-item-context");
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
18
|
+
var styles = {
|
|
19
|
+
content: "_bozg1crf",
|
|
20
|
+
collapsedContent: "_1e0cglyw"
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* __ExpandableMenuItemContent__
|
|
24
|
+
*
|
|
25
|
+
* The expandable and collapsable section of the expandable menu item. It should contain the nested menu items.
|
|
26
|
+
*/
|
|
27
|
+
var ExpandableMenuItemContent = exports.ExpandableMenuItemContent = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
|
|
28
|
+
var children = _ref.children;
|
|
29
|
+
var isExpanded = (0, _expandableMenuItemContext.useIsExpanded)();
|
|
30
|
+
var level = (0, _expandableMenuItemContext.useLevel)();
|
|
31
|
+
var hasExpanded = (0, _react.useRef)(false);
|
|
32
|
+
var areAllAncestorsExpanded = (0, _expandableMenuItemContext.useAreAllAncestorsExpanded)();
|
|
33
|
+
if (!isExpanded && !hasExpanded.current) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
hasExpanded.current = true;
|
|
37
|
+
return /*#__PURE__*/React.createElement(_expandableMenuItemContext.LevelContext.Provider, {
|
|
38
|
+
value: level + 1
|
|
39
|
+
}, /*#__PURE__*/React.createElement(_expandableMenuItemContext.AreAllAncestorsExpandedContext.Provider, {
|
|
40
|
+
value:
|
|
41
|
+
/**
|
|
42
|
+
* By combining the current ancestor and with the current menu item's state, all nested menu items will know if their
|
|
43
|
+
* ancestor menu items are all expanded.
|
|
44
|
+
*/
|
|
45
|
+
areAllAncestorsExpanded && isExpanded
|
|
46
|
+
}, /*#__PURE__*/React.createElement(_list.List, {
|
|
47
|
+
ref: forwardedRef,
|
|
48
|
+
xcss: (0, _react2.cx)(styles.content, !isExpanded && styles.collapsedContent)
|
|
49
|
+
}, children)));
|
|
50
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useSetIsExpanded = exports.useOnExpansionToggle = exports.useLevel = exports.useIsExpanded = exports.useAreAllAncestorsExpanded = exports.SetIsExpandedContext = exports.OnExpansionToggleContext = exports.LevelContext = exports.IsExpandedContext = exports.AreAllAncestorsExpandedContext = void 0;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
|
|
10
|
+
var _expandableMenuItemLevelContext = require("./expandable-menu-item-level-context");
|
|
11
|
+
/**
|
|
12
|
+
* Whether all ancestor menu items of the current menu item are expanded. Used to know if the current menu item is
|
|
13
|
+
* shown within the menu item tree.
|
|
14
|
+
*/
|
|
15
|
+
var AreAllAncestorsExpandedContext = exports.AreAllAncestorsExpandedContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* A context for storing the isExpanded value of the ExpandableMenuItem.
|
|
19
|
+
*/
|
|
20
|
+
var IsExpandedContext = exports.IsExpandedContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A context for storing a function that sets isExpanded value of the ExpandableMenuItem.
|
|
24
|
+
*/
|
|
25
|
+
var SetIsExpandedContext = exports.SetIsExpandedContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* A context for storing a function that triggers when isExpanded value of the ExpandableMenuItem is changed.
|
|
29
|
+
*/
|
|
30
|
+
var OnExpansionToggleContext = exports.OnExpansionToggleContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A context for storing the level value of the ExpandableMenuItem.
|
|
34
|
+
*/
|
|
35
|
+
var LevelContext = exports.LevelContext = _expandableMenuItemLevelContext.ExpandableMenuItemLevelContext;
|
|
36
|
+
var useIsExpanded = exports.useIsExpanded = function useIsExpanded() {
|
|
37
|
+
var context = (0, _react.useContext)(IsExpandedContext);
|
|
38
|
+
(0, _tinyInvariant.default)(context !== null, 'useIsExpanded must be used within an ExpandableMenuItem');
|
|
39
|
+
return context;
|
|
40
|
+
};
|
|
41
|
+
var useSetIsExpanded = exports.useSetIsExpanded = function useSetIsExpanded() {
|
|
42
|
+
var context = (0, _react.useContext)(SetIsExpandedContext);
|
|
43
|
+
(0, _tinyInvariant.default)(context !== null, 'useSetIsExpanded must be used within an ExpandableMenuItem');
|
|
44
|
+
return context;
|
|
45
|
+
};
|
|
46
|
+
var useOnExpansionToggle = exports.useOnExpansionToggle = function useOnExpansionToggle() {
|
|
47
|
+
return (0, _react.useContext)(OnExpansionToggleContext);
|
|
48
|
+
};
|
|
49
|
+
var useLevel = exports.useLevel = function useLevel() {
|
|
50
|
+
return (0, _react.useContext)(LevelContext);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Whether all ancestor menu items of the current menu item are expanded. Used to know if the current menu item is
|
|
55
|
+
* shown within the menu item tree.
|
|
56
|
+
*
|
|
57
|
+
* It works by combining (using &&) all the expansion states of the current menu item's ancestors.
|
|
58
|
+
*
|
|
59
|
+
* Using `true` as the fallback for cases when the menu item does not have ancestors.
|
|
60
|
+
*/
|
|
61
|
+
var useAreAllAncestorsExpanded = exports.useAreAllAncestorsExpanded = function useAreAllAncestorsExpanded() {
|
|
62
|
+
var _useContext;
|
|
63
|
+
return (_useContext = (0, _react.useContext)(AreAllAncestorsExpandedContext)) !== null && _useContext !== void 0 ? _useContext : true;
|
|
64
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ExpandableMenuItemLevelContext = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
// Note: this context value is in a seperate file as it is consumed
|
|
9
|
+
// by our drag and drop drag preview
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A context for storing the level value of the ExpandableMenuItem.
|
|
13
|
+
*/
|
|
14
|
+
var ExpandableMenuItemLevelContext = exports.ExpandableMenuItemLevelContext = /*#__PURE__*/(0, _react.createContext)(0);
|
|
@@ -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,150 @@
|
|
|
1
|
+
/* expandable-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.ExpandableMenuItemTrigger = void 0;
|
|
10
|
+
require("./expandable-menu-item-trigger.compiled.css");
|
|
11
|
+
var _runtime = require("@compiled/react/runtime");
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _new = require("@atlaskit/button/new");
|
|
15
|
+
var _forwardRefWithGeneric = _interopRequireDefault(require("@atlaskit/ds-lib/forward-ref-with-generic"));
|
|
16
|
+
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/chevron-down"));
|
|
17
|
+
var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right"));
|
|
18
|
+
var _menuItem = require("../menu-item");
|
|
19
|
+
var _useScrollMenuItemIntoView = require("../use-scroll-menu-item-into-view");
|
|
20
|
+
var _expandableMenuItemContext = require("./expandable-menu-item-context");
|
|
21
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
22
|
+
// Widening type to `string` to side-step Compiled cssMap typescript warnings with unknown properties
|
|
23
|
+
var chevronDisplayCssVar = '--expandable-chevron-display';
|
|
24
|
+
var providedElemBeforeDisplayCssVar = '--expandable-provided-elembefore-display';
|
|
25
|
+
var wrapperStyles = {
|
|
26
|
+
root: "_1mmi1txw _165nglyw",
|
|
27
|
+
showProvidedElemBefore: "_1mmiglyw _165n1bgi _v9u71txw _1hl9glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
|
|
28
|
+
};
|
|
29
|
+
var iconStyles = {
|
|
30
|
+
chevron: "_1e0ciw0t _1tz3r0mg",
|
|
31
|
+
providedElemBefore: "_1e0c1xb2",
|
|
32
|
+
providedElemBeforeSelected: "_syazxl6c"
|
|
33
|
+
};
|
|
34
|
+
var ExpandableMenuItemIcon = function ExpandableMenuItemIcon(_ref) {
|
|
35
|
+
var iconProps = _ref.iconProps,
|
|
36
|
+
isExpanded = _ref.isExpanded,
|
|
37
|
+
isSelected = _ref.isSelected,
|
|
38
|
+
providedElemBefore = _ref.providedElemBefore;
|
|
39
|
+
var ChevronIcon = isExpanded ? _chevronDown.default : _chevronRight.default;
|
|
40
|
+
var chevronElem = /*#__PURE__*/_react.default.createElement(ChevronIcon, (0, _extends2.default)({}, iconProps, {
|
|
41
|
+
label: "",
|
|
42
|
+
color: isSelected ? "var(--ds-icon-selected, #1868DB)" : undefined,
|
|
43
|
+
size: "small"
|
|
44
|
+
}));
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
46
|
+
className: (0, _runtime.ax)([iconStyles.chevron])
|
|
47
|
+
}, chevronElem), providedElemBefore && /*#__PURE__*/_react.default.createElement("div", {
|
|
48
|
+
className: (0, _runtime.ax)([iconStyles.providedElemBefore, isSelected && iconStyles.providedElemBeforeSelected])
|
|
49
|
+
}, providedElemBefore));
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* __ExpandableMenuItemTrigger__
|
|
53
|
+
*
|
|
54
|
+
* The trigger component for an `ExpandableMenuItem`. Interacting with it will expand or collapse the expandable.
|
|
55
|
+
*/
|
|
56
|
+
var ExpandableMenuItemTrigger = exports.ExpandableMenuItemTrigger = (0, _forwardRefWithGeneric.default)(function (_ref2, forwardedRef) {
|
|
57
|
+
var actions = _ref2.actions,
|
|
58
|
+
isSelected = _ref2.isSelected,
|
|
59
|
+
href = _ref2.href,
|
|
60
|
+
providedElemBefore = _ref2.elemBefore,
|
|
61
|
+
elemAfter = _ref2.elemAfter,
|
|
62
|
+
actionsOnHover = _ref2.actionsOnHover,
|
|
63
|
+
onClick = _ref2.onClick,
|
|
64
|
+
children = _ref2.children,
|
|
65
|
+
testId = _ref2.testId,
|
|
66
|
+
interactionName = _ref2.interactionName,
|
|
67
|
+
isContentTooltipDisabled = _ref2.isContentTooltipDisabled,
|
|
68
|
+
visualContentRef = _ref2.visualContentRef,
|
|
69
|
+
isDragging = _ref2.isDragging,
|
|
70
|
+
hasDragIndicator = _ref2.hasDragIndicator,
|
|
71
|
+
dropIndicator = _ref2.dropIndicator;
|
|
72
|
+
var id = (0, _react.useId)();
|
|
73
|
+
var onExpansionToggle = (0, _expandableMenuItemContext.useOnExpansionToggle)();
|
|
74
|
+
var isExpanded = (0, _expandableMenuItemContext.useIsExpanded)();
|
|
75
|
+
var setIsExpanded = (0, _expandableMenuItemContext.useSetIsExpanded)();
|
|
76
|
+
var itemRef = (0, _react.useRef)(null);
|
|
77
|
+
var handleIconClick = (0, _react.useCallback)(function () {
|
|
78
|
+
onExpansionToggle === null || onExpansionToggle === void 0 || onExpansionToggle(!isExpanded);
|
|
79
|
+
setIsExpanded(!isExpanded);
|
|
80
|
+
}, [isExpanded, onExpansionToggle, setIsExpanded]);
|
|
81
|
+
var handleMenuContentClick = (0, _react.useCallback)(function (event, analyticsEvent) {
|
|
82
|
+
var newValue = !isExpanded;
|
|
83
|
+
onClick === null || onClick === void 0 || onClick(event, analyticsEvent, {
|
|
84
|
+
isExpanded: newValue
|
|
85
|
+
});
|
|
86
|
+
onExpansionToggle === null || onExpansionToggle === void 0 || onExpansionToggle(newValue);
|
|
87
|
+
setIsExpanded(newValue);
|
|
88
|
+
}, [onClick, onExpansionToggle, isExpanded, setIsExpanded]);
|
|
89
|
+
var isSelectable = typeof href !== 'undefined';
|
|
90
|
+
(0, _useScrollMenuItemIntoView.useScrollMenuItemIntoView)({
|
|
91
|
+
elementRef: itemRef,
|
|
92
|
+
isSelected: Boolean(isSelectable && isSelected)
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// Wrapped in an IconButton if the expandable menu item trigger is selectable
|
|
96
|
+
var elemBefore = isSelectable ? /*#__PURE__*/_react.default.createElement(_new.IconButton, {
|
|
97
|
+
icon: function icon(iconProps) {
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement(ExpandableMenuItemIcon, {
|
|
99
|
+
iconProps: iconProps,
|
|
100
|
+
isExpanded: isExpanded,
|
|
101
|
+
isSelected: isSelected,
|
|
102
|
+
providedElemBefore: providedElemBefore
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
"aria-expanded": isExpanded
|
|
106
|
+
// We are labelling the icon button using the containing menu item's content, to provide context to
|
|
107
|
+
// screen readers on what will actually be expanded or collapsed. Screen readers will also use the
|
|
108
|
+
// `aria-expanded` attribute to indicate the expanded state of the menu item.
|
|
109
|
+
// We are not using the `aria-label` attribute here as it is not supported by the `IconButton` component.
|
|
110
|
+
,
|
|
111
|
+
"aria-labelledby": id
|
|
112
|
+
// IconButton requires a label prop, however it will not be used by screen readers as we are setting
|
|
113
|
+
// `aria-labelledby`, which will be used instead.
|
|
114
|
+
,
|
|
115
|
+
label: "",
|
|
116
|
+
appearance: "subtle",
|
|
117
|
+
spacing: "compact",
|
|
118
|
+
onClick: handleIconClick,
|
|
119
|
+
interactionName: interactionName,
|
|
120
|
+
testId: testId ? "".concat(testId, "--elem-before-button") : undefined
|
|
121
|
+
}) : /*#__PURE__*/_react.default.createElement(ExpandableMenuItemIcon, {
|
|
122
|
+
isExpanded: isExpanded,
|
|
123
|
+
isSelected: isSelected,
|
|
124
|
+
providedElemBefore: providedElemBefore
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// 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
|
|
128
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
129
|
+
ref: itemRef,
|
|
130
|
+
className: (0, _runtime.ax)([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore])
|
|
131
|
+
}, /*#__PURE__*/_react.default.createElement(_menuItem.MenuItemBase, {
|
|
132
|
+
id: id,
|
|
133
|
+
actions: actions,
|
|
134
|
+
actionsOnHover: actionsOnHover,
|
|
135
|
+
elemBefore: elemBefore,
|
|
136
|
+
ariaExpanded: isExpanded,
|
|
137
|
+
elemAfter: elemAfter,
|
|
138
|
+
href: href,
|
|
139
|
+
isSelected: isSelected,
|
|
140
|
+
onClick: handleMenuContentClick,
|
|
141
|
+
ref: forwardedRef,
|
|
142
|
+
visualContentRef: visualContentRef,
|
|
143
|
+
testId: testId,
|
|
144
|
+
interactionName: interactionName,
|
|
145
|
+
isContentTooltipDisabled: isContentTooltipDisabled,
|
|
146
|
+
isDragging: isDragging,
|
|
147
|
+
hasDragIndicator: hasDragIndicator,
|
|
148
|
+
dropIndicator: dropIndicator
|
|
149
|
+
}, children));
|
|
150
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._kqswh2mm{position:relative}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/* expandable-menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.ExpandableMenuItem = void 0;
|
|
10
|
+
require("./expandable-menu-item.compiled.css");
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var React = _react;
|
|
13
|
+
var _runtime = require("@compiled/react/runtime");
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
var _useControlled3 = _interopRequireDefault(require("@atlaskit/ds-lib/use-controlled"));
|
|
16
|
+
var _menuListItem = require("../menu-list-item");
|
|
17
|
+
var _expandableMenuItemContext = require("./expandable-menu-item-context");
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
19
|
+
var relativeStyles = {
|
|
20
|
+
root: "_kqswh2mm"
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* __ExpandableMenuItem__
|
|
25
|
+
*
|
|
26
|
+
* A composable component for nested menu items that can be revealed and hidden by interacting witih the parent menu item.
|
|
27
|
+
*
|
|
28
|
+
* Follows the [disclosure pattern](https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/).
|
|
29
|
+
*
|
|
30
|
+
* Should be used with `ExpandableMenuItemTrigger` as the parent menu item, and children menu items should be wrapped in a `ExpandableMenuItemContent`.
|
|
31
|
+
*
|
|
32
|
+
* Usage example:
|
|
33
|
+
* ```jsx
|
|
34
|
+
* <ExpandableMenuItem>
|
|
35
|
+
* <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
|
|
36
|
+
* <ExpandableMenuItemContent>
|
|
37
|
+
* <ButtonMenuItem>Item 1</ButtonMenuItem>
|
|
38
|
+
* <ButtonMenuItem>Item 2</ButtonMenuItem>
|
|
39
|
+
* </ExpandableMenuItemContent>
|
|
40
|
+
* </ExpandableMenuItem>
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
var ExpandableMenuItem = exports.ExpandableMenuItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
|
|
44
|
+
var isExpandedControlled = _ref.isExpanded,
|
|
45
|
+
_ref$isDefaultExpande = _ref.isDefaultExpanded,
|
|
46
|
+
isDefaultExpanded = _ref$isDefaultExpande === void 0 ? false : _ref$isDefaultExpande,
|
|
47
|
+
onExpansionToggle = _ref.onExpansionToggle,
|
|
48
|
+
children = _ref.children,
|
|
49
|
+
dropIndicator = _ref.dropIndicator,
|
|
50
|
+
testId = _ref.testId;
|
|
51
|
+
var _useControlled = (0, _useControlled3.default)(isExpandedControlled, function () {
|
|
52
|
+
return isDefaultExpanded;
|
|
53
|
+
}),
|
|
54
|
+
_useControlled2 = (0, _slicedToArray2.default)(_useControlled, 2),
|
|
55
|
+
isExpanded = _useControlled2[0],
|
|
56
|
+
setIsExpanded = _useControlled2[1];
|
|
57
|
+
return /*#__PURE__*/React.createElement(_expandableMenuItemContext.IsExpandedContext.Provider, {
|
|
58
|
+
value: isExpanded
|
|
59
|
+
}, /*#__PURE__*/React.createElement(_expandableMenuItemContext.SetIsExpandedContext.Provider, {
|
|
60
|
+
value: setIsExpanded
|
|
61
|
+
}, /*#__PURE__*/React.createElement(_expandableMenuItemContext.OnExpansionToggleContext.Provider, {
|
|
62
|
+
value: onExpansionToggle !== null && onExpansionToggle !== void 0 ? onExpansionToggle : null
|
|
63
|
+
}, /*#__PURE__*/React.createElement(_menuListItem.MenuListItem, {
|
|
64
|
+
ref: forwardedRef,
|
|
65
|
+
testId: testId
|
|
66
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: (0, _runtime.ax)([dropIndicator && relativeStyles.root])
|
|
68
|
+
}, children, dropIndicator)))));
|
|
69
|
+
});
|