@udhuong/admin-core 0.1.0 → 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.
- package/dist/client/auth/AuthContext.d.ts +19 -0
- package/dist/client/auth/AuthContext.d.ts.map +1 -0
- package/dist/client/auth/AuthContext.js +115 -0
- package/dist/client/auth/AuthContext.js.map +1 -0
- package/dist/client/auth/PermissionGuard.d.ts +12 -0
- package/dist/client/auth/PermissionGuard.d.ts.map +1 -0
- package/dist/client/auth/PermissionGuard.js +23 -0
- package/dist/client/auth/PermissionGuard.js.map +1 -0
- package/dist/client/auth/ProtectedPage.d.ts +9 -0
- package/dist/client/auth/ProtectedPage.d.ts.map +1 -0
- package/dist/client/auth/ProtectedPage.js +57 -0
- package/dist/client/auth/ProtectedPage.js.map +1 -0
- package/dist/client/auth/ProtectedRoute.d.ts +4 -0
- package/dist/client/auth/ProtectedRoute.d.ts.map +1 -0
- package/dist/client/auth/ProtectedRoute.js +25 -0
- package/dist/client/auth/ProtectedRoute.js.map +1 -0
- package/dist/client/auth/api-client.d.ts +4 -0
- package/dist/client/auth/api-client.d.ts.map +1 -0
- package/dist/client/auth/api-client.js +83 -0
- package/dist/client/auth/api-client.js.map +1 -0
- package/dist/client/auth/auth.service.d.ts +7 -0
- package/dist/client/auth/auth.service.d.ts.map +1 -0
- package/dist/client/auth/auth.service.js +19 -0
- package/dist/client/auth/auth.service.js.map +1 -0
- package/dist/client/auth/index.d.ts +7 -0
- package/dist/client/auth/index.d.ts.map +1 -0
- package/dist/client/auth/index.js +7 -0
- package/dist/client/auth/index.js.map +1 -0
- package/dist/client/components/PageHeader.d.ts +19 -0
- package/dist/client/components/PageHeader.d.ts.map +1 -0
- package/dist/client/components/PageHeader.js +7 -0
- package/dist/client/components/PageHeader.js.map +1 -0
- package/dist/client/components/Providers.d.ts +9 -0
- package/dist/client/components/Providers.d.ts.map +1 -0
- package/dist/client/components/Providers.js +52 -0
- package/dist/client/components/Providers.js.map +1 -0
- package/dist/client/components/ThemeToggle.d.ts +6 -0
- package/dist/client/components/ThemeToggle.d.ts.map +1 -0
- package/dist/client/components/ThemeToggle.js +22 -0
- package/dist/client/components/ThemeToggle.js.map +1 -0
- package/dist/client/components/index.d.ts +4 -0
- package/dist/client/components/index.d.ts.map +1 -0
- package/dist/client/components/index.js +4 -0
- package/dist/client/components/index.js.map +1 -0
- package/dist/client/config/AdminConfigContext.d.ts +12 -0
- package/dist/client/config/AdminConfigContext.d.ts.map +1 -0
- package/dist/client/config/AdminConfigContext.js +29 -0
- package/dist/client/config/AdminConfigContext.js.map +1 -0
- package/dist/client/config/defaults.d.ts +4 -0
- package/dist/client/config/defaults.d.ts.map +1 -0
- package/dist/client/config/defaults.js +86 -0
- package/dist/client/config/defaults.js.map +1 -0
- package/dist/client/config/types.d.ts +61 -0
- package/dist/client/config/types.d.ts.map +1 -0
- package/dist/client/config/types.js +2 -0
- package/dist/client/config/types.js.map +1 -0
- package/dist/client/constants/api-routes.d.ts +104 -0
- package/dist/client/constants/api-routes.d.ts.map +1 -0
- package/dist/client/constants/api-routes.js +91 -0
- package/dist/client/constants/api-routes.js.map +1 -0
- package/dist/client/constants/permissions.d.ts +38 -0
- package/dist/client/constants/permissions.d.ts.map +1 -0
- package/dist/client/constants/permissions.js +37 -0
- package/dist/client/constants/permissions.js.map +1 -0
- package/dist/client/contexts/ThemeContext.d.ts +3 -0
- package/dist/client/contexts/ThemeContext.d.ts.map +1 -0
- package/dist/client/contexts/ThemeContext.js +8 -0
- package/dist/client/contexts/ThemeContext.js.map +1 -0
- package/dist/client/hooks/useToast.d.ts +14 -0
- package/dist/client/hooks/useToast.d.ts.map +1 -0
- package/dist/client/hooks/useToast.js +90 -0
- package/dist/client/hooks/useToast.js.map +1 -0
- package/dist/client/index.d.ts +25 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +33 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/layouts/AdminLayout.d.ts +4 -0
- package/dist/client/layouts/AdminLayout.d.ts.map +1 -0
- package/dist/client/layouts/AdminLayout.js +72 -0
- package/dist/client/layouts/AdminLayout.js.map +1 -0
- package/dist/client/layouts/Sidebar.d.ts +6 -0
- package/dist/client/layouts/Sidebar.d.ts.map +1 -0
- package/dist/client/layouts/Sidebar.js +86 -0
- package/dist/client/layouts/Sidebar.js.map +1 -0
- package/dist/client/layouts/index.d.ts +3 -0
- package/dist/client/layouts/index.d.ts.map +1 -0
- package/dist/client/layouts/index.js +3 -0
- package/dist/client/layouts/index.js.map +1 -0
- package/dist/client/lib/utils.d.ts +5 -0
- package/dist/client/lib/utils.d.ts.map +1 -0
- package/dist/client/lib/utils.js +22 -0
- package/dist/client/lib/utils.js.map +1 -0
- package/dist/client/pages/ChangePasswordPage.d.ts +2 -0
- package/dist/client/pages/ChangePasswordPage.d.ts.map +1 -0
- package/dist/client/pages/ChangePasswordPage.js +58 -0
- package/dist/client/pages/ChangePasswordPage.js.map +1 -0
- package/dist/client/pages/ForgotPasswordPage.d.ts +2 -0
- package/dist/client/pages/ForgotPasswordPage.d.ts.map +1 -0
- package/dist/client/pages/ForgotPasswordPage.js +30 -0
- package/dist/client/pages/ForgotPasswordPage.js.map +1 -0
- package/dist/client/pages/LoginPage.d.ts +2 -0
- package/dist/client/pages/LoginPage.d.ts.map +1 -0
- package/dist/client/pages/LoginPage.js +52 -0
- package/dist/client/pages/LoginPage.js.map +1 -0
- package/dist/client/pages/PermissionsPage.d.ts +2 -0
- package/dist/client/pages/PermissionsPage.d.ts.map +1 -0
- package/dist/client/pages/PermissionsPage.js +42 -0
- package/dist/client/pages/PermissionsPage.js.map +1 -0
- package/dist/client/pages/ProfilePage.d.ts +2 -0
- package/dist/client/pages/ProfilePage.d.ts.map +1 -0
- package/dist/client/pages/ProfilePage.js +107 -0
- package/dist/client/pages/ProfilePage.js.map +1 -0
- package/dist/client/pages/ResetPasswordPage.d.ts +2 -0
- package/dist/client/pages/ResetPasswordPage.d.ts.map +1 -0
- package/dist/client/pages/ResetPasswordPage.js +68 -0
- package/dist/client/pages/ResetPasswordPage.js.map +1 -0
- package/dist/client/pages/RolesPage.d.ts +2 -0
- package/dist/client/pages/RolesPage.d.ts.map +1 -0
- package/dist/client/pages/RolesPage.js +82 -0
- package/dist/client/pages/RolesPage.js.map +1 -0
- package/dist/client/pages/UnauthorizedPage.d.ts +2 -0
- package/dist/client/pages/UnauthorizedPage.d.ts.map +1 -0
- package/dist/client/pages/UnauthorizedPage.js +9 -0
- package/dist/client/pages/UnauthorizedPage.js.map +1 -0
- package/dist/client/pages/UserDetailPage.d.ts +6 -0
- package/dist/client/pages/UserDetailPage.d.ts.map +1 -0
- package/dist/client/pages/UserDetailPage.js +220 -0
- package/dist/client/pages/UserDetailPage.js.map +1 -0
- package/dist/client/pages/UserPreferencesPage.d.ts +2 -0
- package/dist/client/pages/UserPreferencesPage.d.ts.map +1 -0
- package/dist/client/pages/UserPreferencesPage.js +152 -0
- package/dist/client/pages/UserPreferencesPage.js.map +1 -0
- package/dist/client/pages/UsersPage.d.ts +2 -0
- package/dist/client/pages/UsersPage.d.ts.map +1 -0
- package/dist/client/pages/UsersPage.js +228 -0
- package/dist/client/pages/UsersPage.js.map +1 -0
- package/dist/client/pages/VerifyEmailPage.d.ts +2 -0
- package/dist/client/pages/VerifyEmailPage.d.ts.map +1 -0
- package/dist/client/pages/VerifyEmailPage.js +43 -0
- package/dist/client/pages/VerifyEmailPage.js.map +1 -0
- package/dist/client/pages/index.d.ts +13 -0
- package/dist/client/pages/index.d.ts.map +1 -0
- package/dist/client/pages/index.js +13 -0
- package/dist/client/pages/index.js.map +1 -0
- package/dist/client/pages/roles/RoleModal.d.ts +10 -0
- package/dist/client/pages/roles/RoleModal.d.ts.map +1 -0
- package/dist/client/pages/roles/RoleModal.js +123 -0
- package/dist/client/pages/roles/RoleModal.js.map +1 -0
- package/dist/client/pages/users/DangerZone.d.ts +10 -0
- package/dist/client/pages/users/DangerZone.d.ts.map +1 -0
- package/dist/client/pages/users/DangerZone.js +8 -0
- package/dist/client/pages/users/DangerZone.js.map +1 -0
- package/dist/client/pages/users/ProfileCard.d.ts +14 -0
- package/dist/client/pages/users/ProfileCard.d.ts.map +1 -0
- package/dist/client/pages/users/ProfileCard.js +8 -0
- package/dist/client/pages/users/ProfileCard.js.map +1 -0
- package/dist/client/pages/users/SecuritySection.d.ts +14 -0
- package/dist/client/pages/users/SecuritySection.d.ts.map +1 -0
- package/dist/client/pages/users/SecuritySection.js +16 -0
- package/dist/client/pages/users/SecuritySection.js.map +1 -0
- package/dist/client/pages/users/SessionsSection.d.ts +25 -0
- package/dist/client/pages/users/SessionsSection.d.ts.map +1 -0
- package/dist/client/pages/users/SessionsSection.js +93 -0
- package/dist/client/pages/users/SessionsSection.js.map +1 -0
- package/dist/client/pages/users/SocialAccountsSection.d.ts +29 -0
- package/dist/client/pages/users/SocialAccountsSection.d.ts.map +1 -0
- package/dist/client/pages/users/SocialAccountsSection.js +72 -0
- package/dist/client/pages/users/SocialAccountsSection.js.map +1 -0
- package/dist/client/pages/users/UserDetailModal.d.ts +24 -0
- package/dist/client/pages/users/UserDetailModal.d.ts.map +1 -0
- package/dist/client/pages/users/UserDetailModal.js +42 -0
- package/dist/client/pages/users/UserDetailModal.js.map +1 -0
- package/dist/client/pages/users/UserFilters.d.ts +14 -0
- package/dist/client/pages/users/UserFilters.d.ts.map +1 -0
- package/dist/client/pages/users/UserFilters.js +22 -0
- package/dist/client/pages/users/UserFilters.js.map +1 -0
- package/dist/client/pages/users/UserStats.d.ts +9 -0
- package/dist/client/pages/users/UserStats.d.ts.map +1 -0
- package/dist/client/pages/users/UserStats.js +37 -0
- package/dist/client/pages/users/UserStats.js.map +1 -0
- package/dist/client/pages/users/UserTable.d.ts +24 -0
- package/dist/client/pages/users/UserTable.d.ts.map +1 -0
- package/dist/client/pages/users/UserTable.js +39 -0
- package/dist/client/pages/users/UserTable.js.map +1 -0
- package/dist/client/pages/users/VerificationSection.d.ts +9 -0
- package/dist/client/pages/users/VerificationSection.d.ts.map +1 -0
- package/dist/client/pages/users/VerificationSection.js +8 -0
- package/dist/client/pages/users/VerificationSection.js.map +1 -0
- package/dist/client/types/auth.d.ts +29 -0
- package/dist/client/types/auth.d.ts.map +1 -0
- package/dist/client/types/auth.js +2 -0
- package/dist/client/types/auth.js.map +1 -0
- package/dist/client/types/rbac.d.ts +39 -0
- package/dist/client/types/rbac.d.ts.map +1 -0
- package/dist/client/types/rbac.js +5 -0
- package/dist/client/types/rbac.js.map +1 -0
- package/dist/client/types/status.d.ts +12 -0
- package/dist/client/types/status.d.ts.map +1 -0
- package/dist/client/types/status.js +14 -0
- package/dist/client/types/status.js.map +1 -0
- package/dist/client/ui/Badge.d.ts +14 -0
- package/dist/client/ui/Badge.d.ts.map +1 -0
- package/dist/client/ui/Badge.js +32 -0
- package/dist/client/ui/Badge.js.map +1 -0
- package/dist/client/ui/Button.d.ts +18 -0
- package/dist/client/ui/Button.d.ts.map +1 -0
- package/dist/client/ui/Button.js +33 -0
- package/dist/client/ui/Button.js.map +1 -0
- package/dist/client/ui/Checkbox.d.ts +14 -0
- package/dist/client/ui/Checkbox.d.ts.map +1 -0
- package/dist/client/ui/Checkbox.js +35 -0
- package/dist/client/ui/Checkbox.js.map +1 -0
- package/dist/client/ui/ConfirmModal.d.ts +14 -0
- package/dist/client/ui/ConfirmModal.d.ts.map +1 -0
- package/dist/client/ui/ConfirmModal.js +43 -0
- package/dist/client/ui/ConfirmModal.js.map +1 -0
- package/dist/client/ui/DataTable.d.ts +69 -0
- package/dist/client/ui/DataTable.d.ts.map +1 -0
- package/dist/client/ui/DataTable.js +133 -0
- package/dist/client/ui/DataTable.js.map +1 -0
- package/dist/client/ui/Dropdown.d.ts +11 -0
- package/dist/client/ui/Dropdown.d.ts.map +1 -0
- package/dist/client/ui/Dropdown.js +65 -0
- package/dist/client/ui/Dropdown.js.map +1 -0
- package/dist/client/ui/FileInput.d.ts +16 -0
- package/dist/client/ui/FileInput.d.ts.map +1 -0
- package/dist/client/ui/FileInput.js +45 -0
- package/dist/client/ui/FileInput.js.map +1 -0
- package/dist/client/ui/Input.d.ts +16 -0
- package/dist/client/ui/Input.d.ts.map +1 -0
- package/dist/client/ui/Input.js +33 -0
- package/dist/client/ui/Input.js.map +1 -0
- package/dist/client/ui/LoadingSpinner.d.ts +7 -0
- package/dist/client/ui/LoadingSpinner.d.ts.map +1 -0
- package/dist/client/ui/LoadingSpinner.js +12 -0
- package/dist/client/ui/LoadingSpinner.js.map +1 -0
- package/dist/client/ui/Modal.d.ts +14 -0
- package/dist/client/ui/Modal.d.ts.map +1 -0
- package/dist/client/ui/Modal.js +46 -0
- package/dist/client/ui/Modal.js.map +1 -0
- package/dist/client/ui/Pagination.d.ts +14 -0
- package/dist/client/ui/Pagination.d.ts.map +1 -0
- package/dist/client/ui/Pagination.js +50 -0
- package/dist/client/ui/Pagination.js.map +1 -0
- package/dist/client/ui/Radio.d.ts +34 -0
- package/dist/client/ui/Radio.d.ts.map +1 -0
- package/dist/client/ui/Radio.js +44 -0
- package/dist/client/ui/Radio.js.map +1 -0
- package/dist/client/ui/Range.d.ts +17 -0
- package/dist/client/ui/Range.d.ts.map +1 -0
- package/dist/client/ui/Range.js +28 -0
- package/dist/client/ui/Range.js.map +1 -0
- package/dist/client/ui/Rating.d.ts +18 -0
- package/dist/client/ui/Rating.d.ts.map +1 -0
- package/dist/client/ui/Rating.js +64 -0
- package/dist/client/ui/Rating.js.map +1 -0
- package/dist/client/ui/Select.d.ts +20 -0
- package/dist/client/ui/Select.d.ts.map +1 -0
- package/dist/client/ui/Select.js +30 -0
- package/dist/client/ui/Select.js.map +1 -0
- package/dist/client/ui/Textarea.d.ts +14 -0
- package/dist/client/ui/Textarea.d.ts.map +1 -0
- package/dist/client/ui/Textarea.js +20 -0
- package/dist/client/ui/Textarea.js.map +1 -0
- package/dist/client/ui/Toggle.d.ts +13 -0
- package/dist/client/ui/Toggle.d.ts.map +1 -0
- package/dist/client/ui/Toggle.js +29 -0
- package/dist/client/ui/Toggle.js.map +1 -0
- package/dist/client/ui/index.d.ts +31 -0
- package/dist/client/ui/index.d.ts.map +1 -0
- package/dist/client/ui/index.js +35 -0
- package/dist/client/ui/index.js.map +1 -0
- package/dist/tailwind.preset.d.ts +10 -0
- package/dist/tailwind.preset.js +12 -0
- package/package.json +46 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/client/ui/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACxF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACxF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,KAAK,qFA6EV,CAAC;AAGF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuEzC,CAAC;AAEF,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { cn } from '../lib/utils';
|
|
4
|
+
const Radio = forwardRef(({ className, label, labelPosition = 'right', helperText, error, errorMessage, variant, size = 'md', disabled, ...props }, ref) => {
|
|
5
|
+
const radioClassName = cn('radio', {
|
|
6
|
+
'radio-primary': variant === 'primary',
|
|
7
|
+
'radio-secondary': variant === 'secondary',
|
|
8
|
+
'radio-accent': variant === 'accent',
|
|
9
|
+
'radio-success': variant === 'success',
|
|
10
|
+
'radio-warning': variant === 'warning',
|
|
11
|
+
'radio-info': variant === 'info',
|
|
12
|
+
'radio-error': variant === 'error' || error,
|
|
13
|
+
'radio-xs': size === 'xs',
|
|
14
|
+
'radio-sm': size === 'sm',
|
|
15
|
+
'radio-md': size === 'md',
|
|
16
|
+
'radio-lg': size === 'lg',
|
|
17
|
+
}, className);
|
|
18
|
+
const wrapperClassName = cn('form-control', {
|
|
19
|
+
'opacity-50 cursor-not-allowed': disabled,
|
|
20
|
+
});
|
|
21
|
+
const radioElement = (_jsx("input", { ref: ref, type: "radio", className: radioClassName, disabled: disabled, ...props }));
|
|
22
|
+
const labelElement = label && (_jsx("span", { className: "label-text cursor-pointer", children: label }));
|
|
23
|
+
return (_jsxs("div", { className: wrapperClassName, children: [_jsxs("label", { className: "label cursor-pointer justify-start gap-3", children: [labelPosition === 'left' && labelElement, radioElement, labelPosition === 'right' && labelElement] }), (helperText || errorMessage) && (_jsx("div", { className: "label", children: _jsx("span", { className: cn('label-text-alt', {
|
|
24
|
+
'text-error': error || errorMessage,
|
|
25
|
+
'text-base-content/70': !error && !errorMessage,
|
|
26
|
+
}), children: errorMessage || helperText }) }))] }));
|
|
27
|
+
});
|
|
28
|
+
// RadioGroup component for multiple radio options
|
|
29
|
+
const RadioGroup = ({ name, options, value, onChange, label, helperText, error, errorMessage, variant, size = 'md', direction = 'vertical', disabled, }) => {
|
|
30
|
+
const wrapperClassName = cn('form-control w-full', {
|
|
31
|
+
'opacity-50 cursor-not-allowed': disabled,
|
|
32
|
+
});
|
|
33
|
+
const optionsContainerClassName = cn('flex gap-4', {
|
|
34
|
+
'flex-col': direction === 'vertical',
|
|
35
|
+
'flex-row flex-wrap': direction === 'horizontal',
|
|
36
|
+
});
|
|
37
|
+
return (_jsxs("div", { className: wrapperClassName, children: [label && (_jsx("div", { className: "label", children: _jsx("span", { className: "label-text", children: label }) })), _jsx("div", { className: optionsContainerClassName, children: options.map((option, index) => (_jsx(Radio, { name: name, value: option.value, checked: value === option.value, onChange: (e) => onChange?.(e.target.value), label: option.label, variant: variant, size: size, disabled: disabled || option.disabled }, index))) }), (helperText || errorMessage) && (_jsx("div", { className: "label", children: _jsx("span", { className: cn('label-text-alt', {
|
|
38
|
+
'text-error': error || errorMessage,
|
|
39
|
+
'text-base-content/70': !error && !errorMessage,
|
|
40
|
+
}), children: errorMessage || helperText }) }))] }));
|
|
41
|
+
};
|
|
42
|
+
export default Radio;
|
|
43
|
+
export { RadioGroup };
|
|
44
|
+
//# sourceMappingURL=Radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/client/ui/Radio.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAiClC,MAAM,KAAK,GAAG,UAAU,CACtB,CAAC,EACC,SAAS,EACT,KAAK,EACL,aAAa,GAAG,OAAO,EACvB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,GAAG,EAAE,EAAE;IACR,MAAM,cAAc,GAAG,EAAE,CACvB,OAAO,EACP;QACE,eAAe,EAAE,OAAO,KAAK,SAAS;QACtC,iBAAiB,EAAE,OAAO,KAAK,WAAW;QAC1C,cAAc,EAAE,OAAO,KAAK,QAAQ;QACpC,eAAe,EAAE,OAAO,KAAK,SAAS;QACtC,eAAe,EAAE,OAAO,KAAK,SAAS;QACtC,YAAY,EAAE,OAAO,KAAK,MAAM;QAChC,aAAa,EAAE,OAAO,KAAK,OAAO,IAAI,KAAK;QAC3C,UAAU,EAAE,IAAI,KAAK,IAAI;QACzB,UAAU,EAAE,IAAI,KAAK,IAAI;QACzB,UAAU,EAAE,IAAI,KAAK,IAAI;QACzB,UAAU,EAAE,IAAI,KAAK,IAAI;KAC1B,EACD,SAAS,CACV,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CACzB,cAAc,EACd;QACE,+BAA+B,EAAE,QAAQ;KAC1C,CACF,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,KACd,KAAK,GACT,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,IAAI,CAC5B,eAAM,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAQ,CAC3D,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,gBAAgB,aAC9B,iBAAO,SAAS,EAAC,0CAA0C,aACxD,aAAa,KAAK,MAAM,IAAI,YAAY,EACxC,YAAY,EACZ,aAAa,KAAK,OAAO,IAAI,YAAY,IACpC,EAGP,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAC/B,cAAK,SAAS,EAAC,OAAO,YACpB,eAAM,SAAS,EAAE,EAAE,CACjB,gBAAgB,EAChB;wBACE,YAAY,EAAE,KAAK,IAAI,YAAY;wBACnC,sBAAsB,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY;qBAChD,CACF,YACE,YAAY,IAAI,UAAU,GACtB,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kDAAkD;AAClD,MAAM,UAAU,GAA8B,CAAC,EAC7C,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,UAAU,EACtB,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,EAAE,CACzB,qBAAqB,EACrB;QACE,+BAA+B,EAAE,QAAQ;KAC1C,CACF,CAAC;IAEF,MAAM,yBAAyB,GAAG,EAAE,CAClC,YAAY,EACZ;QACE,UAAU,EAAE,SAAS,KAAK,UAAU;QACpC,oBAAoB,EAAE,SAAS,KAAK,YAAY;KACjD,CACF,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,gBAAgB,aAE7B,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,OAAO,YACpB,eAAM,SAAS,EAAC,YAAY,YAAE,KAAK,GAAQ,GACvC,CACP,EAGD,cAAK,SAAS,EAAE,yBAAyB,YACtC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,KAAC,KAAK,IAEJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK,EAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3C,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,IARhC,KAAK,CASV,CACH,CAAC,GACE,EAGL,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAC/B,cAAK,SAAS,EAAC,OAAO,YACpB,eAAM,SAAS,EAAE,EAAE,CACjB,gBAAgB,EAChB;wBACE,YAAY,EAAE,KAAK,IAAI,YAAY;wBACnC,sBAAsB,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY;qBAChD,CACF,YACE,YAAY,IAAI,UAAU,GACtB,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface RangeProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
3
|
+
label?: string;
|
|
4
|
+
labelAlt?: string;
|
|
5
|
+
helperText?: string;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
errorMessage?: string;
|
|
8
|
+
variant?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error';
|
|
9
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
10
|
+
showValue?: boolean;
|
|
11
|
+
valuePosition?: 'top' | 'bottom' | 'right';
|
|
12
|
+
steps?: number[];
|
|
13
|
+
stepLabels?: string[];
|
|
14
|
+
}
|
|
15
|
+
declare const Range: React.ForwardRefExoticComponent<RangeProps & React.RefAttributes<HTMLInputElement>>;
|
|
16
|
+
export default Range;
|
|
17
|
+
//# sourceMappingURL=Range.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["../../../src/client/ui/Range.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACxF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,QAAA,MAAM,KAAK,qFA6HV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { cn } from '../lib/utils';
|
|
4
|
+
const Range = forwardRef(({ className, label, labelAlt, helperText, error, errorMessage, variant, size = 'md', showValue = false, valuePosition = 'right', steps, stepLabels, disabled, value, min = 0, max = 100, ...props }, ref) => {
|
|
5
|
+
const rangeClassName = cn('range', {
|
|
6
|
+
'range-primary': variant === 'primary',
|
|
7
|
+
'range-secondary': variant === 'secondary',
|
|
8
|
+
'range-accent': variant === 'accent',
|
|
9
|
+
'range-success': variant === 'success',
|
|
10
|
+
'range-warning': variant === 'warning',
|
|
11
|
+
'range-info': variant === 'info',
|
|
12
|
+
'range-error': variant === 'error' || error,
|
|
13
|
+
'range-xs': size === 'xs',
|
|
14
|
+
'range-sm': size === 'sm',
|
|
15
|
+
'range-md': size === 'md',
|
|
16
|
+
'range-lg': size === 'lg',
|
|
17
|
+
}, className);
|
|
18
|
+
const wrapperClassName = cn('form-control w-full', {
|
|
19
|
+
'opacity-50 cursor-not-allowed': disabled,
|
|
20
|
+
});
|
|
21
|
+
const rangeElement = (_jsx("input", { ref: ref, type: "range", className: rangeClassName, disabled: disabled, min: min, max: max, value: value, ...props }));
|
|
22
|
+
return (_jsxs("div", { className: wrapperClassName, children: [(label || labelAlt) && (_jsxs("div", { className: "label", children: [label && _jsx("span", { className: "label-text", children: label }), labelAlt && _jsx("span", { className: "label-text-alt", children: labelAlt })] })), _jsxs("div", { className: "flex items-center gap-3", children: [showValue && valuePosition === 'top' && (_jsx("div", { className: "text-sm font-medium", children: value })), _jsxs("div", { className: "flex-1", children: [showValue && valuePosition === 'top' && (_jsx("div", { className: "text-center mb-2", children: _jsx("span", { className: "text-sm font-medium", children: value }) })), rangeElement, steps && (_jsx("div", { className: "w-full flex justify-between text-xs px-2 mt-1", children: steps.map((step, index) => (_jsx("span", { className: "text-base-content/70", children: stepLabels?.[index] || step }, index))) })), showValue && valuePosition === 'bottom' && (_jsx("div", { className: "text-center mt-2", children: _jsx("span", { className: "text-sm font-medium", children: value }) }))] }), showValue && valuePosition === 'right' && (_jsx("div", { className: "text-sm font-medium min-w-[3rem] text-center", children: value }))] }), (helperText || errorMessage) && (_jsx("div", { className: "label", children: _jsx("span", { className: cn('label-text-alt', {
|
|
23
|
+
'text-error': error || errorMessage,
|
|
24
|
+
'text-base-content/70': !error && !errorMessage,
|
|
25
|
+
}), children: errorMessage || helperText }) }))] }));
|
|
26
|
+
});
|
|
27
|
+
export default Range;
|
|
28
|
+
//# sourceMappingURL=Range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Range.js","sourceRoot":"","sources":["../../../src/client/ui/Range.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface RatingProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
3
|
+
label?: string;
|
|
4
|
+
labelAlt?: string;
|
|
5
|
+
helperText?: string;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
errorMessage?: string;
|
|
8
|
+
variant?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error';
|
|
9
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
10
|
+
max?: number;
|
|
11
|
+
half?: boolean;
|
|
12
|
+
readonly?: boolean;
|
|
13
|
+
showValue?: boolean;
|
|
14
|
+
onRatingChange?: (rating: number) => void;
|
|
15
|
+
}
|
|
16
|
+
declare const Rating: React.ForwardRefExoticComponent<RatingProps & React.RefAttributes<HTMLInputElement>>;
|
|
17
|
+
export default Rating;
|
|
18
|
+
//# sourceMappingURL=Rating.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rating.d.ts","sourceRoot":"","sources":["../../../src/client/ui/Rating.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACxF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,QAAA,MAAM,MAAM,sFA+IX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React, { forwardRef, useState } from 'react';
|
|
4
|
+
import { cn } from '../lib/utils';
|
|
5
|
+
const Rating = forwardRef(({ className, label, labelAlt, helperText, error, errorMessage, variant, size = 'md', max = 5, half = false, readonly = false, showValue = false, value = 0, onRatingChange, disabled, ...props }, ref) => {
|
|
6
|
+
const [hoverRating, setHoverRating] = useState(0);
|
|
7
|
+
const [currentRating, setCurrentRating] = useState(Number(value) || 0);
|
|
8
|
+
const ratingClassName = cn('rating', {
|
|
9
|
+
'rating-half': half,
|
|
10
|
+
'rating-xs': size === 'xs',
|
|
11
|
+
'rating-sm': size === 'sm',
|
|
12
|
+
'rating-md': size === 'md',
|
|
13
|
+
'rating-lg': size === 'lg',
|
|
14
|
+
}, className);
|
|
15
|
+
const wrapperClassName = cn('form-control w-full', {
|
|
16
|
+
'opacity-50 cursor-not-allowed': disabled,
|
|
17
|
+
});
|
|
18
|
+
const handleRatingClick = (rating) => {
|
|
19
|
+
if (readonly || disabled)
|
|
20
|
+
return;
|
|
21
|
+
setCurrentRating(rating);
|
|
22
|
+
onRatingChange?.(rating);
|
|
23
|
+
};
|
|
24
|
+
const handleMouseEnter = (rating) => {
|
|
25
|
+
if (readonly || disabled)
|
|
26
|
+
return;
|
|
27
|
+
setHoverRating(rating);
|
|
28
|
+
};
|
|
29
|
+
const handleMouseLeave = () => {
|
|
30
|
+
if (readonly || disabled)
|
|
31
|
+
return;
|
|
32
|
+
setHoverRating(0);
|
|
33
|
+
};
|
|
34
|
+
const renderStars = () => {
|
|
35
|
+
const stars = [];
|
|
36
|
+
const increment = half ? 0.5 : 1;
|
|
37
|
+
for (let i = increment; i <= max; i += increment) {
|
|
38
|
+
const isActive = (hoverRating || currentRating) >= i;
|
|
39
|
+
const isHalf = half && i % 1 !== 0;
|
|
40
|
+
stars.push(_jsx("input", { type: "radio", name: `rating-${Math.random()}`, className: cn('mask mask-star-2', {
|
|
41
|
+
'mask-half-1': isHalf && half,
|
|
42
|
+
'mask-half-2': !isHalf && half,
|
|
43
|
+
'bg-orange-400': isActive && !variant,
|
|
44
|
+
'bg-primary': isActive && variant === 'primary',
|
|
45
|
+
'bg-secondary': isActive && variant === 'secondary',
|
|
46
|
+
'bg-accent': isActive && variant === 'accent',
|
|
47
|
+
'bg-success': isActive && variant === 'success',
|
|
48
|
+
'bg-warning': isActive && variant === 'warning',
|
|
49
|
+
'bg-info': isActive && variant === 'info',
|
|
50
|
+
'bg-error': isActive && (variant === 'error' || error),
|
|
51
|
+
}), checked: currentRating === i, onClick: () => handleRatingClick(i), onMouseEnter: () => handleMouseEnter(i), onMouseLeave: handleMouseLeave, disabled: readonly || disabled, readOnly: readonly, ...props }, i));
|
|
52
|
+
}
|
|
53
|
+
return stars;
|
|
54
|
+
};
|
|
55
|
+
React.useEffect(() => {
|
|
56
|
+
setCurrentRating(Number(value) || 0);
|
|
57
|
+
}, [value]);
|
|
58
|
+
return (_jsxs("div", { className: wrapperClassName, children: [(label || labelAlt) && (_jsxs("div", { className: "label", children: [label && _jsx("span", { className: "label-text", children: label }), labelAlt && _jsx("span", { className: "label-text-alt", children: labelAlt })] })), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: ratingClassName, children: renderStars() }), showValue && (_jsxs("span", { className: "text-sm font-medium", children: [currentRating, "/", max] }))] }), (helperText || errorMessage) && (_jsx("div", { className: "label", children: _jsx("span", { className: cn('label-text-alt', {
|
|
59
|
+
'text-error': error || errorMessage,
|
|
60
|
+
'text-base-content/70': !error && !errorMessage,
|
|
61
|
+
}), children: errorMessage || helperText }) }))] }));
|
|
62
|
+
});
|
|
63
|
+
export default Rating;
|
|
64
|
+
//# sourceMappingURL=Rating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rating.js","sourceRoot":"","sources":["../../../src/client/ui/Rating.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface SelectOption {
|
|
3
|
+
value: string | number;
|
|
4
|
+
label: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
|
|
8
|
+
label?: string;
|
|
9
|
+
labelAlt?: string;
|
|
10
|
+
helperText?: string;
|
|
11
|
+
error?: boolean;
|
|
12
|
+
errorMessage?: string;
|
|
13
|
+
variant?: 'bordered' | 'ghost' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error';
|
|
14
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
15
|
+
options?: SelectOption[];
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
}
|
|
18
|
+
declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
|
|
19
|
+
export default Select;
|
|
20
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/client/ui/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/G,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,MAAM,uFAmGX,CAAC;AAGF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { cn } from '../lib/utils';
|
|
4
|
+
const Select = forwardRef(({ className, label, labelAlt, helperText, error, errorMessage, variant = 'bordered', size = 'md', options = [], placeholder, disabled, children, ...props }, ref) => {
|
|
5
|
+
const selectClassName = cn('select w-full', {
|
|
6
|
+
'select-bordered': variant === 'bordered',
|
|
7
|
+
'select-ghost': variant === 'ghost',
|
|
8
|
+
'select-primary': variant === 'primary',
|
|
9
|
+
'select-secondary': variant === 'secondary',
|
|
10
|
+
'select-accent': variant === 'accent',
|
|
11
|
+
'select-info': variant === 'info',
|
|
12
|
+
'select-success': variant === 'success',
|
|
13
|
+
'select-warning': variant === 'warning',
|
|
14
|
+
'select-error': variant === 'error' || error,
|
|
15
|
+
'select-xs': size === 'xs',
|
|
16
|
+
'select-sm': size === 'sm',
|
|
17
|
+
'select-md': size === 'md',
|
|
18
|
+
'select-lg': size === 'lg',
|
|
19
|
+
'select-disabled': disabled,
|
|
20
|
+
}, className);
|
|
21
|
+
const wrapperClassName = cn('form-control w-full', {
|
|
22
|
+
'opacity-50 cursor-not-allowed': disabled,
|
|
23
|
+
});
|
|
24
|
+
return (_jsxs("div", { className: wrapperClassName, children: [(label || labelAlt) && (_jsxs("div", { className: "label", children: [label && _jsx("span", { className: "label-text", children: label }), labelAlt && _jsx("span", { className: "label-text-alt", children: labelAlt })] })), _jsxs("select", { ref: ref, className: selectClassName, disabled: disabled, ...props, children: [placeholder && (_jsx("option", { value: "", disabled: true, children: placeholder })), options.length > 0 ? (options.map((option, index) => (_jsx("option", { value: option.value, disabled: option.disabled, children: option.label }, index)))) : (children)] }), (helperText || errorMessage) && (_jsx("div", { className: "label", children: _jsx("span", { className: cn('label-text-alt', {
|
|
25
|
+
'text-error': error || errorMessage,
|
|
26
|
+
'text-base-content/70': !error && !errorMessage,
|
|
27
|
+
}), children: errorMessage || helperText }) }))] }));
|
|
28
|
+
});
|
|
29
|
+
export default Select;
|
|
30
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/client/ui/Select.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAoBlC,MAAM,MAAM,GAAG,UAAU,CACvB,CAAC,EACC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,YAAY,EACZ,OAAO,GAAG,UAAU,EACpB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,EAAE,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,GAAG,EAAE,EAAE;IACR,MAAM,eAAe,GAAG,EAAE,CACxB,eAAe,EACf;QACE,iBAAiB,EAAE,OAAO,KAAK,UAAU;QACzC,cAAc,EAAE,OAAO,KAAK,OAAO;QACnC,gBAAgB,EAAE,OAAO,KAAK,SAAS;QACvC,kBAAkB,EAAE,OAAO,KAAK,WAAW;QAC3C,eAAe,EAAE,OAAO,KAAK,QAAQ;QACrC,aAAa,EAAE,OAAO,KAAK,MAAM;QACjC,gBAAgB,EAAE,OAAO,KAAK,SAAS;QACvC,gBAAgB,EAAE,OAAO,KAAK,SAAS;QACvC,cAAc,EAAE,OAAO,KAAK,OAAO,IAAI,KAAK;QAC5C,WAAW,EAAE,IAAI,KAAK,IAAI;QAC1B,WAAW,EAAE,IAAI,KAAK,IAAI;QAC1B,WAAW,EAAE,IAAI,KAAK,IAAI;QAC1B,WAAW,EAAE,IAAI,KAAK,IAAI;QAC1B,iBAAiB,EAAE,QAAQ;KAC5B,EACD,SAAS,CACV,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CACzB,qBAAqB,EACrB;QACE,+BAA+B,EAAE,QAAQ;KAC1C,CACF,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,gBAAgB,aAE7B,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CACtB,eAAK,SAAS,EAAC,OAAO,aACnB,KAAK,IAAI,eAAM,SAAS,EAAC,YAAY,YAAE,KAAK,GAAQ,EACpD,QAAQ,IAAI,eAAM,SAAS,EAAC,gBAAgB,YAAE,QAAQ,GAAQ,IAC3D,CACP,EAGD,kBACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,QAAQ,KACd,KAAK,aAER,WAAW,IAAI,CACd,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,kBACtB,WAAW,GACL,CACV,EAEA,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,iBAEE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,YAExB,MAAM,CAAC,KAAK,IAJR,KAAK,CAKH,CACV,CAAC,CACH,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,IACM,EAGR,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAC/B,cAAK,SAAS,EAAC,OAAO,YACpB,eAAM,SAAS,EAAE,EAAE,CACjB,gBAAgB,EAChB;wBACE,YAAY,EAAE,KAAK,IAAI,YAAY;wBACnC,sBAAsB,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY;qBAChD,CACF,YACE,YAAY,IAAI,UAAU,GACtB,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAGF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TextareaHTMLAttributes } from 'react';
|
|
2
|
+
export type TextareaVariant = 'bordered' | 'ghost' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error';
|
|
3
|
+
export type TextareaResize = 'none' | 'both' | 'horizontal' | 'vertical';
|
|
4
|
+
export interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
5
|
+
label?: string;
|
|
6
|
+
error?: string;
|
|
7
|
+
helpText?: string;
|
|
8
|
+
helperText?: string;
|
|
9
|
+
variant?: TextareaVariant;
|
|
10
|
+
resize?: TextareaResize;
|
|
11
|
+
}
|
|
12
|
+
declare const Textarea: import("react").ForwardRefExoticComponent<TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
13
|
+
export default Textarea;
|
|
14
|
+
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/client/ui/Textarea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,sBAAsB,EAAc,MAAM,OAAO,CAAA;AAEzE,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AAClI,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAAA;AAExE,MAAM,WAAW,aAAc,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,QAAA,MAAM,QAAQ,+GAgDb,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../lib/utils';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
const Textarea = forwardRef(({ className, label, error, helpText, helperText, variant, resize, style, ...props }, ref) => {
|
|
5
|
+
const helperContent = helperText || helpText;
|
|
6
|
+
const resizeStyle = resize ? { resize } : {};
|
|
7
|
+
return (_jsxs("div", { className: "form-control w-full", children: [label && (_jsx("label", { className: "label", children: _jsxs("span", { className: "label-text", children: [label, props.required && _jsx("span", { className: "text-error ml-1", children: "*" })] }) })), _jsx("textarea", { className: cn('textarea w-full', {
|
|
8
|
+
'textarea-bordered': !variant || variant === 'bordered',
|
|
9
|
+
'textarea-ghost': variant === 'ghost',
|
|
10
|
+
'textarea-primary': variant === 'primary',
|
|
11
|
+
'textarea-secondary': variant === 'secondary',
|
|
12
|
+
'textarea-accent': variant === 'accent',
|
|
13
|
+
'textarea-info': variant === 'info',
|
|
14
|
+
'textarea-success': variant === 'success',
|
|
15
|
+
'textarea-warning': variant === 'warning',
|
|
16
|
+
'textarea-error': variant === 'error' || !!error,
|
|
17
|
+
}, className), style: { ...resizeStyle, ...style }, ref: ref, ...props }), error && (_jsx("label", { className: "label", children: _jsx("span", { className: "label-text-alt text-error", children: error }) })), helperContent && !error && (_jsx("label", { className: "label", children: _jsx("span", { className: "label-text-alt", children: helperContent }) }))] }));
|
|
18
|
+
});
|
|
19
|
+
export default Textarea;
|
|
20
|
+
//# sourceMappingURL=Textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../src/client/ui/Textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AACjC,OAAO,EAAyC,UAAU,EAAE,MAAM,OAAO,CAAA;AAczE,MAAM,QAAQ,GAAG,UAAU,CACzB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC3F,MAAM,aAAa,GAAG,UAAU,IAAI,QAAQ,CAAA;IAC5C,MAAM,WAAW,GAAkB,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE3D,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aACjC,KAAK,IAAI,CACR,gBAAO,SAAS,EAAC,OAAO,YACtB,gBAAM,SAAS,EAAC,YAAY,aACzB,KAAK,EACL,KAAK,CAAC,QAAQ,IAAI,eAAM,SAAS,EAAC,iBAAiB,kBAAS,IACxD,GACD,CACT,EACD,mBACE,SAAS,EAAE,EAAE,CACX,iBAAiB,EACjB;oBACE,mBAAmB,EAAE,CAAC,OAAO,IAAI,OAAO,KAAK,UAAU;oBACvD,gBAAgB,EAAE,OAAO,KAAK,OAAO;oBACrC,kBAAkB,EAAE,OAAO,KAAK,SAAS;oBACzC,oBAAoB,EAAE,OAAO,KAAK,WAAW;oBAC7C,iBAAiB,EAAE,OAAO,KAAK,QAAQ;oBACvC,eAAe,EAAE,OAAO,KAAK,MAAM;oBACnC,kBAAkB,EAAE,OAAO,KAAK,SAAS;oBACzC,kBAAkB,EAAE,OAAO,KAAK,SAAS;oBACzC,gBAAgB,EAAE,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK;iBACjD,EACD,SAAS,CACV,EACD,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,EAAE,EACnC,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,EACD,KAAK,IAAI,CACR,gBAAO,SAAS,EAAC,OAAO,YACtB,eAAM,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAQ,GACpD,CACT,EACA,aAAa,IAAI,CAAC,KAAK,IAAI,CAC1B,gBAAO,SAAS,EAAC,OAAO,YACtB,eAAM,SAAS,EAAC,gBAAgB,YAAE,aAAa,GAAQ,GACjD,CACT,IACG,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ToggleProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
3
|
+
label?: string;
|
|
4
|
+
labelPosition?: 'left' | 'right';
|
|
5
|
+
helperText?: string;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
errorMessage?: string;
|
|
8
|
+
variant?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error';
|
|
9
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
10
|
+
}
|
|
11
|
+
declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLInputElement>>;
|
|
12
|
+
export default Toggle;
|
|
13
|
+
//# sourceMappingURL=Toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/client/ui/Toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACxF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAClC;AAED,QAAA,MAAM,MAAM,sFA6EX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { cn } from '../lib/utils';
|
|
4
|
+
const Toggle = forwardRef(({ className, label, labelPosition = 'right', helperText, error, errorMessage, variant, size = 'md', disabled, ...props }, ref) => {
|
|
5
|
+
const toggleClassName = cn('toggle', {
|
|
6
|
+
'toggle-primary': variant === 'primary',
|
|
7
|
+
'toggle-secondary': variant === 'secondary',
|
|
8
|
+
'toggle-accent': variant === 'accent',
|
|
9
|
+
'toggle-success': variant === 'success',
|
|
10
|
+
'toggle-warning': variant === 'warning',
|
|
11
|
+
'toggle-info': variant === 'info',
|
|
12
|
+
'toggle-error': variant === 'error' || error,
|
|
13
|
+
'toggle-xs': size === 'xs',
|
|
14
|
+
'toggle-sm': size === 'sm',
|
|
15
|
+
'toggle-md': size === 'md',
|
|
16
|
+
'toggle-lg': size === 'lg',
|
|
17
|
+
}, className);
|
|
18
|
+
const wrapperClassName = cn('form-control', {
|
|
19
|
+
'opacity-50 cursor-not-allowed': disabled,
|
|
20
|
+
});
|
|
21
|
+
const toggleElement = (_jsx("input", { ref: ref, type: "checkbox", className: toggleClassName, disabled: disabled, ...props }));
|
|
22
|
+
const labelElement = label && (_jsx("span", { className: "label-text cursor-pointer", children: label }));
|
|
23
|
+
return (_jsxs("div", { className: wrapperClassName, children: [_jsxs("label", { className: "label cursor-pointer justify-start gap-3", children: [labelPosition === 'left' && labelElement, toggleElement, labelPosition === 'right' && labelElement] }), (helperText || errorMessage) && (_jsx("div", { className: "label", children: _jsx("span", { className: cn('label-text-alt', {
|
|
24
|
+
'text-error': error || errorMessage,
|
|
25
|
+
'text-base-content/70': !error && !errorMessage,
|
|
26
|
+
}), children: errorMessage || helperText }) }))] }));
|
|
27
|
+
});
|
|
28
|
+
export default Toggle;
|
|
29
|
+
//# sourceMappingURL=Toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../../src/client/ui/Toggle.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAYlC,MAAM,MAAM,GAAG,UAAU,CACvB,CAAC,EACC,SAAS,EACT,KAAK,EACL,aAAa,GAAG,OAAO,EACvB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,GAAG,EAAE,EAAE;IACR,MAAM,eAAe,GAAG,EAAE,CACxB,QAAQ,EACR;QACE,gBAAgB,EAAE,OAAO,KAAK,SAAS;QACvC,kBAAkB,EAAE,OAAO,KAAK,WAAW;QAC3C,eAAe,EAAE,OAAO,KAAK,QAAQ;QACrC,gBAAgB,EAAE,OAAO,KAAK,SAAS;QACvC,gBAAgB,EAAE,OAAO,KAAK,SAAS;QACvC,aAAa,EAAE,OAAO,KAAK,MAAM;QACjC,cAAc,EAAE,OAAO,KAAK,OAAO,IAAI,KAAK;QAC5C,WAAW,EAAE,IAAI,KAAK,IAAI;QAC1B,WAAW,EAAE,IAAI,KAAK,IAAI;QAC1B,WAAW,EAAE,IAAI,KAAK,IAAI;QAC1B,WAAW,EAAE,IAAI,KAAK,IAAI;KAC3B,EACD,SAAS,CACV,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CACzB,cAAc,EACd;QACE,+BAA+B,EAAE,QAAQ;KAC1C,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,CACpB,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,QAAQ,KACd,KAAK,GACT,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,IAAI,CAC5B,eAAM,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAQ,CAC3D,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,gBAAgB,aAC9B,iBAAO,SAAS,EAAC,0CAA0C,aACxD,aAAa,KAAK,MAAM,IAAI,YAAY,EACxC,aAAa,EACb,aAAa,KAAK,OAAO,IAAI,YAAY,IACpC,EAGP,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAC/B,cAAK,SAAS,EAAC,OAAO,YACpB,eAAM,SAAS,EAAE,EAAE,CACjB,gBAAgB,EAChB;wBACE,YAAY,EAAE,KAAK,IAAI,YAAY;wBACnC,sBAAsB,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY;qBAChD,CACF,YACE,YAAY,IAAI,UAAU,GACtB,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export { default as Button } from './Button';
|
|
2
|
+
export type { ButtonProps, ButtonVariant, ButtonStyle, ButtonSize } from './Button';
|
|
3
|
+
export { default as Input } from './Input';
|
|
4
|
+
export type { InputProps } from './Input';
|
|
5
|
+
export { default as Textarea } from './Textarea';
|
|
6
|
+
export type { TextareaProps, TextareaVariant, TextareaResize } from './Textarea';
|
|
7
|
+
export { default as Select } from './Select';
|
|
8
|
+
export type { SelectProps, SelectOption } from './Select';
|
|
9
|
+
export { default as Checkbox } from './Checkbox';
|
|
10
|
+
export type { CheckboxProps } from './Checkbox';
|
|
11
|
+
export { default as Radio, RadioGroup } from './Radio';
|
|
12
|
+
export type { RadioProps, RadioGroupProps, RadioOption } from './Radio';
|
|
13
|
+
export { default as Toggle } from './Toggle';
|
|
14
|
+
export type { ToggleProps } from './Toggle';
|
|
15
|
+
export { default as FileInput } from './FileInput';
|
|
16
|
+
export type { FileInputProps } from './FileInput';
|
|
17
|
+
export { default as Range } from './Range';
|
|
18
|
+
export type { RangeProps } from './Range';
|
|
19
|
+
export { default as Rating } from './Rating';
|
|
20
|
+
export type { RatingProps } from './Rating';
|
|
21
|
+
export { default as Modal } from './Modal';
|
|
22
|
+
export { ConfirmModal, default as ConfirmModalDefault } from './ConfirmModal';
|
|
23
|
+
export { default as DataTable, TableRenderers, TableActions } from './DataTable';
|
|
24
|
+
export type { TableColumn, TableAction, BulkAction } from './DataTable';
|
|
25
|
+
export { default as Badge } from './Badge';
|
|
26
|
+
export type { BadgeVariant, BadgeSize, BadgeStyle } from './Badge';
|
|
27
|
+
export { default as Pagination } from './Pagination';
|
|
28
|
+
export type { PaginationDirection, PaginationVariant } from './Pagination';
|
|
29
|
+
export { default as LoadingSpinner } from './LoadingSpinner';
|
|
30
|
+
export { default as Dropdown } from './Dropdown';
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/ui/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGpF,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGxE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Button
|
|
2
|
+
export { default as Button } from './Button';
|
|
3
|
+
// Input
|
|
4
|
+
export { default as Input } from './Input';
|
|
5
|
+
// Textarea
|
|
6
|
+
export { default as Textarea } from './Textarea';
|
|
7
|
+
// Select
|
|
8
|
+
export { default as Select } from './Select';
|
|
9
|
+
// Checkbox
|
|
10
|
+
export { default as Checkbox } from './Checkbox';
|
|
11
|
+
// Radio
|
|
12
|
+
export { default as Radio, RadioGroup } from './Radio';
|
|
13
|
+
// Toggle
|
|
14
|
+
export { default as Toggle } from './Toggle';
|
|
15
|
+
// FileInput
|
|
16
|
+
export { default as FileInput } from './FileInput';
|
|
17
|
+
// Range
|
|
18
|
+
export { default as Range } from './Range';
|
|
19
|
+
// Rating
|
|
20
|
+
export { default as Rating } from './Rating';
|
|
21
|
+
// Modal
|
|
22
|
+
export { default as Modal } from './Modal';
|
|
23
|
+
// ConfirmModal
|
|
24
|
+
export { ConfirmModal, default as ConfirmModalDefault } from './ConfirmModal';
|
|
25
|
+
// DataTable
|
|
26
|
+
export { default as DataTable, TableRenderers, TableActions } from './DataTable';
|
|
27
|
+
// Badge
|
|
28
|
+
export { default as Badge } from './Badge';
|
|
29
|
+
// Pagination
|
|
30
|
+
export { default as Pagination } from './Pagination';
|
|
31
|
+
// LoadingSpinner
|
|
32
|
+
export { default as LoadingSpinner } from './LoadingSpinner';
|
|
33
|
+
// Dropdown
|
|
34
|
+
export { default as Dropdown } from './Dropdown';
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/ui/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAG7C,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAG3C,WAAW;AACX,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGjD,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAG7C,WAAW;AACX,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGjD,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGvD,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAG7C,YAAY;AACZ,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAGnD,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAG3C,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAG7C,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,YAAY;AACZ,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGjF,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAG3C,aAAa;AACb,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrD,iBAAiB;AACjB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D,WAAW;AACX,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const adminCorePreset = {
|
|
4
|
+
theme: {
|
|
5
|
+
extend: {
|
|
6
|
+
fontFamily: {
|
|
7
|
+
sans: ['Inter', 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'],
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
exports.default = adminCorePreset;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@udhuong/admin-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Reusable admin core (client + server) — auth, RBAC, OAuth, user management. Built với NestJS + Next.js, ship trong 1 package với subpath exports.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "udhuong <l19htm4n@gmail.com>",
|
|
@@ -62,12 +62,13 @@
|
|
|
62
62
|
"main": "./dist/client/index.js",
|
|
63
63
|
"types": "./dist/client/index.d.ts",
|
|
64
64
|
"scripts": {
|
|
65
|
-
"build": "npm run build:client && npm run build:server && npm run build:preset",
|
|
65
|
+
"build": "npm run clean && npm run build:client && npm run build:server && npm run build:preset",
|
|
66
66
|
"build:client": "tsc -p tsconfig.client.json",
|
|
67
67
|
"build:server": "tsc -p tsconfig.server.json",
|
|
68
68
|
"build:preset": "tsc tailwind.preset.ts --outDir dist --declaration --module commonjs --esModuleInterop --target ES2020 --skipLibCheck",
|
|
69
69
|
"type-check": "tsc -p tsconfig.client.json --noEmit && tsc -p tsconfig.server.json --noEmit",
|
|
70
|
-
"clean": "rm -rf dist"
|
|
70
|
+
"clean": "rm -rf dist",
|
|
71
|
+
"prepack": "npm run build"
|
|
71
72
|
},
|
|
72
73
|
"dependencies": {
|
|
73
74
|
"@hookform/resolvers": "^5.2.2",
|
|
@@ -110,20 +111,48 @@
|
|
|
110
111
|
"typeorm": "^0.3.0"
|
|
111
112
|
},
|
|
112
113
|
"peerDependenciesMeta": {
|
|
113
|
-
"@nestjs/common": {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"@nestjs/
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
"@nestjs/
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
"
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"
|
|
126
|
-
|
|
114
|
+
"@nestjs/common": {
|
|
115
|
+
"optional": true
|
|
116
|
+
},
|
|
117
|
+
"@nestjs/config": {
|
|
118
|
+
"optional": true
|
|
119
|
+
},
|
|
120
|
+
"@nestjs/core": {
|
|
121
|
+
"optional": true
|
|
122
|
+
},
|
|
123
|
+
"@nestjs/event-emitter": {
|
|
124
|
+
"optional": true
|
|
125
|
+
},
|
|
126
|
+
"@nestjs/jwt": {
|
|
127
|
+
"optional": true
|
|
128
|
+
},
|
|
129
|
+
"@nestjs/passport": {
|
|
130
|
+
"optional": true
|
|
131
|
+
},
|
|
132
|
+
"@nestjs/schedule": {
|
|
133
|
+
"optional": true
|
|
134
|
+
},
|
|
135
|
+
"@nestjs/typeorm": {
|
|
136
|
+
"optional": true
|
|
137
|
+
},
|
|
138
|
+
"next": {
|
|
139
|
+
"optional": true
|
|
140
|
+
},
|
|
141
|
+
"react": {
|
|
142
|
+
"optional": true
|
|
143
|
+
},
|
|
144
|
+
"react-dom": {
|
|
145
|
+
"optional": true
|
|
146
|
+
},
|
|
147
|
+
"reflect-metadata": {
|
|
148
|
+
"optional": true
|
|
149
|
+
},
|
|
150
|
+
"rxjs": {
|
|
151
|
+
"optional": true
|
|
152
|
+
},
|
|
153
|
+
"typeorm": {
|
|
154
|
+
"optional": true
|
|
155
|
+
}
|
|
127
156
|
},
|
|
128
157
|
"devDependencies": {
|
|
129
158
|
"@nestjs/common": "^10.4.8",
|