@xenide-io/the-old-ui-theme 0.9.13 → 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 +49 -4
- package/dist/suite.d.ts +49 -4
- package/dist/suite.js +892 -778
- package/dist/suite.mjs +617 -498
- package/package.json +1 -1
- package/src/suite/components/suite-integration-picker.test.tsx +36 -2
- package/src/suite/components/suite-integration-picker.tsx +104 -72
- package/src/suite/components/suite-notification-bell.test.tsx +12 -8
- package/src/suite/components/suite-notification-bell.tsx +23 -170
- package/src/suite/index.ts +7 -5
- package/src/suite/lib/suite-notifications.tsx +282 -0
package/dist/suite.d.mts
CHANGED
|
@@ -222,13 +222,49 @@ interface SuiteNotificationsResponse {
|
|
|
222
222
|
notifications: SuiteNotification[];
|
|
223
223
|
unread_count: number;
|
|
224
224
|
}
|
|
225
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|