import React, { useRef } from "react";
import { GridKeyboardNavigationContext, useGridKeyboardNavigationContext } from "../GridKeyboardNavigationContext";
import { createStoryMetaSettingsDecorator } from "../../../storybook/functions/createStoryMetaSettingsDecorator";
import {
DummyNavigableGrid,
LayoutWithInnerKeyboardNavigation
} from "./useGridKeyboardNavigationContext.stories.helpers";
import { Flex } from "../..";
import { useGridContextMultipleDepthsPlaySuite } from "../__tests__/useGridKeyboardNavigationContext.interactions";
const metaSettings = createStoryMetaSettingsDecorator({
component: useGridKeyboardNavigationContext
});
export default {
title: "Hooks/useGridKeyboardNavigationContext",
component: useGridKeyboardNavigationContext,
argTypes: metaSettings.argTypes,
decorators: metaSettings.decorators
};
export const Overview = {
render: () => {
const wrapperRef = useRef(null);
const leftElRef = useRef(null);
const rightElRef = useRef(null);
const keyboardContext = useGridKeyboardNavigationContext(
[
{
leftElement: leftElRef,
rightElement: rightElRef
}
],
wrapperRef
);
return (
);
},
name: "Overview"
};
export const DisabledElements = {
render: () => {
const wrapperRef = useRef(null);
const topElRef = useRef(null);
const middleElRef = useRef(null);
const bottomElRef = useRef(null);
const keyboardContext = useGridKeyboardNavigationContext(
[
{
topElement: topElRef,
bottomElement: middleElRef
},
{
topElement: middleElRef,
bottomElement: bottomElRef
}
],
wrapperRef
);
return (
);
},
name: "Disabled Elements"
};
export const MultipleDepths = {
render: () => {
const wrapperRef = useRef(null);
const topElRef = useRef(null);
const bottomElRef = useRef(null);
const keyboardContext = useGridKeyboardNavigationContext(
[
{
topElement: topElRef,
bottomElement: bottomElRef
}
],
wrapperRef
);
return (
);
},
name: "Multiple Depths",
play: useGridContextMultipleDepthsPlaySuite
};