@streamoid/ui 0.6.30 → 0.6.31
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/dist/docs/AGENTS.md +3 -3
- package/dist/docs/ScAppSwitchPanel.md +17 -4
- package/dist/docs/ScWorkspaceAccountMenu.md +34 -7
- package/dist/docs/components.json +17 -2
- package/dist/index.d.mts +87 -5
- package/dist/index.d.ts +87 -5
- package/dist/index.js +151 -51
- package/dist/index.mjs +137 -34
- package/package.json +1 -1
package/dist/docs/AGENTS.md
CHANGED
|
@@ -166,7 +166,7 @@ theme-aware (dark on `:root`, light override) — never hardcode a colour.
|
|
|
166
166
|
|
|
167
167
|
- **`CreditWarningBanner`** — use when you need the "you're nearly out of credits" nudge in a sidebar rail, in either expanded or collapsed form.
|
|
168
168
|
- **`ScAppSwitchPanel`** — use when you need the "go to another Streamoid product" list — in `StreamoidSidebar`'s `switchPanel`, or in your own portalled flyout.
|
|
169
|
-
- also documented here: `ScAppSwitchRow`, `createStreamoidAppSwitchUtilities`, `streamoidAppSwitchTagline`, `streamoidChangelogUrl`, `STREAMOID_CHANGELOG_URLS`, `STREAMOID_CHANGELOG_URL`, `STREAMOID_STATUS_PAGE_URL`
|
|
169
|
+
- also documented here: `ScAppSwitchRow`, `scAppSwitchOrder`, `createStreamoidAppSwitchUtilities`, `streamoidAppSwitchTagline`, `streamoidChangelogUrl`, `STREAMOID_CHANGELOG_URLS`, `STREAMOID_CHANGELOG_URL`, `STREAMOID_STATUS_PAGE_URL`
|
|
170
170
|
- **`ScArtifaxSidebar`** — use when you are working on the Artifax (or Tactix) shell, or you need a sidebar whose sections the user can collapse.
|
|
171
171
|
- **`ScAskAgentButton`** — use when you need the assistant-panel CTA **outside** a DS sidebar. Inside one, use the sidebar's `assistantCta` prop instead.
|
|
172
172
|
- also documented here: `ScAskAgentSlot`, `AssistantCta`
|
|
@@ -180,8 +180,8 @@ theme-aware (dark on `:root`, light override) — never hardcode a colour.
|
|
|
180
180
|
- **`ScSidebarProfile`** _(legacy)_ — use when never. There is no way to pass a real user through it.
|
|
181
181
|
- **`ScSidebarSwitchMenu`** — use when you're building a "switch to another product" list inside a sidebar and each entry needs a name **and** a subtitle.
|
|
182
182
|
- **`ScVersion`** _(legacy)_ — use when never. `StreamoidSidebar` renders its own version footer inline from `versionText`.
|
|
183
|
-
- **`ScWorkspaceAccountMenu`** — use when building the standard workspace menu opened from the top-left of a Streamoid application sidebar. - Use `ScSidebarWorkspaceTrigger`, `ScSidebarSearchTrigger`, and `ScSidebarAppIdentity` for the matching constant rail controls. - Use the two preference hooks so theme and expanded/collapsed state survive an app switch across Streamoid subdomains. - Use `useStreamoidSidebarPopoverPosition` for the upper-right workspace menu
|
|
184
|
-
- also documented here: `ScSidebarWorkspaceTrigger`, `ScSidebarSearchTrigger`, `ScSidebarAppIdentity`, `useStreamoidThemePreference`, `useStreamoidSidebarPreference`, `useStreamoidSidebarPopoverPosition`
|
|
183
|
+
- **`ScWorkspaceAccountMenu`** — use when building the standard workspace menu opened from the top-left of a Streamoid application sidebar. - Use `ScSidebarWorkspaceTrigger`, `ScSidebarSearchTrigger`, and `ScSidebarAppIdentity` for the matching constant rail controls. - Use the two preference hooks so theme and expanded/collapsed state survive an app switch across Streamoid subdomains. - Use `useStreamoidSidebarPopoverPosition` for a panel that belongs to the whole rail (the upper-right workspace menu) instead of hard-coded host coordinates. - Use `useStreamoidAnchoredPopoverPosition` for a panel that belongs to a BUTTON — the app switcher's grid trigger, a row's overflow menu. Pinning one of those to the sidebar card's edge leaves it floating mid-canvas with nothing connecting it to what was clicked; in Artifax it landed over the chat composer and its Send button.
|
|
184
|
+
- also documented here: `ScSidebarWorkspaceTrigger`, `ScSidebarSearchTrigger`, `ScSidebarAppIdentity`, `useStreamoidThemePreference`, `useStreamoidSidebarPreference`, `useStreamoidSidebarPopoverPosition`, `useStreamoidAnchoredPopoverPosition`, `resolveAnchoredPopoverPosition`
|
|
185
185
|
- **`StreamoidSidebar`** — use when you are building (or fixing) a desktop app's primary left navigation and you want the same chrome CXO, Photogenix and Catalogix use.
|
|
186
186
|
- also documented here: `ScSidebarResizeHandle`, `advanceSidebarResizeGesture`, `SIDEBAR_RESIZE_THRESHOLD_PX`
|
|
187
187
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
component: ScAppSwitchPanel
|
|
3
|
-
also_exports: [ScAppSwitchRow, createStreamoidAppSwitchUtilities, streamoidAppSwitchTagline, streamoidChangelogUrl, STREAMOID_CHANGELOG_URLS, STREAMOID_CHANGELOG_URL, STREAMOID_STATUS_PAGE_URL]
|
|
3
|
+
also_exports: [ScAppSwitchRow, scAppSwitchOrder, createStreamoidAppSwitchUtilities, streamoidAppSwitchTagline, streamoidChangelogUrl, STREAMOID_CHANGELOG_URLS, STREAMOID_CHANGELOG_URL, STREAMOID_STATUS_PAGE_URL]
|
|
4
4
|
package: "@streamoid/ui"
|
|
5
5
|
category: sidebar
|
|
6
6
|
status: stable
|
|
@@ -36,7 +36,9 @@ card, no border and no background: the surrounding sidebar or flyout supplies th
|
|
|
36
36
|
3. Matching is a **substring** test over `` `${key} ${name}`.toLowerCase() ``. A key
|
|
37
37
|
containing `"cxo"` or `"streamoid"` gets the **CXO** wordmark — but the four
|
|
38
38
|
product names are matched first, so `"Streamoid Catalogix"` is Catalogix.
|
|
39
|
-
4.
|
|
39
|
+
4. **Pass every product, including the one you are in**, marked `current`.
|
|
40
|
+
Omitting it (which hosts used to do) changes the list's length per surface,
|
|
41
|
+
so rows move between apps and the hub has no row in its own switcher.
|
|
40
42
|
|
|
41
43
|
---
|
|
42
44
|
|
|
@@ -59,8 +61,13 @@ import "@streamoid/ui/dist/index.css"; // once, at your app root
|
|
|
59
61
|
```tsx
|
|
60
62
|
<ScAppSwitchPanel
|
|
61
63
|
apps={[
|
|
62
|
-
|
|
64
|
+
// Every product, always, in every app. `current` marks where you are; its
|
|
65
|
+
// `onSelect` is never called, so a no-op is fine.
|
|
66
|
+
{ key: "cxo", name: "CXO", onSelect: () => open(cxoUrl) },
|
|
67
|
+
{ key: "tactix", name: "Tactix", onSelect: () => open(tactixUrl) },
|
|
68
|
+
{ key: "artifax", name: "Artifax", current: true, onSelect: () => {} },
|
|
63
69
|
{ key: "photogenix", name: "Photogenix", onSelect: () => open(photogenixUrl) },
|
|
70
|
+
{ key: "catalogix", name: "Catalogix", onSelect: () => open(catalogixUrl) },
|
|
64
71
|
]}
|
|
65
72
|
utilities={{
|
|
66
73
|
appVersion: APP_VERSION,
|
|
@@ -86,6 +93,11 @@ import "@streamoid/ui/dist/index.css"; // once, at your app root
|
|
|
86
93
|
|---|---|---|---|
|
|
87
94
|
| `item` | `ScAppSwitchItem` | — | **Required.** The only prop — no `className`, no `style`. Rarely used directly; the panel renders one per app. |
|
|
88
95
|
|
|
96
|
+
### `scAppSwitchOrder(apps)`
|
|
97
|
+
|
|
98
|
+
The canonical ordering, exported so a host (or a test) can assert the row order
|
|
99
|
+
without rendering. The panel applies it already — hosts do not need to sort.
|
|
100
|
+
|
|
89
101
|
### `ScAppSwitchItem`
|
|
90
102
|
|
|
91
103
|
| Field | Type | Notes |
|
|
@@ -93,7 +105,8 @@ import "@streamoid/ui/dist/index.css"; // once, at your app root
|
|
|
93
105
|
| `key` | `string` | React key **and** half of the wordmark-matching string. |
|
|
94
106
|
| `name` | `string` | Matching input, and the fallback label. ⚠️ **Not rendered** when a wordmark matches. Always used for the row's `aria-label` (`"Switch to {name}"`). |
|
|
95
107
|
| `description` | `string` | Optional. Ignored for known products (the panel uses the canonical tagline). Shown only for unknown products. |
|
|
96
|
-
| `
|
|
108
|
+
| `current` | `boolean` | Optional. This is the app you are in: the row is filled (`--alias-fill-neutral-neutralselected`), carries a **check** instead of the chevron, gets `aria-current="true"` + `aria-disabled`, and does **not** call `onSelect`. It stays focusable on purpose — it is the answer to "where am I". |
|
|
109
|
+
| `onSelect` | `() => void` | Row click. Never called on the `current` row. |
|
|
97
110
|
|
|
98
111
|
### Wordmark matching + canonical order
|
|
99
112
|
|
|
@@ -9,7 +9,7 @@ related: [StreamoidSidebar, ScArtifaxSidebar, ScAppSwitchPanel, ScProfilePopup]
|
|
|
9
9
|
do_not_confuse_with: [ScProfilePopup, ScWorkspaceSwitcher, ScAppSwitchPanel]
|
|
10
10
|
used_by: [cxo, artifax, catalogix, photogenix]
|
|
11
11
|
required_props: [workspaceName, accountName]
|
|
12
|
-
also_exports: [ScSidebarWorkspaceTrigger, ScSidebarSearchTrigger, ScSidebarAppIdentity, useStreamoidThemePreference, useStreamoidSidebarPreference, useStreamoidSidebarPopoverPosition]
|
|
12
|
+
also_exports: [ScSidebarWorkspaceTrigger, ScSidebarSearchTrigger, ScSidebarAppIdentity, useStreamoidThemePreference, useStreamoidSidebarPreference, useStreamoidSidebarPopoverPosition, useStreamoidAnchoredPopoverPosition, resolveAnchoredPopoverPosition]
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
# Shared Streamoid sidebar shell
|
|
@@ -27,8 +27,14 @@ shared popover-position hook keeps the desktop anchors consistent.
|
|
|
27
27
|
`ScSidebarAppIdentity` for the matching constant rail controls.
|
|
28
28
|
- Use the two preference hooks so theme and expanded/collapsed state survive an
|
|
29
29
|
app switch across Streamoid subdomains.
|
|
30
|
-
- Use `useStreamoidSidebarPopoverPosition` for
|
|
31
|
-
|
|
30
|
+
- Use `useStreamoidSidebarPopoverPosition` for a panel that belongs to the
|
|
31
|
+
whole rail (the upper-right workspace menu) instead of hard-coded host
|
|
32
|
+
coordinates.
|
|
33
|
+
- Use `useStreamoidAnchoredPopoverPosition` for a panel that belongs to a
|
|
34
|
+
BUTTON — the app switcher's grid trigger, a row's overflow menu. Pinning one
|
|
35
|
+
of those to the sidebar card's edge leaves it floating mid-canvas with nothing
|
|
36
|
+
connecting it to what was clicked; in Artifax it landed over the chat
|
|
37
|
+
composer and its Send button.
|
|
32
38
|
|
|
33
39
|
## 1. How to use it
|
|
34
40
|
|
|
@@ -50,12 +56,33 @@ const workspaceMenuPosition = useStreamoidSidebarPopoverPosition(sidebarRef, {
|
|
|
50
56
|
placement: "top-right",
|
|
51
57
|
width: 320,
|
|
52
58
|
});
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
// Tethered to the trigger, flipping only to stay on screen: beside the button
|
|
60
|
+
// and running down from its top edge, to the button's other side when that side
|
|
61
|
+
// has no room, and upward (bottom aligned to the trigger) when there is no room
|
|
62
|
+
// below — which is what a footer grid button gets.
|
|
63
|
+
const appSwitcherPosition = useStreamoidAnchoredPopoverPosition(
|
|
64
|
+
triggerRef,
|
|
65
|
+
panelRef,
|
|
66
|
+
{ width: 240 },
|
|
67
|
+
);
|
|
57
68
|
```
|
|
58
69
|
|
|
70
|
+
### `useStreamoidAnchoredPopoverPosition(anchorRef, panelRef, options)`
|
|
71
|
+
|
|
72
|
+
| Option | Type | Default | Purpose |
|
|
73
|
+
|---|---|---|---|
|
|
74
|
+
| `width` | `number` | — | **Required.** Panel width; narrowed to the viewport when it cannot fit. |
|
|
75
|
+
| `gap` | `number` | `8` | Distance between the trigger and the panel. |
|
|
76
|
+
| `inset` | `number` | `16` | Keep-out margin from the viewport edges. |
|
|
77
|
+
|
|
78
|
+
Pass a ref to the panel as well as the trigger: the vertical flip needs the
|
|
79
|
+
panel's measured height, so the first frame opens downward and settles once
|
|
80
|
+
measured. Re-measures on resize, on scroll (capture phase — a rail can scroll
|
|
81
|
+
without bubbling), and while either element changes size.
|
|
82
|
+
|
|
83
|
+
`resolveAnchoredPopoverPosition(geometry)` is the same rules as a pure
|
|
84
|
+
function, exported for hosts that position their own portal and for tests.
|
|
85
|
+
|
|
59
86
|
| Prop | Type | Default | Purpose |
|
|
60
87
|
|---|---|---|---|
|
|
61
88
|
| `workspaceName` | `string` | required | Current workspace label. |
|
|
@@ -162,6 +162,7 @@
|
|
|
162
162
|
],
|
|
163
163
|
"alsoExports": [
|
|
164
164
|
"ScAppSwitchRow",
|
|
165
|
+
"scAppSwitchOrder",
|
|
165
166
|
"createStreamoidAppSwitchUtilities",
|
|
166
167
|
"streamoidAppSwitchTagline",
|
|
167
168
|
"streamoidChangelogUrl",
|
|
@@ -2757,7 +2758,7 @@
|
|
|
2757
2758
|
"status": "stable",
|
|
2758
2759
|
"renders": "div",
|
|
2759
2760
|
"summary": "Reach for it when:",
|
|
2760
|
-
"reachForWhen": "building the standard workspace menu opened from the top-left of a Streamoid application sidebar. - Use `ScSidebarWorkspaceTrigger`, `ScSidebarSearchTrigger`, and `ScSidebarAppIdentity` for the matching constant rail controls. - Use the two preference hooks so theme and expanded/collapsed state survive an app switch across Streamoid subdomains. - Use `useStreamoidSidebarPopoverPosition` for the upper-right workspace menu
|
|
2761
|
+
"reachForWhen": "building the standard workspace menu opened from the top-left of a Streamoid application sidebar. - Use `ScSidebarWorkspaceTrigger`, `ScSidebarSearchTrigger`, and `ScSidebarAppIdentity` for the matching constant rail controls. - Use the two preference hooks so theme and expanded/collapsed state survive an app switch across Streamoid subdomains. - Use `useStreamoidSidebarPopoverPosition` for a panel that belongs to the whole rail (the upper-right workspace menu) instead of hard-coded host coordinates. - Use `useStreamoidAnchoredPopoverPosition` for a panel that belongs to a BUTTON — the app switcher's grid trigger, a row's overflow menu. Pinning one of those to the sidebar card's edge leaves it floating mid-canvas with nothing connecting it to what was clicked; in Artifax it landed over the chat composer and its Send button.",
|
|
2761
2762
|
"tags": [
|
|
2762
2763
|
"sidebar",
|
|
2763
2764
|
"workspace",
|
|
@@ -2793,7 +2794,9 @@
|
|
|
2793
2794
|
"ScSidebarAppIdentity",
|
|
2794
2795
|
"useStreamoidThemePreference",
|
|
2795
2796
|
"useStreamoidSidebarPreference",
|
|
2796
|
-
"useStreamoidSidebarPopoverPosition"
|
|
2797
|
+
"useStreamoidSidebarPopoverPosition",
|
|
2798
|
+
"useStreamoidAnchoredPopoverPosition",
|
|
2799
|
+
"resolveAnchoredPopoverPosition"
|
|
2797
2800
|
],
|
|
2798
2801
|
"exported": true
|
|
2799
2802
|
},
|
|
@@ -4912,6 +4915,10 @@
|
|
|
4912
4915
|
"documentedIn": "ScAppSwitchPanel",
|
|
4913
4916
|
"doc": "ScAppSwitchPanel.md"
|
|
4914
4917
|
},
|
|
4918
|
+
"scAppSwitchOrder": {
|
|
4919
|
+
"documentedIn": "ScAppSwitchPanel",
|
|
4920
|
+
"doc": "ScAppSwitchPanel.md"
|
|
4921
|
+
},
|
|
4915
4922
|
"createStreamoidAppSwitchUtilities": {
|
|
4916
4923
|
"documentedIn": "ScAppSwitchPanel",
|
|
4917
4924
|
"doc": "ScAppSwitchPanel.md"
|
|
@@ -5024,6 +5031,14 @@
|
|
|
5024
5031
|
"documentedIn": "ScWorkspaceAccountMenu",
|
|
5025
5032
|
"doc": "ScWorkspaceAccountMenu.md"
|
|
5026
5033
|
},
|
|
5034
|
+
"useStreamoidAnchoredPopoverPosition": {
|
|
5035
|
+
"documentedIn": "ScWorkspaceAccountMenu",
|
|
5036
|
+
"doc": "ScWorkspaceAccountMenu.md"
|
|
5037
|
+
},
|
|
5038
|
+
"resolveAnchoredPopoverPosition": {
|
|
5039
|
+
"documentedIn": "ScWorkspaceAccountMenu",
|
|
5040
|
+
"doc": "ScWorkspaceAccountMenu.md"
|
|
5041
|
+
},
|
|
5027
5042
|
"formatSubAgentLabel": {
|
|
5028
5043
|
"documentedIn": "ScSubAgent",
|
|
5029
5044
|
"doc": "ScSubAgent.md"
|
package/dist/index.d.mts
CHANGED
|
@@ -51,7 +51,13 @@ interface IScAppCardForCopilotProps {
|
|
|
51
51
|
declare function ScAppCardForCopilot({ product, subText, onClick, className, style, }: IScAppCardForCopilotProps): JSX.Element;
|
|
52
52
|
|
|
53
53
|
/** One switchable product, supplied by the host app (built from its service
|
|
54
|
-
* catalog).
|
|
54
|
+
* catalog).
|
|
55
|
+
*
|
|
56
|
+
* PASS EVERY PRODUCT, INCLUDING THE ONE YOU ARE IN, and mark that one
|
|
57
|
+
* `current`. Hosts used to omit it, which made the list a different length in
|
|
58
|
+
* every app: position two was Artifax in one surface and Tactix in another, so
|
|
59
|
+
* no muscle memory could form — and the hub had no row at all in its own
|
|
60
|
+
* switcher, leaving nowhere visible to "go" to. */
|
|
55
61
|
interface ScAppSwitchItem {
|
|
56
62
|
key: string;
|
|
57
63
|
/** Product name — used to match the product wordmark (and as fallback text). */
|
|
@@ -59,6 +65,9 @@ interface ScAppSwitchItem {
|
|
|
59
65
|
/** Subtitle under the wordmark. Known products ignore this and use the
|
|
60
66
|
* canonical tagline from `PRODUCT_BRANDS`. Unknown products render it. */
|
|
61
67
|
description?: string;
|
|
68
|
+
/** This is where you already are: the row reads as selected, carries a check
|
|
69
|
+
* instead of a chevron, and does not navigate. `onSelect` is never called. */
|
|
70
|
+
current?: boolean;
|
|
62
71
|
onSelect: () => void;
|
|
63
72
|
}
|
|
64
73
|
/** Optional platform action shown beneath the product list. The host owns the
|
|
@@ -106,13 +115,20 @@ declare function createStreamoidAppSwitchUtilities(utilities: ScAppSwitchUtiliti
|
|
|
106
115
|
/** Canonical switcher tagline for a known product. Hosts should not copy this
|
|
107
116
|
* map — `ScAppSwitchRow` applies it. Unknown products return undefined. */
|
|
108
117
|
declare function streamoidAppSwitchTagline(key: string, name: string): string | undefined;
|
|
118
|
+
/** The rows in canonical order — the same list, in the same places, in every
|
|
119
|
+
* app. Exported so hosts and tests can assert the order without rendering;
|
|
120
|
+
* `ScAppSwitchPanel` applies it, so hosts need not sort. */
|
|
121
|
+
declare function scAppSwitchOrder(apps: ScAppSwitchItem[]): ScAppSwitchItem[];
|
|
109
122
|
/** One switch row: product wordmark + canonical tagline. */
|
|
110
123
|
declare const ScAppSwitchRow: ({ item, }: {
|
|
111
124
|
item: ScAppSwitchItem;
|
|
112
125
|
}) => JSX.Element;
|
|
113
|
-
/** Shared product-switch list — the same across every Streamoid app.
|
|
114
|
-
*
|
|
115
|
-
*
|
|
126
|
+
/** Shared product-switch list — the same across every Streamoid app.
|
|
127
|
+
*
|
|
128
|
+
* The host passes EVERY product, including the one it is, marked `current`.
|
|
129
|
+
* The list is therefore the same length and the same order everywhere, so a
|
|
130
|
+
* row never moves under the pointer between surfaces, and the app you are in
|
|
131
|
+
* is shown as selected rather than missing. */
|
|
116
132
|
declare const ScAppSwitchPanel: ({ apps, systemItems, utilities, title, systemLabel, className, style, }: IScAppSwitchPanelProps) => JSX.Element;
|
|
117
133
|
|
|
118
134
|
/** Bounds for a resizable panel, in px. */
|
|
@@ -795,6 +811,72 @@ interface StreamoidSidebarPreferenceState {
|
|
|
795
811
|
declare function useStreamoidThemePreference(options?: StreamoidThemePreferenceOptions): StreamoidThemePreferenceState;
|
|
796
812
|
declare function useStreamoidSidebarPreference(options?: StreamoidSidebarPreferenceOptions): StreamoidSidebarPreferenceState;
|
|
797
813
|
|
|
814
|
+
/** A rectangle, as `getBoundingClientRect` gives it. */
|
|
815
|
+
interface StreamoidAnchorRect {
|
|
816
|
+
top: number;
|
|
817
|
+
bottom: number;
|
|
818
|
+
left: number;
|
|
819
|
+
right: number;
|
|
820
|
+
}
|
|
821
|
+
interface StreamoidAnchoredPopoverGeometry {
|
|
822
|
+
anchor: StreamoidAnchorRect;
|
|
823
|
+
viewportWidth: number;
|
|
824
|
+
viewportHeight: number;
|
|
825
|
+
/** Panel width in pixels. */
|
|
826
|
+
width: number;
|
|
827
|
+
/** Measured panel height, when known. Drives the vertical flip. */
|
|
828
|
+
height?: number;
|
|
829
|
+
/** Gap between the trigger and the panel. */
|
|
830
|
+
gap: number;
|
|
831
|
+
/** Keep-out margin from the viewport edges. */
|
|
832
|
+
inset: number;
|
|
833
|
+
}
|
|
834
|
+
interface StreamoidAnchoredPopoverPositionOptions {
|
|
835
|
+
/** Panel width in pixels. */
|
|
836
|
+
width: number;
|
|
837
|
+
/** Gap between the trigger and the panel. Defaults to 8px. */
|
|
838
|
+
gap?: number;
|
|
839
|
+
/** Keep-out margin from the viewport edges. Defaults to 16px. */
|
|
840
|
+
inset?: number;
|
|
841
|
+
}
|
|
842
|
+
type StreamoidAnchoredPopoverPosition = CSSProperties & {
|
|
843
|
+
position: "fixed";
|
|
844
|
+
left: number;
|
|
845
|
+
top: number;
|
|
846
|
+
width: number;
|
|
847
|
+
visibility: "hidden" | "visible";
|
|
848
|
+
};
|
|
849
|
+
/**
|
|
850
|
+
* Where a popover sits relative to the element that opened it — pure, so the
|
|
851
|
+
* flip rules are testable without a DOM.
|
|
852
|
+
*
|
|
853
|
+
* TETHERED, WITH COLLISION-FLIP ONLY. The panel opens beside the trigger and
|
|
854
|
+
* runs downward from its top edge. It moves only when it would otherwise leave
|
|
855
|
+
* the viewport: to the trigger's other side when there is no room beside it,
|
|
856
|
+
* and upward (bottom aligned to the trigger's bottom) when there is no room
|
|
857
|
+
* below. Nothing else re-places it, so the panel is always visibly attached to
|
|
858
|
+
* the button that opened it rather than parked against a container edge.
|
|
859
|
+
*/
|
|
860
|
+
declare function resolveAnchoredPopoverPosition({ anchor, viewportWidth, viewportHeight, width, height, gap, inset, }: StreamoidAnchoredPopoverGeometry): {
|
|
861
|
+
left: number;
|
|
862
|
+
top: number;
|
|
863
|
+
width: number;
|
|
864
|
+
};
|
|
865
|
+
/**
|
|
866
|
+
* Positions a popover against the element that opened it.
|
|
867
|
+
*
|
|
868
|
+
* Use this for anything triggered by a specific control — the app switcher's
|
|
869
|
+
* grid button, a row's overflow menu. `useStreamoidSidebarPopoverPosition` is
|
|
870
|
+
* the other shape: it pins a panel to the sidebar CARD's edge, which is right
|
|
871
|
+
* for a panel that belongs to the whole rail and wrong for one that belongs to
|
|
872
|
+
* a button, because the panel then floats mid-canvas with nothing connecting it
|
|
873
|
+
* to what was clicked.
|
|
874
|
+
*
|
|
875
|
+
* Re-measures on scroll and resize, and while the trigger or the panel changes
|
|
876
|
+
* size, so the tether holds.
|
|
877
|
+
*/
|
|
878
|
+
declare function useStreamoidAnchoredPopoverPosition(anchorRef: RefObject<HTMLElement | null>, panelRef: RefObject<HTMLElement | null>, { width, gap, inset }: StreamoidAnchoredPopoverPositionOptions): StreamoidAnchoredPopoverPosition;
|
|
879
|
+
|
|
798
880
|
type StreamoidSidebarPopoverPlacement = "top-right" | "bottom-right";
|
|
799
881
|
interface StreamoidSidebarPopoverPositionOptions {
|
|
800
882
|
/** Position the panel beside the top or bottom of the visible sidebar card. */
|
|
@@ -2164,4 +2246,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
2164
2246
|
*/
|
|
2165
2247
|
declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2166
2248
|
|
|
2167
|
-
export { type AppcardProduct, type ArtifaxMenuItem, type ArtifaxSection, type ArtifaxSidebarAppIdentity, type ArtifaxSidebarAssistantCta, type ArtifaxSidebarCreditWarning, type ArtifaxSidebarIconContext, type ArtifaxSidebarIconMap, type ArtifaxSidebarIconRenderer, type ArtifaxSidebarProfile, type AssistantCta, type CatalogixNavItem, type CatalogixSidebarCreditWarning, type CatalogixSidebarIconContext, type CatalogixSidebarIconMap, type CatalogixSidebarIconRenderer, type CatalogixSidebarProfile, type CatalogixSwitchApp, CreditWarningBanner, type CreditWarningBannerProps, type DescriptionVisibility, type IInvoiceHistoryMobileProps, type IScAccessProps, type IScAppCardForCopilotProps, type IScAppCardProps, type IScAppCardV3Props, type IScAppFieldProps, type IScAppListingCardProps, type IScAppSwitchPanelProps, type IScAppcardLogosProps, type IScArtifaxInviteProps, type IScArtifaxSidebarProps, type IScAskAgentButtonProps, type IScBadgesProps, type IScBeaconProps, type IScBillingHistoryHeaderProps, type IScBillingHistoryTableListProps, type IScBillingLogsTableHeaderProps, type IScBillingLogsTableListProps, type IScBriefCardProps, type IScButtonProps, type IScCalendarDateCompsProps, type IScCalendarProps, type IScCatalogixInviteProps, type IScCatalogixSidebarProps, type IScCatalogixStoreHeaderProps, type IScCatalogixStoreTableListProps, type IScCheckFieldProps, type IScCheckboxProps, type IScCounterProps, type IScCreditsUsageCardMobileProps, type IScCreditsUsageCardProps, type IScCxoCopilotLogoProps, type IScCxoWordmarkProps, type IScDefaultCardProps, type IScDrawerProps, type IScFieldButtonProps, type IScFileFieldProps, type IScGoogleSignInProps, type IScGuideProps, type IScHDividerProps, type IScHeaderProps, type IScImageFieldProps, type IScInChatListProps, type IScInChatMessageProps, type IScInfoPopupProps, type IScIntialProfileCoverProps, type IScLogoUnitProps, type IScMappingCardProps, type IScMediaApprovalProps, type IScMediaSelectProps, type IScMenuOptionsProps, type IScMobileBottomActionProps, type IScMobileTopNavProps, type IScModalProps, type IScOnlyFieldProps, type IScOnlyIconProps, type IScPaginationProps, type IScPairtextProps, type IScPanelResizeHandleProps, type IScPendingActionProps, type IScPhtogenixInviteProps, type IScPlanCardProps, type IScPlanComparisonProps, type IScPlanDetailsCardMobileProps, type IScPlanDetailsCardProps, type IScPopUpMenuProps, type IScProfileImageUpdateProps, type IScProfileOptionsProps, type IScProfilePopupProps, type IScProfileProps, type IScProfileSettingsCompProps, type IScProfileV2MobileProps, type IScProgressBarProps, type IScQuickPromptProps, type IScRadioProps, type IScReferralCardMobileProps, type IScReferralTableHeaderProps, type IScReferralTableListProps, type IScRoleMobileProps, type IScRoleProps, type IScSelectOption, type IScSelectProps, type IScSelectionListProps, type IScSelectionPillGroupProps, type IScSelectionPillOption, type IScSelectionPillProps, type IScSelectionProps, type IScSettingsNavProps, type IScSettingsTabCompProps, type IScSideBarLogoUnitProps, type IScSidebarIconsProps, type IScSidebarMenuProps, type IScSidebarProfileProps, type IScSidebarProps, type IScSidebarSwitchMenuProps, type IScSliderProps, type IScStoreCardProps, type IScStrLogoProps, type IScStreamoidMascotProps, type IScStreamoidWordmarkProps, type IScSubAgentProps, type IScTabCompProps, type IScTabFieldProps, type IScTabSwitcherProps, type IScTableHeaderProps, type IScTableListMobileProps, type IScTableListProps, type IScTabsProps, type IScTaxonomyPillProps, type IScTextAreaProps, type IScTextFieldProps, type IScThinkingStepIconProps, type IScTodoItem, type IScTodoListProps, type IScToggleSwitchProps, type IScVDividerProps, type IScValueMappingL1Props, type IScVersionProps, type IScWorkspaceCardProps, type IScWorkspaceSettingsMobileProps, type IScWorkspaceSwitchMobileProps, type IScWorkspaceSwitchMobileV2Props, type IUsageHistoryMobileProps, type IcListIconState, InvoiceHistoryMobile, NscWorkspaceSwitch, PANEL_RESIZE_STEP_PX, type PanelResizeEdge, type PanelResizeGesture, type PanelWidthBounds, type PlanComparisonRow, type PlanComparisonSection, type PlanFeatureSection, ProductCollapsedMark, ProductWordmark, SIDEBAR_RESIZE_THRESHOLD_PX, STREAMOID_CHANGELOG_URL, STREAMOID_CHANGELOG_URLS, STREAMOID_STATUS_PAGE_URL, ScAccess, ScAppCard, ScAppCardForCopilot, ScAppCardV3, ScAppField, ScAppListingCard, type ScAppSwitchItem, ScAppSwitchPanel, ScAppSwitchRow, type ScAppSwitchSystemItem, type ScAppSwitchUtilities, ScAppcardLogos, ScArtifaxInvite, ScArtifaxSidebar, ScAskAgentButton, ScAskAgentSlot, ScBadges, ScBeacon, type ScBeaconTone, ScBillingHistoryHeader, ScBillingHistoryTableList, ScBillingLogsTableHeader, ScBillingLogsTableList, ScBriefCard, ScButton, ScCalendar, ScCalendarDateComps, ScCatalogixInvite, ScCatalogixSidebar, ScCatalogixStoreHeader, ScCatalogixStoreTableList, ScCheckField, ScCheckbox, ScCounter, ScCreditsUsageCard, ScCreditsUsageCardMobile, ScCxoCopilotLogo, ScCxoWordmark, ScDefaultCard, ScDp, type ScDpProps, ScDrawer, ScFieldButton, ScFileField, ScGoogleSignIn, ScGuide, ScHDivider, ScHeader, ScImageField, ScInChatList, ScInChatMessage, ScInfoPopup, ScIntialProfileCover, ScLogoUnit, ScMappingCard, ScMediaApproval, ScMediaSelect, ScMenuOptions, ScMobileBottomAction, ScMobileTopNav, ScModal, ScOnlyField, ScOnlyIcon, ScPagination, ScPairtext, ScPanelResizeHandle, ScPendingAction, ScPhtogenixInvite, ScPlanCard, ScPlanComparison, ScPlanDetailsCard, ScPlanDetailsCardMobile, ScPopUpMenu, ScProfile, ScProfileImageUpdate, ScProfileOptions, ScProfilePopup, type ScProfilePopupThemeMode, ScProfileSettingsComp, ScProfileV2Mobile, ScProgressBar, ScQuickPrompt, ScRadio, ScReferralCardMobile, ScReferralTableHeader, ScReferralTableList, ScRole, ScRoleMobile, ScSelect, ScSelection, ScSelectionList, ScSelectionPill, ScSelectionPillGroup, ScSettingsNav, ScSettingsTabComp, type ScShellThemeMode, ScSideBarLogoUnit, ScSidebar, ScSidebarAppIdentity, type ScSidebarAppIdentityProps, ScSidebarIcons, ScSidebarMenu, ScSidebarProfile, ScSidebarResizeHandle, type ScSidebarResizeHandleProps, ScSidebarSearchTrigger, type ScSidebarSearchTriggerProps, ScSidebarSwitchMenu, ScSidebarWorkspaceTrigger, type ScSidebarWorkspaceTriggerProps, ScSlider, ScStoreCard, ScStrLogo, ScStreamoidMascot, ScStreamoidWordmark, ScSubAgent, type ScTab, ScTabComp, ScTabField, ScTabSwitcher, ScTableHeader, ScTableList, ScTableListMobile, ScTabs, ScTaxonomyPill, ScTextArea, ScTextField, ScThinkingStepIcon, ScTodoList, ScToggleSwitch, ScVDivider, ScValueMappingL1, ScVersion, ScWorkspaceAccountMenu, type ScWorkspaceAccountMenuProps, ScWorkspaceCard, ScWorkspaceSettingsMobile, ScWorkspaceSwitchCard, type ScWorkspaceSwitchCardProps, ScWorkspaceSwitchMobile, ScWorkspaceSwitchMobileV2, type SelectionListState, type SidebarAppIdentityConfig, type SidebarConfig, type SidebarIconContext, type SidebarIconMap, type SidebarIconRenderer, type SidebarMenuItemConfig, type SidebarProduct, type SidebarProfileConfig, type SidebarResizeGestureResult, type SidebarResizeGestureState, type SidebarSectionConfig, type StreamoidAppSwitchProduct, type StreamoidPanelWidthOptions, type StreamoidPanelWidthState, StreamoidSidebar, type StreamoidSidebarPopoverPlacement, type StreamoidSidebarPopoverPosition, type StreamoidSidebarPopoverPositionOptions, type StreamoidSidebarPreferenceOptions, type StreamoidSidebarPreferenceState, type StreamoidSidebarProps, type StreamoidThemePreferenceOptions, type StreamoidThemePreferenceState, StreamoidWorkspaceSwitcher, type StreamoidWorkspaceSwitcherProps, UsageHistoryMobile, type WorkspaceSwitcherConfig, type WorkspaceSwitcherItem, advanceSidebarResizeGesture, clampPanelWidth, createStreamoidAppSwitchUtilities, formatSubAgentLabel, hasCollapsedMark, resolvePanelResize, resolvePanelResizeKey, streamoidAppSwitchTagline, streamoidChangelogUrl, useStreamoidPanelWidth, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
|
|
2249
|
+
export { type AppcardProduct, type ArtifaxMenuItem, type ArtifaxSection, type ArtifaxSidebarAppIdentity, type ArtifaxSidebarAssistantCta, type ArtifaxSidebarCreditWarning, type ArtifaxSidebarIconContext, type ArtifaxSidebarIconMap, type ArtifaxSidebarIconRenderer, type ArtifaxSidebarProfile, type AssistantCta, type CatalogixNavItem, type CatalogixSidebarCreditWarning, type CatalogixSidebarIconContext, type CatalogixSidebarIconMap, type CatalogixSidebarIconRenderer, type CatalogixSidebarProfile, type CatalogixSwitchApp, CreditWarningBanner, type CreditWarningBannerProps, type DescriptionVisibility, type IInvoiceHistoryMobileProps, type IScAccessProps, type IScAppCardForCopilotProps, type IScAppCardProps, type IScAppCardV3Props, type IScAppFieldProps, type IScAppListingCardProps, type IScAppSwitchPanelProps, type IScAppcardLogosProps, type IScArtifaxInviteProps, type IScArtifaxSidebarProps, type IScAskAgentButtonProps, type IScBadgesProps, type IScBeaconProps, type IScBillingHistoryHeaderProps, type IScBillingHistoryTableListProps, type IScBillingLogsTableHeaderProps, type IScBillingLogsTableListProps, type IScBriefCardProps, type IScButtonProps, type IScCalendarDateCompsProps, type IScCalendarProps, type IScCatalogixInviteProps, type IScCatalogixSidebarProps, type IScCatalogixStoreHeaderProps, type IScCatalogixStoreTableListProps, type IScCheckFieldProps, type IScCheckboxProps, type IScCounterProps, type IScCreditsUsageCardMobileProps, type IScCreditsUsageCardProps, type IScCxoCopilotLogoProps, type IScCxoWordmarkProps, type IScDefaultCardProps, type IScDrawerProps, type IScFieldButtonProps, type IScFileFieldProps, type IScGoogleSignInProps, type IScGuideProps, type IScHDividerProps, type IScHeaderProps, type IScImageFieldProps, type IScInChatListProps, type IScInChatMessageProps, type IScInfoPopupProps, type IScIntialProfileCoverProps, type IScLogoUnitProps, type IScMappingCardProps, type IScMediaApprovalProps, type IScMediaSelectProps, type IScMenuOptionsProps, type IScMobileBottomActionProps, type IScMobileTopNavProps, type IScModalProps, type IScOnlyFieldProps, type IScOnlyIconProps, type IScPaginationProps, type IScPairtextProps, type IScPanelResizeHandleProps, type IScPendingActionProps, type IScPhtogenixInviteProps, type IScPlanCardProps, type IScPlanComparisonProps, type IScPlanDetailsCardMobileProps, type IScPlanDetailsCardProps, type IScPopUpMenuProps, type IScProfileImageUpdateProps, type IScProfileOptionsProps, type IScProfilePopupProps, type IScProfileProps, type IScProfileSettingsCompProps, type IScProfileV2MobileProps, type IScProgressBarProps, type IScQuickPromptProps, type IScRadioProps, type IScReferralCardMobileProps, type IScReferralTableHeaderProps, type IScReferralTableListProps, type IScRoleMobileProps, type IScRoleProps, type IScSelectOption, type IScSelectProps, type IScSelectionListProps, type IScSelectionPillGroupProps, type IScSelectionPillOption, type IScSelectionPillProps, type IScSelectionProps, type IScSettingsNavProps, type IScSettingsTabCompProps, type IScSideBarLogoUnitProps, type IScSidebarIconsProps, type IScSidebarMenuProps, type IScSidebarProfileProps, type IScSidebarProps, type IScSidebarSwitchMenuProps, type IScSliderProps, type IScStoreCardProps, type IScStrLogoProps, type IScStreamoidMascotProps, type IScStreamoidWordmarkProps, type IScSubAgentProps, type IScTabCompProps, type IScTabFieldProps, type IScTabSwitcherProps, type IScTableHeaderProps, type IScTableListMobileProps, type IScTableListProps, type IScTabsProps, type IScTaxonomyPillProps, type IScTextAreaProps, type IScTextFieldProps, type IScThinkingStepIconProps, type IScTodoItem, type IScTodoListProps, type IScToggleSwitchProps, type IScVDividerProps, type IScValueMappingL1Props, type IScVersionProps, type IScWorkspaceCardProps, type IScWorkspaceSettingsMobileProps, type IScWorkspaceSwitchMobileProps, type IScWorkspaceSwitchMobileV2Props, type IUsageHistoryMobileProps, type IcListIconState, InvoiceHistoryMobile, NscWorkspaceSwitch, PANEL_RESIZE_STEP_PX, type PanelResizeEdge, type PanelResizeGesture, type PanelWidthBounds, type PlanComparisonRow, type PlanComparisonSection, type PlanFeatureSection, ProductCollapsedMark, ProductWordmark, SIDEBAR_RESIZE_THRESHOLD_PX, STREAMOID_CHANGELOG_URL, STREAMOID_CHANGELOG_URLS, STREAMOID_STATUS_PAGE_URL, ScAccess, ScAppCard, ScAppCardForCopilot, ScAppCardV3, ScAppField, ScAppListingCard, type ScAppSwitchItem, ScAppSwitchPanel, ScAppSwitchRow, type ScAppSwitchSystemItem, type ScAppSwitchUtilities, ScAppcardLogos, ScArtifaxInvite, ScArtifaxSidebar, ScAskAgentButton, ScAskAgentSlot, ScBadges, ScBeacon, type ScBeaconTone, ScBillingHistoryHeader, ScBillingHistoryTableList, ScBillingLogsTableHeader, ScBillingLogsTableList, ScBriefCard, ScButton, ScCalendar, ScCalendarDateComps, ScCatalogixInvite, ScCatalogixSidebar, ScCatalogixStoreHeader, ScCatalogixStoreTableList, ScCheckField, ScCheckbox, ScCounter, ScCreditsUsageCard, ScCreditsUsageCardMobile, ScCxoCopilotLogo, ScCxoWordmark, ScDefaultCard, ScDp, type ScDpProps, ScDrawer, ScFieldButton, ScFileField, ScGoogleSignIn, ScGuide, ScHDivider, ScHeader, ScImageField, ScInChatList, ScInChatMessage, ScInfoPopup, ScIntialProfileCover, ScLogoUnit, ScMappingCard, ScMediaApproval, ScMediaSelect, ScMenuOptions, ScMobileBottomAction, ScMobileTopNav, ScModal, ScOnlyField, ScOnlyIcon, ScPagination, ScPairtext, ScPanelResizeHandle, ScPendingAction, ScPhtogenixInvite, ScPlanCard, ScPlanComparison, ScPlanDetailsCard, ScPlanDetailsCardMobile, ScPopUpMenu, ScProfile, ScProfileImageUpdate, ScProfileOptions, ScProfilePopup, type ScProfilePopupThemeMode, ScProfileSettingsComp, ScProfileV2Mobile, ScProgressBar, ScQuickPrompt, ScRadio, ScReferralCardMobile, ScReferralTableHeader, ScReferralTableList, ScRole, ScRoleMobile, ScSelect, ScSelection, ScSelectionList, ScSelectionPill, ScSelectionPillGroup, ScSettingsNav, ScSettingsTabComp, type ScShellThemeMode, ScSideBarLogoUnit, ScSidebar, ScSidebarAppIdentity, type ScSidebarAppIdentityProps, ScSidebarIcons, ScSidebarMenu, ScSidebarProfile, ScSidebarResizeHandle, type ScSidebarResizeHandleProps, ScSidebarSearchTrigger, type ScSidebarSearchTriggerProps, ScSidebarSwitchMenu, ScSidebarWorkspaceTrigger, type ScSidebarWorkspaceTriggerProps, ScSlider, ScStoreCard, ScStrLogo, ScStreamoidMascot, ScStreamoidWordmark, ScSubAgent, type ScTab, ScTabComp, ScTabField, ScTabSwitcher, ScTableHeader, ScTableList, ScTableListMobile, ScTabs, ScTaxonomyPill, ScTextArea, ScTextField, ScThinkingStepIcon, ScTodoList, ScToggleSwitch, ScVDivider, ScValueMappingL1, ScVersion, ScWorkspaceAccountMenu, type ScWorkspaceAccountMenuProps, ScWorkspaceCard, ScWorkspaceSettingsMobile, ScWorkspaceSwitchCard, type ScWorkspaceSwitchCardProps, ScWorkspaceSwitchMobile, ScWorkspaceSwitchMobileV2, type SelectionListState, type SidebarAppIdentityConfig, type SidebarConfig, type SidebarIconContext, type SidebarIconMap, type SidebarIconRenderer, type SidebarMenuItemConfig, type SidebarProduct, type SidebarProfileConfig, type SidebarResizeGestureResult, type SidebarResizeGestureState, type SidebarSectionConfig, type StreamoidAnchorRect, type StreamoidAnchoredPopoverGeometry, type StreamoidAnchoredPopoverPosition, type StreamoidAnchoredPopoverPositionOptions, type StreamoidAppSwitchProduct, type StreamoidPanelWidthOptions, type StreamoidPanelWidthState, StreamoidSidebar, type StreamoidSidebarPopoverPlacement, type StreamoidSidebarPopoverPosition, type StreamoidSidebarPopoverPositionOptions, type StreamoidSidebarPreferenceOptions, type StreamoidSidebarPreferenceState, type StreamoidSidebarProps, type StreamoidThemePreferenceOptions, type StreamoidThemePreferenceState, StreamoidWorkspaceSwitcher, type StreamoidWorkspaceSwitcherProps, UsageHistoryMobile, type WorkspaceSwitcherConfig, type WorkspaceSwitcherItem, advanceSidebarResizeGesture, clampPanelWidth, createStreamoidAppSwitchUtilities, formatSubAgentLabel, hasCollapsedMark, resolveAnchoredPopoverPosition, resolvePanelResize, resolvePanelResizeKey, scAppSwitchOrder, streamoidAppSwitchTagline, streamoidChangelogUrl, useStreamoidAnchoredPopoverPosition, useStreamoidPanelWidth, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
|
package/dist/index.d.ts
CHANGED
|
@@ -51,7 +51,13 @@ interface IScAppCardForCopilotProps {
|
|
|
51
51
|
declare function ScAppCardForCopilot({ product, subText, onClick, className, style, }: IScAppCardForCopilotProps): JSX.Element;
|
|
52
52
|
|
|
53
53
|
/** One switchable product, supplied by the host app (built from its service
|
|
54
|
-
* catalog).
|
|
54
|
+
* catalog).
|
|
55
|
+
*
|
|
56
|
+
* PASS EVERY PRODUCT, INCLUDING THE ONE YOU ARE IN, and mark that one
|
|
57
|
+
* `current`. Hosts used to omit it, which made the list a different length in
|
|
58
|
+
* every app: position two was Artifax in one surface and Tactix in another, so
|
|
59
|
+
* no muscle memory could form — and the hub had no row at all in its own
|
|
60
|
+
* switcher, leaving nowhere visible to "go" to. */
|
|
55
61
|
interface ScAppSwitchItem {
|
|
56
62
|
key: string;
|
|
57
63
|
/** Product name — used to match the product wordmark (and as fallback text). */
|
|
@@ -59,6 +65,9 @@ interface ScAppSwitchItem {
|
|
|
59
65
|
/** Subtitle under the wordmark. Known products ignore this and use the
|
|
60
66
|
* canonical tagline from `PRODUCT_BRANDS`. Unknown products render it. */
|
|
61
67
|
description?: string;
|
|
68
|
+
/** This is where you already are: the row reads as selected, carries a check
|
|
69
|
+
* instead of a chevron, and does not navigate. `onSelect` is never called. */
|
|
70
|
+
current?: boolean;
|
|
62
71
|
onSelect: () => void;
|
|
63
72
|
}
|
|
64
73
|
/** Optional platform action shown beneath the product list. The host owns the
|
|
@@ -106,13 +115,20 @@ declare function createStreamoidAppSwitchUtilities(utilities: ScAppSwitchUtiliti
|
|
|
106
115
|
/** Canonical switcher tagline for a known product. Hosts should not copy this
|
|
107
116
|
* map — `ScAppSwitchRow` applies it. Unknown products return undefined. */
|
|
108
117
|
declare function streamoidAppSwitchTagline(key: string, name: string): string | undefined;
|
|
118
|
+
/** The rows in canonical order — the same list, in the same places, in every
|
|
119
|
+
* app. Exported so hosts and tests can assert the order without rendering;
|
|
120
|
+
* `ScAppSwitchPanel` applies it, so hosts need not sort. */
|
|
121
|
+
declare function scAppSwitchOrder(apps: ScAppSwitchItem[]): ScAppSwitchItem[];
|
|
109
122
|
/** One switch row: product wordmark + canonical tagline. */
|
|
110
123
|
declare const ScAppSwitchRow: ({ item, }: {
|
|
111
124
|
item: ScAppSwitchItem;
|
|
112
125
|
}) => JSX.Element;
|
|
113
|
-
/** Shared product-switch list — the same across every Streamoid app.
|
|
114
|
-
*
|
|
115
|
-
*
|
|
126
|
+
/** Shared product-switch list — the same across every Streamoid app.
|
|
127
|
+
*
|
|
128
|
+
* The host passes EVERY product, including the one it is, marked `current`.
|
|
129
|
+
* The list is therefore the same length and the same order everywhere, so a
|
|
130
|
+
* row never moves under the pointer between surfaces, and the app you are in
|
|
131
|
+
* is shown as selected rather than missing. */
|
|
116
132
|
declare const ScAppSwitchPanel: ({ apps, systemItems, utilities, title, systemLabel, className, style, }: IScAppSwitchPanelProps) => JSX.Element;
|
|
117
133
|
|
|
118
134
|
/** Bounds for a resizable panel, in px. */
|
|
@@ -795,6 +811,72 @@ interface StreamoidSidebarPreferenceState {
|
|
|
795
811
|
declare function useStreamoidThemePreference(options?: StreamoidThemePreferenceOptions): StreamoidThemePreferenceState;
|
|
796
812
|
declare function useStreamoidSidebarPreference(options?: StreamoidSidebarPreferenceOptions): StreamoidSidebarPreferenceState;
|
|
797
813
|
|
|
814
|
+
/** A rectangle, as `getBoundingClientRect` gives it. */
|
|
815
|
+
interface StreamoidAnchorRect {
|
|
816
|
+
top: number;
|
|
817
|
+
bottom: number;
|
|
818
|
+
left: number;
|
|
819
|
+
right: number;
|
|
820
|
+
}
|
|
821
|
+
interface StreamoidAnchoredPopoverGeometry {
|
|
822
|
+
anchor: StreamoidAnchorRect;
|
|
823
|
+
viewportWidth: number;
|
|
824
|
+
viewportHeight: number;
|
|
825
|
+
/** Panel width in pixels. */
|
|
826
|
+
width: number;
|
|
827
|
+
/** Measured panel height, when known. Drives the vertical flip. */
|
|
828
|
+
height?: number;
|
|
829
|
+
/** Gap between the trigger and the panel. */
|
|
830
|
+
gap: number;
|
|
831
|
+
/** Keep-out margin from the viewport edges. */
|
|
832
|
+
inset: number;
|
|
833
|
+
}
|
|
834
|
+
interface StreamoidAnchoredPopoverPositionOptions {
|
|
835
|
+
/** Panel width in pixels. */
|
|
836
|
+
width: number;
|
|
837
|
+
/** Gap between the trigger and the panel. Defaults to 8px. */
|
|
838
|
+
gap?: number;
|
|
839
|
+
/** Keep-out margin from the viewport edges. Defaults to 16px. */
|
|
840
|
+
inset?: number;
|
|
841
|
+
}
|
|
842
|
+
type StreamoidAnchoredPopoverPosition = CSSProperties & {
|
|
843
|
+
position: "fixed";
|
|
844
|
+
left: number;
|
|
845
|
+
top: number;
|
|
846
|
+
width: number;
|
|
847
|
+
visibility: "hidden" | "visible";
|
|
848
|
+
};
|
|
849
|
+
/**
|
|
850
|
+
* Where a popover sits relative to the element that opened it — pure, so the
|
|
851
|
+
* flip rules are testable without a DOM.
|
|
852
|
+
*
|
|
853
|
+
* TETHERED, WITH COLLISION-FLIP ONLY. The panel opens beside the trigger and
|
|
854
|
+
* runs downward from its top edge. It moves only when it would otherwise leave
|
|
855
|
+
* the viewport: to the trigger's other side when there is no room beside it,
|
|
856
|
+
* and upward (bottom aligned to the trigger's bottom) when there is no room
|
|
857
|
+
* below. Nothing else re-places it, so the panel is always visibly attached to
|
|
858
|
+
* the button that opened it rather than parked against a container edge.
|
|
859
|
+
*/
|
|
860
|
+
declare function resolveAnchoredPopoverPosition({ anchor, viewportWidth, viewportHeight, width, height, gap, inset, }: StreamoidAnchoredPopoverGeometry): {
|
|
861
|
+
left: number;
|
|
862
|
+
top: number;
|
|
863
|
+
width: number;
|
|
864
|
+
};
|
|
865
|
+
/**
|
|
866
|
+
* Positions a popover against the element that opened it.
|
|
867
|
+
*
|
|
868
|
+
* Use this for anything triggered by a specific control — the app switcher's
|
|
869
|
+
* grid button, a row's overflow menu. `useStreamoidSidebarPopoverPosition` is
|
|
870
|
+
* the other shape: it pins a panel to the sidebar CARD's edge, which is right
|
|
871
|
+
* for a panel that belongs to the whole rail and wrong for one that belongs to
|
|
872
|
+
* a button, because the panel then floats mid-canvas with nothing connecting it
|
|
873
|
+
* to what was clicked.
|
|
874
|
+
*
|
|
875
|
+
* Re-measures on scroll and resize, and while the trigger or the panel changes
|
|
876
|
+
* size, so the tether holds.
|
|
877
|
+
*/
|
|
878
|
+
declare function useStreamoidAnchoredPopoverPosition(anchorRef: RefObject<HTMLElement | null>, panelRef: RefObject<HTMLElement | null>, { width, gap, inset }: StreamoidAnchoredPopoverPositionOptions): StreamoidAnchoredPopoverPosition;
|
|
879
|
+
|
|
798
880
|
type StreamoidSidebarPopoverPlacement = "top-right" | "bottom-right";
|
|
799
881
|
interface StreamoidSidebarPopoverPositionOptions {
|
|
800
882
|
/** Position the panel beside the top or bottom of the visible sidebar card. */
|
|
@@ -2164,4 +2246,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
2164
2246
|
*/
|
|
2165
2247
|
declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2166
2248
|
|
|
2167
|
-
export { type AppcardProduct, type ArtifaxMenuItem, type ArtifaxSection, type ArtifaxSidebarAppIdentity, type ArtifaxSidebarAssistantCta, type ArtifaxSidebarCreditWarning, type ArtifaxSidebarIconContext, type ArtifaxSidebarIconMap, type ArtifaxSidebarIconRenderer, type ArtifaxSidebarProfile, type AssistantCta, type CatalogixNavItem, type CatalogixSidebarCreditWarning, type CatalogixSidebarIconContext, type CatalogixSidebarIconMap, type CatalogixSidebarIconRenderer, type CatalogixSidebarProfile, type CatalogixSwitchApp, CreditWarningBanner, type CreditWarningBannerProps, type DescriptionVisibility, type IInvoiceHistoryMobileProps, type IScAccessProps, type IScAppCardForCopilotProps, type IScAppCardProps, type IScAppCardV3Props, type IScAppFieldProps, type IScAppListingCardProps, type IScAppSwitchPanelProps, type IScAppcardLogosProps, type IScArtifaxInviteProps, type IScArtifaxSidebarProps, type IScAskAgentButtonProps, type IScBadgesProps, type IScBeaconProps, type IScBillingHistoryHeaderProps, type IScBillingHistoryTableListProps, type IScBillingLogsTableHeaderProps, type IScBillingLogsTableListProps, type IScBriefCardProps, type IScButtonProps, type IScCalendarDateCompsProps, type IScCalendarProps, type IScCatalogixInviteProps, type IScCatalogixSidebarProps, type IScCatalogixStoreHeaderProps, type IScCatalogixStoreTableListProps, type IScCheckFieldProps, type IScCheckboxProps, type IScCounterProps, type IScCreditsUsageCardMobileProps, type IScCreditsUsageCardProps, type IScCxoCopilotLogoProps, type IScCxoWordmarkProps, type IScDefaultCardProps, type IScDrawerProps, type IScFieldButtonProps, type IScFileFieldProps, type IScGoogleSignInProps, type IScGuideProps, type IScHDividerProps, type IScHeaderProps, type IScImageFieldProps, type IScInChatListProps, type IScInChatMessageProps, type IScInfoPopupProps, type IScIntialProfileCoverProps, type IScLogoUnitProps, type IScMappingCardProps, type IScMediaApprovalProps, type IScMediaSelectProps, type IScMenuOptionsProps, type IScMobileBottomActionProps, type IScMobileTopNavProps, type IScModalProps, type IScOnlyFieldProps, type IScOnlyIconProps, type IScPaginationProps, type IScPairtextProps, type IScPanelResizeHandleProps, type IScPendingActionProps, type IScPhtogenixInviteProps, type IScPlanCardProps, type IScPlanComparisonProps, type IScPlanDetailsCardMobileProps, type IScPlanDetailsCardProps, type IScPopUpMenuProps, type IScProfileImageUpdateProps, type IScProfileOptionsProps, type IScProfilePopupProps, type IScProfileProps, type IScProfileSettingsCompProps, type IScProfileV2MobileProps, type IScProgressBarProps, type IScQuickPromptProps, type IScRadioProps, type IScReferralCardMobileProps, type IScReferralTableHeaderProps, type IScReferralTableListProps, type IScRoleMobileProps, type IScRoleProps, type IScSelectOption, type IScSelectProps, type IScSelectionListProps, type IScSelectionPillGroupProps, type IScSelectionPillOption, type IScSelectionPillProps, type IScSelectionProps, type IScSettingsNavProps, type IScSettingsTabCompProps, type IScSideBarLogoUnitProps, type IScSidebarIconsProps, type IScSidebarMenuProps, type IScSidebarProfileProps, type IScSidebarProps, type IScSidebarSwitchMenuProps, type IScSliderProps, type IScStoreCardProps, type IScStrLogoProps, type IScStreamoidMascotProps, type IScStreamoidWordmarkProps, type IScSubAgentProps, type IScTabCompProps, type IScTabFieldProps, type IScTabSwitcherProps, type IScTableHeaderProps, type IScTableListMobileProps, type IScTableListProps, type IScTabsProps, type IScTaxonomyPillProps, type IScTextAreaProps, type IScTextFieldProps, type IScThinkingStepIconProps, type IScTodoItem, type IScTodoListProps, type IScToggleSwitchProps, type IScVDividerProps, type IScValueMappingL1Props, type IScVersionProps, type IScWorkspaceCardProps, type IScWorkspaceSettingsMobileProps, type IScWorkspaceSwitchMobileProps, type IScWorkspaceSwitchMobileV2Props, type IUsageHistoryMobileProps, type IcListIconState, InvoiceHistoryMobile, NscWorkspaceSwitch, PANEL_RESIZE_STEP_PX, type PanelResizeEdge, type PanelResizeGesture, type PanelWidthBounds, type PlanComparisonRow, type PlanComparisonSection, type PlanFeatureSection, ProductCollapsedMark, ProductWordmark, SIDEBAR_RESIZE_THRESHOLD_PX, STREAMOID_CHANGELOG_URL, STREAMOID_CHANGELOG_URLS, STREAMOID_STATUS_PAGE_URL, ScAccess, ScAppCard, ScAppCardForCopilot, ScAppCardV3, ScAppField, ScAppListingCard, type ScAppSwitchItem, ScAppSwitchPanel, ScAppSwitchRow, type ScAppSwitchSystemItem, type ScAppSwitchUtilities, ScAppcardLogos, ScArtifaxInvite, ScArtifaxSidebar, ScAskAgentButton, ScAskAgentSlot, ScBadges, ScBeacon, type ScBeaconTone, ScBillingHistoryHeader, ScBillingHistoryTableList, ScBillingLogsTableHeader, ScBillingLogsTableList, ScBriefCard, ScButton, ScCalendar, ScCalendarDateComps, ScCatalogixInvite, ScCatalogixSidebar, ScCatalogixStoreHeader, ScCatalogixStoreTableList, ScCheckField, ScCheckbox, ScCounter, ScCreditsUsageCard, ScCreditsUsageCardMobile, ScCxoCopilotLogo, ScCxoWordmark, ScDefaultCard, ScDp, type ScDpProps, ScDrawer, ScFieldButton, ScFileField, ScGoogleSignIn, ScGuide, ScHDivider, ScHeader, ScImageField, ScInChatList, ScInChatMessage, ScInfoPopup, ScIntialProfileCover, ScLogoUnit, ScMappingCard, ScMediaApproval, ScMediaSelect, ScMenuOptions, ScMobileBottomAction, ScMobileTopNav, ScModal, ScOnlyField, ScOnlyIcon, ScPagination, ScPairtext, ScPanelResizeHandle, ScPendingAction, ScPhtogenixInvite, ScPlanCard, ScPlanComparison, ScPlanDetailsCard, ScPlanDetailsCardMobile, ScPopUpMenu, ScProfile, ScProfileImageUpdate, ScProfileOptions, ScProfilePopup, type ScProfilePopupThemeMode, ScProfileSettingsComp, ScProfileV2Mobile, ScProgressBar, ScQuickPrompt, ScRadio, ScReferralCardMobile, ScReferralTableHeader, ScReferralTableList, ScRole, ScRoleMobile, ScSelect, ScSelection, ScSelectionList, ScSelectionPill, ScSelectionPillGroup, ScSettingsNav, ScSettingsTabComp, type ScShellThemeMode, ScSideBarLogoUnit, ScSidebar, ScSidebarAppIdentity, type ScSidebarAppIdentityProps, ScSidebarIcons, ScSidebarMenu, ScSidebarProfile, ScSidebarResizeHandle, type ScSidebarResizeHandleProps, ScSidebarSearchTrigger, type ScSidebarSearchTriggerProps, ScSidebarSwitchMenu, ScSidebarWorkspaceTrigger, type ScSidebarWorkspaceTriggerProps, ScSlider, ScStoreCard, ScStrLogo, ScStreamoidMascot, ScStreamoidWordmark, ScSubAgent, type ScTab, ScTabComp, ScTabField, ScTabSwitcher, ScTableHeader, ScTableList, ScTableListMobile, ScTabs, ScTaxonomyPill, ScTextArea, ScTextField, ScThinkingStepIcon, ScTodoList, ScToggleSwitch, ScVDivider, ScValueMappingL1, ScVersion, ScWorkspaceAccountMenu, type ScWorkspaceAccountMenuProps, ScWorkspaceCard, ScWorkspaceSettingsMobile, ScWorkspaceSwitchCard, type ScWorkspaceSwitchCardProps, ScWorkspaceSwitchMobile, ScWorkspaceSwitchMobileV2, type SelectionListState, type SidebarAppIdentityConfig, type SidebarConfig, type SidebarIconContext, type SidebarIconMap, type SidebarIconRenderer, type SidebarMenuItemConfig, type SidebarProduct, type SidebarProfileConfig, type SidebarResizeGestureResult, type SidebarResizeGestureState, type SidebarSectionConfig, type StreamoidAppSwitchProduct, type StreamoidPanelWidthOptions, type StreamoidPanelWidthState, StreamoidSidebar, type StreamoidSidebarPopoverPlacement, type StreamoidSidebarPopoverPosition, type StreamoidSidebarPopoverPositionOptions, type StreamoidSidebarPreferenceOptions, type StreamoidSidebarPreferenceState, type StreamoidSidebarProps, type StreamoidThemePreferenceOptions, type StreamoidThemePreferenceState, StreamoidWorkspaceSwitcher, type StreamoidWorkspaceSwitcherProps, UsageHistoryMobile, type WorkspaceSwitcherConfig, type WorkspaceSwitcherItem, advanceSidebarResizeGesture, clampPanelWidth, createStreamoidAppSwitchUtilities, formatSubAgentLabel, hasCollapsedMark, resolvePanelResize, resolvePanelResizeKey, streamoidAppSwitchTagline, streamoidChangelogUrl, useStreamoidPanelWidth, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
|
|
2249
|
+
export { type AppcardProduct, type ArtifaxMenuItem, type ArtifaxSection, type ArtifaxSidebarAppIdentity, type ArtifaxSidebarAssistantCta, type ArtifaxSidebarCreditWarning, type ArtifaxSidebarIconContext, type ArtifaxSidebarIconMap, type ArtifaxSidebarIconRenderer, type ArtifaxSidebarProfile, type AssistantCta, type CatalogixNavItem, type CatalogixSidebarCreditWarning, type CatalogixSidebarIconContext, type CatalogixSidebarIconMap, type CatalogixSidebarIconRenderer, type CatalogixSidebarProfile, type CatalogixSwitchApp, CreditWarningBanner, type CreditWarningBannerProps, type DescriptionVisibility, type IInvoiceHistoryMobileProps, type IScAccessProps, type IScAppCardForCopilotProps, type IScAppCardProps, type IScAppCardV3Props, type IScAppFieldProps, type IScAppListingCardProps, type IScAppSwitchPanelProps, type IScAppcardLogosProps, type IScArtifaxInviteProps, type IScArtifaxSidebarProps, type IScAskAgentButtonProps, type IScBadgesProps, type IScBeaconProps, type IScBillingHistoryHeaderProps, type IScBillingHistoryTableListProps, type IScBillingLogsTableHeaderProps, type IScBillingLogsTableListProps, type IScBriefCardProps, type IScButtonProps, type IScCalendarDateCompsProps, type IScCalendarProps, type IScCatalogixInviteProps, type IScCatalogixSidebarProps, type IScCatalogixStoreHeaderProps, type IScCatalogixStoreTableListProps, type IScCheckFieldProps, type IScCheckboxProps, type IScCounterProps, type IScCreditsUsageCardMobileProps, type IScCreditsUsageCardProps, type IScCxoCopilotLogoProps, type IScCxoWordmarkProps, type IScDefaultCardProps, type IScDrawerProps, type IScFieldButtonProps, type IScFileFieldProps, type IScGoogleSignInProps, type IScGuideProps, type IScHDividerProps, type IScHeaderProps, type IScImageFieldProps, type IScInChatListProps, type IScInChatMessageProps, type IScInfoPopupProps, type IScIntialProfileCoverProps, type IScLogoUnitProps, type IScMappingCardProps, type IScMediaApprovalProps, type IScMediaSelectProps, type IScMenuOptionsProps, type IScMobileBottomActionProps, type IScMobileTopNavProps, type IScModalProps, type IScOnlyFieldProps, type IScOnlyIconProps, type IScPaginationProps, type IScPairtextProps, type IScPanelResizeHandleProps, type IScPendingActionProps, type IScPhtogenixInviteProps, type IScPlanCardProps, type IScPlanComparisonProps, type IScPlanDetailsCardMobileProps, type IScPlanDetailsCardProps, type IScPopUpMenuProps, type IScProfileImageUpdateProps, type IScProfileOptionsProps, type IScProfilePopupProps, type IScProfileProps, type IScProfileSettingsCompProps, type IScProfileV2MobileProps, type IScProgressBarProps, type IScQuickPromptProps, type IScRadioProps, type IScReferralCardMobileProps, type IScReferralTableHeaderProps, type IScReferralTableListProps, type IScRoleMobileProps, type IScRoleProps, type IScSelectOption, type IScSelectProps, type IScSelectionListProps, type IScSelectionPillGroupProps, type IScSelectionPillOption, type IScSelectionPillProps, type IScSelectionProps, type IScSettingsNavProps, type IScSettingsTabCompProps, type IScSideBarLogoUnitProps, type IScSidebarIconsProps, type IScSidebarMenuProps, type IScSidebarProfileProps, type IScSidebarProps, type IScSidebarSwitchMenuProps, type IScSliderProps, type IScStoreCardProps, type IScStrLogoProps, type IScStreamoidMascotProps, type IScStreamoidWordmarkProps, type IScSubAgentProps, type IScTabCompProps, type IScTabFieldProps, type IScTabSwitcherProps, type IScTableHeaderProps, type IScTableListMobileProps, type IScTableListProps, type IScTabsProps, type IScTaxonomyPillProps, type IScTextAreaProps, type IScTextFieldProps, type IScThinkingStepIconProps, type IScTodoItem, type IScTodoListProps, type IScToggleSwitchProps, type IScVDividerProps, type IScValueMappingL1Props, type IScVersionProps, type IScWorkspaceCardProps, type IScWorkspaceSettingsMobileProps, type IScWorkspaceSwitchMobileProps, type IScWorkspaceSwitchMobileV2Props, type IUsageHistoryMobileProps, type IcListIconState, InvoiceHistoryMobile, NscWorkspaceSwitch, PANEL_RESIZE_STEP_PX, type PanelResizeEdge, type PanelResizeGesture, type PanelWidthBounds, type PlanComparisonRow, type PlanComparisonSection, type PlanFeatureSection, ProductCollapsedMark, ProductWordmark, SIDEBAR_RESIZE_THRESHOLD_PX, STREAMOID_CHANGELOG_URL, STREAMOID_CHANGELOG_URLS, STREAMOID_STATUS_PAGE_URL, ScAccess, ScAppCard, ScAppCardForCopilot, ScAppCardV3, ScAppField, ScAppListingCard, type ScAppSwitchItem, ScAppSwitchPanel, ScAppSwitchRow, type ScAppSwitchSystemItem, type ScAppSwitchUtilities, ScAppcardLogos, ScArtifaxInvite, ScArtifaxSidebar, ScAskAgentButton, ScAskAgentSlot, ScBadges, ScBeacon, type ScBeaconTone, ScBillingHistoryHeader, ScBillingHistoryTableList, ScBillingLogsTableHeader, ScBillingLogsTableList, ScBriefCard, ScButton, ScCalendar, ScCalendarDateComps, ScCatalogixInvite, ScCatalogixSidebar, ScCatalogixStoreHeader, ScCatalogixStoreTableList, ScCheckField, ScCheckbox, ScCounter, ScCreditsUsageCard, ScCreditsUsageCardMobile, ScCxoCopilotLogo, ScCxoWordmark, ScDefaultCard, ScDp, type ScDpProps, ScDrawer, ScFieldButton, ScFileField, ScGoogleSignIn, ScGuide, ScHDivider, ScHeader, ScImageField, ScInChatList, ScInChatMessage, ScInfoPopup, ScIntialProfileCover, ScLogoUnit, ScMappingCard, ScMediaApproval, ScMediaSelect, ScMenuOptions, ScMobileBottomAction, ScMobileTopNav, ScModal, ScOnlyField, ScOnlyIcon, ScPagination, ScPairtext, ScPanelResizeHandle, ScPendingAction, ScPhtogenixInvite, ScPlanCard, ScPlanComparison, ScPlanDetailsCard, ScPlanDetailsCardMobile, ScPopUpMenu, ScProfile, ScProfileImageUpdate, ScProfileOptions, ScProfilePopup, type ScProfilePopupThemeMode, ScProfileSettingsComp, ScProfileV2Mobile, ScProgressBar, ScQuickPrompt, ScRadio, ScReferralCardMobile, ScReferralTableHeader, ScReferralTableList, ScRole, ScRoleMobile, ScSelect, ScSelection, ScSelectionList, ScSelectionPill, ScSelectionPillGroup, ScSettingsNav, ScSettingsTabComp, type ScShellThemeMode, ScSideBarLogoUnit, ScSidebar, ScSidebarAppIdentity, type ScSidebarAppIdentityProps, ScSidebarIcons, ScSidebarMenu, ScSidebarProfile, ScSidebarResizeHandle, type ScSidebarResizeHandleProps, ScSidebarSearchTrigger, type ScSidebarSearchTriggerProps, ScSidebarSwitchMenu, ScSidebarWorkspaceTrigger, type ScSidebarWorkspaceTriggerProps, ScSlider, ScStoreCard, ScStrLogo, ScStreamoidMascot, ScStreamoidWordmark, ScSubAgent, type ScTab, ScTabComp, ScTabField, ScTabSwitcher, ScTableHeader, ScTableList, ScTableListMobile, ScTabs, ScTaxonomyPill, ScTextArea, ScTextField, ScThinkingStepIcon, ScTodoList, ScToggleSwitch, ScVDivider, ScValueMappingL1, ScVersion, ScWorkspaceAccountMenu, type ScWorkspaceAccountMenuProps, ScWorkspaceCard, ScWorkspaceSettingsMobile, ScWorkspaceSwitchCard, type ScWorkspaceSwitchCardProps, ScWorkspaceSwitchMobile, ScWorkspaceSwitchMobileV2, type SelectionListState, type SidebarAppIdentityConfig, type SidebarConfig, type SidebarIconContext, type SidebarIconMap, type SidebarIconRenderer, type SidebarMenuItemConfig, type SidebarProduct, type SidebarProfileConfig, type SidebarResizeGestureResult, type SidebarResizeGestureState, type SidebarSectionConfig, type StreamoidAnchorRect, type StreamoidAnchoredPopoverGeometry, type StreamoidAnchoredPopoverPosition, type StreamoidAnchoredPopoverPositionOptions, type StreamoidAppSwitchProduct, type StreamoidPanelWidthOptions, type StreamoidPanelWidthState, StreamoidSidebar, type StreamoidSidebarPopoverPlacement, type StreamoidSidebarPopoverPosition, type StreamoidSidebarPopoverPositionOptions, type StreamoidSidebarPreferenceOptions, type StreamoidSidebarPreferenceState, type StreamoidSidebarProps, type StreamoidThemePreferenceOptions, type StreamoidThemePreferenceState, StreamoidWorkspaceSwitcher, type StreamoidWorkspaceSwitcherProps, UsageHistoryMobile, type WorkspaceSwitcherConfig, type WorkspaceSwitcherItem, advanceSidebarResizeGesture, clampPanelWidth, createStreamoidAppSwitchUtilities, formatSubAgentLabel, hasCollapsedMark, resolveAnchoredPopoverPosition, resolvePanelResize, resolvePanelResizeKey, scAppSwitchOrder, streamoidAppSwitchTagline, streamoidChangelogUrl, useStreamoidAnchoredPopoverPosition, useStreamoidPanelWidth, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
|