@atlaskit/analytics-next 8.3.1 → 8.3.3

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 (47) hide show
  1. package/AnalyticsContext/package.json +9 -1
  2. package/AnalyticsErrorBoundary/package.json +9 -1
  3. package/AnalyticsEvent/package.json +9 -1
  4. package/AnalyticsListener/package.json +9 -1
  5. package/CHANGELOG.md +12 -0
  6. package/UIAnalyticsEvent/package.json +9 -1
  7. package/createAndFireEvents/package.json +9 -1
  8. package/dist/cjs/version.json +1 -1
  9. package/dist/es2019/version.json +1 -1
  10. package/dist/esm/version.json +1 -1
  11. package/dist/types/hocs/withAnalyticsContext.d.ts +1 -22
  12. package/dist/types/hocs/withAnalyticsEvents.d.ts +1 -22
  13. package/dist/types-ts4.0/components/AnalyticsContext/LegacyAnalyticsContext.d.ts +29 -0
  14. package/dist/types-ts4.0/components/AnalyticsContext/ModernAnalyticsContext.d.ts +3 -0
  15. package/dist/types-ts4.0/components/AnalyticsContext/index.d.ts +3 -0
  16. package/dist/types-ts4.0/components/AnalyticsContext/types.d.ts +9 -0
  17. package/dist/types-ts4.0/components/AnalyticsErrorBoundary.d.ts +29 -0
  18. package/dist/types-ts4.0/components/AnalyticsListener/LegacyAnalyticsListener.d.ts +33 -0
  19. package/dist/types-ts4.0/components/AnalyticsListener/ModernAnalyticsListener.d.ts +3 -0
  20. package/dist/types-ts4.0/components/AnalyticsListener/index.d.ts +3 -0
  21. package/dist/types-ts4.0/components/AnalyticsListener/types.d.ts +12 -0
  22. package/dist/types-ts4.0/events/AnalyticsEvent.d.ts +15 -0
  23. package/dist/types-ts4.0/events/UIAnalyticsEvent.d.ts +20 -0
  24. package/dist/types-ts4.0/hocs/withAnalyticsContext.d.ts +6 -0
  25. package/dist/types-ts4.0/hocs/withAnalyticsEvents.d.ts +12 -0
  26. package/dist/types-ts4.0/hooks/useAnalyticsContext.d.ts +2 -0
  27. package/dist/types-ts4.0/hooks/useAnalyticsEvents.d.ts +5 -0
  28. package/dist/types-ts4.0/hooks/useCallbackWithAnalytics.d.ts +2 -0
  29. package/dist/types-ts4.0/hooks/usePatchedProps.d.ts +5 -0
  30. package/dist/types-ts4.0/hooks/usePlatformLeafEventHandler.d.ts +12 -0
  31. package/dist/types-ts4.0/hooks/usePlatformLeafSyntheticEventHandler.d.ts +11 -0
  32. package/dist/types-ts4.0/hooks/useTrackedRef.d.ts +2 -0
  33. package/dist/types-ts4.0/index.d.ts +25 -0
  34. package/dist/types-ts4.0/performance/examples.d.ts +5 -0
  35. package/dist/types-ts4.0/test-utils/useRenderCounter.d.ts +1 -0
  36. package/dist/types-ts4.0/types.d.ts +6 -0
  37. package/dist/types-ts4.0/utils/cleanProps.d.ts +3 -0
  38. package/dist/types-ts4.0/utils/createAndFireEvent.d.ts +4 -0
  39. package/package.json +11 -4
  40. package/report.api.md +7572 -0
  41. package/types/package.json +9 -1
  42. package/useAnalyticsEvents/package.json +9 -1
  43. package/useCallbackWithAnalytics/package.json +9 -1
  44. package/usePatchedProps/package.json +9 -1
  45. package/usePlatformLeafEventHandler/package.json +9 -1
  46. package/withAnalyticsContext/package.json +9 -1
  47. package/withAnalyticsEvents/package.json +9 -1
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { AnalyticsReactContextInterface } from '@atlaskit/analytics-next-stable-react-context';
3
+ import UIAnalyticsEvent from '../../events/UIAnalyticsEvent';
4
+ export declare type AnalyticsListenerFunction = (props: {
5
+ /** Children! */
6
+ children?: React.ReactNode;
7
+ /** The channel to listen for events on. */
8
+ channel?: string;
9
+ /** A function which will be called when an event is fired on this Listener's
10
+ * channel. It is passed the event and the channel as arguments. */
11
+ onEvent: (event: UIAnalyticsEvent, channel?: string) => void;
12
+ }, context?: AnalyticsReactContextInterface) => JSX.Element;
@@ -0,0 +1,15 @@
1
+ export declare type AnalyticsEventPayload = Record<string, any>;
2
+ declare type AnalyticsEventCallback = (payload: AnalyticsEventPayload) => AnalyticsEventPayload;
3
+ declare type AnalyticsEventUpdater = AnalyticsEventPayload | AnalyticsEventCallback;
4
+ export declare type AnalyticsEventProps = {
5
+ payload: AnalyticsEventPayload;
6
+ };
7
+ export declare const isAnalyticsEvent: (obj: any) => boolean;
8
+ export default class AnalyticsEvent {
9
+ payload: AnalyticsEventPayload;
10
+ _isAnalyticsEvent: boolean;
11
+ constructor(props: AnalyticsEventProps);
12
+ clone: () => AnalyticsEvent | null;
13
+ update(updater: AnalyticsEventUpdater): this;
14
+ }
15
+ export {};
@@ -0,0 +1,20 @@
1
+ import AnalyticsEvent, { AnalyticsEventPayload, AnalyticsEventProps } from './AnalyticsEvent';
2
+ declare type ChannelIdentifier = string;
3
+ declare type Context = Record<string, any>[];
4
+ export declare type UIAnalyticsEventHandler = (event: UIAnalyticsEvent, channel?: ChannelIdentifier) => void;
5
+ export declare type UIAnalyticsEventProps = AnalyticsEventProps & {
6
+ context?: Context;
7
+ handlers?: UIAnalyticsEventHandler[];
8
+ };
9
+ export declare const isUIAnalyticsEvent: (obj: any) => boolean;
10
+ export default class UIAnalyticsEvent extends AnalyticsEvent {
11
+ context: Context;
12
+ handlers: UIAnalyticsEventHandler[];
13
+ hasFired: boolean;
14
+ _isUIAnalyticsEvent: boolean;
15
+ constructor(props: UIAnalyticsEventProps);
16
+ clone: () => UIAnalyticsEvent | null;
17
+ fire: (channel?: string | undefined) => void;
18
+ update(updater: Record<string, any> | ((payload: AnalyticsEventPayload) => AnalyticsEventPayload)): this;
19
+ }
20
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface WithContextProps {
3
+ analyticsContext?: Record<string, any>;
4
+ }
5
+ declare const withAnalyticsContext: (defaultData?: any) => <Props, Component>(WrappedComponent: React.JSXElementConstructor<Props> & Component) => React.ForwardRefExoticComponent<React.PropsWithoutRef<JSX.LibraryManagedAttributes<Component, Props & WithContextProps>> & React.RefAttributes<any>>;
6
+ export default withAnalyticsContext;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { CreateEventMap, CreateUIAnalyticsEvent } from '../types';
3
+ export interface WithAnalyticsEventsProps {
4
+ /**
5
+ * You should not be accessing this prop under any circumstances.
6
+ * It is provided by `@atlaskit/analytics-next` and integrated in the component
7
+ */
8
+ createAnalyticsEvent?: CreateUIAnalyticsEvent;
9
+ ref?: React.Ref<any>;
10
+ }
11
+ declare const withAnalyticsEvents: (createEventMap?: CreateEventMap) => <Props extends WithAnalyticsEventsProps, Component>(WrappedComponent: React.JSXElementConstructor<Props> & Component) => React.ForwardRefExoticComponent<React.PropsWithoutRef<JSX.LibraryManagedAttributes<Component, Omit<Props, keyof WithAnalyticsEventsProps>>> & React.RefAttributes<any>>;
12
+ export default withAnalyticsEvents;
@@ -0,0 +1,2 @@
1
+ import { AnalyticsReactContextInterface } from '@atlaskit/analytics-next-stable-react-context';
2
+ export declare const useAnalyticsContext: () => AnalyticsReactContextInterface;
@@ -0,0 +1,5 @@
1
+ import { CreateUIAnalyticsEvent } from '../types';
2
+ export declare type UseAnalyticsEventsHook = {
3
+ createAnalyticsEvent: CreateUIAnalyticsEvent;
4
+ };
5
+ export declare function useAnalyticsEvents(): UseAnalyticsEventsHook;
@@ -0,0 +1,2 @@
1
+ export declare type UseCallbackWithAnalyticsHook = (method: (...args: any[]) => void, payload: Record<string, any> | ((...args: any[]) => void), channel?: string) => (...args: any[]) => void;
2
+ export declare const useCallbackWithAnalytics: UseCallbackWithAnalyticsHook;
@@ -0,0 +1,5 @@
1
+ import { CreateEventMap } from '../types';
2
+ export declare type PatchedPropsHook = {
3
+ patchedEventProps: CreateEventMap;
4
+ };
5
+ export declare function usePatchedProps<Props extends Record<string, any>>(createEventMap: CreateEventMap | undefined, wrappedComponentProps: Props): PatchedPropsHook;
@@ -0,0 +1,12 @@
1
+ import UIAnalyticsEvent from '../events/UIAnalyticsEvent';
2
+ export declare type UsePlatformLeafEventHandlerHookArgs<T> = {
3
+ fn: (value: T, analyticsEvent: UIAnalyticsEvent) => void;
4
+ action: string;
5
+ componentName: string;
6
+ actionSubject?: string;
7
+ packageName: string;
8
+ packageVersion: string;
9
+ analyticsData?: Record<string, any>;
10
+ };
11
+ export declare type UsePlatformLeafEventHandlerHook<T> = (value: T) => void;
12
+ export declare function usePlatformLeafEventHandler<T>({ fn, action, componentName, actionSubject, packageName, packageVersion, analyticsData, }: UsePlatformLeafEventHandlerHookArgs<T>): (value: T) => void;
@@ -0,0 +1,11 @@
1
+ import UIAnalyticsEvent from '../events/UIAnalyticsEvent';
2
+ export declare type UsePlatformLeafSyntheticEventHandlerHookArgs = {
3
+ fn: (analyticsEvent: UIAnalyticsEvent) => void;
4
+ action: string;
5
+ componentName: string;
6
+ packageName: string;
7
+ packageVersion: string;
8
+ analyticsData?: Record<string, any>;
9
+ };
10
+ export declare type UsePlatformLeafSyntheticEventHandlerHook = () => void;
11
+ export declare function usePlatformLeafSyntheticEventHandler({ fn, action, componentName, packageName, packageVersion, analyticsData, }: UsePlatformLeafSyntheticEventHandlerHookArgs): () => void;
@@ -0,0 +1,2 @@
1
+ import { MutableRefObject } from 'react';
2
+ export declare const useTrackedRef: <T>(value: T) => MutableRefObject<T>;
@@ -0,0 +1,25 @@
1
+ export type { CreateUIAnalyticsEvent } from './types';
2
+ export { default as AnalyticsEvent, isAnalyticsEvent, } from './events/AnalyticsEvent';
3
+ export type { AnalyticsEventPayload, AnalyticsEventProps, } from './events/AnalyticsEvent';
4
+ export { default as UIAnalyticsEvent, isUIAnalyticsEvent, } from './events/UIAnalyticsEvent';
5
+ export type { UIAnalyticsEventProps, UIAnalyticsEventHandler, } from './events/UIAnalyticsEvent';
6
+ export { default as AnalyticsListener } from './components/AnalyticsListener/index';
7
+ export { default as AnalyticsContext } from './components/AnalyticsContext/index';
8
+ export { default as withAnalyticsContext } from './hocs/withAnalyticsContext';
9
+ export type { WithContextProps } from './hocs/withAnalyticsContext';
10
+ export { default as AnalyticsErrorBoundary } from './components/AnalyticsErrorBoundary';
11
+ export type { AnalyticsErrorBoundaryProps } from './components/AnalyticsErrorBoundary';
12
+ export { default as withAnalyticsEvents } from './hocs/withAnalyticsEvents';
13
+ export type { WithAnalyticsEventsProps } from './hocs/withAnalyticsEvents';
14
+ export { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';
15
+ export type { AnalyticsReactContextInterface } from '@atlaskit/analytics-next-stable-react-context';
16
+ export { useAnalyticsEvents } from './hooks/useAnalyticsEvents';
17
+ export type { UseAnalyticsEventsHook } from './hooks/useAnalyticsEvents';
18
+ export { useCallbackWithAnalytics } from './hooks/useCallbackWithAnalytics';
19
+ export type { UseCallbackWithAnalyticsHook } from './hooks/useCallbackWithAnalytics';
20
+ export { usePlatformLeafEventHandler } from './hooks/usePlatformLeafEventHandler';
21
+ export type { UsePlatformLeafEventHandlerHookArgs, UsePlatformLeafEventHandlerHook, } from './hooks/usePlatformLeafEventHandler';
22
+ export { usePlatformLeafSyntheticEventHandler } from './hooks/usePlatformLeafSyntheticEventHandler';
23
+ export type { UsePlatformLeafSyntheticEventHandlerHookArgs, UsePlatformLeafSyntheticEventHandlerHook, } from './hooks/usePlatformLeafSyntheticEventHandler';
24
+ export { default as createAndFireEvent } from './utils/createAndFireEvent';
25
+ export { default as cleanProps } from './utils/cleanProps';
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const UsePlatformLeafEventHandlerHookTest: () => JSX.Element;
3
+ export declare const UseAnalyticsEventHookTest: () => JSX.Element;
4
+ export declare const UseCallbackWithAnalyticsHookTest: () => JSX.Element;
5
+ export declare const HOCSTest: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const useRenderCounter: () => number;
@@ -0,0 +1,6 @@
1
+ import { AnalyticsEventPayload } from './events/AnalyticsEvent';
2
+ import UIAnalyticsEvent from './events/UIAnalyticsEvent';
3
+ export declare type CreateUIAnalyticsEvent = (payload: AnalyticsEventPayload) => UIAnalyticsEvent;
4
+ export declare type AnalyticsEventCreator = (create: CreateUIAnalyticsEvent, props: Record<string, any>) => UIAnalyticsEvent | undefined;
5
+ export declare type CreateEventMapValue = AnalyticsEventPayload | AnalyticsEventCreator;
6
+ export declare type CreateEventMap = Record<string, CreateEventMapValue>;
@@ -0,0 +1,3 @@
1
+ export default function cleanProps(props: Record<string, any>): {
2
+ [x: string]: any;
3
+ };
@@ -0,0 +1,4 @@
1
+ import { AnalyticsEventPayload } from '../events/AnalyticsEvent';
2
+ import { CreateUIAnalyticsEvent } from '../types';
3
+ declare const _default: (channel?: string | undefined) => (payload: AnalyticsEventPayload) => (createAnalyticsEvent: CreateUIAnalyticsEvent) => import("..").UIAnalyticsEvent;
4
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/analytics-next",
3
- "version": "8.3.1",
3
+ "version": "8.3.3",
4
4
  "description": "React components, HOCs and hooks to assist with tracking user activity with React components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -12,6 +12,13 @@
12
12
  "module": "dist/esm/index.js",
13
13
  "module:es2019": "dist/es2019/index.js",
14
14
  "types": "dist/types/index.d.ts",
15
+ "typesVersions": {
16
+ ">=4.0 <4.5": {
17
+ "*": [
18
+ "dist/types-ts4.0/*"
19
+ ]
20
+ }
21
+ },
15
22
  "sideEffects": false,
16
23
  "atlaskit:src": "src/index.ts",
17
24
  "atlassian": {
@@ -51,14 +58,14 @@
51
58
  "@atlaskit/button": "^16.3.0",
52
59
  "@atlaskit/docs": "*",
53
60
  "@atlaskit/ssr": "*",
54
- "@atlaskit/textfield": "^5.0.0",
61
+ "@atlaskit/textfield": "^5.2.0",
55
62
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
56
- "@testing-library/react": "^8.0.1",
63
+ "@testing-library/react": "^12.1.5",
57
64
  "enzyme": "^3.10.0",
58
65
  "react-dom": "^16.8.0",
59
66
  "redux": "^3.7.2",
60
67
  "storybook-addon-performance": "^0.16.0",
61
- "typescript": "4.2.4"
68
+ "typescript": "4.5.5"
62
69
  },
63
70
  "techstack": {
64
71
  "@atlassian/frontend": {