@genesislcap/rapid-design-system 14.470.0 → 14.472.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -101,10 +101,50 @@ provideDesignSystem().register(
101
101
 
102
102
  The example above registers Rapid UI components from the Rapid Design System, Foundation Layout, G2Plot Charts, and Grid Pro.
103
103
 
104
+ ## Theming `flexlayout-react`
105
+
106
+ [`flexlayout-react`](https://www.npmjs.com/package/flexlayout-react) is a third-party docking
107
+ layout that apps install themselves (it is not bundled into Foundation). The Rapid Design
108
+ System owns the **single source of truth** for how it looks, so the theme can never fall out
109
+ of sync across apps. The platform theme is a self-contained stylesheet — the vendored
110
+ `flexlayout-react` base theme **plus** the rapid token overrides — so apps should **never**
111
+ import `flexlayout-react`'s own stylesheets or copy the overrides locally.
112
+
113
+ Colours resolve from rapid design tokens, so render `flexlayout-react` under a
114
+ `<rapid-design-system-provider>` (CSS custom properties inherit across shadow boundaries).
115
+
116
+ ```typescript
117
+ // Light DOM: install once at app bootstrap (injects into document, idempotent).
118
+ import { installRapidFlexLayoutReactStyles } from '@genesislcap/rapid-design-system';
119
+
120
+ installRapidFlexLayoutReactStyles();
121
+ ```
122
+
123
+ ```typescript
124
+ // Shadow DOM: adopt the shared, cached stylesheet into the shadow root that hosts <Layout>.
125
+ import { getRapidFlexLayoutReactStyleSheet } from '@genesislcap/rapid-design-system';
126
+
127
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, getRapidFlexLayoutReactStyleSheet()];
128
+ ```
129
+
130
+ Also exported: `rapidFlexLayoutReactStyleText` (raw CSS string), `rapidFlexLayoutReactStyles`
131
+ (FAST `ElementStyles`), and `RAPID_FLEXLAYOUT_REACT_VERSION` (the `flexlayout-react` version
132
+ the theme targets — see the optional `flexlayout-react` peerDependency for the compatible
133
+ range).
134
+
135
+ ### Maintaining the theme
136
+
137
+ - **Edit the look:** change `src/flexlayout-react-theme/flexlayout-react.overrides.css`, then
138
+ run `pnpm --filter @genesislcap/rapid-design-system flexlayout:generate` (the package build
139
+ does this automatically). The overrides are applied last, so they win over the base theme.
140
+ - **Bump `flexlayout-react`:** regenerate the theme in the same change. The build regenerates
141
+ `flexlayout-react-theme.generated.ts` from the installed version, so a bump without a
142
+ regenerate leaves the working tree dirty and fails CI's "Check working tree" gate.
143
+
104
144
  ## License
105
145
 
106
146
  Note: this project provides front-end dependencies and uses licensed components listed in the next section; thus, licenses for those components are required during development. Contact [Genesis Global](https://genesis.global/contact-us/) for more details.
107
147
 
108
148
  ### Licensed components
109
149
 
110
- Genesis low-code platform
150
+ Genesis low-code platform
@@ -356,6 +356,14 @@
356
356
  "package": "./flex-layout"
357
357
  }
358
358
  },
359
+ {
360
+ "kind": "js",
361
+ "name": "*",
362
+ "declaration": {
363
+ "name": "*",
364
+ "package": "./flexlayout-react-theme"
365
+ }
366
+ },
359
367
  {
360
368
  "kind": "js",
361
369
  "name": "*",
@@ -16862,6 +16870,155 @@
16862
16870
  }
16863
16871
  ]
16864
16872
  },
16873
+ {
16874
+ "kind": "javascript-module",
16875
+ "path": "src/flexlayout-react-theme/flexlayout-react-theme.generated.ts",
16876
+ "declarations": [
16877
+ {
16878
+ "kind": "variable",
16879
+ "name": "RAPID_FLEXLAYOUT_REACT_VERSION",
16880
+ "type": {
16881
+ "text": "string"
16882
+ },
16883
+ "default": "'0.8.19'",
16884
+ "description": "The flexlayout-react version this theme was generated against."
16885
+ },
16886
+ {
16887
+ "kind": "variable",
16888
+ "name": "FLEXLAYOUT_REACT_THEME_CSS",
16889
+ "default": "`/* ============================================================================\n * flexlayout-react base theme — VENDORED from flexlayout-react@0.8.19 (style/dark.css).\n * ========================================================================== */\n.flexlayout__layout {\n --color-text: #eeeeee;\n --color-background: black;\n --color-base: black;\n --color-1: rgb(17.85, 17.85, 17.85);\n --color-2: rgb(25.5, 25.5, 25.5);\n --color-3: rgb(38.25, 38.25, 38.25);\n --color-4: #333333;\n --color-5: rgb(63.75, 63.75, 63.75);\n --color-6: rgb(76.5, 76.5, 76.5);\n --color-drag1: rgb(207, 232, 255);\n --color-drag2: rgb(183, 209, 181);\n --color-drag1-background: rgba(128, 128, 128, 0.15);\n --color-drag2-background: rgba(128, 128, 128, 0.15);\n --font-size: medium;\n --font-family: Roboto, Arial, sans-serif;\n --color-overflow: gray;\n --color-icon: gray;\n --color-tabset-background: var(--color-1);\n --color-tabset-background-selected: var(--color-1);\n --color-tabset-background-maximized: var(--color-6);\n --color-tabset-divider-line: var(--color-4);\n --color-tabset-header-background: var(--color-1);\n --color-tabset-header: var(--color-text);\n --color-border-tab-content: var(--color-background);\n --color-border-background: var(--color-1);\n --color-border-divider-line: var(--color-4);\n --color-tab-content: var(--color-background);\n --color-tab-selected: var(--color-text);\n --color-tab-selected-background: var(--color-4);\n --color-tab-unselected: gray;\n --color-tab-unselected-background: transparent;\n --color-tab-textbox: var(--color-text);\n --color-tab-textbox-background: var(--color-3);\n --color-border-tab-selected: var(--color-text);\n --color-border-tab-selected-background: var(--color-4);\n --color-border-tab-unselected: gray;\n --color-border-tab-unselected-background: var(--color-2);\n --color-splitter: var(--color-2);\n --color-splitter-hover: var(--color-4);\n --color-splitter-drag: var(--color-5);\n --color-drag-rect-border: var(--color-4);\n --color-drag-rect-background: var(--color-1);\n --color-drag-rect: var(--color-text);\n --color-popup-border: var(--color-6);\n --color-popup-unselected: var(--color-text);\n --color-popup-unselected-background: var(--color-background);\n --color-popup-selected: var(--color-text);\n --color-popup-selected-background: var(--color-4);\n --color-edge-marker: gray;\n --color-edge-icon: #eee;\n --color-mini-scroll-indicator: rgba(128, 128, 128, 0.5);\n --color-mini-scroll-indicator-hovered: rgba(128, 128, 128, 0.8);\n --size-mini-scroll-indicator: 3px;\n --color-toolbar-button-hover: var(--color-4);\n}\n\n/*\n base classes\n*/\n.flexlayout__layout {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n display: flex;\n overflow: hidden;\n background-color: var(--color-background);\n}\n.flexlayout__layout_overlay {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n z-index: 1000;\n}\n.flexlayout__layout_tab_stamps {\n position: absolute;\n top: -10000px;\n z-index: 100;\n display: flex;\n flex-direction: column;\n align-items: start;\n}\n.flexlayout__layout_moveables {\n visibility: hidden;\n position: absolute;\n width: 100px;\n height: 100px;\n top: -20000px;\n}\n.flexlayout__layout_main {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n position: relative;\n}\n.flexlayout__layout_border_container {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n}\n.flexlayout__layout_border_container_inner {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n}\n.flexlayout__splitter {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--color-splitter);\n touch-action: none;\n z-index: 10;\n}\n@media (hover: hover) {\n .flexlayout__splitter:hover {\n background-color: var(--color-splitter-hover);\n transition: background-color ease-in 0.1s;\n transition-delay: 0.05s;\n border-radius: 5px;\n }\n}\n.flexlayout__splitter_drag {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n border-radius: 5px;\n background-color: var(--color-splitter-drag);\n}\n.flexlayout__splitter_handle {\n background-color: #ccc;\n border-radius: 3px;\n}\n.flexlayout__splitter_handle_horz {\n width: 3px;\n height: 30px;\n}\n.flexlayout__splitter_handle_vert {\n width: 30px;\n height: 3px;\n}\n.flexlayout__splitter_extra {\n touch-action: none;\n background-color: transparent;\n}\n.flexlayout__outline_rect {\n position: absolute;\n pointer-events: none;\n box-sizing: border-box;\n border: 2px solid var(--color-drag1);\n background: var(--color-drag1-background);\n border-radius: 5px;\n z-index: 1000;\n}\n.flexlayout__outline_rect_edge {\n pointer-events: none;\n border: 2px solid var(--color-drag2);\n background: var(--color-drag2-background);\n border-radius: 5px;\n z-index: 1000;\n box-sizing: border-box;\n}\n.flexlayout__edge_rect {\n position: absolute;\n z-index: 1000;\n background-color: var(--color-edge-marker);\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.flexlayout__drag_rect {\n color: var(--color-drag-rect);\n background-color: var(--color-drag-rect-background);\n border: 2px solid var(--color-drag-rect-border);\n border-radius: 5px;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n flex-direction: column;\n overflow: hidden;\n padding: 0.3em 0.8em;\n word-wrap: break-word;\n font-size: var(--font-size);\n font-family: var(--font-family);\n}\n.flexlayout__row {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n}\n.flexlayout__tabset {\n display: flex;\n flex-direction: column;\n position: relative;\n background-color: var(--color-tabset-background);\n box-sizing: border-box;\n font-family: var(--font-family);\n overflow: hidden;\n flex-grow: 1;\n}\n.flexlayout__tabset_container {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-direction: column;\n overflow: hidden;\n flex-grow: 1;\n}\n.flexlayout__tabset_tab_divider {\n width: 4px;\n}\n.flexlayout__tabset_content {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n box-sizing: border-box;\n position: relative;\n}\n.flexlayout__tabset_leading {\n display: flex;\n}\n.flexlayout__tabset_header {\n display: flex;\n align-items: center;\n padding: 3px 3px 3px 5px;\n box-sizing: border-box;\n border-bottom: 1px solid var(--color-tabset-divider-line);\n color: var(--color-tabset-header);\n background-color: var(--color-tabset-header-background);\n font-size: var(--font-size);\n}\n.flexlayout__tabset_header_content {\n flex-grow: 1;\n}\n.flexlayout__tabset_tabbar_outer {\n box-sizing: border-box;\n background-color: var(--color-tabset-background);\n overflow: hidden;\n display: flex;\n font-size: var(--font-size);\n}\n.flexlayout__tabset_tabbar_outer_top {\n padding: 0px 2px 0px 2px;\n border-bottom: 1px solid var(--color-tabset-divider-line);\n}\n.flexlayout__tabset_tabbar_outer_bottom {\n padding: 0px 2px 0px 2px;\n border-top: 1px solid var(--color-tabset-divider-line);\n}\n.flexlayout__tabset_tabbar_inner {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n scrollbar-width: none;\n}\n.flexlayout__tabset_tabbar_inner::-webkit-scrollbar {\n display: none;\n}\n.flexlayout__tabset_tabbar_inner_tab_container {\n position: relative;\n display: flex;\n padding-left: 4px;\n padding-right: 4px;\n box-sizing: border-box;\n white-space: nowrap;\n}\n.flexlayout__tabset_tabbar_inner_tab_container_top {\n border-top: 2px solid transparent;\n}\n.flexlayout__tabset_tabbar_inner_tab_container_bottom {\n border-bottom: 2px solid transparent;\n}\n.flexlayout__tabset-selected {\n background-color: var(--color-tabset-background-selected);\n}\n.flexlayout__tabset-maximized {\n background-color: var(--color-tabset-background-maximized);\n}\n.flexlayout__tab_button_stamp {\n display: inline-flex;\n align-items: center;\n gap: 0.3em;\n white-space: nowrap;\n box-sizing: border-box;\n}\n.flexlayout__tab {\n overflow: hidden;\n box-sizing: border-box;\n background-color: var(--color-tab-content);\n color: var(--color-text);\n position: relative;\n}\n.flexlayout__tab_moveable {\n position: relative;\n height: 100%;\n min-width: 1px;\n min-height: 1px;\n overflow: auto;\n box-sizing: border-box;\n}\n.flexlayout__tab_overlay {\n z-index: 20;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2392156863);\n}\n.flexlayout__tab_button {\n display: flex;\n gap: 0.3em;\n align-items: center;\n box-sizing: border-box;\n padding: 3px 0.5em;\n cursor: pointer;\n}\n.flexlayout__tab_button_stretch {\n background-color: transparent;\n color: var(--color-tab-selected);\n width: 100%;\n padding: 3px 0em;\n text-wrap: nowrap;\n display: flex;\n gap: 0.3em;\n align-items: center;\n box-sizing: border-box;\n cursor: pointer;\n}\n@media (hover: hover) {\n .flexlayout__tab_button_stretch:hover {\n color: var(--color-tab-selected);\n }\n}\n.flexlayout__tab_button--selected {\n background-color: var(--color-tab-selected-background);\n color: var(--color-tab-selected);\n}\n@media (hover: hover) {\n .flexlayout__tab_button:hover {\n color: var(--color-tab-selected);\n }\n}\n.flexlayout__tab_button--unselected {\n background-color: var(--color-tab-unselected-background);\n color: var(--color-tab-unselected);\n}\n.flexlayout__tab_button_leading {\n display: flex;\n}\n.flexlayout__tab_button_content {\n display: flex;\n text-wrap: nowrap;\n}\n.flexlayout__tab_button_textbox {\n border: none;\n font-family: var(--font-family);\n font-size: var(--font-size);\n color: var(--color-tab-textbox);\n background-color: var(--color-tab-textbox-background);\n border: 1px inset var(--color-1);\n border-radius: 3px;\n width: 10em;\n}\n.flexlayout__tab_button_textbox:focus {\n outline: none;\n}\n.flexlayout__tab_button_trailing {\n display: flex;\n visibility: hidden;\n border-radius: 4px;\n}\n.flexlayout__tab_button_trailing:hover {\n background-color: var(--color-toolbar-button-hover);\n}\n@media (hover: hover) {\n .flexlayout__tab_button:hover .flexlayout__tab_button_trailing {\n visibility: visible;\n }\n}\n.flexlayout__tab_button--selected .flexlayout__tab_button_trailing {\n visibility: visible;\n}\n.flexlayout__tab_button_overflow {\n display: flex;\n align-items: center;\n border: none;\n color: var(--color-overflow);\n font-size: inherit;\n background-color: transparent;\n width: 2em;\n overflow: hidden;\n}\n.flexlayout__tab_toolbar {\n display: flex;\n align-items: center;\n gap: 0.3em;\n padding-left: 0.5em;\n padding-right: 0.3em;\n}\n.flexlayout__tab_toolbar_icon {\n border: none;\n outline: none;\n font-size: inherit;\n margin: 0px;\n background-color: transparent;\n padding: 1px;\n}\n.flexlayout__tab_toolbar_button {\n border: none;\n outline: none;\n font-size: inherit;\n margin: 0px;\n background-color: transparent;\n border-radius: 4px;\n padding: 1px;\n}\n@media (hover: hover) {\n .flexlayout__tab_toolbar_button:hover {\n background-color: var(--color-toolbar-button-hover);\n }\n}\n.flexlayout__tab_toolbar_sticky_buttons_container {\n display: flex;\n gap: 0.3em;\n padding-left: 5px;\n align-items: center;\n}\n.flexlayout__border {\n box-sizing: border-box;\n overflow: hidden;\n display: flex;\n font-size: var(--font-size);\n font-family: var(--font-family);\n color: var(--color-border);\n background-color: var(--color-border-background);\n}\n.flexlayout__border_tab_contents {\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(--color-border-tab-content);\n}\n.flexlayout__border_leading {\n display: flex;\n}\n.flexlayout__border_top {\n border-bottom: 1px solid var(--color-border-divider-line);\n align-items: center;\n}\n.flexlayout__border_bottom {\n border-top: 1px solid var(--color-border-divider-line);\n align-items: center;\n}\n.flexlayout__border_left {\n border-right: 1px solid var(--color-border-divider-line);\n align-content: center;\n flex-direction: column;\n}\n.flexlayout__border_right {\n border-left: 1px solid var(--color-border-divider-line);\n align-content: center;\n flex-direction: column;\n}\n.flexlayout__border_inner {\n position: relative;\n box-sizing: border-box;\n align-items: center;\n display: flex;\n flex-grow: 1;\n scrollbar-width: none;\n}\n.flexlayout__border_inner::-webkit-scrollbar {\n display: none;\n}\n.flexlayout__border_inner_tab_container {\n white-space: nowrap;\n display: flex;\n padding-left: 2px;\n padding-right: 2px;\n box-sizing: border-box;\n position: absolute;\n}\n.flexlayout__border_inner_tab_container_right {\n transform-origin: top left;\n transform: rotate(90deg);\n}\n.flexlayout__border_inner_tab_container_left {\n flex-direction: row-reverse;\n transform-origin: top right;\n transform: rotate(-90deg);\n}\n.flexlayout__border_tab_divider {\n width: 4px;\n}\n.flexlayout__border_button {\n display: flex;\n gap: 0.3em;\n align-items: center;\n cursor: pointer;\n padding: 3px 0.5em;\n margin: 2px 0px;\n box-sizing: border-box;\n white-space: nowrap;\n}\n.flexlayout__border_button--selected {\n background-color: var(--color-border-tab-selected-background);\n color: var(--color-border-tab-selected);\n}\n@media (hover: hover) {\n .flexlayout__border_button:hover {\n color: var(--color-border-tab-selected);\n }\n}\n.flexlayout__border_button--unselected {\n background-color: var(--color-border-tab-unselected-background);\n color: var(--color-border-tab-unselected);\n}\n.flexlayout__border_button_leading {\n display: flex;\n}\n.flexlayout__border_button_content {\n display: flex;\n}\n.flexlayout__border_button_trailing {\n display: flex;\n border-radius: 4px;\n visibility: hidden;\n}\n@media (hover: hover) {\n .flexlayout__border_button:hover .flexlayout__border_button_trailing {\n visibility: visible;\n }\n}\n.flexlayout__border_button--selected .flexlayout__border_button_trailing {\n visibility: visible;\n}\n.flexlayout__border_toolbar {\n display: flex;\n gap: 0.3em;\n align-items: center;\n}\n.flexlayout__border_toolbar_left, .flexlayout__border_toolbar_right {\n flex-direction: column;\n padding-top: 0.5em;\n padding-bottom: 0.3em;\n}\n.flexlayout__border_toolbar_top, .flexlayout__border_toolbar_bottom {\n padding-left: 0.5em;\n padding-right: 0.3em;\n}\n.flexlayout__border_toolbar_button {\n border: none;\n outline: none;\n font-size: inherit;\n background-color: transparent;\n border-radius: 4px;\n padding: 1px;\n}\n@media (hover: hover) {\n .flexlayout__border_toolbar_button:hover {\n background-color: var(--color-toolbar-button-hover);\n }\n}\n.flexlayout__border_toolbar_button_overflow {\n display: flex;\n align-items: center;\n border: none;\n color: var(--color-overflow);\n font-size: inherit;\n background-color: transparent;\n width: 1.5em;\n}\n.flexlayout__popup_menu {\n font-size: var(--font-size);\n font-family: var(--font-family);\n}\n.flexlayout__popup_menu_item {\n padding: 2px 0.5em;\n white-space: nowrap;\n cursor: pointer;\n border-radius: 2px;\n}\n.flexlayout__popup_menu_item--selected {\n font-weight: 500;\n background-color: var(--color-tab-selected-background);\n color: var(--color-tab-selected);\n}\n@media (hover: hover) {\n .flexlayout__popup_menu_item:hover {\n background-color: var(--color-6);\n }\n}\n.flexlayout__popup_menu_container {\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);\n border: 1px solid var(--color-popup-border);\n color: var(--color-popup-unselected);\n background: var(--color-popup-unselected-background);\n border-radius: 3px;\n position: absolute;\n z-index: 1000;\n max-height: 50%;\n min-width: 100px;\n overflow: auto;\n padding: 2px;\n}\n.flexlayout__floating_window _body {\n height: 100%;\n}\n.flexlayout__floating_window_content {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n}\n.flexlayout__error_boundary_container {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n display: flex;\n justify-content: center;\n}\n.flexlayout__error_boundary_content {\n display: flex;\n align-items: center;\n}\n.flexlayout__border_sizer {\n position: absolute;\n top: -30000px;\n padding-top: 6px;\n padding-bottom: 5px;\n font-size: var(--font-size);\n font-family: var(--font-family);\n}\n.flexlayout__mini_scrollbar {\n position: absolute;\n background-color: var(--color-mini-scroll-indicator);\n border-radius: 5px;\n width: var(--size-mini-scroll-indicator);\n height: var(--size-mini-scroll-indicator);\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;\n}\n.flexlayout__mini_scrollbar:hover {\n background-color: var(--color-mini-scroll-indicator-hovered);\n transition: background-color 0.3s ease-in-out;\n}\n.flexlayout__mini_scrollbar_container {\n position: relative;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n}\n@media (hover: hover) {\n .flexlayout__mini_scrollbar_container:hover .flexlayout__mini_scrollbar {\n opacity: 1;\n visibility: visible;\n }\n}\n\n/* ======================== End of Base Classes =========================== */\n/* \n dark theme overrides \n*/\n.flexlayout__tabset_header {\n box-shadow: inset 0 0 3px 0 rgba(136, 136, 136, 0.54);\n}\n.flexlayout__tabset-selected {\n background-image: linear-gradient(var(--color-background), var(--color-4));\n}\n.flexlayout__tabset-maximized {\n background-image: linear-gradient(var(--color-6), var(--color-2));\n}\n.flexlayout__tab_top {\n box-shadow: inset -2px 0px 5px rgba(0, 0, 0, 0.1);\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.flexlayout__tab_bottom {\n box-shadow: inset -2px 0px 5px rgba(0, 0, 0, 0.1);\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.flexlayout__border_button {\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);\n border-radius: 3px;\n}\n\n/* ============================================================================\n * Rapid Design System overrides (flexlayout-react.overrides.css) — applied last.\n * ========================================================================== */\n/*\n * flexlayout-react.overrides.css — Rapid Design System theme overrides for flexlayout-react.\n *\n * THIS IS THE SINGLE SOURCE OF TRUTH for how flexlayout-react looks across every app that\n * consumes Foundation. Do NOT copy these rules into apps — import the compiled theme from\n * \\`@genesislcap/rapid-design-system\\` instead (see flexlayout-react-theme.ts).\n *\n * Build pipeline: \\`scripts/generate-flexlayout-theme.mjs\\` concatenates the vendored\n * flexlayout-react base theme (structural CSS + dark palette) FIRST, then this file LAST,\n * into \\`flexlayout-react-theme.generated.ts\\`. Equal specificity means the later sheet wins,\n * so every rule here overrides the vendored default. Run \\`pnpm flexlayout:generate\\` after\n * editing (the package build does this automatically).\n *\n * The flexlayout theme is almost entirely driven by CSS custom properties declared on\n * \\`.flexlayout__layout\\` (see the full list at the top of the vendored base theme). The\n * easiest way to re-skin is to remap those variables to rapid design-system tokens, as\n * below. For anything the variables don't cover, target the \\`.flexlayout__*\\` classes\n * directly (examples at the bottom).\n *\n * Tokens resolve from the nearest design-system provider ancestor (CSS custom properties\n * inherit across shadow boundaries), so flexlayout-react must render under a\n * \\`<rapid-design-system-provider>\\` for these to take effect.\n */\n\n/* --- Variable remap: flexlayout palette -> rapid design tokens ----------------- */\n.flexlayout__layout {\n --font-family: var(--body-font, Roboto, Arial, sans-serif);\n --font-size: var(--type-ramp-base-font-size);\n\n --color-text: var(--neutral-foreground-rest);\n --color-background: var(--fill-color);\n\n /* Greyscale ramp used across tabsets, borders and toolbars. */\n --color-1: var(--neutral-layer-1);\n --color-2: var(--neutral-layer-2);\n --color-3: var(--neutral-layer-3);\n --color-4: var(--neutral-layer-4);\n\n /* Selected tab + active splitter pick up the accent colour. */\n --color-tab-selected: var(--accent-foreground-rest);\n --color-tab-unselected: var(--neutral-foreground-hint);\n --color-tab-selected-background: var(--accent-fill-rest);\n --color-splitter-drag: var(--accent-fill-rest);\n --color-splitter-hover: var(--accent-fill-hover);\n}\n\n.flexlayout__tabset-selected,\n.flexlayout__tabset-maximized {\n background-image: none !important;\n}\n\n.flexlayout__tab_button_content {\n font-weight: 400;\n font-size: var(--type-ramp-minus-1-font-size);\n}\n\n.flexlayout__tab_button--unselected:hover {\n color: var(--neutral-foreground-rest, #e0e0e0) !important;\n background-color: var(--neutral-fill-stealth-active, rgba(255, 255, 255, 0.06)) !important;\n}\n\n.flexlayout__tab_top,\n.flexlayout__tab_bottom {\n border-radius: 0 !important;\n box-shadow: none !important;\n}\n\n.flexlayout__tab_toolbar_button-max,\n.flexlayout__tab_toolbar_button-min {\n order: 100;\n}\n\n.flexlayout__tab_button_textbox {\n box-sizing: border-box;\n width: auto;\n min-width: 8em;\n max-width: 100%;\n margin: 0;\n padding: 0 calc(var(--design-unit, 4) * 1px);\n font-family: var(--body-font);\n font-size: var(--type-ramp-base-font-size, var(--font-size));\n font-weight: 500;\n line-height: var(--type-ramp-base-line-height, normal);\n color: var(--neutral-foreground-rest);\n background-color: var(--neutral-fill-input-rest);\n border: 1px solid var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius, 2) * 1px);\n\n &:focus {\n outline: none;\n color: var(--neutral-foreground-rest);\n background-color: var(--neutral-fill-input-focus, var(--neutral-fill-input-rest));\n border-color: var(--accent-fill-rest);\n }\n}\n\n.flexlayout__tabset {\n border: var(--card-border, 1px solid var(--neutral-stroke-rest));\n border-radius: var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));\n background-color: var(--rapid-layout-item-background, var(--neutral-layer-3));\n}\n\n.flexlayout__tabset_content {\n margin-top: -1px;\n}\n\n.flexlayout__tabset_tabbar_outer_top {\n border: 0;\n height: var(\n --foundation-tab-height,\n calc((((var(--base-height-multiplier) + var(--density)) * var(--design-unit)) - 4) * 1px)\n );\n background: none;\n z-index: 1;\n}\n\n.flexlayout__tabset_container {\n border-radius: var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));\n}\n\n.flexlayout__tabset_tabbar_inner_tab_container_top {\n border-top: 0;\n}\n\n.flexlayout__tab_button {\n border-right-style: solid;\n border-right-width: var(--tab-rest-border-width, 1px);\n border-right-color: var(--tab-rest-border-color, var(--neutral-stroke-rest));\n padding: 0 calc((12 + var(--design-unit) * 2 * var(--density)) * 1px);\n gap: 8px;\n\n &:first-child {\n border-left-style: solid;\n border-left-width: var(--tab-rest-border-width, 1px);\n border-left-color: var(--tab-rest-border-color, var(--neutral-stroke-rest));\n }\n}\n\n.flexlayout__tab_button--selected {\n position: relative;\n color: var(--accent-foreground-rest) !important;\n background: var(--tab-active-background-color, var(--neutral-layer-card-container));\n border-style: solid;\n border-width: var(--tab-active-border-width, 0 1px 0 0);\n border-color: var(--tab-active-border-color, var(--neutral-stroke-rest));\n .flexlayout__tab_button_content {\n font-weight: 700;\n }\n}\n\n.flexlayout__tab {\n border-radius: calc(var(--control-corner-radius) * 1.5px)\n calc(var(--control-corner-radius) * 1.5px)\n var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px))\n var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));\n border-top: var(--card-border, 1px solid var(--neutral-stroke-rest));\n background: var(--neutral-layer-card-container);\n\n rapid-card {\n display: flex;\n flex-direction: column;\n border: 0;\n border-radius: 0 0 var(--card-corner-radius) var(--card-corner-radius);\n grid-register {\n display: block;\n height: 100%;\n }\n }\n}\n\n.flexlayout__tabset_tab_divider {\n width: 0;\n}\n\n.flexlayout__tab_button_trailing {\n rapid-icon {\n color: var(--accent-foreground-rest);\n\n &:hover {\n color: var(--accent-foreground-hover);\n }\n }\n}\n\n.flexlayout__popup_menu_container {\n box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);\n padding: 0;\n border: 1px solid var(--neutral-stroke-rest);\n}\n\n.flexlayout__popup_menu_item {\n padding: calc((8 + var(--design-unit) * 2 * var(--density)) * 1px);\n border-bottom: 1px solid var(--neutral-stroke-divider-rest);\n\n &:hover {\n background-color: var(--neutral-fill-rest);\n color: contrast-color(var(--neutral-fill-rest));\n }\n\n &:last-child {\n border-bottom: 0;\n }\n}\n\n.flexlayout__popup_menu_item--selected {\n background-color: var(--neutral-fill-rest);\n color: contrast-color(var(--neutral-fill-rest));\n}\n\n.flexlayout__tab_toolbar_button {\n padding: 0;\n height: unset;\n width: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n > svg {\n height: 16px !important;\n width: 16px !important;\n padding: 4px;\n fill: var(--neutral-foreground-hint);\n }\n}\n\n.flexlayout__splitter_vert {\n background-color: var(--neutral-foreground-rest);\n mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDI0IEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNDE2IDI1NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMTYwIDBhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNNjQgMjg4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHoiLz48L3N2Zz4=);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: 12px;\n &:hover {\n mask-image: none;\n }\n}\n\n.flexlayout__splitter_horz {\n background-color: var(--neutral-foreground-rest);\n mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDI0IEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNjQgMzg0YTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMC0xNjBhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek05NiA5NkEzMiAzMiAwIDEgMCAzMiA5NmEzMiAzMiAwIDEgMCA2NCAweiIvPjwvc3ZnPg==);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: 4px;\n &:hover {\n mask-image: none;\n }\n}\n\n.flexlayout__layout {\n top: 8px;\n bottom: 8px;\n left: 8px;\n right: 8px;\n}`",
16890
+ "description": "Merged flexlayout-react base theme + Rapid Design System overrides."
16891
+ }
16892
+ ],
16893
+ "exports": [
16894
+ {
16895
+ "kind": "js",
16896
+ "name": "RAPID_FLEXLAYOUT_REACT_VERSION",
16897
+ "declaration": {
16898
+ "name": "RAPID_FLEXLAYOUT_REACT_VERSION",
16899
+ "module": "src/flexlayout-react-theme/flexlayout-react-theme.generated.ts"
16900
+ }
16901
+ },
16902
+ {
16903
+ "kind": "js",
16904
+ "name": "FLEXLAYOUT_REACT_THEME_CSS",
16905
+ "declaration": {
16906
+ "name": "FLEXLAYOUT_REACT_THEME_CSS",
16907
+ "module": "src/flexlayout-react-theme/flexlayout-react-theme.generated.ts"
16908
+ }
16909
+ }
16910
+ ]
16911
+ },
16912
+ {
16913
+ "kind": "javascript-module",
16914
+ "path": "src/flexlayout-react-theme/flexlayout-react-theme.ts",
16915
+ "declarations": [
16916
+ {
16917
+ "kind": "variable",
16918
+ "name": "rapidFlexLayoutReactStyleText",
16919
+ "type": {
16920
+ "text": "string"
16921
+ },
16922
+ "default": "FLEXLAYOUT_REACT_THEME_CSS",
16923
+ "description": "The complete, platform-owned flexlayout-react theme as raw CSS text: the vendored\nflexlayout-react base theme (structural CSS + dark palette) followed by the Rapid Design\nSystem overrides (token remap + tweaks). This is the single source of truth — apps should\nnever import flexlayout-react's own stylesheets or copy the overrides locally.\n\nColours resolve from rapid design tokens, so render flexlayout-react under a\n`<rapid-design-system-provider>` (CSS custom properties inherit across shadow boundaries).\n\nUse this when you need the string directly (e.g. server-rendered `<style>`); most callers\nwant installRapidFlexLayoutReactStyles or getRapidFlexLayoutReactStyleSheet."
16924
+ },
16925
+ {
16926
+ "kind": "variable",
16927
+ "name": "rapidFlexLayoutReactStyles",
16928
+ "type": {
16929
+ "text": "ElementStyles"
16930
+ },
16931
+ "default": "css`\n ${rapidFlexLayoutReactStyleText}\n`",
16932
+ "description": "The platform flexlayout-react theme as FAST ElementStyles, for adoption into a\nweb component's shadow root (e.g. composing into a component's `styles`)."
16933
+ },
16934
+ {
16935
+ "kind": "function",
16936
+ "name": "getRapidFlexLayoutReactStyleSheet",
16937
+ "return": {
16938
+ "type": {
16939
+ "text": "CSSStyleSheet"
16940
+ }
16941
+ },
16942
+ "description": "Returns a cached constructable CSSStyleSheet for the platform flexlayout-react\ntheme, suitable for `(document | shadowRoot).adoptedStyleSheets`. The sheet is created\nonce and shared across all adopters."
16943
+ },
16944
+ {
16945
+ "kind": "function",
16946
+ "name": "installRapidFlexLayoutReactStyles",
16947
+ "return": {
16948
+ "type": {
16949
+ "text": "void"
16950
+ }
16951
+ },
16952
+ "parameters": [
16953
+ {
16954
+ "name": "target",
16955
+ "default": "document",
16956
+ "type": {
16957
+ "text": "Document | ShadowRoot"
16958
+ }
16959
+ }
16960
+ ],
16961
+ "description": "Installs the platform flexlayout-react theme into a `Document` (default) or `ShadowRoot`.\nIdempotent — calling it more than once on the same target is a no-op. Call once where\nflexlayout-react renders:\n - light DOM: `installRapidFlexLayoutReactStyles()` at app bootstrap;\n - shadow DOM: `installRapidFlexLayoutReactStyles(myShadowRoot)`.\n\nPrefers constructable stylesheets (`adoptedStyleSheets`); falls back to injecting a\n`<style>` element for older engines."
16962
+ }
16963
+ ],
16964
+ "exports": [
16965
+ {
16966
+ "kind": "js",
16967
+ "name": "RAPID_FLEXLAYOUT_REACT_VERSION",
16968
+ "declaration": {
16969
+ "name": "RAPID_FLEXLAYOUT_REACT_VERSION",
16970
+ "module": "src/flexlayout-react-theme/flexlayout-react-theme.ts"
16971
+ }
16972
+ },
16973
+ {
16974
+ "kind": "js",
16975
+ "name": "rapidFlexLayoutReactStyleText",
16976
+ "declaration": {
16977
+ "name": "rapidFlexLayoutReactStyleText",
16978
+ "module": "src/flexlayout-react-theme/flexlayout-react-theme.ts"
16979
+ }
16980
+ },
16981
+ {
16982
+ "kind": "js",
16983
+ "name": "rapidFlexLayoutReactStyles",
16984
+ "declaration": {
16985
+ "name": "rapidFlexLayoutReactStyles",
16986
+ "module": "src/flexlayout-react-theme/flexlayout-react-theme.ts"
16987
+ }
16988
+ },
16989
+ {
16990
+ "kind": "js",
16991
+ "name": "getRapidFlexLayoutReactStyleSheet",
16992
+ "declaration": {
16993
+ "name": "getRapidFlexLayoutReactStyleSheet",
16994
+ "module": "src/flexlayout-react-theme/flexlayout-react-theme.ts"
16995
+ }
16996
+ },
16997
+ {
16998
+ "kind": "js",
16999
+ "name": "installRapidFlexLayoutReactStyles",
17000
+ "declaration": {
17001
+ "name": "installRapidFlexLayoutReactStyles",
17002
+ "module": "src/flexlayout-react-theme/flexlayout-react-theme.ts"
17003
+ }
17004
+ }
17005
+ ]
17006
+ },
17007
+ {
17008
+ "kind": "javascript-module",
17009
+ "path": "src/flexlayout-react-theme/index.ts",
17010
+ "declarations": [],
17011
+ "exports": [
17012
+ {
17013
+ "kind": "js",
17014
+ "name": "*",
17015
+ "declaration": {
17016
+ "name": "*",
17017
+ "package": "./flexlayout-react-theme"
17018
+ }
17019
+ }
17020
+ ]
17021
+ },
16865
17022
  {
16866
17023
  "kind": "javascript-module",
16867
17024
  "path": "src/flipper/flipper.styles.ts",
@@ -0,0 +1,47 @@
1
+ import { ElementStyles } from '@microsoft/fast-element';
2
+ import { RAPID_FLEXLAYOUT_REACT_VERSION } from './flexlayout-react-theme.generated';
3
+ /**
4
+ * The flexlayout-react version this theme is built against. flexlayout-react remains an
5
+ * app-level dependency; this is the version the platform theme is known to be compatible
6
+ * with (see the optional `flexlayout-react` peerDependency).
7
+ */
8
+ export { RAPID_FLEXLAYOUT_REACT_VERSION };
9
+ /**
10
+ * The complete, platform-owned flexlayout-react theme as raw CSS text: the vendored
11
+ * flexlayout-react base theme (structural CSS + dark palette) followed by the Rapid Design
12
+ * System overrides (token remap + tweaks). This is the single source of truth — apps should
13
+ * never import flexlayout-react's own stylesheets or copy the overrides locally.
14
+ *
15
+ * Colours resolve from rapid design tokens, so render flexlayout-react under a
16
+ * `<rapid-design-system-provider>` (CSS custom properties inherit across shadow boundaries).
17
+ *
18
+ * Use this when you need the string directly (e.g. server-rendered `<style>`); most callers
19
+ * want {@link installRapidFlexLayoutReactStyles} or {@link getRapidFlexLayoutReactStyleSheet}.
20
+ */
21
+ export declare const rapidFlexLayoutReactStyleText: string;
22
+ /**
23
+ * The platform flexlayout-react theme as FAST {@link ElementStyles}, for adoption into a
24
+ * web component's shadow root (e.g. composing into a component's `styles`).
25
+ */
26
+ export declare const rapidFlexLayoutReactStyles: ElementStyles;
27
+ /**
28
+ * Returns a cached constructable {@link CSSStyleSheet} for the platform flexlayout-react
29
+ * theme, suitable for `(document | shadowRoot).adoptedStyleSheets`. The sheet is created
30
+ * once and shared across all adopters.
31
+ *
32
+ * @example
33
+ * shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, getRapidFlexLayoutReactStyleSheet()];
34
+ */
35
+ export declare const getRapidFlexLayoutReactStyleSheet: () => CSSStyleSheet;
36
+ /**
37
+ * Installs the platform flexlayout-react theme into a `Document` (default) or `ShadowRoot`.
38
+ * Idempotent — calling it more than once on the same target is a no-op. Call once where
39
+ * flexlayout-react renders:
40
+ * - light DOM: `installRapidFlexLayoutReactStyles()` at app bootstrap;
41
+ * - shadow DOM: `installRapidFlexLayoutReactStyles(myShadowRoot)`.
42
+ *
43
+ * Prefers constructable stylesheets (`adoptedStyleSheets`); falls back to injecting a
44
+ * `<style>` element for older engines.
45
+ */
46
+ export declare const installRapidFlexLayoutReactStyles: (target?: Document | ShadowRoot) => void;
47
+ //# sourceMappingURL=flexlayout-react-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flexlayout-react-theme.d.ts","sourceRoot":"","sources":["../../../src/flexlayout-react-theme/flexlayout-react-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAEL,8BAA8B,EAC/B,MAAM,oCAAoC,CAAC;AAE5C;;;;GAIG;AACH,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAmC,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAExC,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,QAAO,aAMpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,GAC5C,SAAQ,QAAQ,GAAG,UAAqB,KACvC,IAWF,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** The flexlayout-react version this theme was generated against. */
2
+ export declare const RAPID_FLEXLAYOUT_REACT_VERSION = "0.8.19";
3
+ /** Merged flexlayout-react base theme + Rapid Design System overrides. */
4
+ export declare const FLEXLAYOUT_REACT_THEME_CSS = "/* ============================================================================\n * flexlayout-react base theme \u2014 VENDORED from flexlayout-react@0.8.19 (style/dark.css).\n * ========================================================================== */\n.flexlayout__layout {\n --color-text: #eeeeee;\n --color-background: black;\n --color-base: black;\n --color-1: rgb(17.85, 17.85, 17.85);\n --color-2: rgb(25.5, 25.5, 25.5);\n --color-3: rgb(38.25, 38.25, 38.25);\n --color-4: #333333;\n --color-5: rgb(63.75, 63.75, 63.75);\n --color-6: rgb(76.5, 76.5, 76.5);\n --color-drag1: rgb(207, 232, 255);\n --color-drag2: rgb(183, 209, 181);\n --color-drag1-background: rgba(128, 128, 128, 0.15);\n --color-drag2-background: rgba(128, 128, 128, 0.15);\n --font-size: medium;\n --font-family: Roboto, Arial, sans-serif;\n --color-overflow: gray;\n --color-icon: gray;\n --color-tabset-background: var(--color-1);\n --color-tabset-background-selected: var(--color-1);\n --color-tabset-background-maximized: var(--color-6);\n --color-tabset-divider-line: var(--color-4);\n --color-tabset-header-background: var(--color-1);\n --color-tabset-header: var(--color-text);\n --color-border-tab-content: var(--color-background);\n --color-border-background: var(--color-1);\n --color-border-divider-line: var(--color-4);\n --color-tab-content: var(--color-background);\n --color-tab-selected: var(--color-text);\n --color-tab-selected-background: var(--color-4);\n --color-tab-unselected: gray;\n --color-tab-unselected-background: transparent;\n --color-tab-textbox: var(--color-text);\n --color-tab-textbox-background: var(--color-3);\n --color-border-tab-selected: var(--color-text);\n --color-border-tab-selected-background: var(--color-4);\n --color-border-tab-unselected: gray;\n --color-border-tab-unselected-background: var(--color-2);\n --color-splitter: var(--color-2);\n --color-splitter-hover: var(--color-4);\n --color-splitter-drag: var(--color-5);\n --color-drag-rect-border: var(--color-4);\n --color-drag-rect-background: var(--color-1);\n --color-drag-rect: var(--color-text);\n --color-popup-border: var(--color-6);\n --color-popup-unselected: var(--color-text);\n --color-popup-unselected-background: var(--color-background);\n --color-popup-selected: var(--color-text);\n --color-popup-selected-background: var(--color-4);\n --color-edge-marker: gray;\n --color-edge-icon: #eee;\n --color-mini-scroll-indicator: rgba(128, 128, 128, 0.5);\n --color-mini-scroll-indicator-hovered: rgba(128, 128, 128, 0.8);\n --size-mini-scroll-indicator: 3px;\n --color-toolbar-button-hover: var(--color-4);\n}\n\n/*\n base classes\n*/\n.flexlayout__layout {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n display: flex;\n overflow: hidden;\n background-color: var(--color-background);\n}\n.flexlayout__layout_overlay {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n z-index: 1000;\n}\n.flexlayout__layout_tab_stamps {\n position: absolute;\n top: -10000px;\n z-index: 100;\n display: flex;\n flex-direction: column;\n align-items: start;\n}\n.flexlayout__layout_moveables {\n visibility: hidden;\n position: absolute;\n width: 100px;\n height: 100px;\n top: -20000px;\n}\n.flexlayout__layout_main {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n position: relative;\n}\n.flexlayout__layout_border_container {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n}\n.flexlayout__layout_border_container_inner {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n}\n.flexlayout__splitter {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--color-splitter);\n touch-action: none;\n z-index: 10;\n}\n@media (hover: hover) {\n .flexlayout__splitter:hover {\n background-color: var(--color-splitter-hover);\n transition: background-color ease-in 0.1s;\n transition-delay: 0.05s;\n border-radius: 5px;\n }\n}\n.flexlayout__splitter_drag {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n border-radius: 5px;\n background-color: var(--color-splitter-drag);\n}\n.flexlayout__splitter_handle {\n background-color: #ccc;\n border-radius: 3px;\n}\n.flexlayout__splitter_handle_horz {\n width: 3px;\n height: 30px;\n}\n.flexlayout__splitter_handle_vert {\n width: 30px;\n height: 3px;\n}\n.flexlayout__splitter_extra {\n touch-action: none;\n background-color: transparent;\n}\n.flexlayout__outline_rect {\n position: absolute;\n pointer-events: none;\n box-sizing: border-box;\n border: 2px solid var(--color-drag1);\n background: var(--color-drag1-background);\n border-radius: 5px;\n z-index: 1000;\n}\n.flexlayout__outline_rect_edge {\n pointer-events: none;\n border: 2px solid var(--color-drag2);\n background: var(--color-drag2-background);\n border-radius: 5px;\n z-index: 1000;\n box-sizing: border-box;\n}\n.flexlayout__edge_rect {\n position: absolute;\n z-index: 1000;\n background-color: var(--color-edge-marker);\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.flexlayout__drag_rect {\n color: var(--color-drag-rect);\n background-color: var(--color-drag-rect-background);\n border: 2px solid var(--color-drag-rect-border);\n border-radius: 5px;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n flex-direction: column;\n overflow: hidden;\n padding: 0.3em 0.8em;\n word-wrap: break-word;\n font-size: var(--font-size);\n font-family: var(--font-family);\n}\n.flexlayout__row {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n}\n.flexlayout__tabset {\n display: flex;\n flex-direction: column;\n position: relative;\n background-color: var(--color-tabset-background);\n box-sizing: border-box;\n font-family: var(--font-family);\n overflow: hidden;\n flex-grow: 1;\n}\n.flexlayout__tabset_container {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-direction: column;\n overflow: hidden;\n flex-grow: 1;\n}\n.flexlayout__tabset_tab_divider {\n width: 4px;\n}\n.flexlayout__tabset_content {\n display: flex;\n flex-basis: 0px;\n min-width: 0;\n min-height: 0;\n flex-grow: 1;\n box-sizing: border-box;\n position: relative;\n}\n.flexlayout__tabset_leading {\n display: flex;\n}\n.flexlayout__tabset_header {\n display: flex;\n align-items: center;\n padding: 3px 3px 3px 5px;\n box-sizing: border-box;\n border-bottom: 1px solid var(--color-tabset-divider-line);\n color: var(--color-tabset-header);\n background-color: var(--color-tabset-header-background);\n font-size: var(--font-size);\n}\n.flexlayout__tabset_header_content {\n flex-grow: 1;\n}\n.flexlayout__tabset_tabbar_outer {\n box-sizing: border-box;\n background-color: var(--color-tabset-background);\n overflow: hidden;\n display: flex;\n font-size: var(--font-size);\n}\n.flexlayout__tabset_tabbar_outer_top {\n padding: 0px 2px 0px 2px;\n border-bottom: 1px solid var(--color-tabset-divider-line);\n}\n.flexlayout__tabset_tabbar_outer_bottom {\n padding: 0px 2px 0px 2px;\n border-top: 1px solid var(--color-tabset-divider-line);\n}\n.flexlayout__tabset_tabbar_inner {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n scrollbar-width: none;\n}\n.flexlayout__tabset_tabbar_inner::-webkit-scrollbar {\n display: none;\n}\n.flexlayout__tabset_tabbar_inner_tab_container {\n position: relative;\n display: flex;\n padding-left: 4px;\n padding-right: 4px;\n box-sizing: border-box;\n white-space: nowrap;\n}\n.flexlayout__tabset_tabbar_inner_tab_container_top {\n border-top: 2px solid transparent;\n}\n.flexlayout__tabset_tabbar_inner_tab_container_bottom {\n border-bottom: 2px solid transparent;\n}\n.flexlayout__tabset-selected {\n background-color: var(--color-tabset-background-selected);\n}\n.flexlayout__tabset-maximized {\n background-color: var(--color-tabset-background-maximized);\n}\n.flexlayout__tab_button_stamp {\n display: inline-flex;\n align-items: center;\n gap: 0.3em;\n white-space: nowrap;\n box-sizing: border-box;\n}\n.flexlayout__tab {\n overflow: hidden;\n box-sizing: border-box;\n background-color: var(--color-tab-content);\n color: var(--color-text);\n position: relative;\n}\n.flexlayout__tab_moveable {\n position: relative;\n height: 100%;\n min-width: 1px;\n min-height: 1px;\n overflow: auto;\n box-sizing: border-box;\n}\n.flexlayout__tab_overlay {\n z-index: 20;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.2392156863);\n}\n.flexlayout__tab_button {\n display: flex;\n gap: 0.3em;\n align-items: center;\n box-sizing: border-box;\n padding: 3px 0.5em;\n cursor: pointer;\n}\n.flexlayout__tab_button_stretch {\n background-color: transparent;\n color: var(--color-tab-selected);\n width: 100%;\n padding: 3px 0em;\n text-wrap: nowrap;\n display: flex;\n gap: 0.3em;\n align-items: center;\n box-sizing: border-box;\n cursor: pointer;\n}\n@media (hover: hover) {\n .flexlayout__tab_button_stretch:hover {\n color: var(--color-tab-selected);\n }\n}\n.flexlayout__tab_button--selected {\n background-color: var(--color-tab-selected-background);\n color: var(--color-tab-selected);\n}\n@media (hover: hover) {\n .flexlayout__tab_button:hover {\n color: var(--color-tab-selected);\n }\n}\n.flexlayout__tab_button--unselected {\n background-color: var(--color-tab-unselected-background);\n color: var(--color-tab-unselected);\n}\n.flexlayout__tab_button_leading {\n display: flex;\n}\n.flexlayout__tab_button_content {\n display: flex;\n text-wrap: nowrap;\n}\n.flexlayout__tab_button_textbox {\n border: none;\n font-family: var(--font-family);\n font-size: var(--font-size);\n color: var(--color-tab-textbox);\n background-color: var(--color-tab-textbox-background);\n border: 1px inset var(--color-1);\n border-radius: 3px;\n width: 10em;\n}\n.flexlayout__tab_button_textbox:focus {\n outline: none;\n}\n.flexlayout__tab_button_trailing {\n display: flex;\n visibility: hidden;\n border-radius: 4px;\n}\n.flexlayout__tab_button_trailing:hover {\n background-color: var(--color-toolbar-button-hover);\n}\n@media (hover: hover) {\n .flexlayout__tab_button:hover .flexlayout__tab_button_trailing {\n visibility: visible;\n }\n}\n.flexlayout__tab_button--selected .flexlayout__tab_button_trailing {\n visibility: visible;\n}\n.flexlayout__tab_button_overflow {\n display: flex;\n align-items: center;\n border: none;\n color: var(--color-overflow);\n font-size: inherit;\n background-color: transparent;\n width: 2em;\n overflow: hidden;\n}\n.flexlayout__tab_toolbar {\n display: flex;\n align-items: center;\n gap: 0.3em;\n padding-left: 0.5em;\n padding-right: 0.3em;\n}\n.flexlayout__tab_toolbar_icon {\n border: none;\n outline: none;\n font-size: inherit;\n margin: 0px;\n background-color: transparent;\n padding: 1px;\n}\n.flexlayout__tab_toolbar_button {\n border: none;\n outline: none;\n font-size: inherit;\n margin: 0px;\n background-color: transparent;\n border-radius: 4px;\n padding: 1px;\n}\n@media (hover: hover) {\n .flexlayout__tab_toolbar_button:hover {\n background-color: var(--color-toolbar-button-hover);\n }\n}\n.flexlayout__tab_toolbar_sticky_buttons_container {\n display: flex;\n gap: 0.3em;\n padding-left: 5px;\n align-items: center;\n}\n.flexlayout__border {\n box-sizing: border-box;\n overflow: hidden;\n display: flex;\n font-size: var(--font-size);\n font-family: var(--font-family);\n color: var(--color-border);\n background-color: var(--color-border-background);\n}\n.flexlayout__border_tab_contents {\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(--color-border-tab-content);\n}\n.flexlayout__border_leading {\n display: flex;\n}\n.flexlayout__border_top {\n border-bottom: 1px solid var(--color-border-divider-line);\n align-items: center;\n}\n.flexlayout__border_bottom {\n border-top: 1px solid var(--color-border-divider-line);\n align-items: center;\n}\n.flexlayout__border_left {\n border-right: 1px solid var(--color-border-divider-line);\n align-content: center;\n flex-direction: column;\n}\n.flexlayout__border_right {\n border-left: 1px solid var(--color-border-divider-line);\n align-content: center;\n flex-direction: column;\n}\n.flexlayout__border_inner {\n position: relative;\n box-sizing: border-box;\n align-items: center;\n display: flex;\n flex-grow: 1;\n scrollbar-width: none;\n}\n.flexlayout__border_inner::-webkit-scrollbar {\n display: none;\n}\n.flexlayout__border_inner_tab_container {\n white-space: nowrap;\n display: flex;\n padding-left: 2px;\n padding-right: 2px;\n box-sizing: border-box;\n position: absolute;\n}\n.flexlayout__border_inner_tab_container_right {\n transform-origin: top left;\n transform: rotate(90deg);\n}\n.flexlayout__border_inner_tab_container_left {\n flex-direction: row-reverse;\n transform-origin: top right;\n transform: rotate(-90deg);\n}\n.flexlayout__border_tab_divider {\n width: 4px;\n}\n.flexlayout__border_button {\n display: flex;\n gap: 0.3em;\n align-items: center;\n cursor: pointer;\n padding: 3px 0.5em;\n margin: 2px 0px;\n box-sizing: border-box;\n white-space: nowrap;\n}\n.flexlayout__border_button--selected {\n background-color: var(--color-border-tab-selected-background);\n color: var(--color-border-tab-selected);\n}\n@media (hover: hover) {\n .flexlayout__border_button:hover {\n color: var(--color-border-tab-selected);\n }\n}\n.flexlayout__border_button--unselected {\n background-color: var(--color-border-tab-unselected-background);\n color: var(--color-border-tab-unselected);\n}\n.flexlayout__border_button_leading {\n display: flex;\n}\n.flexlayout__border_button_content {\n display: flex;\n}\n.flexlayout__border_button_trailing {\n display: flex;\n border-radius: 4px;\n visibility: hidden;\n}\n@media (hover: hover) {\n .flexlayout__border_button:hover .flexlayout__border_button_trailing {\n visibility: visible;\n }\n}\n.flexlayout__border_button--selected .flexlayout__border_button_trailing {\n visibility: visible;\n}\n.flexlayout__border_toolbar {\n display: flex;\n gap: 0.3em;\n align-items: center;\n}\n.flexlayout__border_toolbar_left, .flexlayout__border_toolbar_right {\n flex-direction: column;\n padding-top: 0.5em;\n padding-bottom: 0.3em;\n}\n.flexlayout__border_toolbar_top, .flexlayout__border_toolbar_bottom {\n padding-left: 0.5em;\n padding-right: 0.3em;\n}\n.flexlayout__border_toolbar_button {\n border: none;\n outline: none;\n font-size: inherit;\n background-color: transparent;\n border-radius: 4px;\n padding: 1px;\n}\n@media (hover: hover) {\n .flexlayout__border_toolbar_button:hover {\n background-color: var(--color-toolbar-button-hover);\n }\n}\n.flexlayout__border_toolbar_button_overflow {\n display: flex;\n align-items: center;\n border: none;\n color: var(--color-overflow);\n font-size: inherit;\n background-color: transparent;\n width: 1.5em;\n}\n.flexlayout__popup_menu {\n font-size: var(--font-size);\n font-family: var(--font-family);\n}\n.flexlayout__popup_menu_item {\n padding: 2px 0.5em;\n white-space: nowrap;\n cursor: pointer;\n border-radius: 2px;\n}\n.flexlayout__popup_menu_item--selected {\n font-weight: 500;\n background-color: var(--color-tab-selected-background);\n color: var(--color-tab-selected);\n}\n@media (hover: hover) {\n .flexlayout__popup_menu_item:hover {\n background-color: var(--color-6);\n }\n}\n.flexlayout__popup_menu_container {\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);\n border: 1px solid var(--color-popup-border);\n color: var(--color-popup-unselected);\n background: var(--color-popup-unselected-background);\n border-radius: 3px;\n position: absolute;\n z-index: 1000;\n max-height: 50%;\n min-width: 100px;\n overflow: auto;\n padding: 2px;\n}\n.flexlayout__floating_window _body {\n height: 100%;\n}\n.flexlayout__floating_window_content {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n}\n.flexlayout__error_boundary_container {\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n display: flex;\n justify-content: center;\n}\n.flexlayout__error_boundary_content {\n display: flex;\n align-items: center;\n}\n.flexlayout__border_sizer {\n position: absolute;\n top: -30000px;\n padding-top: 6px;\n padding-bottom: 5px;\n font-size: var(--font-size);\n font-family: var(--font-family);\n}\n.flexlayout__mini_scrollbar {\n position: absolute;\n background-color: var(--color-mini-scroll-indicator);\n border-radius: 5px;\n width: var(--size-mini-scroll-indicator);\n height: var(--size-mini-scroll-indicator);\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;\n}\n.flexlayout__mini_scrollbar:hover {\n background-color: var(--color-mini-scroll-indicator-hovered);\n transition: background-color 0.3s ease-in-out;\n}\n.flexlayout__mini_scrollbar_container {\n position: relative;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n}\n@media (hover: hover) {\n .flexlayout__mini_scrollbar_container:hover .flexlayout__mini_scrollbar {\n opacity: 1;\n visibility: visible;\n }\n}\n\n/* ======================== End of Base Classes =========================== */\n/* \n dark theme overrides \n*/\n.flexlayout__tabset_header {\n box-shadow: inset 0 0 3px 0 rgba(136, 136, 136, 0.54);\n}\n.flexlayout__tabset-selected {\n background-image: linear-gradient(var(--color-background), var(--color-4));\n}\n.flexlayout__tabset-maximized {\n background-image: linear-gradient(var(--color-6), var(--color-2));\n}\n.flexlayout__tab_top {\n box-shadow: inset -2px 0px 5px rgba(0, 0, 0, 0.1);\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.flexlayout__tab_bottom {\n box-shadow: inset -2px 0px 5px rgba(0, 0, 0, 0.1);\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.flexlayout__border_button {\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);\n border-radius: 3px;\n}\n\n/* ============================================================================\n * Rapid Design System overrides (flexlayout-react.overrides.css) \u2014 applied last.\n * ========================================================================== */\n/*\n * flexlayout-react.overrides.css \u2014 Rapid Design System theme overrides for flexlayout-react.\n *\n * THIS IS THE SINGLE SOURCE OF TRUTH for how flexlayout-react looks across every app that\n * consumes Foundation. Do NOT copy these rules into apps \u2014 import the compiled theme from\n * `@genesislcap/rapid-design-system` instead (see flexlayout-react-theme.ts).\n *\n * Build pipeline: `scripts/generate-flexlayout-theme.mjs` concatenates the vendored\n * flexlayout-react base theme (structural CSS + dark palette) FIRST, then this file LAST,\n * into `flexlayout-react-theme.generated.ts`. Equal specificity means the later sheet wins,\n * so every rule here overrides the vendored default. Run `pnpm flexlayout:generate` after\n * editing (the package build does this automatically).\n *\n * The flexlayout theme is almost entirely driven by CSS custom properties declared on\n * `.flexlayout__layout` (see the full list at the top of the vendored base theme). The\n * easiest way to re-skin is to remap those variables to rapid design-system tokens, as\n * below. For anything the variables don't cover, target the `.flexlayout__*` classes\n * directly (examples at the bottom).\n *\n * Tokens resolve from the nearest design-system provider ancestor (CSS custom properties\n * inherit across shadow boundaries), so flexlayout-react must render under a\n * `<rapid-design-system-provider>` for these to take effect.\n */\n\n/* --- Variable remap: flexlayout palette -> rapid design tokens ----------------- */\n.flexlayout__layout {\n --font-family: var(--body-font, Roboto, Arial, sans-serif);\n --font-size: var(--type-ramp-base-font-size);\n\n --color-text: var(--neutral-foreground-rest);\n --color-background: var(--fill-color);\n\n /* Greyscale ramp used across tabsets, borders and toolbars. */\n --color-1: var(--neutral-layer-1);\n --color-2: var(--neutral-layer-2);\n --color-3: var(--neutral-layer-3);\n --color-4: var(--neutral-layer-4);\n\n /* Selected tab + active splitter pick up the accent colour. */\n --color-tab-selected: var(--accent-foreground-rest);\n --color-tab-unselected: var(--neutral-foreground-hint);\n --color-tab-selected-background: var(--accent-fill-rest);\n --color-splitter-drag: var(--accent-fill-rest);\n --color-splitter-hover: var(--accent-fill-hover);\n}\n\n.flexlayout__tabset-selected,\n.flexlayout__tabset-maximized {\n background-image: none !important;\n}\n\n.flexlayout__tab_button_content {\n font-weight: 400;\n font-size: var(--type-ramp-minus-1-font-size);\n}\n\n.flexlayout__tab_button--unselected:hover {\n color: var(--neutral-foreground-rest, #e0e0e0) !important;\n background-color: var(--neutral-fill-stealth-active, rgba(255, 255, 255, 0.06)) !important;\n}\n\n.flexlayout__tab_top,\n.flexlayout__tab_bottom {\n border-radius: 0 !important;\n box-shadow: none !important;\n}\n\n.flexlayout__tab_toolbar_button-max,\n.flexlayout__tab_toolbar_button-min {\n order: 100;\n}\n\n.flexlayout__tab_button_textbox {\n box-sizing: border-box;\n width: auto;\n min-width: 8em;\n max-width: 100%;\n margin: 0;\n padding: 0 calc(var(--design-unit, 4) * 1px);\n font-family: var(--body-font);\n font-size: var(--type-ramp-base-font-size, var(--font-size));\n font-weight: 500;\n line-height: var(--type-ramp-base-line-height, normal);\n color: var(--neutral-foreground-rest);\n background-color: var(--neutral-fill-input-rest);\n border: 1px solid var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius, 2) * 1px);\n\n &:focus {\n outline: none;\n color: var(--neutral-foreground-rest);\n background-color: var(--neutral-fill-input-focus, var(--neutral-fill-input-rest));\n border-color: var(--accent-fill-rest);\n }\n}\n\n.flexlayout__tabset {\n border: var(--card-border, 1px solid var(--neutral-stroke-rest));\n border-radius: var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));\n background-color: var(--rapid-layout-item-background, var(--neutral-layer-3));\n}\n\n.flexlayout__tabset_content {\n margin-top: -1px;\n}\n\n.flexlayout__tabset_tabbar_outer_top {\n border: 0;\n height: var(\n --foundation-tab-height,\n calc((((var(--base-height-multiplier) + var(--density)) * var(--design-unit)) - 4) * 1px)\n );\n background: none;\n z-index: 1;\n}\n\n.flexlayout__tabset_container {\n border-radius: var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));\n}\n\n.flexlayout__tabset_tabbar_inner_tab_container_top {\n border-top: 0;\n}\n\n.flexlayout__tab_button {\n border-right-style: solid;\n border-right-width: var(--tab-rest-border-width, 1px);\n border-right-color: var(--tab-rest-border-color, var(--neutral-stroke-rest));\n padding: 0 calc((12 + var(--design-unit) * 2 * var(--density)) * 1px);\n gap: 8px;\n\n &:first-child {\n border-left-style: solid;\n border-left-width: var(--tab-rest-border-width, 1px);\n border-left-color: var(--tab-rest-border-color, var(--neutral-stroke-rest));\n }\n}\n\n.flexlayout__tab_button--selected {\n position: relative;\n color: var(--accent-foreground-rest) !important;\n background: var(--tab-active-background-color, var(--neutral-layer-card-container));\n border-style: solid;\n border-width: var(--tab-active-border-width, 0 1px 0 0);\n border-color: var(--tab-active-border-color, var(--neutral-stroke-rest));\n .flexlayout__tab_button_content {\n font-weight: 700;\n }\n}\n\n.flexlayout__tab {\n border-radius: calc(var(--control-corner-radius) * 1.5px)\n calc(var(--control-corner-radius) * 1.5px)\n var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px))\n var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));\n border-top: var(--card-border, 1px solid var(--neutral-stroke-rest));\n background: var(--neutral-layer-card-container);\n\n rapid-card {\n display: flex;\n flex-direction: column;\n border: 0;\n border-radius: 0 0 var(--card-corner-radius) var(--card-corner-radius);\n grid-register {\n display: block;\n height: 100%;\n }\n }\n}\n\n.flexlayout__tabset_tab_divider {\n width: 0;\n}\n\n.flexlayout__tab_button_trailing {\n rapid-icon {\n color: var(--accent-foreground-rest);\n\n &:hover {\n color: var(--accent-foreground-hover);\n }\n }\n}\n\n.flexlayout__popup_menu_container {\n box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);\n padding: 0;\n border: 1px solid var(--neutral-stroke-rest);\n}\n\n.flexlayout__popup_menu_item {\n padding: calc((8 + var(--design-unit) * 2 * var(--density)) * 1px);\n border-bottom: 1px solid var(--neutral-stroke-divider-rest);\n\n &:hover {\n background-color: var(--neutral-fill-rest);\n color: contrast-color(var(--neutral-fill-rest));\n }\n\n &:last-child {\n border-bottom: 0;\n }\n}\n\n.flexlayout__popup_menu_item--selected {\n background-color: var(--neutral-fill-rest);\n color: contrast-color(var(--neutral-fill-rest));\n}\n\n.flexlayout__tab_toolbar_button {\n padding: 0;\n height: unset;\n width: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n > svg {\n height: 16px !important;\n width: 16px !important;\n padding: 4px;\n fill: var(--neutral-foreground-hint);\n }\n}\n\n.flexlayout__splitter_vert {\n background-color: var(--neutral-foreground-rest);\n mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDI0IEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNDE2IDI1NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMTYwIDBhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNNjQgMjg4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHoiLz48L3N2Zz4=);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: 12px;\n &:hover {\n mask-image: none;\n }\n}\n\n.flexlayout__splitter_horz {\n background-color: var(--neutral-foreground-rest);\n mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDI0IEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNjQgMzg0YTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMC0xNjBhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek05NiA5NkEzMiAzMiAwIDEgMCAzMiA5NmEzMiAzMiAwIDEgMCA2NCAweiIvPjwvc3ZnPg==);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: 4px;\n &:hover {\n mask-image: none;\n }\n}\n\n.flexlayout__layout {\n top: 8px;\n bottom: 8px;\n left: 8px;\n right: 8px;\n}";
5
+ //# sourceMappingURL=flexlayout-react-theme.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flexlayout-react-theme.generated.d.ts","sourceRoot":"","sources":["../../../src/flexlayout-react-theme/flexlayout-react-theme.generated.ts"],"names":[],"mappings":"AAWA,qEAAqE;AACrE,eAAO,MAAM,8BAA8B,WAAW,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,291BAy8BrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './flexlayout-react-theme';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/flexlayout-react-theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -39,6 +39,7 @@ export * from './file-upload';
39
39
  export * from './filter';
40
40
  export * from './filter-bar';
41
41
  export * from './flex-layout';
42
+ export * from './flexlayout-react-theme';
42
43
  export * from './flipper';
43
44
  export * from './flyout';
44
45
  export * from './grid-layout';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC;AAC/C,eAAO,MAAM,yBAAyB,yDAAuD,CAAC;AAE9F,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC;AAC/C,eAAO,MAAM,yBAAyB,yDAAuD,CAAC;AAE9F,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}