@shellui/core 0.0.11 → 0.0.12
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/README.md +0 -11
- package/dist/ContentView-CZG-ro_B.js +146 -0
- package/dist/ContentView-CZG-ro_B.js.map +1 -0
- package/dist/CookiePreferencesView-CIXBJWNt.js +213 -0
- package/dist/CookiePreferencesView-CIXBJWNt.js.map +1 -0
- package/dist/DefaultLayout-Bztmv2c_.js +406 -0
- package/dist/DefaultLayout-Bztmv2c_.js.map +1 -0
- package/dist/FullscreenLayout-DiX6dbkf.js +30 -0
- package/dist/FullscreenLayout-DiX6dbkf.js.map +1 -0
- package/dist/HomeView-C610YU6V.js +21 -0
- package/dist/HomeView-C610YU6V.js.map +1 -0
- package/dist/NotFoundView-D00gYlq-.js +52 -0
- package/dist/NotFoundView-D00gYlq-.js.map +1 -0
- package/dist/OverlayShell-CGjN4rTu.js +642 -0
- package/dist/OverlayShell-CGjN4rTu.js.map +1 -0
- package/dist/SettingsView-2QMtfS71.js +2207 -0
- package/dist/SettingsView-2QMtfS71.js.map +1 -0
- package/dist/ViewRoute-ChSPabOy.js +32 -0
- package/dist/ViewRoute-ChSPabOy.js.map +1 -0
- package/dist/WindowsLayout-DkSNQDSb.js +633 -0
- package/dist/WindowsLayout-DkSNQDSb.js.map +1 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/components/ContentView.d.ts +10 -0
- package/dist/components/ContentView.d.ts.map +1 -0
- package/dist/components/HomeView.d.ts +2 -0
- package/dist/components/HomeView.d.ts.map +1 -0
- package/dist/components/LoadingOverlay.d.ts +2 -0
- package/dist/components/LoadingOverlay.d.ts.map +1 -0
- package/dist/components/NotFoundView.d.ts +2 -0
- package/dist/components/NotFoundView.d.ts.map +1 -0
- package/dist/components/RouteErrorBoundary.d.ts +2 -0
- package/dist/components/RouteErrorBoundary.d.ts.map +1 -0
- package/dist/components/ViewRoute.d.ts +7 -0
- package/dist/components/ViewRoute.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +32 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +20 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/button-group.d.ts +7 -0
- package/dist/components/ui/button-group.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/dialog.d.ts +24 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/drawer.d.ts +38 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/select.d.ts +5 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/sidebar.d.ts +46 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -0
- package/dist/components/ui/sonner.d.ts +6 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/switch.d.ts +8 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/constants/urls.d.ts +6 -0
- package/dist/constants/urls.d.ts.map +1 -0
- package/dist/constants/urls.js +8 -0
- package/dist/constants/urls.js.map +1 -0
- package/dist/features/alertDialog/DialogContext.d.ts +12 -0
- package/dist/features/alertDialog/DialogContext.d.ts.map +1 -0
- package/dist/features/config/ConfigProvider.d.ts +15 -0
- package/dist/features/config/ConfigProvider.d.ts.map +1 -0
- package/dist/features/config/types.d.ts +177 -0
- package/dist/features/config/types.d.ts.map +1 -0
- package/dist/features/config/useConfig.d.ts +8 -0
- package/dist/features/config/useConfig.d.ts.map +1 -0
- package/dist/features/cookieConsent/CookieConsentModal.d.ts +6 -0
- package/dist/features/cookieConsent/CookieConsentModal.d.ts.map +1 -0
- package/dist/features/cookieConsent/CookiePreferencesView.d.ts +2 -0
- package/dist/features/cookieConsent/CookiePreferencesView.d.ts.map +1 -0
- package/dist/features/cookieConsent/cookieConsent.d.ts +22 -0
- package/dist/features/cookieConsent/cookieConsent.d.ts.map +1 -0
- package/dist/features/cookieConsent/useCookieConsent.d.ts +15 -0
- package/dist/features/cookieConsent/useCookieConsent.d.ts.map +1 -0
- package/dist/features/drawer/DrawerContext.d.ts +24 -0
- package/dist/features/drawer/DrawerContext.d.ts.map +1 -0
- package/dist/features/layouts/AppLayout.d.ts +12 -0
- package/dist/features/layouts/AppLayout.d.ts.map +1 -0
- package/dist/features/layouts/DefaultLayout.d.ts +10 -0
- package/dist/features/layouts/DefaultLayout.d.ts.map +1 -0
- package/dist/features/layouts/FullscreenLayout.d.ts +9 -0
- package/dist/features/layouts/FullscreenLayout.d.ts.map +1 -0
- package/dist/features/layouts/LayoutProviders.d.ts +9 -0
- package/dist/features/layouts/LayoutProviders.d.ts.map +1 -0
- package/dist/features/layouts/OverlayShell.d.ts +10 -0
- package/dist/features/layouts/OverlayShell.d.ts.map +1 -0
- package/dist/features/layouts/WindowsLayout.d.ts +24 -0
- package/dist/features/layouts/WindowsLayout.d.ts.map +1 -0
- package/dist/features/layouts/utils.d.ts +16 -0
- package/dist/features/layouts/utils.d.ts.map +1 -0
- package/dist/features/modal/ModalContext.d.ts +20 -0
- package/dist/features/modal/ModalContext.d.ts.map +1 -0
- package/dist/features/sentry/initSentry.d.ts +14 -0
- package/dist/features/sentry/initSentry.d.ts.map +1 -0
- package/dist/features/settings/SettingsContext.d.ts +10 -0
- package/dist/features/settings/SettingsContext.d.ts.map +1 -0
- package/dist/features/settings/SettingsIcons.d.ts +22 -0
- package/dist/features/settings/SettingsIcons.d.ts.map +1 -0
- package/dist/features/settings/SettingsProvider.d.ts +5 -0
- package/dist/features/settings/SettingsProvider.d.ts.map +1 -0
- package/dist/features/settings/SettingsRoutes.d.ts +7 -0
- package/dist/features/settings/SettingsRoutes.d.ts.map +1 -0
- package/dist/features/settings/SettingsView.d.ts +2 -0
- package/dist/features/settings/SettingsView.d.ts.map +1 -0
- package/dist/features/settings/components/Advanced.d.ts +2 -0
- package/dist/features/settings/components/Advanced.d.ts.map +1 -0
- package/dist/features/settings/components/Appearance.d.ts +2 -0
- package/dist/features/settings/components/Appearance.d.ts.map +1 -0
- package/dist/features/settings/components/DataPrivacy.d.ts +2 -0
- package/dist/features/settings/components/DataPrivacy.d.ts.map +1 -0
- package/dist/features/settings/components/Develop.d.ts +2 -0
- package/dist/features/settings/components/Develop.d.ts.map +1 -0
- package/dist/features/settings/components/LanguageAndRegion.d.ts +2 -0
- package/dist/features/settings/components/LanguageAndRegion.d.ts.map +1 -0
- package/dist/features/settings/components/ServiceWorker.d.ts +2 -0
- package/dist/features/settings/components/ServiceWorker.d.ts.map +1 -0
- package/dist/features/settings/components/UpdateApp.d.ts +2 -0
- package/dist/features/settings/components/UpdateApp.d.ts.map +1 -0
- package/dist/features/settings/components/develop/DialogTestButtons.d.ts +2 -0
- package/dist/features/settings/components/develop/DialogTestButtons.d.ts.map +1 -0
- package/dist/features/settings/components/develop/DrawerTestButtons.d.ts +2 -0
- package/dist/features/settings/components/develop/DrawerTestButtons.d.ts.map +1 -0
- package/dist/features/settings/components/develop/ModalTestButtons.d.ts +2 -0
- package/dist/features/settings/components/develop/ModalTestButtons.d.ts.map +1 -0
- package/dist/features/settings/components/develop/ToastTestButtons.d.ts +2 -0
- package/dist/features/settings/components/develop/ToastTestButtons.d.ts.map +1 -0
- package/dist/features/settings/hooks/useSettings.d.ts +2 -0
- package/dist/features/settings/hooks/useSettings.d.ts.map +1 -0
- package/dist/features/sonner/SonnerContext.d.ts +29 -0
- package/dist/features/sonner/SonnerContext.d.ts.map +1 -0
- package/dist/features/theme/ThemeProvider.d.ts +11 -0
- package/dist/features/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/features/theme/themes.d.ts +114 -0
- package/dist/features/theme/themes.d.ts.map +1 -0
- package/dist/features/theme/useTheme.d.ts +10 -0
- package/dist/features/theme/useTheme.d.ts.map +1 -0
- package/dist/i18n/I18nProvider.d.ts +9 -0
- package/dist/i18n/I18nProvider.d.ts.map +1 -0
- package/dist/i18n/config.d.ts +23 -0
- package/dist/i18n/config.d.ts.map +1 -0
- package/dist/i18n/translations/en/common.json.d.ts +19 -0
- package/dist/i18n/translations/en/cookieConsent.json.d.ts +53 -0
- package/dist/i18n/translations/en/settings.json.d.ts +358 -0
- package/dist/i18n/translations/fr/common.json.d.ts +19 -0
- package/dist/i18n/translations/fr/cookieConsent.json.d.ts +53 -0
- package/dist/i18n/translations/fr/settings.json.d.ts +358 -0
- package/dist/index-PsePV0Ng.js +2160 -0
- package/dist/index-PsePV0Ng.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/z-index.d.ts +29 -0
- package/dist/lib/z-index.d.ts.map +1 -0
- package/dist/router/router.d.ts +3 -0
- package/dist/router/router.d.ts.map +1 -0
- package/dist/router/routes.d.ts +4 -0
- package/dist/router/routes.d.ts.map +1 -0
- package/dist/sidebar-Cvm_uv4l.js +336 -0
- package/dist/sidebar-Cvm_uv4l.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/switch-BjkiJBIa.js +44 -0
- package/dist/switch-BjkiJBIa.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +16 -14
- package/src/index.ts +2 -2
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
export type LocalizedString = string | {
|
|
2
|
+
en: string;
|
|
3
|
+
fr: string;
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
};
|
|
6
|
+
/** Drawer position when opening a link in a drawer (optional, used when openIn === 'drawer'). */
|
|
7
|
+
export type DrawerPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
8
|
+
/** Layout mode: 'sidebar' (default) shows navigation sidebar; 'fullscreen' shows only content area; 'windows' shows a taskbar with start menu and multi-window desktop. */
|
|
9
|
+
export type LayoutType = 'sidebar' | 'fullscreen' | 'windows';
|
|
10
|
+
export interface NavigationItem {
|
|
11
|
+
label: string | LocalizedString;
|
|
12
|
+
path: string;
|
|
13
|
+
url: string;
|
|
14
|
+
icon?: string;
|
|
15
|
+
/** When true, hide this item from the sidebar and 404 page; route remains valid and item still appears in Develop settings. */
|
|
16
|
+
hidden?: boolean;
|
|
17
|
+
/** When true, hide this item on mobile (bottom nav). Has no effect if hidden is true. */
|
|
18
|
+
hiddenOnMobile?: boolean;
|
|
19
|
+
/** When true, hide this item on desktop (sidebar). Has no effect if hidden is true. */
|
|
20
|
+
hiddenOnDesktop?: boolean;
|
|
21
|
+
/** How to open this link: 'default' (navigate in main area), 'modal', 'drawer', or 'external' (target="_blank"). */
|
|
22
|
+
openIn?: 'default' | 'modal' | 'drawer' | 'external';
|
|
23
|
+
/** Optional drawer position when openIn === 'drawer'. Default is 'right' if omitted. */
|
|
24
|
+
drawerPosition?: DrawerPosition;
|
|
25
|
+
/** Sidebar position: 'start' (default) or 'end'. End items are rendered in the sidebar footer. */
|
|
26
|
+
position?: 'start' | 'end';
|
|
27
|
+
}
|
|
28
|
+
export interface NavigationGroup {
|
|
29
|
+
title: string | LocalizedString;
|
|
30
|
+
items: NavigationItem[];
|
|
31
|
+
/** Sidebar position: 'start' (default) or 'end'. End groups are rendered in the sidebar footer. */
|
|
32
|
+
position?: 'start' | 'end';
|
|
33
|
+
}
|
|
34
|
+
export interface ThemeColors {
|
|
35
|
+
light: {
|
|
36
|
+
background: string;
|
|
37
|
+
foreground: string;
|
|
38
|
+
card: string;
|
|
39
|
+
cardForeground: string;
|
|
40
|
+
popover: string;
|
|
41
|
+
popoverForeground: string;
|
|
42
|
+
primary: string;
|
|
43
|
+
primaryForeground: string;
|
|
44
|
+
secondary: string;
|
|
45
|
+
secondaryForeground: string;
|
|
46
|
+
muted: string;
|
|
47
|
+
mutedForeground: string;
|
|
48
|
+
accent: string;
|
|
49
|
+
accentForeground: string;
|
|
50
|
+
destructive: string;
|
|
51
|
+
destructiveForeground: string;
|
|
52
|
+
border: string;
|
|
53
|
+
input: string;
|
|
54
|
+
ring: string;
|
|
55
|
+
radius: string;
|
|
56
|
+
sidebarBackground: string;
|
|
57
|
+
sidebarForeground: string;
|
|
58
|
+
sidebarPrimary: string;
|
|
59
|
+
sidebarPrimaryForeground: string;
|
|
60
|
+
sidebarAccent: string;
|
|
61
|
+
sidebarAccentForeground: string;
|
|
62
|
+
sidebarBorder: string;
|
|
63
|
+
sidebarRing: string;
|
|
64
|
+
};
|
|
65
|
+
dark: {
|
|
66
|
+
background: string;
|
|
67
|
+
foreground: string;
|
|
68
|
+
card: string;
|
|
69
|
+
cardForeground: string;
|
|
70
|
+
popover: string;
|
|
71
|
+
popoverForeground: string;
|
|
72
|
+
primary: string;
|
|
73
|
+
primaryForeground: string;
|
|
74
|
+
secondary: string;
|
|
75
|
+
secondaryForeground: string;
|
|
76
|
+
muted: string;
|
|
77
|
+
mutedForeground: string;
|
|
78
|
+
accent: string;
|
|
79
|
+
accentForeground: string;
|
|
80
|
+
destructive: string;
|
|
81
|
+
destructiveForeground: string;
|
|
82
|
+
border: string;
|
|
83
|
+
input: string;
|
|
84
|
+
ring: string;
|
|
85
|
+
radius: string;
|
|
86
|
+
sidebarBackground: string;
|
|
87
|
+
sidebarForeground: string;
|
|
88
|
+
sidebarPrimary: string;
|
|
89
|
+
sidebarPrimaryForeground: string;
|
|
90
|
+
sidebarAccent: string;
|
|
91
|
+
sidebarAccentForeground: string;
|
|
92
|
+
sidebarBorder: string;
|
|
93
|
+
sidebarRing: string;
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
export interface ThemeDefinition {
|
|
97
|
+
name: string;
|
|
98
|
+
displayName: string;
|
|
99
|
+
colors: ThemeColors;
|
|
100
|
+
fontFamily?: string;
|
|
101
|
+
headingFontFamily?: string;
|
|
102
|
+
bodyFontFamily?: string;
|
|
103
|
+
fontFiles?: string[];
|
|
104
|
+
letterSpacing?: string;
|
|
105
|
+
textShadow?: string;
|
|
106
|
+
lineHeight?: string;
|
|
107
|
+
}
|
|
108
|
+
/** Sentry error reporting configuration. Only used in production; ignored in dev. */
|
|
109
|
+
export interface SentryConfig {
|
|
110
|
+
/** Sentry DSN (Data Source Name). Required for Sentry to receive events. */
|
|
111
|
+
dsn: string;
|
|
112
|
+
/** Environment name (e.g. 'production', 'staging'). Shown in Sentry dashboard. */
|
|
113
|
+
environment?: string;
|
|
114
|
+
/** Release identifier (e.g. git SHA or version). Used for release-based grouping. */
|
|
115
|
+
release?: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Cookie consent categories for privacy-friendly grouping in the UI.
|
|
119
|
+
* - strict_necessary: Required for the app to work; typically no consent needed.
|
|
120
|
+
* - functional_performance: Analytics, performance, preferences.
|
|
121
|
+
* - targeting: Advertising, personalisation.
|
|
122
|
+
* - social_media_embedded: Social widgets, embedded content.
|
|
123
|
+
*/
|
|
124
|
+
export type CookieConsentCategory = 'strict_necessary' | 'functional_performance' | 'targeting' | 'social_media_embedded';
|
|
125
|
+
/**
|
|
126
|
+
* Definition of a cookie that can be toggled by the user via cookie consent.
|
|
127
|
+
* Host is the unique key: use it to gate features (e.g. getCookieConsentAccepted('sentry.io')).
|
|
128
|
+
*/
|
|
129
|
+
export interface CookieDefinition {
|
|
130
|
+
/** Display name for the cookie (e.g. "Sentry Error Reporting"). */
|
|
131
|
+
name: string;
|
|
132
|
+
/** Host or domain the cookie belongs to (e.g. "sentry.io", ".example.com"). Unique key for consent and feature gating. */
|
|
133
|
+
host: string;
|
|
134
|
+
/** Duration in seconds (e.g. 31536000 for 1 year). */
|
|
135
|
+
durationSeconds: number;
|
|
136
|
+
/** Type label for clarity (e.g. "first_party", "third_party", "http_only"). */
|
|
137
|
+
type: string;
|
|
138
|
+
/** Category for grouping in the consent UI. */
|
|
139
|
+
category: CookieConsentCategory;
|
|
140
|
+
/** Optional short description shown in the consent / settings UI. Can be a string or localized object with language keys. */
|
|
141
|
+
description?: LocalizedString;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Cookie consent configuration. Accepted hosts are stored in settings; store
|
|
145
|
+
* consentedCookieHosts when user submits so we can detect new cookies and re-prompt while keeping existing approvals.
|
|
146
|
+
*/
|
|
147
|
+
export interface CookieConsentConfig {
|
|
148
|
+
/** List of cookies the app may use. User consent is collected per category/cookie. */
|
|
149
|
+
cookies: CookieDefinition[];
|
|
150
|
+
}
|
|
151
|
+
/** When set to 'tauri', disables service worker and hides its settings (Tauri uses a different caching system). */
|
|
152
|
+
export type RuntimeType = 'browser' | 'tauri';
|
|
153
|
+
export interface ShellUIConfig {
|
|
154
|
+
port?: number;
|
|
155
|
+
title?: string;
|
|
156
|
+
/** App version string (e.g. "1.2.0"). Shown in Settings > System > Update app. */
|
|
157
|
+
version?: string;
|
|
158
|
+
/** Set to 'tauri' when the app runs inside Tauri so service worker is disabled and hidden. */
|
|
159
|
+
runtime?: RuntimeType;
|
|
160
|
+
/** Favicon path (e.g. '/favicon.svg'). Used for the document link rel="icon". */
|
|
161
|
+
favicon?: string;
|
|
162
|
+
/** App icon path (e.g. '/favicon.svg'). Displayed before title/logo in sidebar header. */
|
|
163
|
+
appIcon?: string;
|
|
164
|
+
/** Logo path (e.g. '/logo.svg'). If defined, displayed as image in sidebar header instead of text title. */
|
|
165
|
+
logo?: string;
|
|
166
|
+
language?: string | string[];
|
|
167
|
+
/** Layout mode: 'sidebar' (default) or 'fullscreen'. Fullscreen shows only content with no navigation. */
|
|
168
|
+
layout?: LayoutType;
|
|
169
|
+
navigation?: (NavigationItem | NavigationGroup)[];
|
|
170
|
+
themes?: ThemeDefinition[];
|
|
171
|
+
defaultTheme?: string;
|
|
172
|
+
/** Sentry error reporting. Load from env (e.g. SENTRY_DSN). Only active in production builds. */
|
|
173
|
+
sentry?: SentryConfig;
|
|
174
|
+
/** Cookie consent: list of cookies by category; accepted ids are stored in settings. */
|
|
175
|
+
cookieConsent?: CookieConsentConfig;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ConfigContextValue } from './ConfigProvider';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to access ShellUI configuration from ConfigProvider context.
|
|
4
|
+
* Must be used within a ConfigProvider.
|
|
5
|
+
* @returns {ConfigContextValue} Configuration object and loading state
|
|
6
|
+
*/
|
|
7
|
+
export declare function useConfig(): ConfigContextValue;
|
|
8
|
+
//# sourceMappingURL=useConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfig.d.ts","sourceRoot":"","sources":["../../../src/features/config/useConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shows a friendly cookie consent modal on first visit (when user has not yet consented).
|
|
3
|
+
* Accept all / Reject all only. Closing via Escape or overlay counts as Reject.
|
|
4
|
+
*/
|
|
5
|
+
export declare function CookieConsentModal(): null;
|
|
6
|
+
//# sourceMappingURL=CookieConsentModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieConsentModal.d.ts","sourceRoot":"","sources":["../../../src/features/cookieConsent/CookieConsentModal.tsx"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,kBAAkB,SA6GjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookiePreferencesView.d.ts","sourceRoot":"","sources":["../../../src/features/cookieConsent/CookiePreferencesView.tsx"],"names":[],"mappings":"AAiCA,wBAAgB,qBAAqB,4CAsSpC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns whether the given cookie host is accepted by the user.
|
|
3
|
+
* Use this outside React (e.g. in initSentry) to gate features by cookie consent.
|
|
4
|
+
* - If there is no cookieConsent config, returns true (no consent required).
|
|
5
|
+
* - If the host is not in the config list, returns true (unknown cookie, don't block).
|
|
6
|
+
* - Otherwise returns whether the host is in settings.cookieConsent.acceptedHosts.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getCookieConsentAccepted(host: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether the app should ask for consent again because new cookies were added to config.
|
|
11
|
+
* True when current config has at least one host that is not in consentedCookieHosts (the list
|
|
12
|
+
* stored when the user last gave consent). When re-prompting, pre-fill with acceptedHosts so
|
|
13
|
+
* existing approvals are kept.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getCookieConsentNeedsRenewal(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the list of cookie hosts that are in the current config but were not in the list
|
|
18
|
+
* when the user last gave consent. Use to show "new" badges or to know which cookies need
|
|
19
|
+
* fresh approval while keeping existing acceptedHosts as pre-checked.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getCookieConsentNewHosts(): string[];
|
|
22
|
+
//# sourceMappingURL=cookieConsent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookieConsent.d.ts","sourceRoot":"","sources":["../../../src/features/cookieConsent/cookieConsent.ts"],"names":[],"mappings":"AAsCA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO9D;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAUtD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAMnD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns whether the given cookie host is accepted (feature may run) and whether
|
|
3
|
+
* consent should be re-collected. Use to gate features in React components.
|
|
4
|
+
*
|
|
5
|
+
* - isAccepted: true if cookie consent is not configured, or the host is not in the config list,
|
|
6
|
+
* or the user has accepted this host.
|
|
7
|
+
* - needsConsent: true if cookie consent is configured and the user has not yet consented,
|
|
8
|
+
* or new cookies were added since last consent (renewal); when showing the UI again, pre-fill
|
|
9
|
+
* with settings.cookieConsent.acceptedHosts to keep existing approvals.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useCookieConsent(host: string): {
|
|
12
|
+
isAccepted: boolean;
|
|
13
|
+
needsConsent: boolean;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useCookieConsent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCookieConsent.d.ts","sourceRoot":"","sources":["../../../src/features/cookieConsent/useCookieConsent.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAuB7F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DrawerDirection } from '../../components/ui/drawer';
|
|
3
|
+
export declare const DEFAULT_DRAWER_POSITION: DrawerDirection;
|
|
4
|
+
interface OpenDrawerOptions {
|
|
5
|
+
url?: string;
|
|
6
|
+
position?: DrawerDirection;
|
|
7
|
+
/** CSS length: height for top/bottom (e.g. "80vh", "400px"), width for left/right (e.g. "50vw", "320px") */
|
|
8
|
+
size?: string;
|
|
9
|
+
}
|
|
10
|
+
interface DrawerContextValue {
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
drawerUrl: string | null;
|
|
13
|
+
position: DrawerDirection;
|
|
14
|
+
size: string | null;
|
|
15
|
+
openDrawer: (options?: OpenDrawerOptions) => void;
|
|
16
|
+
closeDrawer: () => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const useDrawer: () => DrawerContextValue;
|
|
19
|
+
interface DrawerProviderProps {
|
|
20
|
+
children: ReactNode;
|
|
21
|
+
}
|
|
22
|
+
export declare const DrawerProvider: ({ children }: DrawerProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=DrawerContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerContext.d.ts","sourceRoot":"","sources":["../../../src/features/drawer/DrawerContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA8B9D,eAAO,MAAM,uBAAuB,EAAE,eAAyB,CAAC;AAEhE,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,4GAA4G;IAC5G,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAID,eAAO,MAAM,SAAS,0BAMrB,CAAC;AAEF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,GAAI,cAAc,mBAAmB,4CAmD/D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LayoutType, NavigationItem, NavigationGroup } from '../config/types';
|
|
2
|
+
interface AppLayoutProps {
|
|
3
|
+
layout?: LayoutType;
|
|
4
|
+
title?: string;
|
|
5
|
+
appIcon?: string;
|
|
6
|
+
logo?: string;
|
|
7
|
+
navigation: (NavigationItem | NavigationGroup)[];
|
|
8
|
+
}
|
|
9
|
+
/** Renders the layout based on settings.layout (override) or config.layout: 'sidebar' (default), 'fullscreen', or 'windows'. Lazy-loads only the active layout. */
|
|
10
|
+
export declare function AppLayout({ layout, title, appIcon, logo, navigation, }: AppLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=AppLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppLayout.d.ts","sourceRoot":"","sources":["../../../src/features/layouts/AppLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAanF,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAAC;CAClD;AAWD,mKAAmK;AACnK,wBAAgB,SAAS,CAAC,EACxB,MAAkB,EAClB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,UAAU,GACX,EAAE,cAAc,2CAwBhB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NavigationItem, NavigationGroup } from '../config/types';
|
|
2
|
+
interface DefaultLayoutProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
appIcon?: string;
|
|
5
|
+
logo?: string;
|
|
6
|
+
navigation: (NavigationItem | NavigationGroup)[];
|
|
7
|
+
}
|
|
8
|
+
export declare const DefaultLayout: ({ title, appIcon, logo, navigation }: DefaultLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=DefaultLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultLayout.d.ts","sourceRoot":"","sources":["../../../src/features/layouts/DefaultLayout.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0BvE,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAAC;CAClD;AAolBD,eAAO,MAAM,aAAa,GAAI,sCAAsC,kBAAkB,4CASrF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NavigationItem, NavigationGroup } from '../config/types';
|
|
2
|
+
interface FullscreenLayoutProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
navigation: (NavigationItem | NavigationGroup)[];
|
|
5
|
+
}
|
|
6
|
+
/** Full-width layout with no sidebar or navigation; only content area. Modal, drawer and providers are still active. */
|
|
7
|
+
export declare function FullscreenLayout({ title, navigation }: FullscreenLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=FullscreenLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullscreenLayout.d.ts","sourceRoot":"","sources":["../../../src/features/layouts/FullscreenLayout.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKvE,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAAC;CAClD;AAUD,wHAAwH;AACxH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,qBAAqB,2CAgC5E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface LayoutProvidersProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/** Wraps layout content with Modal, Drawer and Sonner providers.
|
|
6
|
+
* Note: DialogProvider is now at the app level in app.tsx */
|
|
7
|
+
export declare function LayoutProviders({ children }: LayoutProvidersProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=LayoutProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutProviders.d.ts","sourceRoot":"","sources":["../../../src/features/layouts/LayoutProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;6DAC6D;AAC7D,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAQjE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { NavigationItem } from '../config/types';
|
|
3
|
+
interface OverlayShellProps {
|
|
4
|
+
navigationItems: NavigationItem[];
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/** Renders modal, drawer and toaster overlays and handles SHELLUI_OPEN_MODAL / SHELLUI_NAVIGATE. */
|
|
8
|
+
export declare function OverlayShell({ navigationItems, children }: OverlayShellProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=OverlayShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverlayShell.d.ts","sourceRoot":"","sources":["../../../src/features/layouts/OverlayShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAStD,UAAU,iBAAiB;IACzB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAuJ5E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NavigationItem, NavigationGroup } from '../config/types';
|
|
2
|
+
interface WindowsLayoutProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
appIcon?: string;
|
|
5
|
+
logo?: string;
|
|
6
|
+
navigation: (NavigationItem | NavigationGroup)[];
|
|
7
|
+
}
|
|
8
|
+
export interface WindowState {
|
|
9
|
+
id: string;
|
|
10
|
+
path: string;
|
|
11
|
+
pathname: string;
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
label: string;
|
|
14
|
+
icon: string | null;
|
|
15
|
+
bounds: {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
w: number;
|
|
19
|
+
h: number;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export declare function WindowsLayout({ title, appIcon: _appIcon, logo: _logo, navigation, }: WindowsLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=WindowsLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowsLayout.d.ts","sourceRoot":"","sources":["../../../src/features/layouts/WindowsLayout.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAavE,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAAC;CAClD;AAkBD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AA6bD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,UAAU,GACX,EAAE,kBAAkB,2CAmWpB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NavigationItem, NavigationGroup, LocalizedString } from '../config/types';
|
|
2
|
+
/** Resolve a localized string to a single string for the given language. */
|
|
3
|
+
export declare function resolveLocalizedString(value: LocalizedString | undefined, lang: string): string;
|
|
4
|
+
/** Flatten navigation items from groups or flat array. */
|
|
5
|
+
export declare function flattenNavigationItems(navigation: (NavigationItem | NavigationGroup)[]): NavigationItem[];
|
|
6
|
+
export type Viewport = 'mobile' | 'desktop';
|
|
7
|
+
/** Filter navigation by viewport: remove hidden and viewport-specific hidden items (and empty groups). */
|
|
8
|
+
export declare function filterNavigationByViewport(navigation: (NavigationItem | NavigationGroup)[], viewport: Viewport): (NavigationItem | NavigationGroup)[];
|
|
9
|
+
/** Filter navigation for sidebar: remove hidden items and groups that become empty. */
|
|
10
|
+
export declare function filterNavigationForSidebar(navigation: (NavigationItem | NavigationGroup)[]): (NavigationItem | NavigationGroup)[];
|
|
11
|
+
/** Split navigation by position: start (main content) and end (footer). */
|
|
12
|
+
export declare function splitNavigationByPosition(navigation: (NavigationItem | NavigationGroup)[]): {
|
|
13
|
+
start: (NavigationItem | NavigationGroup)[];
|
|
14
|
+
end: NavigationItem[];
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/features/layouts/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExF,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/F;AAED,0DAA0D;AAC1D,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,GAC/C,cAAc,EAAE,CAUlB;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5C,0GAA0G;AAC1G,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,EAChD,QAAQ,EAAE,QAAQ,GACjB,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAwBtC;AAED,uFAAuF;AACvF,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,GAC/C,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAetC;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,GAAG;IAC3F,KAAK,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAAC;IAC5C,GAAG,EAAE,cAAc,EAAE,CAAC;CACvB,CAkBA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Validates and normalizes a URL to ensure it's from the same domain or localhost
|
|
4
|
+
* @param url - The URL or path to validate
|
|
5
|
+
* @returns The normalized absolute URL or null if invalid
|
|
6
|
+
*/
|
|
7
|
+
export declare const validateAndNormalizeUrl: (url: string | undefined | null) => string | null;
|
|
8
|
+
interface ModalContextValue {
|
|
9
|
+
isOpen: boolean;
|
|
10
|
+
modalUrl: string | null;
|
|
11
|
+
openModal: (url?: string) => void;
|
|
12
|
+
closeModal: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const useModal: () => ModalContextValue;
|
|
15
|
+
interface ModalProviderProps {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export declare const ModalProvider: ({ children }: ModalProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=ModalContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalContext.d.ts","sourceRoot":"","sources":["../../../src/features/modal/ModalContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpG;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,MAAM,GAAG,IAuCjF,CAAC;AAEF,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAID,eAAO,MAAM,QAAQ,yBAMpB,CAAC;AAEF,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,GAAI,cAAc,kBAAkB,4CAyC7D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialize error reporting only in production when configured and user has not disabled it.
|
|
3
|
+
* Lazy-loads @sentry/react only when needed so the bundle is not loaded when Sentry is unused.
|
|
4
|
+
* Reads DSN, environment, and release from __SHELLUI_SENTRY_DSN__, __SHELLUI_SENTRY_ENVIRONMENT__,
|
|
5
|
+
* and __SHELLUI_SENTRY_RELEASE__ (injected at build time) and user preference from settings.
|
|
6
|
+
* Exported so the settings UI can re-initialize when the user re-enables reporting.
|
|
7
|
+
*/
|
|
8
|
+
export declare function initSentry(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Close Sentry when the user disables error reporting in settings.
|
|
11
|
+
* Only loads @sentry/react if it was already initialized (avoids loading the chunk just to close).
|
|
12
|
+
*/
|
|
13
|
+
export declare function closeSentry(): void;
|
|
14
|
+
//# sourceMappingURL=initSentry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initSentry.d.ts","sourceRoot":"","sources":["../../../src/features/sentry/initSentry.ts"],"names":[],"mappings":"AA2BA;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAqBjC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAQlC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Settings } from '@shellui/sdk';
|
|
2
|
+
export interface SettingsContextValue {
|
|
3
|
+
settings: Settings;
|
|
4
|
+
updateSettings: (updates: Partial<Settings>) => void;
|
|
5
|
+
updateSetting: <K extends keyof Settings>(key: K, updates: Partial<Settings[K]>) => void;
|
|
6
|
+
resetAllData: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const SettingsContext: import('react').Context<SettingsContextValue | undefined>;
|
|
9
|
+
export declare function useSettings(): SettingsContextValue;
|
|
10
|
+
//# sourceMappingURL=SettingsContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsContext.d.ts","sourceRoot":"","sources":["../../../src/features/settings/SettingsContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzF,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,2DAA6D,CAAC;AAE1F,wBAAgB,WAAW,yBAM1B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const MenuIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const HomeIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const PaintbrushIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const MessageCircleIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const GlobeIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const KeyboardIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const CheckIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const VideoIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const LinkIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const LockIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const SettingsIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const CodeIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const ChevronRightIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare const ChevronLeftIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const ShieldIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare const HardDriveIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare const RefreshCwIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
/** Double-arrow refresh / sync icon (two curved arrows in a circle). */
|
|
19
|
+
export declare const RefreshDoubleIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare const ServerIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const PackageIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=SettingsIcons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsIcons.d.ts","sourceRoot":"","sources":["../../../src/features/settings/SettingsIcons.tsx"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,+CA+BpB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAepB,CAAC;AAEF,eAAO,MAAM,cAAc,+CAiB1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,+CAc7B,CAAC;AAEF,eAAO,MAAM,SAAS,+CAyBrB,CAAC;AAEF,eAAO,MAAM,YAAY,+CA4BxB,CAAC;AAEF,eAAO,MAAM,SAAS,+CAcrB,CAAC;AAEF,eAAO,MAAM,SAAS,+CAqBrB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAepB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAsBpB,CAAC;AAEF,eAAO,MAAM,YAAY,+CAmBxB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAepB,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAc5B,CAAC;AAEF,eAAO,MAAM,eAAe,+CAc3B,CAAC;AAEF,eAAO,MAAM,UAAU,+CActB,CAAC;AAEF,eAAO,MAAM,aAAa,+CAgCzB,CAAC;AAEF,eAAO,MAAM,aAAa,+CAezB,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,+CAgB7B,CAAC;AAEF,eAAO,MAAM,UAAU,+CAqDtB,CAAC;AAEF,eAAO,MAAM,WAAW,+CAiBvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsProvider.d.ts","sourceRoot":"","sources":["../../../src/features/settings/SettingsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAyF1F,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CA2PrE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const createSettingsRoutes: (t: (key: string) => string) => {
|
|
2
|
+
name: string;
|
|
3
|
+
icon: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
path: string;
|
|
5
|
+
element: import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
}[];
|
|
7
|
+
//# sourceMappingURL=SettingsRoutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsRoutes.d.ts","sourceRoot":"","sources":["../../../src/features/settings/SettingsRoutes.tsx"],"names":[],"mappings":"AAkBA,eAAO,MAAM,oBAAoB,GAAI,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;;;;;GA+C9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsView.d.ts","sourceRoot":"","sources":["../../../src/features/settings/SettingsView.tsx"],"names":[],"mappings":"AA6BA,eAAO,MAAM,YAAY,+CAySxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Advanced.d.ts","sourceRoot":"","sources":["../../../../src/features/settings/components/Advanced.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,QAAQ,+CAuHpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Appearance.d.ts","sourceRoot":"","sources":["../../../../src/features/settings/components/Appearance.tsx"],"names":[],"mappings":"AAoKA,eAAO,MAAM,UAAU,+CA6ItB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataPrivacy.d.ts","sourceRoot":"","sources":["../../../../src/features/settings/components/DataPrivacy.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW,+CAqIvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Develop.d.ts","sourceRoot":"","sources":["../../../../src/features/settings/components/Develop.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO,+CA+JnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageAndRegion.d.ts","sourceRoot":"","sources":["../../../../src/features/settings/components/LanguageAndRegion.tsx"],"names":[],"mappings":"AAoLA,eAAO,MAAM,iBAAiB,+CAoJ7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceWorker.d.ts","sourceRoot":"","sources":["../../../../src/features/settings/components/ServiceWorker.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,+CA4VzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateApp.d.ts","sourceRoot":"","sources":["../../../../src/features/settings/components/UpdateApp.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,SAAS,+CA4LrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogTestButtons.d.ts","sourceRoot":"","sources":["../../../../../src/features/settings/components/develop/DialogTestButtons.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,+CAoI7B,CAAC"}
|