@raggle-ai/scout-ui 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,6 +9,9 @@ import "@raggle-ai/scout-ui/styles.css";
9
9
  <ProjectSearchList projects={projects} onSelect={setProject} />;
10
10
  ```
11
11
 
12
+ `ProjectSearchList` renders inside an `InputFloatingPanel`, which floats above the input
13
+ that opens it. `InputFloatingPanel` is exported for custom floating compositions.
14
+
12
15
  ## Publishing
13
16
 
14
17
  The package publishes from `.github/workflows/publish.yml` on every push to `main` and from manual workflow dispatch.
@@ -19,4 +22,4 @@ Configure npm trusted publishing for package `@raggle-ai/scout-ui` with GitHub o
19
22
 
20
23
  npm trusted publishing supports GitHub-hosted runners. The publish job uses `ubuntu-latest` instead of Blacksmith so npm can verify the OIDC token.
21
24
 
22
- The repository is private, so the publish command does not request npm provenance.
25
+ The repository is private, so the publish command does not request npm provenance.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export { InputFloatingPanel } from "./input-floating-panel.js";
2
+ export type { InputFloatingPanelProps } from "./input-floating-panel.js";
1
3
  export { ProjectSearchList } from "./project-search-list.js";
2
4
  export type { ProjectSearchItem, ProjectSearchListProps, } from "./project-search-list.js";
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
+ export { InputFloatingPanel } from "./input-floating-panel.js";
1
2
  export { ProjectSearchList } from "./project-search-list.js";
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ReactNode } from "react";
2
+ export interface InputFloatingPanelProps {
3
+ children: ReactNode;
4
+ className?: string;
5
+ ariaLabel?: string;
6
+ }
7
+ export declare function InputFloatingPanel({ children, className, ariaLabel, }: InputFloatingPanelProps): import("react").JSX.Element;
8
+ //# sourceMappingURL=input-floating-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-floating-panel.d.ts","sourceRoot":"","sources":["../src/input-floating-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE,uBAAuB,+BAUzB"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function InputFloatingPanel({ children, className, ariaLabel, }) {
3
+ const classes = ["scout-input-floating-panel", className]
4
+ .filter(Boolean)
5
+ .join(" ");
6
+ return (_jsx("div", { className: classes, role: "dialog", "aria-label": ariaLabel, children: children }));
7
+ }
8
+ //# sourceMappingURL=input-floating-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-floating-panel.js","sourceRoot":"","sources":["../src/input-floating-panel.tsx"],"names":[],"mappings":";AAQA,MAAM,UAAU,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,EACT,SAAS,GACe;IACxB,MAAM,OAAO,GAAG,CAAC,4BAA4B,EAAE,SAAS,CAAC;SACtD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CACL,cAAK,SAAS,EAAE,OAAO,EAAE,IAAI,EAAC,QAAQ,gBAAa,SAAS,YACzD,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-search-list.d.ts","sourceRoot":"","sources":["../src/project-search-list.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB,CAAC,OAAO,SAAS,iBAAiB;IACvE,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,iBAAiB,EAAE,EACnE,QAAQ,EACR,iBAAwB,EACxB,QAAQ,EACR,WAAkC,EAClC,YAAmC,EACnC,SAA6B,EAC7B,SAAgB,EAChB,UAAqC,GACtC,EAAE,sBAAsB,CAAC,OAAO,CAAC,+BAiHjC"}
1
+ {"version":3,"file":"project-search-list.d.ts","sourceRoot":"","sources":["../src/project-search-list.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB,CAAC,OAAO,SAAS,iBAAiB;IACvE,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,iBAAiB,EAAE,EACnE,QAAQ,EACR,iBAAwB,EACxB,QAAQ,EACR,WAAkC,EAClC,YAAmC,EACnC,SAA6B,EAC7B,SAAgB,EAChB,UAAqC,GACtC,EAAE,sBAAsB,CAAC,OAAO,CAAC,+BAmHjC"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
3
+ import { InputFloatingPanel } from "./input-floating-panel.js";
3
4
  export function ProjectSearchList({ projects, selectedProjectId = null, onSelect, placeholder = "Search projects...", emptyMessage = "No projects found.", ariaLabel = "Search projects", autoFocus = true, maxResults = Number.POSITIVE_INFINITY, }) {
4
5
  const [search, setSearch] = useState("");
5
6
  const [activeIndex, setActiveIndex] = useState(0);
@@ -33,6 +34,6 @@ export function ProjectSearchList({ projects, selectedProjectId = null, onSelect
33
34
  const activeElement = listRef.current?.querySelector('[data-active="true"]');
34
35
  activeElement?.scrollIntoView({ block: "nearest" });
35
36
  }, [activeIndex]);
36
- return (_jsx("div", { className: "scout-project-search", onKeyDown: handleKeyDown, children: _jsxs("ul", { ref: listRef, className: "scout-project-list", role: "listbox", "aria-label": ariaLabel, children: [_jsx("li", { className: "scout-project-search-row", children: _jsx("input", { className: "scout-project-search-input", placeholder: placeholder, value: search, onChange: (event) => setSearch(event.target.value), autoFocus: autoFocus }) }), filtered.length === 0 && (_jsx("li", { className: "scout-project-empty", children: emptyMessage })), visible.map((project, index) => (_jsx("li", { role: "option", "aria-selected": selectedProjectId === project.id, children: _jsxs("button", { type: "button", className: `scout-project-option${selectedProjectId === project.id ? " is-selected" : ""}${index === activeIndex ? " is-active" : ""}`, "data-active": index === activeIndex, onClick: () => onSelect(project), children: [_jsxs("span", { className: "scout-project-option-left", children: [project.iconUrl && (_jsx("img", { className: "scout-project-option-icon", src: project.iconUrl, alt: "" })), _jsxs("span", { className: "scout-project-option-title", children: [_jsx("span", { className: "scout-project-option-name", children: project.name }), project.parentFolders && (_jsx("span", { className: "scout-project-option-subtitle", children: project.parentFolders }))] })] }), _jsx("span", { className: "scout-project-option-repository", children: project.repositoryLabel ?? project.currentBranch ?? "" })] }) }, project.id)))] }) }));
37
+ return (_jsx(InputFloatingPanel, { className: "scout-project-search", ariaLabel: ariaLabel, children: _jsx("div", { className: "scout-project-search-inner", onKeyDown: handleKeyDown, children: _jsxs("ul", { ref: listRef, className: "scout-project-list", role: "listbox", "aria-label": ariaLabel, children: [_jsx("li", { className: "scout-project-search-row", children: _jsx("input", { className: "scout-project-search-input", placeholder: placeholder, value: search, onChange: (event) => setSearch(event.target.value), autoFocus: autoFocus }) }), filtered.length === 0 && (_jsx("li", { className: "scout-project-empty", children: emptyMessage })), visible.map((project, index) => (_jsx("li", { role: "option", "aria-selected": selectedProjectId === project.id, children: _jsxs("button", { type: "button", className: `scout-project-option${selectedProjectId === project.id ? " is-selected" : ""}${index === activeIndex ? " is-active" : ""}`, "data-active": index === activeIndex, onClick: () => onSelect(project), children: [_jsxs("span", { className: "scout-project-option-left", children: [project.iconUrl && (_jsx("img", { className: "scout-project-option-icon", src: project.iconUrl, alt: "" })), _jsxs("span", { className: "scout-project-option-title", children: [_jsx("span", { className: "scout-project-option-name", children: project.name }), project.parentFolders && (_jsx("span", { className: "scout-project-option-subtitle", children: project.parentFolders }))] })] }), _jsx("span", { className: "scout-project-option-repository", children: project.repositoryLabel ?? project.currentBranch ?? "" })] }) }, project.id)))] }) }) }));
37
38
  }
38
39
  //# sourceMappingURL=project-search-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-search-list.js","sourceRoot":"","sources":["../src/project-search-list.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-search-list.js","sourceRoot":"","sources":["../src/project-search-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAuB/D,MAAM,UAAU,iBAAiB,CAAoC,EACnE,QAAQ,EACR,iBAAiB,GAAG,IAAI,EACxB,QAAQ,EACR,WAAW,GAAG,oBAAoB,EAClC,YAAY,GAAG,oBAAoB,EACnC,SAAS,GAAG,iBAAiB,EAC7B,SAAS,GAAG,IAAI,EAChB,UAAU,GAAG,MAAM,CAAC,iBAAiB,GACL;IAChC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH,QAAQ,CAAC,MAAM,CACb,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,gBAAgB;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC5D,EACH,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAC7B,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EACnC,CAAC,QAAQ,EAAE,UAAU,CAAC,CACvB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7C,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,OAAO;YAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAErC,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAAoB,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CACxD,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,mBAAmB,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CACtC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,aAAa,CAClD,sBAAsB,CACvB,CAAC;QACF,aAAa,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,KAAC,kBAAkB,IAAC,SAAS,EAAC,sBAAsB,EAAC,SAAS,EAAE,SAAS,YACvE,cAAK,SAAS,EAAC,4BAA4B,EAAC,SAAS,EAAE,aAAa,YAClE,cACE,GAAG,EAAE,OAAO,EACZ,SAAS,EAAC,oBAAoB,EAC9B,IAAI,EAAC,SAAS,gBACF,SAAS,aAErB,aAAI,SAAS,EAAC,0BAA0B,YACtC,gBACE,SAAS,EAAC,4BAA4B,EACtC,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAClD,SAAS,EAAE,SAAS,GACpB,GACC,EACJ,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CACxB,aAAI,SAAS,EAAC,qBAAqB,YAAE,YAAY,GAAM,CACxD,EACA,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/B,aAEE,IAAI,EAAC,QAAQ,mBACE,iBAAiB,KAAK,OAAO,CAAC,EAAE,YAE/C,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,uBAAuB,iBAAiB,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,iBACzH,KAAK,KAAK,WAAW,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,aAEhC,gBAAM,SAAS,EAAC,2BAA2B,aACxC,OAAO,CAAC,OAAO,IAAI,CAClB,cACE,SAAS,EAAC,2BAA2B,EACrC,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,GAAG,EAAC,EAAE,GACN,CACH,EACD,gBAAM,SAAS,EAAC,4BAA4B,aAC1C,eAAM,SAAS,EAAC,2BAA2B,YACxC,OAAO,CAAC,IAAI,GACR,EACN,OAAO,CAAC,aAAa,IAAI,CACxB,eAAM,SAAS,EAAC,+BAA+B,YAC5C,OAAO,CAAC,aAAa,GACjB,CACR,IACI,IACF,EACP,eAAM,SAAS,EAAC,iCAAiC,YAC9C,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,aAAa,IAAI,EAAE,GAClD,IACA,IAhCJ,OAAO,CAAC,EAAE,CAiCZ,CACN,CAAC,IACC,GACD,GACa,CACtB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raggle-ai/scout-ui",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Reusable React project search components for Raggle Scout",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/styles.css CHANGED
@@ -1,9 +1,18 @@
1
- .scout-project-search {
1
+ .scout-input-floating-panel {
2
+ position: absolute;
3
+ right: 0;
4
+ bottom: calc(100% + 10px);
5
+ z-index: 30;
2
6
  box-sizing: border-box;
3
- width: 100%;
4
- height: 100%;
7
+ width: min(720px, calc(100vw - 24px));
8
+ max-height: min(460px, calc(100vh - 160px));
5
9
  overflow: hidden;
10
+ border: 1px solid var(--scout-project-border, #dfe2e7);
11
+ border-radius: 8px;
6
12
  background: var(--scout-project-shell, #fff);
13
+ box-shadow:
14
+ 0 18px 44px rgb(15 23 42 / 18%),
15
+ 0 2px 8px rgb(15 23 42 / 10%);
7
16
  color: var(--scout-project-text, #17181c);
8
17
  font-family:
9
18
  ui-sans-serif,
@@ -13,18 +22,31 @@
13
22
  font-size: 14px;
14
23
  }
15
24
 
16
- .scout-project-search *,
17
- .scout-project-search *::before,
18
- .scout-project-search *::after {
25
+ .scout-input-floating-panel *,
26
+ .scout-input-floating-panel *::before,
27
+ .scout-input-floating-panel *::after {
19
28
  box-sizing: border-box;
20
29
  }
21
30
 
31
+ .scout-project-search {
32
+ color: var(--scout-project-text, #17181c);
33
+ }
34
+
35
+ .scout-project-search-inner {
36
+ width: 100%;
37
+ height: 100%;
38
+ min-height: 220px;
39
+ max-height: inherit;
40
+ overflow: hidden;
41
+ }
42
+
22
43
  .scout-project-list {
23
44
  display: flex;
24
45
  flex-direction: column;
25
46
  gap: 2px;
26
47
  width: 100%;
27
48
  height: 100%;
49
+ max-height: inherit;
28
50
  margin: 0;
29
51
  padding: 4px;
30
52
  overflow-y: auto;