@xenide-io/the-old-ui-theme 0.9.12 → 0.9.14

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/suite.d.mts CHANGED
@@ -222,13 +222,49 @@ interface SuiteNotificationsResponse {
222
222
  notifications: SuiteNotification[];
223
223
  unread_count: number;
224
224
  }
225
- declare function SuiteNotificationBell({ fetchNotifications, markRead, markAllRead, dropdownMenu: DropdownMenu, cacheKey, dataTest, triggerId, triggerDataTest, }: {
225
+ interface SuiteNotificationsContextValue {
226
+ notifications: SuiteNotification[];
227
+ unreadCount: number;
228
+ open: boolean;
229
+ setOpen: (open: boolean) => void;
230
+ refresh: () => void;
231
+ select: (notification: SuiteNotification) => void;
232
+ markAllRead: () => void;
233
+ }
234
+ declare const SUITE_NOTIFICATIONS_POLL_MS = 60000;
235
+ /**
236
+ * Read the shared notification state. Must be rendered inside a
237
+ * `SuiteNotificationsProvider`: one provider per app owns the single poller,
238
+ * however many bells consume it.
239
+ */
240
+ declare function useSuiteNotifications(): SuiteNotificationsContextValue;
241
+ /**
242
+ * Application-layer notification runtime. Owns fetching, polling cadence,
243
+ * tab-visibility gating, stale-while-revalidate caching, optimistic read
244
+ * state, and cross-app navigation. The UI (SuiteNotificationBell) stays
245
+ * presentational and consumes this context, so multiple bells share one
246
+ * request per interval instead of polling independently.
247
+ */
248
+ declare function SuiteNotificationsProvider({ fetchNotifications, markRead, markAllRead: markAllReadRequest, pollMs, cacheKey, enabled, children, }: {
226
249
  fetchNotifications: () => Promise<SuiteNotificationsResponse>;
227
250
  markRead: (id: string) => Promise<unknown>;
228
251
  markAllRead: () => Promise<unknown>;
229
- dropdownMenu: SuiteDropdownMenuComponent;
252
+ /** Poll cadence while the tab is visible. Defaults to 60s. */
253
+ pollMs?: number;
230
254
  /** sessionStorage key for stale-while-revalidate; `null` disables caching. */
231
255
  cacheKey?: string | null;
256
+ /** Set false to suspend fetching entirely (e.g. before auth resolves). */
257
+ enabled?: boolean;
258
+ children: ReactNode;
259
+ }): react.JSX.Element;
260
+
261
+ /**
262
+ * Presentational notification bell. State, polling, caching and navigation
263
+ * live in SuiteNotificationsProvider — this just renders the shared context
264
+ * and forwards user intent back to it.
265
+ */
266
+ declare function SuiteNotificationBell({ dropdownMenu: DropdownMenu, dataTest, triggerId, triggerDataTest, }: {
267
+ dropdownMenu: SuiteDropdownMenuComponent;
232
268
  dataTest?: string;
233
269
  triggerId?: string;
234
270
  triggerDataTest?: string;
@@ -977,6 +1013,8 @@ interface SuiteIntegrationPickerItem {
977
1013
  description: string;
978
1014
  icon?: ReactNode;
979
1015
  categories?: string[];
1016
+ /** Product apps this toolkit can actually bridge. Empty means Shelly AI only. */
1017
+ bridgeTargets?: string[];
980
1018
  authSchemes?: string[];
981
1019
  connecting?: boolean;
982
1020
  unavailableReason?: string;
@@ -1009,6 +1047,13 @@ interface SuiteIntegrationPickerProps {
1009
1047
  category?: string;
1010
1048
  categories?: string[];
1011
1049
  onCategoryChange?: (value: string) => void;
1050
+ /**
1051
+ * When provided, the "Shelly Bridge only" filter is controlled by the caller
1052
+ * (so it can refetch a bridge-filtered catalogue server-side). When omitted,
1053
+ * the picker filters the loaded items locally.
1054
+ */
1055
+ bridgeOnly?: boolean;
1056
+ onBridgeOnlyChange?: (value: boolean) => void;
1012
1057
  onClose: () => void;
1013
1058
  onConnect: (item: SuiteIntegrationPickerItem, auth?: SuiteIntegrationAuthSelection) => void | Promise<void>;
1014
1059
  onFetchAuthFields?: (item: SuiteIntegrationPickerItem, authScheme: string) => Promise<SuiteIntegrationAuthDetails>;
@@ -1017,7 +1062,7 @@ interface SuiteIntegrationPickerProps {
1017
1062
  description?: string;
1018
1063
  dataTest?: string;
1019
1064
  }
1020
- declare function SuiteIntegrationPicker({ open, items, connectedItems, loading, catalogLoading, loadingMore, hasMore, onEndReached, search: controlledSearch, onSearchChange, category: controlledCategory, categories: controlledCategories, onCategoryChange, onClose, onConnect, onFetchAuthFields, onDisconnect, title, description, dataTest, }: SuiteIntegrationPickerProps): react.JSX.Element;
1065
+ declare function SuiteIntegrationPicker({ open, items, connectedItems, loading, catalogLoading, loadingMore, hasMore, onEndReached, search: controlledSearch, onSearchChange, category: controlledCategory, categories: controlledCategories, onCategoryChange, bridgeOnly: controlledBridgeOnly, onBridgeOnlyChange, onClose, onConnect, onFetchAuthFields, onDisconnect, title, description, dataTest, }: SuiteIntegrationPickerProps): react.JSX.Element;
1021
1066
 
1022
1067
  type SuiteIntegrationRuleActionType = "create_tides_task" | "draft_time_entry" | "create_suite_notification";
1023
1068
  interface SuiteIntegrationRule {
@@ -1223,4 +1268,4 @@ declare function findPaletteIcons(options: {
1223
1268
  results: PaletteHit[];
1224
1269
  }>;
1225
1270
 
1226
- export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, type PaletteCollection, type PaletteCollectionDetail, type PaletteHit, type PaletteIcon, type PaletteLibrary, 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, SUITE_THEME_COOKIE, 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, SuiteClientsProjectsDirectory, type SuiteClientsProjectsDirectoryProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDirectoryClient, type SuiteDirectoryFields, type SuiteDirectoryProject, type SuiteDirectoryProjectFields, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, SuiteEntityIcon, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, type SuiteIntegrationEvent, SuiteIntegrationPicker, type SuiteIntegrationPickerItem, type SuiteIntegrationPickerProps, type SuiteIntegrationRule, type SuiteIntegrationRuleActionType, type SuiteIntegrationRuleInput, type SuiteIntegrationRuleProject, SuiteIntegrationRules, type SuiteIntegrationRulesProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, SuitePaletteLibrary, type SuitePalettePick, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, 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, fetchPaletteCollection, fetchPaletteLibrary, findPaletteIcons, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth };
1271
+ export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, type PaletteCollection, type PaletteCollectionDetail, type PaletteHit, type PaletteIcon, type PaletteLibrary, 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_NOTIFICATIONS_POLL_MS, SUITE_OPEN_ASK_AI_EVENT, SUITE_SIDEBAR_WIDTH_COOKIE, SUITE_SIDEBAR_WIDTH_KEY, SUITE_SPRINGS, SUITE_THEME_COOKIE, 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, SuiteClientsProjectsDirectory, type SuiteClientsProjectsDirectoryProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDirectoryClient, type SuiteDirectoryFields, type SuiteDirectoryProject, type SuiteDirectoryProjectFields, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, SuiteEntityIcon, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, type SuiteIntegrationEvent, SuiteIntegrationPicker, type SuiteIntegrationPickerItem, type SuiteIntegrationPickerProps, type SuiteIntegrationRule, type SuiteIntegrationRuleActionType, type SuiteIntegrationRuleInput, type SuiteIntegrationRuleProject, SuiteIntegrationRules, type SuiteIntegrationRulesProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsContextValue, SuiteNotificationsProvider, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, SuitePaletteLibrary, type SuitePalettePick, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, 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, fetchPaletteCollection, fetchPaletteLibrary, findPaletteIcons, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth, useSuiteNotifications };
package/dist/suite.d.ts CHANGED
@@ -222,13 +222,49 @@ interface SuiteNotificationsResponse {
222
222
  notifications: SuiteNotification[];
223
223
  unread_count: number;
224
224
  }
225
- declare function SuiteNotificationBell({ fetchNotifications, markRead, markAllRead, dropdownMenu: DropdownMenu, cacheKey, dataTest, triggerId, triggerDataTest, }: {
225
+ interface SuiteNotificationsContextValue {
226
+ notifications: SuiteNotification[];
227
+ unreadCount: number;
228
+ open: boolean;
229
+ setOpen: (open: boolean) => void;
230
+ refresh: () => void;
231
+ select: (notification: SuiteNotification) => void;
232
+ markAllRead: () => void;
233
+ }
234
+ declare const SUITE_NOTIFICATIONS_POLL_MS = 60000;
235
+ /**
236
+ * Read the shared notification state. Must be rendered inside a
237
+ * `SuiteNotificationsProvider`: one provider per app owns the single poller,
238
+ * however many bells consume it.
239
+ */
240
+ declare function useSuiteNotifications(): SuiteNotificationsContextValue;
241
+ /**
242
+ * Application-layer notification runtime. Owns fetching, polling cadence,
243
+ * tab-visibility gating, stale-while-revalidate caching, optimistic read
244
+ * state, and cross-app navigation. The UI (SuiteNotificationBell) stays
245
+ * presentational and consumes this context, so multiple bells share one
246
+ * request per interval instead of polling independently.
247
+ */
248
+ declare function SuiteNotificationsProvider({ fetchNotifications, markRead, markAllRead: markAllReadRequest, pollMs, cacheKey, enabled, children, }: {
226
249
  fetchNotifications: () => Promise<SuiteNotificationsResponse>;
227
250
  markRead: (id: string) => Promise<unknown>;
228
251
  markAllRead: () => Promise<unknown>;
229
- dropdownMenu: SuiteDropdownMenuComponent;
252
+ /** Poll cadence while the tab is visible. Defaults to 60s. */
253
+ pollMs?: number;
230
254
  /** sessionStorage key for stale-while-revalidate; `null` disables caching. */
231
255
  cacheKey?: string | null;
256
+ /** Set false to suspend fetching entirely (e.g. before auth resolves). */
257
+ enabled?: boolean;
258
+ children: ReactNode;
259
+ }): react.JSX.Element;
260
+
261
+ /**
262
+ * Presentational notification bell. State, polling, caching and navigation
263
+ * live in SuiteNotificationsProvider — this just renders the shared context
264
+ * and forwards user intent back to it.
265
+ */
266
+ declare function SuiteNotificationBell({ dropdownMenu: DropdownMenu, dataTest, triggerId, triggerDataTest, }: {
267
+ dropdownMenu: SuiteDropdownMenuComponent;
232
268
  dataTest?: string;
233
269
  triggerId?: string;
234
270
  triggerDataTest?: string;
@@ -977,6 +1013,8 @@ interface SuiteIntegrationPickerItem {
977
1013
  description: string;
978
1014
  icon?: ReactNode;
979
1015
  categories?: string[];
1016
+ /** Product apps this toolkit can actually bridge. Empty means Shelly AI only. */
1017
+ bridgeTargets?: string[];
980
1018
  authSchemes?: string[];
981
1019
  connecting?: boolean;
982
1020
  unavailableReason?: string;
@@ -1009,6 +1047,13 @@ interface SuiteIntegrationPickerProps {
1009
1047
  category?: string;
1010
1048
  categories?: string[];
1011
1049
  onCategoryChange?: (value: string) => void;
1050
+ /**
1051
+ * When provided, the "Shelly Bridge only" filter is controlled by the caller
1052
+ * (so it can refetch a bridge-filtered catalogue server-side). When omitted,
1053
+ * the picker filters the loaded items locally.
1054
+ */
1055
+ bridgeOnly?: boolean;
1056
+ onBridgeOnlyChange?: (value: boolean) => void;
1012
1057
  onClose: () => void;
1013
1058
  onConnect: (item: SuiteIntegrationPickerItem, auth?: SuiteIntegrationAuthSelection) => void | Promise<void>;
1014
1059
  onFetchAuthFields?: (item: SuiteIntegrationPickerItem, authScheme: string) => Promise<SuiteIntegrationAuthDetails>;
@@ -1017,7 +1062,7 @@ interface SuiteIntegrationPickerProps {
1017
1062
  description?: string;
1018
1063
  dataTest?: string;
1019
1064
  }
1020
- declare function SuiteIntegrationPicker({ open, items, connectedItems, loading, catalogLoading, loadingMore, hasMore, onEndReached, search: controlledSearch, onSearchChange, category: controlledCategory, categories: controlledCategories, onCategoryChange, onClose, onConnect, onFetchAuthFields, onDisconnect, title, description, dataTest, }: SuiteIntegrationPickerProps): react.JSX.Element;
1065
+ declare function SuiteIntegrationPicker({ open, items, connectedItems, loading, catalogLoading, loadingMore, hasMore, onEndReached, search: controlledSearch, onSearchChange, category: controlledCategory, categories: controlledCategories, onCategoryChange, bridgeOnly: controlledBridgeOnly, onBridgeOnlyChange, onClose, onConnect, onFetchAuthFields, onDisconnect, title, description, dataTest, }: SuiteIntegrationPickerProps): react.JSX.Element;
1021
1066
 
1022
1067
  type SuiteIntegrationRuleActionType = "create_tides_task" | "draft_time_entry" | "create_suite_notification";
1023
1068
  interface SuiteIntegrationRule {
@@ -1223,4 +1268,4 @@ declare function findPaletteIcons(options: {
1223
1268
  results: PaletteHit[];
1224
1269
  }>;
1225
1270
 
1226
- export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, type PaletteCollection, type PaletteCollectionDetail, type PaletteHit, type PaletteIcon, type PaletteLibrary, 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, SUITE_THEME_COOKIE, 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, SuiteClientsProjectsDirectory, type SuiteClientsProjectsDirectoryProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDirectoryClient, type SuiteDirectoryFields, type SuiteDirectoryProject, type SuiteDirectoryProjectFields, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, SuiteEntityIcon, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, type SuiteIntegrationEvent, SuiteIntegrationPicker, type SuiteIntegrationPickerItem, type SuiteIntegrationPickerProps, type SuiteIntegrationRule, type SuiteIntegrationRuleActionType, type SuiteIntegrationRuleInput, type SuiteIntegrationRuleProject, SuiteIntegrationRules, type SuiteIntegrationRulesProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, SuitePaletteLibrary, type SuitePalettePick, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, 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, fetchPaletteCollection, fetchPaletteLibrary, findPaletteIcons, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth };
1271
+ export { APP_ACCENTS, APP_GLYPHS, AnimatedMoon, AnimatedSun, AppSwitcher, AppSwitcherChevron, AppSwitcherMark, CommandPaletteHost, DeferredChrome, type PaletteCollection, type PaletteCollectionDetail, type PaletteHit, type PaletteIcon, type PaletteLibrary, 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_NOTIFICATIONS_POLL_MS, SUITE_OPEN_ASK_AI_EVENT, SUITE_SIDEBAR_WIDTH_COOKIE, SUITE_SIDEBAR_WIDTH_KEY, SUITE_SPRINGS, SUITE_THEME_COOKIE, 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, SuiteClientsProjectsDirectory, type SuiteClientsProjectsDirectoryProps, type SuiteCommandItem, type SuiteCommandPaletteComponent, type SuiteDirectoryClient, type SuiteDirectoryFields, type SuiteDirectoryProject, type SuiteDirectoryProjectFields, type SuiteDropdownItemComponent, type SuiteDropdownMenuComponent, type SuiteDropdownMenuProps, SuiteEmptyState, SuiteEntityIcon, type SuiteGlyph, type SuiteGlyphElement, type SuiteHrefTarget, SuiteIcon, type SuiteIconName, type SuiteIconProps, type SuiteIntegrationEvent, SuiteIntegrationPicker, type SuiteIntegrationPickerItem, type SuiteIntegrationPickerProps, type SuiteIntegrationRule, type SuiteIntegrationRuleActionType, type SuiteIntegrationRuleInput, type SuiteIntegrationRuleProject, SuiteIntegrationRules, type SuiteIntegrationRulesProps, SuiteMobileDrawer, SuiteMobileHeader, SuiteMotionProvider, type SuiteNotification, SuiteNotificationBell, type SuiteNotificationsContextValue, SuiteNotificationsProvider, type SuiteNotificationsResponse, SuitePage, SuitePageHeader, type SuitePageWidth, SuitePaletteLibrary, type SuitePalettePick, SuiteSectionHeader, SuiteSettingsLayout, type SuiteSettingsLayoutProps, SuiteSettingsMobileNav, type SuiteSettingsNavItem, SuiteSidebar, type SuiteSidebarNavItem, SuiteSkeleton, SuiteSkeletonCard, SuiteSkeletonList, type SuiteSpinnerComponent, type SuiteSpringName, SuiteTabList, 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, fetchPaletteCollection, fetchPaletteLibrary, findPaletteIcons, getTodayGreeting, openSuiteAskAi, pathWithSuiteAskAiOpen, persistSidebarWidth, persistSuiteAskAiOpen, readSidebarWidth, readSuiteAskAiOpen, resetSuiteSidebarWidth, resolveSuiteNotificationHref, sidebarColumnWidth, sourceToSuiteApp, suiteAppBaseUrl, suiteAppLabel, useIdleMount, useSidebarWidth, useSuiteNotifications };