@atlaskit/inline-edit 12.1.2 → 12.1.6

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,30 @@
1
1
  # @atlaskit/inline-edit
2
2
 
3
+ ## 12.1.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 12.1.5
10
+
11
+ ### Patch Changes
12
+
13
+ - [`f460cc7c411`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f460cc7c411) - Builds for this package now pass through a tokens babel plugin, removing runtime invocations of the tokens() function and improving bundle size.
14
+ - Updated dependencies
15
+
16
+ ## 12.1.4
17
+
18
+ ### Patch Changes
19
+
20
+ - [`d9d76592b37`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d9d76592b37) - This change bumps the @atlaskit/inline-dialog dependency to the latest version 13.1.8. This fixes a bug where the inline dialog opens incorrectly.
21
+
22
+ ## 12.1.3
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies
27
+
3
28
  ## 12.1.2
4
29
 
5
30
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -5,16 +5,16 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "default", {
8
+ Object.defineProperty(exports, "InlineEditableTextfield", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _inlineEdit.default;
11
+ return _inlineEditableTextfield.default;
12
12
  }
13
13
  });
14
- Object.defineProperty(exports, "InlineEditableTextfield", {
14
+ Object.defineProperty(exports, "default", {
15
15
  enumerable: true,
16
16
  get: function get() {
17
- return _inlineEditableTextfield.default;
17
+ return _inlineEdit.default;
18
18
  }
19
19
  });
20
20
 
@@ -41,14 +41,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
41
41
 
42
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
43
 
44
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
44
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
45
 
46
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
46
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
47
 
48
48
  var analyticsAttributes = {
49
49
  componentName: 'inlineEdit',
50
50
  packageName: "@atlaskit/inline-edit",
51
- packageVersion: "12.1.2"
51
+ packageVersion: "12.1.6"
52
52
  };
53
53
 
54
54
  var noop = function noop() {};
@@ -21,13 +21,12 @@ var _textfield = _interopRequireDefault(require("@atlaskit/textfield"));
21
21
 
22
22
  var _colors = require("@atlaskit/theme/colors");
23
23
 
24
- var _tokens = require("@atlaskit/tokens");
25
-
26
24
  var _inlineEdit = _interopRequireDefault(require("./inline-edit"));
27
25
 
28
26
  var _styles = require("./internal/styles");
29
27
 
30
- /** @jsx jsx */
28
+ var _excluded = ["errorMessage", "isInvalid"];
29
+
31
30
  var InlineEditableTextfield = function InlineEditableTextfield(props) {
32
31
  var _props$isCompact = props.isCompact,
33
32
  isCompact = _props$isCompact === void 0 ? false : _props$isCompact,
@@ -39,7 +38,7 @@ var InlineEditableTextfield = function InlineEditableTextfield(props) {
39
38
  editView: function editView(_ref) {
40
39
  var errorMessage = _ref.errorMessage,
41
40
  isInvalid = _ref.isInvalid,
42
- props = (0, _objectWithoutProperties2.default)(_ref, ["errorMessage", "isInvalid"]);
41
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
42
  return (0, _core.jsx)(_inlineDialog.default, {
44
43
  isOpen: isInvalid,
45
44
  content: (0, _core.jsx)("div", {
@@ -51,7 +50,7 @@ var InlineEditableTextfield = function InlineEditableTextfield(props) {
51
50
  css: _styles.errorIconContainerStyles
52
51
  }, (0, _core.jsx)(_error.default, {
53
52
  label: "error",
54
- primaryColor: (0, _tokens.token)('color.iconBorder.danger', _colors.R400)
53
+ primaryColor: "var(--ds-iconBorder-danger, ".concat(_colors.R400, ")")
55
54
  })),
56
55
  testId: testId,
57
56
  isCompact: isCompact,
@@ -3,19 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.readViewWrapperStyles = exports.readViewContainerStyles = exports.readViewForTextFieldStyles = exports.errorIconContainerStyles = exports.editButtonStyles = exports.getButtonWrapperStyles = exports.buttonsContainerStyles = void 0;
6
+ exports.readViewWrapperStyles = exports.readViewForTextFieldStyles = exports.readViewContainerStyles = exports.getButtonWrapperStyles = exports.errorIconContainerStyles = exports.editButtonStyles = exports.buttonsContainerStyles = void 0;
7
7
 
8
8
  var _colors = require("@atlaskit/theme/colors");
9
9
 
10
10
  var _constants = require("@atlaskit/theme/constants");
11
11
 
12
- var _tokens = require("@atlaskit/tokens");
13
-
14
12
  var spacingUnit = (0, _constants.gridSize)();
15
13
  var fontSizeUnit = (0, _constants.fontSize)();
16
14
  var elevations = {
17
- light: (0, _tokens.token)('shadow.overlay', "0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A)),
18
- dark: (0, _tokens.token)('shadow.overlay', "0 4px 8px -2px ".concat(_colors.DN50A, ", 0 0 1px ").concat(_colors.DN60A))
15
+ light: "var(--ds-overlay, ".concat("0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A), ")"),
16
+ dark: "var(--ds-overlay, ".concat("0 4px 8px -2px ".concat(_colors.DN50A, ", 0 0 1px ").concat(_colors.DN60A), ")")
19
17
  };
20
18
  var buttonsContainerStyles = {
21
19
  display: 'flex',
@@ -30,7 +28,7 @@ exports.buttonsContainerStyles = buttonsContainerStyles;
30
28
  var getButtonWrapperStyles = function getButtonWrapperStyles(mode) {
31
29
  return {
32
30
  boxShadow: elevations[mode],
33
- backgroundColor: (0, _tokens.token)('color.background.overlay', _colors.N0),
31
+ backgroundColor: "var(--ds-background-overlay, ".concat(_colors.N0, ")"),
34
32
  width: spacingUnit * 4,
35
33
  zIndex: 200,
36
34
  borderRadius: spacingUnit / 2 - 1,
@@ -53,7 +51,7 @@ var editButtonStyles = {
53
51
  padding: '0',
54
52
  outline: '0',
55
53
  '&:focus + div': {
56
- border: "2px solid ".concat((0, _tokens.token)('color.border.focus', _colors.B100))
54
+ border: "2px solid ".concat("var(--ds-border-focus, ".concat(_colors.B100, ")"))
57
55
  }
58
56
  };
59
57
  exports.editButtonStyles = editButtonStyles;
@@ -91,7 +89,7 @@ var readViewWrapperStyles = {
91
89
  width: '100%'
92
90
  },
93
91
  '&:hover': {
94
- background: (0, _tokens.token)('color.background.transparentNeutral.hover', _colors.N30)
92
+ background: "var(--ds-background-transparentNeutral-hover, ".concat(_colors.N30, ")")
95
93
  }
96
94
  };
97
95
  exports.readViewWrapperStyles = readViewWrapperStyles;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/inline-edit",
3
- "version": "12.1.2",
3
+ "version": "12.1.6",
4
4
  "sideEffects": false
5
5
  }
@@ -13,7 +13,7 @@ import ReadView from './internal/read-view';
13
13
  const analyticsAttributes = {
14
14
  componentName: 'inlineEdit',
15
15
  packageName: "@atlaskit/inline-edit",
16
- packageVersion: "12.1.2"
16
+ packageVersion: "12.1.6"
17
17
  };
18
18
 
19
19
  const noop = () => {};
@@ -6,7 +6,6 @@ import ErrorIcon from '@atlaskit/icon/glyph/error';
6
6
  import InlineDialog from '@atlaskit/inline-dialog';
7
7
  import Textfield from '@atlaskit/textfield';
8
8
  import { R400 } from '@atlaskit/theme/colors';
9
- import { token } from '@atlaskit/tokens';
10
9
  import InlineEdit from './inline-edit';
11
10
  import { errorIconContainerStyles, readViewForTextFieldStyles } from './internal/styles';
12
11
 
@@ -34,7 +33,7 @@ const InlineEditableTextfield = props => {
34
33
  css: errorIconContainerStyles
35
34
  }, jsx(ErrorIcon, {
36
35
  label: "error",
37
- primaryColor: token('color.iconBorder.danger', R400)
36
+ primaryColor: `var(--ds-iconBorder-danger, ${R400})`
38
37
  })),
39
38
  testId: testId,
40
39
  isCompact: isCompact,
@@ -1,11 +1,10 @@
1
1
  import { B100, DN50A, DN60A, N0, N30, N50A, N60A } from '@atlaskit/theme/colors';
2
2
  import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';
3
- import { token } from '@atlaskit/tokens';
4
3
  const spacingUnit = gridSize();
5
4
  const fontSizeUnit = fontSize();
6
5
  const elevations = {
7
- light: token('shadow.overlay', `0 4px 8px -2px ${N50A}, 0 0 1px ${N60A}`),
8
- dark: token('shadow.overlay', `0 4px 8px -2px ${DN50A}, 0 0 1px ${DN60A}`)
6
+ light: `var(--ds-overlay, ${`0 4px 8px -2px ${N50A}, 0 0 1px ${N60A}`})`,
7
+ dark: `var(--ds-overlay, ${`0 4px 8px -2px ${DN50A}, 0 0 1px ${DN60A}`})`
9
8
  };
10
9
  export const buttonsContainerStyles = {
11
10
  display: 'flex',
@@ -17,7 +16,7 @@ export const buttonsContainerStyles = {
17
16
  };
18
17
  export const getButtonWrapperStyles = mode => ({
19
18
  boxShadow: elevations[mode],
20
- backgroundColor: token('color.background.overlay', N0),
19
+ backgroundColor: `var(--ds-background-overlay, ${N0})`,
21
20
  width: spacingUnit * 4,
22
21
  zIndex: 200,
23
22
  borderRadius: spacingUnit / 2 - 1,
@@ -37,7 +36,7 @@ export const editButtonStyles = {
37
36
  padding: '0',
38
37
  outline: '0',
39
38
  '&:focus + div': {
40
- border: `2px solid ${token('color.border.focus', B100)}`
39
+ border: `2px solid ${`var(--ds-border-focus, ${B100})`}`
41
40
  }
42
41
  };
43
42
  export const errorIconContainerStyles = {
@@ -71,6 +70,6 @@ export const readViewWrapperStyles = {
71
70
  width: '100%'
72
71
  },
73
72
  '&:hover': {
74
- background: token('color.background.transparentNeutral.hover', N30)
73
+ background: `var(--ds-background-transparentNeutral-hover, ${N30})`
75
74
  }
76
75
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/inline-edit",
3
- "version": "12.1.2",
3
+ "version": "12.1.6",
4
4
  "sideEffects": false
5
5
  }
@@ -5,9 +5,9 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
 
6
6
  var _templateObject, _templateObject2;
7
7
 
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
9
 
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
11
 
12
12
  /** @jsx jsx */
13
13
  import React, { useCallback, useRef, useState } from 'react';
@@ -22,7 +22,7 @@ import ReadView from './internal/read-view';
22
22
  var analyticsAttributes = {
23
23
  componentName: 'inlineEdit',
24
24
  packageName: "@atlaskit/inline-edit",
25
- packageVersion: "12.1.2"
25
+ packageVersion: "12.1.6"
26
26
  };
27
27
 
28
28
  var noop = function noop() {};
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["errorMessage", "isInvalid"];
3
4
 
4
5
  /** @jsx jsx */
5
6
  import { jsx } from '@emotion/core';
@@ -7,7 +8,6 @@ import ErrorIcon from '@atlaskit/icon/glyph/error';
7
8
  import InlineDialog from '@atlaskit/inline-dialog';
8
9
  import Textfield from '@atlaskit/textfield';
9
10
  import { R400 } from '@atlaskit/theme/colors';
10
- import { token } from '@atlaskit/tokens';
11
11
  import InlineEdit from './inline-edit';
12
12
  import { errorIconContainerStyles, readViewForTextFieldStyles } from './internal/styles';
13
13
 
@@ -22,7 +22,7 @@ var InlineEditableTextfield = function InlineEditableTextfield(props) {
22
22
  editView: function editView(_ref) {
23
23
  var errorMessage = _ref.errorMessage,
24
24
  isInvalid = _ref.isInvalid,
25
- props = _objectWithoutProperties(_ref, ["errorMessage", "isInvalid"]);
25
+ props = _objectWithoutProperties(_ref, _excluded);
26
26
 
27
27
  return jsx(InlineDialog, {
28
28
  isOpen: isInvalid,
@@ -35,7 +35,7 @@ var InlineEditableTextfield = function InlineEditableTextfield(props) {
35
35
  css: errorIconContainerStyles
36
36
  }, jsx(ErrorIcon, {
37
37
  label: "error",
38
- primaryColor: token('color.iconBorder.danger', R400)
38
+ primaryColor: "var(--ds-iconBorder-danger, ".concat(R400, ")")
39
39
  })),
40
40
  testId: testId,
41
41
  isCompact: isCompact,
@@ -1,11 +1,10 @@
1
1
  import { B100, DN50A, DN60A, N0, N30, N50A, N60A } from '@atlaskit/theme/colors';
2
2
  import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';
3
- import { token } from '@atlaskit/tokens';
4
3
  var spacingUnit = gridSize();
5
4
  var fontSizeUnit = fontSize();
6
5
  var elevations = {
7
- light: token('shadow.overlay', "0 4px 8px -2px ".concat(N50A, ", 0 0 1px ").concat(N60A)),
8
- dark: token('shadow.overlay', "0 4px 8px -2px ".concat(DN50A, ", 0 0 1px ").concat(DN60A))
6
+ light: "var(--ds-overlay, ".concat("0 4px 8px -2px ".concat(N50A, ", 0 0 1px ").concat(N60A), ")"),
7
+ dark: "var(--ds-overlay, ".concat("0 4px 8px -2px ".concat(DN50A, ", 0 0 1px ").concat(DN60A), ")")
9
8
  };
10
9
  export var buttonsContainerStyles = {
11
10
  display: 'flex',
@@ -18,7 +17,7 @@ export var buttonsContainerStyles = {
18
17
  export var getButtonWrapperStyles = function getButtonWrapperStyles(mode) {
19
18
  return {
20
19
  boxShadow: elevations[mode],
21
- backgroundColor: token('color.background.overlay', N0),
20
+ backgroundColor: "var(--ds-background-overlay, ".concat(N0, ")"),
22
21
  width: spacingUnit * 4,
23
22
  zIndex: 200,
24
23
  borderRadius: spacingUnit / 2 - 1,
@@ -39,7 +38,7 @@ export var editButtonStyles = {
39
38
  padding: '0',
40
39
  outline: '0',
41
40
  '&:focus + div': {
42
- border: "2px solid ".concat(token('color.border.focus', B100))
41
+ border: "2px solid ".concat("var(--ds-border-focus, ".concat(B100, ")"))
43
42
  }
44
43
  };
45
44
  export var errorIconContainerStyles = {
@@ -73,6 +72,6 @@ export var readViewWrapperStyles = {
73
72
  width: '100%'
74
73
  },
75
74
  '&:hover': {
76
- background: token('color.background.transparentNeutral.hover', N30)
75
+ background: "var(--ds-background-transparentNeutral-hover, ".concat(N30, ")")
77
76
  }
78
77
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/inline-edit",
3
- "version": "12.1.2",
3
+ "version": "12.1.6",
4
4
  "sideEffects": false
5
5
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { InlineEditProps } from './types';
2
3
  declare const InlineEdit: <FieldValue extends unknown = string>(props: InlineEditProps<FieldValue>) => JSX.Element;
3
4
  export default InlineEdit;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { InlineEditableTextfieldProps } from './types';
2
3
  declare const InlineEditableTextfield: (props: InlineEditableTextfieldProps) => JSX.Element;
3
4
  export default InlineEditableTextfield;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/inline-edit",
3
- "version": "12.1.2",
3
+ "version": "12.1.6",
4
4
  "description": "An inline edit displays a custom input component that switches between reading and editing on the same page.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -17,7 +17,6 @@
17
17
  "homepage": "https://atlassian.design/components/inline-edit/",
18
18
  "atlassian": {
19
19
  "team": "Design System Team",
20
- "inPublicMirror": true,
21
20
  "releaseModel": "scheduled",
22
21
  "website": {
23
22
  "name": "Inline edit"
@@ -28,11 +27,11 @@
28
27
  "@atlaskit/button": "^16.1.0",
29
28
  "@atlaskit/codemod-utils": "^3.4.0",
30
29
  "@atlaskit/form": "^8.4.0",
31
- "@atlaskit/icon": "^21.9.0",
32
- "@atlaskit/inline-dialog": "^13.1.0",
30
+ "@atlaskit/icon": "^21.10.0",
31
+ "@atlaskit/inline-dialog": "^13.2.0",
33
32
  "@atlaskit/textfield": "^5.1.0",
34
- "@atlaskit/theme": "^12.0.0",
35
- "@atlaskit/tokens": "^0.2.0",
33
+ "@atlaskit/theme": "^12.1.0",
34
+ "@atlaskit/tokens": "^0.5.0",
36
35
  "@babel/runtime": "^7.0.0",
37
36
  "@emotion/core": "^10.0.9"
38
37
  },
@@ -40,9 +39,7 @@
40
39
  "react": "^16.8.0"
41
40
  },
42
41
  "devDependencies": {
43
- "@atlaskit/build-utils": "*",
44
42
  "@atlaskit/docs": "*",
45
- "@atlaskit/inline-dialog": "^13.1.0",
46
43
  "@atlaskit/section-message": "^6.1.0",
47
44
  "@atlaskit/select": "^15.0.0",
48
45
  "@atlaskit/ssr": "*",
@@ -75,7 +72,10 @@
75
72
  "ui-components": "lite-mode",
76
73
  "analytics": "analytics-next",
77
74
  "theming": "tokens",
78
- "deprecation": "no-deprecated-imports"
75
+ "deprecation": "no-deprecated-imports",
76
+ "styling": [
77
+ "emotion"
78
+ ]
79
79
  }
80
80
  },
81
81
  "af:exports": {