@mantis-core/ui 0.1.3 → 0.3.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 +15 -142
- package/PRIMEREACT_MAPPING.md +6 -0
- package/README.md +56 -72
- package/dist/components/Forms/AsyncSelect.d.ts +20 -0
- package/dist/components/Forms/AsyncSelect.d.ts.map +1 -0
- package/dist/components/Forms/AsyncSelect.js +77 -0
- package/dist/components/Forms/AsyncSelect.js.map +1 -0
- package/dist/components/Forms/CurrencyInput.d.ts +12 -0
- package/dist/components/Forms/CurrencyInput.d.ts.map +1 -0
- package/dist/components/Forms/CurrencyInput.js +9 -0
- package/dist/components/Forms/CurrencyInput.js.map +1 -0
- package/dist/components/Forms/DateRangeInput.d.ts +10 -0
- package/dist/components/Forms/DateRangeInput.d.ts.map +1 -0
- package/dist/components/Forms/DateRangeInput.js +13 -0
- package/dist/components/Forms/DateRangeInput.js.map +1 -0
- package/dist/components/Forms/DirtyFormGuard.d.ts +5 -0
- package/dist/components/Forms/DirtyFormGuard.d.ts.map +1 -0
- package/dist/components/Forms/DirtyFormGuard.js +8 -0
- package/dist/components/Forms/DirtyFormGuard.js.map +1 -0
- package/dist/components/Forms/FileDropzone.d.ts +29 -0
- package/dist/components/Forms/FileDropzone.d.ts.map +1 -0
- package/dist/components/Forms/FileDropzone.js +137 -0
- package/dist/components/Forms/FileDropzone.js.map +1 -0
- package/dist/components/Forms/FormActionsBar.d.ts +26 -0
- package/dist/components/Forms/FormActionsBar.d.ts.map +1 -0
- package/dist/components/Forms/FormActionsBar.js +16 -0
- package/dist/components/Forms/FormActionsBar.js.map +1 -0
- package/dist/components/Forms/FormWizard.d.ts +17 -0
- package/dist/components/Forms/FormWizard.d.ts.map +1 -0
- package/dist/components/Forms/FormWizard.js +63 -0
- package/dist/components/Forms/FormWizard.js.map +1 -0
- package/dist/components/Forms/PhoneInput.d.ts +11 -0
- package/dist/components/Forms/PhoneInput.d.ts.map +1 -0
- package/dist/components/Forms/PhoneInput.js +9 -0
- package/dist/components/Forms/PhoneInput.js.map +1 -0
- package/dist/components/Forms/RadioGroup.d.ts +15 -0
- package/dist/components/Forms/RadioGroup.d.ts.map +1 -0
- package/dist/components/Forms/RadioGroup.js +9 -0
- package/dist/components/Forms/RadioGroup.js.map +1 -0
- package/dist/components/Forms/RangeSlider.d.ts +13 -0
- package/dist/components/Forms/RangeSlider.d.ts.map +1 -0
- package/dist/components/Forms/RangeSlider.js +9 -0
- package/dist/components/Forms/RangeSlider.js.map +1 -0
- package/dist/components/Forms/SearchInput.d.ts +14 -0
- package/dist/components/Forms/SearchInput.d.ts.map +1 -0
- package/dist/components/Forms/SearchInput.js +34 -0
- package/dist/components/Forms/SearchInput.js.map +1 -0
- package/dist/components/Forms/useDirtyFormGuard.d.ts +12 -0
- package/dist/components/Forms/useDirtyFormGuard.d.ts.map +1 -0
- package/dist/components/Forms/useDirtyFormGuard.js +36 -0
- package/dist/components/Forms/useDirtyFormGuard.js.map +1 -0
- package/dist/components/pages/AdminPageHeader.d.ts.map +1 -1
- package/dist/components/pages/AdminPageHeader.js +2 -9
- package/dist/components/pages/AdminPageHeader.js.map +1 -1
- package/dist/components/pages/app-shell/AppShell.d.ts +5 -0
- package/dist/components/pages/app-shell/AppShell.d.ts.map +1 -0
- package/dist/components/pages/app-shell/AppShell.js +36 -0
- package/dist/components/pages/app-shell/AppShell.js.map +1 -0
- package/dist/components/pages/app-shell/Breadcrumbs.d.ts +8 -0
- package/dist/components/pages/app-shell/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/pages/app-shell/Breadcrumbs.js +17 -0
- package/dist/components/pages/app-shell/Breadcrumbs.js.map +1 -0
- package/dist/components/pages/app-shell/index.d.ts +4 -0
- package/dist/components/pages/app-shell/index.d.ts.map +1 -0
- package/dist/components/pages/app-shell/index.js +3 -0
- package/dist/components/pages/app-shell/index.js.map +1 -0
- package/dist/components/pages/app-shell/types.d.ts +20 -0
- package/dist/components/pages/app-shell/types.d.ts.map +1 -0
- package/dist/components/pages/app-shell/types.js +2 -0
- package/dist/components/pages/app-shell/types.js.map +1 -0
- package/dist/components/ui/ConfirmDialog.d.ts +19 -0
- package/dist/components/ui/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ui/ConfirmDialog.js +20 -0
- package/dist/components/ui/ConfirmDialog.js.map +1 -0
- package/dist/components/ui/DataState.d.ts +20 -0
- package/dist/components/ui/DataState.d.ts.map +1 -0
- package/dist/components/ui/DataState.js +30 -0
- package/dist/components/ui/DataState.js.map +1 -0
- package/dist/components/ui/StatusBadge.d.ts +12 -0
- package/dist/components/ui/StatusBadge.d.ts.map +1 -0
- package/dist/components/ui/StatusBadge.js +19 -0
- package/dist/components/ui/StatusBadge.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/docs/README.md +72 -0
- package/docs/components/action-column.md +17 -0
- package/docs/components/admin-page-header.md +21 -0
- package/docs/components/admin-page-layout.md +29 -0
- package/docs/components/async-select.md +26 -0
- package/docs/components/button.md +25 -0
- package/docs/components/ckeditor-input.md +24 -0
- package/docs/components/confirm-dialog.md +21 -0
- package/docs/components/data-state.md +19 -0
- package/docs/components/date-input.md +22 -0
- package/docs/components/dirty-form-guard.md +31 -0
- package/docs/components/drop-down.md +28 -0
- package/docs/components/error-message.md +13 -0
- package/docs/components/file-dropzone.md +25 -0
- package/docs/components/filter-pannel.md +23 -0
- package/docs/components/form-actions-bar.md +22 -0
- package/docs/components/form-field-render.md +20 -0
- package/docs/components/form-section.md +15 -0
- package/docs/components/hidden-field.md +19 -0
- package/docs/components/index-column.md +13 -0
- package/docs/components/loading.md +21 -0
- package/docs/components/map-picker-client.md +22 -0
- package/docs/components/map-picker-osm.md +18 -0
- package/docs/components/map-picker.md +21 -0
- package/docs/components/menu-button.md +22 -0
- package/docs/components/multi-select-filter.md +20 -0
- package/docs/components/multi-select.md +23 -0
- package/docs/components/number-input.md +20 -0
- package/docs/components/page-title.md +13 -0
- package/docs/components/paginated-table.md +35 -0
- package/docs/components/pagination.md +27 -0
- package/docs/components/render-field.md +24 -0
- package/docs/components/rich-text-preview.md +18 -0
- package/docs/components/select.md +28 -0
- package/docs/components/status-badge.md +14 -0
- package/docs/components/switch.md +27 -0
- package/docs/components/table-filter-field.md +21 -0
- package/docs/components/table-toolbar.md +19 -0
- package/docs/components/text-area.md +20 -0
- package/docs/components/text-input.md +23 -0
- package/docs/components/time-picker.md +22 -0
- package/docs/components/toggle-inline-button.md +22 -0
- package/docs/components/toggle.md +21 -0
- package/docs/components/upload-files-preview.md +26 -0
- package/docs/contracts/controller-props.md +28 -0
- package/docs/contracts/dependency-map.md +57 -0
- package/docs/contracts/style-imports.md +27 -0
- package/package.json +6 -4
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import Link from "next/link";
|
|
5
|
+
import { usePathname } from "next/navigation";
|
|
6
|
+
import classNames from "classnames";
|
|
7
|
+
import { Sidebar } from "primereact/sidebar";
|
|
8
|
+
// ─── helpers ────────────────────────────────────────────────────────────────
|
|
9
|
+
const isActive = (pathname, href) => Boolean(href && (pathname === href || pathname.startsWith(href + "/")));
|
|
10
|
+
const NavItemLink = ({ item, pathname, onClick }) => {
|
|
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
|
|
13
|
+
? "bg-primary/10 text-primary font-semibold"
|
|
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 }));
|
|
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))) }));
|
|
20
|
+
// ─── AppShell ────────────────────────────────────────────────────────────────
|
|
21
|
+
const AppShell = ({ navItems, brand, topbarActions, user, footer, children, }) => {
|
|
22
|
+
const pathname = usePathname();
|
|
23
|
+
const [mobileOpen, setMobileOpen] = useState(false);
|
|
24
|
+
return (_jsxs("div", { className: 'mantis-core-appshell flex min-h-screen', children: [_jsxs("aside", { className: 'mantis-core-appshell-sidebar hidden lg:flex flex-col w-60 shrink-0 border-r border-border', style: { background: "var(--card)" }, children: [brand && (_jsx("div", { className: 'mantis-core-appshell-sidebar-brand flex items-center h-16 px-4 border-b border-border shrink-0', style: {
|
|
25
|
+
background: "linear-gradient(110deg, color-mix(in oklch, var(--primary), white 92%), color-mix(in oklch, var(--accent), white 90%))",
|
|
26
|
+
}, children: brand })), _jsx("nav", { className: 'flex-1 overflow-y-auto p-3', children: _jsx(NavList, { items: navItems, pathname: pathname }) }), footer && (_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
|
+
background: "var(--card)",
|
|
28
|
+
boxShadow: "0 1px 3px color-mix(in oklch, var(--foreground), transparent 92%)",
|
|
29
|
+
}, 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: {
|
|
30
|
+
background: "linear-gradient(110deg, color-mix(in oklch, var(--primary), white 92%), color-mix(in oklch, var(--accent), white 90%))",
|
|
31
|
+
margin: "-1rem -1rem 1rem",
|
|
32
|
+
padding: "1rem",
|
|
33
|
+
}, children: brand })), _jsx(NavList, { items: navItems, pathname: pathname, onNavigate: () => setMobileOpen(false) }), footer && (_jsx("div", { className: 'mt-auto pt-4 border-t border-border', children: footer }))] })] }));
|
|
34
|
+
};
|
|
35
|
+
export default AppShell;
|
|
36
|
+
//# sourceMappingURL=AppShell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/AppShell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { AdminBreadcrumbItem } from "../admin-layout/types";
|
|
3
|
+
type BreadcrumbsProps = {
|
|
4
|
+
items: readonly AdminBreadcrumbItem[];
|
|
5
|
+
};
|
|
6
|
+
declare const Breadcrumbs: React.FC<BreadcrumbsProps>;
|
|
7
|
+
export default Breadcrumbs;
|
|
8
|
+
//# sourceMappingURL=Breadcrumbs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACvC,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoC3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Link from "next/link";
|
|
3
|
+
const Breadcrumbs = ({ items }) => {
|
|
4
|
+
if (!items.length)
|
|
5
|
+
return null;
|
|
6
|
+
return (_jsx("nav", { "aria-label": 'Breadcrumb', className: 'mb-2', children: _jsx("ol", { className: 'flex flex-wrap items-center gap-1.5 text-xs', children: items.map((item, index) => {
|
|
7
|
+
const isLast = index === items.length - 1;
|
|
8
|
+
return (_jsxs("li", { className: 'flex items-center gap-1.5', children: [item.href && !isLast ? (_jsx(Link, { href: item.href, className: 'transition-colors hover:opacity-80', style: { color: "var(--muted-foreground)" }, children: item.label })) : (_jsx("span", { style: {
|
|
9
|
+
color: isLast
|
|
10
|
+
? "color-mix(in oklch, var(--primary), black 24%)"
|
|
11
|
+
: "var(--muted-foreground)",
|
|
12
|
+
fontWeight: isLast ? 600 : 500,
|
|
13
|
+
}, children: item.label })), !isLast && _jsx("span", { style: { color: "var(--muted-foreground)" }, children: "/" })] }, `${item.label}-${index}`));
|
|
14
|
+
}) }) }));
|
|
15
|
+
};
|
|
16
|
+
export default Breadcrumbs;
|
|
17
|
+
//# sourceMappingURL=Breadcrumbs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/Breadcrumbs.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,MAAM,WAAW,GAA+B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE/B,OAAO,CACL,4BAAgB,YAAY,EAAC,SAAS,EAAC,MAAM,YAC3C,aAAI,SAAS,EAAC,6CAA6C,YACxD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAE1C,OAAO,CACL,cAAmC,SAAS,EAAC,2BAA2B,aACrE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACtB,KAAC,IAAI,IACH,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAC1C,IAAI,CAAC,KAAK,GACN,CACR,CAAC,CAAC,CAAC,CACF,eACE,KAAK,EAAE;gCACL,KAAK,EAAE,MAAM;oCACX,CAAC,CAAC,gDAAgD;oCAClD,CAAC,CAAC,yBAAyB;gCAC7B,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;6BAC/B,YACA,IAAI,CAAC,KAAK,GACN,CACR,EACA,CAAC,MAAM,IAAI,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,kBAAU,KAnBhE,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAoB5B,CACN,CAAC;YACJ,CAAC,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type AppNavItem = {
|
|
3
|
+
label: string;
|
|
4
|
+
href?: string;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
children?: AppNavItem[];
|
|
7
|
+
};
|
|
8
|
+
export type AppShellProps = {
|
|
9
|
+
navItems: AppNavItem[];
|
|
10
|
+
/** Brand slot: logo/name rendered in the sidebar header and topbar (mobile) */
|
|
11
|
+
brand?: ReactNode;
|
|
12
|
+
/** Extra content rendered in the topbar right area, before the user slot */
|
|
13
|
+
topbarActions?: ReactNode;
|
|
14
|
+
/** User profile slot rendered at the end of the topbar */
|
|
15
|
+
user?: ReactNode;
|
|
16
|
+
/** Optional footer rendered at the bottom of the sidebar */
|
|
17
|
+
footer?: ReactNode;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/pages/app-shell/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type ConfirmDialogSeverity = "primary" | "info" | "success" | "warning" | "danger";
|
|
3
|
+
export interface ConfirmDialogProps {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
message?: ReactNode;
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
confirmLabel?: string;
|
|
9
|
+
cancelLabel?: string;
|
|
10
|
+
confirmSeverity?: ConfirmDialogSeverity;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
width?: string;
|
|
14
|
+
className?: string;
|
|
15
|
+
onConfirm: () => void | Promise<void>;
|
|
16
|
+
onCancel: () => void;
|
|
17
|
+
}
|
|
18
|
+
export default function ConfirmDialog({ visible, title, message, icon, confirmLabel, cancelLabel, confirmSeverity, loading, disabled, width, className, onConfirm, onCancel, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=ConfirmDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/ConfirmDialog.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1F,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAeD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,OAAO,EACP,KAAqB,EACrB,OAAyB,EACzB,IAAI,EACJ,YAAoC,EACpC,WAAkC,EAClC,eAA0B,EAC1B,OAAe,EACf,QAAgB,EAChB,KAAe,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,2CAkCpB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { Dialog } from "primereact/dialog";
|
|
5
|
+
import Button from "../Buttons/Button";
|
|
6
|
+
const DEFAULT_TITLE = "Confirmar accion";
|
|
7
|
+
const DEFAULT_MESSAGE = "Esta accion no se puede deshacer.";
|
|
8
|
+
const DEFAULT_CONFIRM_LABEL = "Confirmar";
|
|
9
|
+
const DEFAULT_CANCEL_LABEL = "Cancelar";
|
|
10
|
+
const CONFIRM_VARIANT_MAP = {
|
|
11
|
+
primary: "primary",
|
|
12
|
+
info: "info",
|
|
13
|
+
success: "success",
|
|
14
|
+
warning: "warning",
|
|
15
|
+
danger: "danger",
|
|
16
|
+
};
|
|
17
|
+
export default function ConfirmDialog({ visible, title = DEFAULT_TITLE, message = DEFAULT_MESSAGE, icon, confirmLabel = DEFAULT_CONFIRM_LABEL, cancelLabel = DEFAULT_CANCEL_LABEL, confirmSeverity = "danger", loading = false, disabled = false, width = "30rem", className, onConfirm, onCancel, }) {
|
|
18
|
+
return (_jsxs(Dialog, { visible: visible, onHide: onCancel, header: null, draggable: false, closable: !loading, style: { width, maxWidth: "calc(100vw - 2rem)" }, className: classNames("mantis-core-confirm-dialog", className), children: [_jsxs("div", { className: 'mantis-core-confirm-dialog__body', children: [icon ? _jsx("div", { className: 'mantis-core-confirm-dialog__icon', children: icon }) : null, _jsx("h3", { className: 'mantis-core-confirm-dialog__title', children: title }), _jsx("div", { className: 'mantis-core-confirm-dialog__message', children: message })] }), _jsxs("div", { className: 'mantis-core-confirm-dialog__actions', children: [_jsx(Button, { label: cancelLabel, variant: 'secondary', outlined: true, onClick: onCancel, disabled: loading || disabled }), _jsx(Button, { label: confirmLabel, variant: CONFIRM_VARIANT_MAP[confirmSeverity], onClick: onConfirm, loading: loading, disabled: loading || disabled })] })] }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ConfirmDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../../src/components/ui/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,MAA8B,MAAM,mBAAmB,CAAC;AAoB/D,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC,MAAM,mBAAmB,GAAiD;IACxE,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,OAAO,EACP,KAAK,GAAG,aAAa,EACrB,OAAO,GAAG,eAAe,EACzB,IAAI,EACJ,YAAY,GAAG,qBAAqB,EACpC,WAAW,GAAG,oBAAoB,EAClC,eAAe,GAAG,QAAQ,EAC1B,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,OAAO,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GACW;IACnB,OAAO,CACL,MAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,CAAC,OAAO,EAClB,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAChD,SAAS,EAAE,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,aAC9D,eAAK,SAAS,EAAC,kCAAkC,aAC9C,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,kCAAkC,YAAE,IAAI,GAAO,CAAC,CAAC,CAAC,IAAI,EAC7E,aAAI,SAAS,EAAC,mCAAmC,YAAE,KAAK,GAAM,EAC9D,cAAK,SAAS,EAAC,qCAAqC,YAAE,OAAO,GAAO,IAChE,EAEN,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,MAAM,IACL,KAAK,EAAE,WAAW,EAClB,OAAO,EAAC,WAAW,EACnB,QAAQ,QACR,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,OAAO,IAAI,QAAQ,GAC7B,EACF,KAAC,MAAM,IACL,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAC7C,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,IAAI,QAAQ,GAC7B,IACE,IACC,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type DataStateStatus = "ready" | "loading" | "empty" | "error";
|
|
3
|
+
export interface DataStateProps {
|
|
4
|
+
status: DataStateStatus;
|
|
5
|
+
className?: string;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
loadingTitle?: ReactNode;
|
|
9
|
+
loadingDescription?: ReactNode;
|
|
10
|
+
emptyTitle?: ReactNode;
|
|
11
|
+
emptyDescription?: ReactNode;
|
|
12
|
+
emptyAction?: ReactNode;
|
|
13
|
+
errorTitle?: ReactNode;
|
|
14
|
+
errorDescription?: ReactNode;
|
|
15
|
+
errorAction?: ReactNode;
|
|
16
|
+
onRetry?: () => void;
|
|
17
|
+
retryLabel?: string;
|
|
18
|
+
}
|
|
19
|
+
export default function DataState({ status, className, children, icon, loadingTitle, loadingDescription, emptyTitle, emptyDescription, emptyAction, errorTitle, errorDescription, errorAction, onRetry, retryLabel, }: DataStateProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=DataState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataState.d.ts","sourceRoot":"","sources":["../../../src/components/ui/DataState.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,YAAoC,EACpC,kBAAgD,EAChD,UAAgC,EAChC,gBAA4C,EAC5C,WAAW,EACX,UAAgC,EAChC,gBAA4C,EAC5C,WAAW,EACX,OAAO,EACP,UAAgC,GACjC,EAAE,cAAc,2CAoChB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { AlertTriangle, Inbox, LoaderCircle } from "lucide-react";
|
|
5
|
+
import Button from "../Buttons/Button";
|
|
6
|
+
const DEFAULT_LOADING_TITLE = "Cargando informacion";
|
|
7
|
+
const DEFAULT_LOADING_DESCRIPTION = "Espera un momento mientras consultamos los datos.";
|
|
8
|
+
const DEFAULT_EMPTY_TITLE = "Sin resultados";
|
|
9
|
+
const DEFAULT_EMPTY_DESCRIPTION = "No hay registros para mostrar con los filtros actuales.";
|
|
10
|
+
const DEFAULT_ERROR_TITLE = "No se pudo cargar la informacion";
|
|
11
|
+
const DEFAULT_ERROR_DESCRIPTION = "Ocurrio un error al consultar los datos.";
|
|
12
|
+
const DEFAULT_RETRY_LABEL = "Reintentar";
|
|
13
|
+
export default function DataState({ status, className, children, icon, loadingTitle = DEFAULT_LOADING_TITLE, loadingDescription = DEFAULT_LOADING_DESCRIPTION, emptyTitle = DEFAULT_EMPTY_TITLE, emptyDescription = DEFAULT_EMPTY_DESCRIPTION, emptyAction, errorTitle = DEFAULT_ERROR_TITLE, errorDescription = DEFAULT_ERROR_DESCRIPTION, errorAction, onRetry, retryLabel = DEFAULT_RETRY_LABEL, }) {
|
|
14
|
+
if (status === "ready") {
|
|
15
|
+
return _jsx(_Fragment, { children: children });
|
|
16
|
+
}
|
|
17
|
+
const stateIcon = icon ??
|
|
18
|
+
(status === "loading" ? (_jsx(LoaderCircle, { className: 'mantis-core-data-state__icon--spin', size: 20 })) : status === "empty" ? (_jsx(Inbox, { size: 20 })) : (_jsx(AlertTriangle, { size: 20 })));
|
|
19
|
+
const title = status === "loading" ? loadingTitle : status === "empty" ? emptyTitle : errorTitle;
|
|
20
|
+
const description = status === "loading"
|
|
21
|
+
? loadingDescription
|
|
22
|
+
: status === "empty"
|
|
23
|
+
? emptyDescription
|
|
24
|
+
: errorDescription;
|
|
25
|
+
const action = status === "empty"
|
|
26
|
+
? emptyAction
|
|
27
|
+
: errorAction ?? (onRetry ? _jsx(Button, { label: retryLabel, onClick: onRetry }) : null);
|
|
28
|
+
return (_jsxs("div", { className: classNames("mantis-core-data-state", `mantis-core-data-state--${status}`, className), children: [_jsx("div", { className: 'mantis-core-data-state__icon', children: stateIcon }), _jsx("h3", { className: 'mantis-core-data-state__title', children: title }), _jsx("p", { className: 'mantis-core-data-state__description', children: description }), action ? _jsx("div", { className: 'mantis-core-data-state__action', children: action }) : null] }));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=DataState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataState.js","sourceRoot":"","sources":["../../../src/components/ui/DataState.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAqBvC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AACrD,MAAM,2BAA2B,GAAG,mDAAmD,CAAC;AACxF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,MAAM,yBAAyB,GAAG,yDAAyD,CAAC;AAC5F,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;AAC/D,MAAM,yBAAyB,GAAG,0CAA0C,CAAC;AAC7E,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,YAAY,GAAG,qBAAqB,EACpC,kBAAkB,GAAG,2BAA2B,EAChD,UAAU,GAAG,mBAAmB,EAChC,gBAAgB,GAAG,yBAAyB,EAC5C,WAAW,EACX,UAAU,GAAG,mBAAmB,EAChC,gBAAgB,GAAG,yBAAyB,EAC5C,WAAW,EACX,OAAO,EACP,UAAU,GAAG,mBAAmB,GACjB;IACf,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,MAAM,SAAS,GACb,IAAI;QACJ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,KAAC,YAAY,IAAC,SAAS,EAAC,oCAAoC,EAAC,IAAI,EAAE,EAAE,GAAI,CAC1E,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CACvB,KAAC,KAAK,IAAC,IAAI,EAAE,EAAE,GAAI,CACpB,CAAC,CAAC,CAAC,CACF,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,GAAI,CAC5B,CAAC,CAAC;IAEL,MAAM,KAAK,GACT,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACrF,MAAM,WAAW,GACf,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,MAAM,KAAK,OAAO;YAClB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,gBAAgB,CAAC;IACzB,MAAM,MAAM,GACV,MAAM,KAAK,OAAO;QAChB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAExF,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,2BAA2B,MAAM,EAAE,EAAE,SAAS,CAAC,aAClG,cAAK,SAAS,EAAC,8BAA8B,YAAE,SAAS,GAAO,EAC/D,aAAI,SAAS,EAAC,+BAA+B,YAAE,KAAK,GAAM,EAC1D,YAAG,SAAS,EAAC,qCAAqC,YAAE,WAAW,GAAK,EACnE,MAAM,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,CAAC,CAAC,CAAC,IAAI,IAC3E,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
export type StatusBadgeTone = "success" | "muted" | "warning" | "info" | "danger";
|
|
3
|
+
export type StatusBadgeSize = "sm" | "md";
|
|
4
|
+
export interface StatusBadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
5
|
+
label?: ReactNode;
|
|
6
|
+
tone?: StatusBadgeTone;
|
|
7
|
+
size?: StatusBadgeSize;
|
|
8
|
+
block?: boolean;
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export default function StatusBadge({ label, tone, size, block, className, children, ...rest }: StatusBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=StatusBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/ui/StatusBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAClF,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAeD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,KAAK,EACL,IAAc,EACd,IAAW,EACX,KAAa,EACb,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,gBAAgB,2CAgBlB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
const TONE_CLASS_MAP = {
|
|
4
|
+
success: "mantis-core-status-badge--success",
|
|
5
|
+
muted: "mantis-core-status-badge--muted",
|
|
6
|
+
warning: "mantis-core-status-badge--warning",
|
|
7
|
+
info: "mantis-core-status-badge--info",
|
|
8
|
+
danger: "mantis-core-status-badge--danger",
|
|
9
|
+
};
|
|
10
|
+
const SIZE_CLASS_MAP = {
|
|
11
|
+
sm: "mantis-core-status-badge--sm",
|
|
12
|
+
md: "mantis-core-status-badge--md",
|
|
13
|
+
};
|
|
14
|
+
export default function StatusBadge({ label, tone = "muted", size = "md", block = false, className, children, ...rest }) {
|
|
15
|
+
return (_jsx("span", { className: classNames("mantis-core-status-badge", TONE_CLASS_MAP[tone], SIZE_CLASS_MAP[size], {
|
|
16
|
+
"mantis-core-status-badge--block": block,
|
|
17
|
+
}, className), ...rest, children: label ?? children }));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=StatusBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../../src/components/ui/StatusBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAcpC,MAAM,cAAc,GAAoC;IACtD,OAAO,EAAE,mCAAmC;IAC5C,KAAK,EAAE,iCAAiC;IACxC,OAAO,EAAE,mCAAmC;IAC5C,IAAI,EAAE,gCAAgC;IACtC,MAAM,EAAE,kCAAkC;CAC3C,CAAC;AAEF,MAAM,cAAc,GAAoC;IACtD,EAAE,EAAE,8BAA8B;IAClC,EAAE,EAAE,8BAA8B;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,KAAK,EACL,IAAI,GAAG,OAAO,EACd,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,KAAK,EACb,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACU;IACjB,OAAO,CACL,eACE,SAAS,EAAE,UAAU,CACnB,0BAA0B,EAC1B,cAAc,CAAC,IAAI,CAAC,EACpB,cAAc,CAAC,IAAI,CAAC,EACpB;YACE,iCAAiC,EAAE,KAAK;SACzC,EACD,SAAS,CACV,KACG,IAAI,YACP,KAAK,IAAI,QAAQ,GACb,CACR,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export { default as RenderField } from "./components/Forms/RenderField";
|
|
|
21
21
|
export type { RenderFieldProps } from "./components/Forms/RenderField";
|
|
22
22
|
export { default as Select } from "./components/Forms/Select";
|
|
23
23
|
export type { SelectProps } from "./components/Forms/Select";
|
|
24
|
+
export { default as AsyncSelect } from "./components/Forms/AsyncSelect";
|
|
25
|
+
export type { AsyncSelectProps } from "./components/Forms/AsyncSelect";
|
|
24
26
|
export { default as Switch } from "./components/Forms/Switch";
|
|
25
27
|
export type { SwitchProps } from "./components/Forms/Switch";
|
|
26
28
|
export { default as TextArea } from "./components/Forms/TextArea";
|
|
@@ -35,6 +37,14 @@ export { default as ToggleInlineButton } from "./components/Forms/ToggleInlineBu
|
|
|
35
37
|
export type { ToggleInlineButtonProps } from "./components/Forms/ToggleInlineButton";
|
|
36
38
|
export { default as UploadFilesPreview } from "./components/Forms/UploadFilesPreview";
|
|
37
39
|
export type { UploadFilesPreviewCopy, UploadFilesPreviewProps, UploadPreviewItem, } from "./components/Forms/UploadFilesPreview";
|
|
40
|
+
export { default as FileDropzone } from "./components/Forms/FileDropzone";
|
|
41
|
+
export type { FileDropzoneProps, FileDropzoneRejectedFile, FileDropzoneRejectCode, } from "./components/Forms/FileDropzone";
|
|
42
|
+
export { default as FormActionsBar } from "./components/Forms/FormActionsBar";
|
|
43
|
+
export type { FormActionsBarProps } from "./components/Forms/FormActionsBar";
|
|
44
|
+
export { default as DirtyFormGuard } from "./components/Forms/DirtyFormGuard";
|
|
45
|
+
export type { DirtyFormGuardProps } from "./components/Forms/DirtyFormGuard";
|
|
46
|
+
export { default as useDirtyFormGuard } from "./components/Forms/useDirtyFormGuard";
|
|
47
|
+
export type { UseDirtyFormGuardOptions, UseDirtyFormGuardResult, } from "./components/Forms/useDirtyFormGuard";
|
|
38
48
|
export type { ControllerProps } from "./components/Forms/types";
|
|
39
49
|
export { default as TableToolbar } from "./components/table-toolbar";
|
|
40
50
|
export type { TableToolbarProps } from "./components/table-toolbar";
|
|
@@ -60,6 +70,12 @@ export { Pagination, PaginationInfo, PageSizeSelector } from "./components/ui/Pa
|
|
|
60
70
|
export type { PaginationProps, PaginationInfoProps, PageSizeSelectorProps } from "./components/ui/Pagination";
|
|
61
71
|
export { default as RichTextPreview } from "./components/ui/RichTextPreview";
|
|
62
72
|
export type { RichTextPreviewProps } from "./components/ui/RichTextPreview";
|
|
73
|
+
export { default as StatusBadge } from "./components/ui/StatusBadge";
|
|
74
|
+
export type { StatusBadgeProps, StatusBadgeSize, StatusBadgeTone } from "./components/ui/StatusBadge";
|
|
75
|
+
export { default as DataState } from "./components/ui/DataState";
|
|
76
|
+
export type { DataStateProps, DataStateStatus } from "./components/ui/DataState";
|
|
77
|
+
export { default as ConfirmDialog } from "./components/ui/ConfirmDialog";
|
|
78
|
+
export type { ConfirmDialogProps, ConfirmDialogSeverity } from "./components/ui/ConfirmDialog";
|
|
63
79
|
export { default as MapPicker } from "./components/Maps/MapPicker";
|
|
64
80
|
export type { MapPickerProps } from "./components/Maps/MapPicker";
|
|
65
81
|
export { default as MapPickerClient } from "./components/Maps/MapPickerClient";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export { default as MultiSelect } from "./components/Forms/MultiSelect";
|
|
|
10
10
|
export { default as NumberInput } from "./components/Forms/NumberInput";
|
|
11
11
|
export { default as RenderField } from "./components/Forms/RenderField";
|
|
12
12
|
export { default as Select } from "./components/Forms/Select";
|
|
13
|
+
export { default as AsyncSelect } from "./components/Forms/AsyncSelect";
|
|
13
14
|
export { default as Switch } from "./components/Forms/Switch";
|
|
14
15
|
export { default as TextArea } from "./components/Forms/TextArea";
|
|
15
16
|
export { default as TextInput } from "./components/Forms/TextInput";
|
|
@@ -17,6 +18,10 @@ export { default as TimePicker } from "./components/Forms/TimePicker";
|
|
|
17
18
|
export { default as Toggle } from "./components/Forms/Toggle";
|
|
18
19
|
export { default as ToggleInlineButton } from "./components/Forms/ToggleInlineButton";
|
|
19
20
|
export { default as UploadFilesPreview } from "./components/Forms/UploadFilesPreview";
|
|
21
|
+
export { default as FileDropzone } from "./components/Forms/FileDropzone";
|
|
22
|
+
export { default as FormActionsBar } from "./components/Forms/FormActionsBar";
|
|
23
|
+
export { default as DirtyFormGuard } from "./components/Forms/DirtyFormGuard";
|
|
24
|
+
export { default as useDirtyFormGuard } from "./components/Forms/useDirtyFormGuard";
|
|
20
25
|
export { default as TableToolbar } from "./components/table-toolbar";
|
|
21
26
|
export { default as TableFilterField } from "./components/table-filter-field";
|
|
22
27
|
export { default as ActionColumn } from "./components/Tables/ActionColumn";
|
|
@@ -33,6 +38,9 @@ export { AdminPageLayoutProvider, useAdminPageLayout } from "./components/pages/
|
|
|
33
38
|
export { default as AdminPageLayoutShell } from "./components/pages/admin-layout/AdminPageLayoutShell";
|
|
34
39
|
export { Pagination, PaginationInfo, PageSizeSelector } from "./components/ui/Pagination";
|
|
35
40
|
export { default as RichTextPreview } from "./components/ui/RichTextPreview";
|
|
41
|
+
export { default as StatusBadge } from "./components/ui/StatusBadge";
|
|
42
|
+
export { default as DataState } from "./components/ui/DataState";
|
|
43
|
+
export { default as ConfirmDialog } from "./components/ui/ConfirmDialog";
|
|
36
44
|
export { default as MapPicker } from "./components/Maps/MapPicker";
|
|
37
45
|
export { default as MapPickerClient } from "./components/Maps/MapPickerClient";
|
|
38
46
|
export { default as MapPickerOSM } from "./components/Maps/MapPickerOSM";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAGtF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# @mantis-core/ui Docs
|
|
2
|
+
|
|
3
|
+
This folder contains focused documentation files intended for direct human lookup and efficient LLM retrieval.
|
|
4
|
+
|
|
5
|
+
## Contracts
|
|
6
|
+
|
|
7
|
+
- [Controller props](./contracts/controller-props.md)
|
|
8
|
+
- [Underlying library map](./contracts/dependency-map.md)
|
|
9
|
+
- [Style import guide](./contracts/style-imports.md)
|
|
10
|
+
|
|
11
|
+
## Components
|
|
12
|
+
|
|
13
|
+
### Buttons and loaders
|
|
14
|
+
|
|
15
|
+
- [Button](./components/button.md)
|
|
16
|
+
- [Loading](./components/loading.md)
|
|
17
|
+
|
|
18
|
+
### Forms
|
|
19
|
+
|
|
20
|
+
- [TextInput](./components/text-input.md)
|
|
21
|
+
- [TextArea](./components/text-area.md)
|
|
22
|
+
- [NumberInput](./components/number-input.md)
|
|
23
|
+
- [DateInput](./components/date-input.md)
|
|
24
|
+
- [DropDown](./components/drop-down.md)
|
|
25
|
+
- [MultiSelect](./components/multi-select.md)
|
|
26
|
+
- [Select](./components/select.md)
|
|
27
|
+
- [AsyncSelect](./components/async-select.md)
|
|
28
|
+
- [CKEditorInput](./components/ckeditor-input.md)
|
|
29
|
+
- [TimePicker](./components/time-picker.md)
|
|
30
|
+
- [Switch](./components/switch.md)
|
|
31
|
+
- [Toggle](./components/toggle.md)
|
|
32
|
+
- [ToggleInlineButton](./components/toggle-inline-button.md)
|
|
33
|
+
- [FileDropzone](./components/file-dropzone.md)
|
|
34
|
+
- [UploadFilesPreview](./components/upload-files-preview.md)
|
|
35
|
+
- [FormActionsBar](./components/form-actions-bar.md)
|
|
36
|
+
- [FormFieldRender](./components/form-field-render.md)
|
|
37
|
+
- [RenderField](./components/render-field.md)
|
|
38
|
+
- [ErrorMessage](./components/error-message.md)
|
|
39
|
+
- [HiddenField](./components/hidden-field.md)
|
|
40
|
+
- [DirtyFormGuard and useDirtyFormGuard](./components/dirty-form-guard.md)
|
|
41
|
+
|
|
42
|
+
### Tables
|
|
43
|
+
|
|
44
|
+
- [TableToolbar](./components/table-toolbar.md)
|
|
45
|
+
- [TableFilterField](./components/table-filter-field.md)
|
|
46
|
+
- [PaginatedTable](./components/paginated-table.md)
|
|
47
|
+
- [ActionColumn](./components/action-column.md)
|
|
48
|
+
- [MenuButton](./components/menu-button.md)
|
|
49
|
+
- [FilterPannel](./components/filter-pannel.md)
|
|
50
|
+
- [MultiSelectFilter](./components/multi-select-filter.md)
|
|
51
|
+
- [IndexColumn](./components/index-column.md)
|
|
52
|
+
|
|
53
|
+
### Page and layout
|
|
54
|
+
|
|
55
|
+
- [PageTitle](./components/page-title.md)
|
|
56
|
+
- [FormSection](./components/form-section.md)
|
|
57
|
+
- [AdminPageHeader](./components/admin-page-header.md)
|
|
58
|
+
- [Admin page layout](./components/admin-page-layout.md)
|
|
59
|
+
|
|
60
|
+
### Generic UI
|
|
61
|
+
|
|
62
|
+
- [Pagination, PaginationInfo, PageSizeSelector](./components/pagination.md)
|
|
63
|
+
- [RichTextPreview](./components/rich-text-preview.md)
|
|
64
|
+
- [StatusBadge](./components/status-badge.md)
|
|
65
|
+
- [DataState](./components/data-state.md)
|
|
66
|
+
- [ConfirmDialog](./components/confirm-dialog.md)
|
|
67
|
+
|
|
68
|
+
### Maps
|
|
69
|
+
|
|
70
|
+
- [MapPicker](./components/map-picker.md)
|
|
71
|
+
- [MapPickerClient](./components/map-picker-client.md)
|
|
72
|
+
- [MapPickerOSM](./components/map-picker-osm.md)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# ActionColumn
|
|
2
|
+
|
|
3
|
+
- Export: `ActionColumn`
|
|
4
|
+
- Extra exports: `ActionColumnProps`
|
|
5
|
+
- Import: `import { ActionColumn } from "@mantis-core/ui";`
|
|
6
|
+
- Base library: `primereact/column`
|
|
7
|
+
- Base typing: `ColumnProps & { label?: string; icon?: string }`
|
|
8
|
+
- Required styles: usually `@mantis-core/styles/scss/table.scss` through table context
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
{ActionColumn(
|
|
14
|
+
(row) => [{ label: "Open", route: `/admin/items/${row.id}` }],
|
|
15
|
+
{ label: "Actions" },
|
|
16
|
+
)}
|
|
17
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# AdminPageHeader
|
|
2
|
+
|
|
3
|
+
- Export: `AdminPageHeader`
|
|
4
|
+
- Import: `import { AdminPageHeader } from "@mantis-core/ui";`
|
|
5
|
+
- Base library: custom header + `next/link`
|
|
6
|
+
- Base typing: `{ title: string; description?: string; actions?: ReactNode; breadcrumbs?: readonly AdminBreadcrumbItem[] }`
|
|
7
|
+
- Required styles: none
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
<AdminPageHeader
|
|
13
|
+
title="Clients"
|
|
14
|
+
description="Manage B2B accounts"
|
|
15
|
+
breadcrumbs={[
|
|
16
|
+
{ label: "Dashboard", href: "/admin" },
|
|
17
|
+
{ label: "Clients" },
|
|
18
|
+
]}
|
|
19
|
+
actions={<Button label="New client" icon="pi pi-plus" />}
|
|
20
|
+
/>
|
|
21
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Admin Page Layout
|
|
2
|
+
|
|
3
|
+
- Exports:
|
|
4
|
+
- `AdminPageLayoutProvider`
|
|
5
|
+
- `useAdminPageLayout`
|
|
6
|
+
- `AdminPageConfigurator`
|
|
7
|
+
- `AdminPageLayoutShell`
|
|
8
|
+
- `AdminBreadcrumbItem`
|
|
9
|
+
- `AdminPageLayoutConfig`
|
|
10
|
+
- Import: `import { AdminPageLayoutProvider, AdminPageConfigurator, AdminPageLayoutShell } from "@mantis-core/ui";`
|
|
11
|
+
- Base library: React context + custom shell
|
|
12
|
+
- Required styles: none
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```tsx
|
|
17
|
+
<AdminPageLayoutProvider>
|
|
18
|
+
<AdminPageLayoutShell>
|
|
19
|
+
<AdminPageConfigurator config={{ title: "Leads" }}>
|
|
20
|
+
<LeadsTable />
|
|
21
|
+
</AdminPageConfigurator>
|
|
22
|
+
</AdminPageLayoutShell>
|
|
23
|
+
</AdminPageLayoutProvider>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Notes
|
|
27
|
+
|
|
28
|
+
- `useAdminPageLayout` must run inside `AdminPageLayoutProvider`.
|
|
29
|
+
- `AdminPageLayoutShell` renders `AdminPageHeader` when `config.title` exists and `hideHeader` is not set.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# AsyncSelect
|
|
2
|
+
|
|
3
|
+
- Export: `AsyncSelect`
|
|
4
|
+
- Extra exports: `AsyncSelectProps`
|
|
5
|
+
- Import: `import { AsyncSelect } from "@mantis-core/ui";`
|
|
6
|
+
- Base library: `react-select/async` or `react-select/async-creatable`
|
|
7
|
+
- Base typing: `Omit<ReactSelectProps<SelectOption>, "name" | "defaultValue" | "options"> & { controller: ControllerProps; block?: boolean; variant?: ButtonVariant; isCreatable?: boolean; loadOptions; defaultOptions?; cacheOptions?; debounceMs?; onCreateOption?; formatCreateLabel? }`
|
|
8
|
+
- Form contract: [`ControllerProps`](../contracts/controller-props.md)
|
|
9
|
+
- Required styles: `@mantis-core/styles/scss/select.scss`
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<AsyncSelect
|
|
15
|
+
controller={{ name: "city", control: form.control }}
|
|
16
|
+
block
|
|
17
|
+
loadOptions={async (input) => searchCities(input)}
|
|
18
|
+
defaultOptions
|
|
19
|
+
debounceMs={300}
|
|
20
|
+
/>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Notes
|
|
24
|
+
|
|
25
|
+
- `loadOptions` is required.
|
|
26
|
+
- Debouncing is implemented inside the wrapper.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Button
|
|
2
|
+
|
|
3
|
+
- Export: `Button`
|
|
4
|
+
- Import: `import { Button } from "@mantis-core/ui";`
|
|
5
|
+
- Base library: `primereact/button`
|
|
6
|
+
- Base typing: `Omit<PrimeButtonProps, "onClick" | "ref">` plus `href`, `variant`, `block`, `sm`, `lg`, `outlined`, `text`, `rounded`
|
|
7
|
+
- Required styles: `@mantis-core/styles/scss/buttons.scss`
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
<Button
|
|
13
|
+
label="Save"
|
|
14
|
+
icon="pi pi-check"
|
|
15
|
+
variant="primary"
|
|
16
|
+
rounded
|
|
17
|
+
onClick={() => console.log("saved")}
|
|
18
|
+
/>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Notes
|
|
22
|
+
|
|
23
|
+
- PrimeReact props still pass through.
|
|
24
|
+
- `href` triggers client navigation with `next/navigation`.
|
|
25
|
+
- `ButtonVariant` accepts `danger`, but the tokenized SCSS loop is defined around `error`.
|