@atlaskit/media-common 8.2.0 → 9.0.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/media-common
2
2
 
3
+ ## 9.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`ec4867e1376`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ec4867e1376) - Removed captions flag and replaced with a new media prop `allowCaptions`. `allowCaptions` is set to `false` by default and products will need to opt in to be able to use captions from now on.
8
+
9
+ ## 9.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - [`7b6a2c6671b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7b6a2c6671b) - Introducing 'media-state' for handling media internal file state.
14
+ Introducing 'media-client-react' to provide hooks for seamless media-client integration with React.
15
+ Introducing 'MediaCardV2' with a feature flag to replace rxjs based fileState subscription with 'useFileState' hook.
16
+ Removed unused feature flags APIs from 'media-client' and its helper functions from 'media-common'.
17
+
3
18
  ## 8.2.0
4
19
 
5
20
  ### Minor Changes
package/dist/cjs/index.js CHANGED
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "ANALYTICS_MEDIA_CHANNEL", {
9
9
  return _constants.ANALYTICS_MEDIA_CHANNEL;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "areEqualFeatureFlags", {
13
- enumerable: true,
14
- get: function get() {
15
- return _mediaFeatureFlags.areEqualFeatureFlags;
16
- }
17
- });
18
12
  Object.defineProperty(exports, "debounce", {
19
13
  enumerable: true,
20
14
  get: function get() {
@@ -147,12 +141,6 @@ Object.defineProperty(exports, "pick", {
147
141
  return _helpers.pick;
148
142
  }
149
143
  });
150
- Object.defineProperty(exports, "useMemoizeFeatureFlags", {
151
- enumerable: true,
152
- get: function get() {
153
- return _mediaFeatureFlags.useMemoizeFeatureFlags;
154
- }
155
- });
156
144
  Object.defineProperty(exports, "withMediaAnalyticsContext", {
157
145
  enumerable: true,
158
146
  get: function get() {
@@ -3,12 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "areEqualFeatureFlags", {
7
- enumerable: true,
8
- get: function get() {
9
- return _mediaFeatureFlags.areEqualFeatureFlags;
10
- }
11
- });
12
6
  Object.defineProperty(exports, "defaultMediaFeatureFlags", {
13
7
  enumerable: true,
14
8
  get: function get() {
@@ -33,10 +27,4 @@ Object.defineProperty(exports, "getMediaFeatureFlag", {
33
27
  return _mediaFeatureFlags.getMediaFeatureFlag;
34
28
  }
35
29
  });
36
- Object.defineProperty(exports, "useMemoizeFeatureFlags", {
37
- enumerable: true,
38
- get: function get() {
39
- return _mediaFeatureFlags.useMemoizeFeatureFlags;
40
- }
41
- });
42
30
  var _mediaFeatureFlags = require("./mediaFeatureFlags");
@@ -4,33 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.getFeatureFlagKeysAllProducts = exports.filterFeatureFlagNames = exports.defaultMediaFeatureFlags = exports.areEqualFeatureFlags = void 0;
7
+ exports.getFeatureFlagKeysAllProducts = exports.filterFeatureFlagNames = exports.defaultMediaFeatureFlags = void 0;
8
8
  exports.getMediaFeatureFlag = getMediaFeatureFlag;
9
- exports.useMemoizeFeatureFlags = void 0;
10
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
- var _react = require("react");
13
11
  var _types = require("./types");
14
12
  var _productKeys = require("./productKeys");
15
13
  var _genericFeatureFlag = require("./genericFeatureFlag");
16
- var areEqualFeatureFlags = function areEqualFeatureFlags(ffA, ffB) {
17
- if (!ffA && !ffB) {
18
- return true;
19
- }
20
- if (!ffA || !ffB) {
21
- return false;
22
- }
23
- var results = {
24
- captions: ffA.captions === ffB.captions,
25
- mediaInline: ffA.mediaInline === ffB.mediaInline,
26
- folderUploads: ffA.folderUploads === ffB.folderUploads,
27
- securedClipboard: ffA.securedClipboard === ffB.securedClipboard
28
- };
29
- return Object.values(results).every(function (result) {
30
- return result;
31
- });
32
- };
33
- exports.areEqualFeatureFlags = areEqualFeatureFlags;
34
14
  var filterFeatureFlagNames = function filterFeatureFlagNames(flags) {
35
15
  var pairs = Object.entries(flags);
36
16
  return pairs.filter(function (_ref) {
@@ -96,12 +76,4 @@ var defaultMediaFeatureFlags = {
96
76
  exports.defaultMediaFeatureFlags = defaultMediaFeatureFlags;
97
77
  function getMediaFeatureFlag(flagName, featureFlags) {
98
78
  return (0, _genericFeatureFlag.getGenericFeatureFlag)(flagName, defaultMediaFeatureFlags, featureFlags);
99
- }
100
- var useMemoizeFeatureFlags = function useMemoizeFeatureFlags(featureFlags) {
101
- var ref = (0, _react.useRef)();
102
- if (!areEqualFeatureFlags(featureFlags, ref.current)) {
103
- ref.current = featureFlags;
104
- }
105
- return ref.current;
106
- };
107
- exports.useMemoizeFeatureFlags = useMemoizeFeatureFlags;
79
+ }
@@ -2,7 +2,7 @@ export { downloadUrl } from './downloadUrl';
2
2
  // Warning! You can't add new media types!
3
3
  // See packages/media/media-core/src/__tests__/cache-backward-compatibility.spec.ts
4
4
  // Media Feature Flags
5
- export { getMediaFeatureFlag, defaultMediaFeatureFlags, areEqualFeatureFlags, useMemoizeFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
5
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
6
6
 
7
7
  // TODO EDM-689 Please, consolidate these two CardDimensions types
8
8
 
@@ -1 +1 @@
1
- export { getMediaFeatureFlag, useMemoizeFeatureFlags, defaultMediaFeatureFlags, areEqualFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
1
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
@@ -1,22 +1,6 @@
1
- import { useRef } from 'react';
2
1
  import { supportedProducts } from './types';
3
2
  import { getProductKeys } from './productKeys';
4
3
  import { getGenericFeatureFlag } from './genericFeatureFlag';
5
- export const areEqualFeatureFlags = (ffA, ffB) => {
6
- if (!ffA && !ffB) {
7
- return true;
8
- }
9
- if (!ffA || !ffB) {
10
- return false;
11
- }
12
- const results = {
13
- captions: ffA.captions === ffB.captions,
14
- mediaInline: ffA.mediaInline === ffB.mediaInline,
15
- folderUploads: ffA.folderUploads === ffB.folderUploads,
16
- securedClipboard: ffA.securedClipboard === ffB.securedClipboard
17
- };
18
- return Object.values(results).every(result => result);
19
- };
20
4
  export const filterFeatureFlagNames = flags => {
21
5
  const pairs = Object.entries(flags);
22
6
  return pairs.filter(([_key, value]) => !!value).map(([key]) => key);
@@ -68,11 +52,4 @@ export const defaultMediaFeatureFlags = {
68
52
  * */
69
53
  export function getMediaFeatureFlag(flagName, featureFlags) {
70
54
  return getGenericFeatureFlag(flagName, defaultMediaFeatureFlags, featureFlags);
71
- }
72
- export const useMemoizeFeatureFlags = featureFlags => {
73
- const ref = useRef();
74
- if (!areEqualFeatureFlags(featureFlags, ref.current)) {
75
- ref.current = featureFlags;
76
- }
77
- return ref.current;
78
- };
55
+ }
package/dist/esm/index.js CHANGED
@@ -2,7 +2,7 @@ export { downloadUrl } from './downloadUrl';
2
2
  // Warning! You can't add new media types!
3
3
  // See packages/media/media-core/src/__tests__/cache-backward-compatibility.spec.ts
4
4
  // Media Feature Flags
5
- export { getMediaFeatureFlag, defaultMediaFeatureFlags, areEqualFeatureFlags, useMemoizeFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
5
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
6
6
 
7
7
  // TODO EDM-689 Please, consolidate these two CardDimensions types
8
8
 
@@ -1 +1 @@
1
- export { getMediaFeatureFlag, useMemoizeFeatureFlags, defaultMediaFeatureFlags, areEqualFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
1
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts } from './mediaFeatureFlags';
@@ -1,26 +1,8 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import { useRef } from 'react';
4
3
  import { supportedProducts } from './types';
5
4
  import { getProductKeys } from './productKeys';
6
5
  import { getGenericFeatureFlag } from './genericFeatureFlag';
7
- export var areEqualFeatureFlags = function areEqualFeatureFlags(ffA, ffB) {
8
- if (!ffA && !ffB) {
9
- return true;
10
- }
11
- if (!ffA || !ffB) {
12
- return false;
13
- }
14
- var results = {
15
- captions: ffA.captions === ffB.captions,
16
- mediaInline: ffA.mediaInline === ffB.mediaInline,
17
- folderUploads: ffA.folderUploads === ffB.folderUploads,
18
- securedClipboard: ffA.securedClipboard === ffB.securedClipboard
19
- };
20
- return Object.values(results).every(function (result) {
21
- return result;
22
- });
23
- };
24
6
  export var filterFeatureFlagNames = function filterFeatureFlagNames(flags) {
25
7
  var pairs = Object.entries(flags);
26
8
  return pairs.filter(function (_ref) {
@@ -83,11 +65,4 @@ export var defaultMediaFeatureFlags = {
83
65
  * */
84
66
  export function getMediaFeatureFlag(flagName, featureFlags) {
85
67
  return getGenericFeatureFlag(flagName, defaultMediaFeatureFlags, featureFlags);
86
- }
87
- export var useMemoizeFeatureFlags = function useMemoizeFeatureFlags(featureFlags) {
88
- var ref = useRef();
89
- if (!areEqualFeatureFlags(featureFlags, ref.current)) {
90
- ref.current = featureFlags;
91
- }
92
- return ref.current;
93
- };
68
+ }
@@ -1,7 +1,7 @@
1
1
  export { downloadUrl } from './downloadUrl';
2
2
  export type MediaType = 'doc' | 'audio' | 'video' | 'image' | 'archive' | 'unknown';
3
3
  export type FileStatus = 'uploading' | 'processing' | 'processed' | 'error' | 'failed-processing';
4
- export { getMediaFeatureFlag, defaultMediaFeatureFlags, areEqualFeatureFlags, useMemoizeFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
4
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
5
5
  export type { MediaFeatureFlags, WithMediaFeatureFlags, } from './mediaFeatureFlags';
6
6
  export interface NumericalCardDimensions {
7
7
  width: number;
@@ -1,2 +1,2 @@
1
- export { getMediaFeatureFlag, useMemoizeFeatureFlags, defaultMediaFeatureFlags, areEqualFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
1
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
2
2
  export type { MediaFeatureFlags, WithMediaFeatureFlags, SupportedProduct, } from './types';
@@ -1,5 +1,4 @@
1
1
  import { RequiredMediaFeatureFlags, MediaFeatureFlags } from './types';
2
- export declare const areEqualFeatureFlags: (ffA?: MediaFeatureFlags, ffB?: MediaFeatureFlags) => boolean;
3
2
  export declare const filterFeatureFlagNames: (flags: RequiredMediaFeatureFlags) => Array<keyof MediaFeatureFlags>;
4
3
  /**
5
4
  * Takes a record of {Media Feature Flag Names → boolean}.
@@ -29,4 +28,3 @@ export declare const defaultMediaFeatureFlags: Required<MediaFeatureFlags>;
29
28
  * (you will see a warning in console if override used)
30
29
  * */
31
30
  export declare function getMediaFeatureFlag<T = boolean>(flagName: keyof MediaFeatureFlags, featureFlags?: MediaFeatureFlags): T;
32
- export declare const useMemoizeFeatureFlags: (featureFlags?: MediaFeatureFlags) => MediaFeatureFlags | undefined;
@@ -1,4 +1,8 @@
1
1
  export interface MediaFeatureFlags {
2
+ /**
3
+ * @private
4
+ * @deprecated Use media option `allowCaptions` instead.
5
+ */
2
6
  captions?: boolean;
3
7
  mediaInline?: boolean;
4
8
  folderUploads?: boolean;
@@ -1,7 +1,7 @@
1
1
  export { downloadUrl } from './downloadUrl';
2
2
  export type MediaType = 'doc' | 'audio' | 'video' | 'image' | 'archive' | 'unknown';
3
3
  export type FileStatus = 'uploading' | 'processing' | 'processed' | 'error' | 'failed-processing';
4
- export { getMediaFeatureFlag, defaultMediaFeatureFlags, areEqualFeatureFlags, useMemoizeFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
4
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
5
5
  export type { MediaFeatureFlags, WithMediaFeatureFlags, } from './mediaFeatureFlags';
6
6
  export interface NumericalCardDimensions {
7
7
  width: number;
@@ -1,2 +1,2 @@
1
- export { getMediaFeatureFlag, useMemoizeFeatureFlags, defaultMediaFeatureFlags, areEqualFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
1
+ export { getMediaFeatureFlag, defaultMediaFeatureFlags, filterFeatureFlagNames, getFeatureFlagKeysAllProducts, } from './mediaFeatureFlags';
2
2
  export type { MediaFeatureFlags, WithMediaFeatureFlags, SupportedProduct, } from './types';
@@ -1,5 +1,4 @@
1
1
  import { RequiredMediaFeatureFlags, MediaFeatureFlags } from './types';
2
- export declare const areEqualFeatureFlags: (ffA?: MediaFeatureFlags, ffB?: MediaFeatureFlags) => boolean;
3
2
  export declare const filterFeatureFlagNames: (flags: RequiredMediaFeatureFlags) => Array<keyof MediaFeatureFlags>;
4
3
  /**
5
4
  * Takes a record of {Media Feature Flag Names → boolean}.
@@ -29,4 +28,3 @@ export declare const defaultMediaFeatureFlags: Required<MediaFeatureFlags>;
29
28
  * (you will see a warning in console if override used)
30
29
  * */
31
30
  export declare function getMediaFeatureFlag<T = boolean>(flagName: keyof MediaFeatureFlags, featureFlags?: MediaFeatureFlags): T;
32
- export declare const useMemoizeFeatureFlags: (featureFlags?: MediaFeatureFlags) => MediaFeatureFlags | undefined;
@@ -1,4 +1,8 @@
1
1
  export interface MediaFeatureFlags {
2
+ /**
3
+ * @private
4
+ * @deprecated Use media option `allowCaptions` instead.
5
+ */
2
6
  captions?: boolean;
3
7
  mediaInline?: boolean;
4
8
  folderUploads?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/media-common",
3
- "version": "8.2.0",
3
+ "version": "9.0.1",
4
4
  "description": "Includes common utilities used by other media packages",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
package/report.api.md CHANGED
@@ -21,12 +21,6 @@ import { default as React_2 } from 'react';
21
21
  // @public (undocumented)
22
22
  export const ANALYTICS_MEDIA_CHANNEL = 'media';
23
23
 
24
- // @public (undocumented)
25
- export const areEqualFeatureFlags: (
26
- ffA?: MediaFeatureFlags,
27
- ffB?: MediaFeatureFlags,
28
- ) => boolean;
29
-
30
24
  // @public (undocumented)
31
25
  type BaseAttributes = {};
32
26
 
@@ -148,7 +142,7 @@ export const matches: (srcObj: Object) => (obj: Object) => boolean;
148
142
 
149
143
  // @public (undocumented)
150
144
  export interface MediaFeatureFlags {
151
- // (undocumented)
145
+ // @deprecated (undocumented)
152
146
  captions?: boolean;
153
147
  // (undocumented)
154
148
  folderUploads?: boolean;
@@ -305,11 +299,6 @@ export type UIEventPayload<
305
299
  actionSubjectId?: string;
306
300
  };
307
301
 
308
- // @public (undocumented)
309
- export const useMemoizeFeatureFlags: (
310
- featureFlags?: MediaFeatureFlags,
311
- ) => MediaFeatureFlags | undefined;
312
-
313
302
  // @public (undocumented)
314
303
  export type WithFileAttributes = {
315
304
  fileAttributes: FileAttributes;
@@ -10,9 +10,6 @@ import { default as React_2 } from 'react';
10
10
  // @public (undocumented)
11
11
  export const ANALYTICS_MEDIA_CHANNEL = "media";
12
12
 
13
- // @public (undocumented)
14
- export const areEqualFeatureFlags: (ffA?: MediaFeatureFlags, ffB?: MediaFeatureFlags) => boolean;
15
-
16
13
  // @public (undocumented)
17
14
  type BaseAttributes = {};
18
15
 
@@ -116,7 +113,7 @@ export const matches: (srcObj: Object) => (obj: Object) => boolean;
116
113
 
117
114
  // @public (undocumented)
118
115
  export interface MediaFeatureFlags {
119
- // (undocumented)
116
+ // @deprecated (undocumented)
120
117
  captions?: boolean;
121
118
  // (undocumented)
122
119
  folderUploads?: boolean;
@@ -227,9 +224,6 @@ export type UIEventPayload<Attributes extends UIAttributes, Action extends strin
227
224
  actionSubjectId?: string;
228
225
  };
229
226
 
230
- // @public (undocumented)
231
- export const useMemoizeFeatureFlags: (featureFlags?: MediaFeatureFlags) => MediaFeatureFlags | undefined;
232
-
233
227
  // @public (undocumented)
234
228
  export type WithFileAttributes = {
235
229
  fileAttributes: FileAttributes;