@atlaskit/analytics-next 8.2.0 → 8.3.1

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 (50) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/build/tsconfig.json +6 -2
  3. package/dist/cjs/components/AnalyticsContext/types.js +5 -1
  4. package/dist/cjs/components/AnalyticsErrorBoundary.js +2 -2
  5. package/dist/cjs/components/AnalyticsListener/types.js +5 -1
  6. package/dist/cjs/events/AnalyticsEvent.js +13 -3
  7. package/dist/cjs/events/UIAnalyticsEvent.js +11 -1
  8. package/dist/cjs/hocs/withAnalyticsContext.js +5 -3
  9. package/dist/cjs/hooks/usePatchedProps.js +21 -4
  10. package/dist/cjs/hooks/usePlatformLeafEventHandler.js +2 -2
  11. package/dist/cjs/hooks/usePlatformLeafSyntheticEventHandler.js +2 -2
  12. package/dist/cjs/index.js +39 -21
  13. package/dist/cjs/types.js +5 -1
  14. package/dist/cjs/utils/cleanProps.js +3 -1
  15. package/dist/cjs/version.json +1 -1
  16. package/dist/es2019/components/AnalyticsContext/types.js +1 -0
  17. package/dist/es2019/components/AnalyticsListener/types.js +1 -0
  18. package/dist/es2019/events/AnalyticsEvent.js +8 -0
  19. package/dist/es2019/events/UIAnalyticsEvent.js +8 -0
  20. package/dist/es2019/hooks/usePatchedProps.js +19 -4
  21. package/dist/es2019/index.js +2 -2
  22. package/dist/es2019/types.js +1 -0
  23. package/dist/es2019/version.json +1 -1
  24. package/dist/esm/components/AnalyticsContext/types.js +1 -0
  25. package/dist/esm/components/AnalyticsErrorBoundary.js +2 -2
  26. package/dist/esm/components/AnalyticsListener/types.js +1 -0
  27. package/dist/esm/events/AnalyticsEvent.js +11 -2
  28. package/dist/esm/events/UIAnalyticsEvent.js +8 -0
  29. package/dist/esm/hocs/withAnalyticsContext.js +4 -3
  30. package/dist/esm/hooks/usePatchedProps.js +22 -5
  31. package/dist/esm/hooks/usePlatformLeafEventHandler.js +2 -2
  32. package/dist/esm/hooks/usePlatformLeafSyntheticEventHandler.js +2 -2
  33. package/dist/esm/index.js +2 -2
  34. package/dist/esm/types.js +1 -0
  35. package/dist/esm/utils/cleanProps.js +2 -1
  36. package/dist/esm/version.json +1 -1
  37. package/dist/types/components/AnalyticsContext/LegacyAnalyticsContext.d.ts +4 -4
  38. package/dist/types/components/AnalyticsErrorBoundary.d.ts +1 -1
  39. package/dist/types/components/AnalyticsListener/LegacyAnalyticsListener.d.ts +4 -4
  40. package/dist/types/events/AnalyticsEvent.d.ts +2 -0
  41. package/dist/types/events/UIAnalyticsEvent.d.ts +2 -0
  42. package/dist/types/hocs/withAnalyticsContext.d.ts +22 -1
  43. package/dist/types/hocs/withAnalyticsEvents.d.ts +22 -1
  44. package/dist/types/hooks/usePatchedProps.d.ts +1 -1
  45. package/dist/types/index.d.ts +2 -2
  46. package/dist/types/performance/examples.d.ts +1 -0
  47. package/package.json +5 -6
  48. package/dist/cjs/performance/examples.js +0 -258
  49. package/dist/es2019/performance/examples.js +0 -197
  50. package/dist/esm/performance/examples.js +0 -228
@@ -1,11 +1,11 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _typeof from "@babel/runtime/helpers/typeof";
3
3
 
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
 
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
 
8
- import { useMemo } from 'react';
8
+ import { useMemo, useRef } from 'react';
9
9
  import { useAnalyticsEvents } from './useAnalyticsEvents';
10
10
  export function usePatchedProps() {
11
11
  var createEventMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -14,7 +14,15 @@ export function usePatchedProps() {
14
14
  var _useAnalyticsEvents = useAnalyticsEvents(),
15
15
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
16
16
 
17
+ var handlerCache = useRef({});
17
18
  var patchedProps = useMemo(function () {
19
+ var cache = handlerCache.current; // Clean up no longer used handlers in cache
20
+
21
+ Object.keys(cache).filter(function (key) {
22
+ return !(key in createEventMap);
23
+ }).forEach(function (key) {
24
+ return delete cache[key];
25
+ });
18
26
  return Object.keys(createEventMap).reduce(function (p, k) {
19
27
  var eventCreator = createEventMap[k];
20
28
 
@@ -24,6 +32,10 @@ export function usePatchedProps() {
24
32
 
25
33
  var propValue = wrappedComponentProps[k];
26
34
 
35
+ if (k in cache && cache[k].eventCreator === eventCreator && cache[k].propValue === propValue) {
36
+ return _objectSpread(_objectSpread({}, p), {}, _defineProperty({}, k, cache[k].wrappedCallback));
37
+ }
38
+
27
39
  var wrappedCallback = function wrappedCallback() {
28
40
  var analyticsEvent = typeof eventCreator === 'function' ? eventCreator(createAnalyticsEvent, wrappedComponentProps) : createAnalyticsEvent(eventCreator);
29
41
 
@@ -36,9 +48,14 @@ export function usePatchedProps() {
36
48
  }
37
49
  };
38
50
 
39
- return wrappedCallback ? _objectSpread(_objectSpread({}, p), {}, _defineProperty({}, k, wrappedCallback)) : p;
51
+ cache[k] = {
52
+ eventCreator: eventCreator,
53
+ wrappedCallback: wrappedCallback,
54
+ propValue: propValue
55
+ };
56
+ return _objectSpread(_objectSpread({}, p), {}, _defineProperty({}, k, wrappedCallback));
40
57
  }, {});
41
- }, [createEventMap, wrappedComponentProps, createAnalyticsEvent]);
58
+ }, [createEventMap, wrappedComponentProps, createAnalyticsEvent, handlerCache]);
42
59
  return {
43
60
  patchedEventProps: patchedProps
44
61
  };
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  import { useCallback } from 'react';
8
8
  import { useAnalyticsEvents } from './useAnalyticsEvents';
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  import { useCallback } from 'react';
8
8
  import { useAnalyticsEvents } from './useAnalyticsEvents';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Analytics event classes
2
- export { default as AnalyticsEvent } from './events/AnalyticsEvent';
3
- export { default as UIAnalyticsEvent } from './events/UIAnalyticsEvent';
2
+ export { default as AnalyticsEvent, isAnalyticsEvent } from './events/AnalyticsEvent';
3
+ export { default as UIAnalyticsEvent, isUIAnalyticsEvent } from './events/UIAnalyticsEvent';
4
4
  // AnalyticsListener component
5
5
  export { default as AnalyticsListener } from './components/AnalyticsListener/index'; // AnalyticsContext component and HOC
6
6
 
package/dist/esm/types.js CHANGED
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,8 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ var _excluded = ["createAnalyticsEvent"];
2
3
  export default function cleanProps(props) {
3
4
  var createAnalyticsEvent = props.createAnalyticsEvent,
4
- cleanedProps = _objectWithoutProperties(props, ["createAnalyticsEvent"]);
5
+ cleanedProps = _objectWithoutProperties(props, _excluded);
5
6
 
6
7
  return cleanedProps;
7
8
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/analytics-next",
3
- "version": "8.2.0",
3
+ "version": "8.3.1",
4
4
  "sideEffects": false
5
5
  }
@@ -10,12 +10,12 @@ interface Props {
10
10
  }
11
11
  declare class AnalyticsContext extends Component<Props, AnalyticsReactContextInterface> {
12
12
  static contextTypes: {
13
- getAtlaskitAnalyticsContext: PropTypes.Requireable<any>;
14
- getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<any>;
13
+ getAtlaskitAnalyticsContext: PropTypes.Requireable<(...args: any[]) => any>;
14
+ getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<(...args: any[]) => any>;
15
15
  };
16
16
  static childContextTypes: {
17
- getAtlaskitAnalyticsContext: PropTypes.Requireable<any>;
18
- getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<any>;
17
+ getAtlaskitAnalyticsContext: PropTypes.Requireable<(...args: any[]) => any>;
18
+ getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<(...args: any[]) => any>;
19
19
  };
20
20
  contextValue: AnalyticsReactContextInterface;
21
21
  constructor(props: Props);
@@ -25,5 +25,5 @@ export declare class BaseAnalyticsErrorBoundary extends Component<AnalyticsError
25
25
  componentDidCatch(error: Error, info?: AnalyticsErrorBoundaryErrorInfo): void;
26
26
  render(): JSX.Element;
27
27
  }
28
- declare const AnalyticsErrorBoundary: React.ForwardRefExoticComponent<Pick<AnalyticsErrorBoundaryProps, "children" | "channel" | "data" | "ErrorComponent" | "onError"> & React.RefAttributes<any>>;
28
+ declare const AnalyticsErrorBoundary: React.ForwardRefExoticComponent<Omit<AnalyticsErrorBoundaryProps, keyof WithAnalyticsEventsProps> & React.RefAttributes<any>>;
29
29
  export default AnalyticsErrorBoundary;
@@ -13,12 +13,12 @@ declare type Props = {
13
13
  };
14
14
  declare class AnalyticsListener extends Component<Props> {
15
15
  static contextTypes: {
16
- getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<any>;
17
- getAtlaskitAnalyticsContext: PropTypes.Requireable<any>;
16
+ getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<(...args: any[]) => any>;
17
+ getAtlaskitAnalyticsContext: PropTypes.Requireable<(...args: any[]) => any>;
18
18
  };
19
19
  static childContextTypes: {
20
- getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<any>;
21
- getAtlaskitAnalyticsContext: PropTypes.Requireable<any>;
20
+ getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<(...args: any[]) => any>;
21
+ getAtlaskitAnalyticsContext: PropTypes.Requireable<(...args: any[]) => any>;
22
22
  };
23
23
  contextValue: AnalyticsReactContextInterface;
24
24
  constructor(props: Props);
@@ -4,8 +4,10 @@ declare type AnalyticsEventUpdater = AnalyticsEventPayload | AnalyticsEventCallb
4
4
  export declare type AnalyticsEventProps = {
5
5
  payload: AnalyticsEventPayload;
6
6
  };
7
+ export declare const isAnalyticsEvent: (obj: any) => boolean;
7
8
  export default class AnalyticsEvent {
8
9
  payload: AnalyticsEventPayload;
10
+ _isAnalyticsEvent: boolean;
9
11
  constructor(props: AnalyticsEventProps);
10
12
  clone: () => AnalyticsEvent | null;
11
13
  update(updater: AnalyticsEventUpdater): this;
@@ -6,10 +6,12 @@ export declare type UIAnalyticsEventProps = AnalyticsEventProps & {
6
6
  context?: Context;
7
7
  handlers?: UIAnalyticsEventHandler[];
8
8
  };
9
+ export declare const isUIAnalyticsEvent: (obj: any) => boolean;
9
10
  export default class UIAnalyticsEvent extends AnalyticsEvent {
10
11
  context: Context;
11
12
  handlers: UIAnalyticsEventHandler[];
12
13
  hasFired: boolean;
14
+ _isUIAnalyticsEvent: boolean;
13
15
  constructor(props: UIAnalyticsEventProps);
14
16
  clone: () => UIAnalyticsEvent | null;
15
17
  fire: (channel?: string | undefined) => void;
@@ -2,5 +2,26 @@ import React from 'react';
2
2
  export interface WithContextProps {
3
3
  analyticsContext?: Record<string, any>;
4
4
  }
5
- declare const withAnalyticsContext: (defaultData?: any) => <Props, Component>(WrappedComponent: (((props: Props) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | null) & Component) | ((new (props: Props) => React.Component<Props, any, any>) & Component)) => React.ForwardRefExoticComponent<React.PropsWithoutRef<JSX.LibraryManagedAttributes<Component, Props & WithContextProps>> & React.RefAttributes<any>>;
5
+ declare const withAnalyticsContext: (defaultData?: any) => <Props, Component>(WrappedComponent: React.JSXElementConstructor<Props> & Component) => React.ForwardRefExoticComponent<React.PropsWithoutRef<Component extends React.MemoExoticComponent<infer T> | React.LazyExoticComponent<infer T> ? T extends React.MemoExoticComponent<infer U> | React.LazyExoticComponent<infer U> ? U extends {
6
+ propTypes: infer T_1;
7
+ defaultProps: infer D;
8
+ } ? (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) extends any ? string extends keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) ? Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never : Pick<Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Exclude<keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>> & Partial<Pick<Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Extract<keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never)>>> : never : U extends {
9
+ propTypes: infer T_2;
10
+ } ? Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_2> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_2>, Exclude<import("prop-types").RequiredKeys<T_2>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>>> : never : U extends {
11
+ defaultProps: infer D_1;
12
+ } ? Props & WithContextProps extends any ? string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", keyof D_1> | Exclude<keyof Props, keyof D_1>> & Partial<Pick<Props & WithContextProps, Extract<"analyticsContext", keyof D_1> | Extract<keyof Props, keyof D_1>>> & Partial<Pick<D_1, Exclude<keyof D_1, "analyticsContext" | keyof Props>>> : never : Props & WithContextProps : T extends {
13
+ propTypes: infer T_1;
14
+ defaultProps: infer D;
15
+ } ? (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) extends any ? string extends keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) ? Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never : Pick<Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Exclude<keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>> & Partial<Pick<Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Extract<keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never)>>> : never : T extends {
16
+ propTypes: infer T_2;
17
+ } ? Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_2> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_2>, Exclude<import("prop-types").RequiredKeys<T_2>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>>> : never : T extends {
18
+ defaultProps: infer D_1;
19
+ } ? Props & WithContextProps extends any ? string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", keyof D_1> | Exclude<keyof Props, keyof D_1>> & Partial<Pick<Props & WithContextProps, Extract<"analyticsContext", keyof D_1> | Extract<keyof Props, keyof D_1>>> & Partial<Pick<D_1, Exclude<keyof D_1, "analyticsContext" | keyof Props>>> : never : Props & WithContextProps : Component extends {
20
+ propTypes: infer T_1;
21
+ defaultProps: infer D;
22
+ } ? (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) extends any ? string extends keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) ? Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never : Pick<Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Exclude<keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>> & Partial<Pick<Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Extract<keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof (Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never)>>> : never : Component extends {
23
+ propTypes: infer T_2;
24
+ } ? Props & WithContextProps extends any ? (boolean extends (Props & WithContextProps extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_2> : string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> & Pick<import("prop-types").InferProps<T_2>, Exclude<import("prop-types").RequiredKeys<T_2>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>> | Exclude<Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>, Exclude<"analyticsContext", { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]> | Exclude<keyof Props, { [K in keyof (Props & WithContextProps)]: (boolean extends ((Props & WithContextProps)[K] extends never ? true : false) ? true : false) extends true ? K : never; }["analyticsContext" | keyof Props]>>> & Pick<Props & WithContextProps, Exclude<"analyticsContext", import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>> | Exclude<keyof Props, import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>>> : never : Component extends {
25
+ defaultProps: infer D_1;
26
+ } ? Props & WithContextProps extends any ? string extends "analyticsContext" | keyof Props ? Props & WithContextProps : Pick<Props & WithContextProps, Exclude<"analyticsContext", keyof D_1> | Exclude<keyof Props, keyof D_1>> & Partial<Pick<Props & WithContextProps, Extract<"analyticsContext", keyof D_1> | Extract<keyof Props, keyof D_1>>> & Partial<Pick<D_1, Exclude<keyof D_1, "analyticsContext" | keyof Props>>> : never : Props & WithContextProps> & React.RefAttributes<any>>;
6
27
  export default withAnalyticsContext;
@@ -8,5 +8,26 @@ export interface WithAnalyticsEventsProps {
8
8
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
9
9
  ref?: React.Ref<any>;
10
10
  }
11
- declare const withAnalyticsEvents: (createEventMap?: CreateEventMap) => <Props extends WithAnalyticsEventsProps, Component>(WrappedComponent: (((props: Props) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | null) & Component) | ((new (props: Props) => React.Component<Props, any, any>) & Component)) => React.ForwardRefExoticComponent<React.PropsWithoutRef<JSX.LibraryManagedAttributes<Component, Pick<Props, Exclude<keyof Props, "ref" | "createAnalyticsEvent">>>> & React.RefAttributes<any>>;
11
+ declare const withAnalyticsEvents: (createEventMap?: CreateEventMap) => <Props extends WithAnalyticsEventsProps, Component>(WrappedComponent: React.JSXElementConstructor<Props> & Component) => React.ForwardRefExoticComponent<React.PropsWithoutRef<Component extends React.MemoExoticComponent<infer T> | React.LazyExoticComponent<infer T> ? T extends React.MemoExoticComponent<infer U> | React.LazyExoticComponent<infer U> ? U extends {
12
+ propTypes: infer T_1;
13
+ defaultProps: infer D;
14
+ } ? (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) extends any ? string extends keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never : Pick<Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Exclude<keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>> & Partial<Pick<Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Extract<keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never)>>> : never : U extends {
15
+ propTypes: infer T_2;
16
+ } ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_2> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_2>, Exclude<import("prop-types").RequiredKeys<T_2>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>>> : never : U extends {
17
+ defaultProps: infer D_1;
18
+ } ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, keyof D_1>> & Partial<Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Extract<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, keyof D_1>>> & Partial<Pick<D_1, Exclude<keyof D_1, Exclude<keyof Props, keyof WithAnalyticsEventsProps>>>> : never : Omit<Props, keyof WithAnalyticsEventsProps> : T extends {
19
+ propTypes: infer T_1;
20
+ defaultProps: infer D;
21
+ } ? (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) extends any ? string extends keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never : Pick<Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Exclude<keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>> & Partial<Pick<Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Extract<keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never)>>> : never : T extends {
22
+ propTypes: infer T_2;
23
+ } ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_2> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_2>, Exclude<import("prop-types").RequiredKeys<T_2>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>>> : never : T extends {
24
+ defaultProps: infer D_1;
25
+ } ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, keyof D_1>> & Partial<Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Extract<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, keyof D_1>>> & Partial<Pick<D_1, Exclude<keyof D_1, Exclude<keyof Props, keyof WithAnalyticsEventsProps>>>> : never : Omit<Props, keyof WithAnalyticsEventsProps> : Component extends {
26
+ propTypes: infer T_1;
27
+ defaultProps: infer D;
28
+ } ? (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) extends any ? string extends keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never) ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never : Pick<Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Exclude<keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>> & Partial<Pick<Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never, Extract<keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never), keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof (Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_1> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_1>, Exclude<import("prop-types").RequiredKeys<T_1>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_1> | Exclude<keyof T_1, import("prop-types").RequiredKeys<T_1>>>> : never)>>> : never : Component extends {
29
+ propTypes: infer T_2;
30
+ } ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps> extends never ? true : false) ? true : false) extends true ? import("prop-types").InferProps<T_2> : string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> & Pick<import("prop-types").InferProps<T_2>, Exclude<import("prop-types").RequiredKeys<T_2>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>> | Exclude<Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, { [K in keyof Omit<Props, keyof WithAnalyticsEventsProps>]: (boolean extends (Omit<Props, keyof WithAnalyticsEventsProps>[K] extends never ? true : false) ? true : false) extends true ? K : never; }[Exclude<keyof Props, keyof WithAnalyticsEventsProps>]>>> & Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, import("prop-types").RequiredKeys<T_2> | Exclude<keyof T_2, import("prop-types").RequiredKeys<T_2>>>> : never : Component extends {
31
+ defaultProps: infer D_1;
32
+ } ? Omit<Props, keyof WithAnalyticsEventsProps> extends any ? string extends Exclude<keyof Props, keyof WithAnalyticsEventsProps> ? Omit<Props, keyof WithAnalyticsEventsProps> : Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Exclude<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, keyof D_1>> & Partial<Pick<Omit<Props, keyof WithAnalyticsEventsProps>, Extract<Exclude<keyof Props, keyof WithAnalyticsEventsProps>, keyof D_1>>> & Partial<Pick<D_1, Exclude<keyof D_1, Exclude<keyof Props, keyof WithAnalyticsEventsProps>>>> : never : Omit<Props, keyof WithAnalyticsEventsProps>> & React.RefAttributes<any>>;
12
33
  export default withAnalyticsEvents;
@@ -2,4 +2,4 @@ import { CreateEventMap } from '../types';
2
2
  export declare type PatchedPropsHook = {
3
3
  patchedEventProps: CreateEventMap;
4
4
  };
5
- export declare function usePatchedProps<Props extends Record<string, any>>(createEventMap: Record<string, import("../types").CreateEventMapValue> | undefined, wrappedComponentProps: Props): PatchedPropsHook;
5
+ export declare function usePatchedProps<Props extends Record<string, any>>(createEventMap: CreateEventMap | undefined, wrappedComponentProps: Props): PatchedPropsHook;
@@ -1,7 +1,7 @@
1
1
  export type { CreateUIAnalyticsEvent } from './types';
2
- export { default as AnalyticsEvent } from './events/AnalyticsEvent';
2
+ export { default as AnalyticsEvent, isAnalyticsEvent, } from './events/AnalyticsEvent';
3
3
  export type { AnalyticsEventPayload, AnalyticsEventProps, } from './events/AnalyticsEvent';
4
- export { default as UIAnalyticsEvent } from './events/UIAnalyticsEvent';
4
+ export { default as UIAnalyticsEvent, isUIAnalyticsEvent, } from './events/UIAnalyticsEvent';
5
5
  export type { UIAnalyticsEventProps, UIAnalyticsEventHandler, } from './events/UIAnalyticsEvent';
6
6
  export { default as AnalyticsListener } from './components/AnalyticsListener/index';
7
7
  export { default as AnalyticsContext } from './components/AnalyticsContext/index';
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const UsePlatformLeafEventHandlerHookTest: () => JSX.Element;
2
3
  export declare const UseAnalyticsEventHookTest: () => JSX.Element;
3
4
  export declare const UseCallbackWithAnalyticsHookTest: () => JSX.Element;