@djangocfg/layouts 1.4.27 → 1.4.29

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 (118) hide show
  1. package/package.json +8 -8
  2. package/src/auth/context/AuthContext.tsx +4 -1
  3. package/src/auth/hooks/index.ts +2 -0
  4. package/src/auth/hooks/useAuthForm.ts +2 -0
  5. package/src/auth/hooks/useAuthGuard.ts +2 -0
  6. package/src/auth/hooks/useAutoAuth.ts +16 -11
  7. package/src/auth/hooks/useLocalStorage.ts +2 -0
  8. package/src/auth/hooks/useProfileCache.ts +2 -0
  9. package/src/auth/hooks/useSessionStorage.ts +2 -0
  10. package/src/auth/middlewares/index.ts +1 -1
  11. package/src/auth/middlewares/proxy.ts +10 -2
  12. package/src/layouts/AppLayout/AppLayout.tsx +9 -7
  13. package/src/layouts/AppLayout/components/ErrorBoundary.tsx +6 -3
  14. package/src/layouts/AppLayout/components/PageProgress.tsx +2 -0
  15. package/src/layouts/AppLayout/components/Seo.tsx +2 -0
  16. package/src/layouts/AppLayout/components/UpdateNotifier/UpdateNotifier.tsx +3 -2
  17. package/src/layouts/AppLayout/hooks/index.ts +2 -0
  18. package/src/layouts/AppLayout/hooks/useNavigation.ts +3 -1
  19. package/src/layouts/AppLayout/layouts/AdminLayout/AdminLayout.tsx +1 -0
  20. package/src/layouts/AppLayout/layouts/AuthLayout/AuthContext.tsx +2 -0
  21. package/src/layouts/AppLayout/layouts/AuthLayout/IdentifierForm.tsx +2 -0
  22. package/src/layouts/AppLayout/layouts/AuthLayout/OTPForm.tsx +4 -0
  23. package/src/layouts/AppLayout/layouts/AuthLayout/index.ts +2 -0
  24. package/src/layouts/AppLayout/layouts/PrivateLayout/PrivateLayout.tsx +1 -0
  25. package/src/layouts/AppLayout/providers/CoreProviders.tsx +1 -0
  26. package/src/layouts/PaymentsLayout/PaymentsLayout.tsx +1 -0
  27. package/src/layouts/PaymentsLayout/components/CreatePaymentDialog.tsx +1 -0
  28. package/src/layouts/PaymentsLayout/events.ts +2 -0
  29. package/src/layouts/ProfileLayout/ProfileLayout.tsx +1 -0
  30. package/src/layouts/ProfileLayout/components/ProfileForm.tsx +1 -0
  31. package/src/layouts/SimpleLayout/SimpleLayout.tsx +72 -0
  32. package/src/layouts/SimpleLayout/index.ts +3 -0
  33. package/src/layouts/SupportLayout/SupportLayout.tsx +1 -0
  34. package/src/layouts/SupportLayout/components/CreateTicketDialog.tsx +1 -0
  35. package/src/layouts/SupportLayout/components/TicketList.tsx +6 -5
  36. package/src/layouts/SupportLayout/events.ts +2 -0
  37. package/src/layouts/index.ts +1 -3
  38. package/src/snippets/AuthDialog/useAuthDialog.ts +2 -0
  39. package/src/snippets/Chat/components/MessageList.tsx +12 -11
  40. package/src/snippets/Chat/index.tsx +1 -0
  41. package/src/snippets/ContactForm/ContactForm.tsx +7 -2
  42. package/src/snippets/ContactForm/ContactPage.tsx +16 -3
  43. package/src/snippets/VideoPlayer/README.md +35 -0
  44. package/src/snippets/VideoPlayer/VideoControls.tsx +13 -9
  45. package/src/snippets/VideoPlayer/VideoPlayer.tsx +159 -25
  46. package/src/snippets/VideoPlayer/index.ts +1 -1
  47. package/src/validation/utils/curl-generator.ts +5 -1
  48. package/src/layouts/UILayout/README.md +0 -267
  49. package/src/layouts/UILayout/SUMMARY.md +0 -298
  50. package/src/layouts/UILayout/TOOLS_INTEGRATION.md +0 -216
  51. package/src/layouts/UILayout/components/AutoComponentDemo.tsx +0 -77
  52. package/src/layouts/UILayout/components/CategoryRenderer.tsx +0 -45
  53. package/src/layouts/UILayout/components/TailwindGuideRenderer.tsx +0 -138
  54. package/src/layouts/UILayout/components/index.ts +0 -15
  55. package/src/layouts/UILayout/components/layout/Header/CopyAIButton.tsx +0 -58
  56. package/src/layouts/UILayout/components/layout/Header/Header.tsx +0 -60
  57. package/src/layouts/UILayout/components/layout/Header/HeaderDesktop.tsx +0 -51
  58. package/src/layouts/UILayout/components/layout/Header/HeaderMobile.tsx +0 -71
  59. package/src/layouts/UILayout/components/layout/Header/TestValidationButton.tsx +0 -268
  60. package/src/layouts/UILayout/components/layout/Header/index.ts +0 -11
  61. package/src/layouts/UILayout/components/layout/MobileOverlay/MobileOverlay.tsx +0 -47
  62. package/src/layouts/UILayout/components/layout/MobileOverlay/index.ts +0 -6
  63. package/src/layouts/UILayout/components/layout/Sidebar/Sidebar.tsx +0 -95
  64. package/src/layouts/UILayout/components/layout/Sidebar/SidebarCategory.tsx +0 -54
  65. package/src/layouts/UILayout/components/layout/Sidebar/SidebarContent.tsx +0 -93
  66. package/src/layouts/UILayout/components/layout/Sidebar/SidebarFooter.tsx +0 -49
  67. package/src/layouts/UILayout/components/layout/Sidebar/index.ts +0 -9
  68. package/src/layouts/UILayout/components/layout/index.ts +0 -8
  69. package/src/layouts/UILayout/components/shared/Badge/CountBadge.tsx +0 -38
  70. package/src/layouts/UILayout/components/shared/Badge/index.ts +0 -5
  71. package/src/layouts/UILayout/components/shared/CodeBlock/CodeBlock.tsx +0 -48
  72. package/src/layouts/UILayout/components/shared/CodeBlock/CopyButton.tsx +0 -49
  73. package/src/layouts/UILayout/components/shared/CodeBlock/index.ts +0 -6
  74. package/src/layouts/UILayout/components/shared/Section/Section.tsx +0 -63
  75. package/src/layouts/UILayout/components/shared/Section/index.ts +0 -5
  76. package/src/layouts/UILayout/components/shared/index.ts +0 -8
  77. package/src/layouts/UILayout/config/ai-export.config.ts +0 -89
  78. package/src/layouts/UILayout/config/categories.config.tsx +0 -122
  79. package/src/layouts/UILayout/config/components/blocks.config.tsx +0 -239
  80. package/src/layouts/UILayout/config/components/data.config.tsx +0 -433
  81. package/src/layouts/UILayout/config/components/feedback.config.tsx +0 -290
  82. package/src/layouts/UILayout/config/components/forms.config.tsx +0 -996
  83. package/src/layouts/UILayout/config/components/hooks.config.tsx +0 -168
  84. package/src/layouts/UILayout/config/components/index.ts +0 -72
  85. package/src/layouts/UILayout/config/components/layout.config.tsx +0 -246
  86. package/src/layouts/UILayout/config/components/navigation.config.tsx +0 -352
  87. package/src/layouts/UILayout/config/components/overlay.config.tsx +0 -569
  88. package/src/layouts/UILayout/config/components/specialized.config.tsx +0 -400
  89. package/src/layouts/UILayout/config/components/tools.config.tsx +0 -234
  90. package/src/layouts/UILayout/config/components/types.ts +0 -14
  91. package/src/layouts/UILayout/config/index.ts +0 -42
  92. package/src/layouts/UILayout/config/tailwind.config.ts +0 -131
  93. package/src/layouts/UILayout/constants.ts +0 -23
  94. package/src/layouts/UILayout/context/ShowcaseContext.tsx +0 -81
  95. package/src/layouts/UILayout/context/index.ts +0 -1
  96. package/src/layouts/UILayout/core/UIGuideApp.client.tsx +0 -18
  97. package/src/layouts/UILayout/core/UIGuideApp.tsx +0 -33
  98. package/src/layouts/UILayout/core/UIGuideLanding.tsx +0 -172
  99. package/src/layouts/UILayout/core/UIGuideView.tsx +0 -61
  100. package/src/layouts/UILayout/core/UILayout.tsx +0 -125
  101. package/src/layouts/UILayout/core/UILayoutSidebar.tsx +0 -11
  102. package/src/layouts/UILayout/core/index.ts +0 -10
  103. package/src/layouts/UILayout/hooks/index.ts +0 -9
  104. package/src/layouts/UILayout/hooks/useAIExport.ts +0 -78
  105. package/src/layouts/UILayout/hooks/useCategoryNavigation.ts +0 -92
  106. package/src/layouts/UILayout/hooks/useComponentSearch.ts +0 -81
  107. package/src/layouts/UILayout/hooks/useSidebarState.ts +0 -36
  108. package/src/layouts/UILayout/index.ts +0 -160
  109. package/src/layouts/UILayout/types/component.ts +0 -45
  110. package/src/layouts/UILayout/types/index.ts +0 -23
  111. package/src/layouts/UILayout/types/layout.ts +0 -57
  112. package/src/layouts/UILayout/types/navigation.ts +0 -33
  113. package/src/layouts/UILayout/utils/ai-export/formatters.ts +0 -71
  114. package/src/layouts/UILayout/utils/ai-export/index.ts +0 -5
  115. package/src/layouts/UILayout/utils/component-helpers/filter.ts +0 -109
  116. package/src/layouts/UILayout/utils/component-helpers/index.ts +0 -6
  117. package/src/layouts/UILayout/utils/component-helpers/search.ts +0 -95
  118. package/src/layouts/UILayout/utils/index.ts +0 -6
@@ -1,352 +0,0 @@
1
- /**
2
- * Navigation Components Configuration
3
- */
4
-
5
- import React from 'react';
6
- import {
7
- NavigationMenu,
8
- NavigationMenuContent,
9
- NavigationMenuItem,
10
- NavigationMenuLink,
11
- NavigationMenuList,
12
- NavigationMenuTrigger,
13
- Breadcrumb,
14
- BreadcrumbItem,
15
- BreadcrumbLink,
16
- BreadcrumbList,
17
- BreadcrumbPage,
18
- BreadcrumbSeparator,
19
- BreadcrumbNavigation,
20
- Tabs,
21
- TabsContent,
22
- TabsList,
23
- TabsTrigger,
24
- Pagination,
25
- PaginationContent,
26
- PaginationEllipsis,
27
- PaginationItem,
28
- PaginationLink,
29
- PaginationNext,
30
- PaginationPrevious,
31
- SSRPagination,
32
- StaticPagination,
33
- } from '@djangocfg/ui';
34
- import type { ComponentConfig } from './types';
35
-
36
- export const NAVIGATION_COMPONENTS: ComponentConfig[] = [
37
- {
38
- name: 'NavigationMenu',
39
- category: 'navigation',
40
- description: 'Accessible navigation menu with dropdown support and Next.js router integration',
41
- importPath: `import {
42
- NavigationMenu,
43
- NavigationMenuContent,
44
- NavigationMenuItem,
45
- NavigationMenuLink,
46
- NavigationMenuList,
47
- NavigationMenuTrigger,
48
- } from '@djangocfg/ui';`,
49
- example: `<NavigationMenu>
50
- <NavigationMenuList>
51
- <NavigationMenuItem>
52
- <NavigationMenuTrigger>Getting started</NavigationMenuTrigger>
53
- <NavigationMenuContent>
54
- <ul className="grid gap-3 p-6 md:w-[400px]">
55
- <li>
56
- {/* NavigationMenuLink with href uses Next.js Link automatically */}
57
- <NavigationMenuLink href="/">
58
- <div className="text-sm font-medium">Welcome</div>
59
- <p className="text-sm text-muted-foreground">
60
- Get started with our components
61
- </p>
62
- </NavigationMenuLink>
63
- </li>
64
- </ul>
65
- </NavigationMenuContent>
66
- </NavigationMenuItem>
67
- <NavigationMenuItem>
68
- {/* Direct link with client-side navigation */}
69
- <NavigationMenuLink href="/docs">
70
- Documentation
71
- </NavigationMenuLink>
72
- </NavigationMenuItem>
73
- </NavigationMenuList>
74
- </NavigationMenu>`,
75
- preview: (
76
- <NavigationMenu>
77
- <NavigationMenuList>
78
- <NavigationMenuItem>
79
- <NavigationMenuTrigger>Getting started</NavigationMenuTrigger>
80
- <NavigationMenuContent>
81
- <ul className="grid gap-3 p-6 md:w-[400px]">
82
- <li>
83
- <NavigationMenuLink asChild>
84
- <a href="/" className="block select-none space-y-1 rounded-md p-3 no-underline outline-none hover:bg-accent">
85
- <div className="text-sm font-medium">Welcome</div>
86
- <p className="text-sm text-muted-foreground">
87
- Get started with our components
88
- </p>
89
- </a>
90
- </NavigationMenuLink>
91
- </li>
92
- </ul>
93
- </NavigationMenuContent>
94
- </NavigationMenuItem>
95
- <NavigationMenuItem>
96
- <NavigationMenuLink href="/docs">
97
- Documentation
98
- </NavigationMenuLink>
99
- </NavigationMenuItem>
100
- </NavigationMenuList>
101
- </NavigationMenu>
102
- ),
103
- },
104
- {
105
- name: 'Breadcrumb',
106
- category: 'navigation',
107
- description: 'Navigation breadcrumbs showing current page hierarchy with Next.js router support',
108
- importPath: `import {
109
- Breadcrumb,
110
- BreadcrumbItem,
111
- BreadcrumbLink,
112
- BreadcrumbList,
113
- BreadcrumbPage,
114
- BreadcrumbSeparator,
115
- } from '@djangocfg/ui';`,
116
- example: `<Breadcrumb>
117
- <BreadcrumbList>
118
- <BreadcrumbItem>
119
- {/* BreadcrumbLink with href automatically uses Next.js Link */}
120
- <BreadcrumbLink href="/">Home</BreadcrumbLink>
121
- </BreadcrumbItem>
122
- <BreadcrumbSeparator />
123
- <BreadcrumbItem>
124
- <BreadcrumbLink href="/components">Components</BreadcrumbLink>
125
- </BreadcrumbItem>
126
- <BreadcrumbSeparator />
127
- <BreadcrumbItem>
128
- {/* Current page - not a link */}
129
- <BreadcrumbPage>Breadcrumb</BreadcrumbPage>
130
- </BreadcrumbItem>
131
- </BreadcrumbList>
132
- </Breadcrumb>`,
133
- preview: (
134
- <Breadcrumb>
135
- <BreadcrumbList>
136
- <BreadcrumbItem>
137
- <BreadcrumbLink href="/">Home</BreadcrumbLink>
138
- </BreadcrumbItem>
139
- <BreadcrumbSeparator />
140
- <BreadcrumbItem>
141
- <BreadcrumbLink href="/components">Components</BreadcrumbLink>
142
- </BreadcrumbItem>
143
- <BreadcrumbSeparator />
144
- <BreadcrumbItem>
145
- <BreadcrumbPage>Breadcrumb</BreadcrumbPage>
146
- </BreadcrumbItem>
147
- </BreadcrumbList>
148
- </Breadcrumb>
149
- ),
150
- },
151
- {
152
- name: 'Tabs',
153
- category: 'navigation',
154
- description: 'Tab navigation for switching between different views. Supports mobile sheet mode, sticky positioning, and auto-responsive behavior.',
155
- importPath: `import { Tabs, TabsContent, TabsList, TabsTrigger } from '@djangocfg/ui';`,
156
- example: `// Basic tabs with equal-width tabs
157
- <Tabs defaultValue="account" className="w-[400px]">
158
- <TabsList fullWidth>
159
- <TabsTrigger value="account" flexEqual>Account</TabsTrigger>
160
- <TabsTrigger value="password" flexEqual>Password</TabsTrigger>
161
- </TabsList>
162
- <TabsContent value="account">
163
- <div className="p-4 border rounded-md">
164
- <p className="text-sm">Make changes to your account here.</p>
165
- </div>
166
- </TabsContent>
167
- <TabsContent value="password">
168
- <div className="p-4 border rounded-md">
169
- <p className="text-sm">Change your password here.</p>
170
- </div>
171
- </TabsContent>
172
- </Tabs>
173
-
174
- // Mobile-responsive tabs with sticky positioning
175
- <Tabs
176
- defaultValue="account"
177
- mobileSheet
178
- mobileTitleText="Settings"
179
- mobileSheetTitle="Navigation"
180
- sticky
181
- >
182
- <TabsList fullWidth>
183
- <TabsTrigger value="account" flexEqual>Account</TabsTrigger>
184
- <TabsTrigger value="password" flexEqual>Password</TabsTrigger>
185
- </TabsList>
186
- <TabsContent value="account">
187
- Account content
188
- </TabsContent>
189
- <TabsContent value="password">
190
- Password content
191
- </TabsContent>
192
- </Tabs>`,
193
- preview: (
194
- <Tabs defaultValue="account" className="w-[400px]">
195
- <TabsList fullWidth>
196
- <TabsTrigger value="account" flexEqual>Account</TabsTrigger>
197
- <TabsTrigger value="password" flexEqual>Password</TabsTrigger>
198
- </TabsList>
199
- <TabsContent value="account">
200
- <div className="p-4 border rounded-md">
201
- <p className="text-sm">Make changes to your account here.</p>
202
- </div>
203
- </TabsContent>
204
- <TabsContent value="password">
205
- <div className="p-4 border rounded-md">
206
- <p className="text-sm">Change your password here.</p>
207
- </div>
208
- </TabsContent>
209
- </Tabs>
210
- ),
211
- },
212
- {
213
- name: 'Pagination',
214
- category: 'navigation',
215
- description: 'Page navigation with previous/next controls and Next.js router support',
216
- importPath: `import {
217
- Pagination,
218
- PaginationContent,
219
- PaginationEllipsis,
220
- PaginationItem,
221
- PaginationLink,
222
- PaginationNext,
223
- PaginationPrevious,
224
- } from '@djangocfg/ui';`,
225
- example: `<Pagination>
226
- <PaginationContent>
227
- <PaginationItem>
228
- {/* Previous/Next with href automatically use Next.js Link */}
229
- <PaginationPrevious href="/page/1" />
230
- </PaginationItem>
231
- <PaginationItem>
232
- <PaginationLink href="/page/1" isActive>1</PaginationLink>
233
- </PaginationItem>
234
- <PaginationItem>
235
- <PaginationLink href="/page/2">2</PaginationLink>
236
- </PaginationItem>
237
- <PaginationItem>
238
- <PaginationLink href="/page/3">3</PaginationLink>
239
- </PaginationItem>
240
- <PaginationItem>
241
- <PaginationEllipsis />
242
- </PaginationItem>
243
- <PaginationItem>
244
- <PaginationNext href="/page/2" />
245
- </PaginationItem>
246
- </PaginationContent>
247
- </Pagination>`,
248
- preview: (
249
- <Pagination>
250
- <PaginationContent>
251
- <PaginationItem>
252
- <PaginationPrevious href="#" />
253
- </PaginationItem>
254
- <PaginationItem>
255
- <PaginationLink href="#" isActive>1</PaginationLink>
256
- </PaginationItem>
257
- <PaginationItem>
258
- <PaginationLink href="#">2</PaginationLink>
259
- </PaginationItem>
260
- <PaginationItem>
261
- <PaginationLink href="#">3</PaginationLink>
262
- </PaginationItem>
263
- <PaginationItem>
264
- <PaginationEllipsis />
265
- </PaginationItem>
266
- <PaginationItem>
267
- <PaginationNext href="#" />
268
- </PaginationItem>
269
- </PaginationContent>
270
- </Pagination>
271
- ),
272
- },
273
- {
274
- name: 'BreadcrumbNavigation',
275
- category: 'navigation',
276
- description: 'Enhanced breadcrumb component with automatic path generation',
277
- importPath: `import { BreadcrumbNavigation } from '@djangocfg/ui';`,
278
- example: `<BreadcrumbNavigation
279
- items={[
280
- { label: "Home", href: "/" },
281
- { label: "Products", href: "/products" },
282
- { label: "Category", href: "/products/category" },
283
- { label: "Item", href: "/products/category/item" },
284
- ]}
285
- />`,
286
- preview: (
287
- <BreadcrumbNavigation
288
- items={[
289
- { label: "Home", href: "/" },
290
- { label: "Products", href: "/products" },
291
- { label: "Category", href: "/products/category" },
292
- { label: "Item", href: "/products/category/item" },
293
- ]}
294
- />
295
- ),
296
- },
297
- {
298
- name: 'SSRPagination',
299
- category: 'navigation',
300
- description: 'Server-side rendered pagination component',
301
- importPath: `import { SSRPagination } from '@djangocfg/ui';`,
302
- example: `<SSRPagination
303
- currentPage={2}
304
- totalPages={10}
305
- totalItems={100}
306
- itemsPerPage={10}
307
- hasNextPage={true}
308
- hasPreviousPage={true}
309
- />`,
310
- preview: (
311
- <SSRPagination
312
- currentPage={2}
313
- totalPages={10}
314
- totalItems={100}
315
- itemsPerPage={10}
316
- hasNextPage={true}
317
- hasPreviousPage={true}
318
- />
319
- ),
320
- },
321
- {
322
- name: 'StaticPagination',
323
- category: 'navigation',
324
- description: 'Client-side pagination component for static builds with callback support',
325
- importPath: `import { StaticPagination } from '@djangocfg/ui';`,
326
- example: `import { useDRFPagination } from '@djangocfg/ui';
327
-
328
- const pagination = useDRFPagination(1, 10);
329
- const { data } = useMyAPI(pagination.params);
330
-
331
- <StaticPagination
332
- data={data}
333
- onPageChange={pagination.setPage}
334
- />`,
335
- preview: (
336
- <StaticPagination
337
- data={{
338
- count: 100,
339
- page: 2,
340
- pages: 10,
341
- page_size: 10,
342
- has_next: true,
343
- has_previous: true,
344
- next_page: 3,
345
- previous_page: 1,
346
- results: [],
347
- }}
348
- onPageChange={(page) => console.log('Page changed to:', page)}
349
- />
350
- ),
351
- },
352
- ];