@fluentui/react-popover 9.5.9 → 9.5.10

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.json CHANGED
@@ -2,7 +2,34 @@
2
2
  "name": "@fluentui/react-popover",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 17 Apr 2023 17:50:03 GMT",
5
+ "date": "Mon, 24 Apr 2023 08:09:14 GMT",
6
+ "tag": "@fluentui/react-popover_v9.5.10",
7
+ "version": "9.5.10",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "bernardo.sunderhus@gmail.com",
12
+ "package": "@fluentui/react-popover",
13
+ "commit": "92f70e62b4c8256f81aae5d521477af851656f5d",
14
+ "comment": "bugfix: ensure legacyTrapFocus works properly"
15
+ },
16
+ {
17
+ "author": "bernardo.sunderhus@gmail.com",
18
+ "package": "@fluentui/react-popover",
19
+ "commit": "85c36e249b33b0bad79be4edd1a943dfc5233b11",
20
+ "comment": "bugfix: remove caret from react-jsx-runtime prerelease dependency"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@fluentui/react-popover",
25
+ "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.2",
26
+ "commit": "948b5bf9871303d1742f1b9a17a3bd4006ce2fea"
27
+ }
28
+ ]
29
+ }
30
+ },
31
+ {
32
+ "date": "Mon, 17 Apr 2023 17:53:52 GMT",
6
33
  "tag": "@fluentui/react-popover_v9.5.9",
7
34
  "version": "9.5.9",
8
35
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,23 @@
1
1
  # Change Log - @fluentui/react-popover
2
2
 
3
- This log was last generated on Mon, 17 Apr 2023 17:50:03 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 24 Apr 2023 08:09:14 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.5.10](https://github.com/microsoft/fluentui/tree/@fluentui/react-popover_v9.5.10)
8
+
9
+ Mon, 24 Apr 2023 08:09:14 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-popover_v9.5.9..@fluentui/react-popover_v9.5.10)
11
+
12
+ ### Patches
13
+
14
+ - bugfix: ensure legacyTrapFocus works properly ([PR #27574](https://github.com/microsoft/fluentui/pull/27574) by bernardo.sunderhus@gmail.com)
15
+ - bugfix: remove caret from react-jsx-runtime prerelease dependency ([PR #27588](https://github.com/microsoft/fluentui/pull/27588) by bernardo.sunderhus@gmail.com)
16
+ - Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.2 ([PR #27632](https://github.com/microsoft/fluentui/pull/27632) by beachball)
17
+
7
18
  ## [9.5.9](https://github.com/microsoft/fluentui/tree/@fluentui/react-popover_v9.5.9)
8
19
 
9
- Mon, 17 Apr 2023 17:50:03 GMT
20
+ Mon, 17 Apr 2023 17:53:52 GMT
10
21
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-popover_v9.5.8..@fluentui/react-popover_v9.5.9)
11
22
 
12
23
  ### Patches
@@ -105,10 +105,12 @@ export const usePopover_unstable = props => {
105
105
  firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
106
106
  }
107
107
  }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);
108
- var _props_inline;
108
+ var _props_inertTrapFocus, _props_inline;
109
109
  return {
110
110
  ...initialState,
111
111
  ...positioningRefs,
112
+ // eslint-disable-next-line deprecation/deprecation
113
+ inertTrapFocus: (_props_inertTrapFocus = props.inertTrapFocus) !== null && _props_inertTrapFocus !== void 0 ? _props_inertTrapFocus : props.legacyTrapFocus === undefined ? false : !props.legacyTrapFocus,
112
114
  popoverTrigger,
113
115
  popoverSurface,
114
116
  open,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useControllableState","useEventCallback","useOnClickOutside","useOnScrollOutside","useFluent_unstable","useFluent","usePositioning","resolvePositioningShorthand","mergeArrowOffset","usePositioningMouseTarget","elementContains","useFocusFinders","arrowHeights","popoverSurfaceBorderRadius","usePopover_unstable","props","contextTarget","setContextTarget","initialState","size","children","Children","toArray","process","env","NODE_ENV","length","console","warn","popoverTrigger","undefined","popoverSurface","open","setOpenState","useOpenState","setOpenTimeoutRef","useRef","setOpen","e","shouldOpen","clearTimeout","current","Event","persist","type","_props_mouseLeaveDelay","setTimeout","mouseLeaveDelay","useEffect","toggleOpen","useCallback","positioningRefs","usePopoverRefs","targetDocument","contains","element","callback","ev","refs","triggerRef","contentRef","disabled","closeOnScroll","openOnContext","findFirstFocusable","unstable_disableAutoFocus","_positioningRefs_contentRef_current_getAttribute","containerTabIndex","getAttribute","firstFocusable","isNaN","focus","_props_inline","inline","state","onOpenChange","data","_state_onOpenChange","call","defaultState","defaultOpen","positioningOptions","position","align","arrowPadding","target","positioning","coverTarget","withArrow","offset","targetRef","containerRef","arrowRef"],"sources":["../../../src/components/Popover/usePopover.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n useControllableState,\n useEventCallback,\n useOnClickOutside,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport {\n usePositioning,\n resolvePositioningShorthand,\n mergeArrowOffset,\n usePositioningMouseTarget,\n} from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport type { OpenPopoverEvents, PopoverProps, PopoverState } from './Popover.types';\nimport { popoverSurfaceBorderRadius } from './constants';\n\n/**\n * Create the state required to render Popover.\n *\n * The returned state can be modified with hooks such as usePopoverStyles,\n * before being passed to renderPopover_unstable.\n *\n * @param props - props from this instance of Popover\n */\nexport const usePopover_unstable = (props: PopoverProps): PopoverState => {\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props,\n } as const;\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at most two children');\n }\n }\n\n let popoverTrigger: React.ReactElement | undefined = undefined;\n let popoverSurface: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n popoverTrigger = children[0];\n popoverSurface = children[1];\n } else if (children.length === 1) {\n popoverSurface = children[0];\n }\n\n const [open, setOpenState] = useOpenState(initialState);\n\n const setOpenTimeoutRef = React.useRef(0);\n\n const setOpen = useEventCallback((e: OpenPopoverEvents, shouldOpen: boolean) => {\n clearTimeout(setOpenTimeoutRef.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave') {\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeoutRef.current = setTimeout(() => {\n setOpenState(e, shouldOpen);\n }, props.mouseLeaveDelay ?? 500);\n } else {\n setOpenState(e, shouldOpen);\n }\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeoutRef.current);\n };\n }, []);\n\n const toggleOpen = React.useCallback<PopoverState['toggleOpen']>(\n e => {\n setOpen(e, !open);\n },\n [setOpen, open],\n );\n\n const positioningRefs = usePopoverRefs(initialState);\n\n const { targetDocument } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open,\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open || !closeOnScroll,\n });\n\n const { findFirstFocusable } = useFocusFinders();\n\n React.useEffect(() => {\n if (props.unstable_disableAutoFocus) {\n return;\n }\n\n if (open && positioningRefs.contentRef.current) {\n const containerTabIndex = positioningRefs.contentRef.current.getAttribute('tabIndex') ?? undefined;\n const firstFocusable = isNaN(containerTabIndex)\n ? findFirstFocusable(positioningRefs.contentRef.current)\n : positioningRefs.contentRef.current;\n firstFocusable?.focus();\n }\n }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);\n\n return {\n ...initialState,\n ...positioningRefs,\n popoverTrigger,\n popoverSurface,\n open,\n setOpen,\n toggleOpen,\n setContextTarget,\n contextTarget,\n inline: props.inline ?? false,\n };\n};\n\n/**\n * Creates and manages the Popover open state\n */\nfunction useOpenState(\n state: Pick<PopoverState, 'setContextTarget' | 'onOpenChange'> & Pick<PopoverProps, 'open' | 'defaultOpen'>,\n) {\n const onOpenChange: PopoverState['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n state.open = open !== undefined ? open : state.open;\n const setContextTarget = state.setContextTarget;\n\n const setOpen = React.useCallback(\n (e: OpenPopoverEvents, shouldOpen: boolean) => {\n if (shouldOpen && e.type === 'contextmenu') {\n setContextTarget(e as React.MouseEvent);\n }\n\n if (!shouldOpen) {\n setContextTarget(undefined);\n }\n\n setOpenState(shouldOpen);\n onOpenChange?.(e, { open: shouldOpen });\n },\n [setOpenState, onOpenChange, setContextTarget],\n );\n\n return [open, setOpen] as const;\n}\n\n/**\n * Creates and sets the necessary trigger, target and content refs used by Popover\n */\nfunction usePopoverRefs(\n state: Pick<PopoverState, 'size' | 'contextTarget'> &\n Pick<PopoverProps, 'positioning' | 'openOnContext' | 'withArrow'>,\n) {\n const positioningOptions = {\n position: 'above' as const,\n align: 'center' as const,\n arrowPadding: 2 * popoverSurfaceBorderRadius,\n target: state.openOnContext ? state.contextTarget : undefined,\n ...resolvePositioningShorthand(state.positioning),\n };\n\n // no reason to render arrow when covering the target\n if (positioningOptions.coverTarget) {\n state.withArrow = false;\n }\n\n if (state.withArrow) {\n positioningOptions.offset = mergeArrowOffset(positioningOptions.offset, arrowHeights[state.size]);\n }\n\n const { targetRef: triggerRef, containerRef: contentRef, arrowRef } = usePositioning(positioningOptions);\n\n return {\n triggerRef,\n contentRef,\n arrowRef,\n } as const;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useControllableState","useEventCallback","useOnClickOutside","useOnScrollOutside","useFluent_unstable","useFluent","usePositioning","resolvePositioningShorthand","mergeArrowOffset","usePositioningMouseTarget","elementContains","useFocusFinders","arrowHeights","popoverSurfaceBorderRadius","usePopover_unstable","props","contextTarget","setContextTarget","initialState","size","children","Children","toArray","process","env","NODE_ENV","length","console","warn","popoverTrigger","undefined","popoverSurface","open","setOpenState","useOpenState","setOpenTimeoutRef","useRef","setOpen","e","shouldOpen","clearTimeout","current","Event","persist","type","_props_mouseLeaveDelay","setTimeout","mouseLeaveDelay","useEffect","toggleOpen","useCallback","positioningRefs","usePopoverRefs","targetDocument","contains","element","callback","ev","refs","triggerRef","contentRef","disabled","closeOnScroll","openOnContext","findFirstFocusable","unstable_disableAutoFocus","_positioningRefs_contentRef_current_getAttribute","containerTabIndex","getAttribute","firstFocusable","isNaN","focus","_props_inertTrapFocus","_props_inline","inertTrapFocus","legacyTrapFocus","inline","state","onOpenChange","data","_state_onOpenChange","call","defaultState","defaultOpen","positioningOptions","position","align","arrowPadding","target","positioning","coverTarget","withArrow","offset","targetRef","containerRef","arrowRef"],"sources":["../../../src/components/Popover/usePopover.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n useControllableState,\n useEventCallback,\n useOnClickOutside,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport {\n usePositioning,\n resolvePositioningShorthand,\n mergeArrowOffset,\n usePositioningMouseTarget,\n} from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport type { OpenPopoverEvents, PopoverProps, PopoverState } from './Popover.types';\nimport { popoverSurfaceBorderRadius } from './constants';\n\n/**\n * Create the state required to render Popover.\n *\n * The returned state can be modified with hooks such as usePopoverStyles,\n * before being passed to renderPopover_unstable.\n *\n * @param props - props from this instance of Popover\n */\nexport const usePopover_unstable = (props: PopoverProps): PopoverState => {\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props,\n } as const;\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at most two children');\n }\n }\n\n let popoverTrigger: React.ReactElement | undefined = undefined;\n let popoverSurface: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n popoverTrigger = children[0];\n popoverSurface = children[1];\n } else if (children.length === 1) {\n popoverSurface = children[0];\n }\n\n const [open, setOpenState] = useOpenState(initialState);\n\n const setOpenTimeoutRef = React.useRef(0);\n\n const setOpen = useEventCallback((e: OpenPopoverEvents, shouldOpen: boolean) => {\n clearTimeout(setOpenTimeoutRef.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave') {\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeoutRef.current = setTimeout(() => {\n setOpenState(e, shouldOpen);\n }, props.mouseLeaveDelay ?? 500);\n } else {\n setOpenState(e, shouldOpen);\n }\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeoutRef.current);\n };\n }, []);\n\n const toggleOpen = React.useCallback<PopoverState['toggleOpen']>(\n e => {\n setOpen(e, !open);\n },\n [setOpen, open],\n );\n\n const positioningRefs = usePopoverRefs(initialState);\n\n const { targetDocument } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open,\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open || !closeOnScroll,\n });\n\n const { findFirstFocusable } = useFocusFinders();\n\n React.useEffect(() => {\n if (props.unstable_disableAutoFocus) {\n return;\n }\n\n if (open && positioningRefs.contentRef.current) {\n const containerTabIndex = positioningRefs.contentRef.current.getAttribute('tabIndex') ?? undefined;\n const firstFocusable = isNaN(containerTabIndex)\n ? findFirstFocusable(positioningRefs.contentRef.current)\n : positioningRefs.contentRef.current;\n firstFocusable?.focus();\n }\n }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);\n\n return {\n ...initialState,\n ...positioningRefs,\n // eslint-disable-next-line deprecation/deprecation\n inertTrapFocus: props.inertTrapFocus ?? (props.legacyTrapFocus === undefined ? false : !props.legacyTrapFocus),\n popoverTrigger,\n popoverSurface,\n open,\n setOpen,\n toggleOpen,\n setContextTarget,\n contextTarget,\n inline: props.inline ?? false,\n };\n};\n\n/**\n * Creates and manages the Popover open state\n */\nfunction useOpenState(\n state: Pick<PopoverState, 'setContextTarget' | 'onOpenChange'> & Pick<PopoverProps, 'open' | 'defaultOpen'>,\n) {\n const onOpenChange: PopoverState['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n state.open = open !== undefined ? open : state.open;\n const setContextTarget = state.setContextTarget;\n\n const setOpen = React.useCallback(\n (e: OpenPopoverEvents, shouldOpen: boolean) => {\n if (shouldOpen && e.type === 'contextmenu') {\n setContextTarget(e as React.MouseEvent);\n }\n\n if (!shouldOpen) {\n setContextTarget(undefined);\n }\n\n setOpenState(shouldOpen);\n onOpenChange?.(e, { open: shouldOpen });\n },\n [setOpenState, onOpenChange, setContextTarget],\n );\n\n return [open, setOpen] as const;\n}\n\n/**\n * Creates and sets the necessary trigger, target and content refs used by Popover\n */\nfunction usePopoverRefs(\n state: Pick<PopoverState, 'size' | 'contextTarget'> &\n Pick<PopoverProps, 'positioning' | 'openOnContext' | 'withArrow'>,\n) {\n const positioningOptions = {\n position: 'above' as const,\n align: 'center' as const,\n arrowPadding: 2 * popoverSurfaceBorderRadius,\n target: state.openOnContext ? state.contextTarget : undefined,\n ...resolvePositioningShorthand(state.positioning),\n };\n\n // no reason to render arrow when covering the target\n if (positioningOptions.coverTarget) {\n state.withArrow = false;\n }\n\n if (state.withArrow) {\n positioningOptions.offset = mergeArrowOffset(positioningOptions.offset, arrowHeights[state.size]);\n }\n\n const { targetRef: triggerRef, containerRef: contentRef, arrowRef } = usePositioning(positioningOptions);\n\n return {\n triggerRef,\n contentRef,\n arrowRef,\n } as const;\n}\n"],"mappings":"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"}
@@ -116,10 +116,12 @@ const usePopover_unstable = (props)=>{
116
116
  positioningRefs.contentRef,
117
117
  props.unstable_disableAutoFocus
118
118
  ]);
119
- var _props_inline;
119
+ var _props_inertTrapFocus, _props_inline;
120
120
  return {
121
121
  ...initialState,
122
122
  ...positioningRefs,
123
+ // eslint-disable-next-line deprecation/deprecation
124
+ inertTrapFocus: (_props_inertTrapFocus = props.inertTrapFocus) !== null && _props_inertTrapFocus !== void 0 ? _props_inertTrapFocus : props.legacyTrapFocus === undefined ? false : !props.legacyTrapFocus,
123
125
  popoverTrigger,
124
126
  popoverSurface,
125
127
  open,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/Popover/usePopover.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback, useOnClickOutside, useOnScrollOutside } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { usePositioning, resolvePositioningShorthand, mergeArrowOffset, usePositioningMouseTarget } from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport { popoverSurfaceBorderRadius } from './constants';\n/**\n * Create the state required to render Popover.\n *\n * The returned state can be modified with hooks such as usePopoverStyles,\n * before being passed to renderPopover_unstable.\n *\n * @param props - props from this instance of Popover\n */\nexport const usePopover_unstable = props => {\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props\n };\n const children = React.Children.toArray(props.children);\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at least one child');\n }\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at most two children');\n }\n }\n let popoverTrigger = undefined;\n let popoverSurface = undefined;\n if (children.length === 2) {\n popoverTrigger = children[0];\n popoverSurface = children[1];\n } else if (children.length === 1) {\n popoverSurface = children[0];\n }\n const [open, setOpenState] = useOpenState(initialState);\n const setOpenTimeoutRef = React.useRef(0);\n const setOpen = useEventCallback((e, shouldOpen) => {\n clearTimeout(setOpenTimeoutRef.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n if (e.type === 'mouseleave') {\n var _props_mouseLeaveDelay;\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeoutRef.current = setTimeout(() => {\n setOpenState(e, shouldOpen);\n }, (_props_mouseLeaveDelay = props.mouseLeaveDelay) !== null && _props_mouseLeaveDelay !== void 0 ? _props_mouseLeaveDelay : 500);\n } else {\n setOpenState(e, shouldOpen);\n }\n });\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeoutRef.current);\n };\n }, []);\n const toggleOpen = React.useCallback(e => {\n setOpen(e, !open);\n }, [setOpen, open]);\n const positioningRefs = usePopoverRefs(initialState);\n const {\n targetDocument\n } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open\n });\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open || !closeOnScroll\n });\n const {\n findFirstFocusable\n } = useFocusFinders();\n React.useEffect(() => {\n if (props.unstable_disableAutoFocus) {\n return;\n }\n if (open && positioningRefs.contentRef.current) {\n var _positioningRefs_contentRef_current_getAttribute;\n const containerTabIndex = (_positioningRefs_contentRef_current_getAttribute = positioningRefs.contentRef.current.getAttribute('tabIndex')) !== null && _positioningRefs_contentRef_current_getAttribute !== void 0 ? _positioningRefs_contentRef_current_getAttribute : undefined;\n const firstFocusable = isNaN(containerTabIndex) ? findFirstFocusable(positioningRefs.contentRef.current) : positioningRefs.contentRef.current;\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }\n }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);\n var _props_inline;\n return {\n ...initialState,\n ...positioningRefs,\n popoverTrigger,\n popoverSurface,\n open,\n setOpen,\n toggleOpen,\n setContextTarget,\n contextTarget,\n inline: (_props_inline = props.inline) !== null && _props_inline !== void 0 ? _props_inline : false\n };\n};\n/**\n * Creates and manages the Popover open state\n */\nfunction useOpenState(state) {\n const onOpenChange = useEventCallback((e, data) => {\n var _state_onOpenChange;\n return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, e, data);\n });\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false\n });\n state.open = open !== undefined ? open : state.open;\n const setContextTarget = state.setContextTarget;\n const setOpen = React.useCallback((e, shouldOpen) => {\n if (shouldOpen && e.type === 'contextmenu') {\n setContextTarget(e);\n }\n if (!shouldOpen) {\n setContextTarget(undefined);\n }\n setOpenState(shouldOpen);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(e, {\n open: shouldOpen\n });\n }, [setOpenState, onOpenChange, setContextTarget]);\n return [open, setOpen];\n}\n/**\n * Creates and sets the necessary trigger, target and content refs used by Popover\n */\nfunction usePopoverRefs(state) {\n const positioningOptions = {\n position: 'above',\n align: 'center',\n arrowPadding: 2 * popoverSurfaceBorderRadius,\n target: state.openOnContext ? state.contextTarget : undefined,\n ...resolvePositioningShorthand(state.positioning)\n };\n // no reason to render arrow when covering the target\n if (positioningOptions.coverTarget) {\n state.withArrow = false;\n }\n if (state.withArrow) {\n positioningOptions.offset = mergeArrowOffset(positioningOptions.offset, arrowHeights[state.size]);\n }\n const {\n targetRef: triggerRef,\n containerRef: contentRef,\n arrowRef\n } = usePositioning(positioningOptions);\n return {\n triggerRef,\n contentRef,\n arrowRef\n };\n}\n//# sourceMappingURL=usePopover.js.map"],"names":["usePopover_unstable","props","contextTarget","setContextTarget","usePositioningMouseTarget","initialState","size","children","React","Children","toArray","process","env","NODE_ENV","length","console","warn","popoverTrigger","undefined","popoverSurface","open","setOpenState","useOpenState","setOpenTimeoutRef","useRef","setOpen","useEventCallback","e","shouldOpen","clearTimeout","current","Event","persist","type","_props_mouseLeaveDelay","setTimeout","mouseLeaveDelay","useEffect","toggleOpen","useCallback","positioningRefs","usePopoverRefs","targetDocument","useFluent","useOnClickOutside","contains","elementContains","element","callback","ev","refs","triggerRef","contentRef","disabled","closeOnScroll","openOnContext","useOnScrollOutside","findFirstFocusable","useFocusFinders","unstable_disableAutoFocus","_positioningRefs_contentRef_current_getAttribute","containerTabIndex","getAttribute","firstFocusable","isNaN","focus","_props_inline","inline","state","onOpenChange","data","_state_onOpenChange","call","useControllableState","defaultState","defaultOpen","positioningOptions","position","align","arrowPadding","popoverSurfaceBorderRadius","target","resolvePositioningShorthand","positioning","coverTarget","withArrow","offset","mergeArrowOffset","arrowHeights","targetRef","containerRef","arrowRef","usePositioning"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../lib/components/Popover/usePopover.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback, useOnClickOutside, useOnScrollOutside } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { usePositioning, resolvePositioningShorthand, mergeArrowOffset, usePositioningMouseTarget } from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport { popoverSurfaceBorderRadius } from './constants';\n/**\n * Create the state required to render Popover.\n *\n * The returned state can be modified with hooks such as usePopoverStyles,\n * before being passed to renderPopover_unstable.\n *\n * @param props - props from this instance of Popover\n */\nexport const usePopover_unstable = props => {\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props\n };\n const children = React.Children.toArray(props.children);\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at least one child');\n }\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at most two children');\n }\n }\n let popoverTrigger = undefined;\n let popoverSurface = undefined;\n if (children.length === 2) {\n popoverTrigger = children[0];\n popoverSurface = children[1];\n } else if (children.length === 1) {\n popoverSurface = children[0];\n }\n const [open, setOpenState] = useOpenState(initialState);\n const setOpenTimeoutRef = React.useRef(0);\n const setOpen = useEventCallback((e, shouldOpen) => {\n clearTimeout(setOpenTimeoutRef.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n if (e.type === 'mouseleave') {\n var _props_mouseLeaveDelay;\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeoutRef.current = setTimeout(() => {\n setOpenState(e, shouldOpen);\n }, (_props_mouseLeaveDelay = props.mouseLeaveDelay) !== null && _props_mouseLeaveDelay !== void 0 ? _props_mouseLeaveDelay : 500);\n } else {\n setOpenState(e, shouldOpen);\n }\n });\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeoutRef.current);\n };\n }, []);\n const toggleOpen = React.useCallback(e => {\n setOpen(e, !open);\n }, [setOpen, open]);\n const positioningRefs = usePopoverRefs(initialState);\n const {\n targetDocument\n } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open\n });\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open || !closeOnScroll\n });\n const {\n findFirstFocusable\n } = useFocusFinders();\n React.useEffect(() => {\n if (props.unstable_disableAutoFocus) {\n return;\n }\n if (open && positioningRefs.contentRef.current) {\n var _positioningRefs_contentRef_current_getAttribute;\n const containerTabIndex = (_positioningRefs_contentRef_current_getAttribute = positioningRefs.contentRef.current.getAttribute('tabIndex')) !== null && _positioningRefs_contentRef_current_getAttribute !== void 0 ? _positioningRefs_contentRef_current_getAttribute : undefined;\n const firstFocusable = isNaN(containerTabIndex) ? findFirstFocusable(positioningRefs.contentRef.current) : positioningRefs.contentRef.current;\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }\n }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);\n var _props_inertTrapFocus, _props_inline;\n return {\n ...initialState,\n ...positioningRefs,\n // eslint-disable-next-line deprecation/deprecation\n inertTrapFocus: (_props_inertTrapFocus = props.inertTrapFocus) !== null && _props_inertTrapFocus !== void 0 ? _props_inertTrapFocus : props.legacyTrapFocus === undefined ? false : !props.legacyTrapFocus,\n popoverTrigger,\n popoverSurface,\n open,\n setOpen,\n toggleOpen,\n setContextTarget,\n contextTarget,\n inline: (_props_inline = props.inline) !== null && _props_inline !== void 0 ? _props_inline : false\n };\n};\n/**\n * Creates and manages the Popover open state\n */\nfunction useOpenState(state) {\n const onOpenChange = useEventCallback((e, data) => {\n var _state_onOpenChange;\n return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, e, data);\n });\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false\n });\n state.open = open !== undefined ? open : state.open;\n const setContextTarget = state.setContextTarget;\n const setOpen = React.useCallback((e, shouldOpen) => {\n if (shouldOpen && e.type === 'contextmenu') {\n setContextTarget(e);\n }\n if (!shouldOpen) {\n setContextTarget(undefined);\n }\n setOpenState(shouldOpen);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(e, {\n open: shouldOpen\n });\n }, [setOpenState, onOpenChange, setContextTarget]);\n return [open, setOpen];\n}\n/**\n * Creates and sets the necessary trigger, target and content refs used by Popover\n */\nfunction usePopoverRefs(state) {\n const positioningOptions = {\n position: 'above',\n align: 'center',\n arrowPadding: 2 * popoverSurfaceBorderRadius,\n target: state.openOnContext ? state.contextTarget : undefined,\n ...resolvePositioningShorthand(state.positioning)\n };\n // no reason to render arrow when covering the target\n if (positioningOptions.coverTarget) {\n state.withArrow = false;\n }\n if (state.withArrow) {\n positioningOptions.offset = mergeArrowOffset(positioningOptions.offset, arrowHeights[state.size]);\n }\n const {\n targetRef: triggerRef,\n containerRef: contentRef,\n arrowRef\n } = usePositioning(positioningOptions);\n return {\n triggerRef,\n contentRef,\n arrowRef\n };\n}\n//# sourceMappingURL=usePopover.js.map"],"names":["usePopover_unstable","props","contextTarget","setContextTarget","usePositioningMouseTarget","initialState","size","children","React","Children","toArray","process","env","NODE_ENV","length","console","warn","popoverTrigger","undefined","popoverSurface","open","setOpenState","useOpenState","setOpenTimeoutRef","useRef","setOpen","useEventCallback","e","shouldOpen","clearTimeout","current","Event","persist","type","_props_mouseLeaveDelay","setTimeout","mouseLeaveDelay","useEffect","toggleOpen","useCallback","positioningRefs","usePopoverRefs","targetDocument","useFluent","useOnClickOutside","contains","elementContains","element","callback","ev","refs","triggerRef","contentRef","disabled","closeOnScroll","openOnContext","useOnScrollOutside","findFirstFocusable","useFocusFinders","unstable_disableAutoFocus","_positioningRefs_contentRef_current_getAttribute","containerTabIndex","getAttribute","firstFocusable","isNaN","focus","_props_inertTrapFocus","_props_inline","inertTrapFocus","legacyTrapFocus","inline","state","onOpenChange","data","_state_onOpenChange","call","useControllableState","defaultState","defaultOpen","positioningOptions","position","align","arrowPadding","popoverSurfaceBorderRadius","target","resolvePositioningShorthand","positioning","coverTarget","withArrow","offset","mergeArrowOffset","arrowHeights","targetRef","containerRef","arrowRef","usePositioning"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-popover",
3
- "version": "9.5.9",
3
+ "version": "9.5.10",
4
4
  "description": "Popover component for Fluent UI",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -44,7 +44,7 @@
44
44
  "@fluentui/react-tabster": "^9.6.5",
45
45
  "@fluentui/react-theme": "^9.1.7",
46
46
  "@fluentui/react-utilities": "^9.8.0",
47
- "@fluentui/react-jsx-runtime": "^9.0.0-alpha.1",
47
+ "@fluentui/react-jsx-runtime": "9.0.0-alpha.2",
48
48
  "@griffel/react": "^1.5.2",
49
49
  "@swc/helpers": "^0.4.14"
50
50
  },