diff --git a/change/@fluentui-react-tabster-83906204-6e9b-4809-a78f-8177a8ddca64.json b/change/@fluentui-react-tabster-83906204-6e9b-4809-a78f-8177a8ddca64.json new file mode 100644 index 00000000000000..33f46680355191 --- /dev/null +++ b/change/@fluentui-react-tabster-83906204-6e9b-4809-a78f-8177a8ddca64.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "useArrowNavigationGroup grid-linear axis", + "packageName": "@fluentui/react-tabster", + "email": "jukapsia@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/react-components/react-tabster/etc/react-tabster.api.md b/packages/react-components/react-tabster/etc/react-tabster.api.md index e2a7ba8fd51cf2..c12efb02d6d68c 100644 --- a/packages/react-components/react-tabster/etc/react-tabster.api.md +++ b/packages/react-components/react-tabster/etc/react-tabster.api.md @@ -49,7 +49,7 @@ export const useArrowNavigationGroup: (options?: UseArrowNavigationGroupOptions) // @public (undocumented) export interface UseArrowNavigationGroupOptions { - axis?: 'vertical' | 'horizontal' | 'grid' | 'both'; + axis?: 'vertical' | 'horizontal' | 'grid' | 'grid-linear' | 'both'; circular?: boolean; ignoreDefaultKeydown?: Types.FocusableProps['ignoreKeydown']; memorizeCurrent?: boolean; diff --git a/packages/react-components/react-tabster/package.json b/packages/react-components/react-tabster/package.json index 15e7a6e15e9013..93e3aa10dee277 100644 --- a/packages/react-components/react-tabster/package.json +++ b/packages/react-components/react-tabster/package.json @@ -37,7 +37,7 @@ "@griffel/react": "^1.5.7", "@swc/helpers": "^0.4.14", "keyborg": "^2.0.0", - "tabster": "^4.4.2" + "tabster": "^4.5.1" }, "peerDependencies": { "@types/react": ">=16.8.0 <19.0.0", diff --git a/packages/react-components/react-tabster/src/hooks/useArrowNavigationGroup.ts b/packages/react-components/react-tabster/src/hooks/useArrowNavigationGroup.ts index f9aca20f45e4af..736a5e63a0c459 100644 --- a/packages/react-components/react-tabster/src/hooks/useArrowNavigationGroup.ts +++ b/packages/react-components/react-tabster/src/hooks/useArrowNavigationGroup.ts @@ -7,7 +7,7 @@ export interface UseArrowNavigationGroupOptions { * Focus will navigate vertically, horizontally or in both directions (grid), defaults to horizontally * @defaultValue vertical */ - axis?: 'vertical' | 'horizontal' | 'grid' | 'both'; + axis?: 'vertical' | 'horizontal' | 'grid' | 'grid-linear' | 'both'; /** * Focus will cycle to the first/last elements of the group without stopping */ @@ -76,6 +76,8 @@ function axisToMoverDirection(axis: UseArrowNavigationGroupOptions['axis']): Typ return Types.MoverDirections.Horizontal; case 'grid': return Types.MoverDirections.Grid; + case 'grid-linear': + return Types.MoverDirections.GridLinear; case 'both': return Types.MoverDirections.Both; diff --git a/yarn.lock b/yarn.lock index b9fe0b851598ff..c31aa0b6b7f086 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24928,10 +24928,10 @@ table@^6.0.4, table@^6.0.7: string-width "^4.2.3" strip-ansi "^6.0.1" -tabster@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/tabster/-/tabster-4.4.2.tgz#df6a8990ed826301133531adb389267b7f8106dd" - integrity sha512-prscUoHg9WfWw2R0+LAlyBjtr0937qfC/s6/0/jO+sJls5pufLueazqHZC13fEV7fUPsGzTDbqchsq3TJLyPfA== +tabster@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/tabster/-/tabster-4.5.1.tgz#15540f07f7f5ad43c53224fa22f7f701a86bd372" + integrity sha512-Zbvy4RN308q2siLBuzAFbx4LbCjeU6EnKcxAoEYhVSu8buZcrPFeUlcwfU5AvkrwYU/rq3lNl5E7millpuWITw== dependencies: keyborg "^2.0.0" tslib "^2.3.1"