@djangocfg/layouts 1.4.26 → 1.4.28
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/package.json +5 -5
- package/src/auth/middlewares/index.ts +1 -1
- package/src/auth/middlewares/proxy.ts +10 -2
- package/src/layouts/index.ts +0 -3
- package/src/snippets/ContactForm/ContactForm.tsx +59 -12
- package/src/snippets/ContactForm/ContactPage.tsx +21 -20
- package/src/snippets/ContactForm/dynamic.tsx +55 -0
- package/src/snippets/ContactForm/index.ts +6 -3
- package/src/layouts/UILayout/README.md +0 -267
- package/src/layouts/UILayout/SUMMARY.md +0 -298
- package/src/layouts/UILayout/TOOLS_INTEGRATION.md +0 -216
- package/src/layouts/UILayout/components/AutoComponentDemo.tsx +0 -77
- package/src/layouts/UILayout/components/CategoryRenderer.tsx +0 -45
- package/src/layouts/UILayout/components/TailwindGuideRenderer.tsx +0 -138
- package/src/layouts/UILayout/components/index.ts +0 -15
- package/src/layouts/UILayout/components/layout/Header/CopyAIButton.tsx +0 -58
- package/src/layouts/UILayout/components/layout/Header/Header.tsx +0 -60
- package/src/layouts/UILayout/components/layout/Header/HeaderDesktop.tsx +0 -51
- package/src/layouts/UILayout/components/layout/Header/HeaderMobile.tsx +0 -71
- package/src/layouts/UILayout/components/layout/Header/TestValidationButton.tsx +0 -268
- package/src/layouts/UILayout/components/layout/Header/index.ts +0 -11
- package/src/layouts/UILayout/components/layout/MobileOverlay/MobileOverlay.tsx +0 -47
- package/src/layouts/UILayout/components/layout/MobileOverlay/index.ts +0 -6
- package/src/layouts/UILayout/components/layout/Sidebar/Sidebar.tsx +0 -95
- package/src/layouts/UILayout/components/layout/Sidebar/SidebarCategory.tsx +0 -54
- package/src/layouts/UILayout/components/layout/Sidebar/SidebarContent.tsx +0 -93
- package/src/layouts/UILayout/components/layout/Sidebar/SidebarFooter.tsx +0 -49
- package/src/layouts/UILayout/components/layout/Sidebar/index.ts +0 -9
- package/src/layouts/UILayout/components/layout/index.ts +0 -8
- package/src/layouts/UILayout/components/shared/Badge/CountBadge.tsx +0 -38
- package/src/layouts/UILayout/components/shared/Badge/index.ts +0 -5
- package/src/layouts/UILayout/components/shared/CodeBlock/CodeBlock.tsx +0 -48
- package/src/layouts/UILayout/components/shared/CodeBlock/CopyButton.tsx +0 -49
- package/src/layouts/UILayout/components/shared/CodeBlock/index.ts +0 -6
- package/src/layouts/UILayout/components/shared/Section/Section.tsx +0 -63
- package/src/layouts/UILayout/components/shared/Section/index.ts +0 -5
- package/src/layouts/UILayout/components/shared/index.ts +0 -8
- package/src/layouts/UILayout/config/ai-export.config.ts +0 -89
- package/src/layouts/UILayout/config/categories.config.tsx +0 -122
- package/src/layouts/UILayout/config/components/blocks.config.tsx +0 -239
- package/src/layouts/UILayout/config/components/data.config.tsx +0 -433
- package/src/layouts/UILayout/config/components/feedback.config.tsx +0 -290
- package/src/layouts/UILayout/config/components/forms.config.tsx +0 -996
- package/src/layouts/UILayout/config/components/hooks.config.tsx +0 -168
- package/src/layouts/UILayout/config/components/index.ts +0 -72
- package/src/layouts/UILayout/config/components/layout.config.tsx +0 -246
- package/src/layouts/UILayout/config/components/navigation.config.tsx +0 -352
- package/src/layouts/UILayout/config/components/overlay.config.tsx +0 -569
- package/src/layouts/UILayout/config/components/specialized.config.tsx +0 -400
- package/src/layouts/UILayout/config/components/tools.config.tsx +0 -234
- package/src/layouts/UILayout/config/components/types.ts +0 -14
- package/src/layouts/UILayout/config/index.ts +0 -42
- package/src/layouts/UILayout/config/tailwind.config.ts +0 -131
- package/src/layouts/UILayout/constants.ts +0 -23
- package/src/layouts/UILayout/context/ShowcaseContext.tsx +0 -81
- package/src/layouts/UILayout/context/index.ts +0 -1
- package/src/layouts/UILayout/core/UIGuideApp.client.tsx +0 -18
- package/src/layouts/UILayout/core/UIGuideApp.tsx +0 -33
- package/src/layouts/UILayout/core/UIGuideLanding.tsx +0 -172
- package/src/layouts/UILayout/core/UIGuideView.tsx +0 -61
- package/src/layouts/UILayout/core/UILayout.tsx +0 -125
- package/src/layouts/UILayout/core/UILayoutSidebar.tsx +0 -11
- package/src/layouts/UILayout/core/index.ts +0 -10
- package/src/layouts/UILayout/hooks/index.ts +0 -9
- package/src/layouts/UILayout/hooks/useAIExport.ts +0 -78
- package/src/layouts/UILayout/hooks/useCategoryNavigation.ts +0 -92
- package/src/layouts/UILayout/hooks/useComponentSearch.ts +0 -81
- package/src/layouts/UILayout/hooks/useSidebarState.ts +0 -36
- package/src/layouts/UILayout/index.ts +0 -160
- package/src/layouts/UILayout/types/component.ts +0 -45
- package/src/layouts/UILayout/types/index.ts +0 -23
- package/src/layouts/UILayout/types/layout.ts +0 -57
- package/src/layouts/UILayout/types/navigation.ts +0 -33
- package/src/layouts/UILayout/utils/ai-export/formatters.ts +0 -71
- package/src/layouts/UILayout/utils/ai-export/index.ts +0 -5
- package/src/layouts/UILayout/utils/component-helpers/filter.ts +0 -109
- package/src/layouts/UILayout/utils/component-helpers/index.ts +0 -6
- package/src/layouts/UILayout/utils/component-helpers/search.ts +0 -95
- 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
|
-
];
|