@atlaskit/media-common 2.13.0 → 2.14.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.
- package/CHANGELOG.md +7 -0
- package/dist/cjs/mediaFeatureFlags/mediaFeatureFlags.js +14 -28
- package/dist/cjs/mediaFeatureFlags/productKeys.js +37 -0
- package/dist/cjs/mediaFeatureFlags/types.js +6 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/mediaFeatureFlags/mediaFeatureFlags.js +8 -23
- package/dist/es2019/mediaFeatureFlags/productKeys.js +26 -0
- package/dist/es2019/mediaFeatureFlags/types.js +3 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/mediaFeatureFlags/mediaFeatureFlags.js +8 -23
- package/dist/esm/mediaFeatureFlags/productKeys.js +28 -0
- package/dist/esm/mediaFeatureFlags/types.js +3 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/mediaFeatureFlags/mediaFeatureFlags.d.ts +1 -2
- package/dist/types/mediaFeatureFlags/productKeys.d.ts +2 -0
- package/dist/types/mediaFeatureFlags/types.d.ts +5 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @atlaskit/media-common
|
|
2
2
|
|
|
3
|
+
## 2.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`bfde909c9b4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bfde909c9b4) - Add new feature flag mediaUploadApiV2
|
|
8
|
+
- [`8d6064cece4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8d6064cece4) - Add missing values for the launch darkly feature flags name
|
|
9
|
+
|
|
3
10
|
## 2.13.0
|
|
4
11
|
|
|
5
12
|
### Minor Changes
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.filterFeatureFlagNames = exports.filterFeatureFlagKeysAllProducts = exports.defaultMediaFeatureFlags = exports.areEqualFeatureFlags = void 0;
|
|
9
9
|
exports.getMediaFeatureFlag = getMediaFeatureFlag;
|
|
10
|
-
exports.useMemoizeFeatureFlags = exports.
|
|
10
|
+
exports.useMemoizeFeatureFlags = exports.mapAndFilterFeatureFlagNames = void 0;
|
|
11
11
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
|
|
@@ -15,6 +15,10 @@ var _react = require("react");
|
|
|
15
15
|
|
|
16
16
|
var _mediaFeatureFlagLocal = require("../mediaFeatureFlag-local");
|
|
17
17
|
|
|
18
|
+
var _types = require("./types");
|
|
19
|
+
|
|
20
|
+
var _productKeys = require("./productKeys");
|
|
21
|
+
|
|
18
22
|
var areEqualFeatureFlags = function areEqualFeatureFlags(ffA, ffB) {
|
|
19
23
|
if (!ffA && !ffB) {
|
|
20
24
|
return true;
|
|
@@ -29,8 +33,9 @@ var areEqualFeatureFlags = function areEqualFeatureFlags(ffA, ffB) {
|
|
|
29
33
|
captions: ffA.captions === ffB.captions,
|
|
30
34
|
mediaInline: ffA.mediaInline === ffB.mediaInline,
|
|
31
35
|
folderUploads: ffA.folderUploads === ffB.folderUploads,
|
|
36
|
+
observedWidth: ffA.observedWidth === ffB.observedWidth,
|
|
32
37
|
timestampOnVideo: ffA.timestampOnVideo === ffB.timestampOnVideo,
|
|
33
|
-
|
|
38
|
+
mediaUploadApiV2: ffA.mediaUploadApiV2 === ffB.mediaUploadApiV2
|
|
34
39
|
};
|
|
35
40
|
return Object.values(results).every(function (result) {
|
|
36
41
|
return result;
|
|
@@ -65,7 +70,7 @@ exports.filterFeatureFlagNames = filterFeatureFlagNames;
|
|
|
65
70
|
var mapAndFilterFeatureFlagNames = function mapAndFilterFeatureFlagNames(flags, product) {
|
|
66
71
|
var mediaFeatureFlags = filterFeatureFlagNames(flags);
|
|
67
72
|
return mediaFeatureFlags.map(function (key) {
|
|
68
|
-
return
|
|
73
|
+
return (0, _productKeys.getProductKeys)()[product][key];
|
|
69
74
|
});
|
|
70
75
|
}; // TODO(MEX-1547): This is temporary solution to just return the launch darkly feature flags for all products.
|
|
71
76
|
|
|
@@ -79,39 +84,19 @@ exports.mapAndFilterFeatureFlagNames = mapAndFilterFeatureFlagNames;
|
|
|
79
84
|
|
|
80
85
|
var filterFeatureFlagKeysAllProducts = function filterFeatureFlagKeysAllProducts(flags) {
|
|
81
86
|
var filteredFlags = filterFeatureFlagNames(flags);
|
|
82
|
-
var supportedProducts = Object.keys(mediaFeatureFlagsProductToLaunchDarklyMap);
|
|
83
87
|
var ldFeatureFlags = [];
|
|
84
88
|
filteredFlags.forEach(function (flag) {
|
|
85
|
-
return supportedProducts.forEach(function (product) {
|
|
86
|
-
return ldFeatureFlags.push(
|
|
89
|
+
return _types.supportedProducts.forEach(function (product) {
|
|
90
|
+
return ldFeatureFlags.push((0, _productKeys.getProductKeys)()[product][flag]);
|
|
87
91
|
});
|
|
88
92
|
});
|
|
89
93
|
return ldFeatureFlags.filter(function (flag) {
|
|
90
94
|
return flag !== '';
|
|
91
95
|
});
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
exports.filterFeatureFlagKeysAllProducts = filterFeatureFlagKeysAllProducts;
|
|
95
|
-
var mediaFeatureFlagsProductToLaunchDarklyMap = {
|
|
96
|
-
confluence: {
|
|
97
|
-
newCardExperience: 'confluence.media.cards.new.experience',
|
|
98
|
-
captions: 'confluence.frontend.fabric.editor.media.captions',
|
|
99
|
-
mediaInline: 'confluence.frontend.fabric.editor.media.inline',
|
|
100
|
-
folderUploads: 'confluence.media.picker.folder.uploads',
|
|
101
|
-
timestampOnVideo: '',
|
|
102
|
-
observedWidth: ''
|
|
103
|
-
},
|
|
104
|
-
jira: {
|
|
105
|
-
newCardExperience: 'issue.details.media-cards-new-experience',
|
|
106
|
-
captions: 'issue.details.editor.media.captions',
|
|
107
|
-
mediaInline: '',
|
|
108
|
-
folderUploads: '',
|
|
109
|
-
timestampOnVideo: '',
|
|
110
|
-
observedWidth: ''
|
|
111
|
-
}
|
|
112
96
|
}; // default values defined here, not necessary for components to know directly as they should use the function below
|
|
113
97
|
|
|
114
|
-
|
|
98
|
+
|
|
99
|
+
exports.filterFeatureFlagKeysAllProducts = filterFeatureFlagKeysAllProducts;
|
|
115
100
|
var defaultMediaFeatureFlags = {
|
|
116
101
|
newCardExperience: false,
|
|
117
102
|
captions: false,
|
|
@@ -119,8 +104,9 @@ var defaultMediaFeatureFlags = {
|
|
|
119
104
|
// We can't yet switch this feature on
|
|
120
105
|
// TODO https://product-fabric.atlassian.net/browse/MEX-104
|
|
121
106
|
folderUploads: false,
|
|
107
|
+
observedWidth: false,
|
|
122
108
|
timestampOnVideo: false,
|
|
123
|
-
|
|
109
|
+
mediaUploadApiV2: false
|
|
124
110
|
};
|
|
125
111
|
/**
|
|
126
112
|
* Public accessor from components to fallback to defaults if flags not passed,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getProductKeys = void 0;
|
|
7
|
+
var productKeys = {
|
|
8
|
+
confluence: {
|
|
9
|
+
newCardExperience: 'confluence.frontend.media.cards.new.experience',
|
|
10
|
+
captions: 'confluence.frontend.fabric.editor.media.captions',
|
|
11
|
+
mediaInline: 'confluence.frontend.fabric.editor.media.inline',
|
|
12
|
+
folderUploads: 'confluence.frontend.media.picker.folder.uploads',
|
|
13
|
+
//TODO fill the value after https://product-fabric.atlassian.net/browse/MEX-1593
|
|
14
|
+
observedWidth: '',
|
|
15
|
+
// TODO https://product-fabric.atlassian.net/browse/MEX-1620
|
|
16
|
+
timestampOnVideo: '',
|
|
17
|
+
mediaUploadApiV2: 'confluence.enable.media.upload.api.v2'
|
|
18
|
+
},
|
|
19
|
+
jira: {
|
|
20
|
+
newCardExperience: 'issue.details.media-cards-new-experience',
|
|
21
|
+
captions: 'issue.details.editor.media.captions',
|
|
22
|
+
// Manged by Linking Platform. No Rollout plan found for Jira
|
|
23
|
+
mediaInline: '',
|
|
24
|
+
folderUploads: 'issue.details.media-picker-folder-upload',
|
|
25
|
+
//TODO fill the value after https://product-fabric.atlassian.net/browse/MEX-1593
|
|
26
|
+
observedWidth: '',
|
|
27
|
+
// TODO https://product-fabric.atlassian.net/browse/MEX-1620
|
|
28
|
+
timestampOnVideo: '',
|
|
29
|
+
mediaUploadApiV2: 'issue.details.enable-media-upload-api-version-2'
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var getProductKeys = function getProductKeys() {
|
|
34
|
+
return productKeys;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.getProductKeys = getProductKeys;
|
|
@@ -2,4 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
|
-
});
|
|
5
|
+
});
|
|
6
|
+
exports.supportedProducts = void 0;
|
|
7
|
+
// Media feature flags - type and defaults defined here in one source of truth
|
|
8
|
+
// With this type we ensure the object will contain all the flags
|
|
9
|
+
var supportedProducts = ['confluence', 'jira'];
|
|
10
|
+
exports.supportedProducts = supportedProducts;
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
2
|
import { getLocalMediaFeatureFlag } from '../mediaFeatureFlag-local';
|
|
3
|
+
import { supportedProducts } from './types';
|
|
4
|
+
import { getProductKeys } from './productKeys';
|
|
3
5
|
export const areEqualFeatureFlags = (ffA, ffB) => {
|
|
4
6
|
if (!ffA && !ffB) {
|
|
5
7
|
return true;
|
|
@@ -14,8 +16,9 @@ export const areEqualFeatureFlags = (ffA, ffB) => {
|
|
|
14
16
|
captions: ffA.captions === ffB.captions,
|
|
15
17
|
mediaInline: ffA.mediaInline === ffB.mediaInline,
|
|
16
18
|
folderUploads: ffA.folderUploads === ffB.folderUploads,
|
|
19
|
+
observedWidth: ffA.observedWidth === ffB.observedWidth,
|
|
17
20
|
timestampOnVideo: ffA.timestampOnVideo === ffB.timestampOnVideo,
|
|
18
|
-
|
|
21
|
+
mediaUploadApiV2: ffA.mediaUploadApiV2 === ffB.mediaUploadApiV2
|
|
19
22
|
};
|
|
20
23
|
return Object.values(results).every(result => result);
|
|
21
24
|
};
|
|
@@ -30,7 +33,7 @@ export const filterFeatureFlagNames = flags => {
|
|
|
30
33
|
|
|
31
34
|
export const mapAndFilterFeatureFlagNames = (flags, product) => {
|
|
32
35
|
const mediaFeatureFlags = filterFeatureFlagNames(flags);
|
|
33
|
-
return mediaFeatureFlags.map(key =>
|
|
36
|
+
return mediaFeatureFlags.map(key => getProductKeys()[product][key]);
|
|
34
37
|
}; // TODO(MEX-1547): This is temporary solution to just return the launch darkly feature flags for all products.
|
|
35
38
|
|
|
36
39
|
/**
|
|
@@ -40,28 +43,9 @@ export const mapAndFilterFeatureFlagNames = (flags, product) => {
|
|
|
40
43
|
|
|
41
44
|
export const filterFeatureFlagKeysAllProducts = flags => {
|
|
42
45
|
const filteredFlags = filterFeatureFlagNames(flags);
|
|
43
|
-
const supportedProducts = Object.keys(mediaFeatureFlagsProductToLaunchDarklyMap);
|
|
44
46
|
const ldFeatureFlags = [];
|
|
45
|
-
filteredFlags.forEach(flag => supportedProducts.forEach(product => ldFeatureFlags.push(
|
|
47
|
+
filteredFlags.forEach(flag => supportedProducts.forEach(product => ldFeatureFlags.push(getProductKeys()[product][flag])));
|
|
46
48
|
return ldFeatureFlags.filter(flag => flag !== '');
|
|
47
|
-
};
|
|
48
|
-
export const mediaFeatureFlagsProductToLaunchDarklyMap = {
|
|
49
|
-
confluence: {
|
|
50
|
-
newCardExperience: 'confluence.media.cards.new.experience',
|
|
51
|
-
captions: 'confluence.frontend.fabric.editor.media.captions',
|
|
52
|
-
mediaInline: 'confluence.frontend.fabric.editor.media.inline',
|
|
53
|
-
folderUploads: 'confluence.media.picker.folder.uploads',
|
|
54
|
-
timestampOnVideo: '',
|
|
55
|
-
observedWidth: ''
|
|
56
|
-
},
|
|
57
|
-
jira: {
|
|
58
|
-
newCardExperience: 'issue.details.media-cards-new-experience',
|
|
59
|
-
captions: 'issue.details.editor.media.captions',
|
|
60
|
-
mediaInline: '',
|
|
61
|
-
folderUploads: '',
|
|
62
|
-
timestampOnVideo: '',
|
|
63
|
-
observedWidth: ''
|
|
64
|
-
}
|
|
65
49
|
}; // default values defined here, not necessary for components to know directly as they should use the function below
|
|
66
50
|
|
|
67
51
|
export const defaultMediaFeatureFlags = {
|
|
@@ -71,8 +55,9 @@ export const defaultMediaFeatureFlags = {
|
|
|
71
55
|
// We can't yet switch this feature on
|
|
72
56
|
// TODO https://product-fabric.atlassian.net/browse/MEX-104
|
|
73
57
|
folderUploads: false,
|
|
58
|
+
observedWidth: false,
|
|
74
59
|
timestampOnVideo: false,
|
|
75
|
-
|
|
60
|
+
mediaUploadApiV2: false
|
|
76
61
|
};
|
|
77
62
|
/**
|
|
78
63
|
* Public accessor from components to fallback to defaults if flags not passed,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const productKeys = {
|
|
2
|
+
confluence: {
|
|
3
|
+
newCardExperience: 'confluence.frontend.media.cards.new.experience',
|
|
4
|
+
captions: 'confluence.frontend.fabric.editor.media.captions',
|
|
5
|
+
mediaInline: 'confluence.frontend.fabric.editor.media.inline',
|
|
6
|
+
folderUploads: 'confluence.frontend.media.picker.folder.uploads',
|
|
7
|
+
//TODO fill the value after https://product-fabric.atlassian.net/browse/MEX-1593
|
|
8
|
+
observedWidth: '',
|
|
9
|
+
// TODO https://product-fabric.atlassian.net/browse/MEX-1620
|
|
10
|
+
timestampOnVideo: '',
|
|
11
|
+
mediaUploadApiV2: 'confluence.enable.media.upload.api.v2'
|
|
12
|
+
},
|
|
13
|
+
jira: {
|
|
14
|
+
newCardExperience: 'issue.details.media-cards-new-experience',
|
|
15
|
+
captions: 'issue.details.editor.media.captions',
|
|
16
|
+
// Manged by Linking Platform. No Rollout plan found for Jira
|
|
17
|
+
mediaInline: '',
|
|
18
|
+
folderUploads: 'issue.details.media-picker-folder-upload',
|
|
19
|
+
//TODO fill the value after https://product-fabric.atlassian.net/browse/MEX-1593
|
|
20
|
+
observedWidth: '',
|
|
21
|
+
// TODO https://product-fabric.atlassian.net/browse/MEX-1620
|
|
22
|
+
timestampOnVideo: '',
|
|
23
|
+
mediaUploadApiV2: 'issue.details.enable-media-upload-api-version-2'
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export const getProductKeys = () => productKeys;
|
package/dist/es2019/version.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import { useRef } from 'react';
|
|
3
3
|
import { getLocalMediaFeatureFlag } from '../mediaFeatureFlag-local';
|
|
4
|
+
import { supportedProducts } from './types';
|
|
5
|
+
import { getProductKeys } from './productKeys';
|
|
4
6
|
export var areEqualFeatureFlags = function areEqualFeatureFlags(ffA, ffB) {
|
|
5
7
|
if (!ffA && !ffB) {
|
|
6
8
|
return true;
|
|
@@ -15,8 +17,9 @@ export var areEqualFeatureFlags = function areEqualFeatureFlags(ffA, ffB) {
|
|
|
15
17
|
captions: ffA.captions === ffB.captions,
|
|
16
18
|
mediaInline: ffA.mediaInline === ffB.mediaInline,
|
|
17
19
|
folderUploads: ffA.folderUploads === ffB.folderUploads,
|
|
20
|
+
observedWidth: ffA.observedWidth === ffB.observedWidth,
|
|
18
21
|
timestampOnVideo: ffA.timestampOnVideo === ffB.timestampOnVideo,
|
|
19
|
-
|
|
22
|
+
mediaUploadApiV2: ffA.mediaUploadApiV2 === ffB.mediaUploadApiV2
|
|
20
23
|
};
|
|
21
24
|
return Object.values(results).every(function (result) {
|
|
22
25
|
return result;
|
|
@@ -45,7 +48,7 @@ export var filterFeatureFlagNames = function filterFeatureFlagNames(flags) {
|
|
|
45
48
|
export var mapAndFilterFeatureFlagNames = function mapAndFilterFeatureFlagNames(flags, product) {
|
|
46
49
|
var mediaFeatureFlags = filterFeatureFlagNames(flags);
|
|
47
50
|
return mediaFeatureFlags.map(function (key) {
|
|
48
|
-
return
|
|
51
|
+
return getProductKeys()[product][key];
|
|
49
52
|
});
|
|
50
53
|
}; // TODO(MEX-1547): This is temporary solution to just return the launch darkly feature flags for all products.
|
|
51
54
|
|
|
@@ -56,34 +59,15 @@ export var mapAndFilterFeatureFlagNames = function mapAndFilterFeatureFlagNames(
|
|
|
56
59
|
|
|
57
60
|
export var filterFeatureFlagKeysAllProducts = function filterFeatureFlagKeysAllProducts(flags) {
|
|
58
61
|
var filteredFlags = filterFeatureFlagNames(flags);
|
|
59
|
-
var supportedProducts = Object.keys(mediaFeatureFlagsProductToLaunchDarklyMap);
|
|
60
62
|
var ldFeatureFlags = [];
|
|
61
63
|
filteredFlags.forEach(function (flag) {
|
|
62
64
|
return supportedProducts.forEach(function (product) {
|
|
63
|
-
return ldFeatureFlags.push(
|
|
65
|
+
return ldFeatureFlags.push(getProductKeys()[product][flag]);
|
|
64
66
|
});
|
|
65
67
|
});
|
|
66
68
|
return ldFeatureFlags.filter(function (flag) {
|
|
67
69
|
return flag !== '';
|
|
68
70
|
});
|
|
69
|
-
};
|
|
70
|
-
export var mediaFeatureFlagsProductToLaunchDarklyMap = {
|
|
71
|
-
confluence: {
|
|
72
|
-
newCardExperience: 'confluence.media.cards.new.experience',
|
|
73
|
-
captions: 'confluence.frontend.fabric.editor.media.captions',
|
|
74
|
-
mediaInline: 'confluence.frontend.fabric.editor.media.inline',
|
|
75
|
-
folderUploads: 'confluence.media.picker.folder.uploads',
|
|
76
|
-
timestampOnVideo: '',
|
|
77
|
-
observedWidth: ''
|
|
78
|
-
},
|
|
79
|
-
jira: {
|
|
80
|
-
newCardExperience: 'issue.details.media-cards-new-experience',
|
|
81
|
-
captions: 'issue.details.editor.media.captions',
|
|
82
|
-
mediaInline: '',
|
|
83
|
-
folderUploads: '',
|
|
84
|
-
timestampOnVideo: '',
|
|
85
|
-
observedWidth: ''
|
|
86
|
-
}
|
|
87
71
|
}; // default values defined here, not necessary for components to know directly as they should use the function below
|
|
88
72
|
|
|
89
73
|
export var defaultMediaFeatureFlags = {
|
|
@@ -93,8 +77,9 @@ export var defaultMediaFeatureFlags = {
|
|
|
93
77
|
// We can't yet switch this feature on
|
|
94
78
|
// TODO https://product-fabric.atlassian.net/browse/MEX-104
|
|
95
79
|
folderUploads: false,
|
|
80
|
+
observedWidth: false,
|
|
96
81
|
timestampOnVideo: false,
|
|
97
|
-
|
|
82
|
+
mediaUploadApiV2: false
|
|
98
83
|
};
|
|
99
84
|
/**
|
|
100
85
|
* Public accessor from components to fallback to defaults if flags not passed,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var productKeys = {
|
|
2
|
+
confluence: {
|
|
3
|
+
newCardExperience: 'confluence.frontend.media.cards.new.experience',
|
|
4
|
+
captions: 'confluence.frontend.fabric.editor.media.captions',
|
|
5
|
+
mediaInline: 'confluence.frontend.fabric.editor.media.inline',
|
|
6
|
+
folderUploads: 'confluence.frontend.media.picker.folder.uploads',
|
|
7
|
+
//TODO fill the value after https://product-fabric.atlassian.net/browse/MEX-1593
|
|
8
|
+
observedWidth: '',
|
|
9
|
+
// TODO https://product-fabric.atlassian.net/browse/MEX-1620
|
|
10
|
+
timestampOnVideo: '',
|
|
11
|
+
mediaUploadApiV2: 'confluence.enable.media.upload.api.v2'
|
|
12
|
+
},
|
|
13
|
+
jira: {
|
|
14
|
+
newCardExperience: 'issue.details.media-cards-new-experience',
|
|
15
|
+
captions: 'issue.details.editor.media.captions',
|
|
16
|
+
// Manged by Linking Platform. No Rollout plan found for Jira
|
|
17
|
+
mediaInline: '',
|
|
18
|
+
folderUploads: 'issue.details.media-picker-folder-upload',
|
|
19
|
+
//TODO fill the value after https://product-fabric.atlassian.net/browse/MEX-1593
|
|
20
|
+
observedWidth: '',
|
|
21
|
+
// TODO https://product-fabric.atlassian.net/browse/MEX-1620
|
|
22
|
+
timestampOnVideo: '',
|
|
23
|
+
mediaUploadApiV2: 'issue.details.enable-media-upload-api-version-2'
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export var getProductKeys = function getProductKeys() {
|
|
27
|
+
return productKeys;
|
|
28
|
+
};
|
package/dist/esm/version.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequiredMediaFeatureFlags, MediaFeatureFlags,
|
|
1
|
+
import { RequiredMediaFeatureFlags, MediaFeatureFlags, SupportedProduct } from './types';
|
|
2
2
|
export declare const areEqualFeatureFlags: (ffA?: MediaFeatureFlags | undefined, ffB?: MediaFeatureFlags | undefined) => boolean;
|
|
3
3
|
export declare const filterFeatureFlagNames: (flags: RequiredMediaFeatureFlags) => Array<keyof MediaFeatureFlags>;
|
|
4
4
|
/**
|
|
@@ -11,7 +11,6 @@ export declare const mapAndFilterFeatureFlagNames: (flags: RequiredMediaFeatureF
|
|
|
11
11
|
* Returns the Launch Darkly Keys from all products for each of the flags set as true in the input record.
|
|
12
12
|
* */
|
|
13
13
|
export declare const filterFeatureFlagKeysAllProducts: (flags: RequiredMediaFeatureFlags) => Array<string>;
|
|
14
|
-
export declare const mediaFeatureFlagsProductToLaunchDarklyMap: Record<SupportedProduct, MediaFeatureFlagsMap>;
|
|
15
14
|
export declare const defaultMediaFeatureFlags: Required<MediaFeatureFlags>;
|
|
16
15
|
/**
|
|
17
16
|
* Public accessor from components to fallback to defaults if flags not passed,
|
|
@@ -3,12 +3,15 @@ export interface MediaFeatureFlags {
|
|
|
3
3
|
captions?: boolean;
|
|
4
4
|
mediaInline?: boolean;
|
|
5
5
|
folderUploads?: boolean;
|
|
6
|
-
timestampOnVideo?: boolean;
|
|
7
6
|
observedWidth?: boolean;
|
|
7
|
+
timestampOnVideo?: boolean;
|
|
8
|
+
mediaUploadApiV2?: boolean;
|
|
8
9
|
}
|
|
9
10
|
export interface WithMediaFeatureFlags {
|
|
10
11
|
featureFlags?: MediaFeatureFlags;
|
|
11
12
|
}
|
|
12
13
|
export declare type RequiredMediaFeatureFlags = Record<keyof Required<MediaFeatureFlags>, boolean>;
|
|
13
14
|
export declare type MediaFeatureFlagsMap = Record<keyof Required<MediaFeatureFlags>, string>;
|
|
14
|
-
export declare
|
|
15
|
+
export declare const supportedProducts: readonly ["confluence", "jira"];
|
|
16
|
+
export declare type SupportedProduct = typeof supportedProducts[number];
|
|
17
|
+
export declare type ProductKeys = Record<SupportedProduct, MediaFeatureFlagsMap>;
|