@atlaskit/people-teams-ui-public 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/analytics/package.json +17 -0
  3. package/dist/cjs/common/utils/analytics/analytics-subcontext/index.js +16 -0
  4. package/dist/cjs/common/utils/analytics/analytics-subcontext/store.js +53 -0
  5. package/dist/cjs/common/utils/analytics/hooks.js +33 -0
  6. package/dist/cjs/common/utils/analytics/index.js +32 -0
  7. package/dist/es2019/common/utils/analytics/analytics-subcontext/index.js +10 -0
  8. package/dist/es2019/common/utils/analytics/analytics-subcontext/store.js +49 -0
  9. package/dist/es2019/common/utils/analytics/hooks.js +23 -0
  10. package/dist/es2019/common/utils/analytics/index.js +3 -0
  11. package/dist/esm/common/utils/analytics/analytics-subcontext/index.js +9 -0
  12. package/dist/esm/common/utils/analytics/analytics-subcontext/store.js +46 -0
  13. package/dist/esm/common/utils/analytics/hooks.js +23 -0
  14. package/dist/esm/common/utils/analytics/index.js +3 -0
  15. package/dist/types/common/utils/analytics/analytics-subcontext/index.d.ts +10 -0
  16. package/dist/types/common/utils/analytics/analytics-subcontext/store.d.ts +16 -0
  17. package/dist/types/common/utils/analytics/hooks.d.ts +5 -0
  18. package/dist/types/common/utils/analytics/index.d.ts +3 -0
  19. package/dist/types-ts4.5/common/utils/analytics/analytics-subcontext/index.d.ts +10 -0
  20. package/dist/types-ts4.5/common/utils/analytics/analytics-subcontext/store.d.ts +16 -0
  21. package/dist/types-ts4.5/common/utils/analytics/hooks.d.ts +5 -0
  22. package/dist/types-ts4.5/common/utils/analytics/index.d.ts +3 -0
  23. package/package.json +14 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/people-teams-ui-public
2
2
 
3
+ ## 3.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#127475](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/127475)
8
+ [`1d4268a595ade`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/1d4268a595ade) -
9
+ Move PeopleTeamsAnalyticsSubcontextProvider to public package to set the context for analytics
10
+
11
+ ## 3.0.1
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies
16
+
3
17
  ## 3.0.0
4
18
 
5
19
  ### Major Changes
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@atlaskit/people-teams-ui-public/analytics",
3
+ "main": "../dist/cjs/common/utils/analytics/index.js",
4
+ "module": "../dist/esm/common/utils/analytics/index.js",
5
+ "module:es2019": "../dist/es2019/common/utils/analytics/index.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/common/utils/analytics/index.d.ts",
10
+ "typesVersions": {
11
+ ">=4.5 <5.4": {
12
+ "*": [
13
+ "../dist/types-ts4.5/common/utils/analytics/index.d.ts"
14
+ ]
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PeopleTeamsAnalyticsSubcontextProvider = PeopleTeamsAnalyticsSubcontextProvider;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _index = require("../index");
10
+ function PeopleTeamsAnalyticsSubcontextProvider(_ref) {
11
+ var children = _ref.children,
12
+ topLevelAttributes = _ref.topLevelAttributes;
13
+ return /*#__PURE__*/_react.default.createElement(_index.PeopleTeamsAnalyticsProvider, {
14
+ analyticsContextData: topLevelAttributes
15
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children));
16
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.usePeopleTeamsAnalyticsSubcontext = exports.useInjectedEventAttribute = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = require("react");
10
+ var _reactSweetState = require("react-sweet-state");
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ var initialState = {
14
+ eventAttributes: {}
15
+ };
16
+ var actions = {
17
+ setEventAttributes: function setEventAttributes(eventAttributes) {
18
+ return function (_ref) {
19
+ var setState = _ref.setState,
20
+ getState = _ref.getState;
21
+ var existingEventAttributes = getState().eventAttributes;
22
+ var newEventAttributes = _objectSpread(_objectSpread({}, existingEventAttributes), eventAttributes);
23
+ Object.keys(newEventAttributes).forEach(function (keyString) {
24
+ var key = keyString;
25
+ if (newEventAttributes[key] === undefined) {
26
+ delete newEventAttributes[key];
27
+ }
28
+ });
29
+ setState({
30
+ eventAttributes: newEventAttributes
31
+ });
32
+ };
33
+ }
34
+ };
35
+ var AnalyticsSubcontextStore = (0, _reactSweetState.createStore)({
36
+ initialState: initialState,
37
+ actions: actions
38
+ });
39
+ var usePeopleTeamsAnalyticsSubcontext = exports.usePeopleTeamsAnalyticsSubcontext = (0, _reactSweetState.createHook)(AnalyticsSubcontextStore);
40
+
41
+ /**
42
+ * Inject an attribute into all events using `usePeopleTeamAnalyticsEvents`
43
+ * It sets the attribute when the hook is called and clears it when the component is unmounted
44
+ */
45
+ var useInjectedEventAttribute = exports.useInjectedEventAttribute = function useInjectedEventAttribute(key, value) {
46
+ var setEventAttributes = usePeopleTeamsAnalyticsSubcontext()[1].setEventAttributes;
47
+ (0, _react.useEffect)(function () {
48
+ setEventAttributes((0, _defineProperty2.default)({}, key, value));
49
+ return function () {
50
+ return setEventAttributes((0, _defineProperty2.default)({}, key, undefined));
51
+ };
52
+ }, [key, value, setEventAttributes]);
53
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PeopleTeamsAnalyticsProvider = PeopleTeamsAnalyticsProvider;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _analyticsNamespacedContext = require("@atlaskit/analytics-namespaced-context");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ var defaultAnalyticsContextData = {
18
+ packageName: "@atlaskit/people-teams-ui-public",
19
+ packageVersion: "3.1.0"
20
+ };
21
+ function PeopleTeamsAnalyticsProvider(_ref) {
22
+ var analyticsContextData = _ref.analyticsContextData,
23
+ children = _ref.children;
24
+ var data = (0, _react.useMemo)(function () {
25
+ if ((0, _typeof2.default)(analyticsContextData) === 'object') {
26
+ return _objectSpread(_objectSpread({}, defaultAnalyticsContextData), analyticsContextData);
27
+ }
28
+ return defaultAnalyticsContextData;
29
+ }, [analyticsContextData]);
30
+ return /*#__PURE__*/_react.default.createElement(_analyticsNamespacedContext.PeopleTeamsAnalyticsContext, {
31
+ data: data
32
+ }, children);
33
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "PeopleTeamsAnalyticsProvider", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _hooks.PeopleTeamsAnalyticsProvider;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "PeopleTeamsAnalyticsSubcontextProvider", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _analyticsSubcontext.PeopleTeamsAnalyticsSubcontextProvider;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useInjectedEventAttribute", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _store.useInjectedEventAttribute;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "usePeopleTeamsAnalyticsSubcontext", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _store.usePeopleTeamsAnalyticsSubcontext;
28
+ }
29
+ });
30
+ var _hooks = require("./hooks");
31
+ var _analyticsSubcontext = require("./analytics-subcontext");
32
+ var _store = require("./analytics-subcontext/store");
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { PeopleTeamsAnalyticsProvider } from '../index';
3
+ export function PeopleTeamsAnalyticsSubcontextProvider({
4
+ children,
5
+ topLevelAttributes
6
+ }) {
7
+ return /*#__PURE__*/React.createElement(PeopleTeamsAnalyticsProvider, {
8
+ analyticsContextData: topLevelAttributes
9
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, children));
10
+ }
@@ -0,0 +1,49 @@
1
+ import { useEffect } from 'react';
2
+ import { createHook, createStore } from 'react-sweet-state';
3
+ const initialState = {
4
+ eventAttributes: {}
5
+ };
6
+ const actions = {
7
+ setEventAttributes: eventAttributes => ({
8
+ setState,
9
+ getState
10
+ }) => {
11
+ const existingEventAttributes = getState().eventAttributes;
12
+ const newEventAttributes = {
13
+ ...existingEventAttributes,
14
+ ...eventAttributes
15
+ };
16
+ Object.keys(newEventAttributes).forEach(keyString => {
17
+ const key = keyString;
18
+ if (newEventAttributes[key] === undefined) {
19
+ delete newEventAttributes[key];
20
+ }
21
+ });
22
+ setState({
23
+ eventAttributes: newEventAttributes
24
+ });
25
+ }
26
+ };
27
+ const AnalyticsSubcontextStore = createStore({
28
+ initialState,
29
+ actions
30
+ });
31
+ export const usePeopleTeamsAnalyticsSubcontext = createHook(AnalyticsSubcontextStore);
32
+
33
+ /**
34
+ * Inject an attribute into all events using `usePeopleTeamAnalyticsEvents`
35
+ * It sets the attribute when the hook is called and clears it when the component is unmounted
36
+ */
37
+ export const useInjectedEventAttribute = (key, value) => {
38
+ const {
39
+ setEventAttributes
40
+ } = usePeopleTeamsAnalyticsSubcontext()[1];
41
+ useEffect(() => {
42
+ setEventAttributes({
43
+ [key]: value
44
+ });
45
+ return () => setEventAttributes({
46
+ [key]: undefined
47
+ });
48
+ }, [key, value, setEventAttributes]);
49
+ };
@@ -0,0 +1,23 @@
1
+ import React, { useMemo } from 'react';
2
+ import { PeopleTeamsAnalyticsContext } from '@atlaskit/analytics-namespaced-context';
3
+ const defaultAnalyticsContextData = {
4
+ packageName: "@atlaskit/people-teams-ui-public",
5
+ packageVersion: "3.1.0"
6
+ };
7
+ export function PeopleTeamsAnalyticsProvider({
8
+ analyticsContextData,
9
+ children
10
+ }) {
11
+ const data = useMemo(() => {
12
+ if (typeof analyticsContextData === 'object') {
13
+ return {
14
+ ...defaultAnalyticsContextData,
15
+ ...analyticsContextData
16
+ };
17
+ }
18
+ return defaultAnalyticsContextData;
19
+ }, [analyticsContextData]);
20
+ return /*#__PURE__*/React.createElement(PeopleTeamsAnalyticsContext, {
21
+ data: data
22
+ }, children);
23
+ }
@@ -0,0 +1,3 @@
1
+ export { PeopleTeamsAnalyticsProvider } from './hooks';
2
+ export { PeopleTeamsAnalyticsSubcontextProvider } from './analytics-subcontext';
3
+ export { useInjectedEventAttribute, usePeopleTeamsAnalyticsSubcontext } from './analytics-subcontext/store';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { PeopleTeamsAnalyticsProvider } from '../index';
3
+ export function PeopleTeamsAnalyticsSubcontextProvider(_ref) {
4
+ var children = _ref.children,
5
+ topLevelAttributes = _ref.topLevelAttributes;
6
+ return /*#__PURE__*/React.createElement(PeopleTeamsAnalyticsProvider, {
7
+ analyticsContextData: topLevelAttributes
8
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, children));
9
+ }
@@ -0,0 +1,46 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { useEffect } from 'react';
5
+ import { createHook, createStore } from 'react-sweet-state';
6
+ var initialState = {
7
+ eventAttributes: {}
8
+ };
9
+ var actions = {
10
+ setEventAttributes: function setEventAttributes(eventAttributes) {
11
+ return function (_ref) {
12
+ var setState = _ref.setState,
13
+ getState = _ref.getState;
14
+ var existingEventAttributes = getState().eventAttributes;
15
+ var newEventAttributes = _objectSpread(_objectSpread({}, existingEventAttributes), eventAttributes);
16
+ Object.keys(newEventAttributes).forEach(function (keyString) {
17
+ var key = keyString;
18
+ if (newEventAttributes[key] === undefined) {
19
+ delete newEventAttributes[key];
20
+ }
21
+ });
22
+ setState({
23
+ eventAttributes: newEventAttributes
24
+ });
25
+ };
26
+ }
27
+ };
28
+ var AnalyticsSubcontextStore = createStore({
29
+ initialState: initialState,
30
+ actions: actions
31
+ });
32
+ export var usePeopleTeamsAnalyticsSubcontext = createHook(AnalyticsSubcontextStore);
33
+
34
+ /**
35
+ * Inject an attribute into all events using `usePeopleTeamAnalyticsEvents`
36
+ * It sets the attribute when the hook is called and clears it when the component is unmounted
37
+ */
38
+ export var useInjectedEventAttribute = function useInjectedEventAttribute(key, value) {
39
+ var setEventAttributes = usePeopleTeamsAnalyticsSubcontext()[1].setEventAttributes;
40
+ useEffect(function () {
41
+ setEventAttributes(_defineProperty({}, key, value));
42
+ return function () {
43
+ return setEventAttributes(_defineProperty({}, key, undefined));
44
+ };
45
+ }, [key, value, setEventAttributes]);
46
+ };
@@ -0,0 +1,23 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _typeof from "@babel/runtime/helpers/typeof";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import React, { useMemo } from 'react';
6
+ import { PeopleTeamsAnalyticsContext } from '@atlaskit/analytics-namespaced-context';
7
+ var defaultAnalyticsContextData = {
8
+ packageName: "@atlaskit/people-teams-ui-public",
9
+ packageVersion: "3.1.0"
10
+ };
11
+ export function PeopleTeamsAnalyticsProvider(_ref) {
12
+ var analyticsContextData = _ref.analyticsContextData,
13
+ children = _ref.children;
14
+ var data = useMemo(function () {
15
+ if (_typeof(analyticsContextData) === 'object') {
16
+ return _objectSpread(_objectSpread({}, defaultAnalyticsContextData), analyticsContextData);
17
+ }
18
+ return defaultAnalyticsContextData;
19
+ }, [analyticsContextData]);
20
+ return /*#__PURE__*/React.createElement(PeopleTeamsAnalyticsContext, {
21
+ data: data
22
+ }, children);
23
+ }
@@ -0,0 +1,3 @@
1
+ export { PeopleTeamsAnalyticsProvider } from './hooks';
2
+ export { PeopleTeamsAnalyticsSubcontextProvider } from './analytics-subcontext';
3
+ export { useInjectedEventAttribute, usePeopleTeamsAnalyticsSubcontext } from './analytics-subcontext/store';
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type PeopleTeamsAnalyticsSubcontextState = {
3
+ topLevelAttributes?: {
4
+ source?: string;
5
+ };
6
+ };
7
+ export declare function PeopleTeamsAnalyticsSubcontextProvider({ children, topLevelAttributes, }: PeopleTeamsAnalyticsSubcontextState & {
8
+ children: React.ReactNode;
9
+ }): React.JSX.Element;
10
+ export {};
@@ -0,0 +1,16 @@
1
+ import { type StoreActionApi } from 'react-sweet-state';
2
+ type InjectedEventAttributes = {
3
+ teamId?: string;
4
+ };
5
+ type PeopleTeamsAnalyticsSubcontextState = {
6
+ eventAttributes?: InjectedEventAttributes;
7
+ };
8
+ export declare const usePeopleTeamsAnalyticsSubcontext: import("react-sweet-state").HookFunction<PeopleTeamsAnalyticsSubcontextState, import("react-sweet-state").BoundActions<PeopleTeamsAnalyticsSubcontextState, {
9
+ readonly setEventAttributes: (eventAttributes?: Partial<InjectedEventAttributes>) => ({ setState, getState }: StoreActionApi<PeopleTeamsAnalyticsSubcontextState>) => void;
10
+ }>, void>;
11
+ /**
12
+ * Inject an attribute into all events using `usePeopleTeamAnalyticsEvents`
13
+ * It sets the attribute when the hook is called and clears it when the component is unmounted
14
+ */
15
+ export declare const useInjectedEventAttribute: <K extends "teamId">(key: K, value: InjectedEventAttributes[K]) => void;
16
+ export {};
@@ -0,0 +1,5 @@
1
+ import React, { type ReactNode } from 'react';
2
+ export declare function PeopleTeamsAnalyticsProvider({ analyticsContextData, children, }: {
3
+ analyticsContextData?: object;
4
+ children: ReactNode;
5
+ }): React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { PeopleTeamsAnalyticsProvider } from './hooks';
2
+ export { PeopleTeamsAnalyticsSubcontextProvider } from './analytics-subcontext';
3
+ export { useInjectedEventAttribute, usePeopleTeamsAnalyticsSubcontext, } from './analytics-subcontext/store';
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type PeopleTeamsAnalyticsSubcontextState = {
3
+ topLevelAttributes?: {
4
+ source?: string;
5
+ };
6
+ };
7
+ export declare function PeopleTeamsAnalyticsSubcontextProvider({ children, topLevelAttributes, }: PeopleTeamsAnalyticsSubcontextState & {
8
+ children: React.ReactNode;
9
+ }): React.JSX.Element;
10
+ export {};
@@ -0,0 +1,16 @@
1
+ import { type StoreActionApi } from 'react-sweet-state';
2
+ type InjectedEventAttributes = {
3
+ teamId?: string;
4
+ };
5
+ type PeopleTeamsAnalyticsSubcontextState = {
6
+ eventAttributes?: InjectedEventAttributes;
7
+ };
8
+ export declare const usePeopleTeamsAnalyticsSubcontext: import("react-sweet-state").HookFunction<PeopleTeamsAnalyticsSubcontextState, import("react-sweet-state").BoundActions<PeopleTeamsAnalyticsSubcontextState, {
9
+ readonly setEventAttributes: (eventAttributes?: Partial<InjectedEventAttributes>) => ({ setState, getState }: StoreActionApi<PeopleTeamsAnalyticsSubcontextState>) => void;
10
+ }>, void>;
11
+ /**
12
+ * Inject an attribute into all events using `usePeopleTeamAnalyticsEvents`
13
+ * It sets the attribute when the hook is called and clears it when the component is unmounted
14
+ */
15
+ export declare const useInjectedEventAttribute: <K extends "teamId">(key: K, value: InjectedEventAttributes[K]) => void;
16
+ export {};
@@ -0,0 +1,5 @@
1
+ import React, { type ReactNode } from 'react';
2
+ export declare function PeopleTeamsAnalyticsProvider({ analyticsContextData, children, }: {
3
+ analyticsContextData?: object;
4
+ children: ReactNode;
5
+ }): React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { PeopleTeamsAnalyticsProvider } from './hooks';
2
+ export { PeopleTeamsAnalyticsSubcontextProvider } from './analytics-subcontext';
3
+ export { useInjectedEventAttribute, usePeopleTeamsAnalyticsSubcontext, } from './analytics-subcontext/store';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/people-teams-ui-public",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "UI components for public packages",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -33,27 +33,31 @@
33
33
  ],
34
34
  "atlaskit:src": "src/index.ts",
35
35
  "af:exports": {
36
- "./verified-team-icon": "./src/ui/verified-team-icon/index.ts"
36
+ "./verified-team-icon": "./src/ui/verified-team-icon/index.ts",
37
+ "./analytics": "./src/common/utils/analytics/index.ts"
37
38
  },
38
39
  "dependencies": {
39
- "@atlaskit/icon": "^24.0.0",
40
+ "@atlaskit/analytics-namespaced-context": "^7.0.0",
41
+ "@atlaskit/icon": "^25.0.0",
40
42
  "@atlaskit/legacy-custom-icons": "^0.22.0",
41
- "@atlaskit/primitives": "^14.0.0",
42
- "@atlaskit/tokens": "^4.0.0",
43
+ "@atlaskit/primitives": "^14.1.0",
44
+ "@atlaskit/tokens": "^4.5.0",
43
45
  "@atlaskit/tooltip": "^20.0.0",
44
46
  "@babel/runtime": "^7.0.0",
45
47
  "@compiled/react": "^0.18.2",
46
- "react-intl-next": "npm:react-intl@^5.18.1"
48
+ "react-intl-next": "npm:react-intl@^5.18.1",
49
+ "react-sweet-state": "^2.6.5"
47
50
  },
48
51
  "peerDependencies": {
49
52
  "react": "^18.2.0"
50
53
  },
51
54
  "devDependencies": {
52
- "@af/integration-testing": "*",
53
- "@af/visual-regression": "*",
54
- "@atlaskit/ssr": "*",
55
- "@atlaskit/visual-regression": "*",
55
+ "@af/integration-testing": "^0.5.0",
56
+ "@af/visual-regression": "^1.3.0",
57
+ "@atlaskit/ssr": "^0.4.0",
58
+ "@atlaskit/visual-regression": "^0.10.0",
56
59
  "@testing-library/react": "^13.4.0",
60
+ "@testing-library/react-hooks": "^8.0.1",
57
61
  "@testing-library/user-event": "^14.4.3",
58
62
  "react-dom": "^18.2.0",
59
63
  "typescript": "~5.4.2",