@donotdev/ui 0.0.8 → 0.0.10
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/components/auth/AuthHeader.d.ts +1 -1
- package/dist/components/auth/AuthHeader.d.ts.map +1 -1
- package/dist/components/auth/AuthMenu.d.ts +2 -1
- package/dist/components/auth/AuthMenu.d.ts.map +1 -1
- package/dist/components/auth/AuthMenu.js +1 -1
- package/dist/components/common/AppLoading.d.ts +1 -1
- package/dist/components/common/AppLoading.d.ts.map +1 -1
- package/dist/components/common/AppLoading.js +0 -1
- package/dist/components/common/Loader.d.ts +4 -4
- package/dist/components/common/Loader.d.ts.map +1 -1
- package/dist/components/common/Loader.js +11 -12
- package/dist/components/common/LoadingMessage.d.ts +1 -9
- package/dist/components/common/LoadingMessage.d.ts.map +1 -1
- package/dist/components/common/LoadingMessage.js +0 -1
- package/dist/components/common/LoadingScreen.d.ts +1 -9
- package/dist/components/common/LoadingScreen.d.ts.map +1 -1
- package/dist/components/common/LoadingScreen.js +0 -1
- package/dist/components/common/RedirectOverlay.js +1 -1
- package/dist/components/common/TechBento.d.ts.map +1 -1
- package/dist/components/common/TechBento.js +1 -0
- package/dist/components/layout/components/FloatingLanguageSwitcher.d.ts +1 -9
- package/dist/components/layout/components/FloatingLanguageSwitcher.d.ts.map +1 -1
- package/dist/components/layout/components/FloatingLanguageSwitcher.js +0 -1
- package/dist/components/layout/components/header/CacheSettings.d.ts.map +1 -1
- package/dist/components/layout/components/header/HeaderMenu.d.ts.map +1 -1
- package/dist/components/layout/components/header/SettingsMenu.d.ts.map +1 -1
- package/dist/components/layout/components/header/SettingsMenu.js +0 -1
- package/dist/components/layout/components/header/ThemeToggle.d.ts +1 -1
- package/dist/components/layout/components/header/ThemeToggle.d.ts.map +1 -1
- package/dist/components/layout/components/header/ThemeToggle.js +5 -4
- package/dist/crud/components/DisplayFieldRenderer.d.ts +3 -11
- package/dist/crud/components/DisplayFieldRenderer.d.ts.map +1 -1
- package/dist/crud/components/DisplayFieldRenderer.js +3 -2
- package/dist/crud/components/EntityDisplayRenderer.d.ts +2 -2
- package/dist/crud/components/fields/display/AvatarFieldDisplay.d.ts +2 -2
- package/dist/crud/components/fields/display/BadgeFieldDisplay.d.ts +2 -2
- package/dist/crud/components/fields/display/ButtonFieldDisplay.d.ts +2 -2
- package/dist/crud/components/fields/display/CheckboxFieldDisplay.d.ts +2 -2
- package/dist/crud/components/fields/display/DateFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/DateFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/DateFieldDisplay.js +2 -4
- package/dist/crud/components/fields/display/DropdownDisplay.d.ts +2 -2
- package/dist/crud/components/fields/display/FileFieldDisplay.d.ts +2 -2
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts +3 -3
- package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/HiddenFieldDisplay.js +0 -9
- package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/ImageFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/LinkFieldDisplay.js +6 -6
- package/dist/crud/components/fields/display/MapFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/MapFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/MapFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/MultiDropdownDisplay.js +0 -1
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/NumberFieldDisplay.js +2 -4
- package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts +3 -3
- package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/PasswordFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/PhoneNumberDisplay.js +1 -3
- package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/RadioFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/RangeFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/RichTextDisplay.d.ts +25 -0
- package/dist/crud/components/fields/display/RichTextDisplay.d.ts.map +1 -0
- package/dist/crud/components/fields/display/RichTextDisplay.js +104 -0
- package/dist/crud/components/fields/display/TextAreaDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/TextAreaDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/TextAreaDisplay.js +0 -1
- package/dist/crud/components/fields/display/TextFieldDisplay.d.ts +2 -2
- package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts +3 -11
- package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts.map +1 -1
- package/dist/crud/components/fields/display/TimestampFieldDisplay.js +0 -1
- package/dist/crud/components/fields/display/index.d.ts +1 -0
- package/dist/crud/components/fields/display/index.d.ts.map +1 -1
- package/dist/crud/components/fields/display/index.js +1 -0
- package/dist/dndev.css +618 -156
- package/dist/index.js +64 -4
- package/dist/internal/common/ErrorFallback.d.ts +1 -10
- package/dist/internal/common/ErrorFallback.d.ts.map +1 -1
- package/dist/internal/common/GlobalErrorFallback.d.ts +1 -9
- package/dist/internal/common/GlobalErrorFallback.d.ts.map +1 -1
- package/dist/internal/common/RouteErrorFallback.d.ts.map +1 -1
- package/dist/internal/common/RouteErrorFallback.js +2 -3
- package/dist/internal/devtools/components/DebugDialog.d.ts.map +1 -1
- package/dist/internal/devtools/components/DebugDialog.js +3 -1
- package/dist/internal/devtools/components/MaskedValue.d.ts.map +1 -1
- package/dist/internal/devtools/components/MaskedValue.js +1 -1
- package/dist/internal/devtools/components/StoresTab.js +1 -1
- package/dist/internal/initializers/BaseStoresInitializer.d.ts.map +1 -1
- package/dist/internal/initializers/BaseStoresInitializer.js +1 -2
- package/dist/internal/initializers/NextJsStoresInitializer.d.ts.map +1 -1
- package/dist/internal/layout/DnDevLayout.d.ts.map +1 -1
- package/dist/internal/layout/DnDevLayout.js +6 -6
- package/dist/internal/layout/components/AutoMetaTags.d.ts.map +1 -1
- package/dist/internal/layout/components/footer/FooterBranding.d.ts +0 -2
- package/dist/internal/layout/components/footer/FooterBranding.d.ts.map +1 -1
- package/dist/internal/layout/components/footer/FooterBranding.js +2 -6
- package/dist/internal/layout/components/footer/FooterCopyright.d.ts +0 -2
- package/dist/internal/layout/components/footer/FooterCopyright.d.ts.map +1 -1
- package/dist/internal/layout/components/footer/FooterCopyright.js +2 -6
- package/dist/internal/layout/components/footer/FooterLegalLinks.js +2 -2
- package/dist/internal/layout/config/defaults.d.ts +0 -10
- package/dist/internal/layout/config/defaults.d.ts.map +1 -1
- package/dist/internal/layout/config/defaults.js +12 -1
- package/dist/internal/layout/config/presets/admin.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/admin.js +7 -2
- package/dist/internal/layout/config/presets/blog.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/blog.js +7 -1
- package/dist/internal/layout/config/presets/docs.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/docs.js +7 -5
- package/dist/internal/layout/config/presets/game.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/game.js +7 -2
- package/dist/internal/layout/config/presets/moolti.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/moolti.js +11 -4
- package/dist/internal/layout/zones/DnDevFooter.d.ts +1 -13
- package/dist/internal/layout/zones/DnDevFooter.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevFooter.js +2 -2
- package/dist/internal/layout/zones/DnDevHeader.d.ts +1 -14
- package/dist/internal/layout/zones/DnDevHeader.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevMergedBar.d.ts +2 -14
- package/dist/internal/layout/zones/DnDevMergedBar.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevMergedBar.js +11 -3
- package/dist/internal/layout/zones/DnDevSidebar.d.ts +1 -14
- package/dist/internal/layout/zones/DnDevSidebar.d.ts.map +1 -1
- package/dist/routing/AuthGuard.d.ts.map +1 -1
- package/dist/routing/GoTo.d.ts +3 -1
- package/dist/routing/GoTo.d.ts.map +1 -1
- package/dist/routing/GoTo.js +6 -2
- package/dist/routing/GoToDialog.d.ts +1 -1
- package/dist/routing/GoToDialog.d.ts.map +1 -1
- package/dist/routing/GoToDialog.js +3 -5
- package/dist/routing/NavigationItem.d.ts +1 -1
- package/dist/routing/NavigationItem.d.ts.map +1 -1
- package/dist/routing/NavigationItem.js +0 -1
- package/dist/routing/hooks/hooks.next.js +1 -1
- package/dist/routing/hooks/hooks.vite.js +1 -1
- package/dist/routing/hooks/useFormNavigationBlocker.d.ts +14 -0
- package/dist/routing/hooks/useFormNavigationBlocker.d.ts.map +1 -0
- package/dist/routing/hooks/useFormNavigationBlocker.js +42 -0
- package/dist/routing/hooks/useNavigate.next.d.ts +1 -1
- package/dist/routing/hooks/useNavigate.next.d.ts.map +1 -1
- package/dist/routing/hooks/useNavigate.next.js +8 -2
- package/dist/routing/hooks/useNavigate.vite.d.ts +1 -1
- package/dist/routing/hooks/useNavigate.vite.d.ts.map +1 -1
- package/dist/routing/hooks/useNavigate.vite.js +7 -1
- package/dist/routing/useGoTo.d.ts.map +1 -1
- package/dist/styles/index.css +618 -156
- package/dist/utils/assetResolver.d.ts +1 -1
- package/dist/utils/assetResolver.d.ts.map +1 -1
- package/dist/utils/assetResolver.js +1 -2
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/tList.d.ts +1 -1
- package/dist/utils/tList.d.ts.map +1 -1
- package/dist/utils/useAuthSafe.d.ts +0 -33
- package/dist/utils/useAuthSafe.d.ts.map +1 -1
- package/dist/utils/useAuthSafe.js +34 -1
- package/dist/utils/useCrudSafe.d.ts +12 -6
- package/dist/utils/useCrudSafe.d.ts.map +1 -1
- package/dist/utils/useCrudSafe.js +9 -6
- package/dist/utils/useFormStoreSafe.d.ts +59 -0
- package/dist/utils/useFormStoreSafe.d.ts.map +1 -0
- package/dist/utils/useFormStoreSafe.js +115 -0
- package/dist/utils/useOAuthSafe.d.ts.map +1 -1
- package/dist/utils/useStripeBillingSafe.d.ts +1 -34
- package/dist/utils/useStripeBillingSafe.d.ts.map +1 -1
- package/dist/utils/useStripeBillingSafe.js +34 -1
- package/dist/vite-routing/AppRoutes.d.ts +1 -1
- package/dist/vite-routing/AppRoutes.d.ts.map +1 -1
- package/dist/vite-routing/AppRoutes.js +0 -1
- package/dist/vite-routing/RootLayout.d.ts.map +1 -1
- package/dist/vite-routing/RootLayout.js +3 -6
- package/package.json +5 -5
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview Shared Error Fallback Component
|
|
3
|
-
* @description A single error UI that takes full viewport and adapts recovery actions based on the context (global vs route errors). Uses only native HTML elements and emojis to avoid component dependencies.
|
|
4
|
-
* it's not using anything to make sure it doesnt crash.
|
|
5
|
-
*
|
|
6
|
-
* @version 0.0.1
|
|
7
|
-
* @since 0.0.1
|
|
8
|
-
* @author AMBROISE PARK Consulting
|
|
9
|
-
*/
|
|
10
|
-
import { type ComponentType } from 'react';
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
11
2
|
interface ErrorFallbackProps {
|
|
12
3
|
error: unknown;
|
|
13
4
|
resetError: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorFallback.d.ts","sourceRoot":"","sources":["../../../src/internal/common/ErrorFallback.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ErrorFallback.d.ts","sourceRoot":"","sources":["../../../src/internal/common/ErrorFallback.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,UAAU,kBAAkB;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA0TpD,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview GlobalErrorFallback component
|
|
3
|
-
* @description Global error boundary fallback for application-level errors
|
|
4
|
-
*
|
|
5
|
-
* @version 0.0.1
|
|
6
|
-
* @since 0.0.1
|
|
7
|
-
* @author AMBROISE PARK Consulting
|
|
8
|
-
*/
|
|
9
|
-
import { type ComponentType } from 'react';
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
10
2
|
interface SentryFallbackProps {
|
|
11
3
|
error: unknown;
|
|
12
4
|
resetError: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalErrorFallback.d.ts","sourceRoot":"","sources":["../../../src/internal/common/GlobalErrorFallback.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GlobalErrorFallback.d.ts","sourceRoot":"","sources":["../../../src/internal/common/GlobalErrorFallback.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,CAuC3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteErrorFallback.d.ts","sourceRoot":"","sources":["../../../src/internal/common/RouteErrorFallback.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RouteErrorFallback.d.ts","sourceRoot":"","sources":["../../../src/internal/common/RouteErrorFallback.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,UAAU,uBAAuB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CAyPrE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -13,9 +13,8 @@ import { AlertTriangle, Home, ArrowLeft, RotateCw, Copy, Check, } from 'lucide-r
|
|
|
13
13
|
import { useEffect, useState } from 'react';
|
|
14
14
|
import { Button, BUTTON_VARIANT, Card, CARD_VARIANT, Alert, ALERT_VARIANT, Stack, } from '@donotdev/components';
|
|
15
15
|
import { handleError, useTranslation } from '@donotdev/core';
|
|
16
|
-
import { PageContainer } from '../../components/layout/PageContainer';
|
|
17
|
-
// Platform-specific hooks via conditional exports
|
|
18
16
|
import { useLocation, useBack } from '@donotdev/ui/routing/hooks';
|
|
17
|
+
// Platform-specific hooks via conditional exports
|
|
19
18
|
import { Link } from '../../routing/Link';
|
|
20
19
|
/**
|
|
21
20
|
* Professional Route Error Fallback Component
|
|
@@ -95,7 +94,7 @@ export const RouteErrorFallback = ({ error, resetError, componentStack, eventId,
|
|
|
95
94
|
}
|
|
96
95
|
}
|
|
97
96
|
};
|
|
98
|
-
return (_jsx(
|
|
97
|
+
return (_jsx("div", { className: "dndev-container", "data-variant": "standard", "data-centered": "true", children: _jsx(Card, { variant: CARD_VARIANT.DEFAULT, elevated: true, className: "dndev-w-full", style: { maxWidth: '65ch', margin: '0 auto' }, children: _jsxs(Stack, { gap: "large", align: "center", className: "dndev-text-center", children: [_jsx(Stack, { align: "center", justify: "center", style: {
|
|
99
98
|
width: '5rem',
|
|
100
99
|
height: '5rem',
|
|
101
100
|
backgroundColor: 'rgba(220, 38, 38, 0.1)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugDialog.d.ts","sourceRoot":"","sources":["../../../../src/internal/devtools/components/DebugDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DebugDialog.d.ts","sourceRoot":"","sources":["../../../../src/internal/devtools/components/DebugDialog.tsx"],"names":[],"mappings":"AA8BA,eAAO,MAAM,WAAW,+CAiFvB,CAAC"}
|
|
@@ -12,13 +12,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
12
12
|
import { PanelRight } from 'lucide-react';
|
|
13
13
|
import { useState } from 'react';
|
|
14
14
|
import { Button, BUTTON_VARIANT, Sheet, Tabs, Stack, ScrollArea, } from '@donotdev/components';
|
|
15
|
+
import { useTranslation } from '@donotdev/core';
|
|
15
16
|
import { ConfigTab } from './ConfigTab';
|
|
16
17
|
import { CookieTab } from './CookieTab';
|
|
17
18
|
import { DesignTab } from './DesignTab';
|
|
18
19
|
import { StoresTab } from './StoresTab';
|
|
19
20
|
export const DebugDialog = () => {
|
|
21
|
+
const { t } = useTranslation('dndev');
|
|
20
22
|
const [open, setOpen] = useState(false);
|
|
21
|
-
return (_jsx(Sheet, { open: open, onOpenChange: setOpen, trigger: _jsx(Button, { icon: PanelRight, iconEnd: true, variant: BUTTON_VARIANT.OUTLINE, className: "dndev-flex-1 dndev-justify-center dndev-items-center", title: "Open debug panel", "aria-label": "Debug panel", children: "\uD83D\uDC1B Debug Tools" }), side: "top", showOverlay: false, title:
|
|
23
|
+
return (_jsx(Sheet, { open: open, onOpenChange: setOpen, trigger: _jsx(Button, { icon: PanelRight, iconEnd: true, variant: BUTTON_VARIANT.OUTLINE, className: "dndev-flex-1 dndev-justify-center dndev-items-center", title: "Open debug panel", "aria-label": "Debug panel", children: "\uD83D\uDC1B Debug Tools" }), side: "top", showOverlay: false, title: t('sheet.debugPanel', { defaultValue: 'Debug Panel' }), className: "dndev-h-[80vh] dndev-max-h-[80vh]", "data-dndev-devtools": "true", children: _jsx(Stack, { flex: "1", className: "dndev-h-full dndev-min-h-0", style: { padding: 0, overflow: 'hidden', height: '100%' }, children: _jsx(Tabs, { defaultValue: "config", className: "dndev-flex-1 dndev-min-h-0 dndev-flex dndev-flex-col dndev-h-full", items: [
|
|
22
24
|
{
|
|
23
25
|
value: 'config',
|
|
24
26
|
label: 'Config',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaskedValue.d.ts","sourceRoot":"","sources":["../../../../src/internal/devtools/components/MaskedValue.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MaskedValue.d.ts","sourceRoot":"","sources":["../../../../src/internal/devtools/components/MaskedValue.tsx"],"names":[],"mappings":"AAgCA,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IAEjE,OAAO,EAAE,MAAM,CAAC;IAEhB,4EAA4E;IAE5E,KAAK,EAAE,MAAM,CAAC;IAEd,2CAA2C;IAE3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IAEtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IAEpD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AAEH,eAAO,MAAM,WAAW,GAAI,wDAUzB,gBAAgB,4CA2ElB,CAAC"}
|
|
@@ -16,9 +16,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
16
16
|
* @author AMBROISE PARK Consulting
|
|
17
17
|
|
|
18
18
|
*/
|
|
19
|
+
import { Eye, EyeOff } from 'lucide-react';
|
|
19
20
|
import { useState } from 'react';
|
|
20
21
|
import { Stack, Text, Button, BUTTON_VARIANT, CopyToClipboard, } from '@donotdev/components';
|
|
21
|
-
import { Eye, EyeOff } from 'lucide-react';
|
|
22
22
|
import { shouldMaskValue, maskSensitiveValue } from '../utils/maskSensitive';
|
|
23
23
|
/**
|
|
24
24
|
|
|
@@ -9,9 +9,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
9
9
|
* @since 0.0.1
|
|
10
10
|
* @author AMBROISE PARK Consulting
|
|
11
11
|
*/
|
|
12
|
+
import { RefreshCw } from 'lucide-react';
|
|
12
13
|
import { useState, useEffect, useCallback } from 'react';
|
|
13
14
|
import { Stack, Card, Accordion, ScrollArea, JsonViewer, Text, Badge, BADGE_VARIANT, Button, BUTTON_VARIANT, } from '@donotdev/components';
|
|
14
|
-
import { RefreshCw } from 'lucide-react';
|
|
15
15
|
const STORE_NAMES = {
|
|
16
16
|
'theme-store': 'Theme',
|
|
17
17
|
'consent-store': 'Consent',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseStoresInitializer.d.ts","sourceRoot":"","sources":["../../../src/internal/initializers/BaseStoresInitializer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseStoresInitializer.d.ts","sourceRoot":"","sources":["../../../src/internal/initializers/BaseStoresInitializer.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4DvC;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyGD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,QAAQ,EACR,YAAiB,EACjB,aAAqB,EACrB,aAAa,GACd,EAAE,0BAA0B,kDAgJ5B"}
|
|
@@ -10,7 +10,7 @@ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
* @author AMBROISE PARK Consulting
|
|
11
11
|
*/
|
|
12
12
|
import { useEffect, useLayoutEffect, useRef } from 'react';
|
|
13
|
-
import { useThemeStore, useNavigationStore,
|
|
13
|
+
import { useThemeStore, useNavigationStore, useOverlayStore, useNetworkStore, useAbortControllerStore, useConsentStore, useConsentReady, useThemeReady, getPlatformEnvVar, } from '@donotdev/core';
|
|
14
14
|
import { useI18nReady } from '@donotdev/core';
|
|
15
15
|
import { handleError, isClient, getDndevConfig, globalEmitter, } from '@donotdev/core';
|
|
16
16
|
import { useAppConfig } from '@donotdev/core';
|
|
@@ -65,7 +65,6 @@ function removeShellLoader(options) {
|
|
|
65
65
|
const STORE_CONFIG = [
|
|
66
66
|
{ name: 'consent', type: 'critical', store: useConsentStore },
|
|
67
67
|
{ name: 'theme', type: 'critical', store: useThemeStore },
|
|
68
|
-
{ name: 'loading', type: 'regular', store: useLoadingStore },
|
|
69
68
|
{ name: 'overlay', type: 'regular', store: useOverlayStore },
|
|
70
69
|
{ name: 'network', type: 'regular', store: useNetworkStore },
|
|
71
70
|
{ name: 'abort', type: 'regular', store: useAbortControllerStore },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextJsStoresInitializer.d.ts","sourceRoot":"","sources":["../../../src/internal/initializers/NextJsStoresInitializer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NextJsStoresInitializer.d.ts","sourceRoot":"","sources":["../../../src/internal/initializers/NextJsStoresInitializer.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,UAAU,4BAA4B;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,GACd,EAAE,4BAA4B,kDA2D9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnDevLayout.d.ts","sourceRoot":"","sources":["../../../src/internal/layout/DnDevLayout.tsx"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DnDevLayout.d.ts","sourceRoot":"","sources":["../../../src/internal/layout/DnDevLayout.tsx"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,gBAAgB,CAAC;AA0CxB,UAAU,yBAAyB;IACjC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GAAI,kCAIzB,yBAAyB,4CAwT3B,CAAC"}
|
|
@@ -11,18 +11,17 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
11
11
|
* @author AMBROISE PARK Consulting
|
|
12
12
|
*/
|
|
13
13
|
import { useLayoutEffect, useEffect, useRef, useMemo, Suspense, startTransition, lazy, } from 'react';
|
|
14
|
-
import { Outlet } from 'react-router-dom';
|
|
15
14
|
import { cn, Stack } from '@donotdev/components';
|
|
16
15
|
import { isClient, isNextJs, isDev, useBreakpoint } from '@donotdev/core';
|
|
17
16
|
import { useLayout } from '@donotdev/core';
|
|
18
17
|
import { useTranslation } from '@donotdev/core';
|
|
19
18
|
import { useAppConfig } from '@donotdev/core';
|
|
20
19
|
import { LAYOUT_PRESET, DENSITY } from '@donotdev/core';
|
|
20
|
+
import { useLocation } from '@donotdev/ui/routing/hooks';
|
|
21
21
|
import Breadcrumbs from '../../components/layout/components/Breadcrumbs';
|
|
22
22
|
import { GoToWrapper } from '../../routing';
|
|
23
|
-
import { useLocation } from '@donotdev/ui/routing/hooks';
|
|
24
|
-
import { presetRegistry } from './config/presets';
|
|
25
23
|
import { DEFAULT_SLOTS } from './config/defaults';
|
|
24
|
+
import { presetRegistry } from './config/presets';
|
|
26
25
|
import { DnDevHeader, DnDevSidebar, DnDevFooter, DnDevMergedBar, } from './zones';
|
|
27
26
|
const DebugTools = lazy(() => {
|
|
28
27
|
return import('../devtools')
|
|
@@ -67,14 +66,15 @@ export const DnDevLayout = ({ children, layout, className, }) => {
|
|
|
67
66
|
const app = useAppConfig('app');
|
|
68
67
|
// Subscribe to language changes for zone re-renders
|
|
69
68
|
useTranslation('dndev');
|
|
70
|
-
//
|
|
69
|
+
// Layout config props
|
|
71
70
|
const breadcrumbs = layout?.breadcrumbs ?? 'smart';
|
|
71
|
+
const footerMode = layout?.footerMode;
|
|
72
72
|
// Route detection for animations
|
|
73
73
|
const location = useLocation();
|
|
74
74
|
const pathname = location.pathname;
|
|
75
75
|
const mainRef = useRef(null);
|
|
76
76
|
// Platform content handling
|
|
77
|
-
const content =
|
|
77
|
+
const content = children;
|
|
78
78
|
// Get effective preset from store (always use store, never layout prop)
|
|
79
79
|
const effectivePreset = useMemo(() => {
|
|
80
80
|
return preset || 'landing';
|
|
@@ -247,5 +247,5 @@ export const DnDevLayout = ({ children, layout, className, }) => {
|
|
|
247
247
|
};
|
|
248
248
|
startTransition(updateDOM);
|
|
249
249
|
}, [effectivePreset]);
|
|
250
|
-
return (_jsxs("div", { className: cn('dndev-layout', className), children: [resolvedHeader, resolvedSidebar, _jsxs("main", { ref: mainRef, role: "main", className: "main", children: [breadcrumbs !== 'never' && (_jsx("div", { className: "breadcrumbs-container", children: _jsx(Breadcrumbs, { variant: breadcrumbs === 'always' ? 'default' : 'smart' }) })), isDev() && (_jsx(Suspense, { fallback: null, children: _jsx(DebugTools, {}) })),
|
|
250
|
+
return (_jsxs("div", { className: cn('dndev-layout', className), "data-footer-mode": footerMode, children: [resolvedHeader, resolvedSidebar, _jsxs("main", { ref: mainRef, role: "main", className: "main", children: [breadcrumbs !== 'never' && (_jsx("div", { className: "breadcrumbs-container", children: _jsx(Breadcrumbs, { variant: breadcrumbs === 'always' ? 'default' : 'smart' }) })), isDev() && (_jsx(Suspense, { fallback: null, children: _jsx(DebugTools, {}) })), content] }), resolvedFooter, resolvedMergedBar, _jsx(GoToWrapper, {})] }));
|
|
251
251
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoMetaTags.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/components/AutoMetaTags.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AutoMetaTags.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/components/AutoMetaTags.tsx"],"names":[],"mappings":"AA0DA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAwC3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,aAoN1B,CAAC;AAEF;;;GAGG;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FooterBranding.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/components/footer/FooterBranding.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FooterBranding.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/components/footer/FooterBranding.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CA8BnE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -20,20 +20,16 @@ import { useAppConfig } from '@donotdev/core';
|
|
|
20
20
|
* @since 0.0.1
|
|
21
21
|
* @author AMBROISE PARK Consulting
|
|
22
22
|
*/
|
|
23
|
-
export const FooterBranding = ({ className,
|
|
23
|
+
export const FooterBranding = ({ className, }) => {
|
|
24
24
|
const appUrl = useAppConfig('url');
|
|
25
25
|
const isFrameworkSite = appUrl === 'https://donotdev.com';
|
|
26
|
-
const sizeStyles = {
|
|
27
|
-
xs: { fontSize: 'var(--font-size-xs)' },
|
|
28
|
-
sm: { fontSize: 'var(--font-size-sm)' },
|
|
29
|
-
};
|
|
30
26
|
return (_jsxs("a", { href: isFrameworkSite
|
|
31
27
|
? 'https://www.ambroise-park.com'
|
|
32
28
|
: 'https://donotdev.com', target: "_blank", rel: "noopener noreferrer", className: className, style: {
|
|
33
29
|
display: 'inline-flex',
|
|
34
30
|
alignItems: 'center',
|
|
35
31
|
gap: 'var(--gap-sm)',
|
|
36
|
-
|
|
32
|
+
fontSize: 'var(--font-size-xs)',
|
|
37
33
|
}, children: [isFrameworkSite ? 'AMBROISE-PARK' : 'DoNotDev', _jsx(ExternalLink, { style: { width: '12px', height: '12px' }, "aria-hidden": "true" })] }));
|
|
38
34
|
};
|
|
39
35
|
export default FooterBranding;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FooterCopyright.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/components/footer/FooterCopyright.tsx"],"names":[],"mappings":"AAcA,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FooterCopyright.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/components/footer/FooterCopyright.tsx"],"names":[],"mappings":"AAcA,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAqBrE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -20,18 +20,14 @@ import { useTranslation, useAppConfig } from '@donotdev/core';
|
|
|
20
20
|
* @since 0.0.1
|
|
21
21
|
* @author AMBROISE PARK Consulting
|
|
22
22
|
*/
|
|
23
|
-
export const FooterCopyright = ({ appName, year = new Date().getFullYear(), className,
|
|
23
|
+
export const FooterCopyright = ({ appName, year = new Date().getFullYear(), className, }) => {
|
|
24
24
|
const { t } = useTranslation('dndev');
|
|
25
25
|
const app = useAppConfig('app');
|
|
26
26
|
const resolvedAppName = appName || app?.name || 'App';
|
|
27
|
-
const sizeStyles = {
|
|
28
|
-
xs: { fontSize: 'var(--font-size-xs)' },
|
|
29
|
-
sm: { fontSize: 'var(--font-size-sm)' },
|
|
30
|
-
};
|
|
31
27
|
return (_jsxs("span", { className: cn(className), style: {
|
|
32
28
|
flexShrink: 0,
|
|
33
29
|
color: 'var(--muted-foreground)',
|
|
34
|
-
|
|
30
|
+
fontSize: 'var(--font-size-xs)',
|
|
35
31
|
}, children: ["\u00A9 ", year, " ", resolvedAppName, ". ", t('footer.legal.allRightsReserved')] }));
|
|
36
32
|
};
|
|
37
33
|
export default FooterCopyright;
|
|
@@ -10,9 +10,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
10
10
|
*/
|
|
11
11
|
import { Stack } from '@donotdev/components';
|
|
12
12
|
import { useTranslation, maybeTranslate, useAppConfig } from '@donotdev/core';
|
|
13
|
-
import { Link } from '../../../../routing/Link';
|
|
14
|
-
import { useLegalLinks } from './useLegalLinks';
|
|
15
13
|
import { FooterBranding } from './FooterBranding';
|
|
14
|
+
import { useLegalLinks } from './useLegalLinks';
|
|
15
|
+
import { Link } from '../../../../routing/Link';
|
|
16
16
|
/**
|
|
17
17
|
* FooterLegalLinks - Legal links component
|
|
18
18
|
*
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Slot Defaults
|
|
3
|
-
* @description Default slot functions for zone components.
|
|
4
|
-
* All slots are functions that return ReactNode (never null in defaults).
|
|
5
|
-
* Zones use these unless preset overrides.
|
|
6
|
-
*
|
|
7
|
-
* @version 0.0.1
|
|
8
|
-
* @since 0.0.1
|
|
9
|
-
* @author AMBROISE PARK Consulting
|
|
10
|
-
*/
|
|
11
1
|
import type { ReactNode } from 'react';
|
|
12
2
|
/**
|
|
13
3
|
* Default slot functions - zones use these unless preset overrides
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/config/defaults.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/config/defaults.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;QAEtB,2DAA2D;qBAChD,SAAS;QAEpB,+DAA+D;sBACnD,SAAS;QAErB,+CAA+C;mBACtC,SAAS;;;QAWlB,4DAA4D;mBACnD,SAAS;QAElB,uCAAuC;uBAC1B,SAAS;QAItB,4CAA4C;sBAChC,SAAS;QAQrB,yBAAyB;;;;;;;YAQvB,mCAAmC;2BACtB,SAAS;YAEtB,4DAA4D;uBACnD,SAAS;YAElB,gEAAgE;2BACnD,SAAS;YAEtB,8DAA8D;0BAClD,SAAS;;;CAG1B,CAAC"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// packages/ui/src/internal/layout/config/defaults.tsx
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Slot Defaults
|
|
5
|
+
* @description Default slot functions for zone components.
|
|
6
|
+
* All slots are functions that return ReactNode (never null in defaults).
|
|
7
|
+
* Zones use these unless preset overrides.
|
|
8
|
+
*
|
|
9
|
+
* @version 0.0.1
|
|
10
|
+
* @since 0.0.1
|
|
11
|
+
* @author AMBROISE PARK Consulting
|
|
12
|
+
*/
|
|
2
13
|
import { DISPLAY } from '@donotdev/components';
|
|
3
14
|
import { LanguageSelector } from '@donotdev/core';
|
|
4
15
|
import { AuthHeader } from '../../../components/auth';
|
|
5
16
|
import { AppBranding, ThemeToggle, } from '../../../components/layout/components';
|
|
6
|
-
import { GoTo } from '../../../routing/GoTo';
|
|
7
17
|
import { DnDevNavigationMenu } from '../../../routing';
|
|
18
|
+
import { GoTo } from '../../../routing/GoTo';
|
|
8
19
|
/**
|
|
9
20
|
* Default slot functions - zones use these unless preset overrides
|
|
10
21
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/admin.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/admin.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,YAsBzB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// packages/ui/src/internal/layout/config/presets/admin.tsx
|
|
2
|
+
import { DEFAULT_SLOTS } from '../defaults';
|
|
2
3
|
/**
|
|
3
4
|
* Admin preset - admin panel layout
|
|
4
5
|
*
|
|
@@ -23,8 +24,12 @@ export const adminPreset = {
|
|
|
23
24
|
mobile: {
|
|
24
25
|
mergedBar: {
|
|
25
26
|
position: 'top',
|
|
26
|
-
height: '
|
|
27
|
-
//
|
|
27
|
+
height: 'var(--header-height)',
|
|
28
|
+
// Desktop → Mobile mapping:
|
|
29
|
+
trigger: DEFAULT_SLOTS.header.start, // header.start → trigger (AppBranding)
|
|
30
|
+
top: DEFAULT_SLOTS.header.center, // header.center → top (null)
|
|
31
|
+
content: DEFAULT_SLOTS.sidebar.content, // sidebar.content → content (NavigationMenu)
|
|
32
|
+
bottom: DEFAULT_SLOTS.header.end, // header.end → bottom (GoTo, Auth, Language, Theme)
|
|
28
33
|
},
|
|
29
34
|
},
|
|
30
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/blog.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/blog.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,EAAE,YAkBxB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// packages/ui/src/internal/layout/config/presets/blog.tsx
|
|
2
|
+
import { DEFAULT_SLOTS } from '../defaults';
|
|
2
3
|
/**
|
|
3
4
|
* Blog preset - content-focused layout
|
|
4
5
|
*
|
|
@@ -19,7 +20,12 @@ export const blogPreset = {
|
|
|
19
20
|
mobile: {
|
|
20
21
|
mergedBar: {
|
|
21
22
|
position: 'bottom',
|
|
22
|
-
//
|
|
23
|
+
// Desktop → Mobile mapping:
|
|
24
|
+
trigger: DEFAULT_SLOTS.header.start, // header.start → trigger (AppBranding)
|
|
25
|
+
top: DEFAULT_SLOTS.header.center, // header.center → top (null)
|
|
26
|
+
content: DEFAULT_SLOTS.sidebar.content, // sidebar.content → content (NavigationMenu)
|
|
27
|
+
bottom: DEFAULT_SLOTS.header.end, // header.end → bottom (GoTo, Auth, Language, Theme)
|
|
28
|
+
// Note: sidebar.bottom also has Auth+Lang+Theme, but header.end includes GoTo, so use header.end
|
|
23
29
|
},
|
|
24
30
|
},
|
|
25
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/docs.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/docs.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,YA8BxB,CAAC"}
|
|
@@ -12,6 +12,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
12
12
|
import { DISPLAY } from '@donotdev/components';
|
|
13
13
|
import { AppBranding } from '../../../../components/layout/components';
|
|
14
14
|
import { GoTo } from '../../../../routing/GoTo';
|
|
15
|
+
import { DEFAULT_SLOTS } from '../defaults';
|
|
15
16
|
/**
|
|
16
17
|
* Docs preset - documentation layout
|
|
17
18
|
*
|
|
@@ -39,11 +40,12 @@ export const docsPreset = {
|
|
|
39
40
|
mobile: {
|
|
40
41
|
mergedBar: {
|
|
41
42
|
position: 'top',
|
|
42
|
-
height: '
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
//
|
|
43
|
+
height: 'var(--header-height)',
|
|
44
|
+
// Desktop → Mobile mapping:
|
|
45
|
+
trigger: () => _jsx(AppBranding, { display: DISPLAY.AUTO }), // sidebar.top (AppBranding) → trigger
|
|
46
|
+
top: () => _jsx(GoTo, { display: DISPLAY.AUTO }), // sidebar.top (GoTo) → top
|
|
47
|
+
content: DEFAULT_SLOTS.sidebar.content, // sidebar.content → content (NavigationMenu)
|
|
48
|
+
bottom: DEFAULT_SLOTS.sidebar.bottom, // sidebar.bottom → bottom (Auth, Language, Theme)
|
|
47
49
|
},
|
|
48
50
|
},
|
|
49
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/game.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/game.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,EAAE,YAkCxB,CAAC"}
|
|
@@ -36,8 +36,13 @@ export const gamePreset = {
|
|
|
36
36
|
mobile: {
|
|
37
37
|
mergedBar: {
|
|
38
38
|
position: 'top',
|
|
39
|
-
|
|
40
|
-
//
|
|
39
|
+
// Desktop → Mobile mapping:
|
|
40
|
+
trigger: () => _jsx(GameTitle, {}), // header.center → trigger (GameTitle, since header.start is null)
|
|
41
|
+
top: () => _jsx(GameTitle, {}), // header.center → top (GameTitle)
|
|
42
|
+
content: () => null, // No sidebar → content is null
|
|
43
|
+
bottom: () => (
|
|
44
|
+
// header.end → bottom (Auth, Language, Theme)
|
|
45
|
+
_jsxs(_Fragment, { children: [_jsx(AuthHeader, { display: DISPLAY.AUTO }), _jsx(LanguageSelector, { display: DISPLAY.AUTO }), _jsx(ThemeToggle, { display: DISPLAY.AUTO })] })),
|
|
41
46
|
},
|
|
42
47
|
},
|
|
43
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moolti.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/moolti.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUnD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"moolti.d.ts","sourceRoot":"","sources":["../../../../../src/internal/layout/config/presets/moolti.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUnD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,YAgD1B,CAAC"}
|
|
@@ -13,8 +13,8 @@ import { DISPLAY, Stack } from '@donotdev/components';
|
|
|
13
13
|
import { LanguageSelector } from '@donotdev/core';
|
|
14
14
|
import { AuthHeader } from '../../../../components/auth';
|
|
15
15
|
import { AppBranding, ThemeToggle, } from '../../../../components/layout/components';
|
|
16
|
-
import { FooterCopyright } from '../../components';
|
|
17
16
|
import { DnDevNavigationMenu, GoTo } from '../../../../routing';
|
|
17
|
+
import { FooterCopyright } from '../../components';
|
|
18
18
|
/**
|
|
19
19
|
* Moolti preset - SaaS app layout
|
|
20
20
|
*
|
|
@@ -32,7 +32,7 @@ export const mooltiPreset = {
|
|
|
32
32
|
sidebar: {
|
|
33
33
|
top: () => _jsx(AppBranding, { display: DISPLAY.AUTO }),
|
|
34
34
|
content: () => (_jsxs(_Fragment, { children: [_jsx(GoTo, { display: DISPLAY.AUTO }), _jsx(DnDevNavigationMenu, { vertical: true, display: DISPLAY.AUTO })] })),
|
|
35
|
-
bottom: () => (_jsxs(Stack, { direction: "column", gap: "tight", align: "stretch", children: [_jsx(AuthHeader, { display: DISPLAY.AUTO }), _jsx(LanguageSelector, { display: DISPLAY.AUTO }), _jsx(ThemeToggle, { display: DISPLAY.AUTO }), _jsx(FooterCopyright, {
|
|
35
|
+
bottom: () => (_jsxs(Stack, { direction: "column", gap: "tight", align: "stretch", children: [_jsx(AuthHeader, { display: DISPLAY.AUTO }), _jsx(LanguageSelector, { display: DISPLAY.AUTO }), _jsx(ThemeToggle, { display: DISPLAY.AUTO }), _jsx(FooterCopyright, {})] })),
|
|
36
36
|
defaultWidth: 256,
|
|
37
37
|
minWidth: 48,
|
|
38
38
|
maxWidth: 400,
|
|
@@ -40,8 +40,15 @@ export const mooltiPreset = {
|
|
|
40
40
|
mobile: {
|
|
41
41
|
mergedBar: {
|
|
42
42
|
position: 'top',
|
|
43
|
-
|
|
44
|
-
// top
|
|
43
|
+
// Desktop → Mobile mapping:
|
|
44
|
+
trigger: () => _jsx(AppBranding, { display: DISPLAY.AUTO }), // sidebar.top → trigger (AppBranding)
|
|
45
|
+
top: () => null, // No header.center → top is null
|
|
46
|
+
content: () => (
|
|
47
|
+
// sidebar.content → content (GoTo + NavigationMenu)
|
|
48
|
+
_jsxs(_Fragment, { children: [_jsx(GoTo, { display: DISPLAY.AUTO }), _jsx(DnDevNavigationMenu, { vertical: true, display: DISPLAY.AUTO })] })),
|
|
49
|
+
bottom: () => (
|
|
50
|
+
// sidebar.bottom → bottom (Auth, Language, Theme, Footer)
|
|
51
|
+
_jsxs(Stack, { direction: "column", gap: "tight", align: "stretch", children: [_jsx(AuthHeader, { display: DISPLAY.AUTO }), _jsx(LanguageSelector, { display: DISPLAY.AUTO }), _jsx(ThemeToggle, { display: DISPLAY.AUTO }), _jsx(FooterCopyright, {})] })),
|
|
45
52
|
},
|
|
46
53
|
},
|
|
47
54
|
};
|
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview DnDevFooter Zone Component
|
|
3
|
-
* @description Footer zone with smart defaults.
|
|
4
|
-
*
|
|
5
|
-
* Default layout: Stack(FooterCopyright, FooterLegalLinks, FooterBranding)
|
|
6
|
-
* - Desktop: 2-zone [Copyright] | [Links + Branding]
|
|
7
|
-
* - Mobile: 2-line stacked, centered
|
|
8
|
-
*
|
|
9
|
-
* @version 0.0.1
|
|
10
|
-
* @since 0.0.1
|
|
11
|
-
* @author AMBROISE PARK Consulting
|
|
12
|
-
*/
|
|
13
|
-
import { type ReactNode } from 'react';
|
|
14
1
|
import type { AppMetadata } from '@donotdev/core';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
15
3
|
export interface DnDevFooterProps {
|
|
16
4
|
/** App metadata for copyright/links */
|
|
17
5
|
app?: AppMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnDevFooter.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevFooter.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DnDevFooter.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevFooter.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAUlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,oBAAoB,CAAC,EAAE,GAAQ,EAAE,EAAE,gBAAgB,GAAG,SAAS,CA8EvE;AAED,eAAO,MAAM,WAAW,kEAA6B,CAAC"}
|
|
@@ -49,9 +49,9 @@ function DnDevFooterComponent({ app = {} }) {
|
|
|
49
49
|
: copyrightConfig;
|
|
50
50
|
// Desktop/Wide: 2-zone layout [Copyright] | [Links + DoNotDev]
|
|
51
51
|
if (isLaptopOrDesktop) {
|
|
52
|
-
return (_jsx("footer", { role: "contentinfo", className: "footer", children: _jsxs(Stack, { direction: "row", align: "center", justify: "between", gap: "none", children: [showCopyright && (_jsx("div", { className: "dndev-flex dndev-justify-start", children: _jsx("span", { className: "footer-copyright", children: copyrightText }) })), _jsx("div", { className: "dndev-flex dndev-justify-end", children: _jsxs(Stack, { direction: "row", gap: "medium", align: "center", children: [links.map((link) => (_jsx(Link, { path: link.path, children: maybeTranslate(t, link.label) }, link.path))), _jsx(FooterBranding, {})] }) })] }) }));
|
|
52
|
+
return (_jsx("footer", { role: "contentinfo", className: "footer", children: _jsxs(Stack, { direction: "row", align: "center", justify: "between", gap: "none", children: [showCopyright && (_jsx("div", { className: "dndev-flex dndev-justify-start", children: _jsx("span", { className: "footer-copyright", children: copyrightText }) })), _jsx("div", { className: "dndev-flex dndev-justify-end", children: _jsxs(Stack, { direction: "row", gap: "medium", align: "center", children: [links.map((link) => (_jsx(Link, { path: link.path, style: { fontSize: 'var(--font-size-xs)' }, children: maybeTranslate(t, link.label) }, link.path))), _jsx(FooterBranding, {})] }) })] }) }));
|
|
53
53
|
}
|
|
54
54
|
// Mobile/Tablet: stacked layout
|
|
55
|
-
return (_jsx("footer", { role: "contentinfo", className: "footer", children: _jsxs(Stack, { align: "center", gap: "tight", children: [showCopyright && (_jsx("span", { className: "footer-copyright", children: copyrightText })), _jsxs(Stack, { direction: "row", wrap: "wrap", gap: "tight", justify: "center", align: "center", children: [links.map((link) => (_jsx(Link, { path: link.path, children: maybeTranslate(t, link.label) }, link.path))), _jsx(FooterBranding, {})] })] }) }));
|
|
55
|
+
return (_jsx("footer", { role: "contentinfo", className: "footer", children: _jsxs(Stack, { align: "center", gap: "tight", children: [showCopyright && (_jsx("span", { className: "footer-copyright", children: copyrightText })), _jsxs(Stack, { direction: "row", wrap: "wrap", gap: "tight", justify: "center", align: "center", children: [links.map((link) => (_jsx(Link, { path: link.path, style: { fontSize: 'var(--font-size-xs)' }, children: maybeTranslate(t, link.label) }, link.path))), _jsx(FooterBranding, {})] })] }) }));
|
|
56
56
|
}
|
|
57
57
|
export const DnDevFooter = memo(DnDevFooterComponent);
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview DnDevHeader Zone Component
|
|
3
|
-
* @description Header zone with smart defaults.
|
|
4
|
-
*
|
|
5
|
-
* Layout: start (start-aligned) | center (absolutely centered) | end (end-aligned)
|
|
6
|
-
* - start: [AppIcon, AppTitle] - start-aligned
|
|
7
|
-
* - center: null - absolutely centered overlay (regardless of start/end content)
|
|
8
|
-
* - end: [GoTo, Auth, Language, Theme] - end-aligned
|
|
9
|
-
*
|
|
10
|
-
* @version 0.0.1
|
|
11
|
-
* @since 0.0.1
|
|
12
|
-
* @author AMBROISE PARK Consulting
|
|
13
|
-
*/
|
|
14
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
15
2
|
export interface DnDevHeaderProps {
|
|
16
3
|
/** Start slot - ReactNode from preset or consumer override */
|
|
17
4
|
start?: ReactNode | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnDevHeader.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DnDevHeader.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevHeader.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,MAAM,EACN,GAAG,GACJ,EAAE,gBAAgB,GAAG,SAAS,CAgB9B;AAED,eAAO,MAAM,WAAW,kEAA6B,CAAC"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview DnDevMergedBar Zone Component
|
|
3
|
-
* @description Mobile navigation bar with Sheet trigger.
|
|
4
|
-
*
|
|
5
|
-
* Position: fixed (top or bottom)
|
|
6
|
-
* Slots: trigger (visible bar) + top/content/bottom (Sheet content)
|
|
7
|
-
* CSS: display:none on desktop, display:flex on mobile
|
|
8
|
-
*
|
|
9
|
-
* @version 0.0.1
|
|
10
|
-
* @since 0.0.1
|
|
11
|
-
* @author AMBROISE PARK Consulting
|
|
12
|
-
*/
|
|
13
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
14
2
|
export interface DnDevMergedBarProps {
|
|
15
3
|
/** Bar position */
|
|
16
4
|
position: 'top' | 'bottom';
|
|
17
|
-
/** Bar height (default:
|
|
5
|
+
/** Bar height (default: CSS uses var(--header-height) for top, 48px for bottom) */
|
|
18
6
|
height?: string;
|
|
19
7
|
/** Trigger slot - ReactNode from preset or consumer override */
|
|
20
8
|
trigger?: ReactNode | null;
|