@xenide-io/the-old-ui-theme 0.9.13 → 0.9.15

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,47 @@ 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
+ refresh: () => void;
229
+ select: (notification: SuiteNotification) => void;
230
+ markAllRead: () => void;
231
+ }
232
+ declare const SUITE_NOTIFICATIONS_POLL_MS = 60000;
233
+ /**
234
+ * Read the shared notification state. Must be rendered inside a
235
+ * `SuiteNotificationsProvider`: one provider per app owns the single poller,
236
+ * however many bells consume it.
237
+ */
238
+ declare function useSuiteNotifications(): SuiteNotificationsContextValue;
239
+ /**
240
+ * Application-layer notification runtime. Owns fetching, polling cadence,
241
+ * tab-visibility gating, stale-while-revalidate caching, optimistic read
242
+ * state, and cross-app navigation. The UI (SuiteNotificationBell) stays
243
+ * presentational and consumes this context, so multiple bells share one
244
+ * request per interval instead of polling independently.
245
+ */
246
+ declare function SuiteNotificationsProvider({ fetchNotifications, markRead, markAllRead: markAllReadRequest, pollMs, cacheKey, enabled, children, }: {
226
247
  fetchNotifications: () => Promise<SuiteNotificationsResponse>;
227
248
  markRead: (id: string) => Promise<unknown>;
228
249
  markAllRead: () => Promise<unknown>;
229
- dropdownMenu: SuiteDropdownMenuComponent;
250
+ /** Poll cadence while the tab is visible. Defaults to 60s. */
251
+ pollMs?: number;
230
252
  /** sessionStorage key for stale-while-revalidate; `null` disables caching. */
231
253
  cacheKey?: string | null;
254
+ /** Set false to suspend fetching entirely (e.g. before auth resolves). */
255
+ enabled?: boolean;
256
+ children: ReactNode;
257
+ }): react.JSX.Element;
258
+
259
+ /**
260
+ * Presentational notification bell. State, polling, caching and navigation
261
+ * live in SuiteNotificationsProvider — this just renders the shared context
262
+ * and forwards user intent back to it.
263
+ */
264
+ declare function SuiteNotificationBell({ dropdownMenu: DropdownMenu, dataTest, triggerId, triggerDataTest, }: {
265
+ dropdownMenu: SuiteDropdownMenuComponent;
232
266
  dataTest?: string;
233
267
  triggerId?: string;
234
268
  triggerDataTest?: string;
@@ -977,6 +1011,8 @@ interface SuiteIntegrationPickerItem {
977
1011
  description: string;
978
1012
  icon?: ReactNode;
979
1013
  categories?: string[];
1014
+ /** Product apps this toolkit can actually bridge. Empty means Shelly AI only. */
1015
+ bridgeTargets?: string[];
980
1016
  authSchemes?: string[];
981
1017
  connecting?: boolean;
982
1018
  unavailableReason?: string;
@@ -1009,6 +1045,13 @@ interface SuiteIntegrationPickerProps {
1009
1045
  category?: string;
1010
1046
  categories?: string[];
1011
1047
  onCategoryChange?: (value: string) => void;
1048
+ /**
1049
+ * When provided, the "Shelly Bridge only" filter is controlled by the caller
1050
+ * (so it can refetch a bridge-filtered catalogue server-side). When omitted,
1051
+ * the picker filters the loaded items locally.
1052
+ */
1053
+ bridgeOnly?: boolean;
1054
+ onBridgeOnlyChange?: (value: boolean) => void;
1012
1055
  onClose: () => void;
1013
1056
  onConnect: (item: SuiteIntegrationPickerItem, auth?: SuiteIntegrationAuthSelection) => void | Promise<void>;
1014
1057
  onFetchAuthFields?: (item: SuiteIntegrationPickerItem, authScheme: string) => Promise<SuiteIntegrationAuthDetails>;
@@ -1017,7 +1060,7 @@ interface SuiteIntegrationPickerProps {
1017
1060
  description?: string;
1018
1061
  dataTest?: string;
1019
1062
  }
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;
1063
+ 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
1064
 
1022
1065
  type SuiteIntegrationRuleActionType = "create_tides_task" | "draft_time_entry" | "create_suite_notification";
1023
1066
  interface SuiteIntegrationRule {
@@ -1223,4 +1266,4 @@ declare function findPaletteIcons(options: {
1223
1266
  results: PaletteHit[];
1224
1267
  }>;
1225
1268
 
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 };
1269
+ 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,47 @@ 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
+ refresh: () => void;
229
+ select: (notification: SuiteNotification) => void;
230
+ markAllRead: () => void;
231
+ }
232
+ declare const SUITE_NOTIFICATIONS_POLL_MS = 60000;
233
+ /**
234
+ * Read the shared notification state. Must be rendered inside a
235
+ * `SuiteNotificationsProvider`: one provider per app owns the single poller,
236
+ * however many bells consume it.
237
+ */
238
+ declare function useSuiteNotifications(): SuiteNotificationsContextValue;
239
+ /**
240
+ * Application-layer notification runtime. Owns fetching, polling cadence,
241
+ * tab-visibility gating, stale-while-revalidate caching, optimistic read
242
+ * state, and cross-app navigation. The UI (SuiteNotificationBell) stays
243
+ * presentational and consumes this context, so multiple bells share one
244
+ * request per interval instead of polling independently.
245
+ */
246
+ declare function SuiteNotificationsProvider({ fetchNotifications, markRead, markAllRead: markAllReadRequest, pollMs, cacheKey, enabled, children, }: {
226
247
  fetchNotifications: () => Promise<SuiteNotificationsResponse>;
227
248
  markRead: (id: string) => Promise<unknown>;
228
249
  markAllRead: () => Promise<unknown>;
229
- dropdownMenu: SuiteDropdownMenuComponent;
250
+ /** Poll cadence while the tab is visible. Defaults to 60s. */
251
+ pollMs?: number;
230
252
  /** sessionStorage key for stale-while-revalidate; `null` disables caching. */
231
253
  cacheKey?: string | null;
254
+ /** Set false to suspend fetching entirely (e.g. before auth resolves). */
255
+ enabled?: boolean;
256
+ children: ReactNode;
257
+ }): react.JSX.Element;
258
+
259
+ /**
260
+ * Presentational notification bell. State, polling, caching and navigation
261
+ * live in SuiteNotificationsProvider — this just renders the shared context
262
+ * and forwards user intent back to it.
263
+ */
264
+ declare function SuiteNotificationBell({ dropdownMenu: DropdownMenu, dataTest, triggerId, triggerDataTest, }: {
265
+ dropdownMenu: SuiteDropdownMenuComponent;
232
266
  dataTest?: string;
233
267
  triggerId?: string;
234
268
  triggerDataTest?: string;
@@ -977,6 +1011,8 @@ interface SuiteIntegrationPickerItem {
977
1011
  description: string;
978
1012
  icon?: ReactNode;
979
1013
  categories?: string[];
1014
+ /** Product apps this toolkit can actually bridge. Empty means Shelly AI only. */
1015
+ bridgeTargets?: string[];
980
1016
  authSchemes?: string[];
981
1017
  connecting?: boolean;
982
1018
  unavailableReason?: string;
@@ -1009,6 +1045,13 @@ interface SuiteIntegrationPickerProps {
1009
1045
  category?: string;
1010
1046
  categories?: string[];
1011
1047
  onCategoryChange?: (value: string) => void;
1048
+ /**
1049
+ * When provided, the "Shelly Bridge only" filter is controlled by the caller
1050
+ * (so it can refetch a bridge-filtered catalogue server-side). When omitted,
1051
+ * the picker filters the loaded items locally.
1052
+ */
1053
+ bridgeOnly?: boolean;
1054
+ onBridgeOnlyChange?: (value: boolean) => void;
1012
1055
  onClose: () => void;
1013
1056
  onConnect: (item: SuiteIntegrationPickerItem, auth?: SuiteIntegrationAuthSelection) => void | Promise<void>;
1014
1057
  onFetchAuthFields?: (item: SuiteIntegrationPickerItem, authScheme: string) => Promise<SuiteIntegrationAuthDetails>;
@@ -1017,7 +1060,7 @@ interface SuiteIntegrationPickerProps {
1017
1060
  description?: string;
1018
1061
  dataTest?: string;
1019
1062
  }
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;
1063
+ 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
1064
 
1022
1065
  type SuiteIntegrationRuleActionType = "create_tides_task" | "draft_time_entry" | "create_suite_notification";
1023
1066
  interface SuiteIntegrationRule {
@@ -1223,4 +1266,4 @@ declare function findPaletteIcons(options: {
1223
1266
  results: PaletteHit[];
1224
1267
  }>;
1225
1268
 
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 };
1269
+ 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 };