@donotdev/ui 0.0.8 → 0.0.9

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.
Files changed (177) hide show
  1. package/dist/components/auth/AuthHeader.d.ts +1 -1
  2. package/dist/components/auth/AuthHeader.d.ts.map +1 -1
  3. package/dist/components/auth/AuthMenu.d.ts +2 -1
  4. package/dist/components/auth/AuthMenu.d.ts.map +1 -1
  5. package/dist/components/auth/AuthMenu.js +1 -1
  6. package/dist/components/common/AppLoading.d.ts +1 -1
  7. package/dist/components/common/AppLoading.d.ts.map +1 -1
  8. package/dist/components/common/AppLoading.js +0 -1
  9. package/dist/components/common/Loader.d.ts +4 -4
  10. package/dist/components/common/Loader.d.ts.map +1 -1
  11. package/dist/components/common/Loader.js +11 -12
  12. package/dist/components/common/LoadingMessage.d.ts +1 -9
  13. package/dist/components/common/LoadingMessage.d.ts.map +1 -1
  14. package/dist/components/common/LoadingMessage.js +0 -1
  15. package/dist/components/common/LoadingScreen.d.ts +1 -9
  16. package/dist/components/common/LoadingScreen.d.ts.map +1 -1
  17. package/dist/components/common/LoadingScreen.js +0 -1
  18. package/dist/components/common/RedirectOverlay.js +1 -1
  19. package/dist/components/common/TechBento.d.ts.map +1 -1
  20. package/dist/components/common/TechBento.js +1 -0
  21. package/dist/components/layout/components/FloatingLanguageSwitcher.d.ts +1 -9
  22. package/dist/components/layout/components/FloatingLanguageSwitcher.d.ts.map +1 -1
  23. package/dist/components/layout/components/FloatingLanguageSwitcher.js +0 -1
  24. package/dist/components/layout/components/header/CacheSettings.d.ts.map +1 -1
  25. package/dist/components/layout/components/header/HeaderMenu.d.ts.map +1 -1
  26. package/dist/components/layout/components/header/SettingsMenu.d.ts.map +1 -1
  27. package/dist/components/layout/components/header/SettingsMenu.js +0 -1
  28. package/dist/components/layout/components/header/ThemeToggle.d.ts +1 -1
  29. package/dist/components/layout/components/header/ThemeToggle.d.ts.map +1 -1
  30. package/dist/components/layout/components/header/ThemeToggle.js +5 -4
  31. package/dist/crud/components/DisplayFieldRenderer.d.ts +3 -11
  32. package/dist/crud/components/DisplayFieldRenderer.d.ts.map +1 -1
  33. package/dist/crud/components/DisplayFieldRenderer.js +3 -2
  34. package/dist/crud/components/EntityDisplayRenderer.d.ts +2 -2
  35. package/dist/crud/components/fields/display/AvatarFieldDisplay.d.ts +2 -2
  36. package/dist/crud/components/fields/display/BadgeFieldDisplay.d.ts +2 -2
  37. package/dist/crud/components/fields/display/ButtonFieldDisplay.d.ts +2 -2
  38. package/dist/crud/components/fields/display/CheckboxFieldDisplay.d.ts +2 -2
  39. package/dist/crud/components/fields/display/DateFieldDisplay.d.ts +3 -11
  40. package/dist/crud/components/fields/display/DateFieldDisplay.d.ts.map +1 -1
  41. package/dist/crud/components/fields/display/DateFieldDisplay.js +0 -1
  42. package/dist/crud/components/fields/display/DropdownDisplay.d.ts +2 -2
  43. package/dist/crud/components/fields/display/FileFieldDisplay.d.ts +2 -2
  44. package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts +3 -11
  45. package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts.map +1 -1
  46. package/dist/crud/components/fields/display/GeoPointFieldDisplay.js +0 -1
  47. package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts +3 -3
  48. package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts.map +1 -1
  49. package/dist/crud/components/fields/display/HiddenFieldDisplay.js +0 -9
  50. package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts +3 -11
  51. package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts.map +1 -1
  52. package/dist/crud/components/fields/display/ImageFieldDisplay.js +0 -1
  53. package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts +3 -11
  54. package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts.map +1 -1
  55. package/dist/crud/components/fields/display/LinkFieldDisplay.js +0 -1
  56. package/dist/crud/components/fields/display/MapFieldDisplay.d.ts +3 -11
  57. package/dist/crud/components/fields/display/MapFieldDisplay.d.ts.map +1 -1
  58. package/dist/crud/components/fields/display/MapFieldDisplay.js +0 -1
  59. package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts +3 -11
  60. package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts.map +1 -1
  61. package/dist/crud/components/fields/display/MultiDropdownDisplay.js +0 -1
  62. package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts +3 -11
  63. package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts.map +1 -1
  64. package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.js +0 -1
  65. package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts +3 -11
  66. package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts.map +1 -1
  67. package/dist/crud/components/fields/display/NumberFieldDisplay.js +0 -1
  68. package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts +3 -3
  69. package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts.map +1 -1
  70. package/dist/crud/components/fields/display/PasswordFieldDisplay.js +0 -1
  71. package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts +3 -11
  72. package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts.map +1 -1
  73. package/dist/crud/components/fields/display/PhoneNumberDisplay.js +0 -1
  74. package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts +3 -11
  75. package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts.map +1 -1
  76. package/dist/crud/components/fields/display/RadioFieldDisplay.js +0 -1
  77. package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts +3 -11
  78. package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts.map +1 -1
  79. package/dist/crud/components/fields/display/RangeFieldDisplay.js +0 -1
  80. package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts +3 -11
  81. package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts.map +1 -1
  82. package/dist/crud/components/fields/display/ReferenceFieldDisplay.js +0 -1
  83. package/dist/crud/components/fields/display/RichTextDisplay.d.ts +25 -0
  84. package/dist/crud/components/fields/display/RichTextDisplay.d.ts.map +1 -0
  85. package/dist/crud/components/fields/display/RichTextDisplay.js +104 -0
  86. package/dist/crud/components/fields/display/TextAreaDisplay.d.ts +3 -11
  87. package/dist/crud/components/fields/display/TextAreaDisplay.d.ts.map +1 -1
  88. package/dist/crud/components/fields/display/TextAreaDisplay.js +0 -1
  89. package/dist/crud/components/fields/display/TextFieldDisplay.d.ts +2 -2
  90. package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts +3 -11
  91. package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts.map +1 -1
  92. package/dist/crud/components/fields/display/TimestampFieldDisplay.js +0 -1
  93. package/dist/crud/components/fields/display/index.d.ts +1 -0
  94. package/dist/crud/components/fields/display/index.d.ts.map +1 -1
  95. package/dist/crud/components/fields/display/index.js +1 -0
  96. package/dist/dndev.css +401 -84
  97. package/dist/index.js +64 -4
  98. package/dist/internal/common/ErrorFallback.d.ts +1 -10
  99. package/dist/internal/common/ErrorFallback.d.ts.map +1 -1
  100. package/dist/internal/common/GlobalErrorFallback.d.ts +1 -9
  101. package/dist/internal/common/GlobalErrorFallback.d.ts.map +1 -1
  102. package/dist/internal/common/RouteErrorFallback.js +1 -1
  103. package/dist/internal/devtools/components/DebugDialog.d.ts.map +1 -1
  104. package/dist/internal/devtools/components/DebugDialog.js +3 -1
  105. package/dist/internal/devtools/components/MaskedValue.d.ts.map +1 -1
  106. package/dist/internal/devtools/components/MaskedValue.js +1 -1
  107. package/dist/internal/devtools/components/StoresTab.js +1 -1
  108. package/dist/internal/initializers/BaseStoresInitializer.d.ts.map +1 -1
  109. package/dist/internal/initializers/BaseStoresInitializer.js +1 -2
  110. package/dist/internal/initializers/NextJsStoresInitializer.d.ts.map +1 -1
  111. package/dist/internal/layout/DnDevLayout.d.ts.map +1 -1
  112. package/dist/internal/layout/DnDevLayout.js +4 -5
  113. package/dist/internal/layout/components/AutoMetaTags.d.ts.map +1 -1
  114. package/dist/internal/layout/components/footer/FooterLegalLinks.js +2 -2
  115. package/dist/internal/layout/config/defaults.d.ts +0 -10
  116. package/dist/internal/layout/config/defaults.d.ts.map +1 -1
  117. package/dist/internal/layout/config/defaults.js +12 -1
  118. package/dist/internal/layout/config/presets/admin.d.ts.map +1 -1
  119. package/dist/internal/layout/config/presets/admin.js +7 -2
  120. package/dist/internal/layout/config/presets/blog.d.ts.map +1 -1
  121. package/dist/internal/layout/config/presets/blog.js +7 -1
  122. package/dist/internal/layout/config/presets/docs.d.ts.map +1 -1
  123. package/dist/internal/layout/config/presets/docs.js +7 -5
  124. package/dist/internal/layout/config/presets/game.d.ts.map +1 -1
  125. package/dist/internal/layout/config/presets/game.js +7 -2
  126. package/dist/internal/layout/config/presets/moolti.d.ts.map +1 -1
  127. package/dist/internal/layout/config/presets/moolti.js +10 -3
  128. package/dist/internal/layout/zones/DnDevFooter.d.ts +1 -13
  129. package/dist/internal/layout/zones/DnDevFooter.d.ts.map +1 -1
  130. package/dist/internal/layout/zones/DnDevHeader.d.ts +1 -14
  131. package/dist/internal/layout/zones/DnDevHeader.d.ts.map +1 -1
  132. package/dist/internal/layout/zones/DnDevMergedBar.d.ts +2 -14
  133. package/dist/internal/layout/zones/DnDevMergedBar.d.ts.map +1 -1
  134. package/dist/internal/layout/zones/DnDevMergedBar.js +11 -3
  135. package/dist/internal/layout/zones/DnDevSidebar.d.ts +1 -14
  136. package/dist/internal/layout/zones/DnDevSidebar.d.ts.map +1 -1
  137. package/dist/routing/AuthGuard.d.ts.map +1 -1
  138. package/dist/routing/GoTo.d.ts +3 -1
  139. package/dist/routing/GoTo.d.ts.map +1 -1
  140. package/dist/routing/GoTo.js +6 -2
  141. package/dist/routing/GoToDialog.d.ts +1 -1
  142. package/dist/routing/GoToDialog.d.ts.map +1 -1
  143. package/dist/routing/GoToDialog.js +3 -5
  144. package/dist/routing/NavigationItem.d.ts +1 -1
  145. package/dist/routing/NavigationItem.d.ts.map +1 -1
  146. package/dist/routing/NavigationItem.js +0 -1
  147. package/dist/routing/hooks/hooks.next.js +1 -1
  148. package/dist/routing/hooks/hooks.vite.js +1 -1
  149. package/dist/routing/hooks/useNavigate.next.d.ts.map +1 -1
  150. package/dist/routing/hooks/useNavigate.next.js +1 -1
  151. package/dist/routing/hooks/useNavigate.vite.d.ts.map +1 -1
  152. package/dist/routing/useGoTo.d.ts.map +1 -1
  153. package/dist/styles/index.css +401 -84
  154. package/dist/utils/assetResolver.d.ts +1 -1
  155. package/dist/utils/assetResolver.d.ts.map +1 -1
  156. package/dist/utils/assetResolver.js +1 -2
  157. package/dist/utils/index.d.ts +0 -1
  158. package/dist/utils/index.d.ts.map +1 -1
  159. package/dist/utils/index.js +0 -1
  160. package/dist/utils/tList.d.ts +1 -1
  161. package/dist/utils/tList.d.ts.map +1 -1
  162. package/dist/utils/useAuthSafe.d.ts +0 -33
  163. package/dist/utils/useAuthSafe.d.ts.map +1 -1
  164. package/dist/utils/useAuthSafe.js +34 -1
  165. package/dist/utils/useCrudSafe.d.ts +12 -6
  166. package/dist/utils/useCrudSafe.d.ts.map +1 -1
  167. package/dist/utils/useCrudSafe.js +9 -6
  168. package/dist/utils/useOAuthSafe.d.ts.map +1 -1
  169. package/dist/utils/useStripeBillingSafe.d.ts +1 -34
  170. package/dist/utils/useStripeBillingSafe.d.ts.map +1 -1
  171. package/dist/utils/useStripeBillingSafe.js +34 -1
  172. package/dist/vite-routing/AppRoutes.d.ts +1 -1
  173. package/dist/vite-routing/AppRoutes.d.ts.map +1 -1
  174. package/dist/vite-routing/AppRoutes.js +0 -1
  175. package/dist/vite-routing/RootLayout.d.ts.map +1 -1
  176. package/dist/vite-routing/RootLayout.js +3 -6
  177. package/package.json +1 -1
@@ -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":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACrD,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
+ {"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":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,OAAO,CAAC;AAMtD,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
+ {"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"}
@@ -13,9 +13,9 @@ 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 { useLocation, useBack } from '@donotdev/ui/routing/hooks';
16
17
  import { PageContainer } from '../../components/layout/PageContainer';
17
18
  // Platform-specific hooks via conditional exports
18
- import { useLocation, useBack } from '@donotdev/ui/routing/hooks';
19
19
  import { Link } from '../../routing/Link';
20
20
  /**
21
21
  * Professional Route Error Fallback Component
@@ -1 +1 @@
1
- {"version":3,"file":"DebugDialog.d.ts","sourceRoot":"","sources":["../../../../src/internal/devtools/components/DebugDialog.tsx"],"names":[],"mappings":"AA6BA,eAAO,MAAM,WAAW,+CAgFvB,CAAC"}
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: "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: [
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":"AAiCA,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"}
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":"AAkCA,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA6DvC;;;;;;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"}
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, useLoadingStore, useOverlayStore, useNetworkStore, useAbortControllerStore, useConsentStore, useConsentReady, useThemeReady, getPlatformEnvVar, } from '@donotdev/core';
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":"AAeA,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
+ {"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;AAIf,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,gBAAgB,CAAC;AA2CxB,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,4CAsT3B,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,4CA2T3B,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')
@@ -74,7 +73,7 @@ export const DnDevLayout = ({ children, layout, className, }) => {
74
73
  const pathname = location.pathname;
75
74
  const mainRef = useRef(null);
76
75
  // Platform content handling
77
- const content = isNextJs() ? children : children || _jsx(Outlet, {});
76
+ const content = children;
78
77
  // Get effective preset from store (always use store, never layout prop)
79
78
  const effectivePreset = useMemo(() => {
80
79
  return preset || 'landing';
@@ -247,5 +246,5 @@ export const DnDevLayout = ({ children, layout, className, }) => {
247
246
  };
248
247
  startTransition(updateDOM);
249
248
  }, [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, {}) })), _jsx(Stack, { flex: "1", className: "dndev-min-h-0", children: content }, pathname)] }), resolvedFooter, resolvedMergedBar, _jsx(GoToWrapper, {})] }));
249
+ 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, {}) })), _jsx(Stack, { flex: "1", className: "dndev-min-h-0", children: content }, pathname), resolvedFooter && (_jsx("div", { className: "footer-mobile", children: resolvedFooter }))] }), resolvedFooter && _jsx("div", { className: "footer-desktop", children: resolvedFooter }), resolvedMergedBar, _jsx(GoToWrapper, {})] }));
251
250
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AutoMetaTags.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/components/AutoMetaTags.tsx"],"names":[],"mappings":"AA2DA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAwC3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,aAoN1B,CAAC;AAEF;;;GAGG;AAEH,eAAe,YAAY,CAAC"}
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"}
@@ -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":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAavC;;;;;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
+ {"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;AAEnD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,YAkBzB,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: '64px',
27
- // trigger/top/content/bottom omitted use defaults
27
+ height: 'var(--header-height)',
28
+ // DesktopMobile 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;AAEnD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,EAAE,YAaxB,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
- // trigger/top/content/bottom omitted use defaults
23
+ // DesktopMobile 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;AAKnD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,YA6BxB,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: '64px',
43
- trigger: () => _jsx(AppBranding, { display: DISPLAY.AUTO }),
44
- top: () => _jsx(GoTo, { display: DISPLAY.AUTO }),
45
- // content omitted uses sidebar.content default
46
- // bottom omitted uses sidebar.bottom default
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.contentcontent (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,YAwBxB,CAAC"}
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
- trigger: () => _jsx(GameTitle, {}),
40
- // top/content/bottom omitted use defaults
39
+ // Desktop Mobile mapping:
40
+ trigger: () => _jsx(GameTitle, {}), // header.centertrigger (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,YA+B1B,CAAC"}
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
  *
@@ -40,8 +40,15 @@ export const mooltiPreset = {
40
40
  mobile: {
41
41
  mergedBar: {
42
42
  position: 'top',
43
- trigger: () => _jsx(AppBranding, { display: DISPLAY.AUTO }),
44
- // top/content/bottom omitted use sidebar defaults
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, { size: "xs" })] })),
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":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWlD,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,CAsEvE;AAED,eAAO,MAAM,WAAW,kEAA6B,CAAC"}
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,CAsEvE;AAED,eAAO,MAAM,WAAW,kEAA6B,CAAC"}
@@ -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":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI7C,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
+ {"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: 64px for top, 48px for bottom) */
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;
@@ -1 +1 @@
1
- {"version":3,"file":"DnDevMergedBar.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevMergedBar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAY7C,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,iBAAS,uBAAuB,CAAC,EAC/B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,GACP,EAAE,mBAAmB,GAAG,SAAS,CAiDjC;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
1
+ {"version":3,"file":"DnDevMergedBar.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevMergedBar.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,iBAAS,uBAAuB,CAAC,EAC/B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,GACP,EAAE,mBAAmB,GAAG,SAAS,CA8DjC;AAED,eAAO,MAAM,cAAc,qEAAgC,CAAC"}
@@ -12,9 +12,11 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
12
12
  * @since 0.0.1
13
13
  * @author AMBROISE PARK Consulting
14
14
  */
15
- import { memo } from 'react';
16
15
  import { ChevronUp, Menu } from 'lucide-react';
16
+ import { memo, useState, useEffect } from 'react';
17
17
  import { Stack, Button, Sheet, BUTTON_VARIANT, Separator, SEPARATOR_VARIANT, } from '@donotdev/components';
18
+ import { useTranslation } from '@donotdev/core';
19
+ import { useLocation } from '@donotdev/ui/routing/hooks';
18
20
  /**
19
21
  * DnDevMergedBar - Mobile navigation zone
20
22
  *
@@ -24,12 +26,18 @@ import { Stack, Button, Sheet, BUTTON_VARIANT, Separator, SEPARATOR_VARIANT, } f
24
26
  * - top/content/bottom: Sheet content (default: derived from sidebar)
25
27
  */
26
28
  function DnDevMergedBarComponent({ position, height, trigger, top, content, bottom, }) {
27
- const barHeight = height || (position === 'top' ? '64px' : '48px');
29
+ const { t } = useTranslation('dndev');
28
30
  const Icon = position === 'top' ? Menu : ChevronUp;
29
31
  const sheetSide = position === 'top' ? 'left' : position;
32
+ const [open, setOpen] = useState(false);
33
+ const location = useLocation();
34
+ // Close sheet when route changes
35
+ useEffect(() => {
36
+ setOpen(false);
37
+ }, [location.pathname]);
30
38
  // Build sheet content
31
39
  const sheetNode = (_jsxs(Stack, { direction: "column", gap: "medium", className: "merged-bar-sheet-content", children: [top && (_jsxs(_Fragment, { children: [top, _jsx(Separator, { variant: SEPARATOR_VARIANT.MUTED })] })), content && _jsx("div", { className: "merged-bar-sheet-scroll", children: content }), bottom && (_jsxs(_Fragment, { children: [_jsx(Separator, { variant: SEPARATOR_VARIANT.MUTED }), bottom] }))] }));
32
40
  const triggerButton = (_jsx(Button, { variant: BUTTON_VARIANT.GHOST, icon: Icon, "aria-label": "Open navigation" }));
33
- return (_jsx("div", { className: "merged-bar", "data-position": position, children: _jsxs(Stack, { direction: "row", align: "center", justify: "between", className: "merged-bar-trigger", children: [trigger, _jsx(Sheet, { trigger: triggerButton, side: sheetSide, children: sheetNode })] }) }));
41
+ return (_jsx("div", { className: "merged-bar", "data-position": position, children: _jsxs(Stack, { direction: "row", align: "center", justify: "between", className: "merged-bar-trigger", children: [trigger, _jsx(Sheet, { trigger: triggerButton, side: sheetSide, open: open, onOpenChange: setOpen, title: t('sheet.navigation', { defaultValue: 'Navigation' }), children: sheetNode })] }) }));
34
42
  }
35
43
  export const DnDevMergedBar = memo(DnDevMergedBarComponent);
@@ -1,17 +1,4 @@
1
- /**
2
- * @fileoverview DnDevSidebar Zone Component
3
- * @description Flat sidebar zone with resize mechanics built-in.
4
- *
5
- * Structure: aside > nav + resize-handle
6
- * No nesting. Resize logic on aside directly.
7
- *
8
- * Slots: top | content | bottom
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 DnDevSidebarProps {
16
3
  /** Top slot - ReactNode from preset or consumer override */
17
4
  top?: ReactNode | null;
@@ -1 +1 @@
1
- {"version":3,"file":"DnDevSidebar.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevSidebar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAS1E,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,GAAG,EACH,OAAO,EACP,MAAM,EACN,YAAiD,EACjD,QAAyC,EACzC,QAAyC,GAC1C,EAAE,iBAAiB,GAAG,SAAS,CAiM/B;AAED,eAAO,MAAM,YAAY,mEAA8B,CAAC"}
1
+ {"version":3,"file":"DnDevSidebar.d.ts","sourceRoot":"","sources":["../../../../src/internal/layout/zones/DnDevSidebar.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,GAAG,EACH,OAAO,EACP,MAAM,EACN,YAAiD,EACjD,QAAyC,EACzC,QAAyC,GAC1C,EAAE,iBAAiB,GAAG,SAAS,CAiM/B;AAED,eAAO,MAAM,YAAY,mEAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthGuard.d.ts","sourceRoot":"","sources":["../../src/routing/AuthGuard.tsx"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAGf,OAAO,EAGL,UAAU,EACV,kBAAkB,EAClB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAYxB;;GAEG;AACH,UAAU,cAAc;IACtB,wCAAwC;IACxC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvB,wCAAwC;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAQ,EACR,QAAQ,EAAE,QAAiB,GAC5B,EAAE,cAAc,2CA2HhB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,uBAAiB,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAgB,WAAW,IACvB,OAAO,UAAU,CAAC,KAAK,GACvB,OAAO,UAAU,CAAC,IAAI,GACtB,OAAO,UAAU,CAAC,KAAK,CAS1B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,IAAI,EACA,OAAO,UAAU,CAAC,KAAK,GACvB,OAAO,UAAU,CAAC,IAAI,GACtB,OAAO,UAAU,CAAC,KAAK,GAC1B,OAAO,CAIT;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY;;;;;;EAW3B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,IAAI,EAAE,QAAQ,GAAG,KAAK,WAEW,CAAC,6CAOnC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC3B,iCAAiC;kBACrB,KAAK;IAEjB,oCAAoC;oBACtB,QAAQ;IAEtB,yCAAyC;gBAC/B,QAAQ;IAKlB,uDAAuD;iBAC5C,QAAQ;IAKnB,gCAAgC;iBAExB,CAAC,OAAO,kBAAkB,EAAE,MAAM,OAAO,kBAAkB,CAAC,KACjE,QAAQ;IAKX,eAAe;eACN,QAAQ;IAKjB,mBAAmB;mBACN,QAAQ;IAKrB,sCAAsC;oBACxB,QAAQ;IAMtB,wBAAwB;uBACL,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,KAAG,QAAQ;CAItE,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"AuthGuard.d.ts","sourceRoot":"","sources":["../../src/routing/AuthGuard.tsx"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAEf,OAAO,EAGL,UAAU,EACV,kBAAkB,EAClB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAaxB;;GAEG;AACH,UAAU,cAAc;IACtB,wCAAwC;IACxC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvB,wCAAwC;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAQ,EACR,QAAQ,EAAE,QAAiB,GAC5B,EAAE,cAAc,2CA2HhB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,uBAAiB,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAgB,WAAW,IACvB,OAAO,UAAU,CAAC,KAAK,GACvB,OAAO,UAAU,CAAC,IAAI,GACtB,OAAO,UAAU,CAAC,KAAK,CAS1B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,IAAI,EACA,OAAO,UAAU,CAAC,KAAK,GACvB,OAAO,UAAU,CAAC,IAAI,GACtB,OAAO,UAAU,CAAC,KAAK,GAC1B,OAAO,CAIT;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY;;;;;;EAW3B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,IAAI,EAAE,QAAQ,GAAG,KAAK,WAEW,CAAC,6CAOnC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC3B,iCAAiC;kBACrB,KAAK;IAEjB,oCAAoC;oBACtB,QAAQ;IAEtB,yCAAyC;gBAC/B,QAAQ;IAKlB,uDAAuD;iBAC5C,QAAQ;IAKnB,gCAAgC;iBAExB,CAAC,OAAO,kBAAkB,EAAE,MAAM,OAAO,kBAAkB,CAAC,KACjE,QAAQ;IAKX,eAAe;eACN,QAAQ;IAKjB,mBAAmB;mBACN,QAAQ;IAKrB,sCAAsC;oBACxB,QAAQ;IAMtB,wBAAwB;uBACL,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,KAAG,QAAQ;CAItE,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -7,6 +7,8 @@ export interface GoToProps {
7
7
  display?: (typeof DISPLAY)[keyof typeof DISPLAY];
8
8
  /** Additional CSS class */
9
9
  className?: string;
10
+ /** Optional callback called after opening command dialog (e.g., to close parent dropdown) */
11
+ onOpen?: () => void;
10
12
  }
11
13
  /**
12
14
  * GoTo - Command palette trigger button
@@ -14,6 +16,6 @@ export interface GoToProps {
14
16
  * Simple button: Search icon + "Go to" label + keyboard shortcut.
15
17
  * Opens command dialog on click.
16
18
  */
17
- export declare const GoTo: ({ display, className }: GoToProps) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const GoTo: ({ display, className, onOpen }: GoToProps) => import("react/jsx-runtime").JSX.Element;
18
20
  export default GoTo;
19
21
  //# sourceMappingURL=GoTo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoTo.d.ts","sourceRoot":"","sources":["../../src/routing/GoTo.tsx"],"names":[],"mappings":"AAaA,OAAO,EAA0B,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGvE,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;IACjD,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,wBAAuC,SAAS,4CAiCpE,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"GoTo.d.ts","sourceRoot":"","sources":["../../src/routing/GoTo.tsx"],"names":[],"mappings":"AAaA,OAAO,EAA0B,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGvE,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;IACjD,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,gCAA+C,SAAS,4CAsC5E,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -17,14 +17,18 @@ import { useOverlayStore, useTranslation } from '@donotdev/core';
17
17
  * Simple button: Search icon + "Go to" label + keyboard shortcut.
18
18
  * Opens command dialog on click.
19
19
  */
20
- export const GoTo = ({ display = DISPLAY.AUTO, className }) => {
20
+ export const GoTo = ({ display = DISPLAY.AUTO, className, onOpen }) => {
21
21
  const { t } = useTranslation('dndev');
22
22
  const openCommandDialog = useOverlayStore((state) => state.openCommandDialog);
23
23
  // Platform-aware shortcut (Mac: ⌘K, others: Ctrl+K)
24
24
  const isMac = typeof navigator !== 'undefined' &&
25
25
  /Mac|iPhone|iPad/.test(navigator.platform);
26
26
  const shortcut = isMac ? '⌘K' : 'Ctrl+K';
27
- return (_jsxs(Button, { variant: BUTTON_VARIANT.OUTLINE, display: display, icon: Search, onClick: () => openCommandDialog(), className: className, "aria-label": t('goTo.ariaLabel', 'Go to page'), children: [t('goTo.label', 'Go to'), _jsx("kbd", { style: {
27
+ const handleClick = () => {
28
+ openCommandDialog();
29
+ onOpen?.(); // Call optional callback (e.g., to close parent dropdown)
30
+ };
31
+ return (_jsxs(Button, { variant: BUTTON_VARIANT.OUTLINE, display: display, icon: Search, onClick: handleClick, className: className, "aria-label": t('goTo.ariaLabel', 'Go to page'), children: [t('goTo.label', 'Go to'), _jsx("kbd", { style: {
28
32
  marginInlineStart: 'var(--gap-sm)',
29
33
  padding: '0.125rem 0.375rem',
30
34
  fontSize: 'var(--font-size-xs)',
@@ -1,4 +1,4 @@
1
- import { type ComponentType } from 'react';
1
+ import type { ComponentType } from 'react';
2
2
  /**
3
3
  * GoToDialog - Navigation command palette
4
4
  * Only renders when dialog is open