@genesislcap/foundation-layout 14.231.1-alpha-e01af29.0 → 14.231.1-alpha-e92fa0b.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.
@@ -139,47 +139,87 @@
139
139
  },
140
140
  {
141
141
  "kind": "javascript-module",
142
- "path": "src/main/index.ts",
143
- "declarations": [],
142
+ "path": "src/styles/constants.ts",
143
+ "declarations": [
144
+ {
145
+ "kind": "variable",
146
+ "name": "glVisualConfig",
147
+ "type": {
148
+ "text": "Omit<LayoutConfig, 'root'>"
149
+ },
150
+ "default": "{\n dimensions: {\n headerHeight: 38,\n borderWidth: 12,\n },\n header: {\n maximise: 'maximise',\n minimise: 'minimise',\n popout: false,\n },\n}"
151
+ },
152
+ {
153
+ "kind": "variable",
154
+ "name": "LAYOUT_ICONS",
155
+ "type": {
156
+ "text": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}"
157
+ },
158
+ "default": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}",
159
+ "description": "A collection of SVG icons in base64 format.",
160
+ "privacy": "public"
161
+ }
162
+ ],
144
163
  "exports": [
145
164
  {
146
165
  "kind": "js",
147
- "name": "FoundationLayoutItem",
166
+ "name": "glVisualConfig",
148
167
  "declaration": {
149
- "name": "FoundationLayoutItem",
150
- "module": "./layout-item"
168
+ "name": "glVisualConfig",
169
+ "module": "src/styles/constants.ts"
151
170
  }
152
171
  },
153
172
  {
154
173
  "kind": "js",
155
- "name": "FoundationLayoutRegion",
174
+ "name": "LAYOUT_ICONS",
156
175
  "declaration": {
157
- "name": "FoundationLayoutRegion",
158
- "module": "./layout-region"
176
+ "name": "LAYOUT_ICONS",
177
+ "module": "src/styles/constants.ts"
159
178
  }
160
- },
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "kind": "javascript-module",
184
+ "path": "src/styles/dragging.styles.ts",
185
+ "declarations": [
186
+ {
187
+ "kind": "variable",
188
+ "name": "globalDraggingStyles",
189
+ "default": "`\n .lm_dragProxy .lm_content {\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);\n }\n .lm_dropTargetIndicator {\n box-shadow: inset 0 0 30px #000000;\n outline: 1px dashed #cccccc;\n transition: all 200ms ease;\n }\n .lm_dropTargetIndicator .lm_inner {\n background: var(${neutralFillStealthRest.cssCustomProperty});\n opacity: 0.2;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_dragProxy {\n cursor: move;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_title {\n color: white;\n padding-left: 10px;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n`",
190
+ "description": "This is defined as a string rather than a css template\nbecause it is applied to a CSSStyleSheet object rather than\nused as a FAST template"
191
+ }
192
+ ],
193
+ "exports": [
161
194
  {
162
195
  "kind": "js",
163
- "name": "FoundationLayout",
196
+ "name": "globalDraggingStyles",
164
197
  "declaration": {
165
- "name": "FoundationLayout",
166
- "module": "./layout-main"
198
+ "name": "globalDraggingStyles",
199
+ "module": "src/styles/dragging.styles.ts"
167
200
  }
168
- },
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "kind": "javascript-module",
206
+ "path": "src/styles/index.ts",
207
+ "declarations": [],
208
+ "exports": [
169
209
  {
170
210
  "kind": "js",
171
- "name": "layoutStyles",
211
+ "name": "*",
172
212
  "declaration": {
173
- "name": "layoutStyles",
174
- "module": "./layout-main"
213
+ "name": "*",
214
+ "package": "./constants"
175
215
  }
176
216
  },
177
217
  {
178
218
  "kind": "js",
179
- "name": "layoutTemplate",
219
+ "name": "*",
180
220
  "declaration": {
181
- "name": "layoutTemplate",
182
- "module": "./layout-main"
221
+ "name": "*",
222
+ "package": "./dragging.styles"
183
223
  }
184
224
  },
185
225
  {
@@ -187,1320 +227,1296 @@
187
227
  "name": "*",
188
228
  "declaration": {
189
229
  "name": "*",
190
- "package": "./layout-components"
230
+ "package": "./layout.styles"
191
231
  }
192
232
  }
193
233
  ]
194
234
  },
195
235
  {
196
236
  "kind": "javascript-module",
197
- "path": "src/main/layout-components.ts",
237
+ "path": "src/styles/layout.styles.ts",
198
238
  "declarations": [
199
239
  {
200
240
  "kind": "variable",
201
- "name": "foundationLayoutComponents",
241
+ "name": "layoutStyles",
242
+ "default": "css`\n ${containerStyles}\n ${loadingSpinnerStyles}\n\n .lm_goldenlayout {\n padding: 1px;\n background: ${neutralLayer1};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n\n .lm_stack.lm_item {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n .lm_maximised .lm_header {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n position: unset;\n }\n\n .lm_maximised .lm_header .lm_tabs {\n z-index: 3;\n }\n\n .lm_content {\n background-color: ${neutralLayer3};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n border: 1px solid;\n border-color: #2e3339;\n box-sizing: border-box;\n }\n\n .lm-header {\n z-index: 1;\n }\n .lm_header .lm_tabs {\n padding: 0 16px;\n }\n\n .lm_stack > .lm_items {\n z-index: 2;\n box-shadow: 0px -1px 15px rgba(0, 0, 0, 0.35);\n }\n\n .lm_header .lm_tab.lm_active.lm_focused {\n background-color: ${neutralLayer3};\n }\n .lm_header .lm_tab.lm_active {\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-bottom: 0;\n color: ${accentFillRest};\n }\n\n .lm_header .lm_tab {\n align-items: center;\n background-color: ${neutralLayer4};\n border: 1px solid;\n border-bottom-color: #2e3339;\n border-bottom: 0px solid;\n border-color: rgba(0, 0, 0, 0.35);\n border-radius: calc(${controlCornerRadius} * 1.5px) calc(${controlCornerRadius} * 1.5px) 0 0;\n box-shadow: 1px -1px 2px rgba(0, 0, 0, 0.35);\n color: rgba(255, 255, 255, 0.3);\n display: flex;\n font-family: inherit;\n font-size: 13px;\n font-weight: 700;\n height: 30px;\n margin-right: 2px;\n margin-top: 3px;\n padding: 2px 16px;\n }\n\n .lm_header .lm_tab:not(.lm_active):hover {\n background-color: rgba(255, 255, 255, 0.1);\n color: #f1f1f1;\n }\n\n .lm_header .lm_controls {\n top: 4px;\n display: flex;\n }\n .lm_header .lm_controls > * {\n width: 30px;\n height: 30px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 16px;\n background-color: rgba(255, 255, 255, 0.03);\n border-radius: calc(${controlCornerRadius} * 1.5px);\n margin-right: 4px;\n top: 3px;\n opacity: 1;\n }\n .lm_header .lm_controls > *:hover {\n background-color: rgba(255, 255, 255, 0.1);\n cursor: pointer;\n }\n\n .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.maximiseSVG}');\n }\n .lm_maximised .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.minimiseSVG}');\n }\n .lm_controls .lm_close {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n }\n .lm_header .lm_tab .lm_close_tab {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n background-size: 10px;\n background-repeat: no-repeat;\n margin-left: 12px;\n position: relative;\n top: 0;\n right: 0;\n }\n\n .lm_header .lm_tab.lm_active {\n padding: 4px 25px 3px 10px;\n }\n\n .lm_header .lm_tab:not(.lm_active) .lm_title {\n color: ${accentFillRest};\n opacity: 0.7;\n }\n\n .lm_header .lm_controls .lm_tabdropdown::before {\n content: none;\n }\n .lm_header .lm_controls .lm_tabdropdown {\n background-image: url('${LAYOUT_ICONS.tabDropdownSVG}');\n }\n .lm_header .lm_tabdropdown_list {\n top: 38px;\n right: 108px;\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-radius: calc(${controlCornerRadius} * 1.5px);\n box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);\n }\n .lm_header .lm_tabdropdown_list > .lm_tab {\n box-shadow: none;\n padding: 0 16px;\n white-space: nowrap;\n background-color: transparent;\n color: #c9c9c9;\n height: 36px;\n border-radius: 0;\n overflow: visible;\n text-overflow: normal;\n }\n .lm_header .lm_tabdropdown_list > .lm_tab:last-child {\n border-bottom: 0;\n }\n\n /* gl base styles start */\n .lm_root {\n position: relative;\n }\n .lm_row > .lm_item {\n float: left;\n }\n .lm_content {\n overflow: hidden;\n position: relative;\n }\n .lm_dragging,\n .lm_dragging * {\n cursor: move !important;\n user-select: none;\n }\n .lm_maximised {\n left: 0;\n padding: 1px;\n position: absolute;\n top: 0;\n z-index: 40;\n }\n .lm_maximise_placeholder {\n display: none;\n }\n .lm_splitter {\n position: relative;\n z-index: 20;\n }\n .lm_splitter:hover,\n .lm_splitter.lm_dragging {\n background: ${accentFillRest};\n border-radius: calc(${controlCornerRadius} * 4px);\n }\n .lm_splitter.lm_vertical .lm_drag_handle {\n width: 100%;\n height: 15px;\n position: absolute;\n top: -5px;\n cursor: ns-resize !important;\n }\n .lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n }\n .lm_splitter.lm_horizontal .lm_drag_handle {\n width: 15px;\n height: 100%;\n position: absolute;\n left: -5px;\n cursor: ew-resize !important;\n }\n .lm_header {\n overflow: visible;\n position: relative;\n z-index: 1;\n }\n .lm_header [class^='lm_'] {\n box-sizing: content-box !important;\n }\n .lm_header .lm_controls {\n position: absolute;\n right: 3px;\n }\n .lm_header .lm_controls > li {\n cursor: pointer;\n float: left;\n width: 18px;\n height: 18px;\n text-align: center;\n }\n .lm_header ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n .lm_header .lm_tabs {\n position: absolute;\n }\n .lm_header .lm_tab {\n cursor: pointer;\n float: left;\n margin-top: 1px;\n padding: 3px 25px 3px 10px;\n position: relative;\n }\n .lm_header .lm_tab i {\n width: 2px;\n height: 19px;\n position: absolute;\n }\n .lm_header .lm_tab i.lm_left {\n top: 0;\n left: -2px;\n }\n .lm_header .lm_tab i.lm_right {\n top: 0;\n right: -2px;\n }\n .lm_header .lm_tab .lm_title {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n }\n .lm_header .lm_tab .lm_title:only-child {\n padding-left: 10px;\n }\n .lm_header .lm_tab .lm_close_tab {\n width: 14px;\n height: 14px;\n position: absolute;\n top: 11px;\n right: 0;\n text-align: center;\n }\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n height: 100%;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header,\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_left .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items,\n .lm_stack.lm_left .lm_items,\n .lm_stack.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab,\n .lm_stack.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab,\n .lm_stack.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_drop_tab_placeholder {\n float: left;\n width: 100px;\n height: 10px;\n visibility: hidden;\n }\n .lm_header .lm_tabdropdown_list {\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 5;\n overflow: hidden;\n }\n .lm_header .lm_tabdropdown_list .lm_tab {\n clear: both;\n padding-right: 10px;\n margin: 0;\n }\n .lm_header .lm_tabdropdown_list .lm_tab .lm_title {\n width: 100px;\n }\n .lm_header .lm_tabdropdown_list .lm_close_tab {\n display: none !important;\n }\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n .lm_popin {\n width: 20px;\n height: 20px;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n .lm_popin > * {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n }\n .lm_popin > .lm_bg {\n z-index: 10;\n }\n .lm_popin > .lm_icon {\n z-index: 20;\n } /*# sourceMappingURL=goldenlayout-base.css.map */\n`",
243
+ "description": "`ElementStyles` which defines the css for FoundationLayout.",
244
+ "privacy": "public"
245
+ }
246
+ ],
247
+ "exports": [
248
+ {
249
+ "kind": "js",
250
+ "name": "layoutStyles",
251
+ "declaration": {
252
+ "name": "layoutStyles",
253
+ "module": "src/styles/layout.styles.ts"
254
+ }
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ "kind": "javascript-module",
260
+ "path": "src/utils/constants.ts",
261
+ "declarations": [
262
+ {
263
+ "kind": "variable",
264
+ "name": "DEFAULT_RELOAD_BUFFER",
202
265
  "type": {
203
- "text": "object"
266
+ "text": "number"
204
267
  },
205
- "default": "{\n foundationLayout,\n foundationLayoutRegion,\n foundationLayoutItem,\n register(container?: Container, ...rest: any[]) {\n if (!container) {\n // preserve backward compatibility with code that loops through\n // the values of this object and calls them as funcs with no args\n return;\n }\n for (const key in this) {\n if (key === 'register') {\n continue;\n }\n this[key]().register(container, ...rest);\n }\n },\n}",
206
- "description": "Registration object to register the layout with your design system.",
268
+ "default": "500",
269
+ "description": "Default time in milliseconds for the layout to buffer calls to reloading\nthe layout while the declarative API is loading.\n\nDuring the first load of the layout, a loading spinner will be shown.",
207
270
  "privacy": "public"
271
+ },
272
+ {
273
+ "kind": "variable",
274
+ "name": "LAYOUT_POPOUT_CONTAINER_CLASS",
275
+ "type": {
276
+ "text": "string"
277
+ },
278
+ "default": "'f-layout-popout'",
279
+ "description": "Put this classname on an element which is a DOM parent of the layout, and\nif the layout goes into popout mode then it will place itself as the only child\nfor the popout container you set."
208
280
  }
209
281
  ],
210
282
  "exports": [
211
283
  {
212
284
  "kind": "js",
213
- "name": "foundationLayoutComponents",
285
+ "name": "DEFAULT_RELOAD_BUFFER",
214
286
  "declaration": {
215
- "name": "foundationLayoutComponents",
216
- "module": "src/main/layout-components.ts"
287
+ "name": "DEFAULT_RELOAD_BUFFER",
288
+ "module": "src/utils/constants.ts"
289
+ }
290
+ },
291
+ {
292
+ "kind": "js",
293
+ "name": "LAYOUT_POPOUT_CONTAINER_CLASS",
294
+ "declaration": {
295
+ "name": "LAYOUT_POPOUT_CONTAINER_CLASS",
296
+ "module": "src/utils/constants.ts"
217
297
  }
218
298
  }
219
299
  ]
220
300
  },
221
301
  {
222
302
  "kind": "javascript-module",
223
- "path": "src/main/layout-item.ts",
303
+ "path": "src/utils/error.ts",
224
304
  "declarations": [
225
305
  {
226
306
  "kind": "class",
227
307
  "description": "",
228
- "name": "FoundationLayoutItem",
229
- "members": [
230
- {
231
- "kind": "field",
232
- "name": "title",
233
- "type": {
234
- "text": "string"
235
- },
236
- "description": "Sets the title of the item which is displayed on the tab.",
237
- "privacy": "public"
238
- },
239
- {
240
- "kind": "field",
241
- "name": "closable",
242
- "type": {
243
- "text": "boolean"
244
- },
245
- "default": "false",
246
- "description": "Boolean attribute controls whether the window can be closed in the GUI.\nDefaults to `false`.",
247
- "privacy": "public"
248
- },
249
- {
250
- "kind": "field",
251
- "name": "size",
252
- "type": {
253
- "text": "string"
254
- },
255
- "description": "optional string describing the size of the new item (see the written documentation for more info)",
256
- "privacy": "public"
257
- },
258
- {
259
- "kind": "field",
260
- "name": "registration",
261
- "type": {
262
- "text": "string"
263
- },
264
- "description": "Sets the registration name for the item, which can be used later to add the item via the JavaScript API using FoundationLayout.addItem.",
265
- "privacy": "public"
266
- },
267
- {
268
- "kind": "field",
269
- "name": "_presentation",
270
- "type": {
271
- "text": "ComponentPresentation | null | undefined"
272
- },
273
- "privacy": "private",
274
- "default": "void 0",
275
- "inheritedFrom": {
276
- "name": "FoundationElement",
277
- "module": "src/foundation-element/foundation-element.ts"
278
- }
279
- },
280
- {
281
- "kind": "field",
282
- "name": "$presentation",
283
- "type": {
284
- "text": "ComponentPresentation | null"
285
- },
286
- "privacy": "public",
287
- "description": "A property which resolves the ComponentPresentation instance\nfor the current component.",
288
- "inheritedFrom": {
289
- "name": "FoundationElement",
290
- "module": "src/foundation-element/foundation-element.ts"
291
- }
292
- },
293
- {
294
- "kind": "field",
295
- "name": "template",
296
- "type": {
297
- "text": "ElementViewTemplate | void | null"
298
- },
299
- "privacy": "public",
300
- "description": "Sets the template of the element instance. When undefined,\nthe element will attempt to resolve the template from\nthe associated presentation or custom element definition.",
301
- "inheritedFrom": {
302
- "name": "FoundationElement",
303
- "module": "src/foundation-element/foundation-element.ts"
304
- }
305
- },
306
- {
307
- "kind": "method",
308
- "name": "templateChanged",
309
- "privacy": "protected",
310
- "return": {
311
- "type": {
312
- "text": "void"
313
- }
314
- },
315
- "inheritedFrom": {
316
- "name": "FoundationElement",
317
- "module": "src/foundation-element/foundation-element.ts"
318
- }
319
- },
320
- {
321
- "kind": "field",
322
- "name": "styles",
323
- "type": {
324
- "text": "ElementStyles | void | null"
325
- },
326
- "privacy": "public",
327
- "description": "Sets the default styles for the element instance. When undefined,\nthe element will attempt to resolve default styles from\nthe associated presentation or custom element definition.",
328
- "inheritedFrom": {
329
- "name": "FoundationElement",
330
- "module": "src/foundation-element/foundation-element.ts"
331
- }
332
- },
333
- {
334
- "kind": "method",
335
- "name": "stylesChanged",
336
- "privacy": "protected",
337
- "return": {
338
- "type": {
339
- "text": "void"
340
- }
341
- },
342
- "inheritedFrom": {
343
- "name": "FoundationElement",
344
- "module": "src/foundation-element/foundation-element.ts"
345
- }
346
- },
347
- {
348
- "kind": "method",
349
- "name": "compose",
350
- "privacy": "public",
351
- "static": true,
352
- "return": {
353
- "type": {
354
- "text": "(\n overrideDefinition?: OverrideFoundationElementDefinition<T>\n ) => FoundationElementRegistry<T, K>"
355
- }
356
- },
357
- "parameters": [
358
- {
359
- "name": "this",
360
- "type": {
361
- "text": "K"
362
- }
363
- },
364
- {
365
- "name": "elementDefinition",
366
- "type": {
367
- "text": "T"
368
- },
369
- "description": "The definition of the element to create the registry\nfunction for."
370
- }
371
- ],
372
- "description": "Defines an element registry function with a set of element definition defaults.",
373
- "inheritedFrom": {
374
- "name": "FoundationElement",
375
- "module": "src/foundation-element/foundation-element.ts"
376
- }
377
- }
378
- ],
379
- "attributes": [
380
- {
381
- "name": "title",
382
- "type": {
383
- "text": "string"
384
- },
385
- "description": "Sets the title of the item which is displayed on the tab.",
386
- "fieldName": "title"
387
- },
388
- {
389
- "type": {
390
- "text": "boolean"
391
- },
392
- "default": "false",
393
- "description": "Boolean attribute controls whether the window can be closed in the GUI.\nDefaults to `false`.",
394
- "fieldName": "closable"
395
- },
396
- {
397
- "name": "size",
398
- "type": {
399
- "text": "string"
400
- },
401
- "description": "optional string describing the size of the new item (see the written documentation for more info)",
402
- "fieldName": "size"
403
- },
404
- {
405
- "name": "registration",
406
- "type": {
407
- "text": "string"
408
- },
409
- "description": "Sets the registration name for the item, which can be used later to add the item via the JavaScript API using FoundationLayout.addItem.",
410
- "fieldName": "registration"
411
- }
412
- ],
308
+ "name": "LayoutUsageError",
413
309
  "superclass": {
414
- "name": "FoundationElement",
415
- "package": "@microsoft/fast-foundation"
310
+ "name": "Error",
311
+ "module": "src/utils/error.ts"
312
+ }
313
+ },
314
+ {
315
+ "kind": "class",
316
+ "description": "",
317
+ "name": "LayoutRegistrationError",
318
+ "superclass": {
319
+ "name": "Error",
320
+ "module": "src/utils/error.ts"
321
+ }
322
+ }
323
+ ],
324
+ "exports": [
325
+ {
326
+ "kind": "js",
327
+ "name": "LayoutUsageError",
328
+ "declaration": {
329
+ "name": "LayoutUsageError",
330
+ "module": "src/utils/error.ts"
331
+ }
332
+ },
333
+ {
334
+ "kind": "js",
335
+ "name": "LayoutRegistrationError",
336
+ "declaration": {
337
+ "name": "LayoutRegistrationError",
338
+ "module": "src/utils/error.ts"
339
+ }
340
+ }
341
+ ]
342
+ },
343
+ {
344
+ "kind": "javascript-module",
345
+ "path": "src/utils/events.ts",
346
+ "declarations": [
347
+ {
348
+ "kind": "variable",
349
+ "name": "LayoutEmitEvents",
350
+ "type": {
351
+ "text": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}"
416
352
  },
417
- "tagName": "%%prefix%%-layout-item",
418
- "customElement": true
353
+ "default": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}",
354
+ "description": "Defines events that the layout system emits\n\n'firstLoaded' - emitted when the layout has finished loading the first time\nusing the declarative API after DEFAULT_RELOAD_BUFFER ms.\n<br/>\n'itemAdded' - emitted when an item is added to the layout'\n<br/>\n'itemRemoved' - emitted when an item is removed from the layout'\n<br/>\n'itemResized' - emitted when the user drags the divider to resize elements",
355
+ "privacy": "public"
356
+ },
357
+ {
358
+ "kind": "variable",
359
+ "name": "LayoutReceiveEvents",
360
+ "type": {
361
+ "text": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}"
362
+ },
363
+ "default": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}",
364
+ "description": "Defines events that the layout system listens for\n\n'changeTitle' - emit this from a contained item to update the title of the window that contains it.\n'autosave' - emit this from a contained item to hint to the layout system that it should autosave the layout. A contained item should do this if it has just changed some state it would like to persist. See LayoutComponentWithState.",
365
+ "privacy": "public"
419
366
  }
420
367
  ],
421
368
  "exports": [
422
369
  {
423
370
  "kind": "js",
424
- "name": "FoundationLayoutItem",
371
+ "name": "LayoutEmitEvents",
425
372
  "declaration": {
426
- "name": "FoundationLayoutItem",
427
- "module": "src/main/layout-item.ts"
373
+ "name": "LayoutEmitEvents",
374
+ "module": "src/utils/events.ts"
375
+ }
376
+ },
377
+ {
378
+ "kind": "js",
379
+ "name": "LayoutReceiveEvents",
380
+ "declaration": {
381
+ "name": "LayoutReceiveEvents",
382
+ "module": "src/utils/events.ts"
428
383
  }
429
384
  }
430
385
  ]
431
386
  },
432
387
  {
433
388
  "kind": "javascript-module",
434
- "path": "src/main/layout-main.ts",
389
+ "path": "src/utils/index.ts",
390
+ "declarations": [],
391
+ "exports": [
392
+ {
393
+ "kind": "js",
394
+ "name": "*",
395
+ "declaration": {
396
+ "name": "*",
397
+ "package": "./constants"
398
+ }
399
+ },
400
+ {
401
+ "kind": "js",
402
+ "name": "*",
403
+ "declaration": {
404
+ "name": "*",
405
+ "package": "./error"
406
+ }
407
+ },
408
+ {
409
+ "kind": "js",
410
+ "name": "*",
411
+ "declaration": {
412
+ "name": "*",
413
+ "package": "./events"
414
+ }
415
+ },
416
+ {
417
+ "kind": "js",
418
+ "name": "*",
419
+ "declaration": {
420
+ "name": "*",
421
+ "package": "./misc"
422
+ }
423
+ },
424
+ {
425
+ "kind": "js",
426
+ "name": "*",
427
+ "declaration": {
428
+ "name": "*",
429
+ "package": "./templates"
430
+ }
431
+ },
432
+ {
433
+ "kind": "js",
434
+ "name": "*",
435
+ "declaration": {
436
+ "name": "*",
437
+ "package": "./types"
438
+ }
439
+ },
440
+ {
441
+ "kind": "js",
442
+ "name": "*",
443
+ "declaration": {
444
+ "name": "*",
445
+ "package": "./error"
446
+ }
447
+ }
448
+ ]
449
+ },
450
+ {
451
+ "kind": "javascript-module",
452
+ "path": "src/utils/logger.ts",
435
453
  "declarations": [
436
454
  {
437
- "kind": "class",
438
- "description": "",
439
- "name": "FoundationLayout",
440
- "members": [
441
- {
442
- "kind": "field",
443
- "name": "layout",
444
- "type": {
445
- "text": "GoldenLayout"
446
- },
447
- "privacy": "private"
448
- },
449
- {
450
- "kind": "field",
451
- "name": "layoutConfig",
452
- "type": {
453
- "text": "LayoutConfig"
454
- },
455
- "privacy": "private",
456
- "default": "{ root: undefined }"
457
- },
458
- {
459
- "kind": "field",
460
- "name": "reloadBuffer",
461
- "type": {
462
- "text": "number"
463
- },
464
- "default": "DEFAULT_RELOAD_BUFFER",
465
- "description": "Number describing how long to wait in ms before reloading the config when adding items\ndeclaratively by the html API. Default 500 (ms).",
466
- "privacy": "public"
467
- },
468
- {
469
- "kind": "field",
470
- "name": "reloadPending",
471
- "type": {
472
- "text": "boolean"
473
- },
474
- "privacy": "private",
475
- "default": "false"
476
- },
477
- {
478
- "kind": "field",
479
- "name": "registeredComponents",
480
- "type": {
481
- "text": "number"
482
- },
483
- "privacy": "private",
484
- "default": "0"
485
- },
486
- {
487
- "kind": "field",
488
- "name": "autoSaveKey",
489
- "type": {
490
- "text": "string | undefined"
491
- },
492
- "description": "Attribute which if set will auto save and load the layout as the user changes it.\nOmit this attribute to disable this feature.\nSet attribute using `auto-save-key`.",
493
- "privacy": "public"
494
- },
495
- {
496
- "kind": "field",
497
- "name": "missingItemPlaceholder",
498
- "description": "Function which is used to generate the placeholder text when a layout is loaded\nwith a missing item.",
499
- "privacy": "public"
500
- },
455
+ "kind": "variable",
456
+ "name": "logger"
457
+ }
458
+ ],
459
+ "exports": [
460
+ {
461
+ "kind": "js",
462
+ "name": "logger",
463
+ "declaration": {
464
+ "name": "logger",
465
+ "module": "src/utils/logger.ts"
466
+ }
467
+ }
468
+ ]
469
+ },
470
+ {
471
+ "kind": "javascript-module",
472
+ "path": "src/utils/misc.ts",
473
+ "declarations": [],
474
+ "exports": []
475
+ },
476
+ {
477
+ "kind": "javascript-module",
478
+ "path": "src/utils/templates.ts",
479
+ "declarations": [],
480
+ "exports": []
481
+ },
482
+ {
483
+ "kind": "javascript-module",
484
+ "path": "src/utils/types.ts",
485
+ "declarations": [],
486
+ "exports": []
487
+ },
488
+ {
489
+ "kind": "javascript-module",
490
+ "path": "src/main/index.ts",
491
+ "declarations": [],
492
+ "exports": [
493
+ {
494
+ "kind": "js",
495
+ "name": "FoundationLayoutItem",
496
+ "declaration": {
497
+ "name": "FoundationLayoutItem",
498
+ "module": "./layout-item"
499
+ }
500
+ },
501
+ {
502
+ "kind": "js",
503
+ "name": "FoundationLayoutRegion",
504
+ "declaration": {
505
+ "name": "FoundationLayoutRegion",
506
+ "module": "./layout-region"
507
+ }
508
+ },
509
+ {
510
+ "kind": "js",
511
+ "name": "FoundationLayout",
512
+ "declaration": {
513
+ "name": "FoundationLayout",
514
+ "module": "./layout-main"
515
+ }
516
+ },
517
+ {
518
+ "kind": "js",
519
+ "name": "layoutStyles",
520
+ "declaration": {
521
+ "name": "layoutStyles",
522
+ "module": "./layout-main"
523
+ }
524
+ },
525
+ {
526
+ "kind": "js",
527
+ "name": "layoutTemplate",
528
+ "declaration": {
529
+ "name": "layoutTemplate",
530
+ "module": "./layout-main"
531
+ }
532
+ },
533
+ {
534
+ "kind": "js",
535
+ "name": "*",
536
+ "declaration": {
537
+ "name": "*",
538
+ "package": "./layout-components"
539
+ }
540
+ }
541
+ ]
542
+ },
543
+ {
544
+ "kind": "javascript-module",
545
+ "path": "src/main/layout-components.ts",
546
+ "declarations": [
547
+ {
548
+ "kind": "variable",
549
+ "name": "foundationLayoutComponents",
550
+ "type": {
551
+ "text": "object"
552
+ },
553
+ "default": "{\n foundationLayout,\n foundationLayoutRegion,\n foundationLayoutItem,\n register(container?: Container, ...rest: any[]) {\n if (!container) {\n // preserve backward compatibility with code that loops through\n // the values of this object and calls them as funcs with no args\n return;\n }\n for (const key in this) {\n if (key === 'register') {\n continue;\n }\n this[key]().register(container, ...rest);\n }\n },\n}",
554
+ "description": "Registration object to register the layout with your design system.",
555
+ "privacy": "public"
556
+ }
557
+ ],
558
+ "exports": [
559
+ {
560
+ "kind": "js",
561
+ "name": "foundationLayoutComponents",
562
+ "declaration": {
563
+ "name": "foundationLayoutComponents",
564
+ "module": "src/main/layout-components.ts"
565
+ }
566
+ }
567
+ ]
568
+ },
569
+ {
570
+ "kind": "javascript-module",
571
+ "path": "src/main/layout-item.ts",
572
+ "declarations": [
573
+ {
574
+ "kind": "class",
575
+ "description": "",
576
+ "name": "FoundationLayoutItem",
577
+ "members": [
501
578
  {
502
579
  "kind": "field",
503
- "name": "dimensionsConfig",
580
+ "name": "title",
504
581
  "type": {
505
- "text": "LayoutConfig.Dimensions | undefined"
582
+ "text": "string"
506
583
  },
507
- "description": "Apply dimensions config to the layout, such as setting the size of the drag handles.",
584
+ "description": "Sets the title of the item which is displayed on the tab.",
508
585
  "privacy": "public"
509
586
  },
510
587
  {
511
588
  "kind": "field",
512
- "name": "hasFirstLoaded",
589
+ "name": "closable",
513
590
  "type": {
514
591
  "text": "boolean"
515
592
  },
516
593
  "default": "false",
517
- "description": "Boolean signifies whether the layout has loaded for the first time or not.",
594
+ "description": "Boolean attribute controls whether the window can be closed in the GUI.\nDefaults to `false`.",
518
595
  "privacy": "public"
519
596
  },
520
597
  {
521
598
  "kind": "field",
522
- "name": "customButtons",
599
+ "name": "size",
523
600
  "type": {
524
- "text": "CustomButton[]"
601
+ "text": "string"
525
602
  },
526
- "default": "[]",
527
- "description": "Set custom button definition on this property to add them to the layout header controls",
603
+ "description": "optional string describing the size of the new item (see the written documentation for more info)",
528
604
  "privacy": "public"
529
605
  },
530
606
  {
531
607
  "kind": "field",
532
- "name": "dragging",
608
+ "name": "registration",
533
609
  "type": {
534
- "text": "boolean"
610
+ "text": "string"
535
611
  },
536
- "default": "false",
612
+ "description": "Sets the registration name for the item, which can be used later to add the item via the JavaScript API using FoundationLayout.addItem.",
537
613
  "privacy": "public"
538
614
  },
539
615
  {
540
616
  "kind": "field",
541
- "name": "class",
542
- "privacy": "public",
543
- "default": "'FoundationLayoutMain'",
617
+ "name": "_presentation",
544
618
  "type": {
545
- "text": "'FoundationLayoutMain'"
619
+ "text": "ComponentPresentation | null | undefined"
620
+ },
621
+ "privacy": "private",
622
+ "default": "void 0",
623
+ "inheritedFrom": {
624
+ "name": "FoundationElement",
625
+ "module": "src/foundation-element/foundation-element.ts"
546
626
  }
547
627
  },
548
628
  {
549
629
  "kind": "field",
550
- "name": "lifecycleUpdateToken",
630
+ "name": "$presentation",
551
631
  "type": {
552
- "text": "string | undefined"
632
+ "text": "ComponentPresentation | null"
553
633
  },
554
634
  "privacy": "public",
555
- "default": "undefined",
556
- "description": "Used to calculate whether a layout item should run its lifecycle methods or not"
635
+ "description": "A property which resolves the ComponentPresentation instance\nfor the current component.",
636
+ "inheritedFrom": {
637
+ "name": "FoundationElement",
638
+ "module": "src/foundation-element/foundation-element.ts"
639
+ }
557
640
  },
558
641
  {
559
642
  "kind": "field",
560
- "name": "popoutConfig",
643
+ "name": "template",
561
644
  "type": {
562
- "text": "string | undefined"
645
+ "text": "ElementViewTemplate | void | null"
563
646
  },
564
- "default": "undefined",
565
- "description": "Controls whether popout functionality is enabled on the layout. Defaults to disabled.\nSet this attribute to any string to enable popout functionality. If this string is of format `number;number` then this will be interpreted as the width and height of the popout window."
647
+ "privacy": "public",
648
+ "description": "Sets the template of the element instance. When undefined,\nthe element will attempt to resolve the template from\nthe associated presentation or custom element definition.",
649
+ "inheritedFrom": {
650
+ "name": "FoundationElement",
651
+ "module": "src/foundation-element/foundation-element.ts"
652
+ }
566
653
  },
567
654
  {
568
- "kind": "field",
569
- "name": "popupMode",
570
- "type": {
571
- "text": "boolean"
655
+ "kind": "method",
656
+ "name": "templateChanged",
657
+ "privacy": "protected",
658
+ "return": {
659
+ "type": {
660
+ "text": "void"
661
+ }
572
662
  },
573
- "privacy": "private",
574
- "default": "false"
663
+ "inheritedFrom": {
664
+ "name": "FoundationElement",
665
+ "module": "src/foundation-element/foundation-element.ts"
666
+ }
575
667
  },
576
668
  {
577
669
  "kind": "field",
578
- "name": "showCloseIcons",
670
+ "name": "styles",
579
671
  "type": {
580
- "text": "boolean"
672
+ "text": "ElementStyles | void | null"
581
673
  },
582
- "default": "false"
674
+ "privacy": "public",
675
+ "description": "Sets the default styles for the element instance. When undefined,\nthe element will attempt to resolve default styles from\nthe associated presentation or custom element definition.",
676
+ "inheritedFrom": {
677
+ "name": "FoundationElement",
678
+ "module": "src/foundation-element/foundation-element.ts"
679
+ }
583
680
  },
584
681
  {
585
682
  "kind": "method",
586
- "name": "layoutRequiredRegistrations",
587
- "static": true,
683
+ "name": "stylesChanged",
684
+ "privacy": "protected",
588
685
  "return": {
589
686
  "type": {
590
- "text": ""
687
+ "text": "void"
591
688
  }
592
689
  },
593
- "parameters": [
594
- {
595
- "name": "layout",
596
- "type": {
597
- "text": "SerialisedLayout"
598
- },
599
- "description": "any version of {@link SerialisedLayout}object describing the layout\n * "
600
- }
601
- ],
602
- "description": "JS API, public",
603
- "privacy": "public"
690
+ "inheritedFrom": {
691
+ "name": "FoundationElement",
692
+ "module": "src/foundation-element/foundation-element.ts"
693
+ }
604
694
  },
605
695
  {
606
696
  "kind": "method",
607
- "name": "registeredItems",
697
+ "name": "compose",
698
+ "privacy": "public",
699
+ "static": true,
608
700
  "return": {
609
701
  "type": {
610
- "text": ""
702
+ "text": "(\n overrideDefinition?: OverrideFoundationElementDefinition<T>\n ) => FoundationElementRegistry<T, K>"
611
703
  }
612
704
  },
613
- "privacy": "public"
614
- },
615
- {
616
- "kind": "method",
617
- "name": "getLayout",
618
- "return": {
619
- "type": {
620
- "text": ""
621
- }
622
- },
623
- "privacy": "public"
624
- },
625
- {
626
- "kind": "method",
627
- "name": "tryActivatePopoutMode",
628
- "return": {
629
- "type": {
630
- "text": "boolean"
631
- }
632
- },
633
- "description": "If in a popout window from the dynamic layout, this function will run the flow to put the component in popout mode.\nThis function is automatically called if using the declarative HTML API, but if only using the JavaScript API then you will need to call this function manually."
634
- },
635
- {
636
- "kind": "method",
637
- "name": "tryLoadLayoutFromLocalStorage",
638
- "return": {
639
- "type": {
640
- "text": ""
641
- }
642
- },
643
- "description": "Try to load a layout from local storage, or return false. Only required if manually calling FoundationLayout.registerItem",
644
- "privacy": "public"
645
- },
646
- {
647
- "kind": "method",
648
- "name": "loadLayout",
649
705
  "parameters": [
650
706
  {
651
- "name": "layout",
652
- "type": {
653
- "text": "SerialisedLayout"
654
- },
655
- "description": "any version of {@link SerialisedLayout}object describing the layout\n * "
656
- },
657
- {
658
- "name": "handleMissingItem",
659
- "default": "'error'",
707
+ "name": "this",
660
708
  "type": {
661
- "text": "'placeholder' | 'error'"
662
- },
663
- "description": "what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.\n * "
709
+ "text": "K"
710
+ }
664
711
  },
665
712
  {
666
- "name": "disableCache",
667
- "default": "false",
713
+ "name": "elementDefinition",
668
714
  "type": {
669
- "text": "boolean"
715
+ "text": "T"
670
716
  },
671
- "description": "if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the {@link LayoutComponentWithState}interface. Defaults to false.\n * "
717
+ "description": "The definition of the element to create the registry\nfunction for."
672
718
  }
673
719
  ],
674
- "privacy": "public"
675
- },
720
+ "description": "Defines an element registry function with a set of element definition defaults.",
721
+ "inheritedFrom": {
722
+ "name": "FoundationElement",
723
+ "module": "src/foundation-element/foundation-element.ts"
724
+ }
725
+ }
726
+ ],
727
+ "attributes": [
676
728
  {
677
- "kind": "method",
678
- "name": "addItem",
679
- "parameters": [
680
- {
681
- "name": "config",
682
- "type": {
683
- "text": "RegisteredElementConfig | RegisteredElementConfig[]"
684
- },
685
- "description": "{@link RegisteredElementConfig}configuration items for the new items(s). Pass an array of {@link RegisteredElementConfig}to add multiple items at once.\n * "
686
- },
687
- {
688
- "name": "placement",
689
- "default": "defaultAddItemPlacement",
690
- "type": {
691
- "text": "Placement"
692
- },
693
- "description": "where and how to add the new items to the layout. For more info and defaults see {@link Placement}.\n * "
694
- }
695
- ],
696
- "privacy": "public"
729
+ "name": "title",
730
+ "type": {
731
+ "text": "string"
732
+ },
733
+ "description": "Sets the title of the item which is displayed on the tab.",
734
+ "fieldName": "title"
697
735
  },
698
736
  {
699
- "kind": "method",
700
- "name": "removeItems",
701
- "return": {
702
- "type": {
703
- "text": ""
704
- }
737
+ "type": {
738
+ "text": "boolean"
705
739
  },
706
- "parameters": [
707
- {
708
- "name": "registration",
709
- "type": {
710
- "text": "string"
711
- },
712
- "description": "string of the registration ID"
713
- },
714
- {
715
- "name": "force",
716
- "default": "false",
717
- "type": {
718
- "text": "boolean"
719
- },
720
- "description": "if set to true then the item will be removed even if it is not closable. Defaults to false, which is the same behaviour as the close button on the header."
721
- }
722
- ],
723
- "privacy": "public"
740
+ "default": "false",
741
+ "description": "Boolean attribute controls whether the window can be closed in the GUI.\nDefaults to `false`.",
742
+ "fieldName": "closable"
724
743
  },
725
744
  {
726
- "kind": "method",
727
- "name": "registerItem",
728
- "return": {
729
- "type": {
730
- "text": ""
731
- }
745
+ "name": "size",
746
+ "type": {
747
+ "text": "string"
732
748
  },
733
- "parameters": [
734
- {
735
- "name": "registration",
736
- "type": {
737
- "text": "string"
738
- },
739
- "description": "string of the registration ID"
740
- },
741
- {
742
- "name": "elements",
743
- "type": {
744
- "text": "Element[]"
745
- },
746
- "description": "Elements[] containing the reference to the elements to register for later usage"
747
- }
748
- ],
749
- "privacy": "public"
749
+ "description": "optional string describing the size of the new item (see the written documentation for more info)",
750
+ "fieldName": "size"
750
751
  },
751
752
  {
752
- "kind": "method",
753
- "name": "updateLifecycleToken",
754
- "privacy": "private",
755
- "return": {
756
- "type": {
757
- "text": "void"
758
- }
753
+ "name": "registration",
754
+ "type": {
755
+ "text": "string"
759
756
  },
760
- "description": "The `LifecycleMixin` can use the lifecycleUpdateToken to determine if it needs to gate\nlifecycle methods from running when other items have been added or deleted.\nThis key is updated every time one of these actions are performed, so you can check if the key has changed and know you potentially need to gate some of your lifecycle functionality.\nThis method should be called whenever we are about to perform an action which will cause a lifecycle update, should as adding or removing an item from the layout"
761
- },
757
+ "description": "Sets the registration name for the item, which can be used later to add the item via the JavaScript API using FoundationLayout.addItem.",
758
+ "fieldName": "registration"
759
+ }
760
+ ],
761
+ "superclass": {
762
+ "name": "FoundationElement",
763
+ "package": "@microsoft/fast-foundation"
764
+ },
765
+ "tagName": "%%prefix%%-layout-item",
766
+ "customElement": true
767
+ }
768
+ ],
769
+ "exports": [
770
+ {
771
+ "kind": "js",
772
+ "name": "FoundationLayoutItem",
773
+ "declaration": {
774
+ "name": "FoundationLayoutItem",
775
+ "module": "src/main/layout-item.ts"
776
+ }
777
+ }
778
+ ]
779
+ },
780
+ {
781
+ "kind": "javascript-module",
782
+ "path": "src/main/layout-main.ts",
783
+ "declarations": [
784
+ {
785
+ "kind": "class",
786
+ "description": "",
787
+ "name": "FoundationLayout",
788
+ "members": [
762
789
  {
763
790
  "kind": "field",
764
- "name": "_presentation",
791
+ "name": "layout",
765
792
  "type": {
766
- "text": "ComponentPresentation | null | undefined"
793
+ "text": "GoldenLayout"
767
794
  },
768
- "privacy": "private",
769
- "default": "void 0",
770
- "inheritedFrom": {
771
- "name": "FoundationElement",
772
- "module": "src/foundation-element/foundation-element.ts"
773
- }
795
+ "privacy": "private"
774
796
  },
775
797
  {
776
798
  "kind": "field",
777
- "name": "$presentation",
799
+ "name": "layoutConfig",
778
800
  "type": {
779
- "text": "ComponentPresentation | null"
801
+ "text": "LayoutConfig"
780
802
  },
781
- "privacy": "public",
782
- "description": "A property which resolves the ComponentPresentation instance\nfor the current component.",
783
- "inheritedFrom": {
784
- "name": "FoundationElement",
785
- "module": "src/foundation-element/foundation-element.ts"
786
- }
803
+ "privacy": "private",
804
+ "default": "{ root: undefined }"
787
805
  },
788
806
  {
789
807
  "kind": "field",
790
- "name": "template",
808
+ "name": "reloadBuffer",
791
809
  "type": {
792
- "text": "ElementViewTemplate | void | null"
810
+ "text": "number"
793
811
  },
794
- "privacy": "public",
795
- "description": "Sets the template of the element instance. When undefined,\nthe element will attempt to resolve the template from\nthe associated presentation or custom element definition.",
796
- "inheritedFrom": {
797
- "name": "FoundationElement",
798
- "module": "src/foundation-element/foundation-element.ts"
799
- }
812
+ "default": "DEFAULT_RELOAD_BUFFER",
813
+ "description": "Number describing how long to wait in ms before reloading the config when adding items\ndeclaratively by the html API. Default 500 (ms).",
814
+ "privacy": "public"
800
815
  },
801
816
  {
802
- "kind": "method",
803
- "name": "templateChanged",
804
- "privacy": "protected",
805
- "return": {
806
- "type": {
807
- "text": "void"
808
- }
817
+ "kind": "field",
818
+ "name": "reloadPending",
819
+ "type": {
820
+ "text": "boolean"
809
821
  },
810
- "inheritedFrom": {
811
- "name": "FoundationElement",
812
- "module": "src/foundation-element/foundation-element.ts"
813
- }
822
+ "privacy": "private",
823
+ "default": "false"
814
824
  },
815
825
  {
816
826
  "kind": "field",
817
- "name": "styles",
827
+ "name": "registeredComponents",
818
828
  "type": {
819
- "text": "ElementStyles | void | null"
829
+ "text": "number"
820
830
  },
821
- "privacy": "public",
822
- "description": "Sets the default styles for the element instance. When undefined,\nthe element will attempt to resolve default styles from\nthe associated presentation or custom element definition.",
823
- "inheritedFrom": {
824
- "name": "FoundationElement",
825
- "module": "src/foundation-element/foundation-element.ts"
826
- }
831
+ "privacy": "private",
832
+ "default": "0"
827
833
  },
828
834
  {
829
- "kind": "method",
830
- "name": "stylesChanged",
831
- "privacy": "protected",
832
- "return": {
833
- "type": {
834
- "text": "void"
835
- }
836
- },
837
- "inheritedFrom": {
838
- "name": "FoundationElement",
839
- "module": "src/foundation-element/foundation-element.ts"
840
- }
841
- },
842
- {
843
- "kind": "method",
844
- "name": "compose",
845
- "privacy": "public",
846
- "static": true,
847
- "return": {
848
- "type": {
849
- "text": "(\n overrideDefinition?: OverrideFoundationElementDefinition<T>\n ) => FoundationElementRegistry<T, K>"
850
- }
851
- },
852
- "parameters": [
853
- {
854
- "name": "this",
855
- "type": {
856
- "text": "K"
857
- }
858
- },
859
- {
860
- "name": "elementDefinition",
861
- "type": {
862
- "text": "T"
863
- },
864
- "description": "The definition of the element to create the registry\nfunction for."
865
- }
866
- ],
867
- "description": "Defines an element registry function with a set of element definition defaults.",
868
- "inheritedFrom": {
869
- "name": "FoundationElement",
870
- "module": "src/foundation-element/foundation-element.ts"
871
- }
872
- }
873
- ],
874
- "events": [
875
- {
876
- "description": "emitted when the layout has finished loading the first time",
877
- "name": "first-loaded"
878
- },
879
- {
880
- "description": "emitted when an item is added to the layout",
881
- "name": "item-added"
882
- },
883
- {
884
- "description": "emitted when an item is removed from the layout",
885
- "name": "item-removed"
886
- },
887
- {
888
- "description": "emitted when the user drags the divider to resize elements",
889
- "name": "item-resized"
890
- }
891
- ],
892
- "attributes": [
893
- {
894
- "name": "reload-buffer",
895
- "type": {
896
- "text": "number"
897
- },
898
- "default": "DEFAULT_RELOAD_BUFFER",
899
- "description": "Number describing how long to wait in ms before reloading the config when adding items\ndeclaratively by the html API. Default 500 (ms).",
900
- "resolveInitializer": {
901
- "module": "/src/utils/"
902
- },
903
- "fieldName": "reloadBuffer"
904
- },
905
- {
906
- "name": "auto-save-key",
835
+ "kind": "field",
836
+ "name": "autoSaveKey",
907
837
  "type": {
908
838
  "text": "string | undefined"
909
839
  },
910
840
  "description": "Attribute which if set will auto save and load the layout as the user changes it.\nOmit this attribute to disable this feature.\nSet attribute using `auto-save-key`.",
911
- "fieldName": "autoSaveKey"
841
+ "privacy": "public"
912
842
  },
913
843
  {
914
- "name": "popout-config",
844
+ "kind": "field",
845
+ "name": "missingItemPlaceholder",
846
+ "description": "Function which is used to generate the placeholder text when a layout is loaded\nwith a missing item.",
847
+ "privacy": "public"
848
+ },
849
+ {
850
+ "kind": "field",
851
+ "name": "dimensionsConfig",
915
852
  "type": {
916
- "text": "string | undefined"
917
- },
918
- "default": "undefined",
919
- "description": "Controls whether popout functionality is enabled on the layout. Defaults to disabled.\nSet this attribute to any string to enable popout functionality. If this string is of format `number;number` then this will be interpreted as the width and height of the popout window.",
920
- "resolveInitializer": {
921
- "module": "src/main/layout-main.ts"
853
+ "text": "LayoutConfig.Dimensions | undefined"
922
854
  },
923
- "fieldName": "popoutConfig"
855
+ "description": "Apply dimensions config to the layout, such as setting the size of the drag handles.",
856
+ "privacy": "public"
924
857
  },
925
858
  {
926
- "name": "hideCloseIcons",
859
+ "kind": "field",
860
+ "name": "hasFirstLoaded",
927
861
  "type": {
928
862
  "text": "boolean"
929
863
  },
930
864
  "default": "false",
931
- "fieldName": "showCloseIcons"
932
- }
933
- ],
934
- "superclass": {
935
- "name": "FoundationElement",
936
- "package": "@microsoft/fast-foundation"
937
- },
938
- "tagName": "%%prefix%%-layout",
939
- "customElement": true
940
- },
941
- {
942
- "kind": "variable",
943
- "name": "layoutTemplate",
944
- "default": "html<FoundationLayout>`\n <template>\n ${when((x) => !x.hasFirstLoaded && x.usingDeclerativeAPI, loadingTemplate)}\n <div class=\"layout-container\" ${ref('layoutElement')}></div>\n </template>\n`",
945
- "description": "`ViewTemplate` which defines the html for FoundationLayout.",
946
- "privacy": "public"
947
- }
948
- ],
949
- "exports": [
950
- {
951
- "kind": "js",
952
- "name": "layoutStyles",
953
- "declaration": {
954
- "name": "layoutStyles",
955
- "module": "../styles"
956
- }
957
- },
958
- {
959
- "kind": "js",
960
- "name": "FoundationLayout",
961
- "declaration": {
962
- "name": "FoundationLayout",
963
- "module": "src/main/layout-main.ts"
964
- }
965
- },
966
- {
967
- "kind": "js",
968
- "name": "layoutTemplate",
969
- "declaration": {
970
- "name": "layoutTemplate",
971
- "module": "src/main/layout-main.ts"
972
- }
973
- }
974
- ]
975
- },
976
- {
977
- "kind": "javascript-module",
978
- "path": "src/main/layout-region.ts",
979
- "declarations": [
980
- {
981
- "kind": "class",
982
- "description": "",
983
- "name": "FoundationLayoutRegion",
984
- "members": [
865
+ "description": "Boolean signifies whether the layout has loaded for the first time or not.",
866
+ "privacy": "public"
867
+ },
985
868
  {
986
869
  "kind": "field",
987
- "name": "size",
870
+ "name": "customButtons",
988
871
  "type": {
989
- "text": "string"
872
+ "text": "CustomButton[]"
990
873
  },
991
- "description": "optional string describing the size of the new item (see the written documentation for more info)",
874
+ "default": "[]",
875
+ "description": "Set custom button definition on this property to add them to the layout header controls",
992
876
  "privacy": "public"
993
877
  },
994
878
  {
995
879
  "kind": "field",
996
- "name": "type",
880
+ "name": "dragging",
997
881
  "type": {
998
- "text": "LayoutRegionType"
882
+ "text": "boolean"
999
883
  },
1000
- "default": "layoutRegionValue[0]",
1001
- "description": "Defines the LayoutRegionType| type of the region.\nDefaults to `horizontal`.",
884
+ "default": "false",
1002
885
  "privacy": "public"
1003
886
  },
1004
887
  {
1005
888
  "kind": "field",
1006
- "name": "_presentation",
889
+ "name": "class",
890
+ "privacy": "public",
891
+ "default": "'FoundationLayoutMain'",
1007
892
  "type": {
1008
- "text": "ComponentPresentation | null | undefined"
1009
- },
1010
- "privacy": "private",
1011
- "default": "void 0",
1012
- "inheritedFrom": {
1013
- "name": "FoundationElement",
1014
- "module": "src/foundation-element/foundation-element.ts"
893
+ "text": "'FoundationLayoutMain'"
1015
894
  }
1016
895
  },
1017
896
  {
1018
897
  "kind": "field",
1019
- "name": "$presentation",
898
+ "name": "lifecycleUpdateToken",
1020
899
  "type": {
1021
- "text": "ComponentPresentation | null"
900
+ "text": "string | undefined"
1022
901
  },
1023
902
  "privacy": "public",
1024
- "description": "A property which resolves the ComponentPresentation instance\nfor the current component.",
1025
- "inheritedFrom": {
1026
- "name": "FoundationElement",
1027
- "module": "src/foundation-element/foundation-element.ts"
1028
- }
903
+ "default": "undefined",
904
+ "description": "Used to calculate whether a layout item should run its lifecycle methods or not"
1029
905
  },
1030
906
  {
1031
907
  "kind": "field",
1032
- "name": "template",
908
+ "name": "popoutConfig",
1033
909
  "type": {
1034
- "text": "ElementViewTemplate | void | null"
910
+ "text": "string | undefined"
1035
911
  },
1036
- "privacy": "public",
1037
- "description": "Sets the template of the element instance. When undefined,\nthe element will attempt to resolve the template from\nthe associated presentation or custom element definition.",
1038
- "inheritedFrom": {
1039
- "name": "FoundationElement",
1040
- "module": "src/foundation-element/foundation-element.ts"
1041
- }
912
+ "default": "undefined",
913
+ "description": "Controls whether popout functionality is enabled on the layout. Defaults to disabled.\nSet this attribute to any string to enable popout functionality. If this string is of format `number;number` then this will be interpreted as the width and height of the popout window."
1042
914
  },
1043
915
  {
1044
- "kind": "method",
1045
- "name": "templateChanged",
1046
- "privacy": "protected",
1047
- "return": {
1048
- "type": {
1049
- "text": "void"
1050
- }
916
+ "kind": "field",
917
+ "name": "popupMode",
918
+ "type": {
919
+ "text": "boolean"
1051
920
  },
1052
- "inheritedFrom": {
1053
- "name": "FoundationElement",
1054
- "module": "src/foundation-element/foundation-element.ts"
1055
- }
921
+ "privacy": "private",
922
+ "default": "false"
1056
923
  },
1057
924
  {
1058
925
  "kind": "field",
1059
- "name": "styles",
926
+ "name": "showCloseIcons",
1060
927
  "type": {
1061
- "text": "ElementStyles | void | null"
928
+ "text": "boolean"
1062
929
  },
1063
- "privacy": "public",
1064
- "description": "Sets the default styles for the element instance. When undefined,\nthe element will attempt to resolve default styles from\nthe associated presentation or custom element definition.",
1065
- "inheritedFrom": {
1066
- "name": "FoundationElement",
1067
- "module": "src/foundation-element/foundation-element.ts"
1068
- }
930
+ "default": "false"
1069
931
  },
1070
932
  {
1071
- "kind": "method",
1072
- "name": "stylesChanged",
1073
- "privacy": "protected",
1074
- "return": {
1075
- "type": {
1076
- "text": "void"
1077
- }
933
+ "kind": "field",
934
+ "name": "showMaximiseIcons",
935
+ "type": {
936
+ "text": "boolean"
1078
937
  },
1079
- "inheritedFrom": {
1080
- "name": "FoundationElement",
1081
- "module": "src/foundation-element/foundation-element.ts"
1082
- }
938
+ "default": "false"
1083
939
  },
1084
940
  {
1085
941
  "kind": "method",
1086
- "name": "compose",
1087
- "privacy": "public",
942
+ "name": "layoutRequiredRegistrations",
1088
943
  "static": true,
1089
944
  "return": {
1090
945
  "type": {
1091
- "text": "(\n overrideDefinition?: OverrideFoundationElementDefinition<T>\n ) => FoundationElementRegistry<T, K>"
946
+ "text": ""
1092
947
  }
1093
948
  },
1094
949
  "parameters": [
1095
950
  {
1096
- "name": "this",
951
+ "name": "layout",
1097
952
  "type": {
1098
- "text": "K"
1099
- }
953
+ "text": "SerialisedLayout"
954
+ },
955
+ "description": "any version of {@link SerialisedLayout}object describing the layout\n * "
956
+ }
957
+ ],
958
+ "description": "JS API, public",
959
+ "privacy": "public"
960
+ },
961
+ {
962
+ "kind": "method",
963
+ "name": "registeredItems",
964
+ "return": {
965
+ "type": {
966
+ "text": ""
967
+ }
968
+ },
969
+ "privacy": "public"
970
+ },
971
+ {
972
+ "kind": "method",
973
+ "name": "getLayout",
974
+ "return": {
975
+ "type": {
976
+ "text": ""
977
+ }
978
+ },
979
+ "privacy": "public"
980
+ },
981
+ {
982
+ "kind": "method",
983
+ "name": "tryActivatePopoutMode",
984
+ "return": {
985
+ "type": {
986
+ "text": "boolean"
987
+ }
988
+ },
989
+ "description": "If in a popout window from the dynamic layout, this function will run the flow to put the component in popout mode.\nThis function is automatically called if using the declarative HTML API, but if only using the JavaScript API then you will need to call this function manually."
990
+ },
991
+ {
992
+ "kind": "method",
993
+ "name": "tryLoadLayoutFromLocalStorage",
994
+ "return": {
995
+ "type": {
996
+ "text": ""
997
+ }
998
+ },
999
+ "description": "Try to load a layout from local storage, or return false. Only required if manually calling FoundationLayout.registerItem",
1000
+ "privacy": "public"
1001
+ },
1002
+ {
1003
+ "kind": "method",
1004
+ "name": "loadLayout",
1005
+ "parameters": [
1006
+ {
1007
+ "name": "layout",
1008
+ "type": {
1009
+ "text": "SerialisedLayout"
1010
+ },
1011
+ "description": "any version of {@link SerialisedLayout}object describing the layout\n * "
1100
1012
  },
1101
1013
  {
1102
- "name": "elementDefinition",
1014
+ "name": "handleMissingItem",
1015
+ "default": "'error'",
1103
1016
  "type": {
1104
- "text": "T"
1017
+ "text": "'placeholder' | 'error'"
1105
1018
  },
1106
- "description": "The definition of the element to create the registry\nfunction for."
1019
+ "description": "what to do if the layout contains items that are not currently registered with the layout system. Defaults to 'error' which will throw an error. If set to 'placeholder' then any missing items will be replaced with a placeholder element. You can control the text of the placeholder element with {@link FoundationLayout.missingItemPlaceholder}.\n * "
1020
+ },
1021
+ {
1022
+ "name": "disableCache",
1023
+ "default": "false",
1024
+ "type": {
1025
+ "text": "boolean"
1026
+ },
1027
+ "description": "if set to true then the layout will give you a new instance of every item, even if it has a currently cached item to use. Using this will not stop you from saving and loading state via the {@link LayoutComponentWithState}interface. Defaults to false.\n * "
1107
1028
  }
1108
1029
  ],
1109
- "description": "Defines an element registry function with a set of element definition defaults.",
1030
+ "privacy": "public"
1031
+ },
1032
+ {
1033
+ "kind": "method",
1034
+ "name": "addItem",
1035
+ "parameters": [
1036
+ {
1037
+ "name": "config",
1038
+ "type": {
1039
+ "text": "RegisteredElementConfig | RegisteredElementConfig[]"
1040
+ },
1041
+ "description": "{@link RegisteredElementConfig}configuration items for the new items(s). Pass an array of {@link RegisteredElementConfig}to add multiple items at once.\n * "
1042
+ },
1043
+ {
1044
+ "name": "placement",
1045
+ "default": "defaultAddItemPlacement",
1046
+ "type": {
1047
+ "text": "Placement"
1048
+ },
1049
+ "description": "where and how to add the new items to the layout. For more info and defaults see {@link Placement}.\n * "
1050
+ }
1051
+ ],
1052
+ "privacy": "public"
1053
+ },
1054
+ {
1055
+ "kind": "method",
1056
+ "name": "removeItems",
1057
+ "return": {
1058
+ "type": {
1059
+ "text": ""
1060
+ }
1061
+ },
1062
+ "parameters": [
1063
+ {
1064
+ "name": "registration",
1065
+ "type": {
1066
+ "text": "string"
1067
+ },
1068
+ "description": "string of the registration ID"
1069
+ },
1070
+ {
1071
+ "name": "force",
1072
+ "default": "false",
1073
+ "type": {
1074
+ "text": "boolean"
1075
+ },
1076
+ "description": "if set to true then the item will be removed even if it is not closable. Defaults to false, which is the same behaviour as the close button on the header."
1077
+ }
1078
+ ],
1079
+ "privacy": "public"
1080
+ },
1081
+ {
1082
+ "kind": "method",
1083
+ "name": "registerItem",
1084
+ "return": {
1085
+ "type": {
1086
+ "text": ""
1087
+ }
1088
+ },
1089
+ "parameters": [
1090
+ {
1091
+ "name": "registration",
1092
+ "type": {
1093
+ "text": "string"
1094
+ },
1095
+ "description": "string of the registration ID"
1096
+ },
1097
+ {
1098
+ "name": "elements",
1099
+ "type": {
1100
+ "text": "Element[]"
1101
+ },
1102
+ "description": "Elements[] containing the reference to the elements to register for later usage"
1103
+ }
1104
+ ],
1105
+ "privacy": "public"
1106
+ },
1107
+ {
1108
+ "kind": "method",
1109
+ "name": "updateLifecycleToken",
1110
+ "privacy": "private",
1111
+ "return": {
1112
+ "type": {
1113
+ "text": "void"
1114
+ }
1115
+ },
1116
+ "description": "The `LifecycleMixin` can use the lifecycleUpdateToken to determine if it needs to gate\nlifecycle methods from running when other items have been added or deleted.\nThis key is updated every time one of these actions are performed, so you can check if the key has changed and know you potentially need to gate some of your lifecycle functionality.\nThis method should be called whenever we are about to perform an action which will cause a lifecycle update, should as adding or removing an item from the layout"
1117
+ },
1118
+ {
1119
+ "kind": "field",
1120
+ "name": "_presentation",
1121
+ "type": {
1122
+ "text": "ComponentPresentation | null | undefined"
1123
+ },
1124
+ "privacy": "private",
1125
+ "default": "void 0",
1110
1126
  "inheritedFrom": {
1111
1127
  "name": "FoundationElement",
1112
1128
  "module": "src/foundation-element/foundation-element.ts"
1113
1129
  }
1114
- }
1115
- ],
1116
- "attributes": [
1130
+ },
1117
1131
  {
1118
- "name": "size",
1132
+ "kind": "field",
1133
+ "name": "$presentation",
1119
1134
  "type": {
1120
- "text": "string"
1135
+ "text": "ComponentPresentation | null"
1121
1136
  },
1122
- "description": "optional string describing the size of the new item (see the written documentation for more info)",
1123
- "fieldName": "size"
1137
+ "privacy": "public",
1138
+ "description": "A property which resolves the ComponentPresentation instance\nfor the current component.",
1139
+ "inheritedFrom": {
1140
+ "name": "FoundationElement",
1141
+ "module": "src/foundation-element/foundation-element.ts"
1142
+ }
1124
1143
  },
1125
1144
  {
1126
- "name": "type",
1145
+ "kind": "field",
1146
+ "name": "template",
1127
1147
  "type": {
1128
- "text": "LayoutRegionType"
1148
+ "text": "ElementViewTemplate | void | null"
1129
1149
  },
1130
- "default": "defaultLayoutType",
1131
- "description": "Defines the LayoutRegionType| type of the region.\nDefaults to `horizontal`.",
1132
- "resolveInitializer": {
1133
- "module": "src/main/layout-region.ts"
1150
+ "privacy": "public",
1151
+ "description": "Sets the template of the element instance. When undefined,\nthe element will attempt to resolve the template from\nthe associated presentation or custom element definition.",
1152
+ "inheritedFrom": {
1153
+ "name": "FoundationElement",
1154
+ "module": "src/foundation-element/foundation-element.ts"
1155
+ }
1156
+ },
1157
+ {
1158
+ "kind": "method",
1159
+ "name": "templateChanged",
1160
+ "privacy": "protected",
1161
+ "return": {
1162
+ "type": {
1163
+ "text": "void"
1164
+ }
1134
1165
  },
1135
- "fieldName": "type"
1136
- }
1137
- ],
1138
- "superclass": {
1139
- "name": "FoundationElement",
1140
- "package": "@microsoft/fast-foundation"
1141
- },
1142
- "tagName": "%%prefix%%-layout-region",
1143
- "customElement": true
1144
- }
1145
- ],
1146
- "exports": [
1147
- {
1148
- "kind": "js",
1149
- "name": "FoundationLayoutRegion",
1150
- "declaration": {
1151
- "name": "FoundationLayoutRegion",
1152
- "module": "src/main/layout-region.ts"
1153
- }
1154
- }
1155
- ]
1156
- },
1157
- {
1158
- "kind": "javascript-module",
1159
- "path": "src/styles/constants.ts",
1160
- "declarations": [
1161
- {
1162
- "kind": "variable",
1163
- "name": "glVisualConfig",
1164
- "type": {
1165
- "text": "Omit<LayoutConfig, 'root'>"
1166
- },
1167
- "default": "{\n dimensions: {\n headerHeight: 38,\n borderWidth: 12,\n },\n header: {\n maximise: 'maximise',\n minimise: 'minimise',\n popout: false,\n },\n}"
1168
- },
1169
- {
1170
- "kind": "variable",
1171
- "name": "LAYOUT_ICONS",
1172
- "type": {
1173
- "text": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}"
1174
- },
1175
- "default": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}",
1176
- "description": "A collection of SVG icons in base64 format.",
1177
- "privacy": "public"
1178
- }
1179
- ],
1180
- "exports": [
1181
- {
1182
- "kind": "js",
1183
- "name": "glVisualConfig",
1184
- "declaration": {
1185
- "name": "glVisualConfig",
1186
- "module": "src/styles/constants.ts"
1187
- }
1188
- },
1189
- {
1190
- "kind": "js",
1191
- "name": "LAYOUT_ICONS",
1192
- "declaration": {
1193
- "name": "LAYOUT_ICONS",
1194
- "module": "src/styles/constants.ts"
1195
- }
1196
- }
1197
- ]
1198
- },
1199
- {
1200
- "kind": "javascript-module",
1201
- "path": "src/styles/dragging.styles.ts",
1202
- "declarations": [
1203
- {
1204
- "kind": "variable",
1205
- "name": "globalDraggingStyles",
1206
- "default": "`\n .lm_dragProxy .lm_content {\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);\n }\n .lm_dropTargetIndicator {\n box-shadow: inset 0 0 30px #000000;\n outline: 1px dashed #cccccc;\n transition: all 200ms ease;\n }\n .lm_dropTargetIndicator .lm_inner {\n background: var(${neutralFillStealthRest.cssCustomProperty});\n opacity: 0.2;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_dragProxy {\n cursor: move;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_title {\n color: white;\n padding-left: 10px;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n`",
1207
- "description": "This is defined as a string rather than a css template\nbecause it is applied to a CSSStyleSheet object rather than\nused as a FAST template"
1208
- }
1209
- ],
1210
- "exports": [
1211
- {
1212
- "kind": "js",
1213
- "name": "globalDraggingStyles",
1214
- "declaration": {
1215
- "name": "globalDraggingStyles",
1216
- "module": "src/styles/dragging.styles.ts"
1217
- }
1218
- }
1219
- ]
1220
- },
1221
- {
1222
- "kind": "javascript-module",
1223
- "path": "src/styles/index.ts",
1224
- "declarations": [],
1225
- "exports": [
1226
- {
1227
- "kind": "js",
1228
- "name": "*",
1229
- "declaration": {
1230
- "name": "*",
1231
- "package": "./constants"
1232
- }
1233
- },
1234
- {
1235
- "kind": "js",
1236
- "name": "*",
1237
- "declaration": {
1238
- "name": "*",
1239
- "package": "./dragging.styles"
1240
- }
1241
- },
1242
- {
1243
- "kind": "js",
1244
- "name": "*",
1245
- "declaration": {
1246
- "name": "*",
1247
- "package": "./layout.styles"
1248
- }
1249
- }
1250
- ]
1251
- },
1252
- {
1253
- "kind": "javascript-module",
1254
- "path": "src/styles/layout.styles.ts",
1255
- "declarations": [
1256
- {
1257
- "kind": "variable",
1258
- "name": "layoutStyles",
1259
- "default": "css`\n ${containerStyles}\n ${loadingSpinnerStyles}\n\n .lm_goldenlayout {\n padding: 1px;\n background: ${neutralLayer1};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n\n .lm_stack.lm_item {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n }\n .lm_maximised .lm_header {\n background-color: ${neutralLayer4};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n position: unset;\n }\n\n .lm_maximised .lm_header .lm_tabs {\n z-index: 3;\n }\n\n .lm_content {\n background-color: ${neutralLayer3};\n border-radius: calc(${controlCornerRadius} * 1.5px);\n border: 1px solid;\n border-color: #2e3339;\n box-sizing: border-box;\n }\n\n .lm-header {\n z-index: 1;\n }\n .lm_header .lm_tabs {\n padding: 0 16px;\n }\n\n .lm_stack > .lm_items {\n z-index: 2;\n box-shadow: 0px -1px 15px rgba(0, 0, 0, 0.35);\n }\n\n .lm_header .lm_tab.lm_active.lm_focused {\n background-color: ${neutralLayer3};\n }\n .lm_header .lm_tab.lm_active {\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-bottom: 0;\n color: ${accentFillRest};\n }\n\n .lm_header .lm_tab {\n align-items: center;\n background-color: ${neutralLayer4};\n border: 1px solid;\n border-bottom-color: #2e3339;\n border-bottom: 0px solid;\n border-color: rgba(0, 0, 0, 0.35);\n border-radius: calc(${controlCornerRadius} * 1.5px) calc(${controlCornerRadius} * 1.5px) 0 0;\n box-shadow: 1px -1px 2px rgba(0, 0, 0, 0.35);\n color: rgba(255, 255, 255, 0.3);\n display: flex;\n font-family: inherit;\n font-size: 13px;\n font-weight: 700;\n height: 30px;\n margin-right: 2px;\n margin-top: 3px;\n padding: 2px 16px;\n }\n\n .lm_header .lm_tab:not(.lm_active):hover {\n background-color: rgba(255, 255, 255, 0.1);\n color: #f1f1f1;\n }\n\n .lm_header .lm_controls {\n top: 4px;\n display: flex;\n }\n .lm_header .lm_controls > * {\n width: 30px;\n height: 30px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 16px;\n background-color: rgba(255, 255, 255, 0.03);\n border-radius: calc(${controlCornerRadius} * 1.5px);\n margin-right: 4px;\n top: 3px;\n opacity: 1;\n }\n .lm_header .lm_controls > *:hover {\n background-color: rgba(255, 255, 255, 0.1);\n cursor: pointer;\n }\n\n .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.maximiseSVG}');\n }\n .lm_maximised .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.minimiseSVG}');\n }\n .lm_controls .lm_close {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n }\n .lm_header .lm_tab .lm_close_tab {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n background-size: 10px;\n background-repeat: no-repeat;\n margin-left: 12px;\n position: relative;\n top: 0;\n right: 0;\n }\n\n .lm_header .lm_tab.lm_active {\n padding: 4px 25px 3px 10px;\n }\n\n .lm_header .lm_tab:not(.lm_active) .lm_title {\n color: ${accentFillRest};\n opacity: 0.7;\n }\n\n .lm_header .lm_controls .lm_tabdropdown::before {\n content: none;\n }\n .lm_header .lm_controls .lm_tabdropdown {\n background-image: url('${LAYOUT_ICONS.tabDropdownSVG}');\n }\n .lm_header .lm_tabdropdown_list {\n top: 38px;\n right: 108px;\n background-color: ${neutralLayer3};\n border: 1px solid;\n border-color: #2e3339;\n border-radius: calc(${controlCornerRadius} * 1.5px);\n box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);\n }\n .lm_header .lm_tabdropdown_list > .lm_tab {\n box-shadow: none;\n padding: 0 16px;\n white-space: nowrap;\n background-color: transparent;\n color: #c9c9c9;\n height: 36px;\n border-radius: 0;\n overflow: visible;\n text-overflow: normal;\n }\n .lm_header .lm_tabdropdown_list > .lm_tab:last-child {\n border-bottom: 0;\n }\n\n /* gl base styles start */\n .lm_root {\n position: relative;\n }\n .lm_row > .lm_item {\n float: left;\n }\n .lm_content {\n overflow: hidden;\n position: relative;\n }\n .lm_dragging,\n .lm_dragging * {\n cursor: move !important;\n user-select: none;\n }\n .lm_maximised {\n left: 0;\n padding: 1px;\n position: absolute;\n top: 0;\n z-index: 40;\n }\n .lm_maximise_placeholder {\n display: none;\n }\n .lm_splitter {\n position: relative;\n z-index: 20;\n }\n .lm_splitter:hover,\n .lm_splitter.lm_dragging {\n background: ${accentFillRest};\n border-radius: calc(${controlCornerRadius} * 4px);\n }\n .lm_splitter.lm_vertical .lm_drag_handle {\n width: 100%;\n height: 15px;\n position: absolute;\n top: -5px;\n cursor: ns-resize !important;\n }\n .lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n }\n .lm_splitter.lm_horizontal .lm_drag_handle {\n width: 15px;\n height: 100%;\n position: absolute;\n left: -5px;\n cursor: ew-resize !important;\n }\n .lm_header {\n overflow: visible;\n position: relative;\n z-index: 1;\n }\n .lm_header [class^='lm_'] {\n box-sizing: content-box !important;\n }\n .lm_header .lm_controls {\n position: absolute;\n right: 3px;\n }\n .lm_header .lm_controls > li {\n cursor: pointer;\n float: left;\n width: 18px;\n height: 18px;\n text-align: center;\n }\n .lm_header ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n .lm_header .lm_tabs {\n position: absolute;\n }\n .lm_header .lm_tab {\n cursor: pointer;\n float: left;\n margin-top: 1px;\n padding: 3px 25px 3px 10px;\n position: relative;\n }\n .lm_header .lm_tab i {\n width: 2px;\n height: 19px;\n position: absolute;\n }\n .lm_header .lm_tab i.lm_left {\n top: 0;\n left: -2px;\n }\n .lm_header .lm_tab i.lm_right {\n top: 0;\n right: -2px;\n }\n .lm_header .lm_tab .lm_title {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n }\n .lm_header .lm_tab .lm_title:only-child {\n padding-left: 10px;\n }\n .lm_header .lm_tab .lm_close_tab {\n width: 14px;\n height: 14px;\n position: absolute;\n top: 11px;\n right: 0;\n text-align: center;\n }\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n height: 100%;\n }\n .lm_dragProxy.lm_left .lm_header,\n .lm_dragProxy.lm_right .lm_header,\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n width: 20px;\n float: left;\n vertical-align: top;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform-origin: left top;\n top: 0;\n width: 1000px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_controls,\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_left .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n bottom: 0;\n }\n .lm_dragProxy.lm_left .lm_items,\n .lm_dragProxy.lm_right .lm_items,\n .lm_stack.lm_left .lm_items,\n .lm_stack.lm_right .lm_items {\n float: left;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs,\n .lm_stack.lm_left .lm_header .lm_tabs {\n transform: rotate(-90deg) scaleX(-1);\n left: 0;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab,\n .lm_stack.lm_left .lm_header .lm_tabs .lm_tab {\n transform: scaleX(-1);\n margin-top: 1px;\n }\n .lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_left .lm_header .lm_tabdropdown_list {\n top: initial;\n right: initial;\n left: 20px;\n }\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabs,\n .lm_stack.lm_right .lm_header .lm_tabs {\n transform: rotate(90deg) scaleX(1);\n left: 100%;\n margin-left: 0;\n }\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n left: 3px;\n }\n .lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_right .lm_header .lm_tabdropdown_list {\n top: initial;\n right: 20px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tab,\n .lm_stack.lm_bottom .lm_header .lm_tab {\n margin-top: 0;\n border-top: none;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\n .lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list,\n .lm_stack.lm_bottom .lm_header .lm_tabdropdown_list {\n top: initial;\n bottom: 20px;\n }\n .lm_drop_tab_placeholder {\n float: left;\n width: 100px;\n height: 10px;\n visibility: hidden;\n }\n .lm_header .lm_tabdropdown_list {\n position: absolute;\n top: 20px;\n right: 0;\n z-index: 5;\n overflow: hidden;\n }\n .lm_header .lm_tabdropdown_list .lm_tab {\n clear: both;\n padding-right: 10px;\n margin: 0;\n }\n .lm_header .lm_tabdropdown_list .lm_tab .lm_title {\n width: 100px;\n }\n .lm_header .lm_tabdropdown_list .lm_close_tab {\n display: none !important;\n }\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n }\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\n .lm_transition_indicator {\n display: none;\n width: 20px;\n height: 20px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n }\n .lm_popin {\n width: 20px;\n height: 20px;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n .lm_popin > * {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n }\n .lm_popin > .lm_bg {\n z-index: 10;\n }\n .lm_popin > .lm_icon {\n z-index: 20;\n } /*# sourceMappingURL=goldenlayout-base.css.map */\n`",
1260
- "description": "`ElementStyles` which defines the css for FoundationLayout.",
1261
- "privacy": "public"
1262
- }
1263
- ],
1264
- "exports": [
1265
- {
1266
- "kind": "js",
1267
- "name": "layoutStyles",
1268
- "declaration": {
1269
- "name": "layoutStyles",
1270
- "module": "src/styles/layout.styles.ts"
1271
- }
1272
- }
1273
- ]
1274
- },
1275
- {
1276
- "kind": "javascript-module",
1277
- "path": "src/utils/constants.ts",
1278
- "declarations": [
1279
- {
1280
- "kind": "variable",
1281
- "name": "DEFAULT_RELOAD_BUFFER",
1282
- "type": {
1283
- "text": "number"
1284
- },
1285
- "default": "500",
1286
- "description": "Default time in milliseconds for the layout to buffer calls to reloading\nthe layout while the declarative API is loading.\n\nDuring the first load of the layout, a loading spinner will be shown.",
1287
- "privacy": "public"
1288
- },
1289
- {
1290
- "kind": "variable",
1291
- "name": "LAYOUT_POPOUT_CONTAINER_CLASS",
1292
- "type": {
1293
- "text": "string"
1294
- },
1295
- "default": "'f-layout-popout'",
1296
- "description": "Put this classname on an element which is a DOM parent of the layout, and\nif the layout goes into popout mode then it will place itself as the only child\nfor the popout container you set."
1297
- }
1298
- ],
1299
- "exports": [
1300
- {
1301
- "kind": "js",
1302
- "name": "DEFAULT_RELOAD_BUFFER",
1303
- "declaration": {
1304
- "name": "DEFAULT_RELOAD_BUFFER",
1305
- "module": "src/utils/constants.ts"
1306
- }
1307
- },
1308
- {
1309
- "kind": "js",
1310
- "name": "LAYOUT_POPOUT_CONTAINER_CLASS",
1311
- "declaration": {
1312
- "name": "LAYOUT_POPOUT_CONTAINER_CLASS",
1313
- "module": "src/utils/constants.ts"
1314
- }
1315
- }
1316
- ]
1317
- },
1318
- {
1319
- "kind": "javascript-module",
1320
- "path": "src/utils/error.ts",
1321
- "declarations": [
1322
- {
1323
- "kind": "class",
1324
- "description": "",
1325
- "name": "LayoutUsageError",
1326
- "superclass": {
1327
- "name": "Error",
1328
- "module": "src/utils/error.ts"
1329
- }
1330
- },
1331
- {
1332
- "kind": "class",
1333
- "description": "",
1334
- "name": "LayoutRegistrationError",
1335
- "superclass": {
1336
- "name": "Error",
1337
- "module": "src/utils/error.ts"
1338
- }
1339
- }
1340
- ],
1341
- "exports": [
1342
- {
1343
- "kind": "js",
1344
- "name": "LayoutUsageError",
1345
- "declaration": {
1346
- "name": "LayoutUsageError",
1347
- "module": "src/utils/error.ts"
1348
- }
1349
- },
1350
- {
1351
- "kind": "js",
1352
- "name": "LayoutRegistrationError",
1353
- "declaration": {
1354
- "name": "LayoutRegistrationError",
1355
- "module": "src/utils/error.ts"
1356
- }
1357
- }
1358
- ]
1359
- },
1360
- {
1361
- "kind": "javascript-module",
1362
- "path": "src/utils/events.ts",
1363
- "declarations": [
1364
- {
1365
- "kind": "variable",
1366
- "name": "LayoutEmitEvents",
1367
- "type": {
1368
- "text": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}"
1369
- },
1370
- "default": "{\n firstLoaded: 'first-loaded',\n itemAdded: 'item-added',\n itemRemoved: 'item-removed',\n itemResized: 'item-resized',\n}",
1371
- "description": "Defines events that the layout system emits\n\n'firstLoaded' - emitted when the layout has finished loading the first time\nusing the declarative API after DEFAULT_RELOAD_BUFFER ms.\n<br/>\n'itemAdded' - emitted when an item is added to the layout'\n<br/>\n'itemRemoved' - emitted when an item is removed from the layout'\n<br/>\n'itemResized' - emitted when the user drags the divider to resize elements",
1372
- "privacy": "public"
1373
- },
1374
- {
1375
- "kind": "variable",
1376
- "name": "LayoutReceiveEvents",
1377
- "type": {
1378
- "text": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}"
1379
- },
1380
- "default": "{\n changeTitle: 'change-title',\n autosave: 'autosave',\n}",
1381
- "description": "Defines events that the layout system listens for\n\n'changeTitle' - emit this from a contained item to update the title of the window that contains it.\n'autosave' - emit this from a contained item to hint to the layout system that it should autosave the layout. A contained item should do this if it has just changed some state it would like to persist. See LayoutComponentWithState.",
1382
- "privacy": "public"
1383
- }
1384
- ],
1385
- "exports": [
1386
- {
1387
- "kind": "js",
1388
- "name": "LayoutEmitEvents",
1389
- "declaration": {
1390
- "name": "LayoutEmitEvents",
1391
- "module": "src/utils/events.ts"
1392
- }
1393
- },
1394
- {
1395
- "kind": "js",
1396
- "name": "LayoutReceiveEvents",
1397
- "declaration": {
1398
- "name": "LayoutReceiveEvents",
1399
- "module": "src/utils/events.ts"
1400
- }
1401
- }
1402
- ]
1403
- },
1404
- {
1405
- "kind": "javascript-module",
1406
- "path": "src/utils/index.ts",
1407
- "declarations": [],
1408
- "exports": [
1409
- {
1410
- "kind": "js",
1411
- "name": "*",
1412
- "declaration": {
1413
- "name": "*",
1414
- "package": "./constants"
1415
- }
1416
- },
1417
- {
1418
- "kind": "js",
1419
- "name": "*",
1420
- "declaration": {
1421
- "name": "*",
1422
- "package": "./error"
1423
- }
1424
- },
1425
- {
1426
- "kind": "js",
1427
- "name": "*",
1428
- "declaration": {
1429
- "name": "*",
1430
- "package": "./events"
1431
- }
1166
+ "inheritedFrom": {
1167
+ "name": "FoundationElement",
1168
+ "module": "src/foundation-element/foundation-element.ts"
1169
+ }
1170
+ },
1171
+ {
1172
+ "kind": "field",
1173
+ "name": "styles",
1174
+ "type": {
1175
+ "text": "ElementStyles | void | null"
1176
+ },
1177
+ "privacy": "public",
1178
+ "description": "Sets the default styles for the element instance. When undefined,\nthe element will attempt to resolve default styles from\nthe associated presentation or custom element definition.",
1179
+ "inheritedFrom": {
1180
+ "name": "FoundationElement",
1181
+ "module": "src/foundation-element/foundation-element.ts"
1182
+ }
1183
+ },
1184
+ {
1185
+ "kind": "method",
1186
+ "name": "stylesChanged",
1187
+ "privacy": "protected",
1188
+ "return": {
1189
+ "type": {
1190
+ "text": "void"
1191
+ }
1192
+ },
1193
+ "inheritedFrom": {
1194
+ "name": "FoundationElement",
1195
+ "module": "src/foundation-element/foundation-element.ts"
1196
+ }
1197
+ },
1198
+ {
1199
+ "kind": "method",
1200
+ "name": "compose",
1201
+ "privacy": "public",
1202
+ "static": true,
1203
+ "return": {
1204
+ "type": {
1205
+ "text": "(\n overrideDefinition?: OverrideFoundationElementDefinition<T>\n ) => FoundationElementRegistry<T, K>"
1206
+ }
1207
+ },
1208
+ "parameters": [
1209
+ {
1210
+ "name": "this",
1211
+ "type": {
1212
+ "text": "K"
1213
+ }
1214
+ },
1215
+ {
1216
+ "name": "elementDefinition",
1217
+ "type": {
1218
+ "text": "T"
1219
+ },
1220
+ "description": "The definition of the element to create the registry\nfunction for."
1221
+ }
1222
+ ],
1223
+ "description": "Defines an element registry function with a set of element definition defaults.",
1224
+ "inheritedFrom": {
1225
+ "name": "FoundationElement",
1226
+ "module": "src/foundation-element/foundation-element.ts"
1227
+ }
1228
+ }
1229
+ ],
1230
+ "events": [
1231
+ {
1232
+ "description": "emitted when the layout has finished loading the first time",
1233
+ "name": "first-loaded"
1234
+ },
1235
+ {
1236
+ "description": "emitted when an item is added to the layout",
1237
+ "name": "item-added"
1238
+ },
1239
+ {
1240
+ "description": "emitted when an item is removed from the layout",
1241
+ "name": "item-removed"
1242
+ },
1243
+ {
1244
+ "description": "emitted when the user drags the divider to resize elements",
1245
+ "name": "item-resized"
1246
+ }
1247
+ ],
1248
+ "attributes": [
1249
+ {
1250
+ "name": "reload-buffer",
1251
+ "type": {
1252
+ "text": "number"
1253
+ },
1254
+ "default": "DEFAULT_RELOAD_BUFFER",
1255
+ "description": "Number describing how long to wait in ms before reloading the config when adding items\ndeclaratively by the html API. Default 500 (ms).",
1256
+ "resolveInitializer": {
1257
+ "module": "/src/utils/"
1258
+ },
1259
+ "fieldName": "reloadBuffer"
1260
+ },
1261
+ {
1262
+ "name": "auto-save-key",
1263
+ "type": {
1264
+ "text": "string | undefined"
1265
+ },
1266
+ "description": "Attribute which if set will auto save and load the layout as the user changes it.\nOmit this attribute to disable this feature.\nSet attribute using `auto-save-key`.",
1267
+ "fieldName": "autoSaveKey"
1268
+ },
1269
+ {
1270
+ "name": "popout-config",
1271
+ "type": {
1272
+ "text": "string | undefined"
1273
+ },
1274
+ "default": "undefined",
1275
+ "description": "Controls whether popout functionality is enabled on the layout. Defaults to disabled.\nSet this attribute to any string to enable popout functionality. If this string is of format `number;number` then this will be interpreted as the width and height of the popout window.",
1276
+ "resolveInitializer": {
1277
+ "module": "src/main/layout-main.ts"
1278
+ },
1279
+ "fieldName": "popoutConfig"
1280
+ },
1281
+ {
1282
+ "name": "hideCloseIcons",
1283
+ "type": {
1284
+ "text": "boolean"
1285
+ },
1286
+ "default": "false",
1287
+ "fieldName": "showCloseIcons"
1288
+ },
1289
+ {
1290
+ "name": "showMaximiseIcons",
1291
+ "type": {
1292
+ "text": "boolean"
1293
+ },
1294
+ "default": "false",
1295
+ "fieldName": "showMaximiseIcons"
1296
+ }
1297
+ ],
1298
+ "superclass": {
1299
+ "name": "FoundationElement",
1300
+ "package": "@microsoft/fast-foundation"
1301
+ },
1302
+ "tagName": "%%prefix%%-layout",
1303
+ "customElement": true
1432
1304
  },
1433
1305
  {
1434
- "kind": "js",
1435
- "name": "*",
1436
- "declaration": {
1437
- "name": "*",
1438
- "package": "./misc"
1439
- }
1440
- },
1306
+ "kind": "variable",
1307
+ "name": "layoutTemplate",
1308
+ "default": "html<FoundationLayout>`\n <template>\n ${when((x) => !x.hasFirstLoaded && x.usingDeclerativeAPI, loadingTemplate)}\n <div class=\"layout-container\" ${ref('layoutElement')}></div>\n </template>\n`",
1309
+ "description": "`ViewTemplate` which defines the html for FoundationLayout.",
1310
+ "privacy": "public"
1311
+ }
1312
+ ],
1313
+ "exports": [
1441
1314
  {
1442
1315
  "kind": "js",
1443
- "name": "*",
1316
+ "name": "layoutStyles",
1444
1317
  "declaration": {
1445
- "name": "*",
1446
- "package": "./templates"
1318
+ "name": "layoutStyles",
1319
+ "module": "../styles"
1447
1320
  }
1448
1321
  },
1449
1322
  {
1450
1323
  "kind": "js",
1451
- "name": "*",
1324
+ "name": "FoundationLayout",
1452
1325
  "declaration": {
1453
- "name": "*",
1454
- "package": "./types"
1326
+ "name": "FoundationLayout",
1327
+ "module": "src/main/layout-main.ts"
1455
1328
  }
1456
1329
  },
1457
1330
  {
1458
1331
  "kind": "js",
1459
- "name": "*",
1332
+ "name": "layoutTemplate",
1460
1333
  "declaration": {
1461
- "name": "*",
1462
- "package": "./error"
1334
+ "name": "layoutTemplate",
1335
+ "module": "src/main/layout-main.ts"
1463
1336
  }
1464
1337
  }
1465
1338
  ]
1466
1339
  },
1467
1340
  {
1468
1341
  "kind": "javascript-module",
1469
- "path": "src/utils/logger.ts",
1342
+ "path": "src/main/layout-region.ts",
1470
1343
  "declarations": [
1471
1344
  {
1472
- "kind": "variable",
1473
- "name": "logger"
1345
+ "kind": "class",
1346
+ "description": "",
1347
+ "name": "FoundationLayoutRegion",
1348
+ "members": [
1349
+ {
1350
+ "kind": "field",
1351
+ "name": "size",
1352
+ "type": {
1353
+ "text": "string"
1354
+ },
1355
+ "description": "optional string describing the size of the new item (see the written documentation for more info)",
1356
+ "privacy": "public"
1357
+ },
1358
+ {
1359
+ "kind": "field",
1360
+ "name": "type",
1361
+ "type": {
1362
+ "text": "LayoutRegionType"
1363
+ },
1364
+ "default": "layoutRegionValue[0]",
1365
+ "description": "Defines the LayoutRegionType| type of the region.\nDefaults to `horizontal`.",
1366
+ "privacy": "public"
1367
+ },
1368
+ {
1369
+ "kind": "field",
1370
+ "name": "_presentation",
1371
+ "type": {
1372
+ "text": "ComponentPresentation | null | undefined"
1373
+ },
1374
+ "privacy": "private",
1375
+ "default": "void 0",
1376
+ "inheritedFrom": {
1377
+ "name": "FoundationElement",
1378
+ "module": "src/foundation-element/foundation-element.ts"
1379
+ }
1380
+ },
1381
+ {
1382
+ "kind": "field",
1383
+ "name": "$presentation",
1384
+ "type": {
1385
+ "text": "ComponentPresentation | null"
1386
+ },
1387
+ "privacy": "public",
1388
+ "description": "A property which resolves the ComponentPresentation instance\nfor the current component.",
1389
+ "inheritedFrom": {
1390
+ "name": "FoundationElement",
1391
+ "module": "src/foundation-element/foundation-element.ts"
1392
+ }
1393
+ },
1394
+ {
1395
+ "kind": "field",
1396
+ "name": "template",
1397
+ "type": {
1398
+ "text": "ElementViewTemplate | void | null"
1399
+ },
1400
+ "privacy": "public",
1401
+ "description": "Sets the template of the element instance. When undefined,\nthe element will attempt to resolve the template from\nthe associated presentation or custom element definition.",
1402
+ "inheritedFrom": {
1403
+ "name": "FoundationElement",
1404
+ "module": "src/foundation-element/foundation-element.ts"
1405
+ }
1406
+ },
1407
+ {
1408
+ "kind": "method",
1409
+ "name": "templateChanged",
1410
+ "privacy": "protected",
1411
+ "return": {
1412
+ "type": {
1413
+ "text": "void"
1414
+ }
1415
+ },
1416
+ "inheritedFrom": {
1417
+ "name": "FoundationElement",
1418
+ "module": "src/foundation-element/foundation-element.ts"
1419
+ }
1420
+ },
1421
+ {
1422
+ "kind": "field",
1423
+ "name": "styles",
1424
+ "type": {
1425
+ "text": "ElementStyles | void | null"
1426
+ },
1427
+ "privacy": "public",
1428
+ "description": "Sets the default styles for the element instance. When undefined,\nthe element will attempt to resolve default styles from\nthe associated presentation or custom element definition.",
1429
+ "inheritedFrom": {
1430
+ "name": "FoundationElement",
1431
+ "module": "src/foundation-element/foundation-element.ts"
1432
+ }
1433
+ },
1434
+ {
1435
+ "kind": "method",
1436
+ "name": "stylesChanged",
1437
+ "privacy": "protected",
1438
+ "return": {
1439
+ "type": {
1440
+ "text": "void"
1441
+ }
1442
+ },
1443
+ "inheritedFrom": {
1444
+ "name": "FoundationElement",
1445
+ "module": "src/foundation-element/foundation-element.ts"
1446
+ }
1447
+ },
1448
+ {
1449
+ "kind": "method",
1450
+ "name": "compose",
1451
+ "privacy": "public",
1452
+ "static": true,
1453
+ "return": {
1454
+ "type": {
1455
+ "text": "(\n overrideDefinition?: OverrideFoundationElementDefinition<T>\n ) => FoundationElementRegistry<T, K>"
1456
+ }
1457
+ },
1458
+ "parameters": [
1459
+ {
1460
+ "name": "this",
1461
+ "type": {
1462
+ "text": "K"
1463
+ }
1464
+ },
1465
+ {
1466
+ "name": "elementDefinition",
1467
+ "type": {
1468
+ "text": "T"
1469
+ },
1470
+ "description": "The definition of the element to create the registry\nfunction for."
1471
+ }
1472
+ ],
1473
+ "description": "Defines an element registry function with a set of element definition defaults.",
1474
+ "inheritedFrom": {
1475
+ "name": "FoundationElement",
1476
+ "module": "src/foundation-element/foundation-element.ts"
1477
+ }
1478
+ }
1479
+ ],
1480
+ "attributes": [
1481
+ {
1482
+ "name": "size",
1483
+ "type": {
1484
+ "text": "string"
1485
+ },
1486
+ "description": "optional string describing the size of the new item (see the written documentation for more info)",
1487
+ "fieldName": "size"
1488
+ },
1489
+ {
1490
+ "name": "type",
1491
+ "type": {
1492
+ "text": "LayoutRegionType"
1493
+ },
1494
+ "default": "defaultLayoutType",
1495
+ "description": "Defines the LayoutRegionType| type of the region.\nDefaults to `horizontal`.",
1496
+ "resolveInitializer": {
1497
+ "module": "src/main/layout-region.ts"
1498
+ },
1499
+ "fieldName": "type"
1500
+ }
1501
+ ],
1502
+ "superclass": {
1503
+ "name": "FoundationElement",
1504
+ "package": "@microsoft/fast-foundation"
1505
+ },
1506
+ "tagName": "%%prefix%%-layout-region",
1507
+ "customElement": true
1474
1508
  }
1475
1509
  ],
1476
1510
  "exports": [
1477
1511
  {
1478
1512
  "kind": "js",
1479
- "name": "logger",
1513
+ "name": "FoundationLayoutRegion",
1480
1514
  "declaration": {
1481
- "name": "logger",
1482
- "module": "src/utils/logger.ts"
1515
+ "name": "FoundationLayoutRegion",
1516
+ "module": "src/main/layout-region.ts"
1483
1517
  }
1484
1518
  }
1485
1519
  ]
1486
- },
1487
- {
1488
- "kind": "javascript-module",
1489
- "path": "src/utils/misc.ts",
1490
- "declarations": [],
1491
- "exports": []
1492
- },
1493
- {
1494
- "kind": "javascript-module",
1495
- "path": "src/utils/templates.ts",
1496
- "declarations": [],
1497
- "exports": []
1498
- },
1499
- {
1500
- "kind": "javascript-module",
1501
- "path": "src/utils/types.ts",
1502
- "declarations": [],
1503
- "exports": []
1504
1520
  }
1505
1521
  ]
1506
1522
  }