@appcorp/shadcn 1.1.99 → 2.0.0
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/components/app-sidebar.js +16 -23
- package/components/audio.js +11 -19
- package/components/dashboard.js +27 -65
- package/components/drawer-generic.js +20 -28
- package/components/enhanced-checkbox.js +10 -57
- package/components/enhanced-combobox.js +99 -143
- package/components/enhanced-drawer-footer.js +22 -31
- package/components/enhanced-drawer-header.js +6 -14
- package/components/enhanced-dropzone-impl.d.ts +32 -0
- package/components/enhanced-dropzone-impl.js +218 -0
- package/components/enhanced-dropzone.d.ts +2 -63
- package/components/enhanced-dropzone.js +6 -294
- package/components/enhanced-input.js +10 -57
- package/components/enhanced-label.js +6 -52
- package/components/enhanced-radio.js +12 -20
- package/components/enhanced-select.js +13 -61
- package/components/enhanced-slider.js +11 -58
- package/components/enhanced-switch.js +11 -58
- package/components/enhanced-table-footer-action.js +11 -19
- package/components/enhanced-table-footer-page.js +16 -24
- package/components/enhanced-table-footer-pagination.js +11 -21
- package/components/enhanced-table-header-action.js +22 -30
- package/components/enhanced-table-header-search.js +9 -17
- package/components/enhanced-table.js +125 -153
- package/components/enhanced-textarea.js +10 -57
- package/components/field.d.ts +1 -1
- package/components/field.js +31 -88
- package/components/image-resize-dialog.js +61 -159
- package/components/nav-main.js +32 -78
- package/components/nav-projects.js +37 -48
- package/components/nav-user.js +41 -51
- package/components/show-toast.d.ts +2 -0
- package/components/show-toast.js +7 -0
- package/components/sidebar.d.ts +1 -1
- package/components/sidebar.js +115 -184
- package/components/team-switcher.js +36 -47
- package/components/theme-provider.js +36 -84
- package/components/timeline.d.ts +12 -0
- package/components/timeline.js +13 -0
- package/components/tooltip.js +10 -59
- package/components/ui/accordion.js +17 -67
- package/components/ui/alert-dialog.js +32 -89
- package/components/ui/alert.d.ts +1 -1
- package/components/ui/alert.js +14 -63
- package/components/ui/area-chart-v1-impl.d.ts +19 -0
- package/components/ui/area-chart-v1-impl.js +75 -0
- package/components/ui/area-chart-v1.d.ts +2 -19
- package/components/ui/area-chart-v1.js +4 -113
- package/components/ui/aspect-ratio.js +3 -39
- package/components/ui/avatar.js +13 -62
- package/components/ui/badge.d.ts +2 -2
- package/components/ui/badge.js +7 -55
- package/components/ui/breadcrumb.js +27 -80
- package/components/ui/button.d.ts +2 -2
- package/components/ui/button.js +10 -58
- package/components/ui/calendar-impl.d.ts +8 -0
- package/components/ui/calendar-impl.js +55 -0
- package/components/ui/calendar.d.ts +2 -8
- package/components/ui/calendar.js +5 -108
- package/components/ui/card.js +21 -73
- package/components/ui/carousel-impl.d.ts +18 -0
- package/components/ui/carousel-impl.js +117 -0
- package/components/ui/carousel.d.ts +6 -18
- package/components/ui/carousel.js +8 -170
- package/components/ui/chart-impl.d.ts +62 -0
- package/components/ui/chart-impl.js +162 -0
- package/components/ui/chart.d.ts +7 -62
- package/components/ui/chart.js +9 -219
- package/components/ui/checkbox.js +10 -57
- package/components/ui/collapsible.js +5 -43
- package/components/ui/combobox.js +22 -58
- package/components/ui/command-impl.d.ts +80 -0
- package/components/ui/command-impl.js +63 -0
- package/components/ui/command.d.ts +9 -80
- package/components/ui/command.js +12 -117
- package/components/ui/context-menu.js +41 -102
- package/components/ui/dialog.js +28 -84
- package/components/ui/drawer-impl.d.ts +22 -0
- package/components/ui/drawer-impl.js +56 -0
- package/components/ui/drawer.d.ts +10 -22
- package/components/ui/drawer.js +13 -111
- package/components/ui/dropdown-menu.js +41 -102
- package/components/ui/form.d.ts +4 -2
- package/components/ui/form.js +41 -95
- package/components/ui/hover-card.js +9 -58
- package/components/ui/input-otp-impl.d.ts +34 -0
- package/components/ui/input-otp-impl.js +43 -0
- package/components/ui/input-otp.d.ts +4 -34
- package/components/ui/input-otp.js +7 -92
- package/components/ui/input.js +6 -53
- package/components/ui/label.d.ts +1 -1
- package/components/ui/label.js +9 -56
- package/components/ui/language-selector.js +17 -55
- package/components/ui/menubar.js +46 -108
- package/components/ui/navigation-menu.d.ts +1 -1
- package/components/ui/navigation-menu.js +29 -84
- package/components/ui/pagination.js +30 -83
- package/components/ui/popover.js +10 -60
- package/components/ui/progress.js +8 -55
- package/components/ui/radio-group.js +12 -60
- package/components/ui/resizable-impl.d.ts +24 -0
- package/components/ui/resizable-impl.js +27 -0
- package/components/ui/resizable.d.ts +3 -24
- package/components/ui/resizable.js +6 -78
- package/components/ui/scroll-area.js +10 -58
- package/components/ui/select.js +34 -90
- package/components/ui/separator.js +7 -54
- package/components/ui/sheet.d.ts +1 -1
- package/components/ui/sheet.js +30 -86
- package/components/ui/skeleton.js +5 -21
- package/components/ui/slider.js +10 -57
- package/components/ui/sonner.js +7 -24
- package/components/ui/switch.js +8 -55
- package/components/ui/table.js +27 -81
- package/components/ui/tabs.js +14 -64
- package/components/ui/textarea.js +6 -53
- package/components/ui/theme-switcher.js +41 -91
- package/components/ui/toggle.d.ts +2 -2
- package/components/ui/toggle.js +9 -57
- package/data/admin-dashboard.js +16 -19
- package/hooks/use-enhanced-combobox.js +47 -124
- package/hooks/use-mobile.js +8 -44
- package/hooks/use-outside-click.js +6 -10
- package/lib/themes.js +1 -4
- package/lib/toast-utils.js +78 -120
- package/lib/utils.js +4 -11
- package/package.json +9 -90
- package/utils/transform-breadcrumbs.js +4 -8
- package/utils/transform-navitems.js +7 -22
- package/components/aceternity-ui/apple-cards-carousel.d.ts +0 -35
- package/components/aceternity-ui/apple-cards-carousel.js +0 -263
- package/components/shadcn-example/ai-chat/chat-interface.d.ts +0 -11
- package/components/shadcn-example/ai-chat/chat-interface.js +0 -70
- package/components/shadcn-example/ai-chat/index.d.ts +0 -38
- package/components/shadcn-example/ai-chat/index.js +0 -66
- package/components/shadcn-example/ai-chat/sidebar.d.ts +0 -15
- package/components/shadcn-example/ai-chat/sidebar.js +0 -68
- package/components/shadcn-example/ai-chat/welcome-section.d.ts +0 -12
- package/components/shadcn-example/ai-chat/welcome-section.js +0 -26
- package/components/shadcn-example/authentication/index.d.ts +0 -24
- package/components/shadcn-example/authentication/index.js +0 -59
- package/components/shadcn-example/authentication/user-auth-form.d.ts +0 -11
- package/components/shadcn-example/authentication/user-auth-form.js +0 -54
- package/components/shadcn-example/blog-detail-page/comment-section.d.ts +0 -15
- package/components/shadcn-example/blog-detail-page/comment-section.js +0 -83
- package/components/shadcn-example/blog-detail-page/content.d.ts +0 -7
- package/components/shadcn-example/blog-detail-page/content.js +0 -15
- package/components/shadcn-example/blog-detail-page/header.d.ts +0 -11
- package/components/shadcn-example/blog-detail-page/header.js +0 -36
- package/components/shadcn-example/blog-detail-page/index.d.ts +0 -25
- package/components/shadcn-example/blog-detail-page/index.js +0 -74
- package/components/shadcn-example/blog-page/blog-post-card.d.ts +0 -13
- package/components/shadcn-example/blog-page/blog-post-card.js +0 -30
- package/components/shadcn-example/blog-page/featured-post-sidebar-item.d.ts +0 -10
- package/components/shadcn-example/blog-page/featured-post-sidebar-item.js +0 -19
- package/components/shadcn-example/blog-page/index.d.ts +0 -20
- package/components/shadcn-example/blog-page/index.js +0 -36
- package/components/shadcn-example/coming-soon/countdown.d.ts +0 -2
- package/components/shadcn-example/coming-soon/countdown.js +0 -82
- package/components/shadcn-example/coming-soon/index.d.ts +0 -10
- package/components/shadcn-example/coming-soon/index.js +0 -41
- package/components/shadcn-io/color-picker/index.d.ts +0 -43
- package/components/shadcn-io/color-picker/index.js +0 -304
- package/components/shadcn-io/copy-button/index.d.ts +0 -16
- package/components/shadcn-io/copy-button/index.js +0 -121
- package/components/shadcn-io/dropzone/index.d.ts +0 -19
- package/components/shadcn-io/dropzone/index.js +0 -131
- package/components/shadcn-io/gantt/index.d.ts +0 -145
- package/components/shadcn-io/gantt/index.js +0 -766
- package/components/shadcn-io/table/index.d.ts +0 -60
- package/components/shadcn-io/table/index.js +0 -138
- package/templates/appcorp-v1/footer/bottom-bar.d.ts +0 -6
- package/templates/appcorp-v1/footer/bottom-bar.js +0 -25
- package/templates/appcorp-v1/footer/cta.d.ts +0 -6
- package/templates/appcorp-v1/footer/cta.js +0 -21
- package/templates/appcorp-v1/footer/footer-grid.d.ts +0 -14
- package/templates/appcorp-v1/footer/footer-grid.js +0 -52
- package/templates/appcorp-v1/footer/index.d.ts +0 -3
- package/templates/appcorp-v1/footer/index.js +0 -28
- package/templates/appcorp-v1/footer/newsletter.d.ts +0 -11
- package/templates/appcorp-v1/footer/newsletter.js +0 -28
- package/templates/appcorp-v1/footer/stats.d.ts +0 -6
- package/templates/appcorp-v1/footer/stats.js +0 -15
- package/templates/appcorp-v1/header/announcement-bar.d.ts +0 -3
- package/templates/appcorp-v1/header/announcement-bar.js +0 -15
- package/templates/appcorp-v1/header/dropdown-panel.d.ts +0 -8
- package/templates/appcorp-v1/header/dropdown-panel.js +0 -72
- package/templates/appcorp-v1/header/index.d.ts +0 -12
- package/templates/appcorp-v1/header/index.js +0 -16
- package/templates/appcorp-v1/header/mobile-menu.d.ts +0 -14
- package/templates/appcorp-v1/header/mobile-menu.js +0 -101
- package/templates/appcorp-v1/header/navigation-bar.d.ts +0 -3
- package/templates/appcorp-v1/header/navigation-bar.js +0 -117
- package/templates/appcorp-v1/header/social-button.d.ts +0 -7
- package/templates/appcorp-v1/header/social-button.js +0 -48
- package/templates/appcorp-v1/home.d.ts +0 -3
- package/templates/appcorp-v1/home.js +0 -27
- package/templates/data/appcorp-v1.d.ts +0 -93
- package/templates/data/appcorp-v1.js +0 -348
- package/templates/data/edupilotpro-v1.d.ts +0 -33
- package/templates/data/edupilotpro-v1.js +0 -116
- package/templates/data/school-v1.d.ts +0 -328
- package/templates/data/school-v1.js +0 -1563
- package/templates/edupilotpro-v1/feature-card.d.ts +0 -13
- package/templates/edupilotpro-v1/feature-card.js +0 -28
- package/templates/edupilotpro-v1/mockups/dashboard-mockup.d.ts +0 -3
- package/templates/edupilotpro-v1/mockups/dashboard-mockup.js +0 -55
- package/templates/school-v1/footer.d.ts +0 -3
- package/templates/school-v1/footer.js +0 -75
- package/templates/school-v1/index.d.ts +0 -18
- package/templates/school-v1/index.js +0 -60
- package/templates/school-v1/navigation.d.ts +0 -3
- package/templates/school-v1/navigation.js +0 -123
- package/templates/school-v1/sections/about.d.ts +0 -3
- package/templates/school-v1/sections/about.js +0 -49
- package/templates/school-v1/sections/admissions.d.ts +0 -3
- package/templates/school-v1/sections/admissions.js +0 -77
- package/templates/school-v1/sections/contact.d.ts +0 -3
- package/templates/school-v1/sections/contact.js +0 -67
- package/templates/school-v1/sections/faqs.d.ts +0 -3
- package/templates/school-v1/sections/faqs.js +0 -50
- package/templates/school-v1/sections/hero.d.ts +0 -3
- package/templates/school-v1/sections/hero.js +0 -132
- package/templates/school-v1/sections/management.d.ts +0 -3
- package/templates/school-v1/sections/management.js +0 -34
- package/templates/school-v1/sections/policies.d.ts +0 -3
- package/templates/school-v1/sections/policies.js +0 -127
- package/templates/school-v1/sections/programs.d.ts +0 -3
- package/templates/school-v1/sections/programs.js +0 -107
- package/templates/school-v1/sections/testimonials.d.ts +0 -3
- package/templates/school-v1/sections/testimonials.js +0 -46
- package/templates/school-v1/sections/why-choose-us.d.ts +0 -3
- package/templates/school-v1/sections/why-choose-us.js +0 -57
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React, { FC } from "react";
|
|
2
|
-
export interface FeatureCardProps {
|
|
3
|
-
accent: string;
|
|
4
|
-
bg: string;
|
|
5
|
-
description: string;
|
|
6
|
-
highlights: string[];
|
|
7
|
-
href: string;
|
|
8
|
-
Icon: React.ComponentType<{
|
|
9
|
-
className?: string;
|
|
10
|
-
}>;
|
|
11
|
-
title: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const FeatureCard: FC<FeatureCardProps>;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FeatureCard = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var link_1 = __importDefault(require("next/link"));
|
|
9
|
-
var lucide_react_1 = require("lucide-react");
|
|
10
|
-
var card_1 = require("../../components/ui/card");
|
|
11
|
-
var FeatureCard = function (_a) {
|
|
12
|
-
var accent = _a.accent, bg = _a.bg, description = _a.description, highlights = _a.highlights, href = _a.href, Icon = _a.Icon, title = _a.title;
|
|
13
|
-
return (react_1.default.createElement(link_1.default, { key: title, href: href, prefetch: false, className: "group flex" },
|
|
14
|
-
react_1.default.createElement(card_1.Card, { className: "flex w-full flex-col border-border/60 transition-all hover:shadow-lg hover:border-primary/40" },
|
|
15
|
-
react_1.default.createElement(card_1.CardHeader, { className: "pb-3" },
|
|
16
|
-
react_1.default.createElement("div", { className: "mb-4 inline-flex h-11 w-11 items-center justify-center rounded-xl ".concat(bg) },
|
|
17
|
-
react_1.default.createElement(Icon, { className: "h-5 w-5 ".concat(accent) })),
|
|
18
|
-
react_1.default.createElement(card_1.CardTitle, { className: "text-lg" }, title)),
|
|
19
|
-
react_1.default.createElement(card_1.CardContent, { className: "flex flex-col flex-1 gap-4" },
|
|
20
|
-
react_1.default.createElement("p", { className: "text-sm text-muted-foreground leading-relaxed" }, description),
|
|
21
|
-
react_1.default.createElement("ul", { className: "mt-auto space-y-1.5" }, highlights.map(function (h) { return (react_1.default.createElement("li", { key: h, className: "flex items-start gap-2 text-sm text-foreground" },
|
|
22
|
-
react_1.default.createElement(lucide_react_1.CheckCircle2, { className: "mt-0.5 h-4 w-4 shrink-0 ".concat(accent) }),
|
|
23
|
-
h)); })),
|
|
24
|
-
react_1.default.createElement("div", { className: "mt-2 flex items-center gap-1 text-xs font-semibold ".concat(accent) },
|
|
25
|
-
"Learn more",
|
|
26
|
-
react_1.default.createElement(lucide_react_1.ArrowRight, { className: "h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5" }))))));
|
|
27
|
-
};
|
|
28
|
-
exports.FeatureCard = FeatureCard;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DashboardMockup = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var lucide_react_1 = require("lucide-react");
|
|
9
|
-
var DashboardMockup = function (_a) {
|
|
10
|
-
var domain = _a.domain, enrollmentHeading = _a.enrollmentHeading, enrollmentList = _a.enrollmentList, items = _a.items, schoolName = _a.schoolName, stats = _a.stats;
|
|
11
|
-
return (react_1.default.createElement("div", { className: "relative mx-auto w-full max-w-3xl" },
|
|
12
|
-
react_1.default.createElement("div", { className: "absolute inset-0 -z-10 scale-95 blur-3xl opacity-30 bg-gradient-to-br from-primary via-purple-500 to-blue-500 rounded-2xl" }),
|
|
13
|
-
react_1.default.createElement("div", { className: "rounded-xl border border-border/60 bg-background shadow-2xl overflow-hidden" },
|
|
14
|
-
react_1.default.createElement("div", { className: "flex items-center gap-2 border-b border-border/60 bg-muted/50 px-4 py-3" },
|
|
15
|
-
react_1.default.createElement("span", { className: "h-3 w-3 rounded-full bg-red-400" }),
|
|
16
|
-
react_1.default.createElement("span", { className: "h-3 w-3 rounded-full bg-yellow-400" }),
|
|
17
|
-
react_1.default.createElement("span", { className: "h-3 w-3 rounded-full bg-green-400" }),
|
|
18
|
-
react_1.default.createElement("div", { className: "ml-3 flex-1 rounded-md bg-background/70 border border-border/40 px-3 py-1 text-xs text-muted-foreground" }, domain)),
|
|
19
|
-
react_1.default.createElement("div", { className: "flex h-[340px] sm:h-[380px]" },
|
|
20
|
-
react_1.default.createElement("div", { className: "hidden w-44 flex-shrink-0 border-r border-border/40 bg-muted/30 p-3 sm:block" },
|
|
21
|
-
react_1.default.createElement("div", { className: "mb-4 flex items-center gap-2" },
|
|
22
|
-
react_1.default.createElement("span", { className: "flex h-6 w-6 items-center justify-center rounded bg-primary text-primary-foreground" },
|
|
23
|
-
react_1.default.createElement(lucide_react_1.GraduationCap, { className: "h-4 w-4" })),
|
|
24
|
-
react_1.default.createElement("span", { className: "text-xs font-bold" }, "EduPilotPro")),
|
|
25
|
-
items.map(function (_a) {
|
|
26
|
-
var Icon = _a.icon, label = _a.label, active = _a.active;
|
|
27
|
-
return (react_1.default.createElement("div", { key: label, className: "mb-1 flex items-center gap-2 rounded-md px-2 py-1.5 text-xs ".concat(active
|
|
28
|
-
? "bg-primary/10 text-primary font-semibold"
|
|
29
|
-
: "text-muted-foreground") },
|
|
30
|
-
react_1.default.createElement(Icon, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
31
|
-
label));
|
|
32
|
-
})),
|
|
33
|
-
react_1.default.createElement("div", { className: "flex-1 overflow-hidden p-4" },
|
|
34
|
-
react_1.default.createElement("p", { className: "mb-3 text-sm font-semibold text-foreground" },
|
|
35
|
-
"Overview \u2014 ",
|
|
36
|
-
schoolName),
|
|
37
|
-
react_1.default.createElement("div", { className: "grid grid-cols-2 gap-2 sm:grid-cols-4" }, stats.map(function (_a) {
|
|
38
|
-
var label = _a.label, value = _a.value, color = _a.color;
|
|
39
|
-
return (react_1.default.createElement("div", { key: label, className: "rounded-lg border border-border/50 bg-card p-3" },
|
|
40
|
-
react_1.default.createElement("p", { className: "text-[10px] text-muted-foreground" }, label),
|
|
41
|
-
react_1.default.createElement("p", { className: "text-lg font-bold ".concat(color) }, value)));
|
|
42
|
-
})),
|
|
43
|
-
react_1.default.createElement("div", { className: "mt-3 rounded-lg border border-border/50 bg-card p-3" },
|
|
44
|
-
react_1.default.createElement("p", { className: "mb-2 text-xs font-semibold text-foreground" }, enrollmentHeading),
|
|
45
|
-
react_1.default.createElement("div", { className: "space-y-1.5" }, enrollmentList.map(function (_a) {
|
|
46
|
-
var name = _a.name, cls = _a.class, status = _a.status;
|
|
47
|
-
return (react_1.default.createElement("div", { key: name, className: "flex items-center justify-between text-[10px]" },
|
|
48
|
-
react_1.default.createElement("span", { className: "font-medium text-foreground" }, name),
|
|
49
|
-
react_1.default.createElement("span", { className: "text-muted-foreground" }, cls),
|
|
50
|
-
react_1.default.createElement("span", { className: "rounded-full px-1.5 py-0.5 text-[9px] font-medium ".concat(status === "Active"
|
|
51
|
-
? "bg-green-100 text-green-700"
|
|
52
|
-
: "bg-yellow-100 text-yellow-700") }, status)));
|
|
53
|
-
}))))))));
|
|
54
|
-
};
|
|
55
|
-
exports.DashboardMockup = DashboardMockup;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Footer = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var link_1 = __importDefault(require("next/link"));
|
|
9
|
-
var lucide_react_1 = require("lucide-react");
|
|
10
|
-
var separator_1 = require("../../components/ui/separator");
|
|
11
|
-
var iconMap = {
|
|
12
|
-
facebook: lucide_react_1.Facebook,
|
|
13
|
-
instagram: lucide_react_1.Instagram,
|
|
14
|
-
twitter: lucide_react_1.Twitter,
|
|
15
|
-
youtube: lucide_react_1.Youtube,
|
|
16
|
-
};
|
|
17
|
-
var Footer = function (_a) {
|
|
18
|
-
var address = _a.address, brandDescription = _a.brandDescription, brandFullName = _a.brandFullName, brandShortName = _a.brandShortName, emailHref = _a.emailHref, emailLabel = _a.emailLabel, partnerHref = _a.partnerHref, partnerLabel = _a.partnerLabel, phoneHref = _a.phoneHref, phoneLabel = _a.phoneLabel, programs = _a.programs, quickLinks = _a.quickLinks, socialLinks = _a.socialLinks;
|
|
19
|
-
return (react_1.default.createElement("footer", { className: "bg-blue-950 text-blue-100" },
|
|
20
|
-
react_1.default.createElement("div", { className: "container mx-auto px-4 py-12" },
|
|
21
|
-
react_1.default.createElement("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4" },
|
|
22
|
-
react_1.default.createElement("div", null,
|
|
23
|
-
react_1.default.createElement("div", { className: "mb-4 flex items-center gap-2" },
|
|
24
|
-
react_1.default.createElement("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-blue-600" },
|
|
25
|
-
react_1.default.createElement(lucide_react_1.GraduationCap, { className: "h-6 w-6 text-white" })),
|
|
26
|
-
react_1.default.createElement("div", null,
|
|
27
|
-
react_1.default.createElement("div", { className: "font-bold text-white" }, brandShortName),
|
|
28
|
-
react_1.default.createElement("div", { className: "text-xs text-blue-300" }, brandFullName))),
|
|
29
|
-
react_1.default.createElement("p", { className: "text-sm text-blue-300" }, brandDescription),
|
|
30
|
-
react_1.default.createElement("div", { className: "mt-4 flex gap-3" }, socialLinks
|
|
31
|
-
.filter(function (s) { return s.enable; })
|
|
32
|
-
.sort(function (a, b) { return a.order - b.order; })
|
|
33
|
-
.map(function (s) {
|
|
34
|
-
var _a;
|
|
35
|
-
var aria = (_a = s.aria) !== null && _a !== void 0 ? _a : s.name;
|
|
36
|
-
return (react_1.default.createElement(link_1.default, { key: "".concat(s.name, "-").concat(s.order), href: s.href, "aria-label": aria, className: "text-blue-300 transition-colors hover:text-white" }, iconMap[s.name] &&
|
|
37
|
-
react_1.default.createElement(iconMap[s.name], {
|
|
38
|
-
className: "h-5 w-5",
|
|
39
|
-
})));
|
|
40
|
-
}))),
|
|
41
|
-
react_1.default.createElement("div", null,
|
|
42
|
-
react_1.default.createElement("h3", { className: "mb-4 font-semibold text-white" }, "Quick Links"),
|
|
43
|
-
react_1.default.createElement("ul", { className: "space-y-2 text-sm" }, quickLinks
|
|
44
|
-
.filter(function (l) { return l.enable; })
|
|
45
|
-
.sort(function (a, b) { return a.order - b.order; })
|
|
46
|
-
.map(function (link) { return (react_1.default.createElement("li", { key: "".concat(link.href, "-").concat(link.order) },
|
|
47
|
-
react_1.default.createElement(link_1.default, { href: link.href, className: "text-blue-300 transition-colors hover:text-white" }, link.label))); }))),
|
|
48
|
-
react_1.default.createElement("div", null,
|
|
49
|
-
react_1.default.createElement("h3", { className: "mb-4 font-semibold text-white" }, "Programs"),
|
|
50
|
-
react_1.default.createElement("ul", { className: "space-y-2 text-sm" }, programs.map(function (program) { return (react_1.default.createElement("li", { key: program.id, className: "text-blue-300" }, program.label)); }))),
|
|
51
|
-
react_1.default.createElement("div", null,
|
|
52
|
-
react_1.default.createElement("h3", { className: "mb-4 font-semibold text-white" }, "Contact"),
|
|
53
|
-
react_1.default.createElement("ul", { className: "space-y-3 text-sm" },
|
|
54
|
-
react_1.default.createElement("li", { className: "flex items-start gap-2 text-blue-300" },
|
|
55
|
-
react_1.default.createElement(lucide_react_1.MapPin, { className: "mt-0.5 h-4 w-4 shrink-0" }),
|
|
56
|
-
react_1.default.createElement("span", null, address)),
|
|
57
|
-
react_1.default.createElement("li", { className: "flex items-center gap-2 text-blue-300" },
|
|
58
|
-
react_1.default.createElement(lucide_react_1.Phone, { className: "h-4 w-4 shrink-0" }),
|
|
59
|
-
react_1.default.createElement(link_1.default, { href: phoneHref, className: "transition-colors hover:text-white" }, phoneLabel)),
|
|
60
|
-
react_1.default.createElement("li", { className: "flex items-center gap-2 text-blue-300" },
|
|
61
|
-
react_1.default.createElement(lucide_react_1.Mail, { className: "h-4 w-4 shrink-0" }),
|
|
62
|
-
react_1.default.createElement(link_1.default, { href: emailHref, className: "transition-colors hover:text-white" }, emailLabel))))),
|
|
63
|
-
react_1.default.createElement(separator_1.Separator, { className: "my-8 bg-blue-800" }),
|
|
64
|
-
react_1.default.createElement("div", { className: "flex flex-col items-center justify-between gap-4 text-sm text-blue-400 md:flex-row" },
|
|
65
|
-
react_1.default.createElement("p", null,
|
|
66
|
-
"\u00A9 ",
|
|
67
|
-
new Date().getFullYear(),
|
|
68
|
-
" ",
|
|
69
|
-
brandFullName,
|
|
70
|
-
". All rights reserved."),
|
|
71
|
-
react_1.default.createElement("div", { className: "flex gap-1" },
|
|
72
|
-
"our Tech Partners",
|
|
73
|
-
partnerLabel && partnerHref && (react_1.default.createElement(link_1.default, { target: "_blank", href: partnerHref, className: "transition-colors hover:text-white" }, partnerLabel)))))));
|
|
74
|
-
};
|
|
75
|
-
exports.Footer = Footer;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { AboutData, AdmissionsData, ContactData, FAQsData, FooterData, HeroData, ManagementData, PoliciesData, ProgramsData, TestimonialData, WhyUsData } from "../../templates/data/school-v1";
|
|
3
|
-
export type SchoolV1TemplateProps = {
|
|
4
|
-
overrides?: {
|
|
5
|
-
aboutData?: AboutData;
|
|
6
|
-
admissionsData?: AdmissionsData;
|
|
7
|
-
contactData?: ContactData;
|
|
8
|
-
faqsData?: FAQsData;
|
|
9
|
-
footerData?: FooterData;
|
|
10
|
-
heroData?: HeroData;
|
|
11
|
-
managementData?: ManagementData;
|
|
12
|
-
policiesData?: PoliciesData;
|
|
13
|
-
programsData?: ProgramsData;
|
|
14
|
-
testimonialData?: TestimonialData;
|
|
15
|
-
whysUsData?: WhyUsData;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export declare const SchoolV1Template: React.FC<SchoolV1TemplateProps>;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.SchoolV1Template = void 0;
|
|
18
|
-
var react_1 = __importDefault(require("react"));
|
|
19
|
-
var about_1 = require("./sections/about");
|
|
20
|
-
var admissions_1 = require("./sections/admissions");
|
|
21
|
-
var contact_1 = require("./sections/contact");
|
|
22
|
-
var faqs_1 = require("./sections/faqs");
|
|
23
|
-
var hero_1 = require("./sections/hero");
|
|
24
|
-
var management_1 = require("./sections/management");
|
|
25
|
-
var policies_1 = require("./sections/policies");
|
|
26
|
-
var programs_1 = require("./sections/programs");
|
|
27
|
-
var testimonials_1 = require("./sections/testimonials");
|
|
28
|
-
var why_choose_us_1 = require("./sections/why-choose-us");
|
|
29
|
-
var school_v1_1 = require("../../templates/data/school-v1");
|
|
30
|
-
var navigation_1 = require("./navigation");
|
|
31
|
-
var footer_1 = require("./footer");
|
|
32
|
-
var SchoolV1Template = function (_a) {
|
|
33
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
34
|
-
var overrides = _a.overrides;
|
|
35
|
-
var h = (_b = overrides === null || overrides === void 0 ? void 0 : overrides.heroData) !== null && _b !== void 0 ? _b : school_v1_1.heroData;
|
|
36
|
-
var a = (_c = overrides === null || overrides === void 0 ? void 0 : overrides.aboutData) !== null && _c !== void 0 ? _c : school_v1_1.aboutData;
|
|
37
|
-
var p = (_d = overrides === null || overrides === void 0 ? void 0 : overrides.programsData) !== null && _d !== void 0 ? _d : school_v1_1.programsData;
|
|
38
|
-
var w = (_e = overrides === null || overrides === void 0 ? void 0 : overrides.whysUsData) !== null && _e !== void 0 ? _e : school_v1_1.whysUsData;
|
|
39
|
-
var ad = (_f = overrides === null || overrides === void 0 ? void 0 : overrides.admissionsData) !== null && _f !== void 0 ? _f : school_v1_1.admissionsData;
|
|
40
|
-
var t = (_g = overrides === null || overrides === void 0 ? void 0 : overrides.testimonialData) !== null && _g !== void 0 ? _g : school_v1_1.testimonialData;
|
|
41
|
-
var m = (_h = overrides === null || overrides === void 0 ? void 0 : overrides.managementData) !== null && _h !== void 0 ? _h : school_v1_1.managementData;
|
|
42
|
-
var f = (_j = overrides === null || overrides === void 0 ? void 0 : overrides.faqsData) !== null && _j !== void 0 ? _j : school_v1_1.faqsData;
|
|
43
|
-
var c = (_k = overrides === null || overrides === void 0 ? void 0 : overrides.contactData) !== null && _k !== void 0 ? _k : school_v1_1.contactData;
|
|
44
|
-
var po = (_l = overrides === null || overrides === void 0 ? void 0 : overrides.policiesData) !== null && _l !== void 0 ? _l : school_v1_1.policiesData;
|
|
45
|
-
var fo = (_m = overrides === null || overrides === void 0 ? void 0 : overrides.footerData) !== null && _m !== void 0 ? _m : school_v1_1.footerData;
|
|
46
|
-
return (react_1.default.createElement("div", null,
|
|
47
|
-
react_1.default.createElement(navigation_1.Navigation, __assign({}, school_v1_1.navigationData)),
|
|
48
|
-
react_1.default.createElement(hero_1.HeroSection, __assign({}, h)),
|
|
49
|
-
react_1.default.createElement(about_1.AboutSection, __assign({}, a)),
|
|
50
|
-
react_1.default.createElement(programs_1.ProgramsSection, __assign({}, p)),
|
|
51
|
-
react_1.default.createElement(why_choose_us_1.WhyChooseUsSection, __assign({}, w)),
|
|
52
|
-
react_1.default.createElement(admissions_1.AdmissionsSection, __assign({}, ad)),
|
|
53
|
-
react_1.default.createElement(testimonials_1.TestimonialsSection, __assign({}, t)),
|
|
54
|
-
react_1.default.createElement(management_1.ManagementSection, __assign({}, m)),
|
|
55
|
-
react_1.default.createElement(faqs_1.FAQsSection, __assign({}, f)),
|
|
56
|
-
react_1.default.createElement(policies_1.PoliciesSection, __assign({}, po)),
|
|
57
|
-
react_1.default.createElement(contact_1.ContactSection, __assign({}, c)),
|
|
58
|
-
react_1.default.createElement(footer_1.Footer, __assign({}, fo))));
|
|
59
|
-
};
|
|
60
|
-
exports.SchoolV1Template = SchoolV1Template;
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.Navigation = void 0;
|
|
41
|
-
var react_1 = __importStar(require("react"));
|
|
42
|
-
var link_1 = __importDefault(require("next/link"));
|
|
43
|
-
var navigation_1 = require("next/navigation");
|
|
44
|
-
var button_1 = require("../../components/ui/button");
|
|
45
|
-
var sheet_1 = require("../../components/ui/sheet");
|
|
46
|
-
var separator_1 = require("../../components/ui/separator");
|
|
47
|
-
var lucide_react_1 = require("lucide-react");
|
|
48
|
-
var utils_1 = require("../../lib/utils");
|
|
49
|
-
var Navigation = function (_a) {
|
|
50
|
-
var brandFullName = _a.brandFullName, brandShortName = _a.brandShortName, ctaHref = _a.ctaHref, ctaLabel = _a.ctaLabel, items = _a.items;
|
|
51
|
-
var pathname = (0, navigation_1.usePathname)();
|
|
52
|
-
var isHome = pathname === "/";
|
|
53
|
-
var _b = (0, react_1.useState)(false), scrolled = _b[0], setScrolled = _b[1];
|
|
54
|
-
var _c = (0, react_1.useState)(false), open = _c[0], setOpen = _c[1];
|
|
55
|
-
(0, react_1.useEffect)(function () {
|
|
56
|
-
if (isHome) {
|
|
57
|
-
var handleScroll_1 = function () { return setScrolled(window.scrollY > 20); };
|
|
58
|
-
window.addEventListener("scroll", handleScroll_1);
|
|
59
|
-
handleScroll_1();
|
|
60
|
-
return function () { return window.removeEventListener("scroll", handleScroll_1); };
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
setScrolled(false);
|
|
64
|
-
}
|
|
65
|
-
}, [isHome]);
|
|
66
|
-
return (react_1.default.createElement("div", { className: (0, utils_1.cn)(isHome
|
|
67
|
-
? "fixed top-0 z-50 w-full transition-all duration-300"
|
|
68
|
-
: "sticky top-0 z-50 w-full", isHome
|
|
69
|
-
? scrolled
|
|
70
|
-
? "bg-white/95 shadow-md backdrop-blur-sm"
|
|
71
|
-
: "bg-transparent"
|
|
72
|
-
: "bg-white shadow-md") },
|
|
73
|
-
react_1.default.createElement("nav", { className: "container mx-auto flex h-16 items-center justify-between px-4" },
|
|
74
|
-
react_1.default.createElement(link_1.default, { href: "/", className: "flex items-center gap-2" },
|
|
75
|
-
react_1.default.createElement("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-blue-700" },
|
|
76
|
-
react_1.default.createElement(lucide_react_1.GraduationCap, { className: "h-6 w-6 text-white" })),
|
|
77
|
-
react_1.default.createElement("div", null,
|
|
78
|
-
react_1.default.createElement("div", { className: (0, utils_1.cn)("text-sm leading-none font-bold", isHome
|
|
79
|
-
? scrolled
|
|
80
|
-
? "text-blue-900"
|
|
81
|
-
: "text-white"
|
|
82
|
-
: "text-blue-900") }, brandShortName),
|
|
83
|
-
react_1.default.createElement("div", { className: (0, utils_1.cn)("text-xs leading-none", isHome
|
|
84
|
-
? scrolled
|
|
85
|
-
? "text-blue-600"
|
|
86
|
-
: "text-blue-100"
|
|
87
|
-
: "text-blue-600") }, brandFullName))),
|
|
88
|
-
react_1.default.createElement("div", { className: "hidden items-center gap-6 lg:flex" },
|
|
89
|
-
items
|
|
90
|
-
.filter(function (l) { return l.enable; })
|
|
91
|
-
.sort(function (a, b) { return a.order - b.order; })
|
|
92
|
-
.map(function (link) { return (react_1.default.createElement(link_1.default, { key: "".concat(link.href, "-").concat(link.order), href: link.href, className: (0, utils_1.cn)("text-sm font-medium transition-colors hover:text-blue-400", isHome
|
|
93
|
-
? scrolled
|
|
94
|
-
? "text-gray-700"
|
|
95
|
-
: "text-white"
|
|
96
|
-
: "text-gray-700") }, link.label)); }),
|
|
97
|
-
ctaHref && ctaLabel && (react_1.default.createElement(button_1.Button, { asChild: true, size: "sm", className: "bg-blue-700 hover:bg-blue-800" },
|
|
98
|
-
react_1.default.createElement(link_1.default, { href: ctaHref }, ctaLabel)))),
|
|
99
|
-
react_1.default.createElement(sheet_1.Sheet, { open: open, onOpenChange: setOpen },
|
|
100
|
-
react_1.default.createElement(sheet_1.SheetTrigger, { asChild: true, className: "lg:hidden" },
|
|
101
|
-
react_1.default.createElement(button_1.Button, { variant: "ghost", size: "icon" },
|
|
102
|
-
react_1.default.createElement(lucide_react_1.Menu, { className: isHome
|
|
103
|
-
? scrolled
|
|
104
|
-
? "text-gray-700"
|
|
105
|
-
: "text-white"
|
|
106
|
-
: "text-gray-700" }))),
|
|
107
|
-
react_1.default.createElement(sheet_1.SheetContent, { side: "right", className: "w-72" },
|
|
108
|
-
react_1.default.createElement("div", { className: "flex items-center gap-2 py-4" },
|
|
109
|
-
react_1.default.createElement("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-blue-700" },
|
|
110
|
-
react_1.default.createElement(lucide_react_1.GraduationCap, { className: "h-6 w-6 text-white" })),
|
|
111
|
-
react_1.default.createElement("div", null,
|
|
112
|
-
react_1.default.createElement("div", { className: "text-sm font-bold text-blue-900" }, brandShortName),
|
|
113
|
-
react_1.default.createElement("div", { className: "text-xs text-blue-600" }, brandFullName))),
|
|
114
|
-
react_1.default.createElement(separator_1.Separator, null),
|
|
115
|
-
react_1.default.createElement("div", { className: "mt-4 flex flex-col gap-2" },
|
|
116
|
-
items
|
|
117
|
-
.filter(function (l) { return l.enable; })
|
|
118
|
-
.sort(function (a, b) { return a.order - b.order; })
|
|
119
|
-
.map(function (link) { return (react_1.default.createElement(link_1.default, { key: "".concat(link.href, "-").concat(link.order), href: link.href, onClick: function () { return setOpen(false); }, className: "rounded-md px-3 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-blue-50 hover:text-blue-700" }, link.label)); }),
|
|
120
|
-
ctaHref && ctaLabel && (react_1.default.createElement(button_1.Button, { asChild: true, className: "mt-4 bg-blue-700 text-white hover:bg-blue-800" },
|
|
121
|
-
react_1.default.createElement(link_1.default, { href: ctaHref, onClick: function () { return setOpen(false); } }, ctaLabel)))))))));
|
|
122
|
-
};
|
|
123
|
-
exports.Navigation = Navigation;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.AboutSection = void 0;
|
|
8
|
-
var framer_motion_1 = require("framer-motion");
|
|
9
|
-
var badge_1 = require("../../../components/ui/badge");
|
|
10
|
-
var card_1 = require("../../../components/ui/card");
|
|
11
|
-
var separator_1 = require("../../../components/ui/separator");
|
|
12
|
-
var lucide_react_1 = require("lucide-react");
|
|
13
|
-
var react_1 = __importDefault(require("react"));
|
|
14
|
-
var iconMap = { star: lucide_react_1.Star, heart: lucide_react_1.Heart, target: lucide_react_1.Target, eye: lucide_react_1.Eye };
|
|
15
|
-
var AboutSection = function (_a) {
|
|
16
|
-
var badge = _a.badge, heading = _a.heading, headingHighlight = _a.headingHighlight, lead = _a.lead, milestones = _a.milestones, paragraphs = _a.paragraphs, stats = _a.stats, values = _a.values;
|
|
17
|
-
return (react_1.default.createElement("section", { id: "about", className: "overflow-hidden bg-white py-24" },
|
|
18
|
-
react_1.default.createElement("div", { className: "container mx-auto px-4" },
|
|
19
|
-
react_1.default.createElement(framer_motion_1.motion.div, { className: "mb-16 text-center", initial: { opacity: 0, y: 30 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.6 }, viewport: { once: true } },
|
|
20
|
-
react_1.default.createElement(badge_1.Badge, { className: "mb-4 bg-blue-100 text-blue-700 hover:bg-blue-100" }, badge),
|
|
21
|
-
react_1.default.createElement("h2", { className: "mb-4 text-4xl font-bold text-gray-900 md:text-5xl" },
|
|
22
|
-
heading,
|
|
23
|
-
" ",
|
|
24
|
-
react_1.default.createElement("span", { className: "text-blue-700" }, headingHighlight)),
|
|
25
|
-
react_1.default.createElement("p", { className: "mx-auto max-w-3xl text-lg text-gray-600" }, lead)),
|
|
26
|
-
react_1.default.createElement("div", { className: "mb-20 grid grid-cols-1 items-start gap-16 lg:grid-cols-2" },
|
|
27
|
-
react_1.default.createElement(framer_motion_1.motion.div, { initial: { opacity: 0, x: -50 }, whileInView: { opacity: 1, x: 0 }, transition: { duration: 0.7 }, viewport: { once: true } },
|
|
28
|
-
react_1.default.createElement("div", { className: "mb-6 space-y-5" }, paragraphs.map(function (p) { return (react_1.default.createElement("p", { key: p.id, className: "leading-relaxed text-gray-600" }, p.content)); })),
|
|
29
|
-
react_1.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, stats.map(function (stat) { return (react_1.default.createElement(framer_motion_1.motion.div, { key: stat.label, className: "rounded-2xl border border-gray-100 bg-gray-50 p-5 text-center shadow-sm", whileHover: { scale: 1.04, y: -3 }, transition: { type: "spring", stiffness: 300 } },
|
|
30
|
-
react_1.default.createElement("div", { className: "mb-1 text-2xl font-extrabold text-gray-900" }, stat.value),
|
|
31
|
-
react_1.default.createElement("div", { className: "text-xs font-medium text-gray-500" }, stat.label),
|
|
32
|
-
react_1.default.createElement("div", { className: "mx-auto mt-2 h-1 w-10 rounded-full ".concat(stat.color) }))); }))),
|
|
33
|
-
react_1.default.createElement(framer_motion_1.motion.div, { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", initial: { opacity: 0, x: 50 }, whileInView: { opacity: 1, x: 0 }, transition: { duration: 0.7, delay: 0.2 }, viewport: { once: true } }, values.map(function (value, index) { return (react_1.default.createElement(framer_motion_1.motion.div, { key: value.title, initial: { opacity: 0, y: 30 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.5, delay: index * 0.12 }, viewport: { once: true }, whileHover: { y: -6 } },
|
|
34
|
-
react_1.default.createElement(card_1.Card, { className: "h-full border ".concat(value.borderColor, " transition-shadow hover:shadow-lg") },
|
|
35
|
-
react_1.default.createElement(card_1.CardContent, { className: "h-full p-6 ".concat(value.color) },
|
|
36
|
-
react_1.default.createElement("div", { className: "mb-3 flex h-12 w-12 items-center justify-center rounded-xl bg-white shadow-sm" }, (function () {
|
|
37
|
-
var Icon = iconMap[value.icon];
|
|
38
|
-
return (react_1.default.createElement(Icon, { className: "h-6 w-6 ".concat(value.iconColor) }));
|
|
39
|
-
})()),
|
|
40
|
-
react_1.default.createElement("h3", { className: "mb-2 font-semibold text-gray-900" }, value.title),
|
|
41
|
-
react_1.default.createElement("p", { className: "text-sm leading-relaxed text-gray-600" }, value.description))))); }))),
|
|
42
|
-
react_1.default.createElement(framer_motion_1.motion.div, { initial: { opacity: 0, y: 40 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.7 }, viewport: { once: true }, className: "rounded-3xl bg-linear-to-r from-blue-900 to-blue-700 p-8 md:p-12" },
|
|
43
|
-
react_1.default.createElement("h3", { className: "mb-8 text-center text-2xl font-bold text-white" }, "Our Journey Through Time"),
|
|
44
|
-
react_1.default.createElement("div", { className: "grid grid-cols-2 gap-6 md:grid-cols-4" }, milestones.map(function (m, i) { return (react_1.default.createElement(framer_motion_1.motion.div, { key: m.year, initial: { opacity: 0, y: 20 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.5, delay: i * 0.15 }, viewport: { once: true }, className: "text-center" },
|
|
45
|
-
react_1.default.createElement("div", { className: "mb-2 text-3xl font-extrabold text-yellow-400" }, m.year),
|
|
46
|
-
react_1.default.createElement(separator_1.Separator, { className: "mx-auto mb-2 w-8 bg-white/20" }),
|
|
47
|
-
react_1.default.createElement("p", { className: "text-sm leading-relaxed text-blue-100" }, m.event))); }))))));
|
|
48
|
-
};
|
|
49
|
-
exports.AboutSection = AboutSection;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.AdmissionsSection = void 0;
|
|
8
|
-
var framer_motion_1 = require("framer-motion");
|
|
9
|
-
var badge_1 = require("../../../components/ui/badge");
|
|
10
|
-
var button_1 = require("../../../components/ui/button");
|
|
11
|
-
var link_1 = __importDefault(require("next/link"));
|
|
12
|
-
var lucide_react_1 = require("lucide-react");
|
|
13
|
-
var react_1 = __importDefault(require("react"));
|
|
14
|
-
var iconMap = {
|
|
15
|
-
"file-text": lucide_react_1.FileText,
|
|
16
|
-
calendar: lucide_react_1.Calendar,
|
|
17
|
-
"clipboard-list": lucide_react_1.ClipboardList,
|
|
18
|
-
"check-circle": lucide_react_1.CheckCircle,
|
|
19
|
-
};
|
|
20
|
-
var statusStyles = {
|
|
21
|
-
open: "bg-green-100 text-green-700",
|
|
22
|
-
upcoming: "bg-blue-100 text-blue-700",
|
|
23
|
-
closed: "bg-gray-100 text-gray-500",
|
|
24
|
-
};
|
|
25
|
-
var AdmissionsSection = function (_a) {
|
|
26
|
-
var admissionSteps = _a.admissionSteps, badge = _a.badge, ctaDownloadLabel = _a.ctaDownloadLabel, ctaEmailHref = _a.ctaEmailHref, ctaEmailLabel = _a.ctaEmailLabel, ctaPhoneHref = _a.ctaPhoneHref, ctaPhoneLabel = _a.ctaPhoneLabel, documentsRequired = _a.documentsRequired, documentsTitle = _a.documentsTitle, heading = _a.heading, headingHighlight = _a.headingHighlight, keyDates = _a.keyDates, keyDatesTitle = _a.keyDatesTitle, lead = _a.lead;
|
|
27
|
-
return (react_1.default.createElement("section", { id: "admissions", className: "overflow-hidden bg-white py-24" },
|
|
28
|
-
react_1.default.createElement("div", { className: "container mx-auto px-4" },
|
|
29
|
-
react_1.default.createElement(framer_motion_1.motion.div, { className: "mb-16 text-center", initial: { opacity: 0, y: 30 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.6 }, viewport: { once: true } },
|
|
30
|
-
react_1.default.createElement(badge_1.Badge, { className: "mb-4 bg-blue-100 text-blue-700 hover:bg-blue-100" }, badge),
|
|
31
|
-
react_1.default.createElement("h2", { className: "mb-5 text-4xl font-bold text-gray-900 md:text-5xl" },
|
|
32
|
-
heading,
|
|
33
|
-
" ",
|
|
34
|
-
react_1.default.createElement("span", { className: "text-blue-700" }, headingHighlight)),
|
|
35
|
-
react_1.default.createElement("p", { className: "mx-auto max-w-2xl text-lg leading-relaxed text-gray-500" }, lead)),
|
|
36
|
-
react_1.default.createElement("div", { className: "relative mb-16 grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4" },
|
|
37
|
-
react_1.default.createElement("div", { className: "absolute top-10 right-[12.5%] left-[12.5%] z-0 hidden h-0.5 bg-blue-100 lg:block" }),
|
|
38
|
-
admissionSteps.map(function (step, i) { return (react_1.default.createElement(framer_motion_1.motion.div, { key: step.step, className: "relative z-10 flex flex-col items-center text-center", initial: { opacity: 0, y: 40 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.5, delay: i * 0.12 }, viewport: { once: true } },
|
|
39
|
-
react_1.default.createElement("div", { className: "mb-5 flex h-20 w-20 items-center justify-center rounded-full ".concat(step.color, " shadow-lg ring-4 ring-white") }, (function () {
|
|
40
|
-
var Icon = iconMap[step.icon];
|
|
41
|
-
return react_1.default.createElement(Icon, { className: "h-8 w-8" });
|
|
42
|
-
})()),
|
|
43
|
-
react_1.default.createElement("div", { className: "mb-2 text-xs font-bold tracking-wider text-gray-400 uppercase" },
|
|
44
|
-
"Step ",
|
|
45
|
-
step.step),
|
|
46
|
-
react_1.default.createElement("h3", { className: "mb-2 font-bold text-gray-900" }, step.title),
|
|
47
|
-
react_1.default.createElement("p", { className: "text-sm leading-relaxed text-gray-500" }, step.description))); })),
|
|
48
|
-
react_1.default.createElement("div", { className: "grid grid-cols-1 gap-6 lg:grid-cols-3" },
|
|
49
|
-
react_1.default.createElement(framer_motion_1.motion.div, { className: "rounded-2xl bg-slate-50 p-6", initial: { opacity: 0, y: 30 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.5 }, viewport: { once: true } },
|
|
50
|
-
react_1.default.createElement("h3", { className: "mb-4 text-lg font-bold text-gray-900" }, keyDatesTitle),
|
|
51
|
-
react_1.default.createElement("div", { className: "space-y-3" }, keyDates.map(function (item) { return (react_1.default.createElement("div", { key: item.event, className: "flex items-center justify-between border-b border-gray-200 py-2 last:border-0" },
|
|
52
|
-
react_1.default.createElement("span", { className: "text-sm text-gray-700" }, item.event),
|
|
53
|
-
react_1.default.createElement(badge_1.Badge, { className: statusStyles[item.status] }, item.date))); }))),
|
|
54
|
-
react_1.default.createElement(framer_motion_1.motion.div, { className: "rounded-2xl bg-slate-50 p-6", initial: { opacity: 0, y: 30 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.5, delay: 0.1 }, viewport: { once: true } },
|
|
55
|
-
react_1.default.createElement("h3", { className: "mb-4 text-lg font-bold text-gray-900" }, documentsTitle),
|
|
56
|
-
react_1.default.createElement("ul", { className: "space-y-2" }, documentsRequired.map(function (doc) { return (react_1.default.createElement("li", { key: doc.id, className: "flex items-start gap-2 text-sm text-gray-600" },
|
|
57
|
-
react_1.default.createElement(lucide_react_1.CheckCircle, { className: "mt-0.5 h-4 w-4 shrink-0 text-green-500" }),
|
|
58
|
-
doc.content)); }))),
|
|
59
|
-
react_1.default.createElement(framer_motion_1.motion.div, { className: "flex flex-col justify-between rounded-2xl bg-linear-to-br from-blue-800 to-blue-600 p-7 text-white", initial: { opacity: 0, y: 30 }, whileInView: { opacity: 1, y: 0 }, transition: { duration: 0.5, delay: 0.2 }, viewport: { once: true } },
|
|
60
|
-
react_1.default.createElement("div", null,
|
|
61
|
-
react_1.default.createElement("h3", { className: "mb-3 text-xl font-bold" }, "Ready to Join LGGS?"),
|
|
62
|
-
react_1.default.createElement("p", { className: "mb-6 text-sm leading-relaxed text-blue-200" }, lead)),
|
|
63
|
-
react_1.default.createElement("div", { className: "space-y-3" },
|
|
64
|
-
react_1.default.createElement(button_1.Button, { className: "w-full bg-yellow-400 font-bold text-blue-900 hover:bg-yellow-300" },
|
|
65
|
-
react_1.default.createElement(lucide_react_1.Download, { className: "mr-2 h-4 w-4" }),
|
|
66
|
-
ctaDownloadLabel),
|
|
67
|
-
react_1.default.createElement("div", { className: "space-y-2 border-t border-blue-700 pt-3" },
|
|
68
|
-
react_1.default.createElement(link_1.default, { href: ctaPhoneHref, className: "flex items-center gap-2 text-sm text-blue-200 transition-colors hover:text-white" },
|
|
69
|
-
react_1.default.createElement(lucide_react_1.Phone, { className: "h-4 w-4" }),
|
|
70
|
-
" ",
|
|
71
|
-
ctaPhoneLabel),
|
|
72
|
-
react_1.default.createElement(link_1.default, { href: ctaEmailHref, className: "flex items-center gap-2 text-sm text-blue-200 transition-colors hover:text-white" },
|
|
73
|
-
react_1.default.createElement(lucide_react_1.Mail, { className: "h-4 w-4" }),
|
|
74
|
-
" ",
|
|
75
|
-
ctaEmailLabel))))))));
|
|
76
|
-
};
|
|
77
|
-
exports.AdmissionsSection = AdmissionsSection;
|