@genesislcap/rapid-design-system 14.485.0 → 14.486.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.
@@ -452,6 +452,14 @@
452
452
  "package": "./modal"
453
453
  }
454
454
  },
455
+ {
456
+ "kind": "js",
457
+ "name": "*",
458
+ "declaration": {
459
+ "name": "*",
460
+ "package": "./modal-theme"
461
+ }
462
+ },
455
463
  {
456
464
  "kind": "js",
457
465
  "name": "*",
@@ -1730,25 +1738,46 @@
1730
1738
  },
1731
1739
  {
1732
1740
  "kind": "javascript-module",
1733
- "path": "src/ai-indicator/ai-indicator.styles.ts",
1741
+ "path": "src/ai-criteria-search/ai-criteria-search.styles.ts",
1742
+ "declarations": [
1743
+ {
1744
+ "kind": "variable",
1745
+ "name": "rapidAiCriteriaSearchStyles",
1746
+ "default": "css`\n ${foundationAiCriteriaSearchStyles}\n`"
1747
+ }
1748
+ ],
1749
+ "exports": [
1750
+ {
1751
+ "kind": "js",
1752
+ "name": "rapidAiCriteriaSearchStyles",
1753
+ "declaration": {
1754
+ "name": "rapidAiCriteriaSearchStyles",
1755
+ "module": "src/ai-criteria-search/ai-criteria-search.styles.ts"
1756
+ }
1757
+ }
1758
+ ]
1759
+ },
1760
+ {
1761
+ "kind": "javascript-module",
1762
+ "path": "src/ai-criteria-search/ai-criteria-search.template.ts",
1734
1763
  "declarations": [
1735
1764
  {
1736
1765
  "kind": "function",
1737
- "name": "rapidAiIndicatorStyles",
1766
+ "name": "rapidAiCriteriaSearchTemplate",
1738
1767
  "return": {
1739
1768
  "type": {
1740
- "text": "ElementStyles"
1769
+ "text": "ViewTemplate<AiCriteriaSearch>"
1741
1770
  }
1742
1771
  },
1743
1772
  "parameters": [
1744
1773
  {
1745
- "name": "context",
1774
+ "name": "_context",
1746
1775
  "type": {
1747
1776
  "text": "ElementDefinitionContext"
1748
1777
  }
1749
1778
  },
1750
1779
  {
1751
- "name": "definition",
1780
+ "name": "_definition",
1752
1781
  "type": {
1753
1782
  "text": "FoundationElementDefinition"
1754
1783
  }
@@ -1759,286 +1788,347 @@
1759
1788
  "exports": [
1760
1789
  {
1761
1790
  "kind": "js",
1762
- "name": "rapidAiIndicatorStyles",
1791
+ "name": "rapidAiCriteriaSearchTemplate",
1763
1792
  "declaration": {
1764
- "name": "rapidAiIndicatorStyles",
1765
- "module": "src/ai-indicator/ai-indicator.styles.ts"
1793
+ "name": "rapidAiCriteriaSearchTemplate",
1794
+ "module": "src/ai-criteria-search/ai-criteria-search.template.ts"
1766
1795
  }
1767
1796
  }
1768
1797
  ]
1769
1798
  },
1770
1799
  {
1771
1800
  "kind": "javascript-module",
1772
- "path": "src/ai-indicator/ai-indicator.ts",
1801
+ "path": "src/ai-criteria-search/ai-criteria-search.ts",
1773
1802
  "declarations": [
1774
1803
  {
1775
1804
  "kind": "class",
1776
1805
  "description": "",
1777
- "name": "AiIndicator",
1806
+ "name": "AiCriteriaSearch",
1778
1807
  "superclass": {
1779
- "name": "FoundationAiIndicator",
1808
+ "name": "FoundationAiCriteriaSearch",
1780
1809
  "package": "@genesislcap/foundation-ui"
1781
1810
  },
1782
- "tagName": "%%prefix%%-ai-indicator",
1811
+ "tagName": "%%prefix%%-ai-criteria-search",
1783
1812
  "customElement": true,
1784
- "members": [
1813
+ "attributes": [
1785
1814
  {
1786
- "kind": "field",
1787
- "name": "providerRegistry",
1815
+ "name": "placeholder",
1788
1816
  "type": {
1789
- "text": "AIProviderRegistry"
1817
+ "text": "string"
1790
1818
  },
1819
+ "default": "'Describe your search criteria in natural language...'",
1820
+ "fieldName": "placeholder",
1791
1821
  "inheritedFrom": {
1792
- "name": "AiIndicator",
1793
- "module": "src/ai-indicator/ai-indicator.ts"
1822
+ "name": "AiCriteriaSearch",
1823
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1794
1824
  }
1795
1825
  },
1826
+ {
1827
+ "type": {
1828
+ "text": "boolean"
1829
+ },
1830
+ "fieldName": "disabled",
1831
+ "inheritedFrom": {
1832
+ "name": "AiCriteriaSearch",
1833
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1834
+ }
1835
+ }
1836
+ ],
1837
+ "members": [
1796
1838
  {
1797
1839
  "kind": "field",
1798
- "name": "aiProvider",
1840
+ "name": "providerRegistry",
1799
1841
  "type": {
1800
- "text": "AIProvider | undefined"
1842
+ "text": "AIProviderRegistry"
1801
1843
  },
1802
- "privacy": "private",
1803
- "description": "The indicator reflects status for the registry's default provider only —\nper-agent provider overrides live with the assistant component, not this\ntop-level chrome.",
1804
- "readonly": true,
1805
1844
  "inheritedFrom": {
1806
- "name": "AiIndicator",
1807
- "module": "src/ai-indicator/ai-indicator.ts"
1845
+ "name": "AiCriteriaSearch",
1846
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1808
1847
  }
1809
1848
  },
1810
1849
  {
1811
1850
  "kind": "field",
1812
- "name": "status",
1851
+ "name": "placeholder",
1813
1852
  "type": {
1814
- "text": "AIStatus | null"
1853
+ "text": "string"
1815
1854
  },
1816
- "default": "null",
1855
+ "default": "'Describe your search criteria in natural language...'",
1817
1856
  "inheritedFrom": {
1818
- "name": "AiIndicator",
1819
- "module": "src/ai-indicator/ai-indicator.ts"
1857
+ "name": "AiCriteriaSearch",
1858
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1820
1859
  }
1821
1860
  },
1822
1861
  {
1823
1862
  "kind": "field",
1824
- "name": "open",
1863
+ "name": "disabled",
1825
1864
  "type": {
1826
1865
  "text": "boolean"
1827
1866
  },
1828
- "default": "false",
1829
1867
  "inheritedFrom": {
1830
- "name": "AiIndicator",
1831
- "module": "src/ai-indicator/ai-indicator.ts"
1868
+ "name": "AiCriteriaSearch",
1869
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1832
1870
  }
1833
1871
  },
1834
1872
  {
1835
1873
  "kind": "field",
1836
- "name": "state",
1874
+ "name": "inputValue",
1837
1875
  "type": {
1838
- "text": "AIIndicatorState"
1876
+ "text": "string"
1839
1877
  },
1840
- "default": "'none'",
1878
+ "default": "''",
1841
1879
  "inheritedFrom": {
1842
- "name": "AiIndicator",
1843
- "module": "src/ai-indicator/ai-indicator.ts"
1880
+ "name": "AiCriteriaSearch",
1881
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1844
1882
  }
1845
1883
  },
1846
1884
  {
1847
1885
  "kind": "field",
1848
- "name": "isInstalling",
1886
+ "name": "isInterpreting",
1849
1887
  "type": {
1850
1888
  "text": "boolean"
1851
1889
  },
1852
1890
  "default": "false",
1853
1891
  "inheritedFrom": {
1854
- "name": "AiIndicator",
1855
- "module": "src/ai-indicator/ai-indicator.ts"
1892
+ "name": "AiCriteriaSearch",
1893
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1856
1894
  }
1857
1895
  },
1858
1896
  {
1859
1897
  "kind": "field",
1860
- "name": "pollTimer",
1898
+ "name": "lastValidCriteria",
1861
1899
  "type": {
1862
- "text": "ReturnType<typeof setInterval> | null"
1900
+ "text": "string | null"
1863
1901
  },
1864
- "privacy": "private",
1865
1902
  "default": "null",
1866
1903
  "inheritedFrom": {
1867
- "name": "AiIndicator",
1868
- "module": "src/ai-indicator/ai-indicator.ts"
1904
+ "name": "AiCriteriaSearch",
1905
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1869
1906
  }
1870
1907
  },
1871
1908
  {
1872
1909
  "kind": "field",
1873
- "name": "clickOutside",
1874
- "privacy": "private",
1910
+ "name": "activeGroups",
1911
+ "type": {
1912
+ "text": "CriteriaGroup[]"
1913
+ },
1914
+ "default": "[]",
1875
1915
  "inheritedFrom": {
1876
- "name": "AiIndicator",
1877
- "module": "src/ai-indicator/ai-indicator.ts"
1916
+ "name": "AiCriteriaSearch",
1917
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1878
1918
  }
1879
1919
  },
1880
1920
  {
1881
1921
  "kind": "field",
1882
- "name": "chromeStatusLabel",
1922
+ "name": "showingChips",
1883
1923
  "type": {
1884
- "text": "string | null"
1924
+ "text": "boolean"
1885
1925
  },
1886
- "readonly": true,
1926
+ "default": "false",
1887
1927
  "inheritedFrom": {
1888
- "name": "AiIndicator",
1889
- "module": "src/ai-indicator/ai-indicator.ts"
1928
+ "name": "AiCriteriaSearch",
1929
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1890
1930
  }
1891
1931
  },
1892
1932
  {
1893
1933
  "kind": "field",
1894
- "name": "canInstall",
1934
+ "name": "fieldMetadata",
1895
1935
  "type": {
1896
- "text": "boolean"
1936
+ "text": "MetadataDetail[] | string[]"
1897
1937
  },
1898
- "readonly": true,
1938
+ "default": "[]",
1899
1939
  "inheritedFrom": {
1900
- "name": "AiIndicator",
1901
- "module": "src/ai-indicator/ai-indicator.ts"
1940
+ "name": "AiCriteriaSearch",
1941
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1902
1942
  }
1903
1943
  },
1904
1944
  {
1905
1945
  "kind": "field",
1906
- "name": "isDownloading",
1946
+ "name": "isRecording",
1907
1947
  "type": {
1908
1948
  "text": "boolean"
1909
1949
  },
1910
- "readonly": true,
1950
+ "default": "false",
1911
1951
  "inheritedFrom": {
1912
- "name": "AiIndicator",
1913
- "module": "src/ai-indicator/ai-indicator.ts"
1952
+ "name": "AiCriteriaSearch",
1953
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1914
1954
  }
1915
1955
  },
1916
1956
  {
1917
- "kind": "method",
1918
- "name": "openChanged",
1919
- "return": {
1920
- "type": {
1921
- "text": "void"
1922
- }
1957
+ "kind": "field",
1958
+ "name": "textAreaRef",
1959
+ "type": {
1960
+ "text": "HTMLTextAreaElement"
1923
1961
  },
1962
+ "privacy": "public",
1924
1963
  "inheritedFrom": {
1925
- "name": "AiIndicator",
1926
- "module": "src/ai-indicator/ai-indicator.ts"
1964
+ "name": "AiCriteriaSearch",
1965
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1927
1966
  }
1928
1967
  },
1929
1968
  {
1930
- "kind": "method",
1931
- "name": "handleClickOutside",
1969
+ "kind": "field",
1970
+ "name": "stopRecording",
1971
+ "type": {
1972
+ "text": "(() => void) | null"
1973
+ },
1932
1974
  "privacy": "private",
1933
- "parameters": [
1934
- {
1935
- "name": "event",
1936
- "type": {
1937
- "text": "MouseEvent"
1938
- }
1939
- }
1940
- ],
1975
+ "default": "null",
1941
1976
  "inheritedFrom": {
1942
- "name": "AiIndicator",
1943
- "module": "src/ai-indicator/ai-indicator.ts"
1977
+ "name": "AiCriteriaSearch",
1978
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1944
1979
  }
1945
1980
  },
1946
1981
  {
1947
- "kind": "method",
1948
- "name": "toggleDropdown",
1982
+ "kind": "field",
1983
+ "name": "speechApplyDebounceTimer",
1984
+ "type": {
1985
+ "text": "ReturnType<typeof setTimeout> | null"
1986
+ },
1987
+ "privacy": "private",
1988
+ "default": "null",
1949
1989
  "inheritedFrom": {
1950
- "name": "AiIndicator",
1951
- "module": "src/ai-indicator/ai-indicator.ts"
1990
+ "name": "AiCriteriaSearch",
1991
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1952
1992
  }
1953
1993
  },
1954
1994
  {
1955
- "kind": "method",
1956
- "name": "refreshStatus",
1957
- "return": {
1958
- "type": {
1959
- "text": "Promise<void>"
1960
- }
1995
+ "kind": "field",
1996
+ "name": "speechAvailable",
1997
+ "type": {
1998
+ "text": "boolean"
1961
1999
  },
2000
+ "readonly": true,
1962
2001
  "inheritedFrom": {
1963
- "name": "AiIndicator",
1964
- "module": "src/ai-indicator/ai-indicator.ts"
2002
+ "name": "AiCriteriaSearch",
2003
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2004
+ }
2005
+ },
2006
+ {
2007
+ "kind": "field",
2008
+ "name": "criteriaChips",
2009
+ "type": {
2010
+ "text": "CriteriaChip[]"
2011
+ },
2012
+ "readonly": true,
2013
+ "inheritedFrom": {
2014
+ "name": "AiCriteriaSearch",
2015
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1965
2016
  }
1966
2017
  },
1967
2018
  {
1968
2019
  "kind": "method",
1969
- "name": "deriveState",
2020
+ "name": "getFieldLabel",
1970
2021
  "privacy": "private",
1971
2022
  "return": {
1972
2023
  "type": {
1973
- "text": "AIIndicatorState"
2024
+ "text": "string"
1974
2025
  }
1975
2026
  },
1976
2027
  "parameters": [
1977
2028
  {
1978
- "name": "s",
2029
+ "name": "fieldName",
1979
2030
  "type": {
1980
- "text": "AIStatus | null"
2031
+ "text": "string"
1981
2032
  }
1982
2033
  }
1983
2034
  ],
1984
2035
  "inheritedFrom": {
1985
- "name": "AiIndicator",
1986
- "module": "src/ai-indicator/ai-indicator.ts"
2036
+ "name": "AiCriteriaSearch",
2037
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
1987
2038
  }
1988
2039
  },
1989
2040
  {
1990
2041
  "kind": "method",
1991
- "name": "maybeStartPolling",
1992
- "privacy": "private",
2042
+ "name": "toggleCriteriaView",
1993
2043
  "return": {
1994
2044
  "type": {
1995
2045
  "text": "void"
1996
2046
  }
1997
2047
  },
1998
2048
  "inheritedFrom": {
1999
- "name": "AiIndicator",
2000
- "module": "src/ai-indicator/ai-indicator.ts"
2049
+ "name": "AiCriteriaSearch",
2050
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2001
2051
  }
2002
2052
  },
2003
2053
  {
2004
2054
  "kind": "method",
2005
- "name": "startPolling",
2006
- "privacy": "private",
2055
+ "name": "removeChip",
2007
2056
  "return": {
2008
2057
  "type": {
2009
2058
  "text": "void"
2010
2059
  }
2011
2060
  },
2061
+ "parameters": [
2062
+ {
2063
+ "name": "groupIndex",
2064
+ "type": {
2065
+ "text": "number"
2066
+ }
2067
+ },
2068
+ {
2069
+ "name": "clauseIndex",
2070
+ "type": {
2071
+ "text": "number"
2072
+ }
2073
+ }
2074
+ ],
2012
2075
  "inheritedFrom": {
2013
- "name": "AiIndicator",
2014
- "module": "src/ai-indicator/ai-indicator.ts"
2076
+ "name": "AiCriteriaSearch",
2077
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2015
2078
  }
2016
2079
  },
2017
2080
  {
2018
2081
  "kind": "method",
2019
- "name": "stopPolling",
2020
- "privacy": "private",
2082
+ "name": "clearChips",
2021
2083
  "return": {
2022
2084
  "type": {
2023
2085
  "text": "void"
2024
2086
  }
2025
2087
  },
2026
2088
  "inheritedFrom": {
2027
- "name": "AiIndicator",
2028
- "module": "src/ai-indicator/ai-indicator.ts"
2089
+ "name": "AiCriteriaSearch",
2090
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2029
2091
  }
2030
2092
  },
2031
2093
  {
2032
2094
  "kind": "method",
2033
- "name": "onInstall",
2034
- "return": {
2035
- "type": {
2036
- "text": "Promise<void>"
2037
- }
2038
- },
2095
+ "name": "handleSubmit",
2039
2096
  "inheritedFrom": {
2040
- "name": "AiIndicator",
2041
- "module": "src/ai-indicator/ai-indicator.ts"
2097
+ "name": "AiCriteriaSearch",
2098
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2099
+ }
2100
+ },
2101
+ {
2102
+ "kind": "method",
2103
+ "name": "handleBlur",
2104
+ "inheritedFrom": {
2105
+ "name": "AiCriteriaSearch",
2106
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2107
+ }
2108
+ },
2109
+ {
2110
+ "kind": "method",
2111
+ "name": "clear",
2112
+ "inheritedFrom": {
2113
+ "name": "AiCriteriaSearch",
2114
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2115
+ }
2116
+ },
2117
+ {
2118
+ "kind": "method",
2119
+ "name": "toggleSpeechInput",
2120
+ "inheritedFrom": {
2121
+ "name": "AiCriteriaSearch",
2122
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2123
+ }
2124
+ },
2125
+ {
2126
+ "kind": "method",
2127
+ "name": "clearSpeechApplyDebounce",
2128
+ "privacy": "private",
2129
+ "inheritedFrom": {
2130
+ "name": "AiCriteriaSearch",
2131
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2042
2132
  }
2043
2133
  },
2044
2134
  {
@@ -2152,97 +2242,104 @@
2152
2242
  "module": "src/foundation-element/foundation-element.ts"
2153
2243
  }
2154
2244
  }
2245
+ ],
2246
+ "events": [
2247
+ {
2248
+ "description": "Fired when interpreted criteria is applied or cleared. detail: `string | null`",
2249
+ "name": "criteria-changed",
2250
+ "inheritedFrom": {
2251
+ "name": "AiCriteriaSearch",
2252
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2253
+ }
2254
+ },
2255
+ {
2256
+ "description": "Fired when interpreted criteria contains invalid clauses. detail: `ValidationError[]`",
2257
+ "name": "validation-errors",
2258
+ "inheritedFrom": {
2259
+ "name": "AiCriteriaSearch",
2260
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2261
+ }
2262
+ }
2155
2263
  ]
2156
2264
  },
2157
2265
  {
2158
2266
  "kind": "variable",
2159
- "name": "rapidAiIndicator"
2267
+ "name": "rapidAiCriteriaSearch",
2268
+ "description": "The Rapid AI Criteria Search",
2269
+ "privacy": "public"
2160
2270
  }
2161
2271
  ],
2162
2272
  "exports": [
2163
2273
  {
2164
2274
  "kind": "js",
2165
- "name": "AiIndicator",
2275
+ "name": "AiCriteriaSearch",
2166
2276
  "declaration": {
2167
- "name": "AiIndicator",
2168
- "module": "src/ai-indicator/ai-indicator.ts"
2277
+ "name": "AiCriteriaSearch",
2278
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2169
2279
  }
2170
2280
  },
2171
2281
  {
2172
2282
  "kind": "js",
2173
- "name": "rapidAiIndicator",
2283
+ "name": "rapidAiCriteriaSearch",
2174
2284
  "declaration": {
2175
- "name": "rapidAiIndicator",
2176
- "module": "src/ai-indicator/ai-indicator.ts"
2285
+ "name": "rapidAiCriteriaSearch",
2286
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2177
2287
  }
2178
2288
  }
2179
2289
  ]
2180
2290
  },
2181
2291
  {
2182
2292
  "kind": "javascript-module",
2183
- "path": "src/ai-indicator/index.ts",
2293
+ "path": "src/ai-criteria-search/index.ts",
2184
2294
  "declarations": [],
2185
2295
  "exports": [
2186
2296
  {
2187
2297
  "kind": "js",
2188
- "name": "AiIndicator",
2298
+ "name": "*",
2189
2299
  "declaration": {
2190
- "name": "AiIndicator",
2191
- "module": "./ai-indicator"
2300
+ "name": "*",
2301
+ "package": "./ai-criteria-search"
2192
2302
  }
2193
2303
  },
2194
2304
  {
2195
2305
  "kind": "js",
2196
- "name": "rapidAiIndicator",
2306
+ "name": "*",
2197
2307
  "declaration": {
2198
- "name": "rapidAiIndicator",
2199
- "module": "./ai-indicator"
2308
+ "name": "*",
2309
+ "package": "./ai-criteria-search.styles"
2200
2310
  }
2201
- }
2202
- ]
2203
- },
2204
- {
2205
- "kind": "javascript-module",
2206
- "path": "src/ai-criteria-search/ai-criteria-search.styles.ts",
2207
- "declarations": [
2208
- {
2209
- "kind": "variable",
2210
- "name": "rapidAiCriteriaSearchStyles",
2211
- "default": "css`\n ${foundationAiCriteriaSearchStyles}\n`"
2212
- }
2213
- ],
2214
- "exports": [
2311
+ },
2215
2312
  {
2216
2313
  "kind": "js",
2217
- "name": "rapidAiCriteriaSearchStyles",
2314
+ "name": "*",
2218
2315
  "declaration": {
2219
- "name": "rapidAiCriteriaSearchStyles",
2220
- "module": "src/ai-criteria-search/ai-criteria-search.styles.ts"
2316
+ "name": "*",
2317
+ "package": "./ai-criteria-search.template"
2221
2318
  }
2222
2319
  }
2223
2320
  ]
2224
2321
  },
2225
2322
  {
2226
2323
  "kind": "javascript-module",
2227
- "path": "src/ai-criteria-search/ai-criteria-search.template.ts",
2324
+ "path": "src/ai-indicator/ai-indicator.styles.ts",
2228
2325
  "declarations": [
2229
2326
  {
2230
2327
  "kind": "function",
2231
- "name": "rapidAiCriteriaSearchTemplate",
2328
+ "name": "rapidAiIndicatorStyles",
2232
2329
  "return": {
2233
2330
  "type": {
2234
- "text": "ViewTemplate<AiCriteriaSearch>"
2331
+ "text": "ElementStyles"
2235
2332
  }
2236
2333
  },
2237
2334
  "parameters": [
2238
2335
  {
2239
- "name": "_context",
2336
+ "name": "context",
2240
2337
  "type": {
2241
2338
  "text": "ElementDefinitionContext"
2242
2339
  }
2243
2340
  },
2244
2341
  {
2245
- "name": "_definition",
2342
+ "name": "definition",
2246
2343
  "type": {
2247
2344
  "text": "FoundationElementDefinition"
2248
2345
  }
@@ -2253,52 +2350,28 @@
2253
2350
  "exports": [
2254
2351
  {
2255
2352
  "kind": "js",
2256
- "name": "rapidAiCriteriaSearchTemplate",
2353
+ "name": "rapidAiIndicatorStyles",
2257
2354
  "declaration": {
2258
- "name": "rapidAiCriteriaSearchTemplate",
2259
- "module": "src/ai-criteria-search/ai-criteria-search.template.ts"
2355
+ "name": "rapidAiIndicatorStyles",
2356
+ "module": "src/ai-indicator/ai-indicator.styles.ts"
2260
2357
  }
2261
2358
  }
2262
2359
  ]
2263
2360
  },
2264
2361
  {
2265
2362
  "kind": "javascript-module",
2266
- "path": "src/ai-criteria-search/ai-criteria-search.ts",
2363
+ "path": "src/ai-indicator/ai-indicator.ts",
2267
2364
  "declarations": [
2268
2365
  {
2269
2366
  "kind": "class",
2270
2367
  "description": "",
2271
- "name": "AiCriteriaSearch",
2368
+ "name": "AiIndicator",
2272
2369
  "superclass": {
2273
- "name": "FoundationAiCriteriaSearch",
2370
+ "name": "FoundationAiIndicator",
2274
2371
  "package": "@genesislcap/foundation-ui"
2275
2372
  },
2276
- "tagName": "%%prefix%%-ai-criteria-search",
2373
+ "tagName": "%%prefix%%-ai-indicator",
2277
2374
  "customElement": true,
2278
- "attributes": [
2279
- {
2280
- "name": "placeholder",
2281
- "type": {
2282
- "text": "string"
2283
- },
2284
- "default": "'Describe your search criteria in natural language...'",
2285
- "fieldName": "placeholder",
2286
- "inheritedFrom": {
2287
- "name": "AiCriteriaSearch",
2288
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2289
- }
2290
- },
2291
- {
2292
- "type": {
2293
- "text": "boolean"
2294
- },
2295
- "fieldName": "disabled",
2296
- "inheritedFrom": {
2297
- "name": "AiCriteriaSearch",
2298
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2299
- }
2300
- }
2301
- ],
2302
2375
  "members": [
2303
2376
  {
2304
2377
  "kind": "field",
@@ -2307,293 +2380,256 @@
2307
2380
  "text": "AIProviderRegistry"
2308
2381
  },
2309
2382
  "inheritedFrom": {
2310
- "name": "AiCriteriaSearch",
2311
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2312
- }
2313
- },
2314
- {
2315
- "kind": "field",
2316
- "name": "placeholder",
2317
- "type": {
2318
- "text": "string"
2319
- },
2320
- "default": "'Describe your search criteria in natural language...'",
2321
- "inheritedFrom": {
2322
- "name": "AiCriteriaSearch",
2323
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2324
- }
2325
- },
2326
- {
2327
- "kind": "field",
2328
- "name": "disabled",
2329
- "type": {
2330
- "text": "boolean"
2331
- },
2332
- "inheritedFrom": {
2333
- "name": "AiCriteriaSearch",
2334
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2335
- }
2336
- },
2337
- {
2338
- "kind": "field",
2339
- "name": "inputValue",
2340
- "type": {
2341
- "text": "string"
2342
- },
2343
- "default": "''",
2344
- "inheritedFrom": {
2345
- "name": "AiCriteriaSearch",
2346
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2383
+ "name": "AiIndicator",
2384
+ "module": "src/ai-indicator/ai-indicator.ts"
2347
2385
  }
2348
2386
  },
2349
2387
  {
2350
2388
  "kind": "field",
2351
- "name": "isInterpreting",
2389
+ "name": "aiProvider",
2352
2390
  "type": {
2353
- "text": "boolean"
2391
+ "text": "AIProvider | undefined"
2354
2392
  },
2355
- "default": "false",
2393
+ "privacy": "private",
2394
+ "description": "The indicator reflects status for the registry's default provider only —\nper-agent provider overrides live with the assistant component, not this\ntop-level chrome.",
2395
+ "readonly": true,
2356
2396
  "inheritedFrom": {
2357
- "name": "AiCriteriaSearch",
2358
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2397
+ "name": "AiIndicator",
2398
+ "module": "src/ai-indicator/ai-indicator.ts"
2359
2399
  }
2360
2400
  },
2361
2401
  {
2362
2402
  "kind": "field",
2363
- "name": "lastValidCriteria",
2403
+ "name": "status",
2364
2404
  "type": {
2365
- "text": "string | null"
2405
+ "text": "AIStatus | null"
2366
2406
  },
2367
2407
  "default": "null",
2368
2408
  "inheritedFrom": {
2369
- "name": "AiCriteriaSearch",
2370
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2371
- }
2372
- },
2373
- {
2374
- "kind": "field",
2375
- "name": "activeGroups",
2376
- "type": {
2377
- "text": "CriteriaGroup[]"
2378
- },
2379
- "default": "[]",
2380
- "inheritedFrom": {
2381
- "name": "AiCriteriaSearch",
2382
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2409
+ "name": "AiIndicator",
2410
+ "module": "src/ai-indicator/ai-indicator.ts"
2383
2411
  }
2384
2412
  },
2385
2413
  {
2386
2414
  "kind": "field",
2387
- "name": "showingChips",
2415
+ "name": "open",
2388
2416
  "type": {
2389
2417
  "text": "boolean"
2390
2418
  },
2391
2419
  "default": "false",
2392
2420
  "inheritedFrom": {
2393
- "name": "AiCriteriaSearch",
2394
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2421
+ "name": "AiIndicator",
2422
+ "module": "src/ai-indicator/ai-indicator.ts"
2395
2423
  }
2396
2424
  },
2397
2425
  {
2398
2426
  "kind": "field",
2399
- "name": "fieldMetadata",
2427
+ "name": "state",
2400
2428
  "type": {
2401
- "text": "MetadataDetail[] | string[]"
2429
+ "text": "AIIndicatorState"
2402
2430
  },
2403
- "default": "[]",
2431
+ "default": "'none'",
2404
2432
  "inheritedFrom": {
2405
- "name": "AiCriteriaSearch",
2406
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2433
+ "name": "AiIndicator",
2434
+ "module": "src/ai-indicator/ai-indicator.ts"
2407
2435
  }
2408
2436
  },
2409
2437
  {
2410
2438
  "kind": "field",
2411
- "name": "isRecording",
2439
+ "name": "isInstalling",
2412
2440
  "type": {
2413
2441
  "text": "boolean"
2414
2442
  },
2415
2443
  "default": "false",
2416
2444
  "inheritedFrom": {
2417
- "name": "AiCriteriaSearch",
2418
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2445
+ "name": "AiIndicator",
2446
+ "module": "src/ai-indicator/ai-indicator.ts"
2419
2447
  }
2420
2448
  },
2421
2449
  {
2422
2450
  "kind": "field",
2423
- "name": "textAreaRef",
2451
+ "name": "pollTimer",
2424
2452
  "type": {
2425
- "text": "HTMLTextAreaElement"
2453
+ "text": "ReturnType<typeof setInterval> | null"
2426
2454
  },
2427
- "privacy": "public",
2455
+ "privacy": "private",
2456
+ "default": "null",
2428
2457
  "inheritedFrom": {
2429
- "name": "AiCriteriaSearch",
2430
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2458
+ "name": "AiIndicator",
2459
+ "module": "src/ai-indicator/ai-indicator.ts"
2431
2460
  }
2432
2461
  },
2433
2462
  {
2434
2463
  "kind": "field",
2435
- "name": "stopRecording",
2436
- "type": {
2437
- "text": "(() => void) | null"
2438
- },
2464
+ "name": "clickOutside",
2439
2465
  "privacy": "private",
2440
- "default": "null",
2441
2466
  "inheritedFrom": {
2442
- "name": "AiCriteriaSearch",
2443
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2467
+ "name": "AiIndicator",
2468
+ "module": "src/ai-indicator/ai-indicator.ts"
2444
2469
  }
2445
2470
  },
2446
2471
  {
2447
2472
  "kind": "field",
2448
- "name": "speechApplyDebounceTimer",
2473
+ "name": "chromeStatusLabel",
2449
2474
  "type": {
2450
- "text": "ReturnType<typeof setTimeout> | null"
2475
+ "text": "string | null"
2451
2476
  },
2452
- "privacy": "private",
2453
- "default": "null",
2477
+ "readonly": true,
2454
2478
  "inheritedFrom": {
2455
- "name": "AiCriteriaSearch",
2456
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2479
+ "name": "AiIndicator",
2480
+ "module": "src/ai-indicator/ai-indicator.ts"
2457
2481
  }
2458
2482
  },
2459
2483
  {
2460
2484
  "kind": "field",
2461
- "name": "speechAvailable",
2485
+ "name": "canInstall",
2462
2486
  "type": {
2463
2487
  "text": "boolean"
2464
2488
  },
2465
2489
  "readonly": true,
2466
2490
  "inheritedFrom": {
2467
- "name": "AiCriteriaSearch",
2468
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2491
+ "name": "AiIndicator",
2492
+ "module": "src/ai-indicator/ai-indicator.ts"
2469
2493
  }
2470
2494
  },
2471
2495
  {
2472
2496
  "kind": "field",
2473
- "name": "criteriaChips",
2497
+ "name": "isDownloading",
2474
2498
  "type": {
2475
- "text": "CriteriaChip[]"
2499
+ "text": "boolean"
2476
2500
  },
2477
2501
  "readonly": true,
2478
2502
  "inheritedFrom": {
2479
- "name": "AiCriteriaSearch",
2480
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2503
+ "name": "AiIndicator",
2504
+ "module": "src/ai-indicator/ai-indicator.ts"
2481
2505
  }
2482
2506
  },
2483
2507
  {
2484
2508
  "kind": "method",
2485
- "name": "getFieldLabel",
2486
- "privacy": "private",
2509
+ "name": "openChanged",
2487
2510
  "return": {
2488
2511
  "type": {
2489
- "text": "string"
2512
+ "text": "void"
2490
2513
  }
2491
2514
  },
2515
+ "inheritedFrom": {
2516
+ "name": "AiIndicator",
2517
+ "module": "src/ai-indicator/ai-indicator.ts"
2518
+ }
2519
+ },
2520
+ {
2521
+ "kind": "method",
2522
+ "name": "handleClickOutside",
2523
+ "privacy": "private",
2492
2524
  "parameters": [
2493
2525
  {
2494
- "name": "fieldName",
2526
+ "name": "event",
2495
2527
  "type": {
2496
- "text": "string"
2528
+ "text": "MouseEvent"
2497
2529
  }
2498
2530
  }
2499
2531
  ],
2500
2532
  "inheritedFrom": {
2501
- "name": "AiCriteriaSearch",
2502
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2533
+ "name": "AiIndicator",
2534
+ "module": "src/ai-indicator/ai-indicator.ts"
2503
2535
  }
2504
2536
  },
2505
2537
  {
2506
2538
  "kind": "method",
2507
- "name": "toggleCriteriaView",
2539
+ "name": "toggleDropdown",
2540
+ "inheritedFrom": {
2541
+ "name": "AiIndicator",
2542
+ "module": "src/ai-indicator/ai-indicator.ts"
2543
+ }
2544
+ },
2545
+ {
2546
+ "kind": "method",
2547
+ "name": "refreshStatus",
2508
2548
  "return": {
2509
2549
  "type": {
2510
- "text": "void"
2550
+ "text": "Promise<void>"
2511
2551
  }
2512
2552
  },
2513
2553
  "inheritedFrom": {
2514
- "name": "AiCriteriaSearch",
2515
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2554
+ "name": "AiIndicator",
2555
+ "module": "src/ai-indicator/ai-indicator.ts"
2516
2556
  }
2517
2557
  },
2518
2558
  {
2519
2559
  "kind": "method",
2520
- "name": "removeChip",
2560
+ "name": "deriveState",
2561
+ "privacy": "private",
2521
2562
  "return": {
2522
2563
  "type": {
2523
- "text": "void"
2564
+ "text": "AIIndicatorState"
2524
2565
  }
2525
2566
  },
2526
2567
  "parameters": [
2527
2568
  {
2528
- "name": "groupIndex",
2529
- "type": {
2530
- "text": "number"
2531
- }
2532
- },
2533
- {
2534
- "name": "clauseIndex",
2569
+ "name": "s",
2535
2570
  "type": {
2536
- "text": "number"
2571
+ "text": "AIStatus | null"
2537
2572
  }
2538
2573
  }
2539
2574
  ],
2540
2575
  "inheritedFrom": {
2541
- "name": "AiCriteriaSearch",
2542
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2576
+ "name": "AiIndicator",
2577
+ "module": "src/ai-indicator/ai-indicator.ts"
2543
2578
  }
2544
2579
  },
2545
2580
  {
2546
2581
  "kind": "method",
2547
- "name": "clearChips",
2582
+ "name": "maybeStartPolling",
2583
+ "privacy": "private",
2548
2584
  "return": {
2549
2585
  "type": {
2550
2586
  "text": "void"
2551
2587
  }
2552
2588
  },
2553
2589
  "inheritedFrom": {
2554
- "name": "AiCriteriaSearch",
2555
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2556
- }
2557
- },
2558
- {
2559
- "kind": "method",
2560
- "name": "handleSubmit",
2561
- "inheritedFrom": {
2562
- "name": "AiCriteriaSearch",
2563
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2564
- }
2565
- },
2566
- {
2567
- "kind": "method",
2568
- "name": "handleBlur",
2569
- "inheritedFrom": {
2570
- "name": "AiCriteriaSearch",
2571
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2590
+ "name": "AiIndicator",
2591
+ "module": "src/ai-indicator/ai-indicator.ts"
2572
2592
  }
2573
2593
  },
2574
2594
  {
2575
2595
  "kind": "method",
2576
- "name": "clear",
2596
+ "name": "startPolling",
2597
+ "privacy": "private",
2598
+ "return": {
2599
+ "type": {
2600
+ "text": "void"
2601
+ }
2602
+ },
2577
2603
  "inheritedFrom": {
2578
- "name": "AiCriteriaSearch",
2579
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2604
+ "name": "AiIndicator",
2605
+ "module": "src/ai-indicator/ai-indicator.ts"
2580
2606
  }
2581
2607
  },
2582
2608
  {
2583
2609
  "kind": "method",
2584
- "name": "toggleSpeechInput",
2610
+ "name": "stopPolling",
2611
+ "privacy": "private",
2612
+ "return": {
2613
+ "type": {
2614
+ "text": "void"
2615
+ }
2616
+ },
2585
2617
  "inheritedFrom": {
2586
- "name": "AiCriteriaSearch",
2587
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2618
+ "name": "AiIndicator",
2619
+ "module": "src/ai-indicator/ai-indicator.ts"
2588
2620
  }
2589
2621
  },
2590
2622
  {
2591
2623
  "kind": "method",
2592
- "name": "clearSpeechApplyDebounce",
2593
- "privacy": "private",
2624
+ "name": "onInstall",
2625
+ "return": {
2626
+ "type": {
2627
+ "text": "Promise<void>"
2628
+ }
2629
+ },
2594
2630
  "inheritedFrom": {
2595
- "name": "AiCriteriaSearch",
2596
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2631
+ "name": "AiIndicator",
2632
+ "module": "src/ai-indicator/ai-indicator.ts"
2597
2633
  }
2598
2634
  },
2599
2635
  {
@@ -2707,79 +2743,51 @@
2707
2743
  "module": "src/foundation-element/foundation-element.ts"
2708
2744
  }
2709
2745
  }
2710
- ],
2711
- "events": [
2712
- {
2713
- "description": "Fired when interpreted criteria is applied or cleared. detail: `string | null`",
2714
- "name": "criteria-changed",
2715
- "inheritedFrom": {
2716
- "name": "AiCriteriaSearch",
2717
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2718
- }
2719
- },
2720
- {
2721
- "description": "Fired when interpreted criteria contains invalid clauses. detail: `ValidationError[]`",
2722
- "name": "validation-errors",
2723
- "inheritedFrom": {
2724
- "name": "AiCriteriaSearch",
2725
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2726
- }
2727
- }
2728
2746
  ]
2729
2747
  },
2730
2748
  {
2731
2749
  "kind": "variable",
2732
- "name": "rapidAiCriteriaSearch",
2733
- "description": "The Rapid AI Criteria Search",
2734
- "privacy": "public"
2750
+ "name": "rapidAiIndicator"
2735
2751
  }
2736
2752
  ],
2737
2753
  "exports": [
2738
2754
  {
2739
2755
  "kind": "js",
2740
- "name": "AiCriteriaSearch",
2756
+ "name": "AiIndicator",
2741
2757
  "declaration": {
2742
- "name": "AiCriteriaSearch",
2743
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2758
+ "name": "AiIndicator",
2759
+ "module": "src/ai-indicator/ai-indicator.ts"
2744
2760
  }
2745
2761
  },
2746
2762
  {
2747
2763
  "kind": "js",
2748
- "name": "rapidAiCriteriaSearch",
2764
+ "name": "rapidAiIndicator",
2749
2765
  "declaration": {
2750
- "name": "rapidAiCriteriaSearch",
2751
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
2766
+ "name": "rapidAiIndicator",
2767
+ "module": "src/ai-indicator/ai-indicator.ts"
2752
2768
  }
2753
2769
  }
2754
2770
  ]
2755
2771
  },
2756
2772
  {
2757
2773
  "kind": "javascript-module",
2758
- "path": "src/ai-criteria-search/index.ts",
2774
+ "path": "src/ai-indicator/index.ts",
2759
2775
  "declarations": [],
2760
2776
  "exports": [
2761
2777
  {
2762
2778
  "kind": "js",
2763
- "name": "*",
2764
- "declaration": {
2765
- "name": "*",
2766
- "package": "./ai-criteria-search"
2767
- }
2768
- },
2769
- {
2770
- "kind": "js",
2771
- "name": "*",
2779
+ "name": "AiIndicator",
2772
2780
  "declaration": {
2773
- "name": "*",
2774
- "package": "./ai-criteria-search.styles"
2781
+ "name": "AiIndicator",
2782
+ "module": "./ai-indicator"
2775
2783
  }
2776
2784
  },
2777
2785
  {
2778
2786
  "kind": "js",
2779
- "name": "*",
2787
+ "name": "rapidAiIndicator",
2780
2788
  "declaration": {
2781
- "name": "*",
2782
- "package": "./ai-criteria-search.template"
2789
+ "name": "rapidAiIndicator",
2790
+ "module": "./ai-indicator"
2783
2791
  }
2784
2792
  }
2785
2793
  ]
@@ -16886,7 +16894,7 @@
16886
16894
  {
16887
16895
  "kind": "variable",
16888
16896
  "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}`",
16897
+ "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: 0 0 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
16898
  "description": "Merged flexlayout-react base theme + Rapid Design System overrides."
16891
16899
  }
16892
16900
  ],
@@ -22342,6 +22350,297 @@
22342
22350
  }
22343
22351
  ]
22344
22352
  },
22353
+ {
22354
+ "kind": "javascript-module",
22355
+ "path": "src/modal-theme/index.ts",
22356
+ "declarations": [],
22357
+ "exports": [
22358
+ {
22359
+ "kind": "js",
22360
+ "name": "*",
22361
+ "declaration": {
22362
+ "name": "*",
22363
+ "package": "./theme-compiler"
22364
+ }
22365
+ },
22366
+ {
22367
+ "kind": "js",
22368
+ "name": "*",
22369
+ "declaration": {
22370
+ "name": "*",
22371
+ "package": "./modal-theme"
22372
+ }
22373
+ }
22374
+ ]
22375
+ },
22376
+ {
22377
+ "kind": "javascript-module",
22378
+ "path": "src/modal-theme/modal-theme.ts",
22379
+ "declarations": [
22380
+ {
22381
+ "kind": "function",
22382
+ "name": "toModalTheme",
22383
+ "return": {
22384
+ "type": {
22385
+ "text": "ModalTheme"
22386
+ }
22387
+ },
22388
+ "parameters": [
22389
+ {
22390
+ "name": "json",
22391
+ "type": {
22392
+ "text": "unknown"
22393
+ }
22394
+ }
22395
+ ],
22396
+ "description": "Narrow a theme loaded from JSON (or any untyped value) to a ModalTheme,\nchecking the structure a theme cannot function without. Prefer this over casting\nthe JSON module: a malformed theme fails loudly here instead of silently\nrendering unthemed.",
22397
+ "privacy": "public"
22398
+ },
22399
+ {
22400
+ "kind": "function",
22401
+ "name": "resolveInitialMode",
22402
+ "return": {
22403
+ "type": {
22404
+ "text": "string"
22405
+ }
22406
+ },
22407
+ "parameters": [
22408
+ {
22409
+ "name": "theme",
22410
+ "type": {
22411
+ "text": "ModalTheme"
22412
+ }
22413
+ }
22414
+ ],
22415
+ "description": "The mode to start on: remembered choice for this theme, else the declared default.",
22416
+ "privacy": "public"
22417
+ },
22418
+ {
22419
+ "kind": "function",
22420
+ "name": "nextMode",
22421
+ "return": {
22422
+ "type": {
22423
+ "text": "string"
22424
+ }
22425
+ },
22426
+ "parameters": [
22427
+ {
22428
+ "name": "theme",
22429
+ "type": {
22430
+ "text": "ModalTheme"
22431
+ }
22432
+ },
22433
+ {
22434
+ "name": "current",
22435
+ "type": {
22436
+ "text": "string"
22437
+ }
22438
+ }
22439
+ ],
22440
+ "description": "Cycle to the next mode (for the light/dark toggle; generalises to N modes).",
22441
+ "privacy": "public"
22442
+ },
22443
+ {
22444
+ "kind": "function",
22445
+ "name": "isModeToggleEnabled",
22446
+ "return": {
22447
+ "type": {
22448
+ "text": "boolean"
22449
+ }
22450
+ },
22451
+ "parameters": [
22452
+ {
22453
+ "name": "theme",
22454
+ "type": {
22455
+ "text": "ModalTheme"
22456
+ }
22457
+ }
22458
+ ],
22459
+ "description": "Whether the app should offer a mode toggle. Defaults to \"more than one mode exists\";\na `showModeToggle` on the theme overrides the inference. Use to set the header's\ntoggle-button visibility.",
22460
+ "privacy": "public"
22461
+ },
22462
+ {
22463
+ "kind": "function",
22464
+ "name": "injectThemeStyles",
22465
+ "return": {
22466
+ "type": {
22467
+ "text": "void"
22468
+ }
22469
+ },
22470
+ "parameters": [
22471
+ {
22472
+ "name": "provider",
22473
+ "type": {
22474
+ "text": "HTMLElement"
22475
+ }
22476
+ },
22477
+ {
22478
+ "name": "theme",
22479
+ "type": {
22480
+ "text": "ModalTheme"
22481
+ }
22482
+ }
22483
+ ],
22484
+ "description": "Compile the theme to a single mode-agnostic sheet and adopt it into the scope\nthat actually contains the provider. The sheet contains every mode; switching\nnever regenerates it.\n\nThe provider is typically rendered inside its host app's shadow root, not the\ndocument light DOM — so a document-scoped `rapid-design-system-provider { … }`\nrule would never match it. We adopt the sheet onto `provider.getRootNode()` (the\ncontaining ShadowRoot, or Document if the provider sits at document scope) so the\nselector resolves and the surface custom properties land on the provider,\ninheriting down through every nested shadow boundary.\n\nRe-entrant per root: the first call for a root adopts a new sheet; later calls\nfor the same root update it in place (`replaceSync`) rather than adopting a\nduplicate — this is what lets a hot theme edit refresh styles without a reload.\nProviders sharing one root share its sheet (the compiled CSS targets the provider\ntag), so themes applied to the same root contend — give concurrently-themed\nproviders their own shadow roots.",
22485
+ "privacy": "public"
22486
+ },
22487
+ {
22488
+ "kind": "function",
22489
+ "name": "reapplyTheme",
22490
+ "return": {
22491
+ "type": {
22492
+ "text": "void"
22493
+ }
22494
+ },
22495
+ "parameters": [
22496
+ {
22497
+ "name": "theme",
22498
+ "type": {
22499
+ "text": "ModalTheme"
22500
+ }
22501
+ }
22502
+ ],
22503
+ "description": "Recompile and re-apply the theme after a hot edit to the theme file: updates the\nadopted sheet in place and re-runs the active mode's design tokens on the most\nrecently applied provider (falling back to the theme's initial mode if the edit\nremoved the active one). Wire to a bundler's HMR hook so theme edits show without\na full page reload.",
22504
+ "privacy": "public"
22505
+ },
22506
+ {
22507
+ "kind": "function",
22508
+ "name": "applyMode",
22509
+ "return": {
22510
+ "type": {
22511
+ "text": "void"
22512
+ }
22513
+ },
22514
+ "parameters": [
22515
+ {
22516
+ "name": "provider",
22517
+ "type": {
22518
+ "text": "HTMLElement"
22519
+ }
22520
+ },
22521
+ {
22522
+ "name": "theme",
22523
+ "type": {
22524
+ "text": "ModalTheme"
22525
+ }
22526
+ },
22527
+ {
22528
+ "name": "mode",
22529
+ "type": {
22530
+ "text": "string"
22531
+ }
22532
+ }
22533
+ ],
22534
+ "description": "Apply a mode: design-token half via FAST, surface/parts half via the class swap.",
22535
+ "privacy": "public"
22536
+ }
22537
+ ],
22538
+ "exports": [
22539
+ {
22540
+ "kind": "js",
22541
+ "name": "toModalTheme",
22542
+ "declaration": {
22543
+ "name": "toModalTheme",
22544
+ "module": "src/modal-theme/modal-theme.ts"
22545
+ }
22546
+ },
22547
+ {
22548
+ "kind": "js",
22549
+ "name": "resolveInitialMode",
22550
+ "declaration": {
22551
+ "name": "resolveInitialMode",
22552
+ "module": "src/modal-theme/modal-theme.ts"
22553
+ }
22554
+ },
22555
+ {
22556
+ "kind": "js",
22557
+ "name": "nextMode",
22558
+ "declaration": {
22559
+ "name": "nextMode",
22560
+ "module": "src/modal-theme/modal-theme.ts"
22561
+ }
22562
+ },
22563
+ {
22564
+ "kind": "js",
22565
+ "name": "isModeToggleEnabled",
22566
+ "declaration": {
22567
+ "name": "isModeToggleEnabled",
22568
+ "module": "src/modal-theme/modal-theme.ts"
22569
+ }
22570
+ },
22571
+ {
22572
+ "kind": "js",
22573
+ "name": "injectThemeStyles",
22574
+ "declaration": {
22575
+ "name": "injectThemeStyles",
22576
+ "module": "src/modal-theme/modal-theme.ts"
22577
+ }
22578
+ },
22579
+ {
22580
+ "kind": "js",
22581
+ "name": "reapplyTheme",
22582
+ "declaration": {
22583
+ "name": "reapplyTheme",
22584
+ "module": "src/modal-theme/modal-theme.ts"
22585
+ }
22586
+ },
22587
+ {
22588
+ "kind": "js",
22589
+ "name": "applyMode",
22590
+ "declaration": {
22591
+ "name": "applyMode",
22592
+ "module": "src/modal-theme/modal-theme.ts"
22593
+ }
22594
+ }
22595
+ ]
22596
+ },
22597
+ {
22598
+ "kind": "javascript-module",
22599
+ "path": "src/modal-theme/theme-compiler.ts",
22600
+ "declarations": [
22601
+ {
22602
+ "kind": "function",
22603
+ "name": "compileTheme",
22604
+ "return": {
22605
+ "type": {
22606
+ "text": "string"
22607
+ }
22608
+ },
22609
+ "parameters": [
22610
+ {
22611
+ "name": "theme",
22612
+ "type": {
22613
+ "text": "CompilableTheme"
22614
+ },
22615
+ "description": "the modal theme (shared + modes; customTokens + componentOverrides)."
22616
+ },
22617
+ {
22618
+ "name": "{ host = HOST }",
22619
+ "default": "{}",
22620
+ "type": {
22621
+ "text": "{ host?: string }"
22622
+ }
22623
+ },
22624
+ {
22625
+ "description": "the selector the rules nest under (default `rapid-design-system-provider`).",
22626
+ "name": "host"
22627
+ }
22628
+ ],
22629
+ "description": "Compile a modal theme into class-scoped nested CSS.",
22630
+ "privacy": "public"
22631
+ }
22632
+ ],
22633
+ "exports": [
22634
+ {
22635
+ "kind": "js",
22636
+ "name": "compileTheme",
22637
+ "declaration": {
22638
+ "name": "compileTheme",
22639
+ "module": "src/modal-theme/theme-compiler.ts"
22640
+ }
22641
+ }
22642
+ ]
22643
+ },
22345
22644
  {
22346
22645
  "kind": "javascript-module",
22347
22646
  "path": "src/multiselect/index.ts",