@genesislcap/foundation-layout 14.393.3-FUI-2471.3 → 14.393.3-FUI-2471.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/POPOUT_TODO.md ADDED
@@ -0,0 +1,46 @@
1
+ # Foundation Layout TODOs
2
+
3
+ ## Multi-Instance Popouts
4
+ Currently, the popout system keys windows and state by their `registration` ID. This limits the layout to having only one instance of a specific component type (e.g., `rapid-grid-pro`) popped out at a time.
5
+
6
+ ### Proposed Improvement
7
+ Support multiple popouts of the same registration by introducing a unique `instanceId` (UUID).
8
+
9
+ - **URL Parameters**: Add a unique instance ID to the popout URL (e.g., `?layout-popout-control-key=my-grid&layout-popout-instance-id=uuid-123`).
10
+ - **Registry**: Update `FoundationLayoutPopoutController` to key the `popoutRegistry` by the unique `instanceId` rather than the `registration` name.
11
+ - **State Persistence**: Ensure the serialized layout stores the `registration` name alongside the state for each `instanceId` so they can be recreated correctly on restoration.
12
+ - **Communication**: Update the broadcast channel messages (`popout-update`, `popout-sync`, etc.) to use the `instanceId` for targeting and identification.
13
+
14
+ ## Configurable Popout Headers
15
+ A client has requested the ability to see the component header (title and custom buttons) inside the popout window, while still hiding the standard Golden Layout controls (Close, Maximise, and Popout-in-Popout).
16
+
17
+ ### Proposed Improvement
18
+ 1. **Update Configuration**: Add `showHeaders?: boolean` to the `LayoutPopoutConfig` interface (defaulting to `false`).
19
+ 2. **Update Activation Logic**:
20
+ - In `tryActivatePopoutMode`, pass the `showHeaders` value to the Golden Layout `settings.hasHeaders` property.
21
+ - Configure the root component item to disable standard buttons while allowing the header to render:
22
+ ```typescript
23
+ header: {
24
+ maximise: false,
25
+ close: false,
26
+ popout: false,
27
+ }
28
+ ```
29
+ 3. **Custom Buttons**: Ensure that the `setupCustomButtons` logic continues to run in the popout window so that the user's custom tools are injected into the newly visible header.
30
+
31
+ ## Restore on Manual Close
32
+ Currently, when a user manually closes a popout window, the component is removed from the layout entirely. We want to restore it to the main layout automatically.
33
+
34
+ ### Proposed Solution
35
+ 1. **Detect Manual Close**:
36
+ - In `FoundationLayoutPopoutController`, add a flag `isClosingAll` (boolean).
37
+ - Set `isClosingAll = true` at the start of `closeAllPopouts()` and `false` at the end.
38
+ - In the `popout-closed` event handler, check if `!isClosingAll`. If true, this is a manual user action.
39
+
40
+ 2. **Trigger Restoration**:
41
+ - If manual close is detected, call a restoration method on the parent `FoundationLayout` (e.g., `restoreItem`).
42
+ - Pass the `registration` ID and the final `state` (captured from the registry before deletion).
43
+
44
+ 3. **Implement `restoreItem`**:
45
+ - Update `FoundationLayout` to support restoring an item with its state preserved.
46
+ - This likely requires updating `addItem` or creating a new method that accepts `initialState` (or `componentState`) in the configuration, so the component re-initializes with its previous data (filters, scroll position, etc.).
@@ -670,16 +670,6 @@
670
670
  "text": "boolean"
671
671
  }
672
672
  },
673
- "parameters": [
674
- {
675
- "name": "autoloading",
676
- "default": "false",
677
- "type": {
678
- "text": "boolean"
679
- },
680
- "description": "If true, this respects the {@link LayoutPopoutConfig.loadAutomatically}property.\n * You might want to set this to false and call it manually if you're manually registering components to the layout in order to avoid race conditions.\n * "
681
- }
682
- ],
683
673
  "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."
684
674
  },
685
675
  {
@@ -1464,6 +1454,125 @@
1464
1454
  }
1465
1455
  ]
1466
1456
  },
1457
+ {
1458
+ "kind": "javascript-module",
1459
+ "path": "src/styles/constants.ts",
1460
+ "declarations": [
1461
+ {
1462
+ "kind": "function",
1463
+ "name": "glVisualConfig",
1464
+ "return": {
1465
+ "type": {
1466
+ "text": "Omit<LayoutConfig, 'root'>"
1467
+ }
1468
+ }
1469
+ },
1470
+ {
1471
+ "kind": "variable",
1472
+ "name": "LAYOUT_ICONS",
1473
+ "type": {
1474
+ "text": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}"
1475
+ },
1476
+ "default": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}",
1477
+ "description": "A collection of SVG icons in base64 format.",
1478
+ "privacy": "public"
1479
+ }
1480
+ ],
1481
+ "exports": [
1482
+ {
1483
+ "kind": "js",
1484
+ "name": "glVisualConfig",
1485
+ "declaration": {
1486
+ "name": "glVisualConfig",
1487
+ "module": "src/styles/constants.ts"
1488
+ }
1489
+ },
1490
+ {
1491
+ "kind": "js",
1492
+ "name": "LAYOUT_ICONS",
1493
+ "declaration": {
1494
+ "name": "LAYOUT_ICONS",
1495
+ "module": "src/styles/constants.ts"
1496
+ }
1497
+ }
1498
+ ]
1499
+ },
1500
+ {
1501
+ "kind": "javascript-module",
1502
+ "path": "src/styles/dragging.styles.ts",
1503
+ "declarations": [
1504
+ {
1505
+ "kind": "variable",
1506
+ "name": "globalDraggingStyles",
1507
+ "default": "`\n .lm_dragProxy .lm_content {\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);\n }\n .lm_dropTargetIndicator {\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`",
1508
+ "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"
1509
+ }
1510
+ ],
1511
+ "exports": [
1512
+ {
1513
+ "kind": "js",
1514
+ "name": "globalDraggingStyles",
1515
+ "declaration": {
1516
+ "name": "globalDraggingStyles",
1517
+ "module": "src/styles/dragging.styles.ts"
1518
+ }
1519
+ }
1520
+ ]
1521
+ },
1522
+ {
1523
+ "kind": "javascript-module",
1524
+ "path": "src/styles/index.ts",
1525
+ "declarations": [],
1526
+ "exports": [
1527
+ {
1528
+ "kind": "js",
1529
+ "name": "*",
1530
+ "declaration": {
1531
+ "name": "*",
1532
+ "package": "./constants"
1533
+ }
1534
+ },
1535
+ {
1536
+ "kind": "js",
1537
+ "name": "*",
1538
+ "declaration": {
1539
+ "name": "*",
1540
+ "package": "./dragging.styles"
1541
+ }
1542
+ },
1543
+ {
1544
+ "kind": "js",
1545
+ "name": "*",
1546
+ "declaration": {
1547
+ "name": "*",
1548
+ "package": "./layout.styles"
1549
+ }
1550
+ }
1551
+ ]
1552
+ },
1553
+ {
1554
+ "kind": "javascript-module",
1555
+ "path": "src/styles/layout.styles.ts",
1556
+ "declarations": [
1557
+ {
1558
+ "kind": "variable",
1559
+ "name": "layoutStyles",
1560
+ "default": "css`\n ${containerStyles}\n ${loadingSpinnerStyles}\n\n :host {\n --foundation-tab-height: calc(\n (((var(--base-height-multiplier) + var(--density)) * var(--design-unit)) - 4) * 1px\n );\n }\n\n .lm_goldenlayout {\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n }\n\n .lm_stack.lm_item {\n background-color: var(--neutral-layer-3);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n }\n\n .lm_maximised .lm_header {\n background-color: var(--neutral-layer-3);\n border-radius: calc(var(--control-corner-radius) * 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: var(--neutral-layer-card-container);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n border: 1px solid;\n border-color: var(--neutral-stroke-rest);\n box-sizing: border-box;\n color: var(--neutral-foreground-rest);\n }\n\n .lm_header .lm_tabs {\n padding: 0 16px;\n }\n\n .lm_stack > .lm_items {\n box-shadow: 0 -1px 15px rgb(0 0 0 / 15%);\n }\n\n .lm_header .lm_tab.lm_active.lm_focused {\n background-color: var(--neutral-layer-card-container);\n }\n\n .lm_header .lm_tab.lm_active {\n background-color: var(--neutral-layer-card-container);\n border: 1px solid;\n border-color: var(--neutral-stroke-rest);\n border-bottom: 0;\n color: var(--accent-foreground-rest);\n }\n\n .lm_header .lm_tab {\n align-items: center;\n background-color: var(--neutral-layer-4);\n border: 0;\n border-bottom-color: transparent;\n border-bottom: 0 solid;\n border-color: var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius) * 1.5px)\n calc(var(--control-corner-radius) * 1.5px) 0 0;\n color: var(--accent-foreground-rest);\n display: flex;\n font-family: inherit;\n font-size: 13px;\n font-weight: 400;\n height: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) - 8px);\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: var(--neutral-layer-card-container);\n color: var(--accent-foreground-rest);\n }\n\n .lm_header .lm_controls {\n top: 4px;\n display: flex;\n }\n\n .lm_header .lm_controls > * {\n width: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) - 6px);\n height: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) - 6px);\n background-repeat: no-repeat;\n background-position: center;\n background-size: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.533333);\n background-color: color-mix(in srgb, var(--neutral-fill-strong-rest), transparent 90%);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n margin-right: 4px;\n top: 3px;\n opacity: 100%;\n }\n\n .lm_header .lm_controls > *:hover {\n background-color: color-mix(in srgb, var(--neutral-fill-strong-hover), transparent 75%);\n cursor: pointer;\n }\n\n .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.maximiseSVG}');\n }\n\n .lm_maximised .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.minimiseSVG}');\n }\n\n .lm_controls .lm_close {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n }\n\n .lm_header .lm_tab .lm_close_tab {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n background-size: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.2777);\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: var(--neutral-foreground-hint);\n }\n\n .lm_header .lm_controls .lm_tabdropdown::before {\n content: none;\n }\n\n .lm_header .lm_controls .lm_tabdropdown {\n background-image: url('${LAYOUT_ICONS.tabDropdownSVG}');\n }\n\n .lm_header .lm_tabdropdown_list {\n top: var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT});\n right: 108px;\n background-color: var(--neutral-layer-3);\n border: 1px solid;\n border-color: var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n box-shadow: 0 5px 15px rgb(0 0 0 / 35%);\n }\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: var(--neutral-foreground-rest);\n height: var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT});\n border-radius: 0;\n overflow: visible;\n text-overflow: normal;\n }\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\n .lm_row > .lm_item {\n float: left;\n }\n\n .lm_content {\n overflow: hidden;\n position: relative;\n }\n\n .lm_dragging,\n .lm_dragging * {\n cursor: move !important;\n user-select: none;\n }\n\n .lm_maximised {\n left: 0;\n padding: 1px;\n position: absolute;\n top: 0;\n z-index: 40;\n }\n\n .lm_maximise_placeholder {\n display: none;\n }\n\n .lm_splitter {\n position: relative;\n z-index: 20;\n }\n\n .lm_splitter:hover,\n .lm_splitter.lm_dragging {\n background: var(--accent-fill-rest);\n border-radius: calc(var(--control-corner-radius) * 4px);\n }\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\n .lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n }\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\n .lm_header {\n overflow: visible;\n position: relative;\n }\n\n .lm_header [class^='lm_'] {\n box-sizing: content-box !important;\n }\n\n .lm_header .lm_controls {\n position: absolute;\n right: 3px;\n }\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\n .lm_header ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n\n .lm_header .lm_tabs {\n position: absolute;\n }\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\n .lm_header .lm_tab i {\n width: 2px;\n height: 19px;\n position: absolute;\n }\n\n .lm_header .lm_tab i.lm_left {\n top: 0;\n left: -2px;\n }\n\n .lm_header .lm_tab i.lm_right {\n top: 0;\n right: -2px;\n }\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\n .lm_header .lm_tab .lm_title:only-child {\n padding-left: 10px;\n }\n\n .lm_header .lm_tab .lm_close_tab {\n width: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.3888);\n height: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.3888);\n top: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.3055);\n position: absolute;\n right: 0;\n text-align: center;\n }\n\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n height: 100%;\n }\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\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\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\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\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\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\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\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\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\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n left: 3px;\n }\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\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\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\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\n .lm_drop_tab_placeholder {\n float: left;\n width: 100px;\n height: 10px;\n visibility: hidden;\n }\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\n .lm_header .lm_tabdropdown_list .lm_tab {\n clear: both;\n padding-right: 10px;\n margin: 0;\n }\n\n .lm_header .lm_tabdropdown_list .lm_tab .lm_title {\n width: 100px;\n }\n\n .lm_header .lm_tabdropdown_list .lm_close_tab {\n display: none !important;\n }\n\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n box-shadow: none;\n }\n\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\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\n .lm_popin {\n width: 20px;\n height: 20px;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n\n .lm_popin > * {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .lm_popin > .lm_bg {\n z-index: 10;\n }\n\n .lm_popin > .lm_icon {\n z-index: 20;\n } /*# sourceMappingURL=goldenlayout-base.css.map */\n`",
1561
+ "description": "`ElementStyles` which defines the css for FoundationLayout.",
1562
+ "privacy": "public"
1563
+ }
1564
+ ],
1565
+ "exports": [
1566
+ {
1567
+ "kind": "js",
1568
+ "name": "layoutStyles",
1569
+ "declaration": {
1570
+ "name": "layoutStyles",
1571
+ "module": "src/styles/layout.styles.ts"
1572
+ }
1573
+ }
1574
+ ]
1575
+ },
1467
1576
  {
1468
1577
  "kind": "javascript-module",
1469
1578
  "path": "src/utils/constants.ts",
@@ -1904,125 +2013,6 @@
1904
2013
  "path": "src/utils/types.ts",
1905
2014
  "declarations": [],
1906
2015
  "exports": []
1907
- },
1908
- {
1909
- "kind": "javascript-module",
1910
- "path": "src/styles/constants.ts",
1911
- "declarations": [
1912
- {
1913
- "kind": "function",
1914
- "name": "glVisualConfig",
1915
- "return": {
1916
- "type": {
1917
- "text": "Omit<LayoutConfig, 'root'>"
1918
- }
1919
- }
1920
- },
1921
- {
1922
- "kind": "variable",
1923
- "name": "LAYOUT_ICONS",
1924
- "type": {
1925
- "text": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}"
1926
- },
1927
- "default": "{\n renameSVG,\n maximiseSVG,\n minimiseSVG,\n closeSVG,\n tabDropdownSVG,\n popoutSVG,\n}",
1928
- "description": "A collection of SVG icons in base64 format.",
1929
- "privacy": "public"
1930
- }
1931
- ],
1932
- "exports": [
1933
- {
1934
- "kind": "js",
1935
- "name": "glVisualConfig",
1936
- "declaration": {
1937
- "name": "glVisualConfig",
1938
- "module": "src/styles/constants.ts"
1939
- }
1940
- },
1941
- {
1942
- "kind": "js",
1943
- "name": "LAYOUT_ICONS",
1944
- "declaration": {
1945
- "name": "LAYOUT_ICONS",
1946
- "module": "src/styles/constants.ts"
1947
- }
1948
- }
1949
- ]
1950
- },
1951
- {
1952
- "kind": "javascript-module",
1953
- "path": "src/styles/dragging.styles.ts",
1954
- "declarations": [
1955
- {
1956
- "kind": "variable",
1957
- "name": "globalDraggingStyles",
1958
- "default": "`\n .lm_dragProxy .lm_content {\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);\n }\n .lm_dropTargetIndicator {\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`",
1959
- "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"
1960
- }
1961
- ],
1962
- "exports": [
1963
- {
1964
- "kind": "js",
1965
- "name": "globalDraggingStyles",
1966
- "declaration": {
1967
- "name": "globalDraggingStyles",
1968
- "module": "src/styles/dragging.styles.ts"
1969
- }
1970
- }
1971
- ]
1972
- },
1973
- {
1974
- "kind": "javascript-module",
1975
- "path": "src/styles/index.ts",
1976
- "declarations": [],
1977
- "exports": [
1978
- {
1979
- "kind": "js",
1980
- "name": "*",
1981
- "declaration": {
1982
- "name": "*",
1983
- "package": "./constants"
1984
- }
1985
- },
1986
- {
1987
- "kind": "js",
1988
- "name": "*",
1989
- "declaration": {
1990
- "name": "*",
1991
- "package": "./dragging.styles"
1992
- }
1993
- },
1994
- {
1995
- "kind": "js",
1996
- "name": "*",
1997
- "declaration": {
1998
- "name": "*",
1999
- "package": "./layout.styles"
2000
- }
2001
- }
2002
- ]
2003
- },
2004
- {
2005
- "kind": "javascript-module",
2006
- "path": "src/styles/layout.styles.ts",
2007
- "declarations": [
2008
- {
2009
- "kind": "variable",
2010
- "name": "layoutStyles",
2011
- "default": "css`\n ${containerStyles}\n ${loadingSpinnerStyles}\n\n :host {\n --foundation-tab-height: calc(\n (((var(--base-height-multiplier) + var(--density)) * var(--design-unit)) - 4) * 1px\n );\n }\n\n .lm_goldenlayout {\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n }\n\n .lm_stack.lm_item {\n background-color: var(--neutral-layer-3);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n }\n\n .lm_maximised .lm_header {\n background-color: var(--neutral-layer-3);\n border-radius: calc(var(--control-corner-radius) * 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: var(--neutral-layer-card-container);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n border: 1px solid;\n border-color: var(--neutral-stroke-rest);\n box-sizing: border-box;\n color: var(--neutral-foreground-rest);\n }\n\n .lm_header .lm_tabs {\n padding: 0 16px;\n }\n\n .lm_stack > .lm_items {\n box-shadow: 0 -1px 15px rgb(0 0 0 / 15%);\n }\n\n .lm_header .lm_tab.lm_active.lm_focused {\n background-color: var(--neutral-layer-card-container);\n }\n\n .lm_header .lm_tab.lm_active {\n background-color: var(--neutral-layer-card-container);\n border: 1px solid;\n border-color: var(--neutral-stroke-rest);\n border-bottom: 0;\n color: var(--accent-foreground-rest);\n }\n\n .lm_header .lm_tab {\n align-items: center;\n background-color: var(--neutral-layer-4);\n border: 0;\n border-bottom-color: transparent;\n border-bottom: 0 solid;\n border-color: var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius) * 1.5px)\n calc(var(--control-corner-radius) * 1.5px) 0 0;\n color: var(--accent-foreground-rest);\n display: flex;\n font-family: inherit;\n font-size: 13px;\n font-weight: 400;\n height: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) - 8px);\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: var(--neutral-layer-card-container);\n color: var(--accent-foreground-rest);\n }\n\n .lm_header .lm_controls {\n top: 4px;\n display: flex;\n }\n\n .lm_header .lm_controls > * {\n width: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) - 6px);\n height: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) - 6px);\n background-repeat: no-repeat;\n background-position: center;\n background-size: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.533333);\n background-color: color-mix(in srgb, var(--neutral-fill-strong-rest), transparent 90%);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n margin-right: 4px;\n top: 3px;\n opacity: 100%;\n }\n\n .lm_header .lm_controls > *:hover {\n background-color: color-mix(in srgb, var(--neutral-fill-strong-hover), transparent 75%);\n cursor: pointer;\n }\n\n .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.maximiseSVG}');\n }\n\n .lm_maximised .lm_controls .lm_maximise {\n background-image: url('${LAYOUT_ICONS.minimiseSVG}');\n }\n\n .lm_controls .lm_close {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n }\n\n .lm_header .lm_tab .lm_close_tab {\n background-image: url('${LAYOUT_ICONS.closeSVG}');\n background-size: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.2777);\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: var(--neutral-foreground-hint);\n }\n\n .lm_header .lm_controls .lm_tabdropdown::before {\n content: none;\n }\n\n .lm_header .lm_controls .lm_tabdropdown {\n background-image: url('${LAYOUT_ICONS.tabDropdownSVG}');\n }\n\n .lm_header .lm_tabdropdown_list {\n top: var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT});\n right: 108px;\n background-color: var(--neutral-layer-3);\n border: 1px solid;\n border-color: var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius) * 1.5px);\n box-shadow: 0 5px 15px rgb(0 0 0 / 35%);\n }\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: var(--neutral-foreground-rest);\n height: var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT});\n border-radius: 0;\n overflow: visible;\n text-overflow: normal;\n }\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\n .lm_row > .lm_item {\n float: left;\n }\n\n .lm_content {\n overflow: hidden;\n position: relative;\n }\n\n .lm_dragging,\n .lm_dragging * {\n cursor: move !important;\n user-select: none;\n }\n\n .lm_maximised {\n left: 0;\n padding: 1px;\n position: absolute;\n top: 0;\n z-index: 40;\n }\n\n .lm_maximise_placeholder {\n display: none;\n }\n\n .lm_splitter {\n position: relative;\n z-index: 20;\n }\n\n .lm_splitter:hover,\n .lm_splitter.lm_dragging {\n background: var(--accent-fill-rest);\n border-radius: calc(var(--control-corner-radius) * 4px);\n }\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\n .lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n }\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\n .lm_header {\n overflow: visible;\n position: relative;\n }\n\n .lm_header [class^='lm_'] {\n box-sizing: content-box !important;\n }\n\n .lm_header .lm_controls {\n position: absolute;\n right: 3px;\n }\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\n .lm_header ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n\n .lm_header .lm_tabs {\n position: absolute;\n }\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\n .lm_header .lm_tab i {\n width: 2px;\n height: 19px;\n position: absolute;\n }\n\n .lm_header .lm_tab i.lm_left {\n top: 0;\n left: -2px;\n }\n\n .lm_header .lm_tab i.lm_right {\n top: 0;\n right: -2px;\n }\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\n .lm_header .lm_tab .lm_title:only-child {\n padding-left: 10px;\n }\n\n .lm_header .lm_tab .lm_close_tab {\n width: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.3888);\n height: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.3888);\n top: calc(var(--foundation-tab-height, ${DEFAULT_TAB_HEIGHT}) * 0.3055);\n position: absolute;\n right: 0;\n text-align: center;\n }\n\n .lm_stack.lm_left .lm_header,\n .lm_stack.lm_right .lm_header {\n height: 100%;\n }\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\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\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\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\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\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\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\n .lm_dragProxy.lm_right .lm_content {\n float: left;\n }\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\n .lm_dragProxy.lm_right .lm_header .lm_controls,\n .lm_stack.lm_right .lm_header .lm_controls {\n left: 3px;\n }\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\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\n .lm_dragProxy.lm_bottom .lm_header .lm_controls,\n .lm_stack.lm_bottom .lm_header .lm_controls {\n top: 3px;\n }\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\n .lm_drop_tab_placeholder {\n float: left;\n width: 100px;\n height: 10px;\n visibility: hidden;\n }\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\n .lm_header .lm_tabdropdown_list .lm_tab {\n clear: both;\n padding-right: 10px;\n margin: 0;\n }\n\n .lm_header .lm_tabdropdown_list .lm_tab .lm_title {\n width: 100px;\n }\n\n .lm_header .lm_tabdropdown_list .lm_close_tab {\n display: none !important;\n }\n\n .lm_dragProxy {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 30;\n }\n\n .lm_dragProxy .lm_header {\n background: transparent;\n }\n\n .lm_dragProxy .lm_content {\n border-top: none;\n overflow: hidden;\n }\n\n .lm_dropTargetIndicator {\n display: none;\n position: absolute;\n z-index: 20;\n box-shadow: none;\n }\n\n .lm_dropTargetIndicator .lm_inner {\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n }\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\n .lm_popin {\n width: 20px;\n height: 20px;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 9999;\n }\n\n .lm_popin > * {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .lm_popin > .lm_bg {\n z-index: 10;\n }\n\n .lm_popin > .lm_icon {\n z-index: 20;\n } /*# sourceMappingURL=goldenlayout-base.css.map */\n`",
2012
- "description": "`ElementStyles` which defines the css for FoundationLayout.",
2013
- "privacy": "public"
2014
- }
2015
- ],
2016
- "exports": [
2017
- {
2018
- "kind": "js",
2019
- "name": "layoutStyles",
2020
- "declaration": {
2021
- "name": "layoutStyles",
2022
- "module": "src/styles/layout.styles.ts"
2023
- }
2024
- }
2025
- ]
2026
2016
  }
2027
2017
  ]
2028
2018
  }
@@ -177,11 +177,9 @@ export declare class FoundationLayout extends FoundationElement implements Layou
177
177
  * then if the layout goes into popout mode then it will place itself as the only child for the popout container you set.
178
178
  * It is likely you'll want to attach this class to your design system provider.
179
179
  *
180
- * @param autoloading - If true, this respects the {@link LayoutPopoutConfig.loadAutomatically} property.
181
- * You might want to set this to false and call it manually if you're manually registering components to the layout in order to avoid race conditions.
182
180
  * @beta
183
181
  */
184
- tryActivatePopoutMode(autoloading?: boolean): boolean;
182
+ tryActivatePopoutMode(): boolean;
185
183
  /**
186
184
  * Try to load a layout from local storage, or return false. Only required if manually calling {@link FoundationLayout.registerItem}
187
185
  * @remarks
@@ -1 +1 @@
1
- {"version":3,"file":"layout-main.d.ts","sourceRoot":"","sources":["../../../src/main/layout-main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-main.d.ts","sourceRoot":"","sources":["../../../src/main/layout-main.ts"],"names":[],"mappings":"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"}
@@ -296,16 +296,11 @@ export class FoundationLayout extends FoundationElement {
296
296
  * then if the layout goes into popout mode then it will place itself as the only child for the popout container you set.
297
297
  * It is likely you'll want to attach this class to your design system provider.
298
298
  *
299
- * @param autoloading - If true, this respects the {@link LayoutPopoutConfig.loadAutomatically} property.
300
- * You might want to set this to false and call it manually if you're manually registering components to the layout in order to avoid race conditions.
301
299
  * @beta
302
300
  */
303
- tryActivatePopoutMode(autoloading = false) {
304
- var _b;
301
+ tryActivatePopoutMode() {
305
302
  if (!this.popupMode)
306
303
  return false;
307
- if (autoloading && ((_b = this.popoutConfig) === null || _b === void 0 ? void 0 : _b.loadAutomatically) === false)
308
- return;
309
304
  const popoutComponentRegistration = new URLSearchParams(window.location.search).get(LAYOUT_POPOUT_CONTROL_KEY);
310
305
  const glPopoutConfig = {
311
306
  root: {
@@ -657,12 +652,14 @@ export class FoundationLayout extends FoundationElement {
657
652
  return;
658
653
  this.reloadPending = true;
659
654
  setTimeout(() => {
655
+ var _b;
660
656
  this.reloadPending = false;
661
657
  if (!this.hasFirstLoaded) {
662
658
  this.hasFirstLoaded = true;
663
659
  // Store the default layout config before attempting to load from storage
664
660
  this.defaultLayoutConfig = JSON.parse(JSON.stringify(this.layoutConfig));
665
- const res = this.tryLoadLayoutFromLocalStorage() || this.tryActivatePopoutMode(true);
661
+ const res = this.tryLoadLayoutFromLocalStorage() ||
662
+ (((_b = this.popoutConfig) === null || _b === void 0 ? void 0 : _b.loadAutomatically) !== false && this.tryActivatePopoutMode());
666
663
  if (!res) {
667
664
  this.loadGLConfigAndSetup(this.layoutConfig);
668
665
  }
@@ -996,7 +993,8 @@ export class FoundationLayout extends FoundationElement {
996
993
  svg: LAYOUT_ICONS.popoutSVG,
997
994
  onClick: (_, elem) => {
998
995
  var _b, _c;
999
- const registration = elem.firstChild[instanceContainer].registration;
996
+ const instance = elem.firstChild[instanceContainer];
997
+ const registration = instance.registration;
1000
998
  const component = elem.firstChild;
1001
999
  const state = (_b = component === null || component === void 0 ? void 0 : component.getCurrentState) === null || _b === void 0 ? void 0 : _b.call(component);
1002
1000
  // Use default dimensions from config
@@ -1079,19 +1079,11 @@
1079
1079
  {
1080
1080
  "kind": "Method",
1081
1081
  "canonicalReference": "@genesislcap/foundation-layout!FoundationLayout#tryActivatePopoutMode:member(1)",
1082
- "docComment": "/**\n * If in a popout window from the dynamic layout, this function will run the flow to put the component in popout mode. This 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.\n *\n * @remarks\n *\n * If you need to call this manually then you should do it as soon as you register all of the required components with {@link FoundationLayout.registerItem}.\n *\n * If you set the `LAYOUT_POPOUT_CONTAINER_CLASS` on an element which is a DOM parent of the layout, then if the layout goes into popout mode then it will place itself as the only child for the popout container you set. It is likely you'll want to attach this class to your design system provider.\n *\n * @param autoloading - If true, this respects the {@link LayoutPopoutConfig.loadAutomatically} property. You might want to set this to false and call it manually if you're manually registering components to the layout in order to avoid race conditions.\n *\n * @beta\n */\n",
1082
+ "docComment": "/**\n * If in a popout window from the dynamic layout, this function will run the flow to put the component in popout mode. This 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.\n *\n * @remarks\n *\n * If you need to call this manually then you should do it as soon as you register all of the required components with {@link FoundationLayout.registerItem}.\n *\n * If you set the `LAYOUT_POPOUT_CONTAINER_CLASS` on an element which is a DOM parent of the layout, then if the layout goes into popout mode then it will place itself as the only child for the popout container you set. It is likely you'll want to attach this class to your design system provider.\n *\n * @beta\n */\n",
1083
1083
  "excerptTokens": [
1084
1084
  {
1085
1085
  "kind": "Content",
1086
- "text": "tryActivatePopoutMode(autoloading?: "
1087
- },
1088
- {
1089
- "kind": "Content",
1090
- "text": "boolean"
1091
- },
1092
- {
1093
- "kind": "Content",
1094
- "text": "): "
1086
+ "text": "tryActivatePopoutMode(): "
1095
1087
  },
1096
1088
  {
1097
1089
  "kind": "Content",
@@ -1104,22 +1096,13 @@
1104
1096
  ],
1105
1097
  "isStatic": false,
1106
1098
  "returnTypeTokenRange": {
1107
- "startIndex": 3,
1108
- "endIndex": 4
1099
+ "startIndex": 1,
1100
+ "endIndex": 2
1109
1101
  },
1110
1102
  "releaseTag": "Beta",
1111
1103
  "isProtected": false,
1112
1104
  "overloadIndex": 1,
1113
- "parameters": [
1114
- {
1115
- "parameterName": "autoloading",
1116
- "parameterTypeTokenRange": {
1117
- "startIndex": 1,
1118
- "endIndex": 2
1119
- },
1120
- "isOptional": true
1121
- }
1122
- ],
1105
+ "parameters": [],
1123
1106
  "isOptional": false,
1124
1107
  "isAbstract": false,
1125
1108
  "name": "tryActivatePopoutMode"
@@ -252,11 +252,9 @@ export declare class FoundationLayout extends FoundationElement implements Layou
252
252
  * then if the layout goes into popout mode then it will place itself as the only child for the popout container you set.
253
253
  * It is likely you'll want to attach this class to your design system provider.
254
254
  *
255
- * @param autoloading - If true, this respects the {@link LayoutPopoutConfig.loadAutomatically} property.
256
- * You might want to set this to false and call it manually if you're manually registering components to the layout in order to avoid race conditions.
257
255
  * @beta
258
256
  */
259
- tryActivatePopoutMode(autoloading?: boolean): boolean;
257
+ tryActivatePopoutMode(): boolean;
260
258
  /**
261
259
  * Try to load a layout from local storage, or return false. Only required if manually calling {@link FoundationLayout.registerItem}
262
260
  * @remarks
@@ -370,7 +370,7 @@ Removes all instances of a specified registered item from the layout.
370
370
  </td></tr>
371
371
  <tr><td>
372
372
 
373
- [tryActivatePopoutMode(autoloading)](./foundation-layout.foundationlayout.tryactivatepopoutmode.md)
373
+ [tryActivatePopoutMode()](./foundation-layout.foundationlayout.tryactivatepopoutmode.md)
374
374
 
375
375
 
376
376
  </td><td>
@@ -12,45 +12,8 @@ If in a popout window from the dynamic layout, this function will run the flow t
12
12
  **Signature:**
13
13
 
14
14
  ```typescript
15
- tryActivatePopoutMode(autoloading?: boolean): boolean;
15
+ tryActivatePopoutMode(): boolean;
16
16
  ```
17
-
18
- ## Parameters
19
-
20
- <table><thead><tr><th>
21
-
22
- Parameter
23
-
24
-
25
- </th><th>
26
-
27
- Type
28
-
29
-
30
- </th><th>
31
-
32
- Description
33
-
34
-
35
- </th></tr></thead>
36
- <tbody><tr><td>
37
-
38
- autoloading
39
-
40
-
41
- </td><td>
42
-
43
- boolean
44
-
45
-
46
- </td><td>
47
-
48
- _(Optional)_ If true, this respects the property. You might want to set this to false and call it manually if you're manually registering components to the layout in order to avoid race conditions.
49
-
50
-
51
- </td></tr>
52
- </tbody></table>
53
-
54
17
  **Returns:**
55
18
 
56
19
  boolean
@@ -75,7 +75,7 @@ export class FoundationLayout extends FoundationElement implements LayoutCompone
75
75
  // @internal
76
76
  requestLayoutReload(): void;
77
77
  // @beta
78
- tryActivatePopoutMode(autoloading?: boolean): boolean;
78
+ tryActivatePopoutMode(): boolean;
79
79
  tryLoadLayoutFromLocalStorage(): boolean;
80
80
  // @internal (undocumented)
81
81
  usingDeclerativeAPI: boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-layout",
3
3
  "description": "Genesis Foundation UI App Layout",
4
- "version": "14.393.3-FUI-2471.3",
4
+ "version": "14.393.3-FUI-2471.4",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/foundation-layout.d.ts",
@@ -38,22 +38,22 @@
38
38
  }
39
39
  },
40
40
  "devDependencies": {
41
- "@genesislcap/foundation-testing": "14.393.3-FUI-2471.3",
42
- "@genesislcap/genx": "14.393.3-FUI-2471.3",
43
- "@genesislcap/rollup-builder": "14.393.3-FUI-2471.3",
44
- "@genesislcap/ts-builder": "14.393.3-FUI-2471.3",
45
- "@genesislcap/uvu-playwright-builder": "14.393.3-FUI-2471.3",
46
- "@genesislcap/vite-builder": "14.393.3-FUI-2471.3",
47
- "@genesislcap/webpack-builder": "14.393.3-FUI-2471.3"
41
+ "@genesislcap/foundation-testing": "14.393.3-FUI-2471.4",
42
+ "@genesislcap/genx": "14.393.3-FUI-2471.4",
43
+ "@genesislcap/rollup-builder": "14.393.3-FUI-2471.4",
44
+ "@genesislcap/ts-builder": "14.393.3-FUI-2471.4",
45
+ "@genesislcap/uvu-playwright-builder": "14.393.3-FUI-2471.4",
46
+ "@genesislcap/vite-builder": "14.393.3-FUI-2471.4",
47
+ "@genesislcap/webpack-builder": "14.393.3-FUI-2471.4"
48
48
  },
49
49
  "dependencies": {
50
50
  "@genesis-community/golden-layout": "^2.11.0",
51
- "@genesislcap/foundation-broadcast-channel": "14.393.3-FUI-2471.3",
52
- "@genesislcap/foundation-comms": "14.393.3-FUI-2471.3",
53
- "@genesislcap/foundation-events": "14.393.3-FUI-2471.3",
54
- "@genesislcap/foundation-logger": "14.393.3-FUI-2471.3",
55
- "@genesislcap/foundation-ui": "14.393.3-FUI-2471.3",
56
- "@genesislcap/foundation-utils": "14.393.3-FUI-2471.3",
51
+ "@genesislcap/foundation-broadcast-channel": "14.393.3-FUI-2471.4",
52
+ "@genesislcap/foundation-comms": "14.393.3-FUI-2471.4",
53
+ "@genesislcap/foundation-events": "14.393.3-FUI-2471.4",
54
+ "@genesislcap/foundation-logger": "14.393.3-FUI-2471.4",
55
+ "@genesislcap/foundation-ui": "14.393.3-FUI-2471.4",
56
+ "@genesislcap/foundation-utils": "14.393.3-FUI-2471.4",
57
57
  "@microsoft/fast-components": "2.30.6",
58
58
  "@microsoft/fast-element": "1.14.0",
59
59
  "@microsoft/fast-foundation": "2.50.0"
@@ -67,5 +67,5 @@
67
67
  "access": "public"
68
68
  },
69
69
  "customElements": "dist/custom-elements.json",
70
- "gitHead": "90b4a4f5027128943c15715c8534788134dafe62"
70
+ "gitHead": "774e9a5e7f1787920487b93a1f3ab6683fd08453"
71
71
  }