intergalactic 15.56.0 → 15.57.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 +20 -1
- package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
- package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
- package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
- package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
- package/base-trigger/lib/es6/BaseTrigger.js +18 -18
- package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
- package/base-trigger/lib/es6/FilterTrigger.js +7 -7
- package/base-trigger/lib/es6/LinkTrigger.js +12 -12
- package/components.json +73 -73
- package/date-picker/lib/cjs/components/Calendar.js +21 -21
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +26 -26
- package/date-picker/lib/cjs/components/InputTrigger.js +26 -26
- package/date-picker/lib/cjs/components/PickerAbstract.js +26 -26
- package/date-picker/lib/cjs/components/RangePickerAbstract.js +26 -26
- package/date-picker/lib/es6/components/Calendar.js +21 -21
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +26 -26
- package/date-picker/lib/es6/components/InputTrigger.js +26 -26
- package/date-picker/lib/es6/components/PickerAbstract.js +26 -26
- package/date-picker/lib/es6/components/RangePickerAbstract.js +26 -26
- package/dropdown-menu/lib/cjs/DropdownMenu.js +2 -4
- package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/es6/DropdownMenu.js +2 -4
- package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
- package/icon/Hashtag/l/index.d.ts +6 -0
- package/icon/Hashtag/l/index.js +38 -0
- package/icon/Hashtag/l/index.mjs +26 -0
- package/icon/Hashtag/m/index.d.ts +6 -0
- package/icon/Hashtag/m/index.js +38 -0
- package/icon/Hashtag/m/index.mjs +26 -0
- package/package.json +1 -1
- package/popper/index.d.ts +6 -1
- package/popper/lib/cjs/Popper.js +72 -173
- package/popper/lib/cjs/Popper.js.map +1 -1
- package/popper/lib/cjs/index.d.js.map +1 -1
- package/popper/lib/es6/Popper.js +74 -175
- package/popper/lib/es6/Popper.js.map +1 -1
- package/popper/lib/es6/index.d.js.map +1 -1
- package/popper/lib/types/index.d.ts +6 -1
- package/select/lib/cjs/InputSearch.js +6 -6
- package/select/lib/cjs/Select.js +11 -27
- package/select/lib/cjs/Select.js.map +1 -1
- package/select/lib/es6/InputSearch.js +6 -6
- package/select/lib/es6/Select.js +11 -27
- package/select/lib/es6/Select.js.map +1 -1
- package/textarea/lib/cjs/Textarea.js +8 -8
- package/textarea/lib/es6/Textarea.js +8 -8
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/tooltip/lib/cjs/Tooltip.js +2 -1
- package/tooltip/lib/cjs/Tooltip.js.map +1 -1
- package/tooltip/lib/es6/Tooltip.js +2 -1
- package/tooltip/lib/es6/Tooltip.js.map +1 -1
- package/utils/lib/focus-lock/focusBorders.d.ts +3 -0
- package/utils/lib/focus-lock/focusBorders.js +43 -0
- package/utils/lib/focus-lock/focusBorders.js.map +1 -0
- package/utils/lib/focus-lock/focusBorders.mjs +34 -0
- package/utils/lib/focus-lock/focusBorders.mjs.map +1 -0
- package/utils/lib/focus-lock/getFocusableIn.d.ts +1 -0
- package/utils/lib/focus-lock/getFocusableIn.js +26 -0
- package/utils/lib/focus-lock/getFocusableIn.js.map +1 -0
- package/utils/lib/focus-lock/getFocusableIn.mjs +19 -0
- package/utils/lib/focus-lock/getFocusableIn.mjs.map +1 -0
- package/utils/lib/focus-lock/isFocusInside.d.ts +1 -0
- package/utils/lib/focus-lock/isFocusInside.js +16 -0
- package/utils/lib/focus-lock/isFocusInside.js.map +1 -0
- package/utils/lib/focus-lock/isFocusInside.mjs +9 -0
- package/utils/lib/focus-lock/isFocusInside.mjs.map +1 -0
- package/utils/lib/focus-lock/isFocusable.d.ts +1 -0
- package/utils/lib/focus-lock/isFocusable.js +44 -0
- package/utils/lib/focus-lock/isFocusable.js.map +1 -0
- package/utils/lib/focus-lock/isFocusable.mjs +36 -0
- package/utils/lib/focus-lock/isFocusable.mjs.map +1 -0
- package/utils/lib/focus-lock/setFocus.d.ts +1 -0
- package/utils/lib/focus-lock/setFocus.js +63 -0
- package/utils/lib/focus-lock/setFocus.js.map +1 -0
- package/utils/lib/focus-lock/setFocus.mjs +55 -0
- package/utils/lib/focus-lock/setFocus.mjs.map +1 -0
- package/utils/lib/hasParent.d.ts +1 -0
- package/utils/lib/hasParent.js +14 -0
- package/utils/lib/hasParent.js.map +1 -0
- package/utils/lib/hasParent.mjs +7 -0
- package/utils/lib/hasParent.mjs.map +1 -0
- package/utils/lib/use/useFocusLock.d.ts +4 -3
- package/utils/lib/use/useFocusLock.js +45 -97
- package/utils/lib/use/useFocusLock.js.map +1 -1
- package/utils/lib/use/useFocusLock.mjs +30 -92
- package/utils/lib/use/useFocusLock.mjs.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { DOMAttributes } from 'react';\nimport { Options, Instance } from '@popperjs/core/lib/types';\nimport { Options as OptionsOffset } from '@popperjs/core/lib/modifiers/offset';\nimport { Options as OptionsPreventOverflow } from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { Options as OptionsArrow } from '@popperjs/core/lib/modifiers/arrow';\nimport { Options as OptionsFlip } from '@popperjs/core/lib/modifiers/flip';\nimport { Options as OptionsComputeStyles } from '@popperjs/core/lib/modifiers/computeStyles';\nimport { Options as OptionsEventListeners } from '@popperjs/core/lib/modifiers/eventListeners';\n\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { OutsideClickProps } from '@semcore/outside-click';\nimport { PortalProps } from '@semcore/portal';\nimport { BoxProps } from '@semcore/flex-box';\nimport { ScaleProps } from '@semcore/animation';\nimport { NeighborLocationProps } from '@semcore/neighbor-location';\nimport { UniqueIDProps } from '@semcore/utils/lib/uniqueID';\n\nexport type eventInteraction = {\n trigger: [Array<keyof DOMAttributes<unknown>>, Array<keyof DOMAttributes<unknown>>];\n popper: [Array<keyof DOMAttributes<unknown>>, Array<keyof DOMAttributes<unknown>>];\n};\n\nexport type Strategy = Options['strategy'];\nexport type Modifiers = Options['modifiers'];\nexport type Placement = Options['placement'];\n\n/** @deprecated */\nexport interface IPopperProps extends PopperProps, UnknownProperties {}\nexport type PopperProps = OutsideClickProps &\n PortalProps &\n UniqueIDProps &\n Omit<ScaleProps, 'placement'> & {\n /**\n * Popper can have different positioning options\n * @default absolute\n */\n strategy?: Strategy;\n /**\n * Modifiers for popper.js\n */\n modifiers?: Modifiers;\n /**\n * The position of the popper relative to the trigger that called it.\n * 'auto-start' | 'auto' | 'auto-end' | 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-end' | 'bottom' | 'bottom-start' | 'left-end' | 'left' | 'left-start'\n * @default auto\n */\n placement?: Placement;\n /**\n * Interaction with a trigger to show and hide the popper\n * @default click\n */\n interaction?: 'click' | 'hover' | 'focus' | 'none' | eventInteraction;\n /** Timer to show and hide the popper */\n timeout?: number | [number, number];\n /** Popper visibility value */\n visible?: boolean;\n /** Default popper visibility\n * @default false */\n defaultVisible?: boolean;\n /** Function called when visibility changes */\n onVisibleChange?: (visible: boolean, e?: Event) => boolean | void;\n /** PopperJS modifier settings for popper indent */\n offset?: Partial<OptionsOffset> | number | [number, number];\n /** PopperJS modifier settings for finding borders */\n preventOverflow?: Partial<OptionsPreventOverflow>;\n /** PopperJS modifier settings responsible for the arrow */\n arrow?: Partial<OptionsArrow>;\n /** PopperJS modifier settings responsible for turning the popper when there is not enough space */\n flip?: Partial<OptionsFlip>;\n /** PopperJS modifier settings for applying styles */\n computeStyles?: Partial<OptionsComputeStyles>;\n /** PopperJS modifier settings responsible for subscribing to global events */\n eventListeners?: Partial<OptionsEventListeners>;\n /** @ignore */\n onFirstUpdate?: Options['onFirstUpdate'];\n /**\n * Flag for disable Popover (if true, it will close Popper and it will not respond to handlers)\n * @default false\n */\n disabled?: boolean;\n /**\n * Disabled focus trap, autofocus and focus return\n */\n disableEnforceFocus?: boolean;\n };\n\n/** @deprecated */\nexport interface IPopperTriggerProps extends PopperTriggerProps, UnknownProperties {}\nexport type PopperTriggerProps = BoxProps & {\n /**\n * Disabled focus trap, autofocus and focus return\n */\n disableEnforceFocus?: boolean;\n};\n\n/** @deprecated */\nexport interface IPopperPopperProps extends PopperPopperProps, UnknownProperties {}\nexport type PopperPopperProps = BoxProps &\n NeighborLocationProps & {\n /**\n * Disabled focus trap, autofocus and focus return\n */\n disableEnforceFocus?: boolean;\n };\n\n/** @deprecated */\nexport interface IPopperContext extends PopperContext, UnknownProperties {}\nexport type PopperContext = {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n popper: Instance;\n // Rename to setTriggerRef\n setTrigger: (ref: HTMLElement) => void;\n setPopper: (ref: HTMLElement) => void;\n};\n\n/** @deprecated */\nexport interface IPopperHandlers extends PopperHandlers, UnknownProperties {}\nexport type PopperHandlers = {\n visible: (visible: boolean) => void;\n};\n\ndeclare const Popper: Intergalactic.Component<\n 'div',\n PopperProps,\n PopperContext,\n [handlers: PopperHandlers]\n> & {\n Trigger: Intergalactic.Component<\n 'div',\n PopperTriggerProps,\n PopperContext,\n [handlers: PopperHandlers]\n >;\n Popper: Intergalactic.Component<\n 'div',\n PopperPopperProps,\n PopperContext,\n [handlers: PopperHandlers]\n >;\n};\n\nexport default Popper;\n"],"mappings":""}
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { DOMAttributes } from 'react';\nimport { Options, Instance } from '@popperjs/core/lib/types';\nimport { Options as OptionsOffset } from '@popperjs/core/lib/modifiers/offset';\nimport { Options as OptionsPreventOverflow } from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { Options as OptionsArrow } from '@popperjs/core/lib/modifiers/arrow';\nimport { Options as OptionsFlip } from '@popperjs/core/lib/modifiers/flip';\nimport { Options as OptionsComputeStyles } from '@popperjs/core/lib/modifiers/computeStyles';\nimport { Options as OptionsEventListeners } from '@popperjs/core/lib/modifiers/eventListeners';\n\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { OutsideClickProps } from '@semcore/outside-click';\nimport { PortalProps } from '@semcore/portal';\nimport { BoxProps } from '@semcore/flex-box';\nimport { ScaleProps } from '@semcore/animation';\nimport { NeighborLocationProps } from '@semcore/neighbor-location';\nimport { UniqueIDProps } from '@semcore/utils/lib/uniqueID';\n\nexport type eventInteraction = {\n trigger: [Array<keyof DOMAttributes<unknown>>, Array<keyof DOMAttributes<unknown>>];\n popper: [Array<keyof DOMAttributes<unknown>>, Array<keyof DOMAttributes<unknown>>];\n};\n\nexport type Strategy = Options['strategy'];\nexport type Modifiers = Options['modifiers'];\nexport type Placement = Options['placement'];\n\n/** @deprecated */\nexport interface IPopperProps extends PopperProps, UnknownProperties {}\nexport type PopperProps = OutsideClickProps &\n PortalProps &\n UniqueIDProps &\n Omit<ScaleProps, 'placement'> & {\n /**\n * Popper can have different positioning options\n * @default absolute\n */\n strategy?: Strategy;\n /**\n * Modifiers for popper.js\n */\n modifiers?: Modifiers;\n /**\n * The position of the popper relative to the trigger that called it.\n * 'auto-start' | 'auto' | 'auto-end' | 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-end' | 'bottom' | 'bottom-start' | 'left-end' | 'left' | 'left-start'\n * @default auto\n */\n placement?: Placement;\n /**\n * Interaction with a trigger to show and hide the popper\n * @default click\n */\n interaction?: 'click' | 'hover' | 'focus' | 'none' | eventInteraction;\n /** Timer to show and hide the popper */\n timeout?: number | [number, number];\n /** Popper visibility value */\n visible?: boolean;\n /** Default popper visibility\n * @default false */\n defaultVisible?: boolean;\n /** Function called when visibility changes */\n onVisibleChange?: (visible: boolean, e?: Event) => boolean | void;\n /** PopperJS modifier settings for popper indent */\n offset?: Partial<OptionsOffset> | number | [number, number];\n /** PopperJS modifier settings for finding borders */\n preventOverflow?: Partial<OptionsPreventOverflow>;\n /** PopperJS modifier settings responsible for the arrow */\n arrow?: Partial<OptionsArrow>;\n /** PopperJS modifier settings responsible for turning the popper when there is not enough space */\n flip?: Partial<OptionsFlip>;\n /** PopperJS modifier settings for applying styles */\n computeStyles?: Partial<OptionsComputeStyles>;\n /** PopperJS modifier settings responsible for subscribing to global events */\n eventListeners?: Partial<OptionsEventListeners>;\n /** @ignore */\n onFirstUpdate?: Options['onFirstUpdate'];\n /**\n * Flag for disable Popover (if true, it will close Popper and it will not respond to handlers)\n * @default false\n */\n disabled?: boolean;\n /**\n * Disabled focus trap, autofocus and focus return\n */\n disableEnforceFocus?: boolean /**\n * If enabled, after reaching the end of popper the browser focus goes to the start of popper and vice versa.\n * If disabled, after reading the end of popper the browser focus returns to trigger and popper is being closed.\n * @default `true` (`false` in Tooltip)\n */;\n focusLoop?: boolean;\n };\n\n/** @deprecated */\nexport interface IPopperTriggerProps extends PopperTriggerProps, UnknownProperties {}\nexport type PopperTriggerProps = BoxProps & {\n /**\n * Disabled focus trap, autofocus and focus return\n */\n disableEnforceFocus?: boolean;\n};\n\n/** @deprecated */\nexport interface IPopperPopperProps extends PopperPopperProps, UnknownProperties {}\nexport type PopperPopperProps = BoxProps &\n NeighborLocationProps & {\n /**\n * Disabled focus trap, autofocus and focus return\n */\n disableEnforceFocus?: boolean;\n };\n\n/** @deprecated */\nexport interface IPopperContext extends PopperContext, UnknownProperties {}\nexport type PopperContext = {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n popper: Instance;\n // Rename to setTriggerRef\n setTrigger: (ref: HTMLElement) => void;\n setPopper: (ref: HTMLElement) => void;\n};\n\n/** @deprecated */\nexport interface IPopperHandlers extends PopperHandlers, UnknownProperties {}\nexport type PopperHandlers = {\n visible: (visible: boolean) => void;\n};\n\ndeclare const Popper: Intergalactic.Component<\n 'div',\n PopperProps,\n PopperContext,\n [handlers: PopperHandlers]\n> & {\n Trigger: Intergalactic.Component<\n 'div',\n PopperTriggerProps,\n PopperContext,\n [handlers: PopperHandlers]\n >;\n Popper: Intergalactic.Component<\n 'div',\n PopperPopperProps,\n PopperContext,\n [handlers: PopperHandlers]\n >;\n};\n\nexport default Popper;\n"],"mappings":""}
|
package/popper/lib/es6/Popper.js
CHANGED
@@ -14,8 +14,7 @@ import { assignProps as _assignProps2 } from 'intergalactic/core';
|
|
14
14
|
import { assignProps as _assignProps } from 'intergalactic/core';
|
15
15
|
var _excluded = ["placement", "modifiers", "strategy", "onFirstUpdate"],
|
16
16
|
_excluded2 = ["onKeyDown"],
|
17
|
-
_excluded3 = ["
|
18
|
-
_excluded4 = ["onKeyDown"];
|
17
|
+
_excluded3 = ["onKeyDown"];
|
19
18
|
import React from 'react';
|
20
19
|
import canUseDOM from 'intergalactic/utils/lib/canUseDOM';
|
21
20
|
import createComponent, { Component, sstyled, Root } from 'intergalactic/core';
|
@@ -24,16 +23,16 @@ import OutsideClick from 'intergalactic/outside-click';
|
|
24
23
|
import Portal, { PortalProvider } from 'intergalactic/portal';
|
25
24
|
import NeighborLocation from 'intergalactic/neighbor-location';
|
26
25
|
import { setRef } from 'intergalactic/utils/lib/ref';
|
27
|
-
import { useFocusLock, isFocusInside } from 'intergalactic/utils/lib/use/useFocusLock';
|
26
|
+
import { useFocusLock, isFocusInside, setFocus } from 'intergalactic/utils/lib/use/useFocusLock';
|
28
27
|
import { callAllEventHandlers } from 'intergalactic/utils/lib/assignProps';
|
29
28
|
import pick from 'intergalactic/utils/lib/pick';
|
30
|
-
import logger from 'intergalactic/utils/lib/logger';
|
31
29
|
import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
|
32
30
|
import { Scale, animationContext } from 'intergalactic/animation';
|
33
31
|
import { cssVariableEnhance } from 'intergalactic/utils/lib/useCssVariable';
|
34
32
|
import { useContextTheme } from 'intergalactic/utils/lib/ThemeProvider';
|
35
33
|
import { ScreenReaderOnly } from 'intergalactic/utils/lib/ScreenReaderOnly';
|
36
|
-
import keyboardFocusEnhance, { useFocusSource
|
34
|
+
import keyboardFocusEnhance, { useFocusSource } from 'intergalactic/utils/lib/enhances/keyboardFocusEnhance';
|
35
|
+
import { hasParent } from 'intergalactic/utils/lib/hasParent';
|
37
36
|
import _createPopper from './createPopper';
|
38
37
|
/*__reshadow-styles__:"./style/popper.shadow.css"*/
|
39
38
|
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPopper_18pzs_gg_{outline:0;z-index:var(--intergalactic-z-index-popper, 700);color:var(--intergalactic-text-primary, #191b23)}.___SPopper_18pzs_gg_.__keyboardFocused_18pzs_gg_:focus:after{position:absolute;display:block;content:\"\";top:0;right:0;bottom:0;left:0;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none}.___SPopper_18pzs_gg_.__keyboardFocused_18pzs_gg_.__hideFocus_18pzs_gg_:focus:after{box-shadow:none}.___SFocusHint_18pzs_gg_{display:none}.___STrigger_18pzs_gg_:focus .___SFocusHint_18pzs_gg_,.___STrigger_18pzs_gg_:focus-within .___SFocusHint_18pzs_gg_{display:inline}" /*__inner_css_end__*/, "18pzs_gg_") /*__reshadow_css_end__*/, {
|
@@ -99,9 +98,11 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
99
98
|
}
|
100
99
|
});
|
101
100
|
_defineProperty(_assertThisInitialized(_this), "triggerRef", /*#__PURE__*/React.createRef());
|
102
|
-
_defineProperty(_assertThisInitialized(_this), "focusableTriggerReturnFocusToRef", /*#__PURE__*/React.createRef());
|
103
101
|
_defineProperty(_assertThisInitialized(_this), "popperRef", /*#__PURE__*/React.createRef());
|
104
102
|
_defineProperty(_assertThisInitialized(_this), "popper", /*#__PURE__*/React.createRef());
|
103
|
+
_defineProperty(_assertThisInitialized(_this), "state", {
|
104
|
+
ignoreTriggerFocusUntil: 0
|
105
|
+
});
|
105
106
|
_defineProperty(_assertThisInitialized(_this), "createTriggerRef", function (ref) {
|
106
107
|
if (ref && _this.triggerRef.current !== ref) {
|
107
108
|
setRef(_this.triggerRef, ref);
|
@@ -162,8 +163,13 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
162
163
|
_defineProperty(_assertThisInitialized(_this), "bindHandlerKeyDown", function (onKeyDown) {
|
163
164
|
return callAllEventHandlers(onKeyDown, _this.handlerKeyDown);
|
164
165
|
});
|
165
|
-
_defineProperty(_assertThisInitialized(_this), "bindHandlerChangeVisibleWithTimer", function (visible, component) {
|
166
|
+
_defineProperty(_assertThisInitialized(_this), "bindHandlerChangeVisibleWithTimer", function (visible, component, action) {
|
166
167
|
return function (e) {
|
168
|
+
var now = Date.now();
|
169
|
+
var focusAction = ['onFocus', 'onKeyboardFocus', 'onFocusCapture'].includes(action);
|
170
|
+
if (now < _this.state.ignoreTriggerFocusUntil && visible && component === 'trigger' && focusAction) {
|
171
|
+
return;
|
172
|
+
}
|
167
173
|
var currentTarget = e === null || e === void 0 ? void 0 : e.currentTarget;
|
168
174
|
_this.handlerChangeVisibleWithTimer(visible, e, function () {
|
169
175
|
clearTimeout(_this.timerMultiTrigger);
|
@@ -178,6 +184,16 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
178
184
|
}
|
179
185
|
}, 0);
|
180
186
|
});
|
187
|
+
var ignoringDuration = 2000;
|
188
|
+
if (!visible) {
|
189
|
+
_this.setState({
|
190
|
+
ignoreTriggerFocusUntil: now + ignoringDuration
|
191
|
+
});
|
192
|
+
} else if (now < _this.state.ignoreTriggerFocusUntil + ignoringDuration) {
|
193
|
+
_this.setState({
|
194
|
+
ignoreTriggerFocusUntil: 0
|
195
|
+
});
|
196
|
+
}
|
181
197
|
};
|
182
198
|
});
|
183
199
|
_defineProperty(_assertThisInitialized(_this), "handlerChangeVisibleWithTimer", function (visible, e, cb) {
|
@@ -194,6 +210,18 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
194
210
|
cb();
|
195
211
|
}, latency);
|
196
212
|
});
|
213
|
+
_defineProperty(_assertThisInitialized(_this), "handleTriggerBlur", function () {
|
214
|
+
setTimeout(function () {
|
215
|
+
_this.setState({
|
216
|
+
ignoreTriggerFocusUntil: 0
|
217
|
+
});
|
218
|
+
}, 0);
|
219
|
+
});
|
220
|
+
_defineProperty(_assertThisInitialized(_this), "handlePopperFocusOut", function (event) {
|
221
|
+
if (_this.asProps.focusLoop) return;
|
222
|
+
if (hasParent(event.target, _this.triggerRef.current)) return;
|
223
|
+
_this.bindHandlerChangeVisibleWithTimer(false, 'popper', 'onBlur')(event);
|
224
|
+
});
|
197
225
|
if (canUseDOM()) {
|
198
226
|
_this.observer = new ResizeObserver(function () {
|
199
227
|
requestAnimationFrame(function () {
|
@@ -254,13 +282,13 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
254
282
|
var crossEvents = someArray(showEvents, hideEvents);
|
255
283
|
var handlers = {};
|
256
284
|
showEvents.forEach(function (action) {
|
257
|
-
handlers[action] = _this3.bindHandlerChangeVisibleWithTimer(true, component);
|
285
|
+
handlers[action] = _this3.bindHandlerChangeVisibleWithTimer(true, component, action);
|
258
286
|
});
|
259
287
|
hideEvents.forEach(function (action) {
|
260
|
-
handlers[action] = _this3.bindHandlerChangeVisibleWithTimer(false, component);
|
288
|
+
handlers[action] = _this3.bindHandlerChangeVisibleWithTimer(false, component, action);
|
261
289
|
});
|
262
290
|
crossEvents.forEach(function (action) {
|
263
|
-
handlers[action] = visible ? _this3.bindHandlerChangeVisibleWithTimer(false, component) : _this3.bindHandlerChangeVisibleWithTimer(true, component);
|
291
|
+
handlers[action] = visible ? _this3.bindHandlerChangeVisibleWithTimer(false, component, action) : _this3.bindHandlerChangeVisibleWithTimer(true, component, action);
|
264
292
|
});
|
265
293
|
return handlers;
|
266
294
|
}
|
@@ -281,9 +309,9 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
281
309
|
interaction: interaction
|
282
310
|
}, interactionProps), {}, {
|
283
311
|
onKeyDown: this.bindHandlerKeyDown(onKeyDown),
|
284
|
-
focusableTriggerReturnFocusToRef: this.focusableTriggerReturnFocusToRef,
|
285
312
|
disableEnforceFocus: disableEnforceFocus,
|
286
|
-
popperRef: this.popperRef
|
313
|
+
popperRef: this.popperRef,
|
314
|
+
onBlur: callAllEventHandlers(this.handleTriggerBlur, interactionProps.onBlur)
|
287
315
|
});
|
288
316
|
}
|
289
317
|
}, {
|
@@ -296,12 +324,11 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
296
324
|
placement = _this$asProps4.placement,
|
297
325
|
duration = _this$asProps4.duration,
|
298
326
|
animationsDisabled = _this$asProps4.animationsDisabled,
|
299
|
-
disableEnforceFocus = _this$asProps4.disableEnforceFocus
|
300
|
-
other = _objectWithoutProperties(_this$asProps4, _excluded3);
|
327
|
+
disableEnforceFocus = _this$asProps4.disableEnforceFocus;
|
301
328
|
// @ts-ignore
|
302
329
|
var _this$handlersFromInt2 = this.handlersFromInteraction(interaction, 'popper', visible),
|
303
330
|
onKeyDown = _this$handlersFromInt2.onKeyDown,
|
304
|
-
interactionProps = _objectWithoutProperties(_this$handlersFromInt2,
|
331
|
+
interactionProps = _objectWithoutProperties(_this$handlersFromInt2, _excluded3);
|
305
332
|
return _objectSpread(_objectSpread({
|
306
333
|
ref: this.createPopperRef,
|
307
334
|
triggerRef: this.triggerRef,
|
@@ -314,8 +341,8 @@ var Popper = /*#__PURE__*/function (_Component) {
|
|
314
341
|
duration: duration,
|
315
342
|
animationsDisabled: animationsDisabled,
|
316
343
|
popper: this.popper,
|
317
|
-
|
318
|
-
|
344
|
+
disableEnforceFocus: disableEnforceFocus,
|
345
|
+
handleFocusOut: this.handlePopperFocusOut
|
319
346
|
});
|
320
347
|
}
|
321
348
|
}, {
|
@@ -362,7 +389,8 @@ _defineProperty(Popper, "defaultProps", {
|
|
362
389
|
strategy: 'absolute',
|
363
390
|
interaction: 'click',
|
364
391
|
timeout: 0,
|
365
|
-
excludeRefs: []
|
392
|
+
excludeRefs: [],
|
393
|
+
focusLoop: true
|
366
394
|
});
|
367
395
|
_defineProperty(Popper, "enhance", [uniqueIDEnhancement(), cssVariableEnhance({
|
368
396
|
variable: '--intergalactic-duration-popper',
|
@@ -370,144 +398,17 @@ _defineProperty(Popper, "enhance", [uniqueIDEnhancement(), cssVariableEnhance({
|
|
370
398
|
map: Number.parseInt,
|
371
399
|
prop: 'duration'
|
372
400
|
})]);
|
373
|
-
var getElementNestingIndexes = function getElementNestingIndexes(element) {
|
374
|
-
var chain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set([element, document.body]);
|
375
|
-
if (!(element !== null && element !== void 0 && element.parentElement)) return [];
|
376
|
-
var index = Array.from(element.parentElement.children).indexOf(element);
|
377
|
-
if (chain.has(element.parentElement)) return [index];
|
378
|
-
chain.add(element.parentElement);
|
379
|
-
return [].concat(_toConsumableArray(getElementNestingIndexes(element.parentElement, chain)), [index]);
|
380
|
-
};
|
381
|
-
var useReturnFocusEl = function useReturnFocusEl(interaction, onKeyboardFocus, disable) {
|
382
|
-
var _React$useState = React.useState(false),
|
383
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
384
|
-
keyboardFocused = _React$useState2[0],
|
385
|
-
setKeyboardFocused = _React$useState2[1];
|
386
|
-
var _React$useState3 = React.useState(null),
|
387
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
388
|
-
returnFocusEl = _React$useState4[0],
|
389
|
-
setReturnFocusEl = _React$useState4[1];
|
390
|
-
var focusSourceRef = useFocusSource();
|
391
|
-
var handleFocus = React.useCallback(function (event) {
|
392
|
-
if (focusSourceRef.current !== 'keyboard') return;
|
393
|
-
onKeyboardFocus === null || onKeyboardFocus === void 0 ? void 0 : onKeyboardFocus();
|
394
|
-
if (disable) return;
|
395
|
-
if (interaction !== 'focus') return;
|
396
|
-
if (!event.relatedTarget) {
|
397
|
-
setReturnFocusEl('after');
|
398
|
-
}
|
399
|
-
var focusToNesting = getElementNestingIndexes(event.target);
|
400
|
-
var focusFromNesting = getElementNestingIndexes(event.relatedTarget);
|
401
|
-
var nestingLength = Math.max(focusToNesting.length, focusFromNesting.length);
|
402
|
-
for (var i = 0; i < nestingLength; i++) {
|
403
|
-
if (focusFromNesting[i] === undefined) {
|
404
|
-
setReturnFocusEl('after'); // <div tabIndex="0" id="focus1" /> <input id="focus2" /> </div>
|
405
|
-
return;
|
406
|
-
}
|
407
|
-
if (focusFromNesting[i] > focusToNesting[i]) {
|
408
|
-
setReturnFocusEl('before'); // <input id="focus2" /> <input id="focus1" />
|
409
|
-
return;
|
410
|
-
}
|
411
|
-
}
|
412
|
-
setReturnFocusEl('after'); // <input id="focus1" /> <input id="focus2" />
|
413
|
-
}, [interaction, onKeyboardFocus, disable]);
|
414
|
-
var handleFocusReturnElFocus = React.useCallback(function () {
|
415
|
-
if (focusSourceRef.current !== 'keyboard') return;
|
416
|
-
setKeyboardFocused(true);
|
417
|
-
}, []);
|
418
|
-
var handleFocusReturnElBlur = React.useCallback(function () {
|
419
|
-
setTimeout(function () {
|
420
|
-
return setReturnFocusEl(null);
|
421
|
-
}, 0);
|
422
|
-
setKeyboardFocused(false);
|
423
|
-
}, []);
|
424
|
-
return {
|
425
|
-
returnFocusEl: returnFocusEl,
|
426
|
-
handleFocus: handleFocus,
|
427
|
-
handleFocusReturnElFocus: handleFocusReturnElFocus,
|
428
|
-
handleFocusReturnElBlur: handleFocusReturnElBlur,
|
429
|
-
keyboardFocused: keyboardFocused
|
430
|
-
};
|
431
|
-
};
|
432
|
-
var useFocusCatch = function useFocusCatch(active, interaction, triggerRef, popperRef) {
|
433
|
-
var activeRef = React.useRef(active);
|
434
|
-
activeRef.current = active;
|
435
|
-
var _React$useState5 = React.useState(false),
|
436
|
-
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
437
|
-
keyboardFocused = _React$useState6[0],
|
438
|
-
setKeyboardFocused = _React$useState6[1];
|
439
|
-
var _React$useState7 = React.useState(false),
|
440
|
-
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
441
|
-
focusCatch = _React$useState8[0],
|
442
|
-
setFocusCatch = _React$useState8[1];
|
443
|
-
var focusSourceRef = useFocusSource();
|
444
|
-
var handleFocusCatchFocus = React.useCallback(function () {
|
445
|
-
if (focusSourceRef.current !== 'keyboard') return;
|
446
|
-
setKeyboardFocused(true);
|
447
|
-
}, []);
|
448
|
-
var handleFocusCatchBlur = React.useCallback(function () {
|
449
|
-
setFocusCatch(false);
|
450
|
-
setKeyboardFocused(false);
|
451
|
-
}, []);
|
452
|
-
var handleFocusCatchRef = React.useCallback(function (node) {
|
453
|
-
if (activeRef.current) return setFocusCatch(false);
|
454
|
-
if (!isFocusInside(popperRef.current) && document.activeElement !== document.body) return setFocusCatch(false);
|
455
|
-
node === null || node === void 0 ? void 0 : node.focus();
|
456
|
-
}, []);
|
457
|
-
React.useEffect(function () {
|
458
|
-
if (!active) return;
|
459
|
-
if (!popperRef.current) return;
|
460
|
-
return function () {
|
461
|
-
setTimeout(function () {
|
462
|
-
if (activeRef.current) return;
|
463
|
-
if (!isFocusInside(popperRef.current) && document.activeElement !== document.body) return;
|
464
|
-
if (interaction === 'hover' || interaction === 'focus') {
|
465
|
-
setFocusCatch(true);
|
466
|
-
} else {
|
467
|
-
var _triggerRef$current;
|
468
|
-
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
|
469
|
-
}
|
470
|
-
}, 1);
|
471
|
-
};
|
472
|
-
}, [active, interaction]);
|
473
|
-
return {
|
474
|
-
focusCatch: focusCatch,
|
475
|
-
handleFocusCatchFocus: handleFocusCatchFocus,
|
476
|
-
handleFocusCatchBlur: handleFocusCatchBlur,
|
477
|
-
handleFocusCatchRef: handleFocusCatchRef,
|
478
|
-
keyboardFocused: keyboardFocused
|
479
|
-
};
|
480
|
-
};
|
481
|
-
var focusCatcherStyles = {
|
482
|
-
position: 'fixed'
|
483
|
-
};
|
484
401
|
function Trigger(props) {
|
485
402
|
var _ref = arguments[0];
|
486
403
|
var STrigger = Box;
|
487
404
|
var SFocusHint = 'span';
|
488
405
|
var Children = props.Children,
|
489
|
-
interaction = props.interaction,
|
490
|
-
focusableTriggerReturnFocusToRef = props.focusableTriggerReturnFocusToRef,
|
491
406
|
focusHint = props.focusHint,
|
492
407
|
onKeyboardFocus = props.onKeyboardFocus,
|
493
|
-
|
408
|
+
highlighted = props.highlighted,
|
494
409
|
active = props.active,
|
495
|
-
popperRef = props.popperRef
|
496
|
-
highlighted = props.highlighted;
|
410
|
+
popperRef = props.popperRef;
|
497
411
|
var triggerRef = React.useRef();
|
498
|
-
var _useReturnFocusEl = useReturnFocusEl(interaction, onKeyboardFocus, disableEnforceFocus),
|
499
|
-
returnFocusEl = _useReturnFocusEl.returnFocusEl,
|
500
|
-
handleFocusReturnElBlur = _useReturnFocusEl.handleFocusReturnElBlur,
|
501
|
-
handleFocus = _useReturnFocusEl.handleFocus,
|
502
|
-
returnElKeyboardFocused = _useReturnFocusEl.keyboardFocused;
|
503
|
-
var _useFocusCatch = useFocusCatch(active, interaction, triggerRef, popperRef),
|
504
|
-
focusCatch = _useFocusCatch.focusCatch,
|
505
|
-
handleFocusReturnElFocus = _useFocusCatch.handleFocusReturnElFocus,
|
506
|
-
handleFocusCatchFocus = _useFocusCatch.handleFocusCatchFocus,
|
507
|
-
handleFocusCatchBlur = _useFocusCatch.handleFocusCatchBlur,
|
508
|
-
handleFocusCatchRef = _useFocusCatch.handleFocusCatchRef,
|
509
|
-
focusCatchKeyboardFocused = _useFocusCatch.keyboardFocused;
|
510
|
-
var enforceKeyboardFocused = returnElKeyboardFocused || focusCatchKeyboardFocused;
|
511
412
|
React.useEffect(function () {
|
512
413
|
if (highlighted === true) {
|
513
414
|
onKeyboardFocus({
|
@@ -515,35 +416,34 @@ function Trigger(props) {
|
|
515
416
|
});
|
516
417
|
}
|
517
418
|
}, [highlighted]);
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
419
|
+
var focusSourceRef = useFocusSource();
|
420
|
+
var handleFocus = React.useCallback(function () {
|
421
|
+
if (focusSourceRef.current !== 'keyboard') return;
|
422
|
+
onKeyboardFocus === null || onKeyboardFocus === void 0 ? void 0 : onKeyboardFocus();
|
423
|
+
}, [onKeyboardFocus]);
|
424
|
+
var activeRef = React.useRef(active);
|
425
|
+
activeRef.current = active;
|
426
|
+
React.useEffect(function () {
|
427
|
+
if (!active) return;
|
428
|
+
if (!popperRef.current) return;
|
429
|
+
return function () {
|
430
|
+
setTimeout(function () {
|
431
|
+
if (activeRef.current) return;
|
432
|
+
if (!isFocusInside(popperRef.current) && document.activeElement !== document.body) return;
|
433
|
+
setFocus(triggerRef.current);
|
434
|
+
}, 1);
|
435
|
+
};
|
436
|
+
}, [active]);
|
437
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(STrigger, _assignProps({
|
527
438
|
"inline": true,
|
528
439
|
"role": 'button',
|
529
440
|
"aria-haspopup": true,
|
441
|
+
"ref": triggerRef,
|
530
442
|
"onFocus": handleFocus,
|
531
|
-
"
|
532
|
-
}, _ref), /*#__PURE__*/React.createElement(Children, null))
|
443
|
+
"onBlur": props.onBlur
|
444
|
+
}, _ref), /*#__PURE__*/React.createElement(Children, null)), focusHint && false && /*#__PURE__*/React.createElement(SFocusHint, {
|
533
445
|
"aria-live": "polite"
|
534
|
-
}, /*#__PURE__*/React.createElement(ScreenReaderOnly, null, focusHint))
|
535
|
-
tabIndex: "0",
|
536
|
-
ref: focusableTriggerReturnFocusToRef,
|
537
|
-
onBlur: handleFocusReturnElBlur,
|
538
|
-
onFocus: handleFocusReturnElFocus,
|
539
|
-
style: focusCatcherStyles
|
540
|
-
}), focusCatch && /*#__PURE__*/React.createElement("div", {
|
541
|
-
tabIndex: "0",
|
542
|
-
ref: handleFocusCatchRef,
|
543
|
-
onFocus: handleFocusCatchFocus,
|
544
|
-
onBlur: handleFocusCatchBlur,
|
545
|
-
style: focusCatcherStyles
|
546
|
-
}));
|
446
|
+
}, /*#__PURE__*/React.createElement(ScreenReaderOnly, null, focusHint)));
|
547
447
|
}
|
548
448
|
function PopperPopper(props) {
|
549
449
|
var _ref2 = arguments[0],
|
@@ -556,22 +456,21 @@ function PopperPopper(props) {
|
|
556
456
|
ignorePortalsStacking = props.ignorePortalsStacking,
|
557
457
|
disableEnforceFocus = props.disableEnforceFocus,
|
558
458
|
triggerRef = props.triggerRef,
|
559
|
-
interaction = props.interaction,
|
560
459
|
autoFocus = props.autoFocus,
|
561
460
|
controlsLength = props.controlsLength,
|
562
461
|
duration = props.duration,
|
563
462
|
animationsDisabled = props.animationsDisabled,
|
564
463
|
popper = props.popper,
|
565
|
-
focusableTriggerReturnFocusToRef = props.focusableTriggerReturnFocusToRef,
|
566
464
|
_props$focusMaster = props.focusMaster,
|
567
|
-
focusMaster = _props$focusMaster === void 0 ? false : _props$focusMaster
|
465
|
+
focusMaster = _props$focusMaster === void 0 ? false : _props$focusMaster,
|
466
|
+
handleFocusOut = props.handleFocusOut;
|
568
467
|
var ref = React.useRef(null);
|
569
468
|
|
570
469
|
// https://github.com/facebook/react/issues/11387
|
571
470
|
var stopPropagation = React.useCallback(function (event) {
|
572
471
|
return event.stopPropagation();
|
573
472
|
}, []);
|
574
|
-
useFocusLock(ref, autoFocus,
|
473
|
+
useFocusLock(ref, autoFocus, triggerRef, !visible || disableEnforceFocus, focusMaster, handleFocusOut);
|
575
474
|
useContextTheme(ref, visible);
|
576
475
|
var updatePopperEveryFrame = useUpdatePopperEveryFrame(popper);
|
577
476
|
var handleAnimationStart = React.useCallback(function (duration) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Popper.js","names":["React","canUseDOM","createComponent","Component","sstyled","Root","Box","OutsideClick","Portal","PortalProvider","NeighborLocation","setRef","useFocusLock","isFocusInside","callAllEventHandlers","pick","logger","uniqueIDEnhancement","Scale","animationContext","cssVariableEnhance","useContextTheme","ScreenReaderOnly","keyboardFocusEnhance","useFocusSource","enforcedKeyboardFocusEnhanceContext","createPopper","style","_sstyled","insert","isObject","obj","_typeof","Array","isArray","someArray","arr1","arr2","filter","i","indexOf","useUpdatePopperEveryFrame","popperRef","nextAnimationFrameRef","useRef","handleAnimationFrame","useCallback","until","_popperRef$current","Date","now","current","update","requestAnimationFrame","useEffect","cancelAnimationFrame","MODIFIERS_OPTIONS","Popper","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","click","trigger","popper","hover","focus","none","createRef","ref","triggerRef","_this$asProps","asProps","placement","modifiers","strategy","onFirstUpdate","other","_objectWithoutProperties","_excluded","optionsModifiers","modifiersFallback","offset","modifiersOptions","name","undefined","map","options","push","gpuAcceleration","modifiersMerge","concat","_toConsumableArray","_this$observer","_this$observer2","observer","observe","e","visible","key","stopPropagation","bindHandlerChangeVisibleWithTimer","onKeyDown","handlerKeyDown","component","currentTarget","handlerChangeVisibleWithTimer","clearTimeout","timerMultiTrigger","setTimeout","state","elements","reference","setOptions","cb","_this$asProps2","timeout","disabled","handlers","timeoutConfig","latency","timer","ResizeObserver","_this$popper$current","_createClass","value","uncontrolledProps","__disablePopper","getPopperOptions","componentDidUpdate","prevProps","_this2","popperProps","some","propName","destroyPopper","_this$observer3","disconnect","destroy","handlersFromInteraction","interaction","_this3","eventInteraction","eventsInteractionMap","_eventInteraction$com","_slicedToArray","_eventInteraction$com2","showEvents","_eventInteraction$com3","hideEvents","crossEvents","forEach","action","getTriggerProps","_this$asProps3","disableEnforceFocus","_this$handlersFromInt","interactionProps","_excluded2","_objectSpread","createTriggerRef","active","bindHandlerKeyDown","focusableTriggerReturnFocusToRef","getPopperProps","_this$asProps4","disablePortal","duration","animationsDisabled","_excluded3","_this$handlersFromInt2","_excluded4","createPopperRef","setContext","setTrigger","setPopper","componentWillUnmount","render","_this$asProps5","Children","root","onOutsideClick","excludeRefs","createElement","Fragment","defaultVisible","arrow","padding","variable","fallback","Number","parseInt","prop","getElementNestingIndexes","element","chain","arguments","length","Set","document","body","parentElement","index","from","children","has","add","useReturnFocusEl","onKeyboardFocus","disable","_React$useState","useState","_React$useState2","keyboardFocused","setKeyboardFocused","_React$useState3","_React$useState4","returnFocusEl","setReturnFocusEl","focusSourceRef","handleFocus","event","relatedTarget","focusToNesting","target","focusFromNesting","nestingLength","Math","max","handleFocusReturnElFocus","handleFocusReturnElBlur","useFocusCatch","activeRef","_React$useState5","_React$useState6","_React$useState7","_React$useState8","focusCatch","setFocusCatch","handleFocusCatchFocus","handleFocusCatchBlur","handleFocusCatchRef","node","activeElement","_triggerRef$current","focusCatcherStyles","position","Trigger","_ref","arguments[0]","STrigger","SFocusHint","focusHint","highlighted","_useReturnFocusEl","returnElKeyboardFocused","_useFocusCatch","focusCatchKeyboardFocused","enforceKeyboardFocused","tabIndex","onBlur","onFocus","Provider","_assignProps","PopperPopper","_ref2","_ref3","SPopper","styles","ignorePortalsStacking","autoFocus","controlsLength","_props$focusMaster","focusMaster","updatePopperEveryFrame","handleAnimationStart","min","handleAnimationEnd","_popper$current","animationCtx","useContext","unsubscribeAnimationStart","onAnimationStart","unsubscribeAnimationEnd","onAnimationEnd","cn","_assignProps2","enhance"],"sources":["../../src/Popper.jsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport { useFocusLock, isFocusInside } from '@semcore/utils/lib/use/useFocusLock';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport pick from '@semcore/utils/lib/pick';\nimport logger from '@semcore/utils/lib/logger';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { Scale, animationContext } from '@semcore/animation';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\nimport { ScreenReaderOnly } from '@semcore/utils/lib/ScreenReaderOnly';\nimport keyboardFocusEnhance, {\n useFocusSource,\n enforcedKeyboardFocusEnhanceContext,\n} from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nimport createPopper from './createPopper';\n\nimport style from './style/popper.shadow.css';\n\nfunction isObject(obj) {\n return typeof obj === 'object' && !Array.isArray(obj);\n}\n\nfunction someArray(arr1, arr2) {\n return arr1.filter(function (i) {\n return arr2.indexOf(i) !== -1;\n });\n}\n\nconst useUpdatePopperEveryFrame = (popperRef) => {\n const nextAnimationFrameRef = React.useRef(-1);\n const handleAnimationFrame = React.useCallback((until) => {\n if (until < Date.now()) return;\n popperRef.current?.update();\n nextAnimationFrameRef.current = requestAnimationFrame(() => handleAnimationFrame(until));\n }, []);\n React.useEffect(() => () => cancelAnimationFrame(nextAnimationFrameRef.current), []);\n return handleAnimationFrame;\n};\n\nconst MODIFIERS_OPTIONS = [\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n];\n\nclass Popper extends Component {\n static displayName = 'Popper';\n\n static style = style;\n\n static defaultProps = {\n defaultVisible: false,\n placement: 'auto',\n modifiers: [],\n arrow: {\n padding: 6,\n },\n strategy: 'absolute',\n interaction: 'click',\n timeout: 0,\n excludeRefs: [],\n };\n\n static enhance = [\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-popper',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n\n eventsInteractionMap = {\n click: {\n trigger: [['onClick'], ['onClick']],\n popper: [],\n },\n hover: {\n trigger: [\n ['onMouseEnter', 'onKeyboardFocus'],\n ['onMouseLeave', 'onBlur'],\n ],\n popper: [['onMouseEnter', 'onFocusCapture'], ['onMouseLeave']],\n },\n focus: {\n trigger: [['onFocus'], ['onBlur']],\n // to intercept faster than onBlur on the trigger\n popper: [['onFocusCapture'], ['onBlur']],\n },\n none: {\n trigger: [],\n popper: [],\n },\n };\n\n // timer: ReturnType<typeof setTimeout>;\n // observer: ResizeObserver;\n triggerRef = React.createRef();\n focusableTriggerReturnFocusToRef = React.createRef();\n popperRef = React.createRef();\n popper = React.createRef();\n\n constructor(props) {\n super(props);\n if (canUseDOM()) {\n this.observer = new ResizeObserver(() => {\n requestAnimationFrame(() => {\n this.popper.current?.update();\n });\n });\n }\n }\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n createTriggerRef = (ref) => {\n if (ref && this.triggerRef.current !== ref) {\n setRef(this.triggerRef, ref);\n this.createPopper();\n }\n };\n\n createPopperRef = (ref) => {\n if (ref && this.popperRef.current !== ref) {\n setRef(this.popperRef, ref);\n this.createPopper();\n }\n };\n\n getPopperOptions = () => {\n const { placement, modifiers, strategy, onFirstUpdate, ...other } = this.asProps;\n const optionsModifiers = pick(other, MODIFIERS_OPTIONS);\n const modifiersFallback = [];\n\n if (typeof optionsModifiers.offset === 'number') {\n optionsModifiers.offset = [0, optionsModifiers.offset];\n }\n const modifiersOptions = MODIFIERS_OPTIONS.filter(\n (name) => optionsModifiers[name] !== undefined,\n ).map((name) => ({\n name,\n options: isObject(optionsModifiers[name])\n ? optionsModifiers[name]\n : { [name]: optionsModifiers[name] },\n }));\n\n modifiersOptions.push({\n name: 'computeStyles',\n options: { gpuAcceleration: false },\n });\n\n const modifiersMerge = [...modifiersFallback, ...modifiersOptions].concat(modifiers);\n\n return {\n placement,\n strategy,\n onFirstUpdate: callAllEventHandlers(onFirstUpdate, () => {\n this.observer?.observe(this.triggerRef.current);\n this.observer?.observe(this.popperRef.current);\n }),\n modifiers: modifiersMerge,\n };\n };\n\n createPopper() {\n if (!this.triggerRef.current || !this.popperRef.current) return;\n if (this.asProps.__disablePopper) return;\n\n this.popper.current = createPopper(\n this.triggerRef.current,\n this.popperRef.current,\n this.getPopperOptions(),\n );\n }\n\n componentDidUpdate(prevProps) {\n const popperProps = [\n 'strategy',\n 'placement',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n ];\n if (\n this.popper.current &&\n popperProps.some((propName) => prevProps[propName] !== this.asProps[propName])\n ) {\n this.popper.current.setOptions(this.getPopperOptions());\n }\n }\n\n destroyPopper() {\n clearTimeout(this.timer);\n clearTimeout(this.timerMultiTrigger);\n\n this.observer?.disconnect();\n\n if (this.popper.current) {\n this.popper.current.destroy();\n this.popper.current = null;\n }\n }\n\n handlersFromInteraction(interaction, component, visible) {\n const eventInteraction =\n typeof interaction === 'string' ? this.eventsInteractionMap[interaction] : interaction;\n\n const [showEvents = [], hideEvents = []] = eventInteraction[component];\n const crossEvents = someArray(showEvents, hideEvents);\n const handlers = {};\n\n showEvents.forEach((action) => {\n handlers[action] = this.bindHandlerChangeVisibleWithTimer(true, component);\n });\n hideEvents.forEach((action) => {\n handlers[action] = this.bindHandlerChangeVisibleWithTimer(false, component);\n });\n crossEvents.forEach((action) => {\n handlers[action] = visible\n ? this.bindHandlerChangeVisibleWithTimer(false, component)\n : this.bindHandlerChangeVisibleWithTimer(true, component);\n });\n return handlers;\n }\n\n handlerKeyDown = (e) => {\n const { visible } = this.asProps;\n if (visible && e.key === 'Escape') {\n e.stopPropagation();\n\n this.bindHandlerChangeVisibleWithTimer(false)(e);\n }\n };\n bindHandlerKeyDown = (onKeyDown) => callAllEventHandlers(onKeyDown, this.handlerKeyDown);\n\n bindHandlerChangeVisibleWithTimer = (visible, component) => (e) => {\n const currentTarget = e?.currentTarget;\n this.handlerChangeVisibleWithTimer(visible, e, () => {\n clearTimeout(this.timerMultiTrigger);\n // instance popper is not here yet because the popperRef did not have time to come\n this.timerMultiTrigger = setTimeout(() => {\n if (visible && component === 'trigger' && this.popper.current && currentTarget) {\n if (this.popper.current.state.elements.reference !== currentTarget) {\n this.popper.current.state.elements.reference = currentTarget;\n // for update\n this.popper.current.setOptions({});\n }\n }\n }, 0);\n });\n };\n\n handlerChangeVisibleWithTimer = (visible, e, cb) => {\n const { timeout, disabled } = this.asProps;\n if (typeof disabled === 'boolean' && disabled && visible) return;\n const handlers = this.handlers;\n\n const timeoutConfig = typeof timeout === 'number' ? [timeout, timeout] : timeout;\n const latency = visible ? timeoutConfig[0] : timeoutConfig[1];\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n handlers.visible(visible, e);\n cb();\n }, latency);\n };\n\n getTriggerProps() {\n const { visible, interaction, disableEnforceFocus } = this.asProps;\n // @ts-ignore\n const { onKeyDown, ...interactionProps } = this.handlersFromInteraction(\n interaction,\n 'trigger',\n visible,\n );\n return {\n ref: this.createTriggerRef,\n active: visible,\n interaction,\n ...interactionProps,\n onKeyDown: this.bindHandlerKeyDown(onKeyDown),\n focusableTriggerReturnFocusToRef: this.focusableTriggerReturnFocusToRef,\n disableEnforceFocus,\n popperRef: this.popperRef,\n };\n }\n\n getPopperProps() {\n const {\n visible,\n disablePortal,\n interaction,\n placement,\n duration,\n animationsDisabled,\n disableEnforceFocus,\n ...other\n } = this.asProps;\n // @ts-ignore\n const { onKeyDown, ...interactionProps } = this.handlersFromInteraction(\n interaction,\n 'popper',\n visible,\n );\n\n return {\n ref: this.createPopperRef,\n triggerRef: this.triggerRef,\n visible,\n interaction,\n disablePortal,\n ...interactionProps,\n onKeyDown: this.bindHandlerKeyDown(onKeyDown),\n placement,\n duration,\n animationsDisabled,\n popper: this.popper,\n focusableTriggerReturnFocusToRef: this.focusableTriggerReturnFocusToRef,\n disableEnforceFocus,\n };\n }\n\n setContext() {\n return {\n popper: this.popper,\n setTrigger: this.createTriggerRef,\n setPopper: this.createPopperRef,\n };\n }\n\n componentWillUnmount() {\n this.destroyPopper();\n }\n\n render() {\n const { Children, visible, root, onOutsideClick, excludeRefs } = this.asProps;\n return (\n <>\n {visible ? (\n <OutsideClick\n root={root}\n excludeRefs={[this.triggerRef, this.popperRef, ...excludeRefs]}\n onOutsideClick={callAllEventHandlers(\n onOutsideClick,\n this.bindHandlerChangeVisibleWithTimer(false),\n )}\n />\n ) : null}\n <Children />\n </>\n );\n }\n}\n\nconst getElementNestingIndexes = (element, chain = new Set([element, document.body])) => {\n if (!element?.parentElement) return [];\n const index = Array.from(element.parentElement.children).indexOf(element);\n if (chain.has(element.parentElement)) return [index];\n chain.add(element.parentElement);\n return [...getElementNestingIndexes(element.parentElement, chain), index];\n};\n\nconst useReturnFocusEl = (interaction, onKeyboardFocus, disable) => {\n const [keyboardFocused, setKeyboardFocused] = React.useState(false);\n const [returnFocusEl, setReturnFocusEl] = React.useState(null);\n const focusSourceRef = useFocusSource();\n const handleFocus = React.useCallback(\n (event) => {\n if (focusSourceRef.current !== 'keyboard') return;\n onKeyboardFocus?.();\n if (disable) return;\n if (interaction !== 'focus') return;\n if (!event.relatedTarget) {\n setReturnFocusEl('after');\n }\n const focusToNesting = getElementNestingIndexes(event.target);\n const focusFromNesting = getElementNestingIndexes(event.relatedTarget);\n const nestingLength = Math.max(focusToNesting.length, focusFromNesting.length);\n for (let i = 0; i < nestingLength; i++) {\n if (focusFromNesting[i] === undefined) {\n setReturnFocusEl('after'); // <div tabIndex=\"0\" id=\"focus1\" /> <input id=\"focus2\" /> </div>\n return;\n }\n if (focusFromNesting[i] > focusToNesting[i]) {\n setReturnFocusEl('before'); // <input id=\"focus2\" /> <input id=\"focus1\" />\n return;\n }\n }\n\n setReturnFocusEl('after'); // <input id=\"focus1\" /> <input id=\"focus2\" />\n },\n [interaction, onKeyboardFocus, disable],\n );\n const handleFocusReturnElFocus = React.useCallback(() => {\n if (focusSourceRef.current !== 'keyboard') return;\n setKeyboardFocused(true);\n }, []);\n const handleFocusReturnElBlur = React.useCallback(() => {\n setTimeout(() => setReturnFocusEl(null), 0);\n setKeyboardFocused(false);\n }, []);\n\n return {\n returnFocusEl,\n handleFocus,\n handleFocusReturnElFocus,\n handleFocusReturnElBlur,\n keyboardFocused,\n };\n};\nconst useFocusCatch = (active, interaction, triggerRef, popperRef) => {\n const activeRef = React.useRef(active);\n activeRef.current = active;\n\n const [keyboardFocused, setKeyboardFocused] = React.useState(false);\n const [focusCatch, setFocusCatch] = React.useState(false);\n const focusSourceRef = useFocusSource();\n const handleFocusCatchFocus = React.useCallback(() => {\n if (focusSourceRef.current !== 'keyboard') return;\n setKeyboardFocused(true);\n }, []);\n const handleFocusCatchBlur = React.useCallback(() => {\n setFocusCatch(false);\n setKeyboardFocused(false);\n }, []);\n const handleFocusCatchRef = React.useCallback((node) => {\n if (activeRef.current) return setFocusCatch(false);\n if (!isFocusInside(popperRef.current) && document.activeElement !== document.body)\n return setFocusCatch(false);\n node?.focus();\n }, []);\n\n React.useEffect(() => {\n if (!active) return;\n if (!popperRef.current) return;\n return () => {\n setTimeout(() => {\n if (activeRef.current) return;\n if (!isFocusInside(popperRef.current) && document.activeElement !== document.body) return;\n\n if (interaction === 'hover' || interaction === 'focus') {\n setFocusCatch(true);\n } else {\n triggerRef.current?.focus();\n }\n }, 1);\n };\n }, [active, interaction]);\n\n return {\n focusCatch,\n handleFocusCatchFocus,\n handleFocusCatchBlur,\n handleFocusCatchRef,\n keyboardFocused,\n };\n};\n\nconst focusCatcherStyles = { position: 'fixed' };\nfunction Trigger(props) {\n const STrigger = Root;\n const SFocusHint = 'span';\n const {\n Children,\n interaction,\n focusableTriggerReturnFocusToRef,\n focusHint,\n onKeyboardFocus,\n disableEnforceFocus,\n active,\n popperRef,\n highlighted,\n } = props;\n\n const triggerRef = React.useRef();\n\n const {\n returnFocusEl,\n handleFocusReturnElBlur,\n handleFocus,\n keyboardFocused: returnElKeyboardFocused,\n } = useReturnFocusEl(interaction, onKeyboardFocus, disableEnforceFocus);\n const {\n focusCatch,\n handleFocusReturnElFocus,\n handleFocusCatchFocus,\n handleFocusCatchBlur,\n handleFocusCatchRef,\n keyboardFocused: focusCatchKeyboardFocused,\n } = useFocusCatch(active, interaction, triggerRef, popperRef);\n\n const enforceKeyboardFocused = returnElKeyboardFocused || focusCatchKeyboardFocused;\n\n React.useEffect(() => {\n if (highlighted === true) {\n onKeyboardFocus({ currentTarget: triggerRef.current });\n }\n }, [highlighted]);\n\n return (\n <>\n {returnFocusEl === 'before' && (\n <div\n tabIndex='0'\n ref={focusableTriggerReturnFocusToRef}\n onBlur={handleFocusReturnElBlur}\n onFocus={handleFocusReturnElFocus}\n style={focusCatcherStyles}\n />\n )}\n <enforcedKeyboardFocusEnhanceContext.Provider value={enforceKeyboardFocused}>\n <STrigger\n render={Box}\n inline\n role='button'\n aria-haspopup={true}\n onFocus={handleFocus}\n ref={triggerRef}\n >\n <Children />\n </STrigger>\n </enforcedKeyboardFocusEnhanceContext.Provider>\n {focusHint && false && (\n <SFocusHint aria-live='polite'>\n <ScreenReaderOnly>{focusHint}</ScreenReaderOnly>\n </SFocusHint>\n )}\n {returnFocusEl === 'after' && (\n <div\n tabIndex='0'\n ref={focusableTriggerReturnFocusToRef}\n onBlur={handleFocusReturnElBlur}\n onFocus={handleFocusReturnElFocus}\n style={focusCatcherStyles}\n />\n )}\n {focusCatch && (\n <div\n tabIndex='0'\n ref={handleFocusCatchRef}\n onFocus={handleFocusCatchFocus}\n onBlur={handleFocusCatchBlur}\n style={focusCatcherStyles}\n />\n )}\n </>\n );\n}\n\nfunction PopperPopper(props) {\n const SPopper = Root;\n const {\n Children,\n styles,\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n triggerRef,\n interaction,\n autoFocus,\n controlsLength,\n duration,\n animationsDisabled,\n popper,\n focusableTriggerReturnFocusToRef,\n focusMaster = false,\n } = props;\n const ref = React.useRef(null);\n\n // https://github.com/facebook/react/issues/11387\n const stopPropagation = React.useCallback((event) => event.stopPropagation(), []);\n\n useFocusLock(\n ref,\n autoFocus,\n interaction === 'focus' || interaction === 'hover'\n ? focusableTriggerReturnFocusToRef\n : triggerRef,\n !visible || disableEnforceFocus,\n focusMaster,\n );\n\n useContextTheme(ref, visible);\n\n const updatePopperEveryFrame = useUpdatePopperEveryFrame(popper);\n const handleAnimationStart = React.useCallback(\n (duration) => {\n if (duration > 0) {\n updatePopperEveryFrame(Date.now() + Math.min(duration, 2000));\n }\n },\n [updatePopperEveryFrame],\n );\n const handleAnimationEnd = React.useCallback(() => {\n popper.current?.update();\n }, []);\n const animationCtx = React.useContext(animationContext);\n React.useEffect(() => {\n if (!ignorePortalsStacking) return;\n if (!animationCtx) return;\n const unsubscribeAnimationStart = animationCtx.onAnimationStart(handleAnimationStart);\n const unsubscribeAnimationEnd = animationCtx.onAnimationEnd(handleAnimationEnd);\n return () => {\n unsubscribeAnimationStart();\n unsubscribeAnimationEnd();\n };\n }, [animationCtx, ignorePortalsStacking]);\n\n return sstyled(styles)(\n <Portal disablePortal={disablePortal} ignorePortalsStacking={ignorePortalsStacking}>\n <NeighborLocation controlsLength={controlsLength}>\n <SPopper\n render={Scale}\n animationsDisabled={animationsDisabled}\n visible={visible}\n duration={[duration, duration / 2]}\n ref={ref}\n onClick={stopPropagation}\n onContextMenu={stopPropagation}\n onDoubleClick={stopPropagation}\n onDrag={stopPropagation}\n onDragEnd={stopPropagation}\n onDragEnter={stopPropagation}\n onDragExit={stopPropagation}\n onDragLeave={stopPropagation}\n onDragOver={stopPropagation}\n onDragStart={stopPropagation}\n onDrop={stopPropagation}\n onMouseDown={stopPropagation}\n onMouseMove={stopPropagation}\n onMouseOver={stopPropagation}\n onMouseOut={stopPropagation}\n onMouseUp={stopPropagation}\n onKeyDown={stopPropagation}\n onKeyPress={stopPropagation}\n onKeyUp={stopPropagation}\n onFocus={stopPropagation}\n onBlur={stopPropagation}\n onChange={stopPropagation}\n onInput={stopPropagation}\n onInvalid={stopPropagation}\n onReset={stopPropagation}\n onSubmit={stopPropagation}\n >\n <PortalProvider value={ref}>\n <Children />\n </PortalProvider>\n </SPopper>\n </NeighborLocation>\n </Portal>,\n );\n}\n\nPopperPopper.enhance = [keyboardFocusEnhance()];\n\nexport default createComponent(Popper, {\n Trigger,\n Popper: PopperPopper,\n});\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Popper.js","names":["React","canUseDOM","createComponent","Component","sstyled","Root","Box","OutsideClick","Portal","PortalProvider","NeighborLocation","setRef","useFocusLock","isFocusInside","setFocus","callAllEventHandlers","pick","uniqueIDEnhancement","Scale","animationContext","cssVariableEnhance","useContextTheme","ScreenReaderOnly","keyboardFocusEnhance","useFocusSource","hasParent","createPopper","style","_sstyled","insert","isObject","obj","_typeof","Array","isArray","someArray","arr1","arr2","filter","i","indexOf","useUpdatePopperEveryFrame","popperRef","nextAnimationFrameRef","useRef","handleAnimationFrame","useCallback","until","_popperRef$current","Date","now","current","update","requestAnimationFrame","useEffect","cancelAnimationFrame","MODIFIERS_OPTIONS","Popper","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","click","trigger","popper","hover","focus","none","createRef","ignoreTriggerFocusUntil","ref","triggerRef","_this$asProps","asProps","placement","modifiers","strategy","onFirstUpdate","other","_objectWithoutProperties","_excluded","optionsModifiers","modifiersFallback","offset","modifiersOptions","name","undefined","map","options","push","gpuAcceleration","modifiersMerge","concat","_toConsumableArray","_this$observer","_this$observer2","observer","observe","e","visible","key","stopPropagation","bindHandlerChangeVisibleWithTimer","onKeyDown","handlerKeyDown","component","action","focusAction","includes","state","currentTarget","handlerChangeVisibleWithTimer","clearTimeout","timerMultiTrigger","setTimeout","elements","reference","setOptions","ignoringDuration","setState","cb","_this$asProps2","timeout","disabled","handlers","timeoutConfig","latency","timer","event","focusLoop","target","ResizeObserver","_this$popper$current","_createClass","value","uncontrolledProps","__disablePopper","getPopperOptions","componentDidUpdate","prevProps","_this2","popperProps","some","propName","destroyPopper","_this$observer3","disconnect","destroy","handlersFromInteraction","interaction","_this3","eventInteraction","eventsInteractionMap","_eventInteraction$com","_slicedToArray","_eventInteraction$com2","showEvents","_eventInteraction$com3","hideEvents","crossEvents","forEach","getTriggerProps","_this$asProps3","disableEnforceFocus","_this$handlersFromInt","interactionProps","_excluded2","_objectSpread","createTriggerRef","active","bindHandlerKeyDown","onBlur","handleTriggerBlur","getPopperProps","_this$asProps4","disablePortal","duration","animationsDisabled","_this$handlersFromInt2","_excluded3","createPopperRef","handleFocusOut","handlePopperFocusOut","setContext","setTrigger","setPopper","componentWillUnmount","render","_this$asProps5","Children","root","onOutsideClick","excludeRefs","createElement","Fragment","defaultVisible","arrow","padding","variable","fallback","Number","parseInt","prop","Trigger","_ref","arguments[0]","STrigger","SFocusHint","focusHint","onKeyboardFocus","highlighted","focusSourceRef","handleFocus","activeRef","document","activeElement","body","_assignProps","PopperPopper","_ref2","_ref3","SPopper","styles","ignorePortalsStacking","autoFocus","controlsLength","_props$focusMaster","focusMaster","updatePopperEveryFrame","handleAnimationStart","Math","min","handleAnimationEnd","_popper$current","animationCtx","useContext","unsubscribeAnimationStart","onAnimationStart","unsubscribeAnimationEnd","onAnimationEnd","cn","_assignProps2","enhance"],"sources":["../../src/Popper.jsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport { useFocusLock, isFocusInside, setFocus } from '@semcore/utils/lib/use/useFocusLock';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport pick from '@semcore/utils/lib/pick';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { Scale, animationContext } from '@semcore/animation';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\nimport { ScreenReaderOnly } from '@semcore/utils/lib/ScreenReaderOnly';\nimport keyboardFocusEnhance, {\n useFocusSource,\n} from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport createPopper from './createPopper';\n\nimport style from './style/popper.shadow.css';\n\nfunction isObject(obj) {\n return typeof obj === 'object' && !Array.isArray(obj);\n}\n\nfunction someArray(arr1, arr2) {\n return arr1.filter(function (i) {\n return arr2.indexOf(i) !== -1;\n });\n}\n\nconst useUpdatePopperEveryFrame = (popperRef) => {\n const nextAnimationFrameRef = React.useRef(-1);\n const handleAnimationFrame = React.useCallback((until) => {\n if (until < Date.now()) return;\n popperRef.current?.update();\n nextAnimationFrameRef.current = requestAnimationFrame(() => handleAnimationFrame(until));\n }, []);\n React.useEffect(() => () => cancelAnimationFrame(nextAnimationFrameRef.current), []);\n return handleAnimationFrame;\n};\n\nconst MODIFIERS_OPTIONS = [\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n];\n\nclass Popper extends Component {\n static displayName = 'Popper';\n\n static style = style;\n\n static defaultProps = {\n defaultVisible: false,\n placement: 'auto',\n modifiers: [],\n arrow: {\n padding: 6,\n },\n strategy: 'absolute',\n interaction: 'click',\n timeout: 0,\n excludeRefs: [],\n focusLoop: true,\n };\n\n static enhance = [\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-popper',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n\n eventsInteractionMap = {\n click: {\n trigger: [['onClick'], ['onClick']],\n popper: [],\n },\n hover: {\n trigger: [\n ['onMouseEnter', 'onKeyboardFocus'],\n ['onMouseLeave', 'onBlur'],\n ],\n popper: [['onMouseEnter', 'onFocusCapture'], ['onMouseLeave']],\n },\n focus: {\n trigger: [['onFocus'], ['onBlur']],\n // to intercept faster than onBlur on the trigger\n popper: [['onFocusCapture'], ['onBlur']],\n },\n none: {\n trigger: [],\n popper: [],\n },\n };\n\n // timer: ReturnType<typeof setTimeout>;\n // observer: ResizeObserver;\n triggerRef = React.createRef();\n popperRef = React.createRef();\n popper = React.createRef();\n\n constructor(props) {\n super(props);\n if (canUseDOM()) {\n this.observer = new ResizeObserver(() => {\n requestAnimationFrame(() => {\n this.popper.current?.update();\n });\n });\n }\n }\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n state = { ignoreTriggerFocusUntil: 0 };\n\n createTriggerRef = (ref) => {\n if (ref && this.triggerRef.current !== ref) {\n setRef(this.triggerRef, ref);\n this.createPopper();\n }\n };\n\n createPopperRef = (ref) => {\n if (ref && this.popperRef.current !== ref) {\n setRef(this.popperRef, ref);\n this.createPopper();\n }\n };\n\n getPopperOptions = () => {\n const { placement, modifiers, strategy, onFirstUpdate, ...other } = this.asProps;\n const optionsModifiers = pick(other, MODIFIERS_OPTIONS);\n const modifiersFallback = [];\n\n if (typeof optionsModifiers.offset === 'number') {\n optionsModifiers.offset = [0, optionsModifiers.offset];\n }\n const modifiersOptions = MODIFIERS_OPTIONS.filter(\n (name) => optionsModifiers[name] !== undefined,\n ).map((name) => ({\n name,\n options: isObject(optionsModifiers[name])\n ? optionsModifiers[name]\n : { [name]: optionsModifiers[name] },\n }));\n\n modifiersOptions.push({\n name: 'computeStyles',\n options: { gpuAcceleration: false },\n });\n\n const modifiersMerge = [...modifiersFallback, ...modifiersOptions].concat(modifiers);\n\n return {\n placement,\n strategy,\n onFirstUpdate: callAllEventHandlers(onFirstUpdate, () => {\n this.observer?.observe(this.triggerRef.current);\n this.observer?.observe(this.popperRef.current);\n }),\n modifiers: modifiersMerge,\n };\n };\n\n createPopper() {\n if (!this.triggerRef.current || !this.popperRef.current) return;\n if (this.asProps.__disablePopper) return;\n\n this.popper.current = createPopper(\n this.triggerRef.current,\n this.popperRef.current,\n this.getPopperOptions(),\n );\n }\n\n componentDidUpdate(prevProps) {\n const popperProps = [\n 'strategy',\n 'placement',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n ];\n if (\n this.popper.current &&\n popperProps.some((propName) => prevProps[propName] !== this.asProps[propName])\n ) {\n this.popper.current.setOptions(this.getPopperOptions());\n }\n }\n\n destroyPopper() {\n clearTimeout(this.timer);\n clearTimeout(this.timerMultiTrigger);\n\n this.observer?.disconnect();\n\n if (this.popper.current) {\n this.popper.current.destroy();\n this.popper.current = null;\n }\n }\n\n handlersFromInteraction(interaction, component, visible) {\n const eventInteraction =\n typeof interaction === 'string' ? this.eventsInteractionMap[interaction] : interaction;\n\n const [showEvents = [], hideEvents = []] = eventInteraction[component];\n const crossEvents = someArray(showEvents, hideEvents);\n const handlers = {};\n\n showEvents.forEach((action) => {\n handlers[action] = this.bindHandlerChangeVisibleWithTimer(true, component, action);\n });\n hideEvents.forEach((action) => {\n handlers[action] = this.bindHandlerChangeVisibleWithTimer(false, component, action);\n });\n crossEvents.forEach((action) => {\n handlers[action] = visible\n ? this.bindHandlerChangeVisibleWithTimer(false, component, action)\n : this.bindHandlerChangeVisibleWithTimer(true, component, action);\n });\n return handlers;\n }\n\n handlerKeyDown = (e) => {\n const { visible } = this.asProps;\n if (visible && e.key === 'Escape') {\n e.stopPropagation();\n\n this.bindHandlerChangeVisibleWithTimer(false)(e);\n }\n };\n bindHandlerKeyDown = (onKeyDown) => callAllEventHandlers(onKeyDown, this.handlerKeyDown);\n\n bindHandlerChangeVisibleWithTimer = (visible, component, action) => (e) => {\n const now = Date.now();\n const focusAction = ['onFocus', 'onKeyboardFocus', 'onFocusCapture'].includes(action);\n if (\n now < this.state.ignoreTriggerFocusUntil &&\n visible &&\n component === 'trigger' &&\n focusAction\n ) {\n return;\n }\n const currentTarget = e?.currentTarget;\n this.handlerChangeVisibleWithTimer(visible, e, () => {\n clearTimeout(this.timerMultiTrigger);\n // instance popper is not here yet because the popperRef did not have time to come\n this.timerMultiTrigger = setTimeout(() => {\n if (visible && component === 'trigger' && this.popper.current && currentTarget) {\n if (this.popper.current.state.elements.reference !== currentTarget) {\n this.popper.current.state.elements.reference = currentTarget;\n // for update\n this.popper.current.setOptions({});\n }\n }\n }, 0);\n });\n const ignoringDuration = 2000;\n if (!visible) {\n this.setState({\n ignoreTriggerFocusUntil: now + ignoringDuration,\n });\n } else if (now < this.state.ignoreTriggerFocusUntil + ignoringDuration) {\n this.setState({\n ignoreTriggerFocusUntil: 0,\n });\n }\n };\n\n handlerChangeVisibleWithTimer = (visible, e, cb) => {\n const { timeout, disabled } = this.asProps;\n if (typeof disabled === 'boolean' && disabled && visible) return;\n const handlers = this.handlers;\n\n const timeoutConfig = typeof timeout === 'number' ? [timeout, timeout] : timeout;\n const latency = visible ? timeoutConfig[0] : timeoutConfig[1];\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n handlers.visible(visible, e);\n cb();\n }, latency);\n };\n\n getTriggerProps() {\n const { visible, interaction, disableEnforceFocus } = this.asProps;\n // @ts-ignore\n const { onKeyDown, ...interactionProps } = this.handlersFromInteraction(\n interaction,\n 'trigger',\n visible,\n );\n return {\n ref: this.createTriggerRef,\n active: visible,\n interaction,\n ...interactionProps,\n onKeyDown: this.bindHandlerKeyDown(onKeyDown),\n disableEnforceFocus,\n popperRef: this.popperRef,\n onBlur: callAllEventHandlers(this.handleTriggerBlur, interactionProps.onBlur),\n };\n }\n\n handleTriggerBlur = () => {\n setTimeout(() => {\n this.setState({ ignoreTriggerFocusUntil: 0 });\n }, 0);\n };\n\n getPopperProps() {\n const {\n visible,\n disablePortal,\n interaction,\n placement,\n duration,\n animationsDisabled,\n disableEnforceFocus,\n } = this.asProps;\n // @ts-ignore\n const { onKeyDown, ...interactionProps } = this.handlersFromInteraction(\n interaction,\n 'popper',\n visible,\n );\n\n return {\n ref: this.createPopperRef,\n triggerRef: this.triggerRef,\n visible,\n interaction,\n disablePortal,\n ...interactionProps,\n onKeyDown: this.bindHandlerKeyDown(onKeyDown),\n placement,\n duration,\n animationsDisabled,\n popper: this.popper,\n disableEnforceFocus,\n handleFocusOut: this.handlePopperFocusOut,\n };\n }\n\n handlePopperFocusOut = (event) => {\n if (this.asProps.focusLoop) return;\n if (hasParent(event.target, this.triggerRef.current)) return;\n\n this.bindHandlerChangeVisibleWithTimer(false, 'popper', 'onBlur')(event);\n };\n\n setContext() {\n return {\n popper: this.popper,\n setTrigger: this.createTriggerRef,\n setPopper: this.createPopperRef,\n };\n }\n\n componentWillUnmount() {\n this.destroyPopper();\n }\n\n render() {\n const { Children, visible, root, onOutsideClick, excludeRefs } = this.asProps;\n return (\n <>\n {visible ? (\n <OutsideClick\n root={root}\n excludeRefs={[this.triggerRef, this.popperRef, ...excludeRefs]}\n onOutsideClick={callAllEventHandlers(\n onOutsideClick,\n this.bindHandlerChangeVisibleWithTimer(false),\n )}\n />\n ) : null}\n <Children />\n </>\n );\n }\n}\n\nfunction Trigger(props) {\n const STrigger = Root;\n const SFocusHint = 'span';\n const { Children, focusHint, onKeyboardFocus, highlighted, active, popperRef } = props;\n\n const triggerRef = React.useRef();\n\n React.useEffect(() => {\n if (highlighted === true) {\n onKeyboardFocus({ currentTarget: triggerRef.current });\n }\n }, [highlighted]);\n\n const focusSourceRef = useFocusSource();\n const handleFocus = React.useCallback(() => {\n if (focusSourceRef.current !== 'keyboard') return;\n onKeyboardFocus?.();\n }, [onKeyboardFocus]);\n\n const activeRef = React.useRef(active);\n activeRef.current = active;\n React.useEffect(() => {\n if (!active) return;\n if (!popperRef.current) return;\n return () => {\n setTimeout(() => {\n if (activeRef.current) return;\n if (!isFocusInside(popperRef.current) && document.activeElement !== document.body) return;\n\n setFocus(triggerRef.current);\n }, 1);\n };\n }, [active]);\n\n return (\n <>\n <STrigger\n render={Box}\n inline\n role='button'\n aria-haspopup={true}\n ref={triggerRef}\n onFocus={handleFocus}\n onBlur={props.onBlur}\n >\n <Children />\n </STrigger>\n {focusHint && false && (\n <SFocusHint aria-live='polite'>\n <ScreenReaderOnly>{focusHint}</ScreenReaderOnly>\n </SFocusHint>\n )}\n </>\n );\n}\n\nfunction PopperPopper(props) {\n const SPopper = Root;\n const {\n Children,\n styles,\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n triggerRef,\n autoFocus,\n controlsLength,\n duration,\n animationsDisabled,\n popper,\n focusMaster = false,\n handleFocusOut,\n } = props;\n const ref = React.useRef(null);\n\n // https://github.com/facebook/react/issues/11387\n const stopPropagation = React.useCallback((event) => event.stopPropagation(), []);\n\n useFocusLock(\n ref,\n autoFocus,\n triggerRef,\n !visible || disableEnforceFocus,\n focusMaster,\n handleFocusOut,\n );\n\n useContextTheme(ref, visible);\n\n const updatePopperEveryFrame = useUpdatePopperEveryFrame(popper);\n const handleAnimationStart = React.useCallback(\n (duration) => {\n if (duration > 0) {\n updatePopperEveryFrame(Date.now() + Math.min(duration, 2000));\n }\n },\n [updatePopperEveryFrame],\n );\n const handleAnimationEnd = React.useCallback(() => {\n popper.current?.update();\n }, []);\n const animationCtx = React.useContext(animationContext);\n React.useEffect(() => {\n if (!ignorePortalsStacking) return;\n if (!animationCtx) return;\n const unsubscribeAnimationStart = animationCtx.onAnimationStart(handleAnimationStart);\n const unsubscribeAnimationEnd = animationCtx.onAnimationEnd(handleAnimationEnd);\n return () => {\n unsubscribeAnimationStart();\n unsubscribeAnimationEnd();\n };\n }, [animationCtx, ignorePortalsStacking]);\n\n return sstyled(styles)(\n <Portal disablePortal={disablePortal} ignorePortalsStacking={ignorePortalsStacking}>\n <NeighborLocation controlsLength={controlsLength}>\n <SPopper\n render={Scale}\n animationsDisabled={animationsDisabled}\n visible={visible}\n duration={[duration, duration / 2]}\n ref={ref}\n onClick={stopPropagation}\n onContextMenu={stopPropagation}\n onDoubleClick={stopPropagation}\n onDrag={stopPropagation}\n onDragEnd={stopPropagation}\n onDragEnter={stopPropagation}\n onDragExit={stopPropagation}\n onDragLeave={stopPropagation}\n onDragOver={stopPropagation}\n onDragStart={stopPropagation}\n onDrop={stopPropagation}\n onMouseDown={stopPropagation}\n onMouseMove={stopPropagation}\n onMouseOver={stopPropagation}\n onMouseOut={stopPropagation}\n onMouseUp={stopPropagation}\n onKeyDown={stopPropagation}\n onKeyPress={stopPropagation}\n onKeyUp={stopPropagation}\n onFocus={stopPropagation}\n onBlur={stopPropagation}\n onChange={stopPropagation}\n onInput={stopPropagation}\n onInvalid={stopPropagation}\n onReset={stopPropagation}\n onSubmit={stopPropagation}\n >\n <PortalProvider value={ref}>\n <Children />\n </PortalProvider>\n </SPopper>\n </NeighborLocation>\n </Portal>,\n );\n}\n\nPopperPopper.enhance = [keyboardFocusEnhance()];\n\nexport default createComponent(Popper, {\n Trigger,\n Popper: PopperPopper,\n});\n"],"mappings":"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"}
|