@genesislcap/foundation-layout 14.117.0 → 14.118.0

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