@streamoid/ui 0.6.26 → 0.6.27

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.
@@ -164,7 +164,7 @@ theme-aware (dark on `:root`, light override) — never hardcode a colour.
164
164
 
165
165
  - **`CreditWarningBanner`** — use when you need the "you're nearly out of credits" nudge in a sidebar rail, in either expanded or collapsed form.
166
166
  - **`ScAppSwitchPanel`** — use when you need the "go to another Streamoid product" list — in `StreamoidSidebar`'s `switchPanel`, or in your own portalled flyout.
167
- - also documented here: `ScAppSwitchRow`, `createStreamoidAppSwitchUtilities`, `STREAMOID_CHANGELOG_URL`, `STREAMOID_STATUS_PAGE_URL`
167
+ - also documented here: `ScAppSwitchRow`, `createStreamoidAppSwitchUtilities`, `streamoidAppSwitchTagline`, `STREAMOID_CHANGELOG_URL`, `STREAMOID_STATUS_PAGE_URL`
168
168
  - **`ScArtifaxSidebar`** — use when you are working on the Artifax (or Tactix) shell, or you need a sidebar whose sections the user can collapse.
169
169
  - **`ScAskAgentButton`** — use when you need the assistant-panel CTA **outside** a DS sidebar. Inside one, use the sidebar's `assistantCta` prop instead.
170
170
  - also documented here: `ScAskAgentSlot`, `AssistantCta`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  component: ScAppSwitchPanel
3
- also_exports: [ScAppSwitchRow, createStreamoidAppSwitchUtilities, STREAMOID_CHANGELOG_URL, STREAMOID_STATUS_PAGE_URL]
3
+ also_exports: [ScAppSwitchRow, createStreamoidAppSwitchUtilities, streamoidAppSwitchTagline, STREAMOID_CHANGELOG_URL, STREAMOID_STATUS_PAGE_URL]
4
4
  package: "@streamoid/ui"
5
5
  category: sidebar
6
6
  status: stable
@@ -30,8 +30,9 @@ card, no border and no background: the surrounding sidebar or flyout supplies th
30
30
  - **Four things that will bite you:**
31
31
  1. It **re-sorts your array** into a canonical product order. Your ordering is
32
32
  discarded.
33
- 2. If a product matches an embedded wordmark, `name` **and** `description` are
34
- **not rendered at all** the wordmark replaces them.
33
+ 2. Known products render the **canonical tagline** (e.g. "for buyers and
34
+ planners"), not `description` and not the product `name`. Do not copy that
35
+ map into a host.
35
36
  3. Matching is a **substring** test over `` `${key} ${name}`.toLowerCase() ``. A key
36
37
  containing `"cxo"` or `"streamoid"` gets the Streamoid wordmark.
37
38
  4. It does **not** exclude the current app. That's the host's job.
@@ -90,19 +91,19 @@ import "@streamoid/ui/dist/index.css"; // once, at your app root
90
91
  |---|---|---|
91
92
  | `key` | `string` | React key **and** half of the wordmark-matching string. |
92
93
  | `name` | `string` | Matching input, and the fallback label. ⚠️ **Not rendered** when a wordmark matches. Always used for the row's `aria-label` (`"Switch to {name}"`). |
93
- | `description` | `string` | Optional tagline. ⚠️ **Only rendered for products with no embedded wordmark.** |
94
+ | `description` | `string` | Optional. Ignored for known products (the panel uses the canonical tagline). Shown only for unknown products. |
94
95
  | `onSelect` | `() => void` | Row click. |
95
96
 
96
97
  ### Wordmark matching + canonical order
97
98
 
98
99
  | Order | Matches (substring, case-insensitive, on `key + " " + name`) | Renders |
99
100
  |---|---|---|
100
- | 1 | `tactix` | Tactix wordmark (100×34) |
101
- | 2 | `artifax`, `design studio` | Artifax wordmark (116×32) |
102
- | 3 | `photogenix`, `photo studio` | Photogenix wordmark (142×36) |
103
- | 4 | `catalogix`, `catalog studio` | Catalogix wordmark (94×36) |
104
- | 5 | `streamoid`, `cxo` | Streamoid wordmark (110×34) |
105
- | last | anything else | `name` (16px semibold) + `description` (14px tertiary) |
101
+ | 1 | `tactix` | Tactix wordmark + "for buyers and planners" |
102
+ | 2 | `artifax`, `design studio` | Artifax wordmark + "for design and development" |
103
+ | 3 | `photogenix`, `photo studio` | Photogenix wordmark + "for studio and content" |
104
+ | 4 | `catalogix`, `catalog studio` | Catalogix wordmark + "for catalog and ecommerce" |
105
+ | 5 | `streamoid`, `cxo` | Streamoid wordmark + "for CXOs" |
106
+ | last | anything else | `name` (16px semibold) + host `description` (14px tertiary) |
106
107
 
107
108
  ### Recipes
108
109
 
@@ -121,7 +122,7 @@ const apps: ScAppSwitchItem[] = serviceCatalog
121
122
  .map((s) => ({
122
123
  key: s.key,
123
124
  name: s.name,
124
- description: s.desc, // only shows for unknown products
125
+ description: s.desc, // ignored for known products; used only for unknowns
125
126
  onSelect: () => window.open(s.pageUrl, "_blank"),
126
127
  }));
127
128
 
@@ -198,8 +199,9 @@ createPortal(
198
199
  - **No chrome, deliberately.** Because it ships no card or border, the identical panel
199
200
  drops into a sidebar drop-down, a 240px collapsed flyout and a portalled overlay
200
201
  without fighting the host's surface.
201
- - **One place to add a product.** New product ⇒ one entry in the `WORDMARKS` table,
202
- and it appears, in the right position, in all four apps.
202
+ - **One place to add a product.** New product ⇒ one entry in `PRODUCT_BRANDS`
203
+ (match keys, wordmark, tagline) and it appears, in the right position, with
204
+ the right subtitle, in every app.
203
205
 
204
206
  ---
205
207
 
@@ -208,14 +210,15 @@ createPortal(
208
210
  **1. Your order is discarded.** `ordered = [...apps].sort((a, b) => orderIndex(a) - orderIndex(b))`.
209
211
  Sorting the array before passing it is wasted work; you cannot pin a product to the top.
210
212
 
211
- **2. A matched wordmark hides `name` and `description`.** The row renders either the
212
- mask wordmark **or** the name/description block, never both.
213
+ **2. Known products ignore host `description`.** The row shows the wordmark plus
214
+ the canonical tagline. CMS copy like "Design generation" is discarded. Pass
215
+ `description` only for products that are not in the brand table.
213
216
 
214
217
  ```tsx
215
- // POINTLESS — "Design generation" is never shown; "artifax" matches the wordmark
218
+ // "Design generation" is ignored; the row shows "for design and development"
216
219
  <ScAppSwitchPanel apps={[{ key: "artifax", name: "Artifax", description: "Design generation", onSelect }]} />
217
220
 
218
- // description only surfaces for products with no embedded mark
221
+ // unknown product host description is shown
219
222
  <ScAppSwitchPanel apps={[{ key: "insights", name: "Insights", description: "Reporting", onSelect }]} />
220
223
  ```
221
224
 
@@ -162,6 +162,7 @@
162
162
  "alsoExports": [
163
163
  "ScAppSwitchRow",
164
164
  "createStreamoidAppSwitchUtilities",
165
+ "streamoidAppSwitchTagline",
165
166
  "STREAMOID_CHANGELOG_URL",
166
167
  "STREAMOID_STATUS_PAGE_URL"
167
168
  ],
@@ -4867,6 +4868,10 @@
4867
4868
  "documentedIn": "ScAppSwitchPanel",
4868
4869
  "doc": "ScAppSwitchPanel.md"
4869
4870
  },
4871
+ "streamoidAppSwitchTagline": {
4872
+ "documentedIn": "ScAppSwitchPanel",
4873
+ "doc": "ScAppSwitchPanel.md"
4874
+ },
4870
4875
  "STREAMOID_CHANGELOG_URL": {
4871
4876
  "documentedIn": "ScAppSwitchPanel",
4872
4877
  "doc": "ScAppSwitchPanel.md"
package/dist/index.d.mts CHANGED
@@ -55,7 +55,8 @@ interface ScAppSwitchItem {
55
55
  key: string;
56
56
  /** Product name — used to match the product wordmark (and as fallback text). */
57
57
  name: string;
58
- /** Editable subtitle supplied by the host app or its CMS. */
58
+ /** Subtitle under the wordmark. Known products ignore this and use the
59
+ * canonical tagline from `PRODUCT_BRANDS`. Unknown products render it. */
59
60
  description?: string;
60
61
  onSelect: () => void;
61
62
  }
@@ -95,7 +96,10 @@ declare const STREAMOID_CHANGELOG_URL = "https://doc.clickup.com/3414296/p/h/386
95
96
  declare const STREAMOID_STATUS_PAGE_URL = "https://status.streamoid.com/";
96
97
  /** Builds the utility rows shared by every Streamoid app switcher. */
97
98
  declare function createStreamoidAppSwitchUtilities(utilities: ScAppSwitchUtilities): ScAppSwitchSystemItem[];
98
- /** One switch row: product-only wordmark + the host-supplied subtitle. */
99
+ /** Canonical switcher tagline for a known product. Hosts should not copy this
100
+ * map — `ScAppSwitchRow` applies it. Unknown products return undefined. */
101
+ declare function streamoidAppSwitchTagline(key: string, name: string): string | undefined;
102
+ /** One switch row: product wordmark + canonical tagline. */
99
103
  declare const ScAppSwitchRow: ({ item, }: {
100
104
  item: ScAppSwitchItem;
101
105
  }) => JSX.Element;
@@ -2049,4 +2053,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
2049
2053
  */
2050
2054
  declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
2051
2055
 
2052
- 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 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_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, 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, 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, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
2056
+ 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 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_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, 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, 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, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
package/dist/index.d.ts CHANGED
@@ -55,7 +55,8 @@ interface ScAppSwitchItem {
55
55
  key: string;
56
56
  /** Product name — used to match the product wordmark (and as fallback text). */
57
57
  name: string;
58
- /** Editable subtitle supplied by the host app or its CMS. */
58
+ /** Subtitle under the wordmark. Known products ignore this and use the
59
+ * canonical tagline from `PRODUCT_BRANDS`. Unknown products render it. */
59
60
  description?: string;
60
61
  onSelect: () => void;
61
62
  }
@@ -95,7 +96,10 @@ declare const STREAMOID_CHANGELOG_URL = "https://doc.clickup.com/3414296/p/h/386
95
96
  declare const STREAMOID_STATUS_PAGE_URL = "https://status.streamoid.com/";
96
97
  /** Builds the utility rows shared by every Streamoid app switcher. */
97
98
  declare function createStreamoidAppSwitchUtilities(utilities: ScAppSwitchUtilities): ScAppSwitchSystemItem[];
98
- /** One switch row: product-only wordmark + the host-supplied subtitle. */
99
+ /** Canonical switcher tagline for a known product. Hosts should not copy this
100
+ * map — `ScAppSwitchRow` applies it. Unknown products return undefined. */
101
+ declare function streamoidAppSwitchTagline(key: string, name: string): string | undefined;
102
+ /** One switch row: product wordmark + canonical tagline. */
99
103
  declare const ScAppSwitchRow: ({ item, }: {
100
104
  item: ScAppSwitchItem;
101
105
  }) => JSX.Element;
@@ -2049,4 +2053,4 @@ interface IScProfilePopupProps extends React.HTMLAttributes<HTMLDivElement> {
2049
2053
  */
2050
2054
  declare const ScProfilePopup: React$1.ForwardRefExoticComponent<IScProfilePopupProps & React$1.RefAttributes<HTMLDivElement>>;
2051
2055
 
2052
- 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 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_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, 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, 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, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
2056
+ 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 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_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, 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, 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, useStreamoidSidebarPopoverPosition, useStreamoidSidebarPreference, useStreamoidThemePreference };
package/dist/index.js CHANGED
@@ -160,6 +160,7 @@ __export(index_exports, {
160
160
  createStreamoidAppSwitchUtilities: () => createStreamoidAppSwitchUtilities,
161
161
  formatSubAgentLabel: () => formatSubAgentLabel,
162
162
  hasCollapsedMark: () => hasCollapsedMark,
163
+ streamoidAppSwitchTagline: () => streamoidAppSwitchTagline,
163
164
  useStreamoidSidebarPopoverPosition: () => useStreamoidSidebarPopoverPosition,
164
165
  useStreamoidSidebarPreference: () => useStreamoidSidebarPreference,
165
166
  useStreamoidThemePreference: () => useStreamoidThemePreference
@@ -427,11 +428,23 @@ var T = {
427
428
  font: "var(--font-family-font-family-body, 'Inter', sans-serif)"
428
429
  };
429
430
  var PRODUCT_BRANDS = [
430
- { match: ["tactix"], product: "tactix" },
431
- { match: ["artifax", "design studio"], product: "artifax" },
432
- { match: ["photogenix", "photo studio"], product: "photogenix" },
433
- { match: ["catalogix", "catalog studio"], product: "catalogix" },
434
- { match: ["streamoid", "cxo"], streamoid: true }
431
+ { match: ["tactix"], product: "tactix", tagline: "for buyers and planners" },
432
+ {
433
+ match: ["artifax", "design studio"],
434
+ product: "artifax",
435
+ tagline: "for design and development"
436
+ },
437
+ {
438
+ match: ["photogenix", "photo studio"],
439
+ product: "photogenix",
440
+ tagline: "for studio and content"
441
+ },
442
+ {
443
+ match: ["catalogix", "catalog studio"],
444
+ product: "catalogix",
445
+ tagline: "for catalog and ecommerce"
446
+ },
447
+ { match: ["streamoid", "cxo"], streamoid: true, tagline: "for CXOs" }
435
448
  ];
436
449
  function productBrandIndex(key, name) {
437
450
  const k = `${key} ${name}`.toLowerCase();
@@ -443,6 +456,12 @@ function matchProductBrand(key, name) {
443
456
  const index = productBrandIndex(key, name);
444
457
  return index === -1 ? null : PRODUCT_BRANDS[index];
445
458
  }
459
+ function streamoidAppSwitchTagline(key, name) {
460
+ return matchProductBrand(key, name)?.tagline;
461
+ }
462
+ function rowDescription(item, brand) {
463
+ return brand?.tagline ?? item.description;
464
+ }
446
465
  function orderIndex(item) {
447
466
  const index = productBrandIndex(item.key, item.name);
448
467
  return index === -1 ? PRODUCT_BRANDS.length : index;
@@ -454,6 +473,7 @@ var ScAppSwitchRow = ({
454
473
  const [focused, setFocused] = (0, import_react2.useState)(false);
455
474
  const interactive = hover || focused;
456
475
  const brand = matchProductBrand(item.key, item.name);
476
+ const description = rowDescription(item, brand);
457
477
  const labelColor = interactive ? T.primary : T.secondary;
458
478
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
459
479
  "button",
@@ -523,7 +543,7 @@ var ScAppSwitchRow = ({
523
543
  ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ScStreamoidWordmark, { width: 110, height: 16, color: labelColor })
524
544
  }
525
545
  ),
526
- item.description ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
546
+ description ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
527
547
  "span",
528
548
  {
529
549
  style: {
@@ -532,7 +552,7 @@ var ScAppSwitchRow = ({
532
552
  lineHeight: "var(--line-height-line-height-xs, 16px)",
533
553
  whiteSpace: "nowrap"
534
554
  },
535
- children: item.description
555
+ children: description
536
556
  }
537
557
  ) : null
538
558
  ]
@@ -550,7 +570,7 @@ var ScAppSwitchRow = ({
550
570
  children: item.name
551
571
  }
552
572
  ),
553
- item.description ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
573
+ description ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
554
574
  "span",
555
575
  {
556
576
  style: {
@@ -558,7 +578,7 @@ var ScAppSwitchRow = ({
558
578
  fontSize: "var(--font-size-font-size-sm, 14px)",
559
579
  lineHeight: "var(--line-height-line-height-sm, 20px)"
560
580
  },
561
- children: item.description
581
+ children: description
562
582
  }
563
583
  ) : null
564
584
  ] })
package/dist/index.mjs CHANGED
@@ -259,11 +259,23 @@ var T = {
259
259
  font: "var(--font-family-font-family-body, 'Inter', sans-serif)"
260
260
  };
261
261
  var PRODUCT_BRANDS = [
262
- { match: ["tactix"], product: "tactix" },
263
- { match: ["artifax", "design studio"], product: "artifax" },
264
- { match: ["photogenix", "photo studio"], product: "photogenix" },
265
- { match: ["catalogix", "catalog studio"], product: "catalogix" },
266
- { match: ["streamoid", "cxo"], streamoid: true }
262
+ { match: ["tactix"], product: "tactix", tagline: "for buyers and planners" },
263
+ {
264
+ match: ["artifax", "design studio"],
265
+ product: "artifax",
266
+ tagline: "for design and development"
267
+ },
268
+ {
269
+ match: ["photogenix", "photo studio"],
270
+ product: "photogenix",
271
+ tagline: "for studio and content"
272
+ },
273
+ {
274
+ match: ["catalogix", "catalog studio"],
275
+ product: "catalogix",
276
+ tagline: "for catalog and ecommerce"
277
+ },
278
+ { match: ["streamoid", "cxo"], streamoid: true, tagline: "for CXOs" }
267
279
  ];
268
280
  function productBrandIndex(key, name) {
269
281
  const k = `${key} ${name}`.toLowerCase();
@@ -275,6 +287,12 @@ function matchProductBrand(key, name) {
275
287
  const index = productBrandIndex(key, name);
276
288
  return index === -1 ? null : PRODUCT_BRANDS[index];
277
289
  }
290
+ function streamoidAppSwitchTagline(key, name) {
291
+ return matchProductBrand(key, name)?.tagline;
292
+ }
293
+ function rowDescription(item, brand) {
294
+ return brand?.tagline ?? item.description;
295
+ }
278
296
  function orderIndex(item) {
279
297
  const index = productBrandIndex(item.key, item.name);
280
298
  return index === -1 ? PRODUCT_BRANDS.length : index;
@@ -286,6 +304,7 @@ var ScAppSwitchRow = ({
286
304
  const [focused, setFocused] = useState(false);
287
305
  const interactive = hover || focused;
288
306
  const brand = matchProductBrand(item.key, item.name);
307
+ const description = rowDescription(item, brand);
289
308
  const labelColor = interactive ? T.primary : T.secondary;
290
309
  return /* @__PURE__ */ jsxs4(
291
310
  "button",
@@ -355,7 +374,7 @@ var ScAppSwitchRow = ({
355
374
  ) : /* @__PURE__ */ jsx5(ScStreamoidWordmark, { width: 110, height: 16, color: labelColor })
356
375
  }
357
376
  ),
358
- item.description ? /* @__PURE__ */ jsx5(
377
+ description ? /* @__PURE__ */ jsx5(
359
378
  "span",
360
379
  {
361
380
  style: {
@@ -364,7 +383,7 @@ var ScAppSwitchRow = ({
364
383
  lineHeight: "var(--line-height-line-height-xs, 16px)",
365
384
  whiteSpace: "nowrap"
366
385
  },
367
- children: item.description
386
+ children: description
368
387
  }
369
388
  ) : null
370
389
  ]
@@ -382,7 +401,7 @@ var ScAppSwitchRow = ({
382
401
  children: item.name
383
402
  }
384
403
  ),
385
- item.description ? /* @__PURE__ */ jsx5(
404
+ description ? /* @__PURE__ */ jsx5(
386
405
  "span",
387
406
  {
388
407
  style: {
@@ -390,7 +409,7 @@ var ScAppSwitchRow = ({
390
409
  fontSize: "var(--font-size-font-size-sm, 14px)",
391
410
  lineHeight: "var(--line-height-line-height-sm, 20px)"
392
411
  },
393
- children: item.description
412
+ children: description
394
413
  }
395
414
  ) : null
396
415
  ] })
@@ -11987,6 +12006,7 @@ export {
11987
12006
  createStreamoidAppSwitchUtilities,
11988
12007
  formatSubAgentLabel,
11989
12008
  hasCollapsedMark,
12009
+ streamoidAppSwitchTagline,
11990
12010
  useStreamoidSidebarPopoverPosition,
11991
12011
  useStreamoidSidebarPreference,
11992
12012
  useStreamoidThemePreference
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamoid/ui",
3
- "version": "0.6.26",
3
+ "version": "0.6.27",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",