@genesislcap/foundation-layout 14.227.2-alpha-0859250.0 → 14.227.3

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