@streamoid/ui 0.6.29 → 0.6.30

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.
@@ -1,6 +1,6 @@
1
1
  # @streamoid/ui — component router (for AI agents)
2
2
 
3
- 125 components. Full docs for each live beside this file as `<ScName>.md`;
3
+ 126 components. Full docs for each live beside this file as `<ScName>.md`;
4
4
  the same metadata is machine-readable in `components.json`.
5
5
 
6
6
  **How to use this file:** scan for the job you need below, then open only that
@@ -104,6 +104,8 @@ theme-aware (dark on `:root`, light override) — never hardcode a colour.
104
104
 
105
105
  - **`ScHDivider`** — use when you need a horizontal rule between stacked sections, rows, or card regions.
106
106
  - **`ScHeader`** — use when you are building a bespoke table header row and want the column captions to match every other table in the product.
107
+ - **`ScPanelResizeHandle`** — Drag-to-resize edge for a side panel — a continuous width, remembered.
108
+ - also documented here: `useStreamoidPanelWidth`, `clampPanelWidth`, `resolvePanelResize`, `resolvePanelResizeKey`, `PANEL_RESIZE_STEP_PX`
107
109
  - **`ScSettingsNav`** _(legacy)_ — use when you need a static visual placeholder of the settings nav (a design mock, a screenshot, a Figma-parity check).
108
110
  - **`ScSettingsTabComp`** — use when you need a settings-style tab strip — Profile / Workspace, or a modal's section tabs — where the active tab is marked by an underline.
109
111
  - **`ScTabComp`** — use when you need one segment of a compact 2–5 way view toggle — theme switcher, grid/list, Active/Pending, Fast/Pro.
@@ -244,6 +246,7 @@ theme-aware (dark on `:root`, light override) — never hardcode a colour.
244
246
  | `ScOnlyIcon` | `ScOnlyField`, `ScButton`, `ScFieldButton`, `ScSidebarIcons` |
245
247
  | `ScPagination` | `ScCounter`, `ScTabs`, `ScOnlyField` |
246
248
  | `ScPairtext` | `ScCheckField`, `ScCheckbox`, `ScRadio`, `ScSelection`, `ScSelectionPill`, `ScMenuOptions` |
249
+ | `ScPanelResizeHandle` | `ScSidebarResizeHandle`, `ScVDivider` |
247
250
  | `ScPlanCard` | `ScPlanDetailsCard`, `ScPlanDetailsCardMobile`, `ScPlanComparison`, `ScAppCard` |
248
251
  | `ScPlanDetailsCard` | `ScPlanCard`, `ScPlanDetailsCardMobile`, `ScCreditsUsageCard`, `ScPlanComparison` |
249
252
  | `ScPlanDetailsCardMobile` | `ScPlanDetailsCard`, `ScPlanCard`, `ScPlanComparison`, `ScCreditsUsageCardMobile` |
@@ -0,0 +1,80 @@
1
+ ---
2
+ component: ScPanelResizeHandle
3
+ also_exports: [useStreamoidPanelWidth, clampPanelWidth, resolvePanelResize, resolvePanelResizeKey, PANEL_RESIZE_STEP_PX]
4
+ package: "@streamoid/ui"
5
+ category: layout
6
+ status: stable
7
+ renders: div[role="separator"]
8
+ tags: [resize, panel, drag, width, splitter, separator, sidebar, chat]
9
+ related: [ScSidebarResizeHandle, StreamoidSidebar]
10
+ do_not_confuse_with: [ScSidebarResizeHandle, ScVDivider]
11
+ required_props: [width, onWidthChange, min, max]
12
+ ---
13
+
14
+ # ScPanelResizeHandle · useStreamoidPanelWidth
15
+
16
+ **Drag-to-resize edge for a side panel — a continuous width, remembered.** Built
17
+ for the Ask CXO panel, which was a hardcoded `clamp(400px, 32vw, 560px)` that no
18
+ one could widen.
19
+
20
+ ## Don't confuse with `ScSidebarResizeHandle`
21
+
22
+ | you want | use |
23
+ |---|---|
24
+ | any width between a min and max | **`ScPanelResizeHandle`** |
25
+ | snap between expanded and collapsed past a drag threshold | `ScSidebarResizeHandle` |
26
+
27
+ They look identical in use and do different things. The sidebar one takes
28
+ `expanded: boolean`; this one takes `width: number`.
29
+
30
+ ## Use it
31
+
32
+ ```tsx
33
+ const { width, setWidth, commitWidth } = useStreamoidPanelWidth({
34
+ storageKey: "artifax.assistant.width",
35
+ defaultWidth: 480, min: 360, max: 900,
36
+ });
37
+
38
+ <div style={{ position: "relative", width }}> {/* MUST be positioned */}
39
+ {children}
40
+ <ScPanelResizeHandle
41
+ width={width} onWidthChange={setWidth} onWidthCommit={commitWidth}
42
+ min={360} max={900} edge="right" ariaLabel="Resize Ask CXO"
43
+ />
44
+ </div>
45
+ ```
46
+
47
+ ## Four things that will bite you
48
+
49
+ 1. **The parent must be `position: relative`.** The handle is absolutely
50
+ positioned against it, and sits half outside the edge (`-6px`) so the 12px
51
+ hit area straddles the border. A static parent puts it somewhere unrelated.
52
+ 2. **`setWidth` during the drag, `commitWidth` at the end.** `commitWidth`
53
+ writes to `localStorage`; pointermove fires dozens of times a second and each
54
+ write is synchronous. `onWidthCommit` already fires once per gesture.
55
+ 3. **`edge` inverts the gesture AND the keys.** On `edge="left"` the panel grows
56
+ as the pointer moves left, and ArrowLeft grows it. Get this wrong and the
57
+ panel shrinks when dragged open.
58
+ 4. **Width is absolute from the gesture start, not accumulated deltas.** Drag
59
+ past `max` and back and the edge returns to the cursor rather than sitting
60
+ offset by the overshoot. If you reimplement the maths, keep that property —
61
+ there is a test for it.
62
+
63
+ ## Accessibility
64
+
65
+ `role="separator"` with `aria-valuenow/min/max`, focusable, and operable with
66
+ ArrowLeft/ArrowRight plus Home/End (`PANEL_RESIZE_STEP_PX`, 24px). Double-click
67
+ resets to `min`. A pointer-only resize is unusable for anyone who cannot drag,
68
+ which is why the keyboard path is part of the component rather than the host's
69
+ problem.
70
+
71
+ ## Storage
72
+
73
+ `useStreamoidPanelWidth` wraps every `localStorage` access in try/catch —
74
+ it throws outright in a private window, with site data blocked, or in a
75
+ thumbnailer, and a resize handle is not worth taking the app down for. A failed
76
+ read yields `defaultWidth`; a failed write means the width applies for the
77
+ session but does not persist.
78
+
79
+ The stored value is re-clamped on read, so lowering `max` in a later release
80
+ cannot leave someone stuck with a panel wider than the app now allows.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@streamoid/ui",
3
- "count": 125,
3
+ "count": 126,
4
4
  "components": {
5
5
  "ScAccess": {
6
6
  "doc": "ScAccess.md",
@@ -1773,6 +1773,48 @@
1773
1773
  "alsoExports": [],
1774
1774
  "exported": true
1775
1775
  },
1776
+ "ScPanelResizeHandle": {
1777
+ "doc": "ScPanelResizeHandle.md",
1778
+ "source": "src/SC-PanelResize",
1779
+ "category": "layout",
1780
+ "status": "stable",
1781
+ "renders": "div[role=\"separator\"]",
1782
+ "summary": "Drag-to-resize edge for a side panel — a continuous width, remembered.",
1783
+ "reachForWhen": "",
1784
+ "tags": [
1785
+ "resize",
1786
+ "panel",
1787
+ "drag",
1788
+ "width",
1789
+ "splitter",
1790
+ "separator",
1791
+ "sidebar",
1792
+ "chat"
1793
+ ],
1794
+ "related": [
1795
+ "ScSidebarResizeHandle",
1796
+ "StreamoidSidebar"
1797
+ ],
1798
+ "doNotConfuseWith": [
1799
+ "ScSidebarResizeHandle",
1800
+ "ScVDivider"
1801
+ ],
1802
+ "requiredProps": [
1803
+ "width",
1804
+ "onWidthChange",
1805
+ "min",
1806
+ "max"
1807
+ ],
1808
+ "usedBy": [],
1809
+ "alsoExports": [
1810
+ "useStreamoidPanelWidth",
1811
+ "clampPanelWidth",
1812
+ "resolvePanelResize",
1813
+ "resolvePanelResizeKey",
1814
+ "PANEL_RESIZE_STEP_PX"
1815
+ ],
1816
+ "exported": true
1817
+ },
1776
1818
  "ScPlanCard": {
1777
1819
  "doc": "ScPlanCard.md",
1778
1820
  "source": "src/SC-Plan card",
@@ -4914,6 +4956,26 @@
4914
4956
  "documentedIn": "ScStreamoidWordmark",
4915
4957
  "doc": "ScStreamoidWordmark.md"
4916
4958
  },
4959
+ "useStreamoidPanelWidth": {
4960
+ "documentedIn": "ScPanelResizeHandle",
4961
+ "doc": "ScPanelResizeHandle.md"
4962
+ },
4963
+ "clampPanelWidth": {
4964
+ "documentedIn": "ScPanelResizeHandle",
4965
+ "doc": "ScPanelResizeHandle.md"
4966
+ },
4967
+ "resolvePanelResize": {
4968
+ "documentedIn": "ScPanelResizeHandle",
4969
+ "doc": "ScPanelResizeHandle.md"
4970
+ },
4971
+ "resolvePanelResizeKey": {
4972
+ "documentedIn": "ScPanelResizeHandle",
4973
+ "doc": "ScPanelResizeHandle.md"
4974
+ },
4975
+ "PANEL_RESIZE_STEP_PX": {
4976
+ "documentedIn": "ScPanelResizeHandle",
4977
+ "doc": "ScPanelResizeHandle.md"
4978
+ },
4917
4979
  "ProductWordmark": {
4918
4980
  "documentedIn": "ScSideBarLogoUnit",
4919
4981
  "doc": "ScSideBarLogoUnit.md"
package/dist/index.css CHANGED
@@ -914,6 +914,44 @@
914
914
  color: #9e9e9e;
915
915
  }
916
916
 
917
+ /* src/SC-PanelResize/ScPanelResizeHandle.module.css */
918
+ .ScPanelResizeHandle_handle {
919
+ position: absolute;
920
+ top: 0;
921
+ bottom: 0;
922
+ width: 12px;
923
+ display: flex;
924
+ align-items: stretch;
925
+ justify-content: center;
926
+ padding: 0;
927
+ border: none;
928
+ background: transparent;
929
+ cursor: col-resize;
930
+ touch-action: none;
931
+ z-index: 5;
932
+ }
933
+ .ScPanelResizeHandle_left {
934
+ left: -6px;
935
+ }
936
+ .ScPanelResizeHandle_right {
937
+ right: -6px;
938
+ }
939
+ .ScPanelResizeHandle_handle:focus-visible {
940
+ outline: 2px solid var(--alias-border-focus, #7850de);
941
+ outline-offset: -2px;
942
+ }
943
+ .ScPanelResizeHandle_line {
944
+ width: 2px;
945
+ align-self: stretch;
946
+ background: transparent;
947
+ transition: background-color 120ms ease;
948
+ }
949
+ .ScPanelResizeHandle_handle:hover .ScPanelResizeHandle_line,
950
+ .ScPanelResizeHandle_handle:focus-visible .ScPanelResizeHandle_line,
951
+ .ScPanelResizeHandle_handle[data-active=true] .ScPanelResizeHandle_line {
952
+ background: var(--alias-border-focus, #7850de);
953
+ }
954
+
917
955
  /* src/SC-Badges/ScBadges.module.css */
918
956
  .ScBadges_scBadges,
919
957
  .ScBadges_scBadges * {
package/dist/index.d.mts CHANGED
@@ -115,6 +115,96 @@ declare const ScAppSwitchRow: ({ item, }: {
115
115
  * surrounding sidebar; only this content is identical everywhere. */
116
116
  declare const ScAppSwitchPanel: ({ apps, systemItems, utilities, title, systemLabel, className, style, }: IScAppSwitchPanelProps) => JSX.Element;
117
117
 
118
+ /** Bounds for a resizable panel, in px. */
119
+ interface PanelWidthBounds {
120
+ min: number;
121
+ max: number;
122
+ }
123
+ /** Which edge carries the handle — the edge that moves under the pointer. */
124
+ type PanelResizeEdge = "left" | "right";
125
+ interface PanelResizeGesture {
126
+ /** Panel width when the drag started, px. */
127
+ startWidth: number;
128
+ /** Pointer x when the drag started. */
129
+ startX: number;
130
+ edge: PanelResizeEdge;
131
+ }
132
+ declare function clampPanelWidth(width: number, { min, max }: PanelWidthBounds): number;
133
+ /**
134
+ * Width for a drag in progress.
135
+ *
136
+ * Absolute from the gesture's start, NOT accumulated per pointermove: summing
137
+ * deltas drifts, and it also means a pointer dragged past the clamp and back
138
+ * does not "stick" — the panel follows the pointer again the moment it returns
139
+ * inside the bounds, which is what makes the edge feel attached to the cursor.
140
+ *
141
+ * A handle on the LEFT edge grows the panel as the pointer moves left, so the
142
+ * delta is inverted for it.
143
+ */
144
+ declare function resolvePanelResize(gesture: PanelResizeGesture, clientX: number, bounds: PanelWidthBounds): number;
145
+ /** Step for keyboard resizing. A separator must be operable without a pointer. */
146
+ declare const PANEL_RESIZE_STEP_PX = 24;
147
+ /**
148
+ * Width after an arrow key. Returns the SAME width for keys that do not resize,
149
+ * so a caller can use identity to decide whether to preventDefault.
150
+ */
151
+ declare function resolvePanelResizeKey(width: number, key: string, edge: PanelResizeEdge, bounds: PanelWidthBounds, step?: number): number;
152
+
153
+ interface IScPanelResizeHandleProps extends PanelWidthBounds {
154
+ /** Current panel width in px — the handle is controlled. */
155
+ width: number;
156
+ onWidthChange: (width: number) => void;
157
+ /** Which edge the handle sits on. Default "right". */
158
+ edge?: PanelResizeEdge;
159
+ /** Fired once when a drag ends, for hosts that persist on commit only. */
160
+ onWidthCommit?: (width: number) => void;
161
+ ariaLabel?: string;
162
+ /** Keyboard increment. Default 24px. */
163
+ step?: number;
164
+ className?: string;
165
+ style?: CSSProperties;
166
+ }
167
+ /**
168
+ * Drag-to-resize edge for a side panel — continuous width, not a collapse
169
+ * toggle. `ScSidebarResizeHandle` is the two-state one; reach for that when the
170
+ * gesture should snap between expanded and collapsed instead.
171
+ *
172
+ * The parent must be positioned (`position: relative`), since the handle is
173
+ * absolute against it.
174
+ *
175
+ * Accessibility: this is a `separator` with `aria-valuenow`, operable with
176
+ * arrows plus Home/End, because a pointer-only resize is unusable for anyone
177
+ * who cannot drag.
178
+ */
179
+ declare const ScPanelResizeHandle: ({ width, onWidthChange, min, max, edge, onWidthCommit, ariaLabel, step, className, style, }: IScPanelResizeHandleProps) => JSX.Element;
180
+
181
+ interface StreamoidPanelWidthOptions extends PanelWidthBounds {
182
+ /** localStorage key. Namespace it per panel, e.g. "artifax.assistant.width". */
183
+ storageKey: string;
184
+ /** Width before anything is stored. Clamped to the bounds. */
185
+ defaultWidth: number;
186
+ }
187
+ interface StreamoidPanelWidthState {
188
+ width: number;
189
+ /** Live updates during a drag — not written to storage. */
190
+ setWidth: (width: number) => void;
191
+ /** Write to storage. Call on drag end, not on every pointermove. */
192
+ commitWidth: (width: number) => void;
193
+ /** Back to `defaultWidth`, and forget the stored value. */
194
+ reset: () => void;
195
+ }
196
+ /**
197
+ * A panel width the user chose, remembered across reloads.
198
+ *
199
+ * Reads and writes are wrapped: `localStorage` throws outright in some contexts
200
+ * (a private window, site data blocked, a thumbnailer), and a resize handle is
201
+ * not worth taking the app down for. A failed read simply yields the default.
202
+ *
203
+ * Storage is written on COMMIT, not on every move — a drag fires pointermove
204
+ * dozens of times a second and each write is synchronous and blocking.
205
+ */
206
+ declare function useStreamoidPanelWidth({ storageKey, defaultWidth, min, max, }: StreamoidPanelWidthOptions): StreamoidPanelWidthState;
207
+
118
208
  interface IScBadgesProps {
119
209
  text?: string;
120
210
  variant?: "default" | "success" | "warning" | "error" | "info";
@@ -2074,4 +2164,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
2074
2164
  */
2075
2165
  declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
2076
2166
 
2077
- 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 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, 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, 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, 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, createStreamoidAppSwitchUtilities, formatSubAgentLabel, hasCollapsedMark, streamoidAppSwitchTagline, streamoidChangelogUrl, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
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 };
package/dist/index.d.ts CHANGED
@@ -115,6 +115,96 @@ declare const ScAppSwitchRow: ({ item, }: {
115
115
  * surrounding sidebar; only this content is identical everywhere. */
116
116
  declare const ScAppSwitchPanel: ({ apps, systemItems, utilities, title, systemLabel, className, style, }: IScAppSwitchPanelProps) => JSX.Element;
117
117
 
118
+ /** Bounds for a resizable panel, in px. */
119
+ interface PanelWidthBounds {
120
+ min: number;
121
+ max: number;
122
+ }
123
+ /** Which edge carries the handle — the edge that moves under the pointer. */
124
+ type PanelResizeEdge = "left" | "right";
125
+ interface PanelResizeGesture {
126
+ /** Panel width when the drag started, px. */
127
+ startWidth: number;
128
+ /** Pointer x when the drag started. */
129
+ startX: number;
130
+ edge: PanelResizeEdge;
131
+ }
132
+ declare function clampPanelWidth(width: number, { min, max }: PanelWidthBounds): number;
133
+ /**
134
+ * Width for a drag in progress.
135
+ *
136
+ * Absolute from the gesture's start, NOT accumulated per pointermove: summing
137
+ * deltas drifts, and it also means a pointer dragged past the clamp and back
138
+ * does not "stick" — the panel follows the pointer again the moment it returns
139
+ * inside the bounds, which is what makes the edge feel attached to the cursor.
140
+ *
141
+ * A handle on the LEFT edge grows the panel as the pointer moves left, so the
142
+ * delta is inverted for it.
143
+ */
144
+ declare function resolvePanelResize(gesture: PanelResizeGesture, clientX: number, bounds: PanelWidthBounds): number;
145
+ /** Step for keyboard resizing. A separator must be operable without a pointer. */
146
+ declare const PANEL_RESIZE_STEP_PX = 24;
147
+ /**
148
+ * Width after an arrow key. Returns the SAME width for keys that do not resize,
149
+ * so a caller can use identity to decide whether to preventDefault.
150
+ */
151
+ declare function resolvePanelResizeKey(width: number, key: string, edge: PanelResizeEdge, bounds: PanelWidthBounds, step?: number): number;
152
+
153
+ interface IScPanelResizeHandleProps extends PanelWidthBounds {
154
+ /** Current panel width in px — the handle is controlled. */
155
+ width: number;
156
+ onWidthChange: (width: number) => void;
157
+ /** Which edge the handle sits on. Default "right". */
158
+ edge?: PanelResizeEdge;
159
+ /** Fired once when a drag ends, for hosts that persist on commit only. */
160
+ onWidthCommit?: (width: number) => void;
161
+ ariaLabel?: string;
162
+ /** Keyboard increment. Default 24px. */
163
+ step?: number;
164
+ className?: string;
165
+ style?: CSSProperties;
166
+ }
167
+ /**
168
+ * Drag-to-resize edge for a side panel — continuous width, not a collapse
169
+ * toggle. `ScSidebarResizeHandle` is the two-state one; reach for that when the
170
+ * gesture should snap between expanded and collapsed instead.
171
+ *
172
+ * The parent must be positioned (`position: relative`), since the handle is
173
+ * absolute against it.
174
+ *
175
+ * Accessibility: this is a `separator` with `aria-valuenow`, operable with
176
+ * arrows plus Home/End, because a pointer-only resize is unusable for anyone
177
+ * who cannot drag.
178
+ */
179
+ declare const ScPanelResizeHandle: ({ width, onWidthChange, min, max, edge, onWidthCommit, ariaLabel, step, className, style, }: IScPanelResizeHandleProps) => JSX.Element;
180
+
181
+ interface StreamoidPanelWidthOptions extends PanelWidthBounds {
182
+ /** localStorage key. Namespace it per panel, e.g. "artifax.assistant.width". */
183
+ storageKey: string;
184
+ /** Width before anything is stored. Clamped to the bounds. */
185
+ defaultWidth: number;
186
+ }
187
+ interface StreamoidPanelWidthState {
188
+ width: number;
189
+ /** Live updates during a drag — not written to storage. */
190
+ setWidth: (width: number) => void;
191
+ /** Write to storage. Call on drag end, not on every pointermove. */
192
+ commitWidth: (width: number) => void;
193
+ /** Back to `defaultWidth`, and forget the stored value. */
194
+ reset: () => void;
195
+ }
196
+ /**
197
+ * A panel width the user chose, remembered across reloads.
198
+ *
199
+ * Reads and writes are wrapped: `localStorage` throws outright in some contexts
200
+ * (a private window, site data blocked, a thumbnailer), and a resize handle is
201
+ * not worth taking the app down for. A failed read simply yields the default.
202
+ *
203
+ * Storage is written on COMMIT, not on every move — a drag fires pointermove
204
+ * dozens of times a second and each write is synchronous and blocking.
205
+ */
206
+ declare function useStreamoidPanelWidth({ storageKey, defaultWidth, min, max, }: StreamoidPanelWidthOptions): StreamoidPanelWidthState;
207
+
118
208
  interface IScBadgesProps {
119
209
  text?: string;
120
210
  variant?: "default" | "success" | "warning" | "error" | "info";
@@ -2074,4 +2164,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
2074
2164
  */
2075
2165
  declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
2076
2166
 
2077
- 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 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, 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, 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, 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, createStreamoidAppSwitchUtilities, formatSubAgentLabel, hasCollapsedMark, streamoidAppSwitchTagline, streamoidChangelogUrl, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
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 };