@atlaskit/editor-common 103.7.0 → 103.9.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 CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 103.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#138850](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/138850)
8
+ [`6fe99d638a4ca`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6fe99d638a4ca) -
9
+ Prevent media image resizing issue in confluence SSR
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 103.8.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [#141267](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/141267)
20
+ [`105e8bc4d7bd5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/105e8bc4d7bd5) -
21
+ ED-27501 apply user preference across tabs without a refresh
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies
26
+
3
27
  ## 103.7.0
4
28
 
5
29
  ### Minor Changes
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
18
18
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
19
19
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
20
- var packageVersion = "103.7.0";
20
+ var packageVersion = "103.9.0";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // Ignored via go/ees007
@@ -23,7 +23,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
23
23
  * @jsx jsx
24
24
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
25
25
  var packageName = "@atlaskit/editor-common";
26
- var packageVersion = "103.7.0";
26
+ var packageVersion = "103.9.0";
27
27
  var halfFocusRing = 1;
28
28
  var dropOffset = '0, 8';
29
29
  // Ignored via go/ees005
@@ -11,6 +11,7 @@ var _react = _interopRequireDefault(require("react"));
11
11
  var _react2 = require("@emotion/react");
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
15
  var _constants = require("../../media-single/constants");
15
16
  var _utils = require("../../media-single/utils");
16
17
  var _richMediaUtils = require("../../utils/rich-media-utils");
@@ -106,8 +107,11 @@ function MediaSingle(_ref) {
106
107
  fullWidthMode: fullWidthMode,
107
108
  isExtendedResizeExperienceOn: isPixelWidth,
108
109
  isInsideOfInlineExtension: isInsideOfInlineExtension
109
- }),
110
- "data-layout": layout,
110
+ })
111
+ // eslint-disable-next-line react/jsx-props-no-spreading
112
+ }, (0, _platformFeatureFlags.fg)('platform_fix_media_image_resizing') ? {} : {
113
+ 'data-layout': layout
114
+ }, {
111
115
  "data-width": mediaSingleWidth,
112
116
  "data-width-type": (size === null || size === void 0 ? void 0 : size.widthType) || 'percentage',
113
117
  "data-node-type": nodeType
@@ -15,6 +15,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
  var _react2 = require("@emotion/react");
17
17
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
18
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
19
  var _utils = require("../../utils");
19
20
  var _breakout = require("../../utils/breakout");
20
21
  var _excluded = ["children"];
@@ -189,13 +190,18 @@ var MediaSingleDimensionHelper = exports.MediaSingleDimensionHelper = function M
189
190
  var calculatedMaxWidth = roundToClosestEvenPxValue(isExtendedResizeExperienceOn ? "".concat(containerWidth, "px") : calcMaxWidth(layout, containerWidth));
190
191
 
191
192
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
192
- return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t\t/* For nested rich media items, set max-width to 100% */\n\t\ttr &,\n\t\t[data-layout-column] &,\n\t\t[data-node-type='expand'] &,\n\t\t[data-panel-type] &,\n\t\tli & {\n\t\t\tmax-width: 100%;\n\t\t}\n\n\t\twidth: ", ";\n\t\t", "\n\t\tmax-width: ", ";\n\n\t\t", "\n\n\t\t&:not(.is-resizing) {\n\t\t\ttransition: width 100ms ease-in;\n\t\t}\n\n\t\tfloat: ", ";\n\t\tmargin: ", ";\n\n\t\t&[class*='not-resizing'] {\n\t\t\t", "\n\t\t}\n\n\t\t", ";\n\t"])), calculatedWidth, layout === 'full-width' &&
193
+ return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t\t/* For nested rich media items, set max-width to 100% */\n\t\ttr &,\n\t\t[data-layout-column] &,\n\t\t[data-node-type='expand'] &,\n\t\t[data-panel-type] &,\n\t\tli & {\n\t\t\tmax-width: 100%;\n\t\t}\n\n\t\twidth: ", ";\n\t\t", "\n\t\t", "\n\t\t/* If container doesn't exists, it will fallback to this */\n\t\tmax-width: ", ";\n\t\t", "\n\n\t\t&:not(.is-resizing) {\n\t\t\ttransition: width 100ms ease-in;\n\t\t}\n\n\t\tfloat: ", ";\n\t\tmargin: ", ";\n\n\t\t&[class*='not-resizing'] {\n\t\t\t", "\n\t\t}\n\n\t\t", ";\n\t"])), calculatedWidth, layout === 'full-width' &&
193
194
  /* This causes issues for new experience where we don't strip layout attributes
194
195
  when copying top-level node and pasting into a table/layout,
195
196
  because full-width layout will remain, causing node to be edge-to-edge */
196
197
  !isExtendedResizeExperienceOn && (0, _react2.css)({
197
198
  minWidth: '100%'
198
- }), calculatedMaxWidth, isExtendedResizeExperienceOn && "&[class*='is-resizing'] {\n .new-file-experience-wrapper {\n box-shadow: none !important;\n }\n\n ".concat(!isNestedNode && _utils.nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", "\n }"), float(layout), calcMargin(layout), isNestedNode ? /* Make nested node appear responsive when resizing table cell */"max-width: 100%;" : _utils.nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", isImageAligned(layout));
199
+ }), isExtendedResizeExperienceOn && (0, _platformFeatureFlags.fg)('platform_fix_media_image_resizing') ? (0, _react2.css)({
200
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-container-queries
201
+ '@container view-page-content (min-width: 1px)': {
202
+ maxWidth: '100cqw'
203
+ }
204
+ }) : '', calculatedMaxWidth, isExtendedResizeExperienceOn && "&[class*='is-resizing'] {\n .new-file-experience-wrapper {\n box-shadow: none !important;\n }\n\n ".concat(!isNestedNode && _utils.nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", "\n }"), float(layout), calcMargin(layout), isNestedNode ? /* Make nested node appear responsive when resizing table cell */"max-width: 100%;" : _utils.nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", isImageAligned(layout));
199
205
  };
200
206
  var RenderFallbackContainer = function RenderFallbackContainer(_ref2) {
201
207
  var hasFallbackContainer = _ref2.hasFallbackContainer,
@@ -1,7 +1,7 @@
1
1
  import { isFedRamp } from './environment';
2
2
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
3
3
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
4
- const packageVersion = "103.7.0";
4
+ const packageVersion = "103.9.0";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // Ignored via go/ees007
@@ -13,7 +13,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
13
13
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import Layer from '../Layer';
15
15
  const packageName = "@atlaskit/editor-common";
16
- const packageVersion = "103.7.0";
16
+ const packageVersion = "103.9.0";
17
17
  const halfFocusRing = 1;
18
18
  const dropOffset = '0, 8';
19
19
  // Ignored via go/ees005
@@ -9,6 +9,7 @@ import React from 'react';
9
9
  import { jsx } from '@emotion/react';
10
10
  import classnames from 'classnames';
11
11
  import { akEditorMediaResizeHandlerPaddingWide, DEFAULT_EMBED_CARD_WIDTH } from '@atlaskit/editor-shared-styles';
12
+ import { fg } from '@atlaskit/platform-feature-flags';
12
13
  import { MEDIA_SINGLE_GUTTER_SIZE } from '../../media-single/constants';
13
14
  import { getMediaSinglePixelWidth } from '../../media-single/utils';
14
15
  import { shouldAddDefaultWrappedWidth } from '../../utils/rich-media-utils';
@@ -91,8 +92,11 @@ export default function MediaSingle({
91
92
  fullWidthMode,
92
93
  isExtendedResizeExperienceOn: isPixelWidth,
93
94
  isInsideOfInlineExtension
94
- }),
95
- "data-layout": layout,
95
+ })
96
+ // eslint-disable-next-line react/jsx-props-no-spreading
97
+ }, fg('platform_fix_media_image_resizing') ? {} : {
98
+ 'data-layout': layout
99
+ }, {
96
100
  "data-width": mediaSingleWidth,
97
101
  "data-width-type": (size === null || size === void 0 ? void 0 : size.widthType) || 'percentage',
98
102
  "data-node-type": nodeType
@@ -8,6 +8,7 @@ import React from 'react';
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
9
  import { css, jsx } from '@emotion/react';
10
10
  import { akEditorDefaultLayoutWidth, akEditorFullPageMaxWidth, akEditorFullWidthLayoutWidth } from '@atlaskit/editor-shared-styles';
11
+ import { fg } from '@atlaskit/platform-feature-flags';
11
12
  import { nonWrappedLayouts } from '../../utils';
12
13
  import { calcBreakoutWidth, calcWideWidth } from '../../utils/breakout';
13
14
  function float(layout) {
@@ -184,8 +185,14 @@ export const MediaSingleDimensionHelper = ({
184
185
  !isExtendedResizeExperienceOn && css({
185
186
  minWidth: '100%'
186
187
  })}
188
+ ${isExtendedResizeExperienceOn && fg('platform_fix_media_image_resizing') ? css({
189
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-container-queries
190
+ '@container view-page-content (min-width: 1px)': {
191
+ maxWidth: '100cqw'
192
+ }
193
+ }) : ''}
194
+ /* If container doesn't exists, it will fallback to this */
187
195
  max-width: ${calculatedMaxWidth};
188
-
189
196
  ${isExtendedResizeExperienceOn && `&[class*='is-resizing'] {
190
197
  .new-file-experience-wrapper {
191
198
  box-shadow: none !important;
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { isFedRamp } from './environment';
8
8
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
9
9
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
10
- var packageVersion = "103.7.0";
10
+ var packageVersion = "103.9.0";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // Ignored via go/ees007
@@ -20,7 +20,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
20
20
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import Layer from '../Layer';
22
22
  var packageName = "@atlaskit/editor-common";
23
- var packageVersion = "103.7.0";
23
+ var packageVersion = "103.9.0";
24
24
  var halfFocusRing = 1;
25
25
  var dropOffset = '0, 8';
26
26
  // Ignored via go/ees005
@@ -10,6 +10,7 @@ import React from 'react';
10
10
  import { jsx } from '@emotion/react';
11
11
  import classnames from 'classnames';
12
12
  import { akEditorMediaResizeHandlerPaddingWide, DEFAULT_EMBED_CARD_WIDTH } from '@atlaskit/editor-shared-styles';
13
+ import { fg } from '@atlaskit/platform-feature-flags';
13
14
  import { MEDIA_SINGLE_GUTTER_SIZE } from '../../media-single/constants';
14
15
  import { getMediaSinglePixelWidth } from '../../media-single/utils';
15
16
  import { shouldAddDefaultWrappedWidth } from '../../utils/rich-media-utils';
@@ -98,8 +99,11 @@ export default function MediaSingle(_ref) {
98
99
  fullWidthMode: fullWidthMode,
99
100
  isExtendedResizeExperienceOn: isPixelWidth,
100
101
  isInsideOfInlineExtension: isInsideOfInlineExtension
101
- }),
102
- "data-layout": layout,
102
+ })
103
+ // eslint-disable-next-line react/jsx-props-no-spreading
104
+ }, fg('platform_fix_media_image_resizing') ? {} : {
105
+ 'data-layout': layout
106
+ }, {
103
107
  "data-width": mediaSingleWidth,
104
108
  "data-width-type": (size === null || size === void 0 ? void 0 : size.widthType) || 'percentage',
105
109
  "data-node-type": nodeType
@@ -12,6 +12,7 @@ import React from 'react';
12
12
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
13
13
  import { css, jsx } from '@emotion/react';
14
14
  import { akEditorDefaultLayoutWidth, akEditorFullPageMaxWidth, akEditorFullWidthLayoutWidth } from '@atlaskit/editor-shared-styles';
15
+ import { fg } from '@atlaskit/platform-feature-flags';
15
16
  import { nonWrappedLayouts } from '../../utils';
16
17
  import { calcBreakoutWidth, calcWideWidth } from '../../utils/breakout';
17
18
  function float(layout) {
@@ -179,13 +180,18 @@ export var MediaSingleDimensionHelper = function MediaSingleDimensionHelper(_ref
179
180
  var calculatedMaxWidth = roundToClosestEvenPxValue(isExtendedResizeExperienceOn ? "".concat(containerWidth, "px") : calcMaxWidth(layout, containerWidth));
180
181
 
181
182
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
182
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t/* For nested rich media items, set max-width to 100% */\n\t\ttr &,\n\t\t[data-layout-column] &,\n\t\t[data-node-type='expand'] &,\n\t\t[data-panel-type] &,\n\t\tli & {\n\t\t\tmax-width: 100%;\n\t\t}\n\n\t\twidth: ", ";\n\t\t", "\n\t\tmax-width: ", ";\n\n\t\t", "\n\n\t\t&:not(.is-resizing) {\n\t\t\ttransition: width 100ms ease-in;\n\t\t}\n\n\t\tfloat: ", ";\n\t\tmargin: ", ";\n\n\t\t&[class*='not-resizing'] {\n\t\t\t", "\n\t\t}\n\n\t\t", ";\n\t"])), calculatedWidth, layout === 'full-width' &&
183
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t/* For nested rich media items, set max-width to 100% */\n\t\ttr &,\n\t\t[data-layout-column] &,\n\t\t[data-node-type='expand'] &,\n\t\t[data-panel-type] &,\n\t\tli & {\n\t\t\tmax-width: 100%;\n\t\t}\n\n\t\twidth: ", ";\n\t\t", "\n\t\t", "\n\t\t/* If container doesn't exists, it will fallback to this */\n\t\tmax-width: ", ";\n\t\t", "\n\n\t\t&:not(.is-resizing) {\n\t\t\ttransition: width 100ms ease-in;\n\t\t}\n\n\t\tfloat: ", ";\n\t\tmargin: ", ";\n\n\t\t&[class*='not-resizing'] {\n\t\t\t", "\n\t\t}\n\n\t\t", ";\n\t"])), calculatedWidth, layout === 'full-width' &&
183
184
  /* This causes issues for new experience where we don't strip layout attributes
184
185
  when copying top-level node and pasting into a table/layout,
185
186
  because full-width layout will remain, causing node to be edge-to-edge */
186
187
  !isExtendedResizeExperienceOn && css({
187
188
  minWidth: '100%'
188
- }), calculatedMaxWidth, isExtendedResizeExperienceOn && "&[class*='is-resizing'] {\n .new-file-experience-wrapper {\n box-shadow: none !important;\n }\n\n ".concat(!isNestedNode && nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", "\n }"), float(layout), calcMargin(layout), isNestedNode ? /* Make nested node appear responsive when resizing table cell */"max-width: 100%;" : nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", isImageAligned(layout));
189
+ }), isExtendedResizeExperienceOn && fg('platform_fix_media_image_resizing') ? css({
190
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-container-queries
191
+ '@container view-page-content (min-width: 1px)': {
192
+ maxWidth: '100cqw'
193
+ }
194
+ }) : '', calculatedMaxWidth, isExtendedResizeExperienceOn && "&[class*='is-resizing'] {\n .new-file-experience-wrapper {\n box-shadow: none !important;\n }\n\n ".concat(!isNestedNode && nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", "\n }"), float(layout), calcMargin(layout), isNestedNode ? /* Make nested node appear responsive when resizing table cell */"max-width: 100%;" : nonWrappedLayouts.includes(layout) && "margin-left: 50%;\n transform: translateX(-50%);", isImageAligned(layout));
189
195
  };
190
196
  var RenderFallbackContainer = function RenderFallbackContainer(_ref2) {
191
197
  var hasFallbackContainer = _ref2.hasFallbackContainer,
@@ -2,6 +2,11 @@ export type UserPreferences = {
2
2
  toolbarDockingInitialPosition?: 'top' | 'none' | null;
3
3
  };
4
4
  export interface UserPreferencesProvider {
5
+ /**
6
+ * This method fetches the latest user preferences
7
+ * @returns a promise that resolves with the user preferences, or rejects if error occurs
8
+ */
9
+ loadPreferences(): Promise<UserPreferences>;
5
10
  /**
6
11
  * This method updates a user preference
7
12
  * @param key
@@ -2,6 +2,11 @@ export type UserPreferences = {
2
2
  toolbarDockingInitialPosition?: 'top' | 'none' | null;
3
3
  };
4
4
  export interface UserPreferencesProvider {
5
+ /**
6
+ * This method fetches the latest user preferences
7
+ * @returns a promise that resolves with the user preferences, or rejects if error occurs
8
+ */
9
+ loadPreferences(): Promise<UserPreferences>;
5
10
  /**
6
11
  * This method updates a user preference
7
12
  * @param key
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "103.7.0",
3
+ "version": "103.9.0",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -137,10 +137,10 @@
137
137
  "@atlaskit/editor-tables": "^2.9.0",
138
138
  "@atlaskit/emoji": "^69.0.0",
139
139
  "@atlaskit/icon": "^25.6.0",
140
- "@atlaskit/icon-object": "^7.0.0",
140
+ "@atlaskit/icon-object": "^7.1.0",
141
141
  "@atlaskit/link-datasource": "^4.3.0",
142
142
  "@atlaskit/link-picker": "^3.2.0",
143
- "@atlaskit/media-card": "^79.0.0",
143
+ "@atlaskit/media-card": "^79.2.0",
144
144
  "@atlaskit/media-client": "^32.0.0",
145
145
  "@atlaskit/media-client-react": "^4.0.0",
146
146
  "@atlaskit/media-common": "^12.0.0",
@@ -156,13 +156,13 @@
156
156
  "@atlaskit/primitives": "^14.4.0",
157
157
  "@atlaskit/profilecard": "^23.7.0",
158
158
  "@atlaskit/section-message": "^8.2.0",
159
- "@atlaskit/smart-card": "^36.6.0",
159
+ "@atlaskit/smart-card": "^36.8.0",
160
160
  "@atlaskit/smart-user-picker": "^8.0.0",
161
161
  "@atlaskit/spinner": "^18.0.0",
162
162
  "@atlaskit/task-decision": "^19.1.0",
163
163
  "@atlaskit/textfield": "^8.0.0",
164
- "@atlaskit/tmp-editor-statsig": "^4.8.0",
165
- "@atlaskit/tokens": "^4.7.0",
164
+ "@atlaskit/tmp-editor-statsig": "^4.11.0",
165
+ "@atlaskit/tokens": "^4.8.0",
166
166
  "@atlaskit/tooltip": "^20.0.0",
167
167
  "@atlaskit/width-detector": "^5.0.0",
168
168
  "@babel/runtime": "^7.0.0",
@@ -334,6 +334,9 @@
334
334
  },
335
335
  "platform_editor_lcm_nested_panel_icon_fix": {
336
336
  "type": "boolean"
337
+ },
338
+ "platform_fix_media_image_resizing": {
339
+ "type": "boolean"
337
340
  }
338
341
  }
339
342
  }