@codecademy/gamut 68.1.3-alpha.11147c.0 → 68.1.3-alpha.bcf87d.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 (100) hide show
  1. package/dist/Alert/elements.d.ts +4 -4
  2. package/dist/Anchor/index.d.ts +6 -6
  3. package/dist/Box/Box.d.ts +1 -1
  4. package/dist/Box/FlexBox.d.ts +1 -1
  5. package/dist/Box/GridBox.d.ts +1 -1
  6. package/dist/Box/props.d.ts +1 -1
  7. package/dist/Button/CTAButton.d.ts +2 -2
  8. package/dist/Button/FillButton.d.ts +4 -4
  9. package/dist/Button/IconButton.d.ts +4 -4
  10. package/dist/Button/StrokeButton.d.ts +4 -4
  11. package/dist/Button/TextButton.d.ts +4 -4
  12. package/dist/Button/shared/InlineIconButton.d.ts +2 -2
  13. package/dist/Button/shared/styles.d.ts +3 -3
  14. package/dist/Button/shared/types.d.ts +1 -1
  15. package/dist/ButtonBase/ButtonBase.d.ts +2 -2
  16. package/dist/Card/elements.d.ts +139 -187
  17. package/dist/Card/styles.d.ts +8 -8
  18. package/dist/Coachmark/index.d.ts +1 -1
  19. package/dist/ConnectedForm/ConnectedForm.d.ts +1 -1
  20. package/dist/ConnectedForm/utils.d.ts +3 -3
  21. package/dist/ContentContainer/index.d.ts +1 -1
  22. package/dist/DatePicker/Calendar/Calendar.d.ts +11 -0
  23. package/dist/DatePicker/Calendar/Calendar.js +15 -0
  24. package/dist/DatePicker/Calendar/CalendarBody.d.ts +3 -0
  25. package/dist/DatePicker/Calendar/CalendarBody.js +155 -0
  26. package/dist/DatePicker/Calendar/CalendarFooter.d.ts +3 -0
  27. package/dist/DatePicker/Calendar/CalendarFooter.js +60 -0
  28. package/dist/DatePicker/Calendar/CalendarHeader.d.ts +3 -0
  29. package/dist/DatePicker/Calendar/CalendarHeader.js +63 -0
  30. package/dist/DatePicker/Calendar/index.d.ts +6 -0
  31. package/dist/DatePicker/Calendar/index.js +5 -0
  32. package/dist/DatePicker/Calendar/types.d.ts +59 -0
  33. package/dist/DatePicker/Calendar/types.js +1 -0
  34. package/dist/DatePicker/Calendar/utils/dateGrid.d.ts +30 -0
  35. package/dist/DatePicker/Calendar/utils/dateGrid.js +93 -0
  36. package/dist/DatePicker/Calendar/utils/format.d.ts +39 -0
  37. package/dist/DatePicker/Calendar/utils/format.js +130 -0
  38. package/dist/DatePicker/Calendar/utils/index.d.ts +3 -0
  39. package/dist/DatePicker/Calendar/utils/index.js +3 -0
  40. package/dist/DatePicker/Calendar/utils/keyHandler.d.ts +13 -0
  41. package/dist/DatePicker/Calendar/utils/keyHandler.js +116 -0
  42. package/dist/DatePicker/Calendar/utils/validation.d.ts +13 -0
  43. package/dist/DatePicker/Calendar/utils/validation.js +23 -0
  44. package/dist/DatePicker/DatePicker.d.ts +8 -0
  45. package/dist/DatePicker/DatePicker.js +127 -0
  46. package/dist/DatePicker/DatePickerCalendar.d.ts +13 -0
  47. package/dist/DatePicker/DatePickerCalendar.js +127 -0
  48. package/dist/DatePicker/DatePickerContext.d.ts +11 -0
  49. package/dist/DatePicker/DatePickerContext.js +18 -0
  50. package/dist/DatePicker/DatePickerInput.d.ts +16 -0
  51. package/dist/DatePicker/DatePickerInput.js +126 -0
  52. package/dist/DatePicker/index.d.ts +13 -0
  53. package/dist/DatePicker/index.js +10 -0
  54. package/dist/DatePicker/types.d.ts +76 -0
  55. package/dist/DatePicker/types.js +1 -0
  56. package/dist/DatePicker/utils.d.ts +3 -0
  57. package/dist/DatePicker/utils.js +71 -0
  58. package/dist/Disclosure/elements.d.ts +13 -13
  59. package/dist/FeatureShimmer/index.js +1 -1
  60. package/dist/FocusTrap/index.d.ts +2 -2
  61. package/dist/Form/elements/Form.d.ts +15 -15
  62. package/dist/Form/elements/FormGroup.d.ts +2 -2
  63. package/dist/GridForm/GridFormButtons/index.d.ts +4 -4
  64. package/dist/InternalFloatingCard/InternalFloatingCard.d.ts +1 -1
  65. package/dist/Layout/Column.d.ts +1 -1
  66. package/dist/Layout/LayoutGrid.d.ts +1 -1
  67. package/dist/List/ListProvider.d.ts +1 -1
  68. package/dist/List/elements.d.ts +60 -76
  69. package/dist/List/hooks.d.ts +1 -1
  70. package/dist/Menu/Menu.d.ts +1 -1
  71. package/dist/Menu/elements.d.ts +4 -4
  72. package/dist/Modals/elements.d.ts +1 -1
  73. package/dist/Pagination/AnimatedPaginationButtons.d.ts +45 -61
  74. package/dist/Pagination/EllipsisButton.d.ts +4 -4
  75. package/dist/Pagination/PaginationButton.d.ts +6 -6
  76. package/dist/Pagination/utils.d.ts +43 -59
  77. package/dist/Pagination/utils.js +11 -14
  78. package/dist/Popover/elements.d.ts +2 -2
  79. package/dist/Popover/types.d.ts +2 -2
  80. package/dist/PopoverContainer/PopoverContainer.js +3 -1
  81. package/dist/PopoverContainer/hooks.d.ts +2 -2
  82. package/dist/PopoverContainer/types.d.ts +6 -1
  83. package/dist/Tabs/TabButton.d.ts +2 -2
  84. package/dist/Tabs/TabNav.d.ts +1 -1
  85. package/dist/Tabs/TabNavLink.d.ts +2 -2
  86. package/dist/Tag/elements.d.ts +11 -11
  87. package/dist/Tip/InfoTip/InfoTipButton.d.ts +4 -4
  88. package/dist/Tip/InfoTip/styles.d.ts +1 -1
  89. package/dist/Tip/PreviewTip/elements.d.ts +6 -6
  90. package/dist/Tip/ToolTip/elements.d.ts +1 -1
  91. package/dist/Tip/__tests__/helpers.d.ts +3 -3
  92. package/dist/Tip/shared/FloatingTip.js +2 -2
  93. package/dist/Tip/shared/elements.d.ts +3 -3
  94. package/dist/Tip/shared/types.d.ts +2 -2
  95. package/dist/Toggle/elements.d.ts +1 -1
  96. package/dist/Typography/Text.d.ts +3 -3
  97. package/dist/index.d.ts +1 -0
  98. package/dist/index.js +1 -0
  99. package/dist/utils/react.js +1 -2
  100. package/package.json +10 -10
@@ -12,8 +12,8 @@ export declare const getBackPageNumber: ({ shownPageArray, chapterSize, }: Omit<
12
12
  export declare const getForwardPageNumber: ({ chapterSize, totalPages, shownPageArray, }: Omit<PaginationUtils, 'currentPage'>) => number;
13
13
  export declare const getMinWidth: ({ chapterSize, }: Pick<PaginationUtils, 'chapterSize'>) => string;
14
14
  export declare const wrapWithSlideAnimation: (WrappedComponent: typeof BaseEllipsisButton | typeof PaginationButton) => (props: React.ComponentProps<typeof BaseEllipsisButton>) => import("react/jsx-runtime").JSX.Element;
15
- export declare const createAnimatedFadeButton: (WrappedComponent: typeof PaginationButton) => (props: Omit<{
16
- mode?: "light" | "dark" | undefined;
15
+ export declare const createAnimatedFadeButton: (WrappedComponent: typeof PaginationButton) => (props: {
16
+ mode?: "dark" | "light" | undefined;
17
17
  border?: import("@codecademy/variance/dist/types/config").Scale<{
18
18
  readonly property: "border";
19
19
  readonly scale: "borders";
@@ -46,8 +46,8 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
46
46
  readonly resolveProperty: (useLogicalProperties: boolean) => import("@codecademy/variance/dist/types/properties").PropertyMode;
47
47
  readonly transform: (value: string | number) => string | 0;
48
48
  }>;
49
- "aria-hidden"?: (boolean | "true" | "false") | undefined;
50
- ref?: React.Ref<import("..").ButtonBaseElements> | undefined;
49
+ "aria-hidden"?: (boolean | "false" | "true") | undefined;
50
+ ref?: React.LegacyRef<import("..").ButtonBaseElements> | undefined;
51
51
  key?: React.Key | null | undefined;
52
52
  defaultChecked?: boolean | undefined;
53
53
  defaultValue?: string | number | readonly string[] | undefined;
@@ -56,17 +56,17 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
56
56
  accessKey?: string | undefined;
57
57
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
58
58
  autoFocus?: boolean | undefined;
59
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
59
+ contentEditable?: "inherit" | (boolean | "false" | "true") | "plaintext-only" | undefined;
60
60
  contextMenu?: string | undefined;
61
- draggable?: (boolean | "true" | "false") | undefined;
62
- enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
61
+ draggable?: (boolean | "false" | "true") | undefined;
62
+ enterKeyHint?: "search" | "next" | "enter" | "done" | "go" | "previous" | "send" | undefined;
63
63
  hidden?: boolean | undefined;
64
64
  id?: string | undefined;
65
65
  lang?: string | undefined;
66
66
  nonce?: string | undefined;
67
- spellCheck?: (boolean | "true" | "false") | undefined;
67
+ spellCheck?: (boolean | "false" | "true") | undefined;
68
68
  tabIndex?: number | undefined;
69
- translate?: "yes" | "no" | undefined;
69
+ translate?: "no" | "yes" | undefined;
70
70
  radioGroup?: string | undefined;
71
71
  role?: React.AriaRole | undefined;
72
72
  about?: string | undefined;
@@ -90,60 +90,56 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
90
90
  results?: number | undefined;
91
91
  security?: string | undefined;
92
92
  unselectable?: "off" | "on" | undefined;
93
- popover?: "" | "auto" | "manual" | "hint" | undefined;
94
- popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
95
- popoverTarget?: string | undefined;
96
- inert?: boolean | undefined;
97
93
  inputMode?: "text" | "search" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
98
94
  is?: string | undefined;
99
95
  exportparts?: string | undefined;
100
96
  part?: string | undefined;
101
97
  "aria-activedescendant"?: string | undefined;
102
- "aria-atomic"?: (boolean | "true" | "false") | undefined;
103
- "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
98
+ "aria-atomic"?: (boolean | "false" | "true") | undefined;
99
+ "aria-autocomplete"?: "none" | "inline" | "both" | "list" | undefined;
104
100
  "aria-braillelabel"?: string | undefined;
105
101
  "aria-brailleroledescription"?: string | undefined;
106
- "aria-busy"?: (boolean | "true" | "false") | undefined;
107
- "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
102
+ "aria-busy"?: (boolean | "false" | "true") | undefined;
103
+ "aria-checked"?: boolean | "mixed" | "false" | "true" | undefined;
108
104
  "aria-colcount"?: number | undefined;
109
105
  "aria-colindex"?: number | undefined;
110
106
  "aria-colindextext"?: string | undefined;
111
107
  "aria-colspan"?: number | undefined;
112
108
  "aria-controls"?: string | undefined;
113
- "aria-current"?: boolean | "time" | "page" | "true" | "false" | "step" | "location" | "date" | undefined;
109
+ "aria-current"?: boolean | "time" | "page" | "false" | "true" | "step" | "location" | "date" | undefined;
114
110
  "aria-describedby"?: string | undefined;
115
111
  "aria-description"?: string | undefined;
116
112
  "aria-details"?: string | undefined;
117
- "aria-disabled"?: (boolean | "true" | "false") | undefined;
113
+ "aria-disabled"?: (boolean | "false" | "true") | undefined;
118
114
  "aria-dropeffect"?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
119
115
  "aria-errormessage"?: string | undefined;
120
- "aria-expanded"?: (boolean | "true" | "false") | undefined;
116
+ "aria-expanded"?: (boolean | "false" | "true") | undefined;
121
117
  "aria-flowto"?: string | undefined;
122
- "aria-grabbed"?: (boolean | "true" | "false") | undefined;
123
- "aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "true" | "false" | "listbox" | "tree" | undefined;
124
- "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
118
+ "aria-grabbed"?: (boolean | "false" | "true") | undefined;
119
+ "aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "listbox" | "false" | "true" | "tree" | undefined;
120
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
125
121
  "aria-keyshortcuts"?: string | undefined;
126
122
  "aria-label"?: string | undefined;
127
123
  "aria-labelledby"?: string | undefined;
128
124
  "aria-level"?: number | undefined;
129
125
  "aria-live"?: "off" | "assertive" | "polite" | undefined;
130
- "aria-modal"?: (boolean | "true" | "false") | undefined;
131
- "aria-multiline"?: (boolean | "true" | "false") | undefined;
132
- "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
126
+ "aria-modal"?: (boolean | "false" | "true") | undefined;
127
+ "aria-multiline"?: (boolean | "false" | "true") | undefined;
128
+ "aria-multiselectable"?: (boolean | "false" | "true") | undefined;
133
129
  "aria-orientation"?: "horizontal" | "vertical" | undefined;
134
130
  "aria-owns"?: string | undefined;
135
131
  "aria-placeholder"?: string | undefined;
136
132
  "aria-posinset"?: number | undefined;
137
- "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
138
- "aria-readonly"?: (boolean | "true" | "false") | undefined;
133
+ "aria-pressed"?: boolean | "mixed" | "false" | "true" | undefined;
134
+ "aria-readonly"?: (boolean | "false" | "true") | undefined;
139
135
  "aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
140
- "aria-required"?: (boolean | "true" | "false") | undefined;
136
+ "aria-required"?: (boolean | "false" | "true") | undefined;
141
137
  "aria-roledescription"?: string | undefined;
142
138
  "aria-rowcount"?: number | undefined;
143
139
  "aria-rowindex"?: number | undefined;
144
140
  "aria-rowindextext"?: string | undefined;
145
141
  "aria-rowspan"?: number | undefined;
146
- "aria-selected"?: (boolean | "true" | "false") | undefined;
142
+ "aria-selected"?: (boolean | "false" | "true") | undefined;
147
143
  "aria-setsize"?: number | undefined;
148
144
  "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
149
145
  "aria-valuemax"?: number | undefined;
@@ -169,18 +165,18 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
169
165
  onFocusCapture?: React.FocusEventHandler<HTMLButtonElement> | (React.FocusEventHandler<HTMLButtonElement> & React.FocusEventHandler<HTMLAnchorElement>) | undefined;
170
166
  onBlur?: React.FocusEventHandler<HTMLButtonElement> | (React.FocusEventHandler<HTMLButtonElement> & React.FocusEventHandler<HTMLAnchorElement>) | undefined;
171
167
  onBlurCapture?: React.FocusEventHandler<HTMLButtonElement> | (React.FocusEventHandler<HTMLButtonElement> & React.FocusEventHandler<HTMLAnchorElement>) | undefined;
172
- onChange?: React.ChangeEventHandler<HTMLButtonElement, Element> | (React.ChangeEventHandler<HTMLButtonElement, Element> & React.ChangeEventHandler<HTMLAnchorElement, Element>) | undefined;
173
- onChangeCapture?: React.ChangeEventHandler<HTMLButtonElement, Element> | (React.ChangeEventHandler<HTMLButtonElement, Element> & React.ChangeEventHandler<HTMLAnchorElement, Element>) | undefined;
168
+ onChange?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
169
+ onChangeCapture?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
174
170
  onBeforeInput?: React.InputEventHandler<HTMLButtonElement> | (React.InputEventHandler<HTMLButtonElement> & React.InputEventHandler<HTMLAnchorElement>) | undefined;
175
- onBeforeInputCapture?: React.InputEventHandler<HTMLButtonElement> | (React.InputEventHandler<HTMLButtonElement> & React.InputEventHandler<HTMLAnchorElement>) | undefined;
176
- onInput?: React.InputEventHandler<HTMLButtonElement> | (React.InputEventHandler<HTMLButtonElement> & React.InputEventHandler<HTMLAnchorElement>) | undefined;
177
- onInputCapture?: React.InputEventHandler<HTMLButtonElement> | (React.InputEventHandler<HTMLButtonElement> & React.InputEventHandler<HTMLAnchorElement>) | undefined;
178
- onReset?: React.ReactEventHandler<HTMLButtonElement> | (React.ReactEventHandler<HTMLButtonElement> & React.ReactEventHandler<HTMLAnchorElement>) | undefined;
179
- onResetCapture?: React.ReactEventHandler<HTMLButtonElement> | (React.ReactEventHandler<HTMLButtonElement> & React.ReactEventHandler<HTMLAnchorElement>) | undefined;
180
- onSubmit?: React.SubmitEventHandler<HTMLButtonElement> | (React.SubmitEventHandler<HTMLButtonElement> & React.SubmitEventHandler<HTMLAnchorElement>) | undefined;
181
- onSubmitCapture?: React.SubmitEventHandler<HTMLButtonElement> | (React.SubmitEventHandler<HTMLButtonElement> & React.SubmitEventHandler<HTMLAnchorElement>) | undefined;
182
- onInvalid?: React.ReactEventHandler<HTMLButtonElement> | (React.ReactEventHandler<HTMLButtonElement> & React.ReactEventHandler<HTMLAnchorElement>) | undefined;
183
- onInvalidCapture?: React.ReactEventHandler<HTMLButtonElement> | (React.ReactEventHandler<HTMLButtonElement> & React.ReactEventHandler<HTMLAnchorElement>) | undefined;
171
+ onBeforeInputCapture?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
172
+ onInput?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
173
+ onInputCapture?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
174
+ onReset?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
175
+ onResetCapture?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
176
+ onSubmit?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
177
+ onSubmitCapture?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
178
+ onInvalid?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
179
+ onInvalidCapture?: React.FormEventHandler<HTMLButtonElement> | (React.FormEventHandler<HTMLButtonElement> & React.FormEventHandler<HTMLAnchorElement>) | undefined;
184
180
  onLoad?: React.ReactEventHandler<HTMLButtonElement> | (React.ReactEventHandler<HTMLButtonElement> & React.ReactEventHandler<HTMLAnchorElement>) | undefined;
185
181
  onLoadCapture?: React.ReactEventHandler<HTMLButtonElement> | (React.ReactEventHandler<HTMLButtonElement> & React.ReactEventHandler<HTMLAnchorElement>) | undefined;
186
182
  onError?: React.ReactEventHandler<HTMLButtonElement> | (React.ReactEventHandler<HTMLButtonElement> & React.ReactEventHandler<HTMLAnchorElement>) | undefined;
@@ -298,8 +294,6 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
298
294
  onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLButtonElement> | (React.PointerEventHandler<HTMLButtonElement> & React.PointerEventHandler<HTMLAnchorElement>) | undefined;
299
295
  onScroll?: React.UIEventHandler<HTMLButtonElement> | (React.UIEventHandler<HTMLButtonElement> & React.UIEventHandler<HTMLAnchorElement>) | undefined;
300
296
  onScrollCapture?: React.UIEventHandler<HTMLButtonElement> | (React.UIEventHandler<HTMLButtonElement> & React.UIEventHandler<HTMLAnchorElement>) | undefined;
301
- onScrollEnd?: React.UIEventHandler<HTMLButtonElement> | (React.UIEventHandler<HTMLButtonElement> & React.UIEventHandler<HTMLAnchorElement>) | undefined;
302
- onScrollEndCapture?: React.UIEventHandler<HTMLButtonElement> | (React.UIEventHandler<HTMLButtonElement> & React.UIEventHandler<HTMLAnchorElement>) | undefined;
303
297
  onWheel?: React.WheelEventHandler<HTMLButtonElement> | (React.WheelEventHandler<HTMLButtonElement> & React.WheelEventHandler<HTMLAnchorElement>) | undefined;
304
298
  onWheelCapture?: React.WheelEventHandler<HTMLButtonElement> | (React.WheelEventHandler<HTMLButtonElement> & React.WheelEventHandler<HTMLAnchorElement>) | undefined;
305
299
  onAnimationStartCapture?: React.AnimationEventHandler<HTMLButtonElement> | (React.AnimationEventHandler<HTMLButtonElement> & React.AnimationEventHandler<HTMLAnchorElement>) | undefined;
@@ -307,16 +301,8 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
307
301
  onAnimationEndCapture?: React.AnimationEventHandler<HTMLButtonElement> | (React.AnimationEventHandler<HTMLButtonElement> & React.AnimationEventHandler<HTMLAnchorElement>) | undefined;
308
302
  onAnimationIteration?: React.AnimationEventHandler<HTMLButtonElement> | (React.AnimationEventHandler<HTMLButtonElement> & React.AnimationEventHandler<HTMLAnchorElement>) | undefined;
309
303
  onAnimationIterationCapture?: React.AnimationEventHandler<HTMLButtonElement> | (React.AnimationEventHandler<HTMLButtonElement> & React.AnimationEventHandler<HTMLAnchorElement>) | undefined;
310
- onToggle?: React.ToggleEventHandler<HTMLButtonElement> | (React.ToggleEventHandler<HTMLButtonElement> & React.ToggleEventHandler<HTMLAnchorElement>) | undefined;
311
- onBeforeToggle?: React.ToggleEventHandler<HTMLButtonElement> | (React.ToggleEventHandler<HTMLButtonElement> & React.ToggleEventHandler<HTMLAnchorElement>) | undefined;
312
- onTransitionCancel?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
313
- onTransitionCancelCapture?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
314
304
  onTransitionEnd?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
315
305
  onTransitionEndCapture?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
316
- onTransitionRun?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
317
- onTransitionRunCapture?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
318
- onTransitionStart?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
319
- onTransitionStartCapture?: React.TransitionEventHandler<HTMLButtonElement> | (React.TransitionEventHandler<HTMLButtonElement> & React.TransitionEventHandler<HTMLAnchorElement>) | undefined;
320
306
  alignSelf?: import("@codecademy/variance/dist/types/config").Scale<{
321
307
  readonly property: "alignSelf";
322
308
  }>;
@@ -509,7 +495,11 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
509
495
  overflow?: import("@codecademy/variance/dist/types/config").Scale<{
510
496
  readonly property: "overflow";
511
497
  }>;
498
+ size?: "small" | "normal" | "large" | undefined;
499
+ type?: "button" | "reset" | "submit" | undefined;
512
500
  href?: string | undefined;
501
+ icon?: React.ComponentType<import("@codecademy/gamut-icons").GamutIconProps> | undefined;
502
+ ellipsis?: boolean | undefined;
513
503
  px?: import("@codecademy/variance/dist/types/config").Scale<{
514
504
  readonly property: "padding";
515
505
  readonly properties: {
@@ -798,21 +788,15 @@ export declare const createAnimatedFadeButton: (WrappedComponent: typeof Paginat
798
788
  readonly transform: (value: string | number) => string | 0;
799
789
  }>;
800
790
  theme?: import("@emotion/react").Theme | undefined;
801
- size?: "small" | "normal" | "large" | undefined;
802
791
  variant?: "primary" | "secondary" | "danger" | "interface" | undefined;
803
792
  as?: undefined;
804
- formAction?: string | ((formData: FormData) => void | Promise<void>) | undefined;
793
+ formAction?: string | undefined;
805
794
  formEncType?: string | undefined;
806
795
  formMethod?: string | undefined;
807
796
  formNoValidate?: boolean | undefined;
808
797
  formTarget?: string | undefined;
809
- type?: "button" | "submit" | "reset" | undefined;
810
798
  value?: string | number | readonly string[] | undefined;
811
- icon?: React.ComponentType<import("@codecademy/gamut-icons").GamutIconProps> | undefined;
812
- ellipsis?: boolean | undefined;
813
799
  buttonType?: "text" | "stroke" | undefined;
814
800
  showButton?: "hidden" | "shown" | undefined;
815
- } & import("framer-motion/dist/types.d-DOCC-kZB").M, "children"> & {
816
- children?: React.ReactNode | import("motion-dom").MotionValue<number> | import("motion-dom").MotionValue<string>;
817
- }) => import("react/jsx-runtime").JSX.Element;
801
+ } & import("framer-motion").MotionProps) => import("react/jsx-runtime").JSX.Element;
818
802
  export {};
@@ -1,9 +1,7 @@
1
- import { timingValues } from '@codecademy/gamut-styles';
2
1
  import { AnimatePresence, motion } from 'framer-motion';
3
2
  import { useEffect, useRef } from 'react';
4
3
  import * as React from 'react';
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
- const FADE_DURATION_SECONDS = timingValues.base / 1000;
7
5
  export const shouldPagesChange = ({
8
6
  chapterSize,
9
7
  currentPage,
@@ -51,7 +49,7 @@ export const wrapWithSlideAnimation = WrappedComponent => {
51
49
  exit: "hidden",
52
50
  initial: props.buttonDirection === 'forward' && isFirstRender.current ? 'shown' : 'hidden',
53
51
  transition: {
54
- duration: FADE_DURATION_SECONDS
52
+ duration: 0.3
55
53
  },
56
54
  variants: slideAnimationVariants,
57
55
  children: /*#__PURE__*/_jsx(WrappedComponent, {
@@ -71,16 +69,6 @@ const fadeAnimationVariants = {
71
69
  cursor: 'default'
72
70
  }
73
71
  };
74
- const fadeTransition = {
75
- duration: FADE_DURATION_SECONDS,
76
- ease: 'easeOut',
77
- transitionStart: {
78
- visibility: 'visible'
79
- },
80
- transitionEnd: {
81
- visibility: 'hidden'
82
- }
83
- };
84
72
  export const createAnimatedFadeButton = WrappedComponent => {
85
73
  const AnimatedButton = motion.create(WrappedComponent);
86
74
  return props => /*#__PURE__*/_jsx(AnimatedButton, {
@@ -88,7 +76,16 @@ export const createAnimatedFadeButton = WrappedComponent => {
88
76
  "aria-label": props.showButton === 'hidden' ? undefined : props['aria-label'],
89
77
  disabled: props.showButton === 'hidden',
90
78
  initial: false,
91
- transition: fadeTransition,
79
+ transition: {
80
+ transitionStart: {
81
+ visibility: 'visible'
82
+ },
83
+ duration: 0.3,
84
+ ease: [0.04, 0.62, 0.23, 0.98],
85
+ transitionEnd: {
86
+ visibility: 'hidden'
87
+ }
88
+ },
92
89
  variants: fadeAnimationVariants,
93
90
  ...props
94
91
  });
@@ -15,7 +15,7 @@ export declare const RaisedDiv: import("@emotion/styled").StyledComponent<{
15
15
  export declare const Beak: import("@emotion/styled").StyledComponent<{
16
16
  theme?: import("@emotion/react").Theme | undefined;
17
17
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
18
- } & import("../Box").BoxProps & Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "title" | "dir" | "children" | "className" | "aria-hidden" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | keyof import("react").ClassAttributes<HTMLDivElement> | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture"> & {
18
+ } & import("../Box").BoxProps & Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "title" | "dir" | "children" | "className" | "aria-hidden" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | keyof import("react").ClassAttributes<HTMLDivElement> | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & {
19
19
  theme?: import("@emotion/react").Theme | undefined;
20
20
  } & Partial<Record<"widthRestricted", boolean>> & {
21
21
  theme?: import("@emotion/react").Theme | undefined;
@@ -23,7 +23,7 @@ export declare const Beak: import("@emotion/styled").StyledComponent<{
23
23
  export declare const BeakBox: import("@emotion/styled").StyledComponent<{
24
24
  theme?: import("@emotion/react").Theme | undefined;
25
25
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
26
- } & import("../Box").FlexBoxProps & Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "title" | "dir" | "children" | "className" | "aria-hidden" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | keyof import("react").ClassAttributes<HTMLDivElement> | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture"> & {
26
+ } & import("../Box").FlexBoxProps & Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "title" | "dir" | "children" | "className" | "aria-hidden" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | keyof import("react").ClassAttributes<HTMLDivElement> | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & {
27
27
  theme?: import("@emotion/react").Theme | undefined;
28
28
  } & import("@codecademy/variance/dist/types/config").VariantProps<"variant", false | "center" | "above" | "below"> & {
29
29
  theme?: import("@emotion/react").Theme | undefined;
@@ -84,11 +84,11 @@ export type PopoverProps = PopoverBaseProps & PopoverVariants & Pick<HTMLAttribu
84
84
  /**
85
85
  * The target element around which the popover will be positioned.
86
86
  */
87
- targetRef: React.RefObject<Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains'> | null>;
87
+ targetRef: React.RefObject<Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains'>>;
88
88
  /**
89
89
  * The PopoverContainer which contents will be rendered into.
90
90
  */
91
- popoverContainerRef?: React.RefObject<HTMLDivElement | null> | React.RefCallback<HTMLDivElement>;
91
+ popoverContainerRef?: React.RefObject<HTMLDivElement> | React.RefCallback<HTMLDivElement>;
92
92
  /**
93
93
  * Whether to add width restrictions to Popover.
94
94
  */
@@ -16,7 +16,7 @@ const PopoverContent = /*#__PURE__*/_styled("div", {
16
16
  transform: {
17
17
  property: 'transform'
18
18
  }
19
- })), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qb3BvdmVyQ29udGFpbmVyL1BvcG92ZXJDb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCdUIiLCJmaWxlIjoiLi4vLi4vc3JjL1BvcG92ZXJDb250YWluZXIvUG9wb3ZlckNvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzeXN0ZW0gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdmFyaWFuY2UgfSBmcm9tICdAY29kZWNhZGVteS92YXJpYW5jZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlV2luZG93U2Nyb2xsLCB1c2VXaW5kb3dTaXplIH0gZnJvbSAncmVhY3QtdXNlJztcblxuaW1wb3J0IHsgQm9keVBvcnRhbCB9IGZyb20gJy4uL0JvZHlQb3J0YWwnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAnLi4vRm9jdXNUcmFwJztcbmltcG9ydCB7XG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0LFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzLFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0LFxufSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IENvbnRhaW5lclN0YXRlLCBQb3BvdmVyQ29udGFpbmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldENvbnRhaW5lcnMsIGdldFBvc2l0aW9uLCBpc091dE9mVmlldyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBQb3BvdmVyQ29udGVudCA9IHN0eWxlZC5kaXYoXG4gIHZhcmlhbmNlLmNvbXBvc2UoXG4gICAgc3lzdGVtLnBvc2l0aW9uaW5nLFxuICAgIHZhcmlhbmNlLmNyZWF0ZSh7XG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcHJvcGVydHk6ICd0cmFuc2Zvcm0nLFxuICAgICAgfSxcbiAgICB9KVxuICApXG4pO1xuXG5leHBvcnQgY29uc3QgUG9wb3ZlckNvbnRhaW5lcjogUmVhY3QuRkM8UG9wb3ZlckNvbnRhaW5lclByb3BzPiA9ICh7XG4gIGFsaWdubWVudCA9ICdib3R0b20tbGVmdCcsXG4gIG9mZnNldCA9IDIwLFxuICB5ID0gMCxcbiAgeCA9IDAsXG4gIGludmVydEF4aXMsXG4gIGlubGluZSA9IGZhbHNlLFxuICBpc09wZW4sXG4gIG9uUmVxdWVzdENsb3NlLFxuICB0YXJnZXRSZWYsXG4gIGFsbG93UGFnZUludGVyYWN0aW9uLFxuICBjbG9zZU9uVmlld3BvcnRFeGl0ID0gZmFsc2UsXG4gIC4uLnJlc3Rcbn0pID0+IHtcbiAgY29uc3QgcG9wb3ZlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGhhc1JlcXVlc3RlZENsb3NlUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgb25SZXF1ZXN0Q2xvc2VSZWYgPSB1c2VSZWYob25SZXF1ZXN0Q2xvc2UpO1xuICBjb25zdCB7IHdpZHRoOiB3aW5XLCBoZWlnaHQ6IHdpbkggfSA9IHVzZVdpbmRvd1NpemUoKTtcbiAgY29uc3QgeyB4OiB3aW5YLCB5OiB3aW5ZIH0gPSB1c2VXaW5kb3dTY3JvbGwoKTtcbiAgY29uc3QgW2NvbnRhaW5lcnMsIHNldENvbnRhaW5lcnNdID0gdXNlU3RhdGU8Q29udGFpbmVyU3RhdGU+KCk7XG4gIGNvbnN0IFt0YXJnZXRSZWN0LCBzZXRUYXJnZXRSZWN0XSA9IHVzZVN0YXRlPERPTVJlY3Q+KCk7XG4gIGNvbnN0IHBhcmVudCA9IGNvbnRhaW5lcnM/LnBhcmVudDtcblxuICAvLyBNZW1vaXplIHNjcm9sbGluZyBwYXJlbnRzIHRvIGF2b2lkIGV4cGVuc2l2ZSBET00gdHJhdmVyc2Fsc1xuICBjb25zdCBzY3JvbGxpbmdQYXJlbnRzID0gdXNlU2Nyb2xsaW5nUGFyZW50cyhcbiAgICB0YXJnZXRSZWYgYXMgUmVhY3QuUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgbnVsbD5cbiAgKTtcblxuICAvLyBLZWVwIG9uUmVxdWVzdENsb3NlIHJlZiB1cCB0byBkYXRlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25SZXF1ZXN0Q2xvc2VSZWYuY3VycmVudCA9IG9uUmVxdWVzdENsb3NlO1xuICB9LCBbb25SZXF1ZXN0Q2xvc2VdKTtcblxuICAvLyBEZXRlY3QgUlRMIGRpcmVjdGlvbiBmcm9tIHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgd2F0Y2ggZm9yIGF0dHJpYnV0ZSBjaGFuZ2VzIHNvIHRoZVxuICAvLyBwb3NpdGlvbiByZWNhbGN1bGF0ZXMgd2hlbiBjaGFuZ2VzIG9jY3VyXG4gIGNvbnN0IFtpc1J0bCwgc2V0SXNSdGxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNoZWNrRGlyZWN0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgICAgY29uc3QgZWwgPSB0YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50ID8gdGFyZ2V0IDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgc2V0SXNSdGwoZ2V0Q29tcHV0ZWRTdHlsZShlbCkuZGlyZWN0aW9uID09PSAncnRsJyk7XG4gICAgfTtcblxuICAgIGNoZWNrRGlyZWN0aW9uKCk7XG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGNoZWNrRGlyZWN0aW9uKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkaXInXSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW3RhcmdldFJlZl0pO1xuXG4gIGNvbnN0IHBvcG92ZXJQb3NpdGlvbiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChwYXJlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGdldFBvc2l0aW9uKHtcbiAgICAgICAgYWxpZ25tZW50LFxuICAgICAgICBjb250YWluZXI6IHBhcmVudCxcbiAgICAgICAgaW52ZXJ0QXhpcyxcbiAgICAgICAgaXNSdGwsXG4gICAgICAgIG9mZnNldCxcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4geyBzdHlsZXM6IHt9LCBwaHlzaWNhbFN0eWxlczogdW5kZWZpbmVkIH07XG4gIH0sIFtwYXJlbnQsIHgsIHksIG9mZnNldCwgYWxpZ25tZW50LCBpbnZlcnRBeGlzLCBpc1J0bF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgIGlmICghdGFyZ2V0KSByZXR1cm47XG4gICAgc2V0Q29udGFpbmVycyhnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IHdpblgsIHk6IHdpblkgfSkpO1xuICB9LCBbdGFyZ2V0UmVmLCBpbmxpbmUsIHdpblcsIHdpbkgsIHdpblgsIHdpblksIHRhcmdldFJlY3RdKTtcblxuICAvLyBVcGRhdGUgdGFyZ2V0IHJlY3RhbmdsZSB3aGVuIHdpbmRvdyBzaXplL3Njcm9sbCBjaGFuZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VGFyZ2V0UmVjdCh0YXJnZXRSZWY/LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgfSwgW3RhcmdldFJlZiwgaXNPcGVuLCB3aW5XLCB3aW5ILCB3aW5YLCB3aW5ZXSk7XG5cbiAgLy8gVXBkYXRlIHRhcmdldCByZWN0YW5nbGUgd2hlbiBwYXJlbnQgc2l6ZS9zY3JvbGwgY2hhbmdlc1xuICBjb25zdCB1cGRhdGVUYXJnZXRQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChyZWN0PzogRE9NUmVjdCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgICAgaWYgKCF0YXJnZXQpIHJldHVybjtcblxuICAgICAgY29uc3QgbmV3UmVjdCA9IHJlY3QgfHwgdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgc2V0VGFyZ2V0UmVjdChuZXdSZWN0KTtcblxuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFggPVxuICAgICAgICB3aW5kb3cucGFnZVhPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsWSA9XG4gICAgICAgIHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuXG4gICAgICBzZXRDb250YWluZXJzKFxuICAgICAgICBnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IGN1cnJlbnRTY3JvbGxYLCB5OiBjdXJyZW50U2Nyb2xsWSB9KVxuICAgICAgKTtcbiAgICB9LFxuICAgIFt0YXJnZXRSZWYsIGlubGluZV1cbiAgKTtcblxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0KHRhcmdldFJlZiwgdXBkYXRlVGFyZ2V0UG9zaXRpb24pO1xuXG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0KHRhcmdldFJlZiwgc2V0VGFyZ2V0UmVjdCk7XG5cbiAgLy8gSGFuZGxlIGNsb3NlT25WaWV3cG9ydEV4aXQgd2l0aCBjYWNoZWQgc2Nyb2xsaW5nIHBhcmVudHMgZm9yIHBlcmZvcm1hbmNlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjbG9zZU9uVmlld3BvcnRFeGl0KSByZXR1cm47XG5cbiAgICBjb25zdCByZWN0ID0gdGFyZ2V0UmVjdCB8fCBjb250YWluZXJzPy52aWV3cG9ydDtcbiAgICBpZiAoIXJlY3QpIHJldHVybjtcblxuICAgIGNvbnN0IGlzT3V0ID0gaXNPdXRPZlZpZXcoXG4gICAgICByZWN0LFxuICAgICAgdGFyZ2V0UmVmPy5jdXJyZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgc2Nyb2xsaW5nUGFyZW50c1xuICAgICk7XG5cbiAgICBpZiAoaXNPdXQgJiYgIWhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgb25SZXF1ZXN0Q2xvc2VSZWYuY3VycmVudD8uKCk7XG4gICAgfSBlbHNlIGlmICghaXNPdXQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFtcbiAgICB0YXJnZXRSZWN0LFxuICAgIGNvbnRhaW5lcnM/LnZpZXdwb3J0LFxuICAgIHRhcmdldFJlZixcbiAgICBjbG9zZU9uVmlld3BvcnRFeGl0LFxuICAgIHNjcm9sbGluZ1BhcmVudHMsXG4gIF0pO1xuICAvKipcbiAgICogQWxsb3dzIHRhcmdldFJlZiB0byBiZSBvciBjb250YWluIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyB0aGUgcG9wb3ZlciBvcGVuIGFuZCBjbG9zZWQuXG4gICAqIFdpdGhvdXQgdGhpcyBjaGVjayBpdCB3b3VsZCB0b2dnbGUgY2xvc2VkIHRoZW4gYmFjayBvcGVuIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBOb2RlO1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRhcmdldFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoIXRhcmdldEVsZW1lbnQpIHJldHVybjtcbiAgICAgIGlmICh0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcbiAgICAgIGlmIChwb3BvdmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcblxuICAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIGl0J3MgYSBnZW51aW5lIG91dHNpZGUgY2xpY2tcbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmXVxuICApO1xuXG4gIC8qKlxuICAgKiBCYWNrdXAgY2xpY2sgb3V0c2lkZSBoYW5kbGVyIGZvciBjYXNlcyB3aGVyZSBGb2N1c1RyYXAgZGV0ZWN0aW9uIG1pZ2h0IGJlIGludGVyZmVyZWQgd2l0aFxuICAgKiBieSBvdXIgb3duIGZsb2F0aW5nIGVsZW1lbnRzXG4gICAqL1xuICBjb25zdCBoYW5kbGVHbG9iYWxDbGlja091dHNpZGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgTm9kZTtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0YXJnZXRSZWYuY3VycmVudDtcblxuICAgICAgaWYgKCF0YXJnZXRFbGVtZW50IHx8ICFpc09wZW4pIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICB0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgfHxcbiAgICAgICAgcG9wb3ZlclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpXG4gICAgICApXG4gICAgICAgIHJldHVybjtcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyB3aXRoaW4gYW4gT3ZlcmxheSBjb21wb25lbnRcbiAgICAgIGNvbnN0IGNsaWNrZWRFbGVtZW50ID0gdGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgICBpZiAoY2xpY2tlZEVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtZmxvYXRpbmc9XCJvdmVybGF5XCJdJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2tlZCBlbGVtZW50IGlzIHdpdGhpbiBhbm90aGVyIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lclxuICAgICAgY29uc3QgaXNGbG9hdGluZ0VsZW1lbnQgPSBjbGlja2VkRWxlbWVudC5jbG9zZXN0KFxuICAgICAgICAnW2RhdGEtZmxvYXRpbmc9XCJwb3BvdmVyXCJdJ1xuICAgICAgKTtcbiAgICAgIGlmIChcbiAgICAgICAgaXNGbG9hdGluZ0VsZW1lbnQgJiZcbiAgICAgICAgIXBvcG92ZXJSZWYuY3VycmVudD8uY29udGFpbnMoaXNGbG9hdGluZ0VsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgb25SZXF1ZXN0Q2xvc2U/LigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmLCBpc09wZW5dXG4gICk7XG5cbiAgLy8gQmFja3VwIGdsb2JhbCBjbGljayBsaXN0ZW5lciBmb3Igd2hlbiBhIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lciBpcyBvcGVuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgLy8gVXNlIGEgc21hbGwgZGVsYXkgdG8gZW5zdXJlIHRoaXMgZG9lc24ndCBpbnRlcmZlcmUgd2l0aCB0aGUgRm9jdXNUcmFwJ3Mgb3duIGRldGVjdGlvblxuICAgICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSwgdHJ1ZSk7XG4gICAgICB9LCA1MCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAgIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2lzT3BlbiwgaGFuZGxlR2xvYmFsQ2xpY2tPdXRzaWRlXSk7XG5cbiAgaWYgKCFpc09wZW4gfHwgIXRhcmdldFJlZikgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgY29udGVudCA9IChcbiAgICA8Rm9jdXNUcmFwXG4gICAgICBhbGxvd1BhZ2VJbnRlcmFjdGlvbj17aW5saW5lIHx8IGFsbG93UGFnZUludGVyYWN0aW9ufVxuICAgICAgb25DbGlja091dHNpZGU9e2hhbmRsZUNsaWNrT3V0c2lkZX1cbiAgICAgIG9uRXNjYXBlS2V5PXtvblJlcXVlc3RDbG9zZX1cbiAgICA+XG4gICAgICA8UG9wb3ZlckNvbnRlbnRcbiAgICAgICAgZGF0YS1mbG9hdGluZz1cInBvcG92ZXJcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cInBvcG92ZXItY29udGVudC1jb250YWluZXJcIlxuICAgICAgICBwb3NpdGlvbj1cImFic29sdXRlXCJcbiAgICAgICAgcmVmPXtwb3BvdmVyUmVmfVxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgIHpJbmRleD17aW5saW5lID8gNSA6ICdpbml0aWFsJ31cbiAgICAgICAgey4uLnBvcG92ZXJQb3NpdGlvbi5zdHlsZXN9XG4gICAgICAgIC8qIFBoeXNpY2FsIGlubGluZSBzdHlsZSBmb3IgY2VudGVyZWQgYWxpZ25tZW50cyAodG9wL2JvdHRvbSkgd2hlcmVcbiAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0IHdvdWxkIGluY29ycmVjdGx5IGZsaXAgdGhlIGNlbnRlciBwb2ludCBpbiBSVEwgKi9cbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdhbXV0L25vLWlubGluZS1zdHlsZSAqL1xuICAgICAgICBzdHlsZT17cG9wb3ZlclBvc2l0aW9uLnBoeXNpY2FsU3R5bGVzfVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgPC9Gb2N1c1RyYXA+XG4gICk7XG5cbiAgaWYgKGlubGluZSkgcmV0dXJuIGNvbnRlbnQ7XG5cbiAgcmV0dXJuIDxCb2R5UG9ydGFsPntjb250ZW50fTwvQm9keVBvcnRhbD47XG59O1xuIl19 */");
19
+ })), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qb3BvdmVyQ29udGFpbmVyL1BvcG92ZXJDb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCdUIiLCJmaWxlIjoiLi4vLi4vc3JjL1BvcG92ZXJDb250YWluZXIvUG9wb3ZlckNvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzeXN0ZW0gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdmFyaWFuY2UgfSBmcm9tICdAY29kZWNhZGVteS92YXJpYW5jZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlV2luZG93U2Nyb2xsLCB1c2VXaW5kb3dTaXplIH0gZnJvbSAncmVhY3QtdXNlJztcblxuaW1wb3J0IHsgQm9keVBvcnRhbCB9IGZyb20gJy4uL0JvZHlQb3J0YWwnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAnLi4vRm9jdXNUcmFwJztcbmltcG9ydCB7XG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0LFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzLFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0LFxufSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IENvbnRhaW5lclN0YXRlLCBQb3BvdmVyQ29udGFpbmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldENvbnRhaW5lcnMsIGdldFBvc2l0aW9uLCBpc091dE9mVmlldyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBQb3BvdmVyQ29udGVudCA9IHN0eWxlZC5kaXYoXG4gIHZhcmlhbmNlLmNvbXBvc2UoXG4gICAgc3lzdGVtLnBvc2l0aW9uaW5nLFxuICAgIHZhcmlhbmNlLmNyZWF0ZSh7XG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcHJvcGVydHk6ICd0cmFuc2Zvcm0nLFxuICAgICAgfSxcbiAgICB9KVxuICApXG4pO1xuXG5leHBvcnQgY29uc3QgUG9wb3ZlckNvbnRhaW5lcjogUmVhY3QuRkM8UG9wb3ZlckNvbnRhaW5lclByb3BzPiA9ICh7XG4gIGFsaWdubWVudCA9ICdib3R0b20tbGVmdCcsXG4gIG9mZnNldCA9IDIwLFxuICB5ID0gMCxcbiAgeCA9IDAsXG4gIGludmVydEF4aXMsXG4gIGlubGluZSA9IGZhbHNlLFxuICBpc09wZW4sXG4gIG9uUmVxdWVzdENsb3NlLFxuICB0YXJnZXRSZWYsXG4gIGFsbG93UGFnZUludGVyYWN0aW9uLFxuICBjbG9zZU9uVmlld3BvcnRFeGl0ID0gZmFsc2UsXG4gIGZvY3VzT25Qcm9wcyxcbiAgLi4ucmVzdFxufSkgPT4ge1xuICBjb25zdCBwb3BvdmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgaGFzUmVxdWVzdGVkQ2xvc2VSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBvblJlcXVlc3RDbG9zZVJlZiA9IHVzZVJlZihvblJlcXVlc3RDbG9zZSk7XG4gIGNvbnN0IHsgd2lkdGg6IHdpblcsIGhlaWdodDogd2luSCB9ID0gdXNlV2luZG93U2l6ZSgpO1xuICBjb25zdCB7IHg6IHdpblgsIHk6IHdpblkgfSA9IHVzZVdpbmRvd1Njcm9sbCgpO1xuICBjb25zdCBbY29udGFpbmVycywgc2V0Q29udGFpbmVyc10gPSB1c2VTdGF0ZTxDb250YWluZXJTdGF0ZT4oKTtcbiAgY29uc3QgW3RhcmdldFJlY3QsIHNldFRhcmdldFJlY3RdID0gdXNlU3RhdGU8RE9NUmVjdD4oKTtcbiAgY29uc3QgcGFyZW50ID0gY29udGFpbmVycz8ucGFyZW50O1xuXG4gIC8vIE1lbW9pemUgc2Nyb2xsaW5nIHBhcmVudHMgdG8gYXZvaWQgZXhwZW5zaXZlIERPTSB0cmF2ZXJzYWxzXG4gIGNvbnN0IHNjcm9sbGluZ1BhcmVudHMgPSB1c2VTY3JvbGxpbmdQYXJlbnRzKFxuICAgIHRhcmdldFJlZiBhcyBSZWFjdC5SZWZPYmplY3Q8SFRNTEVsZW1lbnQgfCBudWxsPlxuICApO1xuXG4gIC8vIEtlZXAgb25SZXF1ZXN0Q2xvc2UgcmVmIHVwIHRvIGRhdGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBvblJlcXVlc3RDbG9zZVJlZi5jdXJyZW50ID0gb25SZXF1ZXN0Q2xvc2U7XG4gIH0sIFtvblJlcXVlc3RDbG9zZV0pO1xuXG4gIC8vIERldGVjdCBSVEwgZGlyZWN0aW9uIGZyb20gdGhlIHRhcmdldCBlbGVtZW50IGFuZCB3YXRjaCBmb3IgYXR0cmlidXRlIGNoYW5nZXMgc28gdGhlXG4gIC8vIHBvc2l0aW9uIHJlY2FsY3VsYXRlcyB3aGVuIGNoYW5nZXMgb2NjdXJcbiAgY29uc3QgW2lzUnRsLCBzZXRJc1J0bF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY2hlY2tEaXJlY3Rpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSB0YXJnZXRSZWY/LmN1cnJlbnQ7XG4gICAgICBjb25zdCBlbCA9IHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgPyB0YXJnZXQgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBzZXRJc1J0bChnZXRDb21wdXRlZFN0eWxlKGVsKS5kaXJlY3Rpb24gPT09ICdydGwnKTtcbiAgICB9O1xuXG4gICAgY2hlY2tEaXJlY3Rpb24oKTtcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoY2hlY2tEaXJlY3Rpb24pO1xuICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2RpciddLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9LCBbdGFyZ2V0UmVmXSk7XG5cbiAgY29uc3QgcG9wb3ZlclBvc2l0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHBhcmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZ2V0UG9zaXRpb24oe1xuICAgICAgICBhbGlnbm1lbnQsXG4gICAgICAgIGNvbnRhaW5lcjogcGFyZW50LFxuICAgICAgICBpbnZlcnRBeGlzLFxuICAgICAgICBpc1J0bCxcbiAgICAgICAgb2Zmc2V0LFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7IHN0eWxlczoge30sIHBoeXNpY2FsU3R5bGVzOiB1bmRlZmluZWQgfTtcbiAgfSwgW3BhcmVudCwgeCwgeSwgb2Zmc2V0LCBhbGlnbm1lbnQsIGludmVydEF4aXMsIGlzUnRsXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSB0YXJnZXRSZWY/LmN1cnJlbnQ7XG4gICAgaWYgKCF0YXJnZXQpIHJldHVybjtcbiAgICBzZXRDb250YWluZXJzKGdldENvbnRhaW5lcnModGFyZ2V0LCBpbmxpbmUsIHsgeDogd2luWCwgeTogd2luWSB9KSk7XG4gIH0sIFt0YXJnZXRSZWYsIGlubGluZSwgd2luVywgd2luSCwgd2luWCwgd2luWSwgdGFyZ2V0UmVjdF0pO1xuXG4gIC8vIFVwZGF0ZSB0YXJnZXQgcmVjdGFuZ2xlIHdoZW4gd2luZG93IHNpemUvc2Nyb2xsIGNoYW5nZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRUYXJnZXRSZWN0KHRhcmdldFJlZj8uY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuICB9LCBbdGFyZ2V0UmVmLCBpc09wZW4sIHdpblcsIHdpbkgsIHdpblgsIHdpblldKTtcblxuICAvLyBVcGRhdGUgdGFyZ2V0IHJlY3RhbmdsZSB3aGVuIHBhcmVudCBzaXplL3Njcm9sbCBjaGFuZ2VzXG4gIGNvbnN0IHVwZGF0ZVRhcmdldFBvc2l0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKHJlY3Q/OiBET01SZWN0KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSB0YXJnZXRSZWY/LmN1cnJlbnQ7XG4gICAgICBpZiAoIXRhcmdldCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBuZXdSZWN0ID0gcmVjdCB8fCB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBzZXRUYXJnZXRSZWN0KG5ld1JlY3QpO1xuXG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsWCA9XG4gICAgICAgIHdpbmRvdy5wYWdlWE9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY3JvbGxZID1cbiAgICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG5cbiAgICAgIHNldENvbnRhaW5lcnMoXG4gICAgICAgIGdldENvbnRhaW5lcnModGFyZ2V0LCBpbmxpbmUsIHsgeDogY3VycmVudFNjcm9sbFgsIHk6IGN1cnJlbnRTY3JvbGxZIH0pXG4gICAgICApO1xuICAgIH0sXG4gICAgW3RhcmdldFJlZiwgaW5saW5lXVxuICApO1xuXG4gIHVzZVNjcm9sbGluZ1BhcmVudHNFZmZlY3QodGFyZ2V0UmVmLCB1cGRhdGVUYXJnZXRQb3NpdGlvbik7XG5cbiAgdXNlUmVzaXppbmdQYXJlbnRFZmZlY3QodGFyZ2V0UmVmLCBzZXRUYXJnZXRSZWN0KTtcblxuICAvLyBIYW5kbGUgY2xvc2VPblZpZXdwb3J0RXhpdCB3aXRoIGNhY2hlZCBzY3JvbGxpbmcgcGFyZW50cyBmb3IgcGVyZm9ybWFuY2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWNsb3NlT25WaWV3cG9ydEV4aXQpIHJldHVybjtcblxuICAgIGNvbnN0IHJlY3QgPSB0YXJnZXRSZWN0IHx8IGNvbnRhaW5lcnM/LnZpZXdwb3J0O1xuICAgIGlmICghcmVjdCkgcmV0dXJuO1xuXG4gICAgY29uc3QgaXNPdXQgPSBpc091dE9mVmlldyhcbiAgICAgIHJlY3QsXG4gICAgICB0YXJnZXRSZWY/LmN1cnJlbnQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICBzY3JvbGxpbmdQYXJlbnRzXG4gICAgKTtcblxuICAgIGlmIChpc091dCAmJiAhaGFzUmVxdWVzdGVkQ2xvc2VSZWYuY3VycmVudCkge1xuICAgICAgaGFzUmVxdWVzdGVkQ2xvc2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICBvblJlcXVlc3RDbG9zZVJlZi5jdXJyZW50Py4oKTtcbiAgICB9IGVsc2UgaWYgKCFpc091dCkge1xuICAgICAgaGFzUmVxdWVzdGVkQ2xvc2VSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH1cbiAgfSwgW1xuICAgIHRhcmdldFJlY3QsXG4gICAgY29udGFpbmVycz8udmlld3BvcnQsXG4gICAgdGFyZ2V0UmVmLFxuICAgIGNsb3NlT25WaWV3cG9ydEV4aXQsXG4gICAgc2Nyb2xsaW5nUGFyZW50cyxcbiAgXSk7XG4gIC8qKlxuICAgKiBBbGxvd3MgdGFyZ2V0UmVmIHRvIGJlIG9yIGNvbnRhaW4gYSBidXR0b24gdGhhdCB0b2dnbGVzIHRoZSBwb3BvdmVyIG9wZW4gYW5kIGNsb3NlZC5cbiAgICogV2l0aG91dCB0aGlzIGNoZWNrIGl0IHdvdWxkIHRvZ2dsZSBjbG9zZWQgdGhlbiBiYWNrIG9wZW4gaW1tZWRpYXRlbHkuXG4gICAqXG4gICAqL1xuICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIE5vZGU7XG4gICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gdGFyZ2V0UmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmICghdGFyZ2V0RWxlbWVudCkgcmV0dXJuO1xuICAgICAgaWYgKHRhcmdldEVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkgcmV0dXJuO1xuICAgICAgaWYgKHBvcG92ZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkgcmV0dXJuO1xuXG4gICAgICAvLyBJZiB3ZSBnZXQgaGVyZSwgaXQncyBhIGdlbnVpbmUgb3V0c2lkZSBjbGlja1xuICAgICAgb25SZXF1ZXN0Q2xvc2U/LigpO1xuICAgIH0sXG4gICAgW29uUmVxdWVzdENsb3NlLCB0YXJnZXRSZWZdXG4gICk7XG5cbiAgLyoqXG4gICAqIEJhY2t1cCBjbGljayBvdXRzaWRlIGhhbmRsZXIgZm9yIGNhc2VzIHdoZXJlIEZvY3VzVHJhcCBkZXRlY3Rpb24gbWlnaHQgYmUgaW50ZXJmZXJlZCB3aXRoXG4gICAqIGJ5IG91ciBvd24gZmxvYXRpbmcgZWxlbWVudHNcbiAgICovXG4gIGNvbnN0IGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBOb2RlO1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRhcmdldFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoIXRhcmdldEVsZW1lbnQgfHwgIWlzT3BlbikgcmV0dXJuO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRhcmdldEVsZW1lbnQuY29udGFpbnModGFyZ2V0KSB8fFxuICAgICAgICBwb3BvdmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldClcbiAgICAgIClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2tlZCBlbGVtZW50IGlzIHdpdGhpbiBhbiBPdmVybGF5IGNvbXBvbmVudFxuICAgICAgY29uc3QgY2xpY2tlZEVsZW1lbnQgPSB0YXJnZXQgYXMgRWxlbWVudDtcbiAgICAgIGlmIChjbGlja2VkRWxlbWVudC5jbG9zZXN0KCdbZGF0YS1mbG9hdGluZz1cIm92ZXJsYXlcIl0nKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgd2l0aGluIGFub3RoZXIgUG9wb3ZlciBvciBQb3BvdmVyQ29udGFpbmVyXG4gICAgICBjb25zdCBpc0Zsb2F0aW5nRWxlbWVudCA9IGNsaWNrZWRFbGVtZW50LmNsb3Nlc3QoXG4gICAgICAgICdbZGF0YS1mbG9hdGluZz1cInBvcG92ZXJcIl0nXG4gICAgICApO1xuICAgICAgaWYgKFxuICAgICAgICBpc0Zsb2F0aW5nRWxlbWVudCAmJlxuICAgICAgICAhcG9wb3ZlclJlZi5jdXJyZW50Py5jb250YWlucyhpc0Zsb2F0aW5nRWxlbWVudClcbiAgICAgICkge1xuICAgICAgICBvblJlcXVlc3RDbG9zZT8uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgb25SZXF1ZXN0Q2xvc2U/LigpO1xuICAgIH0sXG4gICAgW29uUmVxdWVzdENsb3NlLCB0YXJnZXRSZWYsIGlzT3Blbl1cbiAgKTtcblxuICAvLyBCYWNrdXAgZ2xvYmFsIGNsaWNrIGxpc3RlbmVyIGZvciB3aGVuIGEgUG9wb3ZlciBvciBQb3BvdmVyQ29udGFpbmVyIGlzIG9wZW5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAvLyBVc2UgYSBzbWFsbCBkZWxheSB0byBlbnN1cmUgdGhpcyBkb2Vzbid0IGludGVyZmVyZSB3aXRoIHRoZSBGb2N1c1RyYXAncyBvd24gZGV0ZWN0aW9uXG4gICAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlR2xvYmFsQ2xpY2tPdXRzaWRlLCB0cnVlKTtcbiAgICAgIH0sIDUwKTtcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgJ21vdXNlZG93bicsXG4gICAgICAgICAgaGFuZGxlR2xvYmFsQ2xpY2tPdXRzaWRlLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgfVxuICB9LCBbaXNPcGVuLCBoYW5kbGVHbG9iYWxDbGlja091dHNpZGVdKTtcblxuICBpZiAoIWlzT3BlbiB8fCAhdGFyZ2V0UmVmKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBjb250ZW50ID0gKFxuICAgIDxGb2N1c1RyYXBcbiAgICAgIGFsbG93UGFnZUludGVyYWN0aW9uPXtpbmxpbmUgfHwgYWxsb3dQYWdlSW50ZXJhY3Rpb259XG4gICAgICBmb2N1c09uUHJvcHM9e2ZvY3VzT25Qcm9wc31cbiAgICAgIG9uQ2xpY2tPdXRzaWRlPXtoYW5kbGVDbGlja091dHNpZGV9XG4gICAgICBvbkVzY2FwZUtleT17b25SZXF1ZXN0Q2xvc2V9XG4gICAgPlxuICAgICAgPFBvcG92ZXJDb250ZW50XG4gICAgICAgIGRhdGEtZmxvYXRpbmc9XCJwb3BvdmVyXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJwb3BvdmVyLWNvbnRlbnQtY29udGFpbmVyXCJcbiAgICAgICAgcG9zaXRpb249XCJhYnNvbHV0ZVwiXG4gICAgICAgIHJlZj17cG9wb3ZlclJlZn1cbiAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgICB6SW5kZXg9e2lubGluZSA/IDUgOiAnaW5pdGlhbCd9XG4gICAgICAgIHsuLi5wb3BvdmVyUG9zaXRpb24uc3R5bGVzfVxuICAgICAgICAvKiBQaHlzaWNhbCBpbmxpbmUgc3R5bGUgZm9yIGNlbnRlcmVkIGFsaWdubWVudHMgKHRvcC9ib3R0b20pIHdoZXJlXG4gICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydCB3b3VsZCBpbmNvcnJlY3RseSBmbGlwIHRoZSBjZW50ZXIgcG9pbnQgaW4gUlRMICovXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBnYW11dC9uby1pbmxpbmUtc3R5bGUgKi9cbiAgICAgICAgc3R5bGU9e3BvcG92ZXJQb3NpdGlvbi5waHlzaWNhbFN0eWxlc31cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgIDwvRm9jdXNUcmFwPlxuICApO1xuXG4gIGlmIChpbmxpbmUpIHJldHVybiBjb250ZW50O1xuXG4gIHJldHVybiA8Qm9keVBvcnRhbD57Y29udGVudH08L0JvZHlQb3J0YWw+O1xufTtcbiJdfQ== */");
20
20
  export const PopoverContainer = ({
21
21
  alignment = 'bottom-left',
22
22
  offset = 20,
@@ -29,6 +29,7 @@ export const PopoverContainer = ({
29
29
  targetRef,
30
30
  allowPageInteraction,
31
31
  closeOnViewportExit = false,
32
+ focusOnProps,
32
33
  ...rest
33
34
  }) => {
34
35
  const popoverRef = useRef(null);
@@ -189,6 +190,7 @@ export const PopoverContainer = ({
189
190
  if (!isOpen || !targetRef) return null;
190
191
  const content = /*#__PURE__*/_jsx(FocusTrap, {
191
192
  allowPageInteraction: inline || allowPageInteraction,
193
+ focusOnProps: focusOnProps,
192
194
  onClickOutside: handleClickOutside,
193
195
  onEscapeKey: onRequestClose,
194
196
  children: /*#__PURE__*/_jsx(PopoverContent, {
@@ -1,5 +1,5 @@
1
- export declare const useScrollingParentsEffect: (targetRef: React.RefObject<Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains'> | null>, setTargetRect: (rect: DOMRect | undefined) => void) => void;
2
- export declare const useResizingParentEffect: (targetRef: React.RefObject<Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains'> | null>, setTargetRect: (rect: DOMRect | undefined) => void) => void;
1
+ export declare const useScrollingParentsEffect: (targetRef: React.RefObject<Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains'>>, setTargetRect: (rect: DOMRect | undefined) => void) => void;
2
+ export declare const useResizingParentEffect: (targetRef: React.RefObject<Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains'>>, setTargetRect: (rect: DOMRect | undefined) => void) => void;
3
3
  /**
4
4
  * Memoizes the list of scrolling parent elements for a target element.
5
5
  * This avoids expensive DOM traversals and getComputedStyle calls on every render.
@@ -55,7 +55,7 @@ export interface PopoverContainerProps extends PopoverAlignment, WithChildrenPro
55
55
  /**
56
56
  * The target element around which the popover will be positioned.
57
57
  */
58
- targetRef: RefObject<TargetRef | null>;
58
+ targetRef: RefObject<TargetRef>;
59
59
  /**
60
60
  * If true, it will allow outside page interaction. Popover container will still close when clicking outside of the popover or hitting the escape key.
61
61
  */
@@ -65,4 +65,9 @@ export interface PopoverContainerProps extends PopoverAlignment, WithChildrenPro
65
65
  * Defaults to false.
66
66
  */
67
67
  closeOnViewportExit?: boolean;
68
+ /**
69
+ * Optional props passed to the internal FocusTrap (react-focus-on).
70
+ * Use e.g. { autoFocus: false, focusLock: false } to keep focus on the trigger when the popover opens.
71
+ */
72
+ focusOnProps?: Partial<import('../FocusTrap').FocusTrapProps['focusOnProps']>;
68
73
  }