diff --git a/packages/components/src/spectrum/utils/itemUtils.test.tsx b/packages/components/src/spectrum/utils/itemUtils.test.tsx index e2cdad44c7..4be6d49580 100644 --- a/packages/components/src/spectrum/utils/itemUtils.test.tsx +++ b/packages/components/src/spectrum/utils/itemUtils.test.tsx @@ -289,4 +289,9 @@ describe('normalizeTooltipOptions', () => { const actual = normalizeTooltipOptions(options); expect(actual).toEqual(expected); }); + + it('should allow overriding default placement', () => { + const actual = normalizeTooltipOptions(true, 'top'); + expect(actual).toEqual({ placement: 'top' }); + }); }); diff --git a/packages/components/src/spectrum/utils/itemUtils.ts b/packages/components/src/spectrum/utils/itemUtils.ts index b00db9af65..eb7065b94b 100644 --- a/packages/components/src/spectrum/utils/itemUtils.ts +++ b/packages/components/src/spectrum/utils/itemUtils.ts @@ -288,18 +288,21 @@ export function normalizeItemList( /** * Returns a TooltipOptions object or null if options is false or null. - * @param options + * @param options Tooltip options + * @param placement Default placement for the tooltip if `options` is set + * explicitly to `true` * @returns TooltipOptions or null */ export function normalizeTooltipOptions( - options?: boolean | TooltipOptions | null + options?: boolean | TooltipOptions | null, + placement: TooltipOptions['placement'] = 'right' ): TooltipOptions | null { if (options == null || options === false) { return null; } if (options === true) { - return { placement: 'right' }; + return { placement }; } return options;