@deephaven/golden-layout 0.43.0 → 0.44.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/css/goldenlayout-base.css +1 -1
- package/css/goldenlayout-base.css.map +1 -1
- package/css/goldenlayout-dark-theme.css +1 -1
- package/css/goldenlayout-dark-theme.css.map +1 -1
- package/dist/GoldenLayout.module.css +1 -0
- package/dist/GoldenLayout.module.css.map +1 -0
- package/dist/GoldenLayoutThemeExport.js +6 -0
- package/dist/GoldenLayoutThemeExport.js.map +1 -0
- package/dist/LayoutManager.js +1001 -0
- package/dist/LayoutManager.js.map +1 -0
- package/dist/base.js +16 -0
- package/dist/base.js.map +1 -0
- package/dist/config/Config.js +42 -0
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ItemConfig.js +14 -0
- package/dist/config/ItemConfig.js.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/container/ItemContainer.js +199 -0
- package/dist/container/ItemContainer.js.map +1 -0
- package/dist/container/index.js +3 -0
- package/dist/container/index.js.map +1 -0
- package/dist/controls/BrowserPopout.js +250 -0
- package/dist/controls/BrowserPopout.js.map +1 -0
- package/dist/controls/DragProxy.js +204 -0
- package/dist/controls/DragProxy.js.map +1 -0
- package/dist/controls/DragSource.js +52 -0
- package/dist/controls/DragSource.js.map +1 -0
- package/dist/controls/DragSourceFromEvent.js +71 -0
- package/dist/controls/DragSourceFromEvent.js.map +1 -0
- package/dist/controls/DropTargetIndicator.js +27 -0
- package/dist/controls/DropTargetIndicator.js.map +1 -0
- package/dist/controls/Header.js +736 -0
- package/dist/controls/Header.js.map +1 -0
- package/dist/controls/HeaderButton.js +22 -0
- package/dist/controls/HeaderButton.js.map +1 -0
- package/dist/controls/Splitter.js +49 -0
- package/dist/controls/Splitter.js.map +1 -0
- package/dist/controls/Tab.js +225 -0
- package/dist/controls/Tab.js.map +1 -0
- package/dist/controls/index.js +10 -0
- package/dist/controls/index.js.map +1 -0
- package/dist/declaration.d.js +2 -0
- package/dist/declaration.d.js.map +1 -0
- package/dist/errors/ConfigurationError.js +14 -0
- package/dist/errors/ConfigurationError.js.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/items/AbstractContentItem.js +565 -0
- package/dist/items/AbstractContentItem.js.map +1 -0
- package/dist/items/Component.js +80 -0
- package/dist/items/Component.js.map +1 -0
- package/dist/items/Root.js +100 -0
- package/dist/items/Root.js.map +1 -0
- package/dist/items/RowOrColumn.js +488 -0
- package/dist/items/RowOrColumn.js.map +1 -0
- package/dist/items/Stack.js +479 -0
- package/dist/items/Stack.js.map +1 -0
- package/dist/items/index.js +8 -0
- package/dist/items/index.js.map +1 -0
- package/dist/utils/BubblingEvent.js +17 -0
- package/dist/utils/BubblingEvent.js.map +1 -0
- package/dist/utils/ConfigMinifier.js +147 -0
- package/dist/utils/ConfigMinifier.js.map +1 -0
- package/dist/utils/DragListener.js +125 -0
- package/dist/utils/DragListener.js.map +1 -0
- package/dist/utils/EventEmitter.js +117 -0
- package/dist/utils/EventEmitter.js.map +1 -0
- package/dist/utils/EventHub.js +108 -0
- package/dist/utils/EventHub.js.map +1 -0
- package/dist/utils/ReactComponentHandler.js +136 -0
- package/dist/utils/ReactComponentHandler.js.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/utils.js +65 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import $ from 'jquery';
|
|
5
|
+
import AbstractContentItem from "./AbstractContentItem.js";
|
|
6
|
+
import { ConfigurationError } from "../errors/index.js";
|
|
7
|
+
import ItemContainer from "../container/ItemContainer.js";
|
|
8
|
+
/**
|
|
9
|
+
* @param layoutManager
|
|
10
|
+
* @param config
|
|
11
|
+
* @param parent
|
|
12
|
+
*/
|
|
13
|
+
export default class Component extends AbstractContentItem {
|
|
14
|
+
constructor(layoutManager, config, parent) {
|
|
15
|
+
super(layoutManager, config, parent, $());
|
|
16
|
+
_defineProperty(this, "config", void 0);
|
|
17
|
+
_defineProperty(this, "componentName", void 0);
|
|
18
|
+
_defineProperty(this, "container", void 0);
|
|
19
|
+
_defineProperty(this, "parent", void 0);
|
|
20
|
+
_defineProperty(this, "instance", void 0);
|
|
21
|
+
this.config = config;
|
|
22
|
+
this.parent = parent;
|
|
23
|
+
var ComponentConstructor = layoutManager.getComponent(this.config.componentName) || layoutManager.getFallbackComponent(),
|
|
24
|
+
componentConfig = $.extend(true, {}, this.config.componentState || {});
|
|
25
|
+
if (ComponentConstructor == null) {
|
|
26
|
+
throw new ConfigurationError('Unknown component "' + this.config.componentName + '"');
|
|
27
|
+
}
|
|
28
|
+
componentConfig.componentName = this.config.componentName;
|
|
29
|
+
this.componentName = this.config.componentName;
|
|
30
|
+
if (this.config.title === '') {
|
|
31
|
+
this.config.title = this.config.componentName;
|
|
32
|
+
}
|
|
33
|
+
this.isComponent = true;
|
|
34
|
+
this.container = new ItemContainer(this.config, this, layoutManager);
|
|
35
|
+
this.instance = new ComponentConstructor(this.container, componentConfig);
|
|
36
|
+
this.element = this.container._element;
|
|
37
|
+
}
|
|
38
|
+
close() {
|
|
39
|
+
this.parent.removeChild(this);
|
|
40
|
+
}
|
|
41
|
+
setSize() {
|
|
42
|
+
if (this.element.is(':visible')) {
|
|
43
|
+
// Do not update size of hidden components to prevent unwanted reflows
|
|
44
|
+
this.container._$setSize(this.element.width(), this.element.height());
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_$init() {
|
|
48
|
+
AbstractContentItem.prototype._$init.call(this);
|
|
49
|
+
this.container.emit('open');
|
|
50
|
+
}
|
|
51
|
+
_$hide() {
|
|
52
|
+
this.container.hide();
|
|
53
|
+
AbstractContentItem.prototype._$hide.call(this);
|
|
54
|
+
}
|
|
55
|
+
_$show() {
|
|
56
|
+
this.container.show();
|
|
57
|
+
if (this.container._config.isFocusOnShow) {
|
|
58
|
+
// focus the shown container element on show
|
|
59
|
+
// preventScroll isn't supported in safari, but also doesn't matter for illumon when 100% window
|
|
60
|
+
this.container._contentElement[0].focus({
|
|
61
|
+
preventScroll: true
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
AbstractContentItem.prototype._$show.call(this);
|
|
65
|
+
}
|
|
66
|
+
_$destroy() {
|
|
67
|
+
this.container.emit('destroy', this);
|
|
68
|
+
AbstractContentItem.prototype._$destroy.call(this);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Dragging onto a component directly is not an option
|
|
73
|
+
*
|
|
74
|
+
* @returns null
|
|
75
|
+
*/
|
|
76
|
+
_$getArea() {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","names":["$","AbstractContentItem","ConfigurationError","ItemContainer","Component","constructor","layoutManager","config","parent","ComponentConstructor","getComponent","componentName","getFallbackComponent","componentConfig","extend","componentState","title","isComponent","container","instance","element","_element","close","removeChild","setSize","is","_$setSize","width","height","_$init","prototype","call","emit","_$hide","hide","_$show","show","_config","isFocusOnShow","_contentElement","focus","preventScroll","_$destroy","_$getArea"],"sources":["../../src/items/Component.ts"],"sourcesContent":["import $ from 'jquery';\nimport AbstractContentItem from './AbstractContentItem';\nimport { ConfigurationError } from '../errors';\nimport type LayoutManager from '../LayoutManager';\nimport type { ComponentConfig } from '../config/ItemConfig';\nimport ItemContainer from '../container/ItemContainer';\nimport type { ComponentConstructor } from '../LayoutManager';\n\n/**\n * @param layoutManager\n * @param config\n * @param parent\n */\nexport default class Component extends AbstractContentItem {\n config: ComponentConfig;\n\n componentName: string;\n\n container: ItemContainer;\n\n parent: AbstractContentItem;\n\n instance: unknown;\n\n constructor(\n layoutManager: LayoutManager,\n config: ComponentConfig,\n parent: AbstractContentItem\n ) {\n super(layoutManager, config, parent, $());\n this.config = config;\n this.parent = parent;\n\n const ComponentConstructor =\n (layoutManager.getComponent(\n this.config.componentName\n ) as ComponentConstructor) || layoutManager.getFallbackComponent(),\n componentConfig = $.extend(true, {}, this.config.componentState || {});\n\n if (ComponentConstructor == null) {\n throw new ConfigurationError(\n 'Unknown component \"' + this.config.componentName + '\"'\n );\n }\n componentConfig.componentName = this.config.componentName;\n this.componentName = this.config.componentName;\n\n if (this.config.title === '') {\n this.config.title = this.config.componentName;\n }\n\n this.isComponent = true;\n this.container = new ItemContainer(this.config, this, layoutManager);\n this.instance = new ComponentConstructor(this.container, componentConfig);\n this.element = this.container._element;\n }\n\n close() {\n this.parent.removeChild(this);\n }\n\n setSize() {\n if (this.element.is(':visible')) {\n // Do not update size of hidden components to prevent unwanted reflows\n this.container._$setSize(this.element.width(), this.element.height());\n }\n }\n\n _$init() {\n AbstractContentItem.prototype._$init.call(this);\n this.container.emit('open');\n }\n\n _$hide() {\n this.container.hide();\n AbstractContentItem.prototype._$hide.call(this);\n }\n\n _$show() {\n this.container.show();\n if (this.container._config.isFocusOnShow) {\n // focus the shown container element on show\n // preventScroll isn't supported in safari, but also doesn't matter for illumon when 100% window\n this.container._contentElement[0].focus({ preventScroll: true });\n }\n AbstractContentItem.prototype._$show.call(this);\n }\n\n _$destroy() {\n this.container.emit('destroy', this);\n AbstractContentItem.prototype._$destroy.call(this);\n }\n\n /**\n * Dragging onto a component directly is not an option\n *\n * @returns null\n */\n _$getArea() {\n return null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
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; }
|
|
2
|
+
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; }
|
|
3
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
+
import $ from 'jquery';
|
|
7
|
+
import AbstractContentItem, { isComponent } from "./AbstractContentItem.js";
|
|
8
|
+
import RowOrColumn from "./RowOrColumn.js";
|
|
9
|
+
export default class Root extends AbstractContentItem {
|
|
10
|
+
constructor(layoutManager, config, containerElement) {
|
|
11
|
+
super(layoutManager, _objectSpread(_objectSpread({}, config), {}, {
|
|
12
|
+
type: 'root'
|
|
13
|
+
}), null, $('<div class="lm_goldenlayout lm_item lm_root"></div>'));
|
|
14
|
+
_defineProperty(this, "childElementContainer", void 0);
|
|
15
|
+
_defineProperty(this, "_containerElement", void 0);
|
|
16
|
+
this.isRoot = true;
|
|
17
|
+
this.type = 'root';
|
|
18
|
+
this.childElementContainer = this.element;
|
|
19
|
+
this._containerElement = containerElement;
|
|
20
|
+
this._containerElement.append(this.element);
|
|
21
|
+
}
|
|
22
|
+
addChild(contentItem, index) {
|
|
23
|
+
if (this.contentItems.length > 0) {
|
|
24
|
+
throw new Error('Root node can only have a single child');
|
|
25
|
+
}
|
|
26
|
+
contentItem = this.layoutManager._$normalizeContentItem(contentItem, this);
|
|
27
|
+
this.childElementContainer.append(contentItem.element);
|
|
28
|
+
super.addChild(contentItem, index);
|
|
29
|
+
this.callDownwards('setSize');
|
|
30
|
+
this.emitBubblingEvent('stateChanged');
|
|
31
|
+
}
|
|
32
|
+
setSize(width, height) {
|
|
33
|
+
var _this$_containerEleme, _this$_containerEleme2;
|
|
34
|
+
width = typeof width === 'undefined' ? (_this$_containerEleme = this._containerElement.width()) !== null && _this$_containerEleme !== void 0 ? _this$_containerEleme : 0 : width;
|
|
35
|
+
height = typeof height === 'undefined' ? (_this$_containerEleme2 = this._containerElement.height()) !== null && _this$_containerEleme2 !== void 0 ? _this$_containerEleme2 : 0 : height;
|
|
36
|
+
this.element.width(width);
|
|
37
|
+
this.element.height(height);
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* Root can be empty
|
|
41
|
+
*/
|
|
42
|
+
if (this.contentItems[0]) {
|
|
43
|
+
this.contentItems[0].element.width(width);
|
|
44
|
+
this.contentItems[0].element.height(height);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_$getArea() {
|
|
48
|
+
var area = super._$getArea();
|
|
49
|
+
if (area == null) {
|
|
50
|
+
throw new Error('Unable to get root area');
|
|
51
|
+
}
|
|
52
|
+
return area;
|
|
53
|
+
}
|
|
54
|
+
_$highlightDropZone(x, y, area) {
|
|
55
|
+
this.layoutManager.tabDropPlaceholder.remove();
|
|
56
|
+
super._$highlightDropZone(x, y, area);
|
|
57
|
+
}
|
|
58
|
+
_$onDrop(contentItem, area) {
|
|
59
|
+
var stack;
|
|
60
|
+
if (isComponent(contentItem)) {
|
|
61
|
+
stack = this.layoutManager.createContentItem({
|
|
62
|
+
type: 'stack',
|
|
63
|
+
header: contentItem.config.header || {}
|
|
64
|
+
}, this);
|
|
65
|
+
stack._$init();
|
|
66
|
+
stack.addChild(contentItem);
|
|
67
|
+
contentItem = stack;
|
|
68
|
+
}
|
|
69
|
+
if (!this.contentItems.length) {
|
|
70
|
+
this.addChild(contentItem);
|
|
71
|
+
} else {
|
|
72
|
+
var {
|
|
73
|
+
side
|
|
74
|
+
} = area;
|
|
75
|
+
var type = side === 'left' || side === 'right' ? 'row' : 'column'; // Should new root be a row or column
|
|
76
|
+
var dimension = side === 'left' || side === 'right' ? 'width' : 'height';
|
|
77
|
+
var insertBefore = side === 'left' || side === 'top';
|
|
78
|
+
var column = this.contentItems[0];
|
|
79
|
+
if (!(column instanceof RowOrColumn) || column.type != type) {
|
|
80
|
+
var rowOrColumn = this.layoutManager.createContentItem({
|
|
81
|
+
type: type
|
|
82
|
+
}, this);
|
|
83
|
+
this.replaceChild(column, rowOrColumn);
|
|
84
|
+
rowOrColumn.addChild(contentItem, insertBefore ? 0 : undefined, true);
|
|
85
|
+
rowOrColumn.addChild(column, insertBefore ? undefined : 0, true);
|
|
86
|
+
column.config[dimension] = 50;
|
|
87
|
+
contentItem.config[dimension] = 50;
|
|
88
|
+
rowOrColumn.callDownwards('setSize');
|
|
89
|
+
} else {
|
|
90
|
+
var _sibling$config$dimen;
|
|
91
|
+
var sibling = column.contentItems[insertBefore ? 0 : column.contentItems.length - 1];
|
|
92
|
+
column.addChild(contentItem, insertBefore ? 0 : undefined, true);
|
|
93
|
+
sibling.config[dimension] = ((_sibling$config$dimen = sibling.config[dimension]) !== null && _sibling$config$dimen !== void 0 ? _sibling$config$dimen : 0) * 0.5;
|
|
94
|
+
contentItem.config[dimension] = sibling.config[dimension];
|
|
95
|
+
column.callDownwards('setSize');
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=Root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Root.js","names":["$","AbstractContentItem","isComponent","RowOrColumn","Root","constructor","layoutManager","config","containerElement","type","isRoot","childElementContainer","element","_containerElement","append","addChild","contentItem","index","contentItems","length","Error","_$normalizeContentItem","callDownwards","emitBubblingEvent","setSize","width","height","_$getArea","area","_$highlightDropZone","x","y","tabDropPlaceholder","remove","_$onDrop","stack","createContentItem","header","_$init","side","dimension","insertBefore","column","rowOrColumn","replaceChild","undefined","sibling"],"sources":["../../src/items/Root.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { ComponentConfig, ItemConfigType, ItemConfig } from '../config';\nimport LayoutManager from '../LayoutManager';\nimport AbstractContentItem, {\n isComponent,\n ItemArea,\n} from './AbstractContentItem';\nimport RowOrColumn from './RowOrColumn';\n\nexport default class Root extends AbstractContentItem {\n childElementContainer: JQuery<HTMLElement>;\n\n private _containerElement: JQuery<HTMLElement>;\n\n constructor(\n layoutManager: LayoutManager,\n config: ComponentConfig | { content: ItemConfigType[] },\n containerElement: JQuery<HTMLElement>\n ) {\n super(\n layoutManager,\n { ...config, type: 'root' },\n null,\n $('<div class=\"lm_goldenlayout lm_item lm_root\"></div>')\n );\n this.isRoot = true;\n this.type = 'root';\n this.childElementContainer = this.element;\n this._containerElement = containerElement;\n this._containerElement.append(this.element);\n }\n\n addChild(\n contentItem:\n | AbstractContentItem\n | ItemConfigType\n | { type: ItemConfig['type'] },\n index?: number\n ) {\n if (this.contentItems.length > 0) {\n throw new Error('Root node can only have a single child');\n }\n\n contentItem = this.layoutManager._$normalizeContentItem(contentItem, this);\n this.childElementContainer.append(contentItem.element);\n super.addChild(contentItem, index);\n\n this.callDownwards('setSize');\n this.emitBubblingEvent('stateChanged');\n }\n\n setSize(width?: number, height?: number) {\n width =\n typeof width === 'undefined'\n ? this._containerElement.width() ?? 0\n : width;\n height =\n typeof height === 'undefined'\n ? this._containerElement.height() ?? 0\n : height;\n\n this.element.width(width);\n this.element.height(height);\n\n /*\n * Root can be empty\n */\n if (this.contentItems[0]) {\n this.contentItems[0].element.width(width);\n this.contentItems[0].element.height(height);\n }\n }\n\n _$getArea() {\n const area = super._$getArea();\n if (area == null) {\n throw new Error('Unable to get root area');\n }\n return area;\n }\n\n _$highlightDropZone(x: number, y: number, area: ItemArea) {\n this.layoutManager.tabDropPlaceholder.remove();\n super._$highlightDropZone(x, y, area);\n }\n\n _$onDrop(contentItem: AbstractContentItem, area: ItemArea) {\n var stack;\n\n if (isComponent(contentItem)) {\n stack = this.layoutManager.createContentItem(\n {\n type: 'stack',\n header: contentItem.config.header || {},\n },\n this\n );\n stack._$init();\n stack.addChild(contentItem);\n contentItem = stack;\n }\n\n if (!this.contentItems.length) {\n this.addChild(contentItem);\n } else {\n const { side } = area;\n const type = side === 'left' || side === 'right' ? 'row' : 'column'; // Should new root be a row or column\n const dimension =\n side === 'left' || side === 'right' ? 'width' : 'height';\n const insertBefore = side === 'left' || side === 'top';\n const column = this.contentItems[0];\n if (!(column instanceof RowOrColumn) || column.type != type) {\n const rowOrColumn = this.layoutManager.createContentItem(\n { type: type },\n this\n ) as RowOrColumn;\n this.replaceChild(column, rowOrColumn);\n rowOrColumn.addChild(contentItem, insertBefore ? 0 : undefined, true);\n rowOrColumn.addChild(column, insertBefore ? undefined : 0, true);\n column.config[dimension] = 50;\n contentItem.config[dimension] = 50;\n rowOrColumn.callDownwards('setSize');\n } else {\n const sibling =\n column.contentItems[\n insertBefore ? 0 : column.contentItems.length - 1\n ];\n column.addChild(contentItem, insertBefore ? 0 : undefined, true);\n sibling.config[dimension] = (sibling.config[dimension] ?? 0) * 0.5;\n contentItem.config[dimension] = sibling.config[dimension];\n column.callDownwards('setSize');\n }\n }\n }\n}\n"],"mappings":"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"}
|