@streamoid/ui 0.6.29 → 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/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). The current app is expected to be excluded by the host. */
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,15 +115,112 @@ 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. The host
114
- * passes its product list (current app excluded) and its own logo lives in the
115
- * surrounding sidebar; only this content is identical everywhere. */
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
 
134
+ /** Bounds for a resizable panel, in px. */
135
+ interface PanelWidthBounds {
136
+ min: number;
137
+ max: number;
138
+ }
139
+ /** Which edge carries the handle — the edge that moves under the pointer. */
140
+ type PanelResizeEdge = "left" | "right";
141
+ interface PanelResizeGesture {
142
+ /** Panel width when the drag started, px. */
143
+ startWidth: number;
144
+ /** Pointer x when the drag started. */
145
+ startX: number;
146
+ edge: PanelResizeEdge;
147
+ }
148
+ declare function clampPanelWidth(width: number, { min, max }: PanelWidthBounds): number;
149
+ /**
150
+ * Width for a drag in progress.
151
+ *
152
+ * Absolute from the gesture's start, NOT accumulated per pointermove: summing
153
+ * deltas drifts, and it also means a pointer dragged past the clamp and back
154
+ * does not "stick" — the panel follows the pointer again the moment it returns
155
+ * inside the bounds, which is what makes the edge feel attached to the cursor.
156
+ *
157
+ * A handle on the LEFT edge grows the panel as the pointer moves left, so the
158
+ * delta is inverted for it.
159
+ */
160
+ declare function resolvePanelResize(gesture: PanelResizeGesture, clientX: number, bounds: PanelWidthBounds): number;
161
+ /** Step for keyboard resizing. A separator must be operable without a pointer. */
162
+ declare const PANEL_RESIZE_STEP_PX = 24;
163
+ /**
164
+ * Width after an arrow key. Returns the SAME width for keys that do not resize,
165
+ * so a caller can use identity to decide whether to preventDefault.
166
+ */
167
+ declare function resolvePanelResizeKey(width: number, key: string, edge: PanelResizeEdge, bounds: PanelWidthBounds, step?: number): number;
168
+
169
+ interface IScPanelResizeHandleProps extends PanelWidthBounds {
170
+ /** Current panel width in px — the handle is controlled. */
171
+ width: number;
172
+ onWidthChange: (width: number) => void;
173
+ /** Which edge the handle sits on. Default "right". */
174
+ edge?: PanelResizeEdge;
175
+ /** Fired once when a drag ends, for hosts that persist on commit only. */
176
+ onWidthCommit?: (width: number) => void;
177
+ ariaLabel?: string;
178
+ /** Keyboard increment. Default 24px. */
179
+ step?: number;
180
+ className?: string;
181
+ style?: CSSProperties;
182
+ }
183
+ /**
184
+ * Drag-to-resize edge for a side panel — continuous width, not a collapse
185
+ * toggle. `ScSidebarResizeHandle` is the two-state one; reach for that when the
186
+ * gesture should snap between expanded and collapsed instead.
187
+ *
188
+ * The parent must be positioned (`position: relative`), since the handle is
189
+ * absolute against it.
190
+ *
191
+ * Accessibility: this is a `separator` with `aria-valuenow`, operable with
192
+ * arrows plus Home/End, because a pointer-only resize is unusable for anyone
193
+ * who cannot drag.
194
+ */
195
+ declare const ScPanelResizeHandle: ({ width, onWidthChange, min, max, edge, onWidthCommit, ariaLabel, step, className, style, }: IScPanelResizeHandleProps) => JSX.Element;
196
+
197
+ interface StreamoidPanelWidthOptions extends PanelWidthBounds {
198
+ /** localStorage key. Namespace it per panel, e.g. "artifax.assistant.width". */
199
+ storageKey: string;
200
+ /** Width before anything is stored. Clamped to the bounds. */
201
+ defaultWidth: number;
202
+ }
203
+ interface StreamoidPanelWidthState {
204
+ width: number;
205
+ /** Live updates during a drag — not written to storage. */
206
+ setWidth: (width: number) => void;
207
+ /** Write to storage. Call on drag end, not on every pointermove. */
208
+ commitWidth: (width: number) => void;
209
+ /** Back to `defaultWidth`, and forget the stored value. */
210
+ reset: () => void;
211
+ }
212
+ /**
213
+ * A panel width the user chose, remembered across reloads.
214
+ *
215
+ * Reads and writes are wrapped: `localStorage` throws outright in some contexts
216
+ * (a private window, site data blocked, a thumbnailer), and a resize handle is
217
+ * not worth taking the app down for. A failed read simply yields the default.
218
+ *
219
+ * Storage is written on COMMIT, not on every move — a drag fires pointermove
220
+ * dozens of times a second and each write is synchronous and blocking.
221
+ */
222
+ declare function useStreamoidPanelWidth({ storageKey, defaultWidth, min, max, }: StreamoidPanelWidthOptions): StreamoidPanelWidthState;
223
+
118
224
  interface IScBadgesProps {
119
225
  text?: string;
120
226
  variant?: "default" | "success" | "warning" | "error" | "info";
@@ -705,6 +811,72 @@ interface StreamoidSidebarPreferenceState {
705
811
  declare function useStreamoidThemePreference(options?: StreamoidThemePreferenceOptions): StreamoidThemePreferenceState;
706
812
  declare function useStreamoidSidebarPreference(options?: StreamoidSidebarPreferenceOptions): StreamoidSidebarPreferenceState;
707
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
+
708
880
  type StreamoidSidebarPopoverPlacement = "top-right" | "bottom-right";
709
881
  interface StreamoidSidebarPopoverPositionOptions {
710
882
  /** Position the panel beside the top or bottom of the visible sidebar card. */
@@ -2074,4 +2246,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
2074
2246
  */
2075
2247
  declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
2076
2248
 
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 };
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). The current app is expected to be excluded by the host. */
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,15 +115,112 @@ 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. The host
114
- * passes its product list (current app excluded) and its own logo lives in the
115
- * surrounding sidebar; only this content is identical everywhere. */
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
 
134
+ /** Bounds for a resizable panel, in px. */
135
+ interface PanelWidthBounds {
136
+ min: number;
137
+ max: number;
138
+ }
139
+ /** Which edge carries the handle — the edge that moves under the pointer. */
140
+ type PanelResizeEdge = "left" | "right";
141
+ interface PanelResizeGesture {
142
+ /** Panel width when the drag started, px. */
143
+ startWidth: number;
144
+ /** Pointer x when the drag started. */
145
+ startX: number;
146
+ edge: PanelResizeEdge;
147
+ }
148
+ declare function clampPanelWidth(width: number, { min, max }: PanelWidthBounds): number;
149
+ /**
150
+ * Width for a drag in progress.
151
+ *
152
+ * Absolute from the gesture's start, NOT accumulated per pointermove: summing
153
+ * deltas drifts, and it also means a pointer dragged past the clamp and back
154
+ * does not "stick" — the panel follows the pointer again the moment it returns
155
+ * inside the bounds, which is what makes the edge feel attached to the cursor.
156
+ *
157
+ * A handle on the LEFT edge grows the panel as the pointer moves left, so the
158
+ * delta is inverted for it.
159
+ */
160
+ declare function resolvePanelResize(gesture: PanelResizeGesture, clientX: number, bounds: PanelWidthBounds): number;
161
+ /** Step for keyboard resizing. A separator must be operable without a pointer. */
162
+ declare const PANEL_RESIZE_STEP_PX = 24;
163
+ /**
164
+ * Width after an arrow key. Returns the SAME width for keys that do not resize,
165
+ * so a caller can use identity to decide whether to preventDefault.
166
+ */
167
+ declare function resolvePanelResizeKey(width: number, key: string, edge: PanelResizeEdge, bounds: PanelWidthBounds, step?: number): number;
168
+
169
+ interface IScPanelResizeHandleProps extends PanelWidthBounds {
170
+ /** Current panel width in px — the handle is controlled. */
171
+ width: number;
172
+ onWidthChange: (width: number) => void;
173
+ /** Which edge the handle sits on. Default "right". */
174
+ edge?: PanelResizeEdge;
175
+ /** Fired once when a drag ends, for hosts that persist on commit only. */
176
+ onWidthCommit?: (width: number) => void;
177
+ ariaLabel?: string;
178
+ /** Keyboard increment. Default 24px. */
179
+ step?: number;
180
+ className?: string;
181
+ style?: CSSProperties;
182
+ }
183
+ /**
184
+ * Drag-to-resize edge for a side panel — continuous width, not a collapse
185
+ * toggle. `ScSidebarResizeHandle` is the two-state one; reach for that when the
186
+ * gesture should snap between expanded and collapsed instead.
187
+ *
188
+ * The parent must be positioned (`position: relative`), since the handle is
189
+ * absolute against it.
190
+ *
191
+ * Accessibility: this is a `separator` with `aria-valuenow`, operable with
192
+ * arrows plus Home/End, because a pointer-only resize is unusable for anyone
193
+ * who cannot drag.
194
+ */
195
+ declare const ScPanelResizeHandle: ({ width, onWidthChange, min, max, edge, onWidthCommit, ariaLabel, step, className, style, }: IScPanelResizeHandleProps) => JSX.Element;
196
+
197
+ interface StreamoidPanelWidthOptions extends PanelWidthBounds {
198
+ /** localStorage key. Namespace it per panel, e.g. "artifax.assistant.width". */
199
+ storageKey: string;
200
+ /** Width before anything is stored. Clamped to the bounds. */
201
+ defaultWidth: number;
202
+ }
203
+ interface StreamoidPanelWidthState {
204
+ width: number;
205
+ /** Live updates during a drag — not written to storage. */
206
+ setWidth: (width: number) => void;
207
+ /** Write to storage. Call on drag end, not on every pointermove. */
208
+ commitWidth: (width: number) => void;
209
+ /** Back to `defaultWidth`, and forget the stored value. */
210
+ reset: () => void;
211
+ }
212
+ /**
213
+ * A panel width the user chose, remembered across reloads.
214
+ *
215
+ * Reads and writes are wrapped: `localStorage` throws outright in some contexts
216
+ * (a private window, site data blocked, a thumbnailer), and a resize handle is
217
+ * not worth taking the app down for. A failed read simply yields the default.
218
+ *
219
+ * Storage is written on COMMIT, not on every move — a drag fires pointermove
220
+ * dozens of times a second and each write is synchronous and blocking.
221
+ */
222
+ declare function useStreamoidPanelWidth({ storageKey, defaultWidth, min, max, }: StreamoidPanelWidthOptions): StreamoidPanelWidthState;
223
+
118
224
  interface IScBadgesProps {
119
225
  text?: string;
120
226
  variant?: "default" | "success" | "warning" | "error" | "info";
@@ -705,6 +811,72 @@ interface StreamoidSidebarPreferenceState {
705
811
  declare function useStreamoidThemePreference(options?: StreamoidThemePreferenceOptions): StreamoidThemePreferenceState;
706
812
  declare function useStreamoidSidebarPreference(options?: StreamoidSidebarPreferenceOptions): StreamoidSidebarPreferenceState;
707
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
+
708
880
  type StreamoidSidebarPopoverPlacement = "top-right" | "bottom-right";
709
881
  interface StreamoidSidebarPopoverPositionOptions {
710
882
  /** Position the panel beside the top or bottom of the visible sidebar card. */
@@ -2074,4 +2246,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
2074
2246
  */
2075
2247
  declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
2076
2248
 
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 };
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 };