@appcorp/shadcn 1.2.0 → 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.js +5 -9
- 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.js +12 -20
- 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,60 +0,0 @@
|
|
|
1
|
-
import type { Cell, Column, ColumnDef, Header, HeaderGroup, Row, Table } from "@tanstack/react-table";
|
|
2
|
-
import type { HTMLAttributes, ReactNode } from "react";
|
|
3
|
-
import React from "react";
|
|
4
|
-
export type { ColumnDef } from "@tanstack/react-table";
|
|
5
|
-
export declare const TableContext: React.Context<{
|
|
6
|
-
data: unknown[];
|
|
7
|
-
columns: ColumnDef<unknown, unknown>[];
|
|
8
|
-
table: Table<unknown> | null;
|
|
9
|
-
}>;
|
|
10
|
-
export type TableProviderProps<TData, TValue> = {
|
|
11
|
-
columns: ColumnDef<TData, TValue>[];
|
|
12
|
-
data: TData[];
|
|
13
|
-
children: ReactNode;
|
|
14
|
-
className?: string;
|
|
15
|
-
};
|
|
16
|
-
export declare function TableProvider<TData, TValue>({ columns, data, children, className, }: TableProviderProps<TData, TValue>): React.JSX.Element;
|
|
17
|
-
export type TableHeadProps = {
|
|
18
|
-
header: Header<unknown, unknown>;
|
|
19
|
-
className?: string;
|
|
20
|
-
};
|
|
21
|
-
export declare const TableHead: React.MemoExoticComponent<({ header, className }: TableHeadProps) => React.JSX.Element>;
|
|
22
|
-
export type TableHeaderGroupProps = {
|
|
23
|
-
headerGroup: HeaderGroup<unknown>;
|
|
24
|
-
children: (props: {
|
|
25
|
-
header: Header<unknown, unknown>;
|
|
26
|
-
}) => ReactNode;
|
|
27
|
-
};
|
|
28
|
-
export declare const TableHeaderGroup: ({ headerGroup, children, }: TableHeaderGroupProps) => React.JSX.Element;
|
|
29
|
-
export type TableHeaderProps = {
|
|
30
|
-
className?: string;
|
|
31
|
-
children: (props: {
|
|
32
|
-
headerGroup: HeaderGroup<unknown>;
|
|
33
|
-
}) => ReactNode;
|
|
34
|
-
};
|
|
35
|
-
export declare const TableHeader: ({ className, children }: TableHeaderProps) => React.JSX.Element;
|
|
36
|
-
export interface TableColumnHeaderProps<TData, TValue> extends HTMLAttributes<HTMLDivElement> {
|
|
37
|
-
column: Column<TData, TValue>;
|
|
38
|
-
title: string;
|
|
39
|
-
}
|
|
40
|
-
export declare function TableColumnHeader<TData, TValue>({ column, title, className, }: TableColumnHeaderProps<TData, TValue>): React.JSX.Element;
|
|
41
|
-
export type TableCellProps = {
|
|
42
|
-
cell: Cell<unknown, unknown>;
|
|
43
|
-
className?: string;
|
|
44
|
-
};
|
|
45
|
-
export declare const TableCell: ({ cell, className }: TableCellProps) => React.JSX.Element;
|
|
46
|
-
export type TableRowProps = {
|
|
47
|
-
row: Row<unknown>;
|
|
48
|
-
children: (props: {
|
|
49
|
-
cell: Cell<unknown, unknown>;
|
|
50
|
-
}) => ReactNode;
|
|
51
|
-
className?: string;
|
|
52
|
-
};
|
|
53
|
-
export declare const TableRow: ({ row, children, className }: TableRowProps) => React.JSX.Element;
|
|
54
|
-
export type TableBodyProps = {
|
|
55
|
-
children: (props: {
|
|
56
|
-
row: Row<unknown>;
|
|
57
|
-
}) => ReactNode;
|
|
58
|
-
className?: string;
|
|
59
|
-
};
|
|
60
|
-
export declare const TableBody: ({ children, className }: TableBodyProps) => React.JSX.Element;
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.TableBody = exports.TableRow = exports.TableCell = exports.TableHeader = exports.TableHeaderGroup = exports.TableHead = exports.TableContext = void 0;
|
|
37
|
-
exports.TableProvider = TableProvider;
|
|
38
|
-
exports.TableColumnHeader = TableColumnHeader;
|
|
39
|
-
var react_table_1 = require("@tanstack/react-table");
|
|
40
|
-
var jotai_1 = require("jotai");
|
|
41
|
-
var lucide_react_1 = require("lucide-react");
|
|
42
|
-
var react_1 = __importStar(require("react"));
|
|
43
|
-
var button_1 = require("../../ui/button");
|
|
44
|
-
var dropdown_menu_1 = require("../../ui/dropdown-menu");
|
|
45
|
-
var table_1 = require("../../ui/table");
|
|
46
|
-
var utils_1 = require("../../../lib/utils");
|
|
47
|
-
var sortingAtom = (0, jotai_1.atom)([]);
|
|
48
|
-
exports.TableContext = (0, react_1.createContext)({
|
|
49
|
-
data: [],
|
|
50
|
-
columns: [],
|
|
51
|
-
table: null,
|
|
52
|
-
});
|
|
53
|
-
function TableProvider(_a) {
|
|
54
|
-
var columns = _a.columns, data = _a.data, children = _a.children, className = _a.className;
|
|
55
|
-
var _b = (0, jotai_1.useAtom)(sortingAtom), sorting = _b[0], setSorting = _b[1];
|
|
56
|
-
var table = (0, react_table_1.useReactTable)({
|
|
57
|
-
data: data,
|
|
58
|
-
columns: columns,
|
|
59
|
-
getCoreRowModel: (0, react_table_1.getCoreRowModel)(),
|
|
60
|
-
getSortedRowModel: (0, react_table_1.getSortedRowModel)(),
|
|
61
|
-
onSortingChange: function (updater) {
|
|
62
|
-
// @ts-expect-error updater is a function that returns a sorting object
|
|
63
|
-
var newSorting = updater(sorting);
|
|
64
|
-
setSorting(newSorting);
|
|
65
|
-
},
|
|
66
|
-
state: {
|
|
67
|
-
sorting: sorting,
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
return (react_1.default.createElement(exports.TableContext.Provider, { value: {
|
|
71
|
-
data: data,
|
|
72
|
-
columns: columns,
|
|
73
|
-
table: table,
|
|
74
|
-
} },
|
|
75
|
-
react_1.default.createElement(table_1.Table, { className: className }, children)));
|
|
76
|
-
}
|
|
77
|
-
exports.TableHead = (0, react_1.memo)(function (_a) {
|
|
78
|
-
var header = _a.header, className = _a.className;
|
|
79
|
-
return (react_1.default.createElement(table_1.TableHead, { className: className, key: header.id }, header.isPlaceholder
|
|
80
|
-
? null
|
|
81
|
-
: (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext())));
|
|
82
|
-
});
|
|
83
|
-
exports.TableHead.displayName = "TableHead";
|
|
84
|
-
var TableHeaderGroup = function (_a) {
|
|
85
|
-
var headerGroup = _a.headerGroup, children = _a.children;
|
|
86
|
-
return (react_1.default.createElement(table_1.TableRow, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return children({ header: header }); })));
|
|
87
|
-
};
|
|
88
|
-
exports.TableHeaderGroup = TableHeaderGroup;
|
|
89
|
-
var TableHeader = function (_a) {
|
|
90
|
-
var className = _a.className, children = _a.children;
|
|
91
|
-
var table = (0, react_1.useContext)(exports.TableContext).table;
|
|
92
|
-
return (react_1.default.createElement(table_1.TableHeader, { className: className }, table === null || table === void 0 ? void 0 : table.getHeaderGroups().map(function (headerGroup) { return children({ headerGroup: headerGroup }); })));
|
|
93
|
-
};
|
|
94
|
-
exports.TableHeader = TableHeader;
|
|
95
|
-
function TableColumnHeader(_a) {
|
|
96
|
-
var column = _a.column, title = _a.title, className = _a.className;
|
|
97
|
-
// Extract inline event handlers to prevent unnecessary re-renders
|
|
98
|
-
var handleSortAsc = (0, react_1.useCallback)(function () {
|
|
99
|
-
column.toggleSorting(false);
|
|
100
|
-
}, [column]);
|
|
101
|
-
var handleSortDesc = (0, react_1.useCallback)(function () {
|
|
102
|
-
column.toggleSorting(true);
|
|
103
|
-
}, [column]);
|
|
104
|
-
if (!column.getCanSort()) {
|
|
105
|
-
return react_1.default.createElement("div", { className: (0, utils_1.cn)(className) }, title);
|
|
106
|
-
}
|
|
107
|
-
return (react_1.default.createElement("div", { className: (0, utils_1.cn)("flex items-center space-x-2", className) },
|
|
108
|
-
react_1.default.createElement(dropdown_menu_1.DropdownMenu, null,
|
|
109
|
-
react_1.default.createElement(dropdown_menu_1.DropdownMenuTrigger, { asChild: true },
|
|
110
|
-
react_1.default.createElement(button_1.Button, { className: "-ml-3 h-8 data-[state=open]:bg-accent", size: "sm", variant: "ghost" },
|
|
111
|
-
react_1.default.createElement("span", null, title),
|
|
112
|
-
column.getIsSorted() === "desc" ? (react_1.default.createElement(lucide_react_1.ArrowDownIcon, { className: "ml-2 h-4 w-4" })) : column.getIsSorted() === "asc" ? (react_1.default.createElement(lucide_react_1.ArrowUpIcon, { className: "ml-2 h-4 w-4" })) : (react_1.default.createElement(lucide_react_1.ChevronsUpDownIcon, { className: "ml-2 h-4 w-4" })))),
|
|
113
|
-
react_1.default.createElement(dropdown_menu_1.DropdownMenuContent, { align: "start" },
|
|
114
|
-
react_1.default.createElement(dropdown_menu_1.DropdownMenuItem, { onClick: handleSortAsc },
|
|
115
|
-
react_1.default.createElement(lucide_react_1.ArrowUpIcon, { className: "mr-2 h-3.5 w-3.5 text-muted-foreground/70" }),
|
|
116
|
-
"Asc"),
|
|
117
|
-
react_1.default.createElement(dropdown_menu_1.DropdownMenuItem, { onClick: handleSortDesc },
|
|
118
|
-
react_1.default.createElement(lucide_react_1.ArrowDownIcon, { className: "mr-2 h-3.5 w-3.5 text-muted-foreground/70" }),
|
|
119
|
-
"Desc")))));
|
|
120
|
-
}
|
|
121
|
-
var TableCell = function (_a) {
|
|
122
|
-
var cell = _a.cell, className = _a.className;
|
|
123
|
-
return (react_1.default.createElement(table_1.TableCell, { className: className }, (0, react_table_1.flexRender)(cell.column.columnDef.cell, cell.getContext())));
|
|
124
|
-
};
|
|
125
|
-
exports.TableCell = TableCell;
|
|
126
|
-
var TableRow = function (_a) {
|
|
127
|
-
var row = _a.row, children = _a.children, className = _a.className;
|
|
128
|
-
return (react_1.default.createElement(table_1.TableRow, { className: className, "data-state": row.getIsSelected() && "selected", key: row.id }, row.getVisibleCells().map(function (cell) { return children({ cell: cell }); })));
|
|
129
|
-
};
|
|
130
|
-
exports.TableRow = TableRow;
|
|
131
|
-
var TableBody = function (_a) {
|
|
132
|
-
var children = _a.children, className = _a.className;
|
|
133
|
-
var _b = (0, react_1.useContext)(exports.TableContext), columns = _b.columns, table = _b.table;
|
|
134
|
-
var rows = table === null || table === void 0 ? void 0 : table.getRowModel().rows;
|
|
135
|
-
return (react_1.default.createElement(table_1.TableBody, { className: className }, (rows === null || rows === void 0 ? void 0 : rows.length) ? (rows.map(function (row) { return children({ row: row }); })) : (react_1.default.createElement(table_1.TableRow, null,
|
|
136
|
-
react_1.default.createElement(table_1.TableCell, { className: "h-24 text-center", colSpan: columns.length }, "No results.")))));
|
|
137
|
-
};
|
|
138
|
-
exports.TableBody = TableBody;
|
|
@@ -1,25 +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.BottomBar = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var link_1 = __importDefault(require("next/link"));
|
|
9
|
-
var BottomBar = function (_a) {
|
|
10
|
-
var founded = _a.founded, year = _a.year;
|
|
11
|
-
return (react_1.default.createElement("div", { className: "relative mx-auto max-w-7xl px-6 py-5 md:px-10" },
|
|
12
|
-
react_1.default.createElement("div", { className: "flex flex-col items-center justify-between gap-3 text-xs text-white/35 sm:flex-row" },
|
|
13
|
-
react_1.default.createElement("p", null,
|
|
14
|
-
"\u00A9 ",
|
|
15
|
-
year,
|
|
16
|
-
" App Corp Ltd. All rights reserved.",
|
|
17
|
-
founded ? " Est. ".concat(founded, ".") : ""),
|
|
18
|
-
react_1.default.createElement("div", { className: "flex flex-wrap items-center gap-x-5 gap-y-1" },
|
|
19
|
-
react_1.default.createElement(link_1.default, { href: "/privacy", className: "hover:text-white/70 transition-colors" }, "Privacy"),
|
|
20
|
-
react_1.default.createElement(link_1.default, { href: "/terms", className: "hover:text-white/70 transition-colors" }, "Terms"),
|
|
21
|
-
react_1.default.createElement(link_1.default, { href: "/contact", className: "hover:text-white/70 transition-colors" }, "Contact"),
|
|
22
|
-
react_1.default.createElement("span", { className: "hidden sm:inline text-white/20" }, "|"),
|
|
23
|
-
react_1.default.createElement("span", { className: "hidden sm:inline" }, "Crafted with care in London \uD83C\uDDEC\uD83C\uDDE7")))));
|
|
24
|
-
};
|
|
25
|
-
exports.BottomBar = BottomBar;
|
|
@@ -1,21 +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.Cta = 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 Cta = function (_a) {
|
|
11
|
-
var href = _a.href, label = _a.label;
|
|
12
|
-
return (react_1.default.createElement("div", { className: "relative border-y border-white/8" },
|
|
13
|
-
react_1.default.createElement("div", { className: "mx-auto flex max-w-7xl flex-col items-center justify-between gap-5 px-6 py-8 text-center sm:flex-row sm:text-left md:px-10" },
|
|
14
|
-
react_1.default.createElement("div", null,
|
|
15
|
-
react_1.default.createElement("p", { className: "text-base font-semibold text-white" }, "Ready to build something remarkable?"),
|
|
16
|
-
react_1.default.createElement("p", { className: "mt-1 text-sm text-white/50" }, "Tell us what you want to ship \u2014 we'll tell you exactly how we'd build it.")),
|
|
17
|
-
react_1.default.createElement(link_1.default, { href: href, className: "inline-flex shrink-0 items-center gap-2 rounded-full bg-primary px-6 py-2.5 text-sm font-semibold text-primary-foreground shadow-lg transition-all hover:bg-primary/90 hover:shadow-primary/25" },
|
|
18
|
-
label,
|
|
19
|
-
react_1.default.createElement(lucide_react_1.ArrowRight, { className: "h-4 w-4" })))));
|
|
20
|
-
};
|
|
21
|
-
exports.Cta = Cta;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import { FooterColumn, SocialLink } from "../../../templates/data/appcorp-v1";
|
|
3
|
-
export interface FooterGridProps {
|
|
4
|
-
description: string;
|
|
5
|
-
email: string;
|
|
6
|
-
location: string;
|
|
7
|
-
logo: string;
|
|
8
|
-
name: string;
|
|
9
|
-
phone: string;
|
|
10
|
-
socialLinks: SocialLink[];
|
|
11
|
-
tagline: string;
|
|
12
|
-
columns: FooterColumn[];
|
|
13
|
-
}
|
|
14
|
-
export declare const FooterGrid: FC<FooterGridProps>;
|
|
@@ -1,52 +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.FooterGrid = void 0;
|
|
18
|
-
var react_1 = __importDefault(require("react"));
|
|
19
|
-
var image_1 = __importDefault(require("next/image"));
|
|
20
|
-
var link_1 = __importDefault(require("next/link"));
|
|
21
|
-
var social_button_1 = require("../header/social-button");
|
|
22
|
-
var lucide_react_1 = require("lucide-react");
|
|
23
|
-
var badge_1 = require("../../../components/ui/badge");
|
|
24
|
-
var FooterGrid = function (_a) {
|
|
25
|
-
var columns = _a.columns, description = _a.description, email = _a.email, location = _a.location, logo = _a.logo, name = _a.name, phone = _a.phone, socialLinks = _a.socialLinks, tagline = _a.tagline;
|
|
26
|
-
return (react_1.default.createElement("div", { className: "relative mx-auto max-w-7xl px-6 pb-10 pt-16 md:px-10" },
|
|
27
|
-
react_1.default.createElement("div", { className: "grid gap-12 lg:grid-cols-[1.6fr_repeat(4,1fr)]" },
|
|
28
|
-
react_1.default.createElement("div", { className: "flex flex-col" },
|
|
29
|
-
react_1.default.createElement(link_1.default, { href: "/", className: "mb-5 inline-flex items-center gap-2.5", "aria-label": "App Corp home" },
|
|
30
|
-
react_1.default.createElement(image_1.default, { alt: "App Corp icon", className: "h-9 w-9", height: 36, src: logo, width: 36 }),
|
|
31
|
-
react_1.default.createElement("span", { className: "text-base font-semibold tracking-tight text-white" }, name)),
|
|
32
|
-
react_1.default.createElement("p", { className: "mb-4 text-sm font-medium leading-snug text-white/80" }, tagline),
|
|
33
|
-
react_1.default.createElement("p", { className: "mb-7 text-sm leading-relaxed text-white/45" }, description),
|
|
34
|
-
react_1.default.createElement("div", { className: "mb-7 flex items-center gap-2" }, socialLinks.map(function (s) { return (react_1.default.createElement(social_button_1.SocialButton, __assign({ key: s.label }, s))); })),
|
|
35
|
-
react_1.default.createElement("div", { className: "space-y-2" },
|
|
36
|
-
react_1.default.createElement("a", { href: "mailto:".concat(email), className: "flex items-center gap-2 text-xs text-white/45 transition-colors hover:text-white/80" },
|
|
37
|
-
react_1.default.createElement(lucide_react_1.Mail, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
38
|
-
email),
|
|
39
|
-
phone && (react_1.default.createElement("a", { href: "tel:".concat(phone), className: "flex items-center gap-2 text-xs text-white/45 transition-colors hover:text-white/80" },
|
|
40
|
-
react_1.default.createElement(lucide_react_1.Phone, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
41
|
-
phone)),
|
|
42
|
-
react_1.default.createElement("span", { className: "flex items-center gap-2 text-xs text-white/45" },
|
|
43
|
-
react_1.default.createElement(lucide_react_1.MapPin, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
44
|
-
location))),
|
|
45
|
-
columns.slice(0, 4).map(function (col) { return (react_1.default.createElement("div", { key: col.heading },
|
|
46
|
-
react_1.default.createElement("h3", { className: "mb-5 text-xs font-semibold uppercase tracking-widest text-white/40" }, col.heading),
|
|
47
|
-
react_1.default.createElement("ul", { className: "space-y-3" }, col.links.map(function (link) { return (react_1.default.createElement("li", { key: link.label },
|
|
48
|
-
react_1.default.createElement(link_1.default, { href: link.href, className: "group inline-flex items-center gap-1.5 text-sm text-white/60 transition-colors hover:text-white" },
|
|
49
|
-
link.label,
|
|
50
|
-
link.badge && (react_1.default.createElement(badge_1.Badge, { className: "h-5 rounded-full bg-emerald-500/15 px-2 py-0 text-[10px] font-semibold text-emerald-400 border-0 whitespace-nowrap" }, link.badge))))); })))); }))));
|
|
51
|
-
};
|
|
52
|
-
exports.FooterGrid = FooterGrid;
|
|
@@ -1,28 +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.SiteFooter = void 0;
|
|
8
|
-
var react_1 = __importDefault(require("react"));
|
|
9
|
-
var bottom_bar_1 = require("./bottom-bar");
|
|
10
|
-
var cta_1 = require("./cta");
|
|
11
|
-
var newsletter_1 = require("./newsletter");
|
|
12
|
-
var stats_1 = require("./stats");
|
|
13
|
-
var footer_grid_1 = require("./footer-grid");
|
|
14
|
-
var SiteFooter = function (_a) {
|
|
15
|
-
var ctas = _a.ctas, description = _a.description, email = _a.email, columns = _a.columns, founded = _a.founded, location = _a.location, logo = _a.logo, name = _a.name, newsletterBody = _a.newsletterBody, newsletterCta = _a.newsletterCta, newsletterDisclaimer = _a.newsletterDisclaimer, newsletterHeading = _a.newsletterHeading, newsletterPlaceholder = _a.newsletterPlaceholder, phone = _a.phone, socialLinks = _a.socialLinks, stats = _a.stats, tagline = _a.tagline, badges = _a.badges, year = _a.year;
|
|
16
|
-
return (react_1.default.createElement("footer", { className: "relative overflow-hidden bg-gray-800 text-background" },
|
|
17
|
-
react_1.default.createElement("div", { "aria-hidden": true, className: "bg-dot-grid pointer-events-none absolute inset-0 opacity-[0.04]" }),
|
|
18
|
-
react_1.default.createElement("div", { "aria-hidden": true, className: "pointer-events-none absolute -top-40 left-1/4 h-112 w-md rounded-full bg-primary/10 blur-3xl" }),
|
|
19
|
-
react_1.default.createElement(stats_1.Stats, { footerStats: stats }),
|
|
20
|
-
react_1.default.createElement(footer_grid_1.FooterGrid, { columns: columns, description: description, email: email, location: location, logo: logo, name: name, phone: phone, socialLinks: socialLinks, tagline: tagline }),
|
|
21
|
-
react_1.default.createElement(newsletter_1.Newsletter, { newsletterBody: newsletterBody, newsletterCta: newsletterCta, newsletterDisclaimer: newsletterDisclaimer, newsletterHeading: newsletterHeading, newsletterPlaceholder: newsletterPlaceholder, techBadges: badges }),
|
|
22
|
-
ctas
|
|
23
|
-
.filter(function (cta) { return cta.enabled; })
|
|
24
|
-
.sort(function (a, b) { return (a.order || 0) - (b.order || 0); })
|
|
25
|
-
.map(function (cta) { return (react_1.default.createElement(cta_1.Cta, { key: cta.label, href: cta.href, label: cta.label })); }),
|
|
26
|
-
react_1.default.createElement(bottom_bar_1.BottomBar, { year: year, founded: founded })));
|
|
27
|
-
};
|
|
28
|
-
exports.SiteFooter = SiteFooter;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import { TechBadge } from "../../../templates/data/appcorp-v1";
|
|
3
|
-
export interface NewsletterProps {
|
|
4
|
-
newsletterHeading: string;
|
|
5
|
-
newsletterBody: string;
|
|
6
|
-
newsletterPlaceholder: string;
|
|
7
|
-
newsletterCta: string;
|
|
8
|
-
newsletterDisclaimer: string;
|
|
9
|
-
techBadges: TechBadge[];
|
|
10
|
-
}
|
|
11
|
-
export declare const Newsletter: FC<NewsletterProps>;
|
|
@@ -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.Newsletter = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var lucide_react_1 = require("lucide-react");
|
|
9
|
-
var Newsletter = function (_a) {
|
|
10
|
-
var newsletterHeading = _a.newsletterHeading, newsletterBody = _a.newsletterBody, newsletterPlaceholder = _a.newsletterPlaceholder, newsletterCta = _a.newsletterCta, newsletterDisclaimer = _a.newsletterDisclaimer, techBadges = _a.techBadges;
|
|
11
|
-
return (react_1.default.createElement("div", { className: "relative border-y border-white/8" },
|
|
12
|
-
react_1.default.createElement("div", { className: "mx-auto max-w-7xl px-6 py-10 md:px-10" },
|
|
13
|
-
react_1.default.createElement("div", { className: "grid gap-10 md:grid-cols-2 md:items-center" },
|
|
14
|
-
react_1.default.createElement("div", null,
|
|
15
|
-
react_1.default.createElement("h3", { className: "mb-1 text-base font-semibold text-white" }, newsletterHeading),
|
|
16
|
-
react_1.default.createElement("p", { className: "mb-4 text-sm text-white/50" }, newsletterBody),
|
|
17
|
-
react_1.default.createElement("form", { onSubmit: function (e) { return e.preventDefault(); }, className: "flex max-w-sm gap-2" },
|
|
18
|
-
react_1.default.createElement("input", { type: "email", placeholder: newsletterPlaceholder, className: "flex-1 rounded-full border border-white/10 bg-white/5 px-4 py-2 text-sm text-white placeholder:text-white/30 outline-none focus:border-white/25 focus:ring-0" }),
|
|
19
|
-
react_1.default.createElement("button", { type: "submit", className: "rounded-full bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground transition-all hover:bg-primary/90" }, newsletterCta)),
|
|
20
|
-
react_1.default.createElement("p", { className: "mt-2 text-xs text-white/25" }, newsletterDisclaimer)),
|
|
21
|
-
react_1.default.createElement("div", { className: "flex flex-wrap justify-start gap-2 md:justify-end" }, techBadges
|
|
22
|
-
.filter(function (badge) { return badge.enabled; })
|
|
23
|
-
.sort(function (a, b) { return a.order - b.order; })
|
|
24
|
-
.map(function (badge) { return (react_1.default.createElement("span", { key: badge.label, className: "inline-flex items-center gap-1.5 rounded-full border border-white/10 bg-white/5 px-3 py-1.5 text-xs font-medium text-white/60" },
|
|
25
|
-
react_1.default.createElement(lucide_react_1.CheckCircle2, { className: "h-3 w-3 text-emerald-400" }),
|
|
26
|
-
badge.label)); }))))));
|
|
27
|
-
};
|
|
28
|
-
exports.Newsletter = Newsletter;
|
|
@@ -1,15 +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.Stats = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var Stats = function (_a) {
|
|
9
|
-
var footerStats = _a.footerStats;
|
|
10
|
-
return (react_1.default.createElement("div", { className: "relative border-b border-white/8" },
|
|
11
|
-
react_1.default.createElement("div", { className: "mx-auto grid max-w-7xl grid-cols-2 divide-x divide-white/8 px-6 md:grid-cols-4 md:px-10" }, footerStats.map(function (stat) { return (react_1.default.createElement("div", { key: stat.label, className: "flex flex-col items-center py-7 text-center" },
|
|
12
|
-
react_1.default.createElement("span", { className: "text-2xl font-bold tracking-tight text-white md:text-3xl" }, stat.value),
|
|
13
|
-
react_1.default.createElement("span", { className: "mt-1 text-xs text-white/50" }, stat.label))); }))));
|
|
14
|
-
};
|
|
15
|
-
exports.Stats = Stats;
|
|
@@ -1,15 +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.AnnouncementBar = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var link_1 = __importDefault(require("next/link"));
|
|
9
|
-
var AnnouncementBar = function (_a) {
|
|
10
|
-
var text = _a.text, cta = _a.cta, href = _a.href;
|
|
11
|
-
return (react_1.default.createElement("div", { className: "fixed left-0 right-0 top-0 z-50 flex items-center justify-center gap-3 bg-foreground px-4 py-2 text-xs text-background/80" },
|
|
12
|
-
react_1.default.createElement("span", null, text),
|
|
13
|
-
react_1.default.createElement(link_1.default, { className: "font-semibold text-background underline-offset-2 hover:underline", href: href }, cta)));
|
|
14
|
-
};
|
|
15
|
-
exports.AnnouncementBar = AnnouncementBar;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { NavItem } from "../../data/appcorp-v1";
|
|
3
|
-
interface DropdownPanelProps {
|
|
4
|
-
item: NavItem;
|
|
5
|
-
onClose: () => void;
|
|
6
|
-
}
|
|
7
|
-
export declare const DropdownPanel: ({ item, onClose }: DropdownPanelProps) => React.JSX.Element | null;
|
|
8
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.DropdownPanel = void 0;
|
|
40
|
-
var react_1 = __importDefault(require("react"));
|
|
41
|
-
var link_1 = __importDefault(require("next/link"));
|
|
42
|
-
var badge_1 = require("../../../components/ui/badge");
|
|
43
|
-
var lucide_react_1 = require("lucide-react");
|
|
44
|
-
var Icons = __importStar(require("lucide-react"));
|
|
45
|
-
var DropdownPanel = function (_a) {
|
|
46
|
-
var item = _a.item, onClose = _a.onClose;
|
|
47
|
-
if (!item.dropdown)
|
|
48
|
-
return null;
|
|
49
|
-
var isWide = item.dropdown.length >= 4;
|
|
50
|
-
return (react_1.default.createElement("div", { className: "absolute top-full mt-2.5 rounded-2xl border border-border/50 bg-background/98 shadow-xl backdrop-blur-lg\n ".concat(isWide ? "left-1/2 w-155 -translate-x-1/2" : "left-1/2 w-90 -translate-x-1/2"), style: { zIndex: 100 } },
|
|
51
|
-
react_1.default.createElement("div", { className: "absolute -top-px left-1/2 h-px w-24 -translate-x-1/2 bg-linear-to-r from-transparent via-primary/60 to-transparent" }),
|
|
52
|
-
react_1.default.createElement("div", { className: "p-3 ".concat(isWide ? "grid grid-cols-2 gap-1" : "flex flex-col gap-1") }, item.dropdown
|
|
53
|
-
.filter(function (sub) { return sub.enabled; })
|
|
54
|
-
.sort(function (a, b) { return a.order - b.order; })
|
|
55
|
-
.map(function (sub) {
|
|
56
|
-
var IconComp = Icons[sub.icon] || Icons.Circle;
|
|
57
|
-
return (react_1.default.createElement(link_1.default, { key: sub.href, href: sub.href, onClick: onClose, className: "group flex items-start gap-3.5 rounded-xl p-3.5 transition-all duration-150 hover:bg-muted/60" },
|
|
58
|
-
react_1.default.createElement("span", { className: "mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-primary/8 transition-colors group-hover:bg-primary/14" },
|
|
59
|
-
react_1.default.createElement(IconComp, { className: "h-4.5 w-4.5 text-primary" })),
|
|
60
|
-
react_1.default.createElement("span", { className: "min-w-0" },
|
|
61
|
-
react_1.default.createElement("span", { className: "flex items-center gap-2 text-sm font-medium text-foreground" },
|
|
62
|
-
sub.label,
|
|
63
|
-
sub.badge && (react_1.default.createElement(badge_1.Badge, { className: "h-5 rounded-full bg-emerald-500/15 px-2 py-0 text-[10px] font-semibold text-emerald-600 border-0 whitespace-nowrap" }, sub.badge))),
|
|
64
|
-
react_1.default.createElement("span", { className: "mt-0.5 block text-xs leading-relaxed text-muted-foreground" }, sub.description))));
|
|
65
|
-
})),
|
|
66
|
-
react_1.default.createElement("div", { className: "border-t border-border/40 px-4 py-3 flex items-center justify-between" },
|
|
67
|
-
react_1.default.createElement("span", { className: "text-xs text-muted-foreground" }, "Not sure where to start?"),
|
|
68
|
-
react_1.default.createElement(link_1.default, { href: "/contact-new", onClick: onClose, className: "inline-flex items-center gap-1 text-xs font-medium text-primary hover:underline" },
|
|
69
|
-
"Talk to us ",
|
|
70
|
-
react_1.default.createElement(lucide_react_1.ArrowRight, { className: "h-3 w-3" })))));
|
|
71
|
-
};
|
|
72
|
-
exports.DropdownPanel = DropdownPanel;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { AnnouncementBar as AnnouncementBarProps, Cta, NavItem } from "../../data/appcorp-v1";
|
|
3
|
-
export interface SiteHeaderProps {
|
|
4
|
-
announcementBar: AnnouncementBarProps;
|
|
5
|
-
headerCta: Cta[];
|
|
6
|
-
logo: string;
|
|
7
|
-
navItems: NavItem[];
|
|
8
|
-
email: string;
|
|
9
|
-
phone: string;
|
|
10
|
-
location: string;
|
|
11
|
-
}
|
|
12
|
-
export declare const SiteHeader: ({ announcementBar, headerCta, logo, navItems, email, phone, location, }: SiteHeaderProps) => React.JSX.Element;
|
|
@@ -1,16 +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.SiteHeader = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var announcement_bar_1 = require("./announcement-bar");
|
|
9
|
-
var navigation_bar_1 = require("./navigation-bar");
|
|
10
|
-
var SiteHeader = function (_a) {
|
|
11
|
-
var announcementBar = _a.announcementBar, headerCta = _a.headerCta, logo = _a.logo, navItems = _a.navItems, email = _a.email, phone = _a.phone, location = _a.location;
|
|
12
|
-
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
13
|
-
react_1.default.createElement(announcement_bar_1.AnnouncementBar, { text: announcementBar.text, cta: announcementBar.cta, href: announcementBar.href }),
|
|
14
|
-
react_1.default.createElement(navigation_bar_1.NavigationBar, { logo: logo, navItems: navItems, headerCta: headerCta, email: email, phone: phone, location: location })));
|
|
15
|
-
};
|
|
16
|
-
exports.SiteHeader = SiteHeader;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Cta, NavItem } from "../../data/appcorp-v1";
|
|
3
|
-
interface MobileMenuProps {
|
|
4
|
-
announcementVisible?: boolean;
|
|
5
|
-
headerCta: Cta[];
|
|
6
|
-
items: NavItem[];
|
|
7
|
-
logo: string;
|
|
8
|
-
onClose: () => void;
|
|
9
|
-
email: string;
|
|
10
|
-
phone: string;
|
|
11
|
-
location: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function MobileMenu({ headerCta, items, logo, onClose, email, phone, location, }: MobileMenuProps): React.JSX.Element;
|
|
14
|
-
export {};
|