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.
Files changed (88) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
  3. package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
  4. package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
  5. package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
  6. package/base-trigger/lib/es6/BaseTrigger.js +18 -18
  7. package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
  8. package/base-trigger/lib/es6/FilterTrigger.js +7 -7
  9. package/base-trigger/lib/es6/LinkTrigger.js +12 -12
  10. package/components.json +73 -73
  11. package/date-picker/lib/cjs/components/Calendar.js +21 -21
  12. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +26 -26
  13. package/date-picker/lib/cjs/components/InputTrigger.js +26 -26
  14. package/date-picker/lib/cjs/components/PickerAbstract.js +26 -26
  15. package/date-picker/lib/cjs/components/RangePickerAbstract.js +26 -26
  16. package/date-picker/lib/es6/components/Calendar.js +21 -21
  17. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +26 -26
  18. package/date-picker/lib/es6/components/InputTrigger.js +26 -26
  19. package/date-picker/lib/es6/components/PickerAbstract.js +26 -26
  20. package/date-picker/lib/es6/components/RangePickerAbstract.js +26 -26
  21. package/dropdown-menu/lib/cjs/DropdownMenu.js +2 -4
  22. package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
  23. package/dropdown-menu/lib/es6/DropdownMenu.js +2 -4
  24. package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
  25. package/icon/Hashtag/l/index.d.ts +6 -0
  26. package/icon/Hashtag/l/index.js +38 -0
  27. package/icon/Hashtag/l/index.mjs +26 -0
  28. package/icon/Hashtag/m/index.d.ts +6 -0
  29. package/icon/Hashtag/m/index.js +38 -0
  30. package/icon/Hashtag/m/index.mjs +26 -0
  31. package/package.json +1 -1
  32. package/popper/index.d.ts +6 -1
  33. package/popper/lib/cjs/Popper.js +72 -173
  34. package/popper/lib/cjs/Popper.js.map +1 -1
  35. package/popper/lib/cjs/index.d.js.map +1 -1
  36. package/popper/lib/es6/Popper.js +74 -175
  37. package/popper/lib/es6/Popper.js.map +1 -1
  38. package/popper/lib/es6/index.d.js.map +1 -1
  39. package/popper/lib/types/index.d.ts +6 -1
  40. package/select/lib/cjs/InputSearch.js +6 -6
  41. package/select/lib/cjs/Select.js +11 -27
  42. package/select/lib/cjs/Select.js.map +1 -1
  43. package/select/lib/es6/InputSearch.js +6 -6
  44. package/select/lib/es6/Select.js +11 -27
  45. package/select/lib/es6/Select.js.map +1 -1
  46. package/textarea/lib/cjs/Textarea.js +8 -8
  47. package/textarea/lib/es6/Textarea.js +8 -8
  48. package/time-picker/lib/cjs/TimePicker.js +12 -12
  49. package/time-picker/lib/es6/TimePicker.js +12 -12
  50. package/tooltip/lib/cjs/Tooltip.js +2 -1
  51. package/tooltip/lib/cjs/Tooltip.js.map +1 -1
  52. package/tooltip/lib/es6/Tooltip.js +2 -1
  53. package/tooltip/lib/es6/Tooltip.js.map +1 -1
  54. package/utils/lib/focus-lock/focusBorders.d.ts +3 -0
  55. package/utils/lib/focus-lock/focusBorders.js +43 -0
  56. package/utils/lib/focus-lock/focusBorders.js.map +1 -0
  57. package/utils/lib/focus-lock/focusBorders.mjs +34 -0
  58. package/utils/lib/focus-lock/focusBorders.mjs.map +1 -0
  59. package/utils/lib/focus-lock/getFocusableIn.d.ts +1 -0
  60. package/utils/lib/focus-lock/getFocusableIn.js +26 -0
  61. package/utils/lib/focus-lock/getFocusableIn.js.map +1 -0
  62. package/utils/lib/focus-lock/getFocusableIn.mjs +19 -0
  63. package/utils/lib/focus-lock/getFocusableIn.mjs.map +1 -0
  64. package/utils/lib/focus-lock/isFocusInside.d.ts +1 -0
  65. package/utils/lib/focus-lock/isFocusInside.js +16 -0
  66. package/utils/lib/focus-lock/isFocusInside.js.map +1 -0
  67. package/utils/lib/focus-lock/isFocusInside.mjs +9 -0
  68. package/utils/lib/focus-lock/isFocusInside.mjs.map +1 -0
  69. package/utils/lib/focus-lock/isFocusable.d.ts +1 -0
  70. package/utils/lib/focus-lock/isFocusable.js +44 -0
  71. package/utils/lib/focus-lock/isFocusable.js.map +1 -0
  72. package/utils/lib/focus-lock/isFocusable.mjs +36 -0
  73. package/utils/lib/focus-lock/isFocusable.mjs.map +1 -0
  74. package/utils/lib/focus-lock/setFocus.d.ts +1 -0
  75. package/utils/lib/focus-lock/setFocus.js +63 -0
  76. package/utils/lib/focus-lock/setFocus.js.map +1 -0
  77. package/utils/lib/focus-lock/setFocus.mjs +55 -0
  78. package/utils/lib/focus-lock/setFocus.mjs.map +1 -0
  79. package/utils/lib/hasParent.d.ts +1 -0
  80. package/utils/lib/hasParent.js +14 -0
  81. package/utils/lib/hasParent.js.map +1 -0
  82. package/utils/lib/hasParent.mjs +7 -0
  83. package/utils/lib/hasParent.mjs.map +1 -0
  84. package/utils/lib/use/useFocusLock.d.ts +4 -3
  85. package/utils/lib/use/useFocusLock.js +45 -97
  86. package/utils/lib/use/useFocusLock.js.map +1 -1
  87. package/utils/lib/use/useFocusLock.mjs +30 -92
  88. 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":""}
@@ -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 = ["visible", "disablePortal", "interaction", "placement", "duration", "animationsDisabled", "disableEnforceFocus"],
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, enforcedKeyboardFocusEnhanceContext } from 'intergalactic/utils/lib/enhances/keyboardFocusEnhance';
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, _excluded4);
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
- focusableTriggerReturnFocusToRef: this.focusableTriggerReturnFocusToRef,
318
- disableEnforceFocus: disableEnforceFocus
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
- disableEnforceFocus = props.disableEnforceFocus,
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
- return /*#__PURE__*/React.createElement(React.Fragment, null, returnFocusEl === 'before' && /*#__PURE__*/React.createElement("div", {
519
- tabIndex: "0",
520
- ref: focusableTriggerReturnFocusToRef,
521
- onBlur: handleFocusReturnElBlur,
522
- onFocus: handleFocusReturnElFocus,
523
- style: focusCatcherStyles
524
- }), /*#__PURE__*/React.createElement(enforcedKeyboardFocusEnhanceContext.Provider, {
525
- value: enforceKeyboardFocused
526
- }, /*#__PURE__*/React.createElement(STrigger, _assignProps({
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
- "ref": triggerRef
532
- }, _ref), /*#__PURE__*/React.createElement(Children, null))), focusHint && false && /*#__PURE__*/React.createElement(SFocusHint, {
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)), returnFocusEl === 'after' && /*#__PURE__*/React.createElement("div", {
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, interaction === 'focus' || interaction === 'hover' ? focusableTriggerReturnFocusToRef : triggerRef, !visible || disableEnforceFocus, focusMaster);
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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"}