@xenide-io/the-old-ui-theme 0.6.14 → 0.7.1

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.js CHANGED
@@ -480,7 +480,9 @@ var IconPlayCircle = createIconBase({
480
480
  )
481
481
  });
482
482
  var IconGridView = createIconBase({
483
- paths: fill("M3 3v8h8V3H3zm6 6H5V5h4v4zm-6 4v8h8v-8H3zm6 6H5v-4h4v4zm4-16v8h8V3h-8zm6 6h-4V5h4v4zm-6 4v8h8v-8h-8zm6 6h-4v-4h4v4z")
483
+ paths: fill(
484
+ "M3,3v8h8V3H3z M9,9H5V5h4V9z M3,13v8h8v-8H3z M9,19H5v-4h4V19z M13,3v8h8V3H13z M19,9h-4V5h4V9z M13,13v8h8v-8H13z M19,19h-4v-4h4V19z"
485
+ )
484
486
  });
485
487
  var IconListView = createIconBase({
486
488
  paths: fill(
package/dist/index.mjs CHANGED
@@ -9,6 +9,8 @@ import {
9
9
  AvatarGroup,
10
10
  Badge,
11
11
  Button,
12
+ ButtonChrome,
13
+ CANONICAL_ICONS,
12
14
  Calendar,
13
15
  Caption,
14
16
  Card,
@@ -18,6 +20,11 @@ import {
18
20
  DEFAULT_THEME_ID,
19
21
  Display,
20
22
  Dot,
23
+ DropdownButton,
24
+ DropdownItem,
25
+ DropdownMenu,
26
+ DropdownRadioGroup,
27
+ DropdownRadioItem,
21
28
  EmptyState,
22
29
  FileUpload,
23
30
  FilterBar,
@@ -29,49 +36,6 @@ import {
29
36
  H3,
30
37
  H4,
31
38
  H5,
32
- Input,
33
- Label,
34
- Lead,
35
- Link,
36
- Loader,
37
- LoadingState,
38
- Modal,
39
- Mono,
40
- Overline,
41
- P,
42
- Panel,
43
- Progress,
44
- Radio,
45
- SearchInput,
46
- SectionTitle,
47
- SegmentedControl,
48
- Select,
49
- SettingsLayout,
50
- SettingsNav,
51
- Skeleton,
52
- Small,
53
- SortMenu,
54
- Spinner,
55
- Stat,
56
- THEMES,
57
- THEME_GROUPS,
58
- THEME_INIT_SCRIPT,
59
- Table,
60
- Textarea,
61
- Toggle,
62
- getTheme,
63
- isThemeId,
64
- persistTheme,
65
- readStoredTheme
66
- } from "./chunk-VOCHIR3W.mjs";
67
- import {
68
- ButtonChrome,
69
- CANONICAL_ICONS,
70
- DropdownButton,
71
- DropdownItem,
72
- DropdownMenu,
73
- DropdownRadioGroup,
74
- DropdownRadioItem,
75
39
  IconActivity,
76
40
  IconAreaChart,
77
41
  IconArrowDown,
@@ -150,14 +114,48 @@ import {
150
114
  IconUpload,
151
115
  IconVolume,
152
116
  IconVolumeOff,
117
+ Input,
118
+ Label,
119
+ Lead,
120
+ Link,
121
+ Loader,
122
+ LoadingState,
123
+ Modal,
124
+ Mono,
153
125
  OLD_UI_ICONS,
126
+ Overline,
127
+ P,
154
128
  PH_ICONS,
155
129
  PH_ICON_ALIASES,
130
+ Panel,
131
+ Progress,
132
+ Radio,
133
+ SearchInput,
134
+ SectionTitle,
135
+ SegmentedControl,
136
+ Select,
137
+ SettingsLayout,
138
+ SettingsNav,
139
+ Skeleton,
140
+ Small,
141
+ SortMenu,
142
+ Spinner,
143
+ Stat,
144
+ THEMES,
145
+ THEME_GROUPS,
146
+ THEME_INIT_SCRIPT,
147
+ Table,
148
+ Textarea,
149
+ Toggle,
156
150
  Tooltip,
157
151
  TooltipProvider,
158
152
  createIconBase,
159
- createIconBasePath
160
- } from "./chunk-E5ZBQYEX.mjs";
153
+ createIconBasePath,
154
+ getTheme,
155
+ isThemeId,
156
+ persistTheme,
157
+ readStoredTheme
158
+ } from "./chunk-YB4TBWHV.mjs";
161
159
  import "./chunk-FWCSY2DS.mjs";
162
160
  export {
163
161
  Accordion,
package/dist/suite.d.mts CHANGED
@@ -170,7 +170,6 @@ type SuiteSpinnerComponent = ComponentType<{
170
170
 
171
171
  declare function appSwitcherTriggerClass(open: boolean, collapsed?: boolean): string;
172
172
  declare function appSwitcherMarkClass(): string;
173
- /** No sticky Radix highlight while waiting for cross-app redirect. */
174
173
  declare function appSwitcherMenuItemClass(): string;
175
174
  declare function AppSwitcherMark({ children, collapsed, }: {
176
175
  children: ReactNode;
@@ -186,6 +185,10 @@ interface SuiteAppEntry {
186
185
  description: string;
187
186
  icon: string;
188
187
  }
188
+ interface SuiteAppSelectOptions {
189
+ /** Open the handoff in a separate browser tab when requested by a caller. */
190
+ newTab?: boolean;
191
+ }
189
192
  /**
190
193
  * Suite app switcher dropdown. Apps inject their brand mark/title, the
191
194
  * visible app list, the cross-app navigation handler, and the theme
@@ -194,7 +197,7 @@ interface SuiteAppEntry {
194
197
  declare function AppSwitcher({ apps, currentApp, onSelect, mark, title, collapsed, dropdownMenu: DropdownMenu, dropdownItem: DropdownItem, triggerId, triggerDataTest, }: {
195
198
  apps: SuiteAppEntry[];
196
199
  currentApp: string;
197
- onSelect: (app: SuiteAppEntry) => void;
200
+ onSelect: (app: SuiteAppEntry, options?: SuiteAppSelectOptions) => void;
198
201
  mark: ReactNode;
199
202
  title: ReactNode;
200
203
  collapsed?: boolean;
@@ -984,4 +987,27 @@ interface SuiteAppLayoutProps {
984
987
  */
985
988
  declare function SuiteAppLayout({ sidebar, children, mobileHeader, bottomNav, sidebarWidth, collapsed, lockMainScroll, onStartResize, onResizeBy, onResetWidth, className, }: SuiteAppLayoutProps): react.JSX.Element;
986
989
 
987
- export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, SIDEBAR_COLLAPSE_THRESHOLD, SIDEBAR_DEFAULT_WIDTH, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_EXPANDED_WIDTH, SIDEBAR_RAIL_WIDTH, SUITE_APPS, SUITE_APP_MAP, SUITE_ASK_AI_OPEN_KEY, SUITE_ASK_AI_OPEN_QUERY, SUITE_GLYPHS, SUITE_ICON_NAMES, SUITE_MUTATED_EVENT, SUITE_OPEN_ASK_AI_EVENT, SUITE_SIDEBAR_WIDTH_COOKIE, SUITE_SIDEBAR_WIDTH_KEY, SUITE_SPRINGS, SourceAppGlyph, type SuiteAccentSlug, type SuiteAiAction, type SuiteAiActionStatus, type SuiteAiChatMessage, SuiteAiPanel, type SuiteAiPreset, type SuiteAppAccent, type SuiteAppDefinition, type SuiteAppEntry, SuiteAppIcon, type SuiteAppIconProps, SuiteAppLayout, type SuiteAppLayoutProps, type SuiteAppSlug, SuiteAppStrip, type SuiteAskAiOpenDetail, SuiteBottomNav, type SuiteBottomNavItem, SuiteBreadcrumbs, type SuiteBreadcrumbsProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, type SuiteResolvedTheme, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, type SuiteTheme, type SuiteThemeConfig, type SuiteThemeContextValue, SuiteThemeProvider, SuiteToolbar, SuiteUserMenu, type SuiteUserMenuProps, type SuiteWorkspaceEntry, type SuiteWorkspaceGroup, SuiteWorkspaceSwitcher, TURTLETIME_TIMER_MUTATED_EVENT, TodayAskAiCard, TodayCalibrating, TodayEmptyAction, TodayEmptyState, TodayHero, TodayLayout, TodayPageFrame, TodayPanel, type TodayPrimaryAccent, TodayPrimaryAction, TodaySection, TodayTimeIcon, TodayTopBar, appSwitcherMarkClass, appSwitcherMenuItemClass, appSwitcherTriggerClass, classifySuiteHref, cn, consumePendingAskAiPrompt, consumeSuiteAskAiOpenFromLocation, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth, useSuiteTheme };
990
+ interface SuiteIntegrationPickerItem {
991
+ id: string;
992
+ label: string;
993
+ description: string;
994
+ icon?: ReactNode;
995
+ categories?: string[];
996
+ connecting?: boolean;
997
+ unavailableReason?: string;
998
+ }
999
+ interface SuiteIntegrationPickerProps {
1000
+ open: boolean;
1001
+ items: SuiteIntegrationPickerItem[];
1002
+ connectedItems?: SuiteIntegrationPickerItem[];
1003
+ loading?: boolean;
1004
+ onClose: () => void;
1005
+ onConnect: (item: SuiteIntegrationPickerItem) => void;
1006
+ onDisconnect?: (item: SuiteIntegrationPickerItem) => void;
1007
+ title?: string;
1008
+ description?: string;
1009
+ dataTest?: string;
1010
+ }
1011
+ declare function SuiteIntegrationPicker({ open, items, connectedItems, loading, onClose, onConnect, onDisconnect, title, description, dataTest, }: SuiteIntegrationPickerProps): react.JSX.Element;
1012
+
1013
+ export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, SIDEBAR_COLLAPSE_THRESHOLD, SIDEBAR_DEFAULT_WIDTH, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_EXPANDED_WIDTH, SIDEBAR_RAIL_WIDTH, SUITE_APPS, SUITE_APP_MAP, SUITE_ASK_AI_OPEN_KEY, SUITE_ASK_AI_OPEN_QUERY, SUITE_GLYPHS, SUITE_ICON_NAMES, SUITE_MUTATED_EVENT, SUITE_OPEN_ASK_AI_EVENT, SUITE_SIDEBAR_WIDTH_COOKIE, SUITE_SIDEBAR_WIDTH_KEY, SUITE_SPRINGS, SourceAppGlyph, type SuiteAccentSlug, type SuiteAiAction, type SuiteAiActionStatus, type SuiteAiChatMessage, SuiteAiPanel, type SuiteAiPreset, type SuiteAppAccent, type SuiteAppDefinition, type SuiteAppEntry, SuiteAppIcon, type SuiteAppIconProps, SuiteAppLayout, type SuiteAppLayoutProps, type SuiteAppSelectOptions, type SuiteAppSlug, SuiteAppStrip, type SuiteAskAiOpenDetail, SuiteBottomNav, type SuiteBottomNavItem, SuiteBreadcrumbs, type SuiteBreadcrumbsProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, SuiteIntegrationPicker, type SuiteIntegrationPickerItem, type SuiteIntegrationPickerProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, type SuiteResolvedTheme, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, type SuiteTheme, type SuiteThemeConfig, type SuiteThemeContextValue, SuiteThemeProvider, SuiteToolbar, SuiteUserMenu, type SuiteUserMenuProps, type SuiteWorkspaceEntry, type SuiteWorkspaceGroup, SuiteWorkspaceSwitcher, TURTLETIME_TIMER_MUTATED_EVENT, TodayAskAiCard, TodayCalibrating, TodayEmptyAction, TodayEmptyState, TodayHero, TodayLayout, TodayPageFrame, TodayPanel, type TodayPrimaryAccent, TodayPrimaryAction, TodaySection, TodayTimeIcon, TodayTopBar, appSwitcherMarkClass, appSwitcherMenuItemClass, appSwitcherTriggerClass, classifySuiteHref, cn, consumePendingAskAiPrompt, consumeSuiteAskAiOpenFromLocation, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth, useSuiteTheme };
package/dist/suite.d.ts CHANGED
@@ -170,7 +170,6 @@ type SuiteSpinnerComponent = ComponentType<{
170
170
 
171
171
  declare function appSwitcherTriggerClass(open: boolean, collapsed?: boolean): string;
172
172
  declare function appSwitcherMarkClass(): string;
173
- /** No sticky Radix highlight while waiting for cross-app redirect. */
174
173
  declare function appSwitcherMenuItemClass(): string;
175
174
  declare function AppSwitcherMark({ children, collapsed, }: {
176
175
  children: ReactNode;
@@ -186,6 +185,10 @@ interface SuiteAppEntry {
186
185
  description: string;
187
186
  icon: string;
188
187
  }
188
+ interface SuiteAppSelectOptions {
189
+ /** Open the handoff in a separate browser tab when requested by a caller. */
190
+ newTab?: boolean;
191
+ }
189
192
  /**
190
193
  * Suite app switcher dropdown. Apps inject their brand mark/title, the
191
194
  * visible app list, the cross-app navigation handler, and the theme
@@ -194,7 +197,7 @@ interface SuiteAppEntry {
194
197
  declare function AppSwitcher({ apps, currentApp, onSelect, mark, title, collapsed, dropdownMenu: DropdownMenu, dropdownItem: DropdownItem, triggerId, triggerDataTest, }: {
195
198
  apps: SuiteAppEntry[];
196
199
  currentApp: string;
197
- onSelect: (app: SuiteAppEntry) => void;
200
+ onSelect: (app: SuiteAppEntry, options?: SuiteAppSelectOptions) => void;
198
201
  mark: ReactNode;
199
202
  title: ReactNode;
200
203
  collapsed?: boolean;
@@ -984,4 +987,27 @@ interface SuiteAppLayoutProps {
984
987
  */
985
988
  declare function SuiteAppLayout({ sidebar, children, mobileHeader, bottomNav, sidebarWidth, collapsed, lockMainScroll, onStartResize, onResizeBy, onResetWidth, className, }: SuiteAppLayoutProps): react.JSX.Element;
986
989
 
987
- export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, SIDEBAR_COLLAPSE_THRESHOLD, SIDEBAR_DEFAULT_WIDTH, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_EXPANDED_WIDTH, SIDEBAR_RAIL_WIDTH, SUITE_APPS, SUITE_APP_MAP, SUITE_ASK_AI_OPEN_KEY, SUITE_ASK_AI_OPEN_QUERY, SUITE_GLYPHS, SUITE_ICON_NAMES, SUITE_MUTATED_EVENT, SUITE_OPEN_ASK_AI_EVENT, SUITE_SIDEBAR_WIDTH_COOKIE, SUITE_SIDEBAR_WIDTH_KEY, SUITE_SPRINGS, SourceAppGlyph, type SuiteAccentSlug, type SuiteAiAction, type SuiteAiActionStatus, type SuiteAiChatMessage, SuiteAiPanel, type SuiteAiPreset, type SuiteAppAccent, type SuiteAppDefinition, type SuiteAppEntry, SuiteAppIcon, type SuiteAppIconProps, SuiteAppLayout, type SuiteAppLayoutProps, type SuiteAppSlug, SuiteAppStrip, type SuiteAskAiOpenDetail, SuiteBottomNav, type SuiteBottomNavItem, SuiteBreadcrumbs, type SuiteBreadcrumbsProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, type SuiteResolvedTheme, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, type SuiteTheme, type SuiteThemeConfig, type SuiteThemeContextValue, SuiteThemeProvider, SuiteToolbar, SuiteUserMenu, type SuiteUserMenuProps, type SuiteWorkspaceEntry, type SuiteWorkspaceGroup, SuiteWorkspaceSwitcher, TURTLETIME_TIMER_MUTATED_EVENT, TodayAskAiCard, TodayCalibrating, TodayEmptyAction, TodayEmptyState, TodayHero, TodayLayout, TodayPageFrame, TodayPanel, type TodayPrimaryAccent, TodayPrimaryAction, TodaySection, TodayTimeIcon, TodayTopBar, appSwitcherMarkClass, appSwitcherMenuItemClass, appSwitcherTriggerClass, classifySuiteHref, cn, consumePendingAskAiPrompt, consumeSuiteAskAiOpenFromLocation, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth, useSuiteTheme };
990
+ interface SuiteIntegrationPickerItem {
991
+ id: string;
992
+ label: string;
993
+ description: string;
994
+ icon?: ReactNode;
995
+ categories?: string[];
996
+ connecting?: boolean;
997
+ unavailableReason?: string;
998
+ }
999
+ interface SuiteIntegrationPickerProps {
1000
+ open: boolean;
1001
+ items: SuiteIntegrationPickerItem[];
1002
+ connectedItems?: SuiteIntegrationPickerItem[];
1003
+ loading?: boolean;
1004
+ onClose: () => void;
1005
+ onConnect: (item: SuiteIntegrationPickerItem) => void;
1006
+ onDisconnect?: (item: SuiteIntegrationPickerItem) => void;
1007
+ title?: string;
1008
+ description?: string;
1009
+ dataTest?: string;
1010
+ }
1011
+ declare function SuiteIntegrationPicker({ open, items, connectedItems, loading, onClose, onConnect, onDisconnect, title, description, dataTest, }: SuiteIntegrationPickerProps): react.JSX.Element;
1012
+
1013
+ export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, SIDEBAR_COLLAPSE_THRESHOLD, SIDEBAR_DEFAULT_WIDTH, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_EXPANDED_WIDTH, SIDEBAR_RAIL_WIDTH, SUITE_APPS, SUITE_APP_MAP, SUITE_ASK_AI_OPEN_KEY, SUITE_ASK_AI_OPEN_QUERY, SUITE_GLYPHS, SUITE_ICON_NAMES, SUITE_MUTATED_EVENT, SUITE_OPEN_ASK_AI_EVENT, SUITE_SIDEBAR_WIDTH_COOKIE, SUITE_SIDEBAR_WIDTH_KEY, SUITE_SPRINGS, SourceAppGlyph, type SuiteAccentSlug, type SuiteAiAction, type SuiteAiActionStatus, type SuiteAiChatMessage, SuiteAiPanel, type SuiteAiPreset, type SuiteAppAccent, type SuiteAppDefinition, type SuiteAppEntry, SuiteAppIcon, type SuiteAppIconProps, SuiteAppLayout, type SuiteAppLayoutProps, type SuiteAppSelectOptions, type SuiteAppSlug, SuiteAppStrip, type SuiteAskAiOpenDetail, SuiteBottomNav, type SuiteBottomNavItem, SuiteBreadcrumbs, type SuiteBreadcrumbsProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, SuiteIntegrationPicker, type SuiteIntegrationPickerItem, type SuiteIntegrationPickerProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, type SuiteResolvedTheme, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, type SuiteTheme, type SuiteThemeConfig, type SuiteThemeContextValue, SuiteThemeProvider, SuiteToolbar, SuiteUserMenu, type SuiteUserMenuProps, type SuiteWorkspaceEntry, type SuiteWorkspaceGroup, SuiteWorkspaceSwitcher, TURTLETIME_TIMER_MUTATED_EVENT, TodayAskAiCard, TodayCalibrating, TodayEmptyAction, TodayEmptyState, TodayHero, TodayLayout, TodayPageFrame, TodayPanel, type TodayPrimaryAccent, TodayPrimaryAction, TodaySection, TodayTimeIcon, TodayTopBar, appSwitcherMarkClass, appSwitcherMenuItemClass, appSwitcherTriggerClass, classifySuiteHref, cn, consumePendingAskAiPrompt, consumeSuiteAskAiOpenFromLocation, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth, useSuiteTheme };