@atlaskit/native-embeds-common 2.0.5 → 2.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.
- package/CHANGELOG.md +20 -0
- package/dist/cjs/entry-points/initial-layout.js +44 -0
- package/dist/cjs/utils/constants.js +1 -0
- package/dist/es2019/entry-points/initial-layout.js +40 -0
- package/dist/es2019/index.js +0 -1
- package/dist/es2019/utils/constants.js +1 -0
- package/dist/esm/entry-points/initial-layout.js +38 -0
- package/dist/esm/index.js +0 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/types/entry-points/initial-layout.d.ts +32 -0
- package/dist/types/utils/constants.d.ts +1 -0
- package/initial-layout/package.json +10 -0
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atlaskit/native-embeds-common
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`ae762b2ef8b90`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ae762b2ef8b90) -
|
|
8
|
+
Add `getRemixFloatingToolbarButton` action and `BUILTIN_TOOLBAR_KEYS.REMIX` so the regular Remix
|
|
9
|
+
button can be surfaced in the native-embeds floating toolbar.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
15
|
+
## 2.0.6
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`07226ab3fad50`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/07226ab3fad50) -
|
|
20
|
+
[ux] Reserve native embed first-paint layout
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
3
23
|
## 2.0.5
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolveNativeEmbedInitialLayout = exports.NATIVE_EMBED_INITIAL_LAYOUT_FALLBACK_ASPECT_RATIO = void 0;
|
|
7
|
+
var _utils = require("../utils/utils");
|
|
8
|
+
var NATIVE_EMBED_INITIAL_LAYOUT_FALLBACK_ASPECT_RATIO = exports.NATIVE_EMBED_INITIAL_LAYOUT_FALLBACK_ASPECT_RATIO = '760 / 600';
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the dimensions needed to reserve native embed layout before the full iframe UI is ready.
|
|
11
|
+
*
|
|
12
|
+
* This intentionally depends only on ADF parameters and optional manifest-like metadata so it can be
|
|
13
|
+
* reused by React, DOMOutputSpec, SSR, and renderer placeholders without importing iframe UI code.
|
|
14
|
+
*/
|
|
15
|
+
var resolveNativeEmbedInitialLayout = exports.resolveNativeEmbedInitialLayout = function resolveNativeEmbedInitialLayout(_ref) {
|
|
16
|
+
var _manifest$parameterDe, _manifest$parameterDe2, _manifest$parameterDe3, _manifest$lockResizeA, _manifest$uiConfig$sh, _manifest$uiConfig;
|
|
17
|
+
var manifest = _ref.manifest,
|
|
18
|
+
parameters = _ref.parameters,
|
|
19
|
+
placeholderId = _ref.placeholderId;
|
|
20
|
+
var _getParameters = (0, _utils.getParameters)(parameters),
|
|
21
|
+
alignment = _getParameters.alignment,
|
|
22
|
+
aspectRatio = _getParameters.aspectRatio,
|
|
23
|
+
height = _getParameters.height,
|
|
24
|
+
width = _getParameters.width;
|
|
25
|
+
var effectiveWidth = width !== null && width !== void 0 ? width : manifest === null || manifest === void 0 || (_manifest$parameterDe = manifest.parameterDefaults) === null || _manifest$parameterDe === void 0 ? void 0 : _manifest$parameterDe.width;
|
|
26
|
+
|
|
27
|
+
// `getParameters` always supplies default values, so inspect raw macroParams to distinguish
|
|
28
|
+
// stored dimensions from package defaults. This prevents the default aspectRatio from affecting
|
|
29
|
+
// older embeds that never persisted original dimensions.
|
|
30
|
+
var macroParams = parameters === null || parameters === void 0 ? void 0 : parameters.macroParams;
|
|
31
|
+
var heightExplicitlyStored = !!(macroParams !== null && macroParams !== void 0 && macroParams.height);
|
|
32
|
+
var aspectRatioExplicitlyStored = !!(macroParams !== null && macroParams !== void 0 && macroParams.aspectRatio);
|
|
33
|
+
var effectiveHeightRaw = heightExplicitlyStored ? height : (_manifest$parameterDe2 = manifest === null || manifest === void 0 || (_manifest$parameterDe3 = manifest.parameterDefaults) === null || _manifest$parameterDe3 === void 0 ? void 0 : _manifest$parameterDe3.height) !== null && _manifest$parameterDe2 !== void 0 ? _manifest$parameterDe2 : null;
|
|
34
|
+
var effectiveHeight = aspectRatioExplicitlyStored && aspectRatio != null && aspectRatio > 0 && effectiveWidth != null && !heightExplicitlyStored ? Math.round(effectiveWidth / aspectRatio) : effectiveHeightRaw !== null && effectiveHeightRaw !== void 0 ? effectiveHeightRaw : height;
|
|
35
|
+
var lockAspectRatio = typeof (manifest === null || manifest === void 0 ? void 0 : manifest.lockResizeAspectRatio) === 'function' ? manifest.lockResizeAspectRatio() : (_manifest$lockResizeA = manifest === null || manifest === void 0 ? void 0 : manifest.lockResizeAspectRatio) !== null && _manifest$lockResizeA !== void 0 ? _manifest$lockResizeA : true;
|
|
36
|
+
return {
|
|
37
|
+
alignment: alignment,
|
|
38
|
+
effectiveHeight: effectiveHeight,
|
|
39
|
+
effectiveWidth: effectiveWidth,
|
|
40
|
+
hasEmbedBorder: (_manifest$uiConfig$sh = manifest === null || manifest === void 0 || (_manifest$uiConfig = manifest.uiConfig) === null || _manifest$uiConfig === void 0 ? void 0 : _manifest$uiConfig.showBorder) !== null && _manifest$uiConfig$sh !== void 0 ? _manifest$uiConfig$sh : true,
|
|
41
|
+
lockAspectRatio: lockAspectRatio,
|
|
42
|
+
placeholderId: placeholderId
|
|
43
|
+
};
|
|
44
|
+
};
|
|
@@ -61,6 +61,7 @@ var NATIVE_EMBED_PARAMETER_DEFAULTS = exports.NATIVE_EMBED_PARAMETER_DEFAULTS =
|
|
|
61
61
|
*/
|
|
62
62
|
var BUILTIN_TOOLBAR_KEYS = exports.BUILTIN_TOOLBAR_KEYS = {
|
|
63
63
|
ASK_ROVO: 'askRovo',
|
|
64
|
+
REMIX: 'remix',
|
|
64
65
|
REMIX_VARIANT: 'remixVariant',
|
|
65
66
|
SUMMARISE: 'summarise',
|
|
66
67
|
REFRESH: 'refresh',
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getParameters } from '../utils/utils';
|
|
2
|
+
export const NATIVE_EMBED_INITIAL_LAYOUT_FALLBACK_ASPECT_RATIO = '760 / 600';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the dimensions needed to reserve native embed layout before the full iframe UI is ready.
|
|
5
|
+
*
|
|
6
|
+
* This intentionally depends only on ADF parameters and optional manifest-like metadata so it can be
|
|
7
|
+
* reused by React, DOMOutputSpec, SSR, and renderer placeholders without importing iframe UI code.
|
|
8
|
+
*/
|
|
9
|
+
export const resolveNativeEmbedInitialLayout = ({
|
|
10
|
+
manifest,
|
|
11
|
+
parameters,
|
|
12
|
+
placeholderId
|
|
13
|
+
}) => {
|
|
14
|
+
var _manifest$parameterDe, _manifest$parameterDe2, _manifest$parameterDe3, _manifest$lockResizeA, _manifest$uiConfig$sh, _manifest$uiConfig;
|
|
15
|
+
const {
|
|
16
|
+
alignment,
|
|
17
|
+
aspectRatio,
|
|
18
|
+
height,
|
|
19
|
+
width
|
|
20
|
+
} = getParameters(parameters);
|
|
21
|
+
const effectiveWidth = width !== null && width !== void 0 ? width : manifest === null || manifest === void 0 ? void 0 : (_manifest$parameterDe = manifest.parameterDefaults) === null || _manifest$parameterDe === void 0 ? void 0 : _manifest$parameterDe.width;
|
|
22
|
+
|
|
23
|
+
// `getParameters` always supplies default values, so inspect raw macroParams to distinguish
|
|
24
|
+
// stored dimensions from package defaults. This prevents the default aspectRatio from affecting
|
|
25
|
+
// older embeds that never persisted original dimensions.
|
|
26
|
+
const macroParams = parameters === null || parameters === void 0 ? void 0 : parameters.macroParams;
|
|
27
|
+
const heightExplicitlyStored = !!(macroParams !== null && macroParams !== void 0 && macroParams.height);
|
|
28
|
+
const aspectRatioExplicitlyStored = !!(macroParams !== null && macroParams !== void 0 && macroParams.aspectRatio);
|
|
29
|
+
const effectiveHeightRaw = heightExplicitlyStored ? height : (_manifest$parameterDe2 = manifest === null || manifest === void 0 ? void 0 : (_manifest$parameterDe3 = manifest.parameterDefaults) === null || _manifest$parameterDe3 === void 0 ? void 0 : _manifest$parameterDe3.height) !== null && _manifest$parameterDe2 !== void 0 ? _manifest$parameterDe2 : null;
|
|
30
|
+
const effectiveHeight = aspectRatioExplicitlyStored && aspectRatio != null && aspectRatio > 0 && effectiveWidth != null && !heightExplicitlyStored ? Math.round(effectiveWidth / aspectRatio) : effectiveHeightRaw !== null && effectiveHeightRaw !== void 0 ? effectiveHeightRaw : height;
|
|
31
|
+
const lockAspectRatio = typeof (manifest === null || manifest === void 0 ? void 0 : manifest.lockResizeAspectRatio) === 'function' ? manifest.lockResizeAspectRatio() : (_manifest$lockResizeA = manifest === null || manifest === void 0 ? void 0 : manifest.lockResizeAspectRatio) !== null && _manifest$lockResizeA !== void 0 ? _manifest$lockResizeA : true;
|
|
32
|
+
return {
|
|
33
|
+
alignment,
|
|
34
|
+
effectiveHeight,
|
|
35
|
+
effectiveWidth,
|
|
36
|
+
hasEmbedBorder: (_manifest$uiConfig$sh = manifest === null || manifest === void 0 ? void 0 : (_manifest$uiConfig = manifest.uiConfig) === null || _manifest$uiConfig === void 0 ? void 0 : _manifest$uiConfig.showBorder) !== null && _manifest$uiConfig$sh !== void 0 ? _manifest$uiConfig$sh : true,
|
|
37
|
+
lockAspectRatio,
|
|
38
|
+
placeholderId
|
|
39
|
+
};
|
|
40
|
+
};
|
package/dist/es2019/index.js
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getParameters } from '../utils/utils';
|
|
2
|
+
export var NATIVE_EMBED_INITIAL_LAYOUT_FALLBACK_ASPECT_RATIO = '760 / 600';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the dimensions needed to reserve native embed layout before the full iframe UI is ready.
|
|
5
|
+
*
|
|
6
|
+
* This intentionally depends only on ADF parameters and optional manifest-like metadata so it can be
|
|
7
|
+
* reused by React, DOMOutputSpec, SSR, and renderer placeholders without importing iframe UI code.
|
|
8
|
+
*/
|
|
9
|
+
export var resolveNativeEmbedInitialLayout = function resolveNativeEmbedInitialLayout(_ref) {
|
|
10
|
+
var _manifest$parameterDe, _manifest$parameterDe2, _manifest$parameterDe3, _manifest$lockResizeA, _manifest$uiConfig$sh, _manifest$uiConfig;
|
|
11
|
+
var manifest = _ref.manifest,
|
|
12
|
+
parameters = _ref.parameters,
|
|
13
|
+
placeholderId = _ref.placeholderId;
|
|
14
|
+
var _getParameters = getParameters(parameters),
|
|
15
|
+
alignment = _getParameters.alignment,
|
|
16
|
+
aspectRatio = _getParameters.aspectRatio,
|
|
17
|
+
height = _getParameters.height,
|
|
18
|
+
width = _getParameters.width;
|
|
19
|
+
var effectiveWidth = width !== null && width !== void 0 ? width : manifest === null || manifest === void 0 || (_manifest$parameterDe = manifest.parameterDefaults) === null || _manifest$parameterDe === void 0 ? void 0 : _manifest$parameterDe.width;
|
|
20
|
+
|
|
21
|
+
// `getParameters` always supplies default values, so inspect raw macroParams to distinguish
|
|
22
|
+
// stored dimensions from package defaults. This prevents the default aspectRatio from affecting
|
|
23
|
+
// older embeds that never persisted original dimensions.
|
|
24
|
+
var macroParams = parameters === null || parameters === void 0 ? void 0 : parameters.macroParams;
|
|
25
|
+
var heightExplicitlyStored = !!(macroParams !== null && macroParams !== void 0 && macroParams.height);
|
|
26
|
+
var aspectRatioExplicitlyStored = !!(macroParams !== null && macroParams !== void 0 && macroParams.aspectRatio);
|
|
27
|
+
var effectiveHeightRaw = heightExplicitlyStored ? height : (_manifest$parameterDe2 = manifest === null || manifest === void 0 || (_manifest$parameterDe3 = manifest.parameterDefaults) === null || _manifest$parameterDe3 === void 0 ? void 0 : _manifest$parameterDe3.height) !== null && _manifest$parameterDe2 !== void 0 ? _manifest$parameterDe2 : null;
|
|
28
|
+
var effectiveHeight = aspectRatioExplicitlyStored && aspectRatio != null && aspectRatio > 0 && effectiveWidth != null && !heightExplicitlyStored ? Math.round(effectiveWidth / aspectRatio) : effectiveHeightRaw !== null && effectiveHeightRaw !== void 0 ? effectiveHeightRaw : height;
|
|
29
|
+
var lockAspectRatio = typeof (manifest === null || manifest === void 0 ? void 0 : manifest.lockResizeAspectRatio) === 'function' ? manifest.lockResizeAspectRatio() : (_manifest$lockResizeA = manifest === null || manifest === void 0 ? void 0 : manifest.lockResizeAspectRatio) !== null && _manifest$lockResizeA !== void 0 ? _manifest$lockResizeA : true;
|
|
30
|
+
return {
|
|
31
|
+
alignment: alignment,
|
|
32
|
+
effectiveHeight: effectiveHeight,
|
|
33
|
+
effectiveWidth: effectiveWidth,
|
|
34
|
+
hasEmbedBorder: (_manifest$uiConfig$sh = manifest === null || manifest === void 0 || (_manifest$uiConfig = manifest.uiConfig) === null || _manifest$uiConfig === void 0 ? void 0 : _manifest$uiConfig.showBorder) !== null && _manifest$uiConfig$sh !== void 0 ? _manifest$uiConfig$sh : true,
|
|
35
|
+
lockAspectRatio: lockAspectRatio,
|
|
36
|
+
placeholderId: placeholderId
|
|
37
|
+
};
|
|
38
|
+
};
|
package/dist/esm/index.js
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AlignmentValue, NativeEmbedParameters } from '../utils/types';
|
|
2
|
+
export declare const NATIVE_EMBED_INITIAL_LAYOUT_FALLBACK_ASPECT_RATIO = "760 / 600";
|
|
3
|
+
export type NativeEmbedInitialLayoutManifest = {
|
|
4
|
+
lockResizeAspectRatio?: boolean | (() => boolean);
|
|
5
|
+
parameterDefaults?: {
|
|
6
|
+
height?: number;
|
|
7
|
+
width?: number;
|
|
8
|
+
};
|
|
9
|
+
uiConfig?: {
|
|
10
|
+
showBorder?: boolean;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type NativeEmbedInitialLayout = {
|
|
14
|
+
alignment: AlignmentValue;
|
|
15
|
+
effectiveHeight: number;
|
|
16
|
+
effectiveWidth: number | undefined;
|
|
17
|
+
hasEmbedBorder: boolean;
|
|
18
|
+
lockAspectRatio: boolean;
|
|
19
|
+
placeholderId?: string;
|
|
20
|
+
};
|
|
21
|
+
export type ResolveNativeEmbedInitialLayoutInput = {
|
|
22
|
+
manifest?: NativeEmbedInitialLayoutManifest;
|
|
23
|
+
parameters?: NativeEmbedParameters;
|
|
24
|
+
placeholderId?: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Resolve the dimensions needed to reserve native embed layout before the full iframe UI is ready.
|
|
28
|
+
*
|
|
29
|
+
* This intentionally depends only on ADF parameters and optional manifest-like metadata so it can be
|
|
30
|
+
* reused by React, DOMOutputSpec, SSR, and renderer placeholders without importing iframe UI code.
|
|
31
|
+
*/
|
|
32
|
+
export declare const resolveNativeEmbedInitialLayout: ({ manifest, parameters, placeholderId, }: ResolveNativeEmbedInitialLayoutInput) => NativeEmbedInitialLayout;
|
|
@@ -29,6 +29,7 @@ export declare const NATIVE_EMBED_PARAMETER_DEFAULTS: NativeEmbedParameterValues
|
|
|
29
29
|
*/
|
|
30
30
|
export declare const BUILTIN_TOOLBAR_KEYS: {
|
|
31
31
|
readonly ASK_ROVO: "askRovo";
|
|
32
|
+
readonly REMIX: "remix";
|
|
32
33
|
readonly REMIX_VARIANT: "remixVariant";
|
|
33
34
|
readonly SUMMARISE: "summarise";
|
|
34
35
|
readonly REFRESH: "refresh";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atlaskit/native-embeds-common/initial-layout",
|
|
3
|
+
"main": "../dist/cjs/entry-points/initial-layout.js",
|
|
4
|
+
"module": "../dist/esm/entry-points/initial-layout.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/entry-points/initial-layout.js",
|
|
6
|
+
"sideEffects": [
|
|
7
|
+
"*.compiled.css"
|
|
8
|
+
],
|
|
9
|
+
"types": "../dist/types/entry-points/initial-layout.d.ts"
|
|
10
|
+
}
|
package/package.json
CHANGED
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
"atlaskit:src": "src/index.ts",
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@atlaskit/button": "^24.3.0",
|
|
20
|
-
"@atlaskit/editor-common": "^116.
|
|
20
|
+
"@atlaskit/editor-common": "^116.25.0",
|
|
21
21
|
"@atlaskit/editor-plugin-local-id": "^10.1.0",
|
|
22
22
|
"@atlaskit/editor-prosemirror": "^8.0.0",
|
|
23
|
-
"@atlaskit/heading": "^6.
|
|
24
|
-
"@atlaskit/icon": "^36.
|
|
25
|
-
"@atlaskit/primitives": "^20.
|
|
26
|
-
"@atlaskit/tokens": "^15.
|
|
23
|
+
"@atlaskit/heading": "^6.2.0",
|
|
24
|
+
"@atlaskit/icon": "^36.2.0",
|
|
25
|
+
"@atlaskit/primitives": "^20.5.0",
|
|
26
|
+
"@atlaskit/tokens": "^15.5.0",
|
|
27
27
|
"@atlassian/afm-i18n-platform-native-embeds-native-embeds-common": "1.7.0",
|
|
28
28
|
"@babel/runtime": "^7.0.0",
|
|
29
29
|
"@compiled/react": "^0.20.0"
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
"name": "@atlaskit/native-embeds-common",
|
|
83
|
-
"version": "2.0
|
|
83
|
+
"version": "2.1.0",
|
|
84
84
|
"description": "A shared package for native embeds to be used across experiences and plugin",
|
|
85
85
|
"author": "Atlassian Pty Ltd",
|
|
86
86
|
"license": "Apache-2.0",
|