@w-iris/react 0.1.1

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.
Files changed (102) hide show
  1. package/dist/admin/AdminAuth.d.ts +70 -0
  2. package/dist/admin/AdminAuth.d.ts.map +1 -0
  3. package/dist/admin/AdminAuth.js +105 -0
  4. package/dist/admin/AdminAuth.js.map +1 -0
  5. package/dist/admin/AdminNavigation.d.ts +27 -0
  6. package/dist/admin/AdminNavigation.d.ts.map +1 -0
  7. package/dist/admin/AdminNavigation.js +31 -0
  8. package/dist/admin/AdminNavigation.js.map +1 -0
  9. package/dist/admin/AdminUser.d.ts +40 -0
  10. package/dist/admin/AdminUser.d.ts.map +1 -0
  11. package/dist/admin/AdminUser.js +41 -0
  12. package/dist/admin/AdminUser.js.map +1 -0
  13. package/dist/admin/index.d.ts +4 -0
  14. package/dist/admin/index.d.ts.map +1 -0
  15. package/dist/admin/index.js +20 -0
  16. package/dist/admin/index.js.map +1 -0
  17. package/dist/feedback/EmptyState.d.ts +11 -0
  18. package/dist/feedback/EmptyState.d.ts.map +1 -0
  19. package/dist/feedback/EmptyState.js +10 -0
  20. package/dist/feedback/EmptyState.js.map +1 -0
  21. package/dist/forms/Select.d.ts +18 -0
  22. package/dist/forms/Select.d.ts.map +1 -0
  23. package/dist/forms/Select.js +12 -0
  24. package/dist/forms/Select.js.map +1 -0
  25. package/dist/forms/TextInput.d.ts +12 -0
  26. package/dist/forms/TextInput.d.ts.map +1 -0
  27. package/dist/forms/TextInput.js +13 -0
  28. package/dist/forms/TextInput.js.map +1 -0
  29. package/dist/forms/Textarea.d.ts +12 -0
  30. package/dist/forms/Textarea.d.ts.map +1 -0
  31. package/dist/forms/Textarea.js +13 -0
  32. package/dist/forms/Textarea.js.map +1 -0
  33. package/dist/foundation/Avatar.d.ts +8 -0
  34. package/dist/foundation/Avatar.d.ts.map +1 -0
  35. package/dist/foundation/Avatar.js +15 -0
  36. package/dist/foundation/Avatar.js.map +1 -0
  37. package/dist/foundation/Badge.d.ts +8 -0
  38. package/dist/foundation/Badge.d.ts.map +1 -0
  39. package/dist/foundation/Badge.js +9 -0
  40. package/dist/foundation/Badge.js.map +1 -0
  41. package/dist/foundation/Button.d.ts +18 -0
  42. package/dist/foundation/Button.d.ts.map +1 -0
  43. package/dist/foundation/Button.js +11 -0
  44. package/dist/foundation/Button.js.map +1 -0
  45. package/dist/foundation/Card.d.ts +4 -0
  46. package/dist/foundation/Card.d.ts.map +1 -0
  47. package/dist/foundation/Card.js +9 -0
  48. package/dist/foundation/Card.js.map +1 -0
  49. package/dist/foundation/IconButton.d.ts +15 -0
  50. package/dist/foundation/IconButton.d.ts.map +1 -0
  51. package/dist/foundation/IconButton.js +11 -0
  52. package/dist/foundation/IconButton.js.map +1 -0
  53. package/dist/foundation/Spinner.d.ts +7 -0
  54. package/dist/foundation/Spinner.d.ts.map +1 -0
  55. package/dist/foundation/Spinner.js +9 -0
  56. package/dist/foundation/Spinner.js.map +1 -0
  57. package/dist/index.d.ts +21 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +37 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/layout/AppShell.d.ts +8 -0
  62. package/dist/layout/AppShell.d.ts.map +1 -0
  63. package/dist/layout/AppShell.js +8 -0
  64. package/dist/layout/AppShell.js.map +1 -0
  65. package/dist/layout/PageHeader.d.ts +9 -0
  66. package/dist/layout/PageHeader.d.ts.map +1 -0
  67. package/dist/layout/PageHeader.js +8 -0
  68. package/dist/layout/PageHeader.js.map +1 -0
  69. package/dist/layout/Sidebar.d.ts +14 -0
  70. package/dist/layout/Sidebar.d.ts.map +1 -0
  71. package/dist/layout/Sidebar.js +13 -0
  72. package/dist/layout/Sidebar.js.map +1 -0
  73. package/dist/layout/Topbar.d.ts +8 -0
  74. package/dist/layout/Topbar.d.ts.map +1 -0
  75. package/dist/layout/Topbar.js +8 -0
  76. package/dist/layout/Topbar.js.map +1 -0
  77. package/dist/overlay/ConfirmDialog.d.ts +12 -0
  78. package/dist/overlay/ConfirmDialog.d.ts.map +1 -0
  79. package/dist/overlay/ConfirmDialog.js +11 -0
  80. package/dist/overlay/ConfirmDialog.js.map +1 -0
  81. package/dist/overlay/Dialog.d.ts +10 -0
  82. package/dist/overlay/Dialog.d.ts.map +1 -0
  83. package/dist/overlay/Dialog.js +12 -0
  84. package/dist/overlay/Dialog.js.map +1 -0
  85. package/dist/presets/mixiAdmin.d.ts +30 -0
  86. package/dist/presets/mixiAdmin.d.ts.map +1 -0
  87. package/dist/presets/mixiAdmin.js +117 -0
  88. package/dist/presets/mixiAdmin.js.map +1 -0
  89. package/dist/prime/PrimeComponents.d.ts +195 -0
  90. package/dist/prime/PrimeComponents.d.ts.map +1 -0
  91. package/dist/prime/PrimeComponents.js +199 -0
  92. package/dist/prime/PrimeComponents.js.map +1 -0
  93. package/dist/prime/PrimeProvider.d.ts +7 -0
  94. package/dist/prime/PrimeProvider.d.ts.map +1 -0
  95. package/dist/prime/PrimeProvider.js +10 -0
  96. package/dist/prime/PrimeProvider.js.map +1 -0
  97. package/dist/utils.d.ts +2 -0
  98. package/dist/utils.d.ts.map +1 -0
  99. package/dist/utils.js +7 -0
  100. package/dist/utils.js.map +1 -0
  101. package/package.json +32 -0
  102. package/styles.css +1953 -0
@@ -0,0 +1,70 @@
1
+ import { type ReactNode } from "react";
2
+ export type AdminAuthCardProps = {
3
+ title: string;
4
+ subtitle?: string;
5
+ icon?: string;
6
+ logo?: ReactNode;
7
+ showLogo?: boolean;
8
+ children: ReactNode;
9
+ };
10
+ export declare function AdminAuthCard({ title, subtitle, icon, logo, showLogo, children }: AdminAuthCardProps): import("react").JSX.Element;
11
+ export declare function AdminLoginForm({ loading, error, forgotPasswordHref, registerHref, rememberStorageKey, teamName, onSubmit, }: {
12
+ loading?: boolean;
13
+ error?: string | null;
14
+ forgotPasswordHref?: string;
15
+ registerHref?: string;
16
+ rememberStorageKey?: string;
17
+ teamName?: string | null;
18
+ onSubmit: (payload: {
19
+ email: string;
20
+ password: string;
21
+ remember: boolean;
22
+ mfaCode?: string;
23
+ }) => Promise<{
24
+ requiresMfa?: boolean;
25
+ } | void> | {
26
+ requiresMfa?: boolean;
27
+ } | void;
28
+ }): import("react").JSX.Element;
29
+ export declare function AdminForgotPasswordForm({ loading, message, loginHref, teamName, onSubmit, }: {
30
+ loading?: boolean;
31
+ message?: {
32
+ severity: "success" | "error";
33
+ text: string;
34
+ } | null;
35
+ loginHref?: string;
36
+ teamName?: string | null;
37
+ onSubmit: (payload: {
38
+ email: string;
39
+ }) => void | Promise<void>;
40
+ }): import("react").JSX.Element;
41
+ export declare function AdminResetPasswordForm({ loading, message, loginHref, teamName, onSubmit, }: {
42
+ loading?: boolean;
43
+ message?: {
44
+ severity: "success" | "error" | "warn" | "info";
45
+ text: string;
46
+ } | null;
47
+ loginHref?: string;
48
+ teamName?: string | null;
49
+ onSubmit: (payload: {
50
+ token: string;
51
+ newPassword: string;
52
+ }) => void | Promise<void>;
53
+ }): import("react").JSX.Element;
54
+ export declare function AdminLogoutView({ text, teamName }: {
55
+ text?: string;
56
+ teamName?: string | null;
57
+ }): import("react").JSX.Element;
58
+ export declare function AdminChangePasswordForm({ loading, mustChangePassword, message, onSubmit, }: {
59
+ loading?: boolean;
60
+ mustChangePassword?: boolean;
61
+ message?: {
62
+ severity: "success" | "error" | "warn" | "info";
63
+ text: string;
64
+ } | null;
65
+ onSubmit: (payload: {
66
+ currentPassword: string;
67
+ newPassword: string;
68
+ }) => void | Promise<void>;
69
+ }): import("react").JSX.Element;
70
+ //# sourceMappingURL=AdminAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminAuth.d.ts","sourceRoot":"","sources":["../../src/admin/AdminAuth.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AdminAuthCard = AdminAuthCard;
5
+ exports.AdminLoginForm = AdminLoginForm;
6
+ exports.AdminForgotPasswordForm = AdminForgotPasswordForm;
7
+ exports.AdminResetPasswordForm = AdminResetPasswordForm;
8
+ exports.AdminLogoutView = AdminLogoutView;
9
+ exports.AdminChangePasswordForm = AdminChangePasswordForm;
10
+ const jsx_runtime_1 = require("react/jsx-runtime");
11
+ const react_1 = require("react");
12
+ const checkbox_1 = require("primereact/checkbox");
13
+ const inputtext_1 = require("primereact/inputtext");
14
+ const message_1 = require("primereact/message");
15
+ const password_1 = require("primereact/password");
16
+ const Button_1 = require("../foundation/Button");
17
+ const Spinner_1 = require("../foundation/Spinner");
18
+ function AdminAuthCard({ title, subtitle, icon = "wi-sakai-mark", logo, showLogo = false, children }) {
19
+ return ((0, jsx_runtime_1.jsx)("main", { className: "wi-admin-auth-page", children: (0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-auth-stack", children: [showLogo ? (logo ? (0, jsx_runtime_1.jsx)("div", { className: "wi-admin-auth-logo", children: logo }) : (0, jsx_runtime_1.jsx)("div", { className: "wi-admin-auth-logo-mark", children: "M" })) : null, (0, jsx_runtime_1.jsx)("section", { className: "wi-admin-auth-card", children: (0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-auth-card__inner", children: [(0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-auth-card__heading", children: [(0, jsx_runtime_1.jsx)("div", { className: "wi-admin-auth-card__icon", children: icon === "wi-sakai-mark" ? (0, jsx_runtime_1.jsx)("span", { className: "wi-sakai-mark", "aria-hidden": "true" }) : (0, jsx_runtime_1.jsx)("i", { className: icon }) }), (0, jsx_runtime_1.jsx)("h1", { children: title }), subtitle ? (0, jsx_runtime_1.jsx)("p", { children: subtitle }) : null] }), children] }) })] }) }));
20
+ }
21
+ function AdminLoginForm({ loading, error, forgotPasswordHref = "/auth/forgot-password", registerHref, rememberStorageKey, teamName, onSubmit, }) {
22
+ const [email, setEmail] = (0, react_1.useState)("");
23
+ const [password, setPassword] = (0, react_1.useState)("");
24
+ const [remember, setRemember] = (0, react_1.useState)(false);
25
+ const [mfaCode, setMfaCode] = (0, react_1.useState)("");
26
+ const [mfaStep, setMfaStep] = (0, react_1.useState)(false);
27
+ const [localError, setLocalError] = (0, react_1.useState)(null);
28
+ (0, react_1.useEffect)(() => {
29
+ if (!rememberStorageKey || typeof window === "undefined")
30
+ return;
31
+ const raw = window.localStorage.getItem(rememberStorageKey);
32
+ if (!raw)
33
+ return;
34
+ try {
35
+ const value = JSON.parse(raw);
36
+ setEmail(value.email ?? "");
37
+ setPassword(value.password ?? "");
38
+ setRemember(Boolean(value.email || value.password));
39
+ }
40
+ catch {
41
+ window.localStorage.removeItem(rememberStorageKey);
42
+ }
43
+ }, [rememberStorageKey]);
44
+ async function submit(event) {
45
+ event.preventDefault();
46
+ setLocalError(null);
47
+ try {
48
+ const result = await onSubmit({ email: email.trim(), password, remember, mfaCode: mfaStep ? mfaCode : undefined });
49
+ if (result?.requiresMfa) {
50
+ setMfaStep(true);
51
+ setMfaCode("");
52
+ return;
53
+ }
54
+ if (rememberStorageKey && typeof window !== "undefined") {
55
+ if (remember)
56
+ window.localStorage.setItem(rememberStorageKey, JSON.stringify({ email: email.trim(), password }));
57
+ else
58
+ window.localStorage.removeItem(rememberStorageKey);
59
+ }
60
+ }
61
+ catch (caughtError) {
62
+ setLocalError(caughtError instanceof Error ? caughtError.message : "Unable to sign in.");
63
+ }
64
+ }
65
+ return ((0, jsx_runtime_1.jsx)(AdminAuthCard, { title: mfaStep ? "Security verification" : `Welcome to ${teamName ?? "Mixi Team"}!`, subtitle: "Sign in to continue", icon: mfaStep ? "pi pi-shield" : "wi-sakai-mark", children: (0, jsx_runtime_1.jsxs)("form", { className: "wi-admin-auth-form", onSubmit: (event) => void submit(event), children: [error || localError ? (0, jsx_runtime_1.jsx)(message_1.Message, { severity: "error", text: error ?? localError ?? "" }) : null, !mfaStep ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("label", { children: "Email" }), (0, jsx_runtime_1.jsx)(inputtext_1.InputText, { type: "email", value: email, onChange: (event) => setEmail(event.target.value), placeholder: "Email address", required: true }), (0, jsx_runtime_1.jsx)("label", { children: "Password" }), (0, jsx_runtime_1.jsx)(password_1.Password, { value: password, onChange: (event) => setPassword(event.target.value), placeholder: "Password", toggleMask: true, feedback: false, inputClassName: "w-full", required: true }), (0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-auth-form__row", children: [(0, jsx_runtime_1.jsxs)("label", { className: "wi-admin-auth-check", children: [(0, jsx_runtime_1.jsx)(checkbox_1.Checkbox, { checked: remember, onChange: (event) => setRemember(Boolean(event.checked)) }), " Remember me"] }), (0, jsx_runtime_1.jsx)("a", { href: forgotPasswordHref, children: "Forgot password?" })] })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(message_1.Message, { severity: "info", text: `Enter the 6-digit MFA code for ${email.trim()}.` }), (0, jsx_runtime_1.jsx)("label", { children: "Authentication code" }), (0, jsx_runtime_1.jsx)(inputtext_1.InputText, { inputMode: "numeric", autoComplete: "one-time-code", value: mfaCode, onChange: (event) => setMfaCode(event.target.value.replace(/\D/g, "").slice(0, 6)), placeholder: "123456", className: "wi-admin-auth-form__mfa", required: true }), (0, jsx_runtime_1.jsxs)("button", { type: "button", className: "wi-admin-link-button", onClick: () => { setMfaStep(false); setMfaCode(""); setLocalError(null); }, children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-arrow-left" }), " Use another account"] })] })), (0, jsx_runtime_1.jsx)(Button_1.Button, { type: "submit", loading: loading, disabled: loading || (mfaStep && mfaCode.length !== 6), leftIcon: !loading && mfaStep ? (0, jsx_runtime_1.jsx)("i", { className: "pi pi-shield" }) : undefined, children: mfaStep ? "Verify code" : "Sign In" }), !mfaStep && registerHref ? (0, jsx_runtime_1.jsxs)("p", { className: "wi-admin-auth-form__footer", children: ["Need an account? ", (0, jsx_runtime_1.jsx)("a", { href: registerHref, children: "Create account" })] }) : null] }) }));
66
+ }
67
+ function AdminForgotPasswordForm({ loading, message, loginHref = "/auth/login", teamName, onSubmit, }) {
68
+ const [email, setEmail] = (0, react_1.useState)("");
69
+ return ((0, jsx_runtime_1.jsx)(AdminAuthCard, { title: `Reset access for ${teamName ?? "Mixi Team"}`, subtitle: "Enter your email to receive reset instructions", icon: "wi-sakai-mark", children: (0, jsx_runtime_1.jsxs)("form", { className: "wi-admin-auth-form", onSubmit: (event) => { event.preventDefault(); void onSubmit({ email: email.trim() }); }, children: [message ? (0, jsx_runtime_1.jsx)(message_1.Message, { severity: message.severity, text: message.text }) : null, (0, jsx_runtime_1.jsx)("label", { children: "Email" }), (0, jsx_runtime_1.jsx)(inputtext_1.InputText, { type: "email", value: email, onChange: (event) => setEmail(event.target.value), placeholder: "Email address", required: true }), (0, jsx_runtime_1.jsx)(Button_1.Button, { type: "submit", loading: loading, children: "Send Reset Email" }), (0, jsx_runtime_1.jsxs)("p", { className: "wi-admin-auth-form__footer", children: ["Remembered your password? ", (0, jsx_runtime_1.jsx)("a", { href: loginHref, children: "Sign in" })] })] }) }));
70
+ }
71
+ function AdminResetPasswordForm({ loading, message, loginHref = "/auth/login", teamName, onSubmit, }) {
72
+ const [token, setToken] = (0, react_1.useState)("");
73
+ const [passwords, setPasswords] = (0, react_1.useState)({ newPassword: "", confirmPassword: "" });
74
+ const [error, setError] = (0, react_1.useState)(null);
75
+ function submit(event) {
76
+ event.preventDefault();
77
+ setError(null);
78
+ if (!token.trim())
79
+ return setError("Reset token is required.");
80
+ if (passwords.newPassword.length < 8)
81
+ return setError("New password must be at least 8 characters.");
82
+ if (passwords.newPassword !== passwords.confirmPassword)
83
+ return setError("Password confirmation does not match.");
84
+ void onSubmit({ token: token.trim(), newPassword: passwords.newPassword });
85
+ }
86
+ return ((0, jsx_runtime_1.jsx)(AdminAuthCard, { title: `Create a new ${teamName ?? "Mixi Team"} password`, subtitle: "Set a password and return to sign in", icon: "wi-sakai-mark", children: (0, jsx_runtime_1.jsxs)("form", { className: "wi-admin-auth-form", onSubmit: submit, children: [message ? (0, jsx_runtime_1.jsx)(message_1.Message, { severity: message.severity, text: message.text }) : null, error ? (0, jsx_runtime_1.jsx)(message_1.Message, { severity: "error", text: error }) : null, (0, jsx_runtime_1.jsx)("label", { children: "Reset token" }), (0, jsx_runtime_1.jsx)(inputtext_1.InputText, { value: token, onChange: (event) => setToken(event.target.value), placeholder: "Paste reset token", required: true }), (0, jsx_runtime_1.jsx)("label", { children: "New password" }), (0, jsx_runtime_1.jsx)(password_1.Password, { value: passwords.newPassword, onChange: (event) => setPasswords({ ...passwords, newPassword: event.target.value }), placeholder: "New password", toggleMask: true, inputClassName: "w-full", required: true }), (0, jsx_runtime_1.jsx)("label", { children: "Confirm new password" }), (0, jsx_runtime_1.jsx)(password_1.Password, { value: passwords.confirmPassword, onChange: (event) => setPasswords({ ...passwords, confirmPassword: event.target.value }), placeholder: "Confirm new password", feedback: false, toggleMask: true, inputClassName: "w-full", required: true }), (0, jsx_runtime_1.jsx)(Button_1.Button, { type: "submit", loading: loading, children: "Reset password" }), (0, jsx_runtime_1.jsxs)("p", { className: "wi-admin-auth-form__footer", children: ["Already updated? ", (0, jsx_runtime_1.jsx)("a", { href: loginHref, children: "Sign in" })] })] }) }));
87
+ }
88
+ function AdminLogoutView({ text = "Signing out...", teamName }) {
89
+ return ((0, jsx_runtime_1.jsx)(AdminAuthCard, { title: `Leaving ${teamName ?? "Mixi Team"}`, subtitle: "Your session is being closed", icon: "wi-sakai-mark", children: (0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-logout-view", children: [(0, jsx_runtime_1.jsx)(Spinner_1.Spinner, { size: "lg" }), (0, jsx_runtime_1.jsx)("span", { children: text })] }) }));
90
+ }
91
+ function AdminChangePasswordForm({ loading, mustChangePassword, message, onSubmit, }) {
92
+ const [passwords, setPasswords] = (0, react_1.useState)({ currentPassword: "", newPassword: "", confirmPassword: "" });
93
+ const [error, setError] = (0, react_1.useState)(null);
94
+ function submit(event) {
95
+ event.preventDefault();
96
+ setError(null);
97
+ if (passwords.newPassword.length < 8)
98
+ return setError("New password must be at least 8 characters.");
99
+ if (passwords.newPassword !== passwords.confirmPassword)
100
+ return setError("Password confirmation does not match.");
101
+ void onSubmit({ currentPassword: passwords.currentPassword, newPassword: passwords.newPassword });
102
+ }
103
+ return ((0, jsx_runtime_1.jsxs)("form", { className: "wi-admin-security-card", onSubmit: submit, children: [(0, jsx_runtime_1.jsx)("h2", { children: "Password" }), mustChangePassword ? (0, jsx_runtime_1.jsx)(message_1.Message, { severity: "warn", text: "This account must change its temporary password." }) : null, message ? (0, jsx_runtime_1.jsx)(message_1.Message, { severity: message.severity, text: message.text }) : null, error ? (0, jsx_runtime_1.jsx)(message_1.Message, { severity: "error", text: error }) : null, (0, jsx_runtime_1.jsx)("label", { children: "Current password" }), (0, jsx_runtime_1.jsx)(password_1.Password, { value: passwords.currentPassword, onChange: (event) => setPasswords({ ...passwords, currentPassword: event.target.value }), feedback: false, toggleMask: true, inputClassName: "w-full" }), (0, jsx_runtime_1.jsx)("label", { children: "New password" }), (0, jsx_runtime_1.jsx)(password_1.Password, { value: passwords.newPassword, onChange: (event) => setPasswords({ ...passwords, newPassword: event.target.value }), toggleMask: true, inputClassName: "w-full" }), (0, jsx_runtime_1.jsx)("label", { children: "Confirm new password" }), (0, jsx_runtime_1.jsx)(inputtext_1.InputText, { type: "password", value: passwords.confirmPassword, onChange: (event) => setPasswords({ ...passwords, confirmPassword: event.target.value }) }), (0, jsx_runtime_1.jsx)(Button_1.Button, { type: "submit", loading: loading, leftIcon: !loading ? (0, jsx_runtime_1.jsx)("i", { className: "pi pi-key" }) : undefined, children: "Update password" })] }));
104
+ }
105
+ //# sourceMappingURL=AdminAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminAuth.js","sourceRoot":"","sources":["../../src/admin/AdminAuth.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type ReactNode } from "react";
2
+ import { type AdminUser, type AdminUserMenuItem } from "./AdminUser";
3
+ import { MixiAdminMenuItem } from "../presets/mixiAdmin";
4
+ export type AdminHeaderProps = {
5
+ brand?: ReactNode;
6
+ logo?: ReactNode;
7
+ homeHref?: string;
8
+ breadcrumbs?: Array<{
9
+ label: string;
10
+ href?: string;
11
+ }>;
12
+ actions?: ReactNode;
13
+ user?: AdminUser | null;
14
+ userMenuItems?: AdminUserMenuItem[];
15
+ onMenuToggle?: () => void;
16
+ onSettings?: () => void;
17
+ onLogout?: () => void;
18
+ };
19
+ export declare function AdminHeader({ brand, logo, homeHref, breadcrumbs, actions, user, userMenuItems, onMenuToggle, onSettings, onLogout, }: AdminHeaderProps): import("react").JSX.Element;
20
+ export type AdminLeftMenuProps = {
21
+ items?: MixiAdminMenuItem[];
22
+ activePath?: string;
23
+ title?: string;
24
+ onNavigate?: (href: string, item: MixiAdminMenuItem) => void;
25
+ };
26
+ export declare function AdminLeftMenu({ items, activePath, title, onNavigate }: AdminLeftMenuProps): import("react").JSX.Element;
27
+ //# sourceMappingURL=AdminNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminNavigation.d.ts","sourceRoot":"","sources":["../../src/admin/AdminNavigation.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAuB,MAAM,sBAAsB,CAAC;AAG9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,KAAoB,EACpB,IAAI,EACJ,QAAkB,EAClB,WAAgB,EAChB,OAAO,EACP,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,EAAE,gBAAgB,+BAgClB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC9D,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,KAAoC,EAAE,UAAe,EAAE,KAAc,EAAE,UAAU,EAAE,EAAE,kBAAkB,+BAWtI"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AdminHeader = AdminHeader;
5
+ exports.AdminLeftMenu = AdminLeftMenu;
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const AdminUser_1 = require("./AdminUser");
8
+ const mixiAdmin_1 = require("../presets/mixiAdmin");
9
+ const utils_1 = require("../utils");
10
+ function AdminHeader({ brand = "MIXI ADMIN", logo, homeHref = "/main", breadcrumbs = [], actions, user, userMenuItems, onMenuToggle, onSettings, onLogout, }) {
11
+ return ((0, jsx_runtime_1.jsxs)("header", { className: "wi-admin-header", children: [(0, jsx_runtime_1.jsx)("button", { type: "button", className: "wi-admin-header__icon", "aria-label": "Toggle menu", onClick: onMenuToggle, children: (0, jsx_runtime_1.jsx)("i", { className: "pi pi-bars" }) }), (0, jsx_runtime_1.jsxs)("a", { href: homeHref, className: "wi-admin-header__brand", children: [logo ?? (0, jsx_runtime_1.jsx)("span", { className: "wi-admin-header__mark", children: "M" }), (0, jsx_runtime_1.jsx)("span", { children: brand })] }), (0, jsx_runtime_1.jsxs)("nav", { className: "wi-admin-header__breadcrumb", "aria-label": "Breadcrumb", children: [(0, jsx_runtime_1.jsx)("a", { href: homeHref, children: "Home" }), breadcrumbs.map((item) => ((0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-chevron-right" }), item.href ? (0, jsx_runtime_1.jsx)("a", { href: item.href, children: item.label }) : (0, jsx_runtime_1.jsx)("strong", { children: item.label })] }, `${item.label}-${item.href ?? ""}`)))] }), (0, jsx_runtime_1.jsx)("div", { className: "wi-admin-header__spacer" }), (0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-header__actions", children: [actions, (0, jsx_runtime_1.jsx)("button", { type: "button", className: "wi-admin-header__icon", "aria-label": "Notifications", children: (0, jsx_runtime_1.jsx)("i", { className: "pi pi-bell" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: "wi-admin-header__icon", "aria-label": "Settings", onClick: onSettings, children: (0, jsx_runtime_1.jsx)("i", { className: "pi pi-cog" }) }), (0, jsx_runtime_1.jsx)(AdminUser_1.AdminUserMenu, { user: user, items: userMenuItems, onLogout: onLogout })] })] }));
12
+ }
13
+ function AdminLeftMenu({ items = (0, mixiAdmin_1.createMixiAdminMenu)("/main"), activePath = "", title = "Main", onNavigate }) {
14
+ return ((0, jsx_runtime_1.jsxs)("nav", { className: "wi-admin-left-menu", "aria-label": "Admin menu", children: [(0, jsx_runtime_1.jsx)("div", { className: "wi-admin-left-menu__title", children: title }), (0, jsx_runtime_1.jsx)("ul", { children: items.map((item) => ((0, jsx_runtime_1.jsx)(AdminLeftMenuItem, { item: item, activePath: activePath, onNavigate: onNavigate }, `${item.label}-${item.href ?? item.url ?? ""}`))) })] }));
15
+ }
16
+ function AdminLeftMenuItem({ item, activePath, onNavigate }) {
17
+ const active = isActive(item, activePath);
18
+ const href = item.href ?? item.url;
19
+ return ((0, jsx_runtime_1.jsxs)("li", { className: (0, utils_1.cx)(active && "is-active"), children: [(0, jsx_runtime_1.jsxs)("a", { href: href, target: item.target, onClick: (event) => {
20
+ if (item.href && onNavigate) {
21
+ event.preventDefault();
22
+ onNavigate(item.href, item);
23
+ }
24
+ }, children: [(0, jsx_runtime_1.jsx)("i", { className: item.icon ?? "pi pi-circle" }), (0, jsx_runtime_1.jsx)("span", { children: item.label }), item.items?.length ? (0, jsx_runtime_1.jsx)("i", { className: "pi pi-angle-down" }) : null] }), item.items?.length ? ((0, jsx_runtime_1.jsx)("ul", { children: item.items.map((child) => ((0, jsx_runtime_1.jsx)(AdminLeftMenuItem, { item: child, activePath: activePath, onNavigate: onNavigate }, `${child.label}-${child.href ?? child.url ?? ""}`))) })) : null] }));
25
+ }
26
+ function isActive(item, activePath) {
27
+ if (item.href && (activePath === item.href || activePath.startsWith(`${item.href}/`)))
28
+ return true;
29
+ return item.items?.some((child) => isActive(child, activePath)) ?? false;
30
+ }
31
+ //# sourceMappingURL=AdminNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminNavigation.js","sourceRoot":"","sources":["../../src/admin/AdminNavigation.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { type ReactNode } from "react";
2
+ export type AdminUser = {
3
+ name?: string;
4
+ email?: string;
5
+ role?: string;
6
+ department?: string;
7
+ avatarUrl?: string;
8
+ tenantName?: string;
9
+ };
10
+ export type AdminUserMenuItem = {
11
+ label: string;
12
+ icon?: string;
13
+ danger?: boolean;
14
+ badge?: ReactNode;
15
+ onSelect: () => void;
16
+ };
17
+ export type AdminUserInfoProps = {
18
+ user?: AdminUser | null;
19
+ showRole?: boolean;
20
+ showEmail?: boolean;
21
+ layout?: "horizontal" | "vertical";
22
+ className?: string;
23
+ };
24
+ export declare function AdminUserInfo({ user, showRole, showEmail, layout, className }: AdminUserInfoProps): import("react").JSX.Element;
25
+ export declare function AdminUserAvatar({ user, size, showStatus }: {
26
+ user?: AdminUser | null;
27
+ size?: "sm" | "md" | "lg";
28
+ showStatus?: boolean;
29
+ }): import("react").JSX.Element;
30
+ export declare function AdminUserMenu({ user, items, onLogout, }: {
31
+ user?: AdminUser | null;
32
+ items?: AdminUserMenuItem[];
33
+ onLogout?: () => void;
34
+ }): import("react").JSX.Element;
35
+ export declare function AdminProfileCard({ user, completion, actions, }: {
36
+ user?: AdminUser | null;
37
+ completion?: number;
38
+ actions?: ReactNode;
39
+ }): import("react").JSX.Element;
40
+ //# sourceMappingURL=AdminUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminUser.d.ts","sourceRoot":"","sources":["../../src/admin/AdminUser.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAO/C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,QAAe,EAAE,SAAiB,EAAE,MAAmB,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BAW7H;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,IAAW,EAAE,UAAiB,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,+BAOrJ;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,GACT,EAAE;IACD,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,+BAoDA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,UAAU,EACV,OAAO,GACR,EAAE;IACD,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,+BAwBA"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AdminUserInfo = AdminUserInfo;
5
+ exports.AdminUserAvatar = AdminUserAvatar;
6
+ exports.AdminUserMenu = AdminUserMenu;
7
+ exports.AdminProfileCard = AdminProfileCard;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const react_1 = require("react");
10
+ const badge_1 = require("primereact/badge");
11
+ const overlaypanel_1 = require("primereact/overlaypanel");
12
+ const Avatar_1 = require("../foundation/Avatar");
13
+ const Button_1 = require("../foundation/Button");
14
+ const utils_1 = require("../utils");
15
+ function AdminUserInfo({ user, showRole = true, showEmail = false, layout = "vertical", className }) {
16
+ const displayName = user?.name || user?.email || "User";
17
+ const role = user?.role || user?.department || "User";
18
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cx)("wi-admin-user-info", `wi-admin-user-info--${layout}`, className), children: [(0, jsx_runtime_1.jsx)("span", { className: "wi-admin-user-info__name", children: displayName }), showRole ? (0, jsx_runtime_1.jsx)("span", { className: "wi-admin-user-info__meta", children: role }) : null, showEmail && user?.email ? (0, jsx_runtime_1.jsx)("span", { className: "wi-admin-user-info__meta", children: user.email }) : null] }));
19
+ }
20
+ function AdminUserAvatar({ user, size = "md", showStatus = true }) {
21
+ return ((0, jsx_runtime_1.jsxs)("span", { className: "wi-admin-avatar-wrap", children: [(0, jsx_runtime_1.jsx)(Avatar_1.Avatar, { name: user?.name || user?.email || "User", src: user?.avatarUrl, size: size }), showStatus ? (0, jsx_runtime_1.jsx)("span", { className: "wi-admin-avatar-status" }) : null] }));
22
+ }
23
+ function AdminUserMenu({ user, items, onLogout, }) {
24
+ const menuRef = (0, react_1.useRef)(null);
25
+ const defaultItems = [
26
+ { label: "My Profile", icon: "pi pi-user", onSelect: () => undefined },
27
+ { label: "Settings", icon: "pi pi-cog", onSelect: () => undefined },
28
+ { label: "Security", icon: "pi pi-shield", badge: (0, jsx_runtime_1.jsx)(badge_1.Badge, { value: "!", severity: "warning" }), onSelect: () => undefined },
29
+ ];
30
+ const model = items ?? defaultItems;
31
+ function select(item) {
32
+ menuRef.current?.hide();
33
+ item.onSelect();
34
+ }
35
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-user-menu", children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", className: "wi-admin-user-button", "aria-label": "User menu", onClick: (event) => menuRef.current?.toggle(event), children: [(0, jsx_runtime_1.jsx)(AdminUserAvatar, { user: user }), (0, jsx_runtime_1.jsx)(AdminUserInfo, { user: user }), (0, jsx_runtime_1.jsx)("i", { className: "pi pi-chevron-down wi-admin-user-button__arrow" })] }), (0, jsx_runtime_1.jsxs)(overlaypanel_1.OverlayPanel, { ref: menuRef, className: "wi-admin-user-panel", dismissable: true, showCloseIcon: false, children: [(0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-user-panel__header", children: [(0, jsx_runtime_1.jsx)(AdminUserAvatar, { user: user, size: "lg", showStatus: false }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("strong", { children: user?.name || user?.email || "User" }), user?.email ? (0, jsx_runtime_1.jsx)("span", { children: user.email }) : null, user?.department ? (0, jsx_runtime_1.jsxs)("small", { children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-briefcase" }), " ", user.department] }) : null] })] }), (0, jsx_runtime_1.jsx)("div", { className: "wi-admin-user-panel__items", children: model.map((item) => ((0, jsx_runtime_1.jsxs)("button", { type: "button", className: (0, utils_1.cx)("wi-admin-user-panel__item", item.danger && "is-danger"), onClick: () => select(item), children: [(0, jsx_runtime_1.jsx)("i", { className: item.icon ?? "pi pi-circle" }), (0, jsx_runtime_1.jsx)("span", { children: item.label }), item.badge ? (0, jsx_runtime_1.jsx)("span", { className: "wi-admin-user-panel__badge", children: item.badge }) : null, !item.danger ? (0, jsx_runtime_1.jsx)("i", { className: "pi pi-chevron-right wi-admin-user-panel__arrow" }) : null] }, item.label))) }), onLogout ? ((0, jsx_runtime_1.jsx)("div", { className: "wi-admin-user-panel__footer", children: (0, jsx_runtime_1.jsxs)("button", { type: "button", className: "wi-admin-user-panel__item is-danger", onClick: onLogout, children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-sign-out" }), (0, jsx_runtime_1.jsx)("span", { children: "Sign Out" })] }) })) : null] })] }));
36
+ }
37
+ function AdminProfileCard({ user, completion, actions, }) {
38
+ const displayName = user?.name || "Your Name";
39
+ return ((0, jsx_runtime_1.jsxs)("section", { className: "wi-admin-profile-card", children: [(0, jsx_runtime_1.jsx)(AdminUserAvatar, { user: user, size: "lg", showStatus: false }), (0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-profile-card__body", children: [(0, jsx_runtime_1.jsx)("h2", { children: displayName }), user?.email ? (0, jsx_runtime_1.jsxs)("p", { children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-envelope" }), " ", user.email] }) : null, (0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-profile-card__tags", children: [user?.department ? (0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-briefcase" }), " ", user.department] }) : null, user?.tenantName ? (0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-building" }), " ", user.tenantName] }) : null, user?.role ? (0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-verified" }), " ", user.role] }) : null] }), typeof completion === "number" ? ((0, jsx_runtime_1.jsxs)("div", { className: "wi-admin-profile-card__completion", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: "Profile Completion" }), (0, jsx_runtime_1.jsxs)("strong", { children: [completion, "%"] })] }), (0, jsx_runtime_1.jsx)("progress", { value: completion, max: 100 })] })) : null] }), (0, jsx_runtime_1.jsx)("div", { className: "wi-admin-profile-card__actions", children: actions ?? (0, jsx_runtime_1.jsx)(Button_1.Button, { variant: "secondary", leftIcon: (0, jsx_runtime_1.jsx)("i", { className: "pi pi-pencil" }), children: "Edit Profile" }) })] }));
40
+ }
41
+ //# sourceMappingURL=AdminUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminUser.js","sourceRoot":"","sources":["../../src/admin/AdminUser.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./AdminAuth";
2
+ export * from "./AdminNavigation";
3
+ export * from "./AdminUser";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AdminAuth"), exports);
18
+ __exportStar(require("./AdminNavigation"), exports);
19
+ __exportStar(require("./AdminUser"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,oDAAkC;AAClC,8CAA4B"}
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from "react";
2
+ export type EmptyStateProps = {
3
+ title: string;
4
+ description?: string;
5
+ icon?: ReactNode;
6
+ actionLabel?: string;
7
+ onAction?: () => void;
8
+ className?: string;
9
+ };
10
+ export declare function EmptyState({ title, description, icon, actionLabel, onAction, className }: EmptyStateProps): import("react").JSX.Element;
11
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/feedback/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,+BAazG"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmptyState = EmptyState;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const Button_1 = require("../foundation/Button");
6
+ const utils_1 = require("../utils");
7
+ function EmptyState({ title, description, icon, actionLabel, onAction, className }) {
8
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cx)("wi-empty-state", className), children: [icon ? (0, jsx_runtime_1.jsx)("div", { className: "wi-empty-state__icon", children: icon }) : null, (0, jsx_runtime_1.jsx)("strong", { children: title }), description ? (0, jsx_runtime_1.jsx)("p", { children: description }) : null, actionLabel && onAction ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { type: "button", size: "sm", onClick: onAction, children: actionLabel })) : null] }));
9
+ }
10
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/feedback/EmptyState.tsx"],"names":[],"mappings":";;AAaA,gCAaC;;AAzBD,iDAA8C;AAC9C,oCAA8B;AAW9B,SAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAmB;IACxG,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,UAAE,EAAC,gBAAgB,EAAE,SAAS,CAAC,aAC5C,IAAI,CAAC,CAAC,CAAC,gCAAK,SAAS,EAAC,sBAAsB,YAAE,IAAI,GAAO,CAAC,CAAC,CAAC,IAAI,EACjE,6CAAS,KAAK,GAAU,EACvB,WAAW,CAAC,CAAC,CAAC,wCAAI,WAAW,GAAK,CAAC,CAAC,CAAC,IAAI,EACzC,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,CACzB,uBAAC,eAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,QAAQ,YAC9C,WAAW,GACL,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type SelectHTMLAttributes } from "react";
2
+ export type SelectOption = {
3
+ label: string;
4
+ value: string;
5
+ };
6
+ export type SelectProps = SelectHTMLAttributes<HTMLSelectElement> & {
7
+ label?: string;
8
+ error?: string;
9
+ helperText?: string;
10
+ options: SelectOption[];
11
+ };
12
+ export declare const Select: import("react").ForwardRefExoticComponent<SelectHTMLAttributes<HTMLSelectElement> & {
13
+ label?: string;
14
+ error?: string;
15
+ helperText?: string;
16
+ options: SelectOption[];
17
+ } & import("react").RefAttributes<HTMLSelectElement>>;
18
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/forms/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,MAAM;YANT,MAAM;YACN,MAAM;iBACD,MAAM;aACV,YAAY,EAAE;qDAgCvB,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Select = void 0;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const utils_1 = require("../utils");
8
+ exports.Select = (0, react_1.forwardRef)(function Select({ className, id, label, error, helperText, options, ...props }, ref) {
9
+ const inputId = id ?? props.name;
10
+ return ((0, jsx_runtime_1.jsxs)("label", { className: "wi-field", children: [label ? (0, jsx_runtime_1.jsx)("span", { className: "wi-field__label", children: label }) : null, (0, jsx_runtime_1.jsx)("select", { ref: ref, id: inputId, "aria-invalid": !!error || undefined, className: (0, utils_1.cx)("wi-input wi-select", error && "wi-input--error", className), ...props, children: options.map((option) => ((0, jsx_runtime_1.jsx)("option", { value: option.value, children: option.label }, option.value))) }), error ? ((0, jsx_runtime_1.jsx)("span", { className: "wi-field__error", children: error })) : helperText ? ((0, jsx_runtime_1.jsx)("span", { className: "wi-field__helper", children: helperText })) : null] }));
11
+ });
12
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/forms/Select.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;AAEb,iCAA8D;AAC9D,oCAA8B;AAcjB,QAAA,MAAM,GAAG,IAAA,kBAAU,EAAiC,SAAS,MAAM,CAC9E,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAC9D,GAAG;IAEH,MAAM,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;IAEjC,OAAO,CACL,mCAAO,SAAS,EAAC,UAAU,aACxB,KAAK,CAAC,CAAC,CAAC,iCAAM,SAAS,EAAC,iBAAiB,YAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,IAAI,EAChE,mCACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,kBACG,CAAC,CAAC,KAAK,IAAI,SAAS,EAClC,SAAS,EAAE,IAAA,UAAE,EAAC,oBAAoB,EAAE,KAAK,IAAI,iBAAiB,EAAE,SAAS,CAAC,KACtE,KAAK,YAER,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,mCAA2B,KAAK,EAAE,MAAM,CAAC,KAAK,YAC3C,MAAM,CAAC,KAAK,IADF,MAAM,CAAC,KAAK,CAEhB,CACV,CAAC,GACK,EACR,KAAK,CAAC,CAAC,CAAC,CACP,iCAAM,SAAS,EAAC,iBAAiB,YAAE,KAAK,GAAQ,CACjD,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,iCAAM,SAAS,EAAC,kBAAkB,YAAE,UAAU,GAAQ,CACvD,CAAC,CAAC,CAAC,IAAI,IACF,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type InputHTMLAttributes } from "react";
2
+ export type TextInputProps = InputHTMLAttributes<HTMLInputElement> & {
3
+ label?: string;
4
+ error?: string;
5
+ helperText?: string;
6
+ };
7
+ export declare const TextInput: import("react").ForwardRefExoticComponent<InputHTMLAttributes<HTMLInputElement> & {
8
+ label?: string;
9
+ error?: string;
10
+ helperText?: string;
11
+ } & import("react").RefAttributes<HTMLInputElement>>;
12
+ //# sourceMappingURL=TextInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/forms/TextInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAG7D,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,SAAS;YALZ,MAAM;YACN,MAAM;iBACD,MAAM;oDAgCnB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TextInput = void 0;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const utils_1 = require("../utils");
8
+ exports.TextInput = (0, react_1.forwardRef)(function TextInput({ className, id, label, error, helperText, ...props }, ref) {
9
+ const inputId = id ?? props.name;
10
+ const describedBy = error ? `${inputId}-error` : helperText ? `${inputId}-help` : undefined;
11
+ return ((0, jsx_runtime_1.jsxs)("label", { className: "wi-field", children: [label ? (0, jsx_runtime_1.jsx)("span", { className: "wi-field__label", children: label }) : null, (0, jsx_runtime_1.jsx)("input", { ref: ref, id: inputId, "aria-invalid": !!error || undefined, "aria-describedby": describedBy, className: (0, utils_1.cx)("wi-input", error && "wi-input--error", className), ...props }), error ? ((0, jsx_runtime_1.jsx)("span", { id: `${inputId}-error`, className: "wi-field__error", children: error })) : helperText ? ((0, jsx_runtime_1.jsx)("span", { id: `${inputId}-help`, className: "wi-field__helper", children: helperText })) : null] }));
12
+ });
13
+ //# sourceMappingURL=TextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../src/forms/TextInput.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;AAEb,iCAA6D;AAC7D,oCAA8B;AAQjB,QAAA,SAAS,GAAG,IAAA,kBAAU,EAAmC,SAAS,SAAS,CACtF,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EACrD,GAAG;IAEH,MAAM,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,OAAO,CACL,mCAAO,SAAS,EAAC,UAAU,aACxB,KAAK,CAAC,CAAC,CAAC,iCAAM,SAAS,EAAC,iBAAiB,YAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,IAAI,EAChE,kCACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,kBACG,CAAC,CAAC,KAAK,IAAI,SAAS,sBAChB,WAAW,EAC7B,SAAS,EAAE,IAAA,UAAE,EAAC,UAAU,EAAE,KAAK,IAAI,iBAAiB,EAAE,SAAS,CAAC,KAC5D,KAAK,GACT,EACD,KAAK,CAAC,CAAC,CAAC,CACP,iCAAM,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,SAAS,EAAC,iBAAiB,YACtD,KAAK,GACD,CACR,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,iCAAM,EAAE,EAAE,GAAG,OAAO,OAAO,EAAE,SAAS,EAAC,kBAAkB,YACtD,UAAU,GACN,CACR,CAAC,CAAC,CAAC,IAAI,IACF,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type TextareaHTMLAttributes } from "react";
2
+ export type TextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {
3
+ label?: string;
4
+ error?: string;
5
+ helperText?: string;
6
+ };
7
+ export declare const Textarea: import("react").ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & {
8
+ label?: string;
9
+ error?: string;
10
+ helperText?: string;
11
+ } & import("react").RefAttributes<HTMLTextAreaElement>>;
12
+ //# sourceMappingURL=Textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../src/forms/Textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAGhE,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,GAAG;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,QAAQ;YALX,MAAM;YACN,MAAM;iBACD,MAAM;uDAgCnB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Textarea = void 0;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const utils_1 = require("../utils");
8
+ exports.Textarea = (0, react_1.forwardRef)(function Textarea({ className, id, label, error, helperText, ...props }, ref) {
9
+ const inputId = id ?? props.name;
10
+ const describedBy = error ? `${inputId}-error` : helperText ? `${inputId}-help` : undefined;
11
+ return ((0, jsx_runtime_1.jsxs)("label", { className: "wi-field", children: [label ? (0, jsx_runtime_1.jsx)("span", { className: "wi-field__label", children: label }) : null, (0, jsx_runtime_1.jsx)("textarea", { ref: ref, id: inputId, "aria-invalid": !!error || undefined, "aria-describedby": describedBy, className: (0, utils_1.cx)("wi-input wi-textarea", error && "wi-input--error", className), ...props }), error ? ((0, jsx_runtime_1.jsx)("span", { id: `${inputId}-error`, className: "wi-field__error", children: error })) : helperText ? ((0, jsx_runtime_1.jsx)("span", { id: `${inputId}-help`, className: "wi-field__helper", children: helperText })) : null] }));
12
+ });
13
+ //# sourceMappingURL=Textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/forms/Textarea.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;AAEb,iCAAgE;AAChE,oCAA8B;AAQjB,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAAqC,SAAS,QAAQ,CACtF,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EACrD,GAAG;IAEH,MAAM,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,OAAO,CACL,mCAAO,SAAS,EAAC,UAAU,aACxB,KAAK,CAAC,CAAC,CAAC,iCAAM,SAAS,EAAC,iBAAiB,YAAE,KAAK,GAAQ,CAAC,CAAC,CAAC,IAAI,EAChE,qCACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,kBACG,CAAC,CAAC,KAAK,IAAI,SAAS,sBAChB,WAAW,EAC7B,SAAS,EAAE,IAAA,UAAE,EAAC,sBAAsB,EAAE,KAAK,IAAI,iBAAiB,EAAE,SAAS,CAAC,KACxE,KAAK,GACT,EACD,KAAK,CAAC,CAAC,CAAC,CACP,iCAAM,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,SAAS,EAAC,iBAAiB,YACtD,KAAK,GACD,CACR,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,iCAAM,EAAE,EAAE,GAAG,OAAO,OAAO,EAAE,SAAS,EAAC,kBAAkB,YACtD,UAAU,GACN,CACR,CAAC,CAAC,CAAC,IAAI,IACF,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type AvatarProps = {
2
+ name: string;
3
+ src?: string;
4
+ size?: "sm" | "md" | "lg";
5
+ className?: string;
6
+ };
7
+ export declare function Avatar({ name, src, size, className }: AvatarProps): import("react").JSX.Element;
8
+ //# sourceMappingURL=Avatar.d.ts.map