@mantis-core/ui 0.3.0 → 0.5.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.md +115 -15
- package/dist/components/Forms/ColorPickerInput.d.ts +10 -0
- package/dist/components/Forms/ColorPickerInput.d.ts.map +1 -0
- package/dist/components/Forms/ColorPickerInput.js +13 -0
- package/dist/components/Forms/ColorPickerInput.js.map +1 -0
- package/dist/components/Forms/Combobox.d.ts +10 -0
- package/dist/components/Forms/Combobox.d.ts.map +1 -0
- package/dist/components/Forms/Combobox.js +11 -0
- package/dist/components/Forms/Combobox.js.map +1 -0
- package/dist/components/Forms/DatePresets.d.ts +14 -0
- package/dist/components/Forms/DatePresets.d.ts.map +1 -0
- package/dist/components/Forms/DatePresets.js +55 -0
- package/dist/components/Forms/DatePresets.js.map +1 -0
- package/dist/components/Forms/OtpInput.d.ts +11 -0
- package/dist/components/Forms/OtpInput.d.ts.map +1 -0
- package/dist/components/Forms/OtpInput.js +11 -0
- package/dist/components/Forms/OtpInput.js.map +1 -0
- package/dist/components/Forms/PasswordInput.d.ts +12 -0
- package/dist/components/Forms/PasswordInput.d.ts.map +1 -0
- package/dist/components/Forms/PasswordInput.js +31 -0
- package/dist/components/Forms/PasswordInput.js.map +1 -0
- package/dist/components/Forms/RatingInput.d.ts +11 -0
- package/dist/components/Forms/RatingInput.d.ts.map +1 -0
- package/dist/components/Forms/RatingInput.js +11 -0
- package/dist/components/Forms/RatingInput.js.map +1 -0
- package/dist/components/Forms/TagsInput.d.ts +10 -0
- package/dist/components/Forms/TagsInput.d.ts.map +1 -0
- package/dist/components/Forms/TagsInput.js +11 -0
- package/dist/components/Forms/TagsInput.js.map +1 -0
- package/dist/components/auth/ChangePasswordForm.d.ts +16 -0
- package/dist/components/auth/ChangePasswordForm.d.ts.map +1 -0
- package/dist/components/auth/ChangePasswordForm.js +23 -0
- package/dist/components/auth/ChangePasswordForm.js.map +1 -0
- package/dist/components/auth/ForgotPasswordForm.d.ts +15 -0
- package/dist/components/auth/ForgotPasswordForm.d.ts.map +1 -0
- package/dist/components/auth/ForgotPasswordForm.js +14 -0
- package/dist/components/auth/ForgotPasswordForm.js.map +1 -0
- package/dist/components/auth/LoginForm.d.ts +22 -0
- package/dist/components/auth/LoginForm.d.ts.map +1 -0
- package/dist/components/auth/LoginForm.js +20 -0
- package/dist/components/auth/LoginForm.js.map +1 -0
- package/dist/components/auth/ResetPasswordForm.d.ts +16 -0
- package/dist/components/auth/ResetPasswordForm.d.ts.map +1 -0
- package/dist/components/auth/ResetPasswordForm.js +23 -0
- package/dist/components/auth/ResetPasswordForm.js.map +1 -0
- package/dist/components/auth/UserMenu.d.ts +22 -0
- package/dist/components/auth/UserMenu.d.ts.map +1 -0
- package/dist/components/auth/UserMenu.js +95 -0
- package/dist/components/auth/UserMenu.js.map +1 -0
- package/dist/components/auth/index.d.ts +11 -0
- package/dist/components/auth/index.d.ts.map +1 -0
- package/dist/components/auth/index.js +6 -0
- package/dist/components/auth/index.js.map +1 -0
- package/dist/components/charts/BarChart.d.ts +20 -0
- package/dist/components/charts/BarChart.d.ts.map +1 -0
- package/dist/components/charts/BarChart.js +28 -0
- package/dist/components/charts/BarChart.js.map +1 -0
- package/dist/components/charts/DonutChart.d.ts +21 -0
- package/dist/components/charts/DonutChart.d.ts.map +1 -0
- package/dist/components/charts/DonutChart.js +26 -0
- package/dist/components/charts/DonutChart.js.map +1 -0
- package/dist/components/charts/LineChart.d.ts +20 -0
- package/dist/components/charts/LineChart.d.ts.map +1 -0
- package/dist/components/charts/LineChart.js +27 -0
- package/dist/components/charts/LineChart.js.map +1 -0
- package/dist/components/charts/chart-setup.d.ts +3 -0
- package/dist/components/charts/chart-setup.d.ts.map +1 -0
- package/dist/components/charts/chart-setup.js +10 -0
- package/dist/components/charts/chart-setup.js.map +1 -0
- package/dist/components/charts/defaults.d.ts +13 -0
- package/dist/components/charts/defaults.d.ts.map +1 -0
- package/dist/components/charts/defaults.js +54 -0
- package/dist/components/charts/defaults.js.map +1 -0
- package/dist/components/charts/index.d.ts +9 -0
- package/dist/components/charts/index.d.ts.map +1 -0
- package/dist/components/charts/index.js +6 -0
- package/dist/components/charts/index.js.map +1 -0
- package/dist/components/data/DescriptionList.d.ts +11 -0
- package/dist/components/data/DescriptionList.d.ts.map +1 -0
- package/dist/components/data/DescriptionList.js +23 -0
- package/dist/components/data/DescriptionList.js.map +1 -0
- package/dist/components/data/StatCard.d.ts +14 -0
- package/dist/components/data/StatCard.d.ts.map +1 -0
- package/dist/components/data/StatCard.js +39 -0
- package/dist/components/data/StatCard.js.map +1 -0
- package/dist/components/data/Timeline.d.ts +15 -0
- package/dist/components/data/Timeline.d.ts.map +1 -0
- package/dist/components/data/Timeline.js +20 -0
- package/dist/components/data/Timeline.js.map +1 -0
- package/dist/components/feedback/Avatar.d.ts +9 -0
- package/dist/components/feedback/Avatar.d.ts.map +1 -0
- package/dist/components/feedback/Avatar.js +15 -0
- package/dist/components/feedback/Avatar.js.map +1 -0
- package/dist/components/feedback/CardSkeleton.d.ts +6 -0
- package/dist/components/feedback/CardSkeleton.d.ts.map +1 -0
- package/dist/components/feedback/CardSkeleton.js +7 -0
- package/dist/components/feedback/CardSkeleton.js.map +1 -0
- package/dist/components/feedback/EmptyState.d.ts +9 -0
- package/dist/components/feedback/EmptyState.d.ts.map +1 -0
- package/dist/components/feedback/EmptyState.js +6 -0
- package/dist/components/feedback/EmptyState.js.map +1 -0
- package/dist/components/feedback/ErrorBoundary.d.ts +18 -0
- package/dist/components/feedback/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/feedback/ErrorBoundary.js +24 -0
- package/dist/components/feedback/ErrorBoundary.js.map +1 -0
- package/dist/components/feedback/TableSkeleton.d.ts +7 -0
- package/dist/components/feedback/TableSkeleton.d.ts.map +1 -0
- package/dist/components/feedback/TableSkeleton.js +7 -0
- package/dist/components/feedback/TableSkeleton.js.map +1 -0
- package/dist/components/feedback/Tag.d.ts +6 -0
- package/dist/components/feedback/Tag.d.ts.map +1 -0
- package/dist/components/feedback/Tag.js +7 -0
- package/dist/components/feedback/Tag.js.map +1 -0
- package/dist/components/navigation/CommandPalette.d.ts +17 -0
- package/dist/components/navigation/CommandPalette.d.ts.map +1 -0
- package/dist/components/navigation/CommandPalette.js +73 -0
- package/dist/components/navigation/CommandPalette.js.map +1 -0
- package/dist/components/navigation/PageTabs.d.ts +14 -0
- package/dist/components/navigation/PageTabs.d.ts.map +1 -0
- package/dist/components/navigation/PageTabs.js +21 -0
- package/dist/components/navigation/PageTabs.js.map +1 -0
- package/dist/components/overlays/Drawer.d.ts +6 -0
- package/dist/components/overlays/Drawer.d.ts.map +1 -0
- package/dist/components/overlays/Drawer.js +8 -0
- package/dist/components/overlays/Drawer.js.map +1 -0
- package/dist/components/overlays/Modal.d.ts +6 -0
- package/dist/components/overlays/Modal.d.ts.map +1 -0
- package/dist/components/overlays/Modal.js +8 -0
- package/dist/components/overlays/Modal.js.map +1 -0
- package/dist/components/pages/app-shell/AppShell.d.ts.map +1 -1
- package/dist/components/pages/app-shell/AppShell.js +11 -9
- package/dist/components/pages/app-shell/AppShell.js.map +1 -1
- package/dist/components/pages/app-shell/types.d.ts +4 -0
- package/dist/components/pages/app-shell/types.d.ts.map +1 -1
- package/dist/validation/index.d.ts +2 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +3 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/rules.d.ts +10 -0
- package/dist/validation/rules.d.ts.map +1 -0
- package/dist/validation/rules.js +39 -0
- package/dist/validation/rules.js.map +1 -0
- package/dist/validation/zod.d.ts +2 -0
- package/dist/validation/zod.d.ts.map +1 -0
- package/dist/validation/zod.js +3 -0
- package/dist/validation/zod.js.map +1 -0
- package/docs/components/action-column.md +14 -13
- package/docs/components/admin-page-configurator.md +23 -0
- package/docs/components/admin-page-header.md +15 -17
- package/docs/components/admin-page-layout-shell.md +22 -0
- package/docs/components/admin-page-layout.md +11 -20
- package/docs/components/app-shell.md +20 -0
- package/docs/components/async-select.md +18 -17
- package/docs/components/avatar.md +19 -0
- package/docs/components/bar-chart.md +21 -0
- package/docs/components/breadcrumbs.md +15 -0
- package/docs/components/button.md +20 -15
- package/docs/components/card-skeleton.md +15 -0
- package/docs/components/change-password-form.md +17 -0
- package/docs/components/ckeditor-input.md +15 -16
- package/docs/components/color-picker-input.md +19 -0
- package/docs/components/combobox.md +19 -0
- package/docs/components/command-palette.md +17 -0
- package/docs/components/confirm-dialog.md +19 -17
- package/docs/components/currency-input.md +21 -0
- package/docs/components/data-state.md +15 -15
- package/docs/components/date-input.md +17 -18
- package/docs/components/date-presets.md +18 -0
- package/docs/components/date-range-input.md +20 -0
- package/docs/components/description-list.md +16 -0
- package/docs/components/dirty-form-guard.md +15 -23
- package/docs/components/donut-chart.md +21 -0
- package/docs/components/drawer.md +19 -0
- package/docs/components/drop-down.md +18 -20
- package/docs/components/empty-state.md +18 -0
- package/docs/components/error-boundary.md +17 -0
- package/docs/components/error-message.md +11 -9
- package/docs/components/file-dropzone.md +28 -16
- package/docs/components/filter-pannel.md +12 -14
- package/docs/components/forgot-password-form.md +18 -0
- package/docs/components/form-actions-bar.md +29 -18
- package/docs/components/form-field-render.md +16 -16
- package/docs/components/form-section.md +15 -11
- package/docs/components/form-wizard.md +18 -0
- package/docs/components/hidden-field.md +12 -15
- package/docs/components/index-column.md +12 -9
- package/docs/components/line-chart.md +21 -0
- package/docs/components/loading.md +14 -12
- package/docs/components/login-form.md +22 -0
- package/docs/components/map-picker-client.md +14 -14
- package/docs/components/map-picker-osm.md +16 -14
- package/docs/components/map-picker.md +14 -17
- package/docs/components/menu-button.md +14 -18
- package/docs/components/modal.md +20 -0
- package/docs/components/multi-select-filter.md +14 -16
- package/docs/components/multi-select.md +18 -19
- package/docs/components/number-input.md +17 -16
- package/docs/components/otp-input.md +18 -0
- package/docs/components/page-tabs.md +16 -0
- package/docs/components/page-title.md +11 -9
- package/docs/components/paginated-table.md +19 -26
- package/docs/components/pagination.md +15 -18
- package/docs/components/password-input.md +19 -0
- package/docs/components/phone-input.md +18 -0
- package/docs/components/radio-group.md +20 -0
- package/docs/components/range-slider.md +20 -0
- package/docs/components/rating-input.md +19 -0
- package/docs/components/render-field.md +15 -20
- package/docs/components/reset-password-form.md +17 -0
- package/docs/components/rich-text-preview.md +15 -14
- package/docs/components/search-input.md +19 -0
- package/docs/components/select.md +19 -19
- package/docs/components/stat-card.md +19 -0
- package/docs/components/status-badge.md +16 -10
- package/docs/components/switch.md +16 -19
- package/docs/components/table-filter-field.md +13 -17
- package/docs/components/table-skeleton.md +16 -0
- package/docs/components/table-toolbar.md +16 -15
- package/docs/components/tag.md +18 -0
- package/docs/components/tags-input.md +19 -0
- package/docs/components/text-area.md +16 -16
- package/docs/components/text-input.md +16 -15
- package/docs/components/time-picker.md +17 -14
- package/docs/components/timeline.md +15 -0
- package/docs/components/toggle-inline-button.md +17 -18
- package/docs/components/toggle.md +20 -17
- package/docs/components/upload-files-preview.md +20 -22
- package/docs/components/user-menu.md +19 -0
- package/docs/contracts/component-doc-schema.md +78 -0
- package/docs/contracts/dependency-map.md +68 -29
- package/docs/contracts/style-imports.md +38 -12
- package/llms.txt +106 -0
- package/package.json +40 -4
- package/PRIMEREACT_MAPPING.md +0 -6
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { type ReactNode } from "react";
|
|
2
|
+
type StatCardProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
3
|
+
label: string;
|
|
4
|
+
value: ReactNode;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
trend?: {
|
|
7
|
+
value: number;
|
|
8
|
+
direction: "up" | "down";
|
|
9
|
+
};
|
|
10
|
+
footer?: ReactNode;
|
|
11
|
+
};
|
|
12
|
+
declare const StatCard: React.FC<StatCardProps>;
|
|
13
|
+
export default StatCard;
|
|
14
|
+
//# sourceMappingURL=StatCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatCard.d.ts","sourceRoot":"","sources":["../../../src/components/data/StatCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9C,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,CAAC;IACpD,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsFrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
const StatCard = ({ label, value, icon, trend, footer, className, ...rest }) => (_jsxs("div", { className: classNames("mantis-core-stat-card", className), style: {
|
|
4
|
+
background: "var(--card)",
|
|
5
|
+
border: "1px solid var(--border)",
|
|
6
|
+
borderRadius: "8px",
|
|
7
|
+
padding: "20px",
|
|
8
|
+
}, ...rest, children: [_jsxs("div", { style: { display: "flex", alignItems: "flex-start", justifyContent: "space-between", gap: "12px" }, children: [_jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [_jsx("p", { style: {
|
|
9
|
+
margin: 0,
|
|
10
|
+
fontSize: "12px",
|
|
11
|
+
fontWeight: 600,
|
|
12
|
+
textTransform: "uppercase",
|
|
13
|
+
letterSpacing: "0.05em",
|
|
14
|
+
color: "var(--muted-foreground)",
|
|
15
|
+
}, children: label }), _jsx("p", { style: {
|
|
16
|
+
margin: "6px 0 0",
|
|
17
|
+
fontSize: "28px",
|
|
18
|
+
fontWeight: 700,
|
|
19
|
+
lineHeight: 1.1,
|
|
20
|
+
color: "var(--foreground, inherit)",
|
|
21
|
+
}, children: value })] }), icon && (_jsx("span", { style: {
|
|
22
|
+
flexShrink: 0,
|
|
23
|
+
color: "var(--primary)",
|
|
24
|
+
display: "flex",
|
|
25
|
+
alignItems: "center",
|
|
26
|
+
}, children: icon }))] }), trend && (_jsxs("p", { style: {
|
|
27
|
+
margin: "10px 0 0",
|
|
28
|
+
fontSize: "13px",
|
|
29
|
+
fontWeight: 500,
|
|
30
|
+
color: trend.direction === "up" ? "green" : "red",
|
|
31
|
+
}, children: [trend.direction === "up" ? "▲" : "▼", " ", trend.value, "%"] })), footer && (_jsx("div", { style: {
|
|
32
|
+
marginTop: "12px",
|
|
33
|
+
paddingTop: "12px",
|
|
34
|
+
borderTop: "1px solid var(--border)",
|
|
35
|
+
color: "var(--muted-foreground)",
|
|
36
|
+
fontSize: "13px",
|
|
37
|
+
}, children: footer }))] }));
|
|
38
|
+
export default StatCard;
|
|
39
|
+
//# sourceMappingURL=StatCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatCard.js","sourceRoot":"","sources":["../../../src/components/data/StatCard.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,QAAQ,GAA4B,CAAC,EACzC,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE,EAAE,CAAC,CACJ,eACE,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,SAAS,CAAC,EACzD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,MAAM,EAAE,yBAAyB;QACjC,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,MAAM;KAChB,KACG,IAAI,aAER,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,aACrG,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAClC,YACE,KAAK,EAAE;gCACL,MAAM,EAAE,CAAC;gCACT,QAAQ,EAAE,MAAM;gCAChB,UAAU,EAAE,GAAG;gCACf,aAAa,EAAE,WAAW;gCAC1B,aAAa,EAAE,QAAQ;gCACvB,KAAK,EAAE,yBAAyB;6BACjC,YAEA,KAAK,GACJ,EACJ,YACE,KAAK,EAAE;gCACL,MAAM,EAAE,SAAS;gCACjB,QAAQ,EAAE,MAAM;gCAChB,UAAU,EAAE,GAAG;gCACf,UAAU,EAAE,GAAG;gCACf,KAAK,EAAE,4BAA4B;6BACpC,YAEA,KAAK,GACJ,IACA,EACL,IAAI,IAAI,CACP,eACE,KAAK,EAAE;wBACL,UAAU,EAAE,CAAC;wBACb,KAAK,EAAE,gBAAgB;wBACvB,OAAO,EAAE,MAAM;wBACf,UAAU,EAAE,QAAQ;qBACrB,YAEA,IAAI,GACA,CACR,IACG,EAEL,KAAK,IAAI,CACR,aACE,KAAK,EAAE;gBACL,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;aAClD,aAEA,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,KAAK,CAAC,KAAK,SACjD,CACL,EAEA,MAAM,IAAI,CACT,cACE,KAAK,EAAE;gBACL,SAAS,EAAE,MAAM;gBACjB,UAAU,EAAE,MAAM;gBAClB,SAAS,EAAE,yBAAyB;gBACpC,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,MAAM;aACjB,YAEA,MAAM,GACH,CACP,IACG,CACP,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { type ReactNode } from "react";
|
|
2
|
+
import { type TimelineProps as PrimeTimelineProps } from "primereact/timeline";
|
|
3
|
+
type TimelineItem = {
|
|
4
|
+
date?: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
color?: string;
|
|
9
|
+
};
|
|
10
|
+
type TimelineProps = Omit<PrimeTimelineProps, "value" | "content" | "marker"> & {
|
|
11
|
+
items: TimelineItem[];
|
|
12
|
+
};
|
|
13
|
+
declare const Timeline: React.FC<TimelineProps>;
|
|
14
|
+
export default Timeline;
|
|
15
|
+
//# sourceMappingURL=Timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../src/components/data/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAA6B,KAAK,aAAa,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE1G,KAAK,YAAY,GAAG;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG;IAC9E,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAkDrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Timeline as PrimeTimeline } from "primereact/timeline";
|
|
3
|
+
const Timeline = ({ items, ...rest }) => (_jsx("div", { className: "mantis-core-timeline", children: _jsx(PrimeTimeline, { value: items, content: (item) => (_jsxs("div", { style: { paddingBottom: "12px" }, children: [_jsx("p", { style: { margin: 0, fontWeight: 600, fontSize: "14px" }, children: item.title }), item.description && (_jsx("p", { style: { margin: "4px 0 0", fontSize: "13px", color: "var(--muted-foreground)" }, children: item.description })), item.date && (_jsx("p", { style: { margin: "4px 0 0", fontSize: "12px", color: "var(--muted-foreground)" }, children: item.date }))] })), marker: (item) => item.icon ? (_jsx("span", { style: {
|
|
4
|
+
display: "flex",
|
|
5
|
+
alignItems: "center",
|
|
6
|
+
justifyContent: "center",
|
|
7
|
+
width: "28px",
|
|
8
|
+
height: "28px",
|
|
9
|
+
borderRadius: "50%",
|
|
10
|
+
background: item.color ?? "var(--primary)",
|
|
11
|
+
color: "white",
|
|
12
|
+
}, children: item.icon })) : (_jsx("span", { style: {
|
|
13
|
+
display: "block",
|
|
14
|
+
width: "12px",
|
|
15
|
+
height: "12px",
|
|
16
|
+
borderRadius: "50%",
|
|
17
|
+
background: item.color ?? "var(--primary)",
|
|
18
|
+
} })), ...rest }) }));
|
|
19
|
+
export default Timeline;
|
|
20
|
+
//# sourceMappingURL=Timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../../src/components/data/Timeline.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,IAAI,aAAa,EAA4C,MAAM,qBAAqB,CAAC;AAc1G,MAAM,QAAQ,GAA4B,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAChE,cAAK,SAAS,EAAC,sBAAsB,YACnC,KAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAC/B,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aACnC,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAG,IAAI,CAAC,KAAK,GAAK,EAC3E,IAAI,CAAC,WAAW,IAAI,CACnB,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAChF,IAAI,CAAC,WAAW,GACf,CACL,EACA,IAAI,CAAC,IAAI,IAAI,CACZ,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAChF,IAAI,CAAC,IAAI,GACR,CACL,IACG,CACP,EACD,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACV,eACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,gBAAgB;gBAC1C,KAAK,EAAE,OAAO;aACf,YAEA,IAAI,CAAC,IAAI,GACL,CACR,CAAC,CAAC,CAAC,CACF,eACE,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,gBAAgB;aAC3C,GACD,CACH,KAEC,IAAI,GACR,GACE,CACP,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AvatarProps as PrimeAvatarProps } from "primereact/avatar";
|
|
2
|
+
export interface AvatarProps extends Omit<PrimeAvatarProps, "label"> {
|
|
3
|
+
/** Shown as initials when no `image` is provided. Derives first letter of first + last word. */
|
|
4
|
+
name?: string;
|
|
5
|
+
/** Override initials explicitly (falls back to name-derived initials). */
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
export default function Avatar({ name, label, image, className, ...rest }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/Avatar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAClE,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,2CAWrF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { Avatar as PrimeAvatar } from "primereact/avatar";
|
|
5
|
+
function initials(name) {
|
|
6
|
+
const parts = name.trim().split(/\s+/);
|
|
7
|
+
if (parts.length === 1)
|
|
8
|
+
return parts[0][0].toUpperCase();
|
|
9
|
+
return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();
|
|
10
|
+
}
|
|
11
|
+
export default function Avatar({ name, label, image, className, ...rest }) {
|
|
12
|
+
const resolvedLabel = label ?? (name && !image ? initials(name) : undefined);
|
|
13
|
+
return (_jsx(PrimeAvatar, { image: image, label: resolvedLabel, className: classNames("mantis-core-avatar", className), ...rest }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/feedback/Avatar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAU1D,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAe;IACpF,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE7E,OAAO,CACL,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,SAAS,CAAC,KAClD,IAAI,GACR,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "react";
|
|
2
|
+
export interface CardSkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
count?: number;
|
|
4
|
+
}
|
|
5
|
+
export default function CardSkeleton({ count, className, ...rest }: CardSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=CardSkeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardSkeleton.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/CardSkeleton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,KAAS,EACT,SAAS,EACT,GAAG,IAAI,EACR,EAAE,iBAAiB,2CAYnB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import { Skeleton } from "primereact/skeleton";
|
|
4
|
+
export default function CardSkeleton({ count = 3, className, ...rest }) {
|
|
5
|
+
return (_jsx("div", { className: classNames("mantis-core-card-skeleton", className), ...rest, children: Array.from({ length: count }, (_, i) => (_jsxs("div", { className: "mantis-core-card-skeleton__card", children: [_jsx(Skeleton, { height: "10rem", className: "mantis-core-card-skeleton__image" }), _jsx(Skeleton, { height: "1rem", className: "mantis-core-card-skeleton__line" }), _jsx(Skeleton, { height: "1rem", width: "60%", className: "mantis-core-card-skeleton__line" })] }, i))) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=CardSkeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardSkeleton.js","sourceRoot":"","sources":["../../../src/components/feedback/CardSkeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAM/C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,KAAK,GAAG,CAAC,EACT,SAAS,EACT,GAAG,IAAI,EACW;IAClB,OAAO,CACL,cAAK,SAAS,EAAE,UAAU,CAAC,2BAA2B,EAAE,SAAS,CAAC,KAAM,IAAI,YACzE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvC,eAAa,SAAS,EAAC,iCAAiC,aACtD,KAAC,QAAQ,IAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,kCAAkC,GAAG,EACxE,KAAC,QAAQ,IAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,iCAAiC,GAAG,EACtE,KAAC,QAAQ,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,SAAS,EAAC,iCAAiC,GAAG,KAH1E,CAAC,CAIL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
export interface EmptyStateProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
3
|
+
icon?: ReactNode;
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
action?: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export default function EmptyState({ icon, title, description, action, className, ...rest }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/EmptyState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACpF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE,eAAe,2CAWjB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
export default function EmptyState({ icon, title, description, action, className, ...rest }) {
|
|
4
|
+
return (_jsxs("div", { className: classNames("mantis-core-empty-state", className), ...rest, children: [icon && _jsx("div", { className: "mantis-core-empty-state__icon", children: icon }), _jsx("h3", { className: "mantis-core-empty-state__title", children: title }), description && (_jsx("p", { className: "mantis-core-empty-state__description", children: description })), action && _jsx("div", { className: "mantis-core-empty-state__action", children: action })] }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/components/feedback/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACS;IAChB,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAAM,IAAI,aACvE,IAAI,IAAI,cAAK,SAAS,EAAC,+BAA+B,YAAE,IAAI,GAAO,EACpE,aAAI,SAAS,EAAC,gCAAgC,YAAE,KAAK,GAAM,EAC1D,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,sCAAsC,YAAE,WAAW,GAAK,CACtE,EACA,MAAM,IAAI,cAAK,SAAS,EAAC,iCAAiC,YAAE,MAAM,GAAO,IACtE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from "react";
|
|
2
|
+
import type { ErrorInfo, ReactNode } from "react";
|
|
3
|
+
export interface ErrorBoundaryProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
fallback?: ReactNode | ((error: Error) => ReactNode);
|
|
6
|
+
onError?: (error: Error, info: ErrorInfo) => void;
|
|
7
|
+
}
|
|
8
|
+
interface State {
|
|
9
|
+
error: Error | null;
|
|
10
|
+
}
|
|
11
|
+
export default class ErrorBoundary extends Component<ErrorBoundaryProps, State> {
|
|
12
|
+
state: State;
|
|
13
|
+
static getDerivedStateFromError(error: Error): State;
|
|
14
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
15
|
+
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=ErrorBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACnD;AAED,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC;IAC7E,KAAK,EAAE,KAAK,CAAmB;IAE/B,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAIpD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS;IAI/C,MAAM;CAgBP"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Component } from "react";
|
|
3
|
+
export default class ErrorBoundary extends Component {
|
|
4
|
+
state = { error: null };
|
|
5
|
+
static getDerivedStateFromError(error) {
|
|
6
|
+
return { error };
|
|
7
|
+
}
|
|
8
|
+
componentDidCatch(error, info) {
|
|
9
|
+
this.props.onError?.(error, info);
|
|
10
|
+
}
|
|
11
|
+
render() {
|
|
12
|
+
const { error } = this.state;
|
|
13
|
+
const { children, fallback } = this.props;
|
|
14
|
+
if (error) {
|
|
15
|
+
if (typeof fallback === "function")
|
|
16
|
+
return fallback(error);
|
|
17
|
+
if (fallback !== undefined)
|
|
18
|
+
return fallback;
|
|
19
|
+
return (_jsx("div", { className: "mantis-core-error-boundary", children: _jsx("p", { className: "mantis-core-error-boundary__message", children: error.message }) }));
|
|
20
|
+
}
|
|
21
|
+
return children;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../../src/components/feedback/ErrorBoundary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAalC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAoC;IAC7E,KAAK,GAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE/B,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC1C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,IAAe;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAC5C,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,YAAG,SAAS,EAAC,qCAAqC,YAAE,KAAK,CAAC,OAAO,GAAK,GAClE,CACP,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "react";
|
|
2
|
+
export interface TableSkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
rows?: number;
|
|
4
|
+
columns?: number;
|
|
5
|
+
}
|
|
6
|
+
export default function TableSkeleton({ rows, columns, className, ...rest }: TableSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=TableSkeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSkeleton.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/TableSkeleton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,IAAQ,EACR,OAAW,EACX,SAAS,EACT,GAAG,IAAI,EACR,EAAE,kBAAkB,2CAYpB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import { Skeleton } from "primereact/skeleton";
|
|
4
|
+
export default function TableSkeleton({ rows = 5, columns = 4, className, ...rest }) {
|
|
5
|
+
return (_jsx("div", { className: classNames("mantis-core-table-skeleton", className), ...rest, children: Array.from({ length: rows }, (_, r) => (_jsx("div", { className: "mantis-core-table-skeleton__row", children: Array.from({ length: columns }, (_, c) => (_jsx(Skeleton, { className: "mantis-core-table-skeleton__cell", height: "2rem" }, c))) }, r))) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=TableSkeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSkeleton.js","sourceRoot":"","sources":["../../../src/components/feedback/TableSkeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAO/C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,IAAI,GAAG,CAAC,EACR,OAAO,GAAG,CAAC,EACX,SAAS,EACT,GAAG,IAAI,EACY;IACnB,OAAO,CACL,cAAK,SAAS,EAAE,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,IAAI,YAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACtC,cAAa,SAAS,EAAC,iCAAiC,YACrD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzC,KAAC,QAAQ,IAAS,SAAS,EAAC,kCAAkC,EAAC,MAAM,EAAC,MAAM,IAA7D,CAAC,CAA+D,CAChF,CAAC,IAHM,CAAC,CAIL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TagProps as PrimeTagProps } from "primereact/tag";
|
|
2
|
+
export type TagProps = Omit<PrimeTagProps, "className"> & {
|
|
3
|
+
className?: string;
|
|
4
|
+
};
|
|
5
|
+
export default function Tag({ className, ...rest }: TagProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=Tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/Tag.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,QAAQ,2CAO3D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import { Tag as PrimeTag } from "primereact/tag";
|
|
4
|
+
export default function Tag({ className, ...rest }) {
|
|
5
|
+
return (_jsx(PrimeTag, { className: classNames("mantis-core-tag", className), ...rest }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=Tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.js","sourceRoot":"","sources":["../../../src/components/feedback/Tag.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAOjD,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAY;IAC1D,OAAO,CACL,KAAC,QAAQ,IACP,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,KAC/C,IAAI,GACR,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { type ReactNode } from "react";
|
|
2
|
+
type Command = {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
keywords?: string[];
|
|
7
|
+
onSelect: () => void;
|
|
8
|
+
};
|
|
9
|
+
type CommandPaletteProps = {
|
|
10
|
+
commands: Command[];
|
|
11
|
+
open?: boolean;
|
|
12
|
+
onOpenChange?: (open: boolean) => void;
|
|
13
|
+
};
|
|
14
|
+
declare const CommandPalette: React.FC<CommandPaletteProps>;
|
|
15
|
+
export declare function useCommandPalette(onOpen?: () => void): void;
|
|
16
|
+
export default CommandPalette;
|
|
17
|
+
//# sourceMappingURL=CommandPalette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/CommandPalette.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AAG3E,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA6GjD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAW3D;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useRef } from "react";
|
|
4
|
+
import { Dialog } from "primereact/dialog";
|
|
5
|
+
const CommandPalette = ({ commands, open = false, onOpenChange }) => {
|
|
6
|
+
const [query, setQuery] = useState("");
|
|
7
|
+
const inputRef = useRef(null);
|
|
8
|
+
const filtered = query
|
|
9
|
+
? commands.filter((cmd) => {
|
|
10
|
+
const q = query.toLowerCase();
|
|
11
|
+
return (cmd.label.toLowerCase().includes(q) ||
|
|
12
|
+
cmd.keywords?.some((k) => k.toLowerCase().includes(q)));
|
|
13
|
+
})
|
|
14
|
+
: commands;
|
|
15
|
+
const close = () => {
|
|
16
|
+
setQuery("");
|
|
17
|
+
onOpenChange?.(false);
|
|
18
|
+
};
|
|
19
|
+
const handleSelect = (cmd) => {
|
|
20
|
+
cmd.onSelect();
|
|
21
|
+
close();
|
|
22
|
+
};
|
|
23
|
+
// Focus input when opened
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (open) {
|
|
26
|
+
setTimeout(() => inputRef.current?.focus(), 50);
|
|
27
|
+
}
|
|
28
|
+
}, [open]);
|
|
29
|
+
return (_jsx(Dialog, { visible: open, onHide: close, header: null, showHeader: false, dismissableMask: true, className: "mantis-core-command-palette", style: { width: "500px", maxWidth: "90vw" }, pt: { content: { style: { padding: 0 } } }, children: _jsxs("div", { style: { display: "flex", flexDirection: "column", overflow: "hidden" }, children: [_jsx("input", { ref: inputRef, type: "text", value: query, onChange: (e) => setQuery(e.target.value), placeholder: "Buscar comando...", style: {
|
|
30
|
+
width: "100%",
|
|
31
|
+
padding: "12px 16px",
|
|
32
|
+
border: "none",
|
|
33
|
+
borderBottom: "1px solid var(--border)",
|
|
34
|
+
outline: "none",
|
|
35
|
+
fontSize: "14px",
|
|
36
|
+
background: "var(--card)",
|
|
37
|
+
color: "inherit",
|
|
38
|
+
boxSizing: "border-box",
|
|
39
|
+
} }), _jsxs("ul", { style: {
|
|
40
|
+
listStyle: "none",
|
|
41
|
+
margin: 0,
|
|
42
|
+
padding: "4px",
|
|
43
|
+
maxHeight: "320px",
|
|
44
|
+
overflowY: "auto",
|
|
45
|
+
}, children: [filtered.map((cmd) => (_jsx("li", { children: _jsxs("button", { onClick: () => handleSelect(cmd), style: {
|
|
46
|
+
width: "100%",
|
|
47
|
+
display: "flex",
|
|
48
|
+
alignItems: "center",
|
|
49
|
+
gap: "10px",
|
|
50
|
+
padding: "10px 12px",
|
|
51
|
+
border: "none",
|
|
52
|
+
background: "transparent",
|
|
53
|
+
cursor: "pointer",
|
|
54
|
+
fontSize: "14px",
|
|
55
|
+
borderRadius: "6px",
|
|
56
|
+
textAlign: "left",
|
|
57
|
+
color: "inherit",
|
|
58
|
+
}, onMouseEnter: (e) => (e.currentTarget.style.background = "color-mix(in oklch, var(--primary), transparent 90%)"), onMouseLeave: (e) => (e.currentTarget.style.background = "transparent"), children: [cmd.icon && _jsx("span", { style: { flexShrink: 0 }, children: cmd.icon }), _jsx("span", { children: cmd.label })] }) }, cmd.id))), filtered.length === 0 && (_jsx("li", { style: { padding: "16px", textAlign: "center", color: "var(--muted-foreground)", fontSize: "14px" }, children: "Sin resultados" }))] })] }) }));
|
|
59
|
+
};
|
|
60
|
+
export function useCommandPalette(onOpen) {
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
const handler = (e) => {
|
|
63
|
+
if ((e.metaKey || e.ctrlKey) && e.key === "k") {
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
onOpen?.();
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
window.addEventListener("keydown", handler);
|
|
69
|
+
return () => window.removeEventListener("keydown", handler);
|
|
70
|
+
}, [onOpen]);
|
|
71
|
+
}
|
|
72
|
+
export default CommandPalette;
|
|
73
|
+
//# sourceMappingURL=CommandPalette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandPalette.js","sourceRoot":"","sources":["../../../src/components/navigation/CommandPalette.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { type ReactNode } from "react";
|
|
2
|
+
import { type TabMenuProps } from "primereact/tabmenu";
|
|
3
|
+
type PageTabsProps = Omit<TabMenuProps, "model"> & {
|
|
4
|
+
tabs: {
|
|
5
|
+
label: string;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
href?: string;
|
|
8
|
+
command?: () => void;
|
|
9
|
+
}[];
|
|
10
|
+
activeIndex?: number;
|
|
11
|
+
};
|
|
12
|
+
declare const PageTabs: React.FC<PageTabsProps>;
|
|
13
|
+
export default PageTabs;
|
|
14
|
+
//# sourceMappingURL=PageTabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageTabs.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/PageTabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGhE,KAAK,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IACjD,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,EAAE,CAAC;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA0BrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { usePathname, useRouter } from "next/navigation";
|
|
4
|
+
import { TabMenu } from "primereact/tabmenu";
|
|
5
|
+
const PageTabs = ({ tabs, activeIndex, ...rest }) => {
|
|
6
|
+
const pathname = usePathname();
|
|
7
|
+
const router = useRouter();
|
|
8
|
+
const model = tabs.map((tab) => ({
|
|
9
|
+
label: tab.label,
|
|
10
|
+
icon: tab.icon,
|
|
11
|
+
command: tab.href
|
|
12
|
+
? () => router.push(tab.href)
|
|
13
|
+
: tab.command,
|
|
14
|
+
}));
|
|
15
|
+
// Derive active index from pathname when href tabs are used
|
|
16
|
+
const resolvedActiveIndex = activeIndex ??
|
|
17
|
+
tabs.findIndex((t) => t.href && (pathname === t.href || pathname.startsWith(t.href + "/")));
|
|
18
|
+
return (_jsx("div", { className: "mantis-core-page-tabs", children: _jsx(TabMenu, { model: model, activeIndex: resolvedActiveIndex >= 0 ? resolvedActiveIndex : 0, ...rest }) }));
|
|
19
|
+
};
|
|
20
|
+
export default PageTabs;
|
|
21
|
+
//# sourceMappingURL=PageTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageTabs.js","sourceRoot":"","sources":["../../../src/components/navigation/PageTabs.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AAQhE,MAAM,QAAQ,GAA4B,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAe,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAA0B;QACpC,OAAO,EAAE,GAAG,CAAC,IAAI;YACf,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAK,CAAC;YAC9B,CAAC,CAAC,GAAG,CAAC,OAAO;KAChB,CAAC,CAAC,CAAC;IAEJ,4DAA4D;IAC5D,MAAM,mBAAmB,GACvB,WAAW;QACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9F,OAAO,CACL,cAAK,SAAS,EAAC,uBAAuB,YACpC,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAC3D,IAAI,GACR,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SidebarProps } from "primereact/sidebar";
|
|
2
|
+
export type DrawerProps = Omit<SidebarProps, "className"> & {
|
|
3
|
+
className?: string;
|
|
4
|
+
};
|
|
5
|
+
export default function Drawer({ position, className, ...rest }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=Drawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/Drawer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,QAAkB,EAClB,SAAS,EACT,GAAG,IAAI,EACR,EAAE,WAAW,2CAQb"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { Sidebar } from "primereact/sidebar";
|
|
5
|
+
export default function Drawer({ position = "right", className, ...rest }) {
|
|
6
|
+
return (_jsx(Sidebar, { position: position, className: classNames("mantis-core-drawer", className), ...rest }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Drawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/overlays/Drawer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAO7C,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,QAAQ,GAAG,OAAO,EAClB,SAAS,EACT,GAAG,IAAI,EACK;IACZ,OAAO,CACL,KAAC,OAAO,IACN,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,SAAS,CAAC,KAClD,IAAI,GACR,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DialogProps } from "primereact/dialog";
|
|
2
|
+
export type ModalProps = Omit<DialogProps, "className"> & {
|
|
3
|
+
className?: string;
|
|
4
|
+
};
|
|
5
|
+
export default function Modal({ modal, dismissableMask, draggable, className, ...rest }: ModalProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/Modal.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,KAAY,EACZ,eAAsB,EACtB,SAAiB,EACjB,SAAS,EACT,GAAG,IAAI,EACR,EAAE,UAAU,2CAUZ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { Dialog } from "primereact/dialog";
|
|
5
|
+
export default function Modal({ modal = true, dismissableMask = true, draggable = false, className, ...rest }) {
|
|
6
|
+
return (_jsx(Dialog, { modal: modal, dismissableMask: dismissableMask, draggable: draggable, className: classNames("mantis-core-modal", className), ...rest }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/overlays/Modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAO3C,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,KAAK,GAAG,IAAI,EACZ,eAAe,GAAG,IAAI,EACtB,SAAS,GAAG,KAAK,EACjB,SAAS,EACT,GAAG,IAAI,EACI;IACX,OAAO,CACL,KAAC,MAAM,IACL,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,SAAS,CAAC,KACjD,IAAI,GACR,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/AppShell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/AppShell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AAqGzD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4LrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -7,23 +7,25 @@ import classNames from "classnames";
|
|
|
7
7
|
import { Sidebar } from "primereact/sidebar";
|
|
8
8
|
// ─── helpers ────────────────────────────────────────────────────────────────
|
|
9
9
|
const isActive = (pathname, href) => Boolean(href && (pathname === href || pathname.startsWith(href + "/")));
|
|
10
|
-
const NavItemLink = ({ item, pathname, onClick }) => {
|
|
10
|
+
const NavItemLink = ({ item, pathname, onClick, collapsed = false }) => {
|
|
11
11
|
const active = isActive(pathname, item.href);
|
|
12
|
-
const cls = classNames("mantis-core-appshell-nav-item", "w-full flex items-center gap-2.5 px-3 py-2.5 rounded-md text-sm transition-all duration-150 text-left", active
|
|
12
|
+
const cls = classNames("mantis-core-appshell-nav-item", "w-full flex items-center gap-2.5 px-3 py-2.5 rounded-md text-sm transition-all duration-150 text-left", collapsed ? "justify-center" : "", active
|
|
13
13
|
? "bg-primary/10 text-primary font-semibold"
|
|
14
14
|
: "text-muted-foreground font-medium hover:bg-primary/5 hover:text-primary");
|
|
15
|
-
const inner = (_jsxs(_Fragment, { children: [item.icon && (_jsx("span", { className: 'shrink-0 w-4 flex items-center justify-center', children: item.icon })), _jsx("span", { className: 'flex-1 truncate', children: item.label }), active && _jsx("span", { className: 'w-1.5 h-1.5 rounded-full bg-primary shrink-0' })] }));
|
|
16
|
-
return item.href ? (_jsx(Link, { href: item.href, onClick: onClick, className: cls, children: inner })) : (_jsx("button", { onClick: onClick, className: cls, children: inner }));
|
|
15
|
+
const inner = (_jsxs(_Fragment, { children: [item.icon && (_jsx("span", { className: 'shrink-0 w-4 flex items-center justify-center', children: item.icon })), !collapsed && _jsx("span", { className: 'flex-1 truncate', children: item.label }), !collapsed && active && _jsx("span", { className: 'w-1.5 h-1.5 rounded-full bg-primary shrink-0' })] }));
|
|
16
|
+
return item.href ? (_jsx(Link, { href: item.href, onClick: onClick, className: cls, title: collapsed ? item.label : undefined, children: inner })) : (_jsx("button", { onClick: onClick, className: cls, title: collapsed ? item.label : undefined, children: inner }));
|
|
17
17
|
};
|
|
18
|
-
const NavGroup = ({ item, pathname, onNavigate }) => (_jsxs("div", { className: 'mantis-core-appshell-nav-group', children: [_jsxs("span", { className: 'block px-3 py-1.5 text-[0.7rem] font-semibold uppercase tracking-wider', style: { color: "var(--muted-foreground)" }, children: [item.icon && _jsx("span", { className: 'mr-1.5', children: item.icon }), item.label] }), item.children?.map((child) => (_jsx(NavItemLink, { item: child, pathname: pathname, onClick: onNavigate }, child.label)))] }));
|
|
19
|
-
const NavList = ({ items, pathname, onNavigate }) => (_jsx("ul", { className: 'flex flex-col gap-0.5 list-none m-0 p-0', children: items.map((item) => item.children?.length ? (_jsx("li", { children: _jsx(NavGroup, { item: item, pathname: pathname, onNavigate: onNavigate }) }, item.label)) : (_jsx("li", { children: _jsx(NavItemLink, { item: item, pathname: pathname, onClick: onNavigate }) }, item.label))) }));
|
|
18
|
+
const NavGroup = ({ item, pathname, onNavigate, collapsed = false }) => (_jsxs("div", { className: 'mantis-core-appshell-nav-group', children: [!collapsed && (_jsxs("span", { className: 'block px-3 py-1.5 text-[0.7rem] font-semibold uppercase tracking-wider', style: { color: "var(--muted-foreground)" }, children: [item.icon && _jsx("span", { className: 'mr-1.5', children: item.icon }), item.label] })), item.children?.map((child) => (_jsx(NavItemLink, { item: child, pathname: pathname, onClick: onNavigate, collapsed: collapsed }, child.label)))] }));
|
|
19
|
+
const NavList = ({ items, pathname, onNavigate, collapsed = false }) => (_jsx("ul", { className: 'flex flex-col gap-0.5 list-none m-0 p-0', children: items.map((item) => item.children?.length ? (_jsx("li", { children: _jsx(NavGroup, { item: item, pathname: pathname, onNavigate: onNavigate, collapsed: collapsed }) }, item.label)) : (_jsx("li", { children: _jsx(NavItemLink, { item: item, pathname: pathname, onClick: onNavigate, collapsed: collapsed }) }, item.label))) }));
|
|
20
20
|
// ─── AppShell ────────────────────────────────────────────────────────────────
|
|
21
|
-
const AppShell = ({ navItems, brand, topbarActions, user, footer, children, }) => {
|
|
21
|
+
const AppShell = ({ navItems, brand, topbarActions, user, footer, children, collapsible = false, defaultCollapsed = false, }) => {
|
|
22
22
|
const pathname = usePathname();
|
|
23
23
|
const [mobileOpen, setMobileOpen] = useState(false);
|
|
24
|
-
|
|
24
|
+
const [collapsed, setCollapsed] = useState(defaultCollapsed);
|
|
25
|
+
return (_jsxs("div", { className: 'mantis-core-appshell flex min-h-screen', children: [_jsxs("aside", { className: classNames("mantis-core-appshell-sidebar hidden lg:flex flex-col shrink-0 border-r border-border transition-[width] duration-200", collapsible && collapsed ? "w-14" : "w-60"), style: { background: "var(--card)" }, children: [brand && (_jsxs("div", { className: 'mantis-core-appshell-sidebar-brand flex items-center h-16 px-4 border-b border-border shrink-0', style: {
|
|
25
26
|
background: "linear-gradient(110deg, color-mix(in oklch, var(--primary), white 92%), color-mix(in oklch, var(--accent), white 90%))",
|
|
26
|
-
|
|
27
|
+
overflow: "hidden",
|
|
28
|
+
}, children: [!collapsed && brand, collapsible && (_jsx("button", { onClick: () => setCollapsed((c) => !c), "aria-label": "Toggle sidebar", className: classNames("ml-auto p-1 rounded-sm bg-transparent border-0 cursor-pointer text-muted-foreground hover:text-primary transition-colors duration-150", collapsed ? "mx-auto" : ""), style: { lineHeight: 0 }, children: _jsx("svg", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none', stroke: 'currentColor', strokeWidth: '1.75', strokeLinecap: 'round', strokeLinejoin: 'round', children: collapsed ? (_jsx("polyline", { points: '6 3 11 8 6 13' })) : (_jsx("polyline", { points: '10 3 5 8 10 13' })) }) }))] })), !brand && collapsible && (_jsx("div", { className: 'flex items-center justify-center h-10 border-b border-border', children: _jsx("button", { onClick: () => setCollapsed((c) => !c), "aria-label": "Toggle sidebar", className: 'p-1 rounded-sm bg-transparent border-0 cursor-pointer text-muted-foreground hover:text-primary transition-colors duration-150', style: { lineHeight: 0 }, children: _jsx("svg", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none', stroke: 'currentColor', strokeWidth: '1.75', strokeLinecap: 'round', strokeLinejoin: 'round', children: collapsed ? (_jsx("polyline", { points: '6 3 11 8 6 13' })) : (_jsx("polyline", { points: '10 3 5 8 10 13' })) }) }) })), _jsx("nav", { className: 'flex-1 overflow-y-auto p-3', children: _jsx(NavList, { items: navItems, pathname: pathname, collapsed: collapsible && collapsed }) }), footer && !collapsed && (_jsx("div", { className: 'mantis-core-appshell-sidebar-footer shrink-0 border-t border-border p-3', children: footer }))] }), _jsxs("div", { className: 'flex flex-col flex-1 min-w-0', children: [_jsxs("header", { className: 'mantis-core-appshell-topbar flex items-center h-16 px-4 sm:px-6 border-b border-border shrink-0 gap-3', style: {
|
|
27
29
|
background: "var(--card)",
|
|
28
30
|
boxShadow: "0 1px 3px color-mix(in oklch, var(--foreground), transparent 92%)",
|
|
29
31
|
}, children: [_jsx("button", { className: 'lg:hidden p-2 rounded-sm bg-transparent border-0 cursor-pointer text-muted-foreground hover:text-primary transition-colors duration-150 leading-none', "aria-label": 'Abrir men\u00FA', "aria-expanded": mobileOpen, onClick: () => setMobileOpen(true), children: _jsxs("svg", { width: '18', height: '18', viewBox: '0 0 18 18', fill: 'none', stroke: 'currentColor', strokeWidth: '1.75', strokeLinecap: 'round', children: [_jsx("line", { x1: '2', y1: '4.5', x2: '16', y2: '4.5' }), _jsx("line", { x1: '2', y1: '9', x2: '16', y2: '9' }), _jsx("line", { x1: '2', y1: '13.5', x2: '16', y2: '13.5' })] }) }), brand && (_jsx("div", { className: 'lg:hidden flex items-center', children: brand })), _jsx("div", { className: 'flex-1' }), topbarActions && (_jsx("div", { className: 'mantis-core-appshell-topbar-actions flex items-center gap-2', children: topbarActions })), user && (_jsx("div", { className: 'mantis-core-appshell-topbar-user flex items-center', children: user }))] }), _jsx("main", { className: 'mantis-core-appshell-content flex-1', children: children })] }), _jsxs(Sidebar, { visible: mobileOpen, onHide: () => setMobileOpen(false), position: 'left', className: 'mantis-core-appshell-mobile-drawer w-72', style: { background: "var(--card)" }, children: [brand && (_jsx("div", { className: 'flex items-center mb-4 pb-4 border-b border-border', style: {
|