@llmnative/react 0.1.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +387 -364
- package/bin/cli.js +117 -98
- package/dist/index.css +1 -1
- package/dist/index.js +21 -823
- package/dist/index.mjs +14246 -9296
- package/dist/style.css +1 -0
- package/dist/types/src/App.d.ts +72 -14
- package/dist/types/src/Config.d.ts +28 -5
- package/dist/types/src/Global.d.ts +2 -2
- package/dist/types/src/I18n.d.ts +185 -0
- package/dist/types/src/Theme.d.ts +153 -81
- package/dist/types/src/auth.d.ts +13 -1
- package/dist/types/src/components/Component.d.ts +13 -27
- package/dist/types/src/components/ErrorBoundary.d.ts +30 -0
- package/dist/types/src/components/blocks/Brand.d.ts +4 -4
- package/dist/types/src/components/blocks/Breadcrumbs.d.ts +50 -4
- package/dist/types/src/components/blocks/Carousel.d.ts +5 -5
- package/dist/types/src/components/blocks/Dropdown.d.ts +26 -20
- package/dist/types/src/components/blocks/ListCard.d.ts +31 -0
- package/dist/types/src/components/blocks/Menu.d.ts +13 -16
- package/dist/types/src/components/blocks/Notifications.d.ts +8 -3
- package/dist/types/src/components/blocks/ProviderSwitcher.d.ts +63 -0
- package/dist/types/src/components/blocks/Search.d.ts +2 -2
- package/dist/types/src/components/blocks/SideNav.d.ts +45 -0
- package/dist/types/src/components/blocks/ThemeSwitcher.d.ts +24 -0
- package/dist/types/src/components/blocks/Toolbar.d.ts +19 -0
- package/dist/types/src/components/index.d.ts +27 -6
- package/dist/types/src/components/types.d.ts +10 -3
- package/dist/types/src/components/ui/Alert.d.ts +16 -4
- package/dist/types/src/components/ui/Badge.d.ts +6 -5
- package/dist/types/src/components/ui/Buttons.d.ts +13 -12
- package/dist/types/src/components/ui/Card.d.ts +8 -7
- package/dist/types/src/components/ui/Code.d.ts +1 -1
- package/dist/types/src/components/ui/Gallery.d.ts +13 -14
- package/dist/types/src/components/ui/GridSystem.d.ts +1 -1
- package/dist/types/src/components/ui/Icon.d.ts +3 -1
- package/dist/types/src/components/ui/Image.d.ts +1 -1
- package/dist/types/src/components/ui/ImageAvatar.d.ts +1 -1
- package/dist/types/src/components/ui/Loader.d.ts +1 -1
- package/dist/types/src/components/ui/LocaleSwitcher.d.ts +14 -0
- package/dist/types/src/components/ui/Modal.d.ts +42 -15
- package/dist/types/src/components/ui/Pagination.d.ts +14 -3
- package/dist/types/src/components/ui/Percentage.d.ts +5 -5
- package/dist/types/src/components/ui/Repeat.d.ts +15 -6
- package/dist/types/src/components/ui/Tab.d.ts +29 -2
- package/dist/types/src/components/ui/TabDynamic.d.ts +4 -3
- package/dist/types/src/components/ui/Table.d.ts +15 -14
- package/dist/types/src/components/ui/fields/CodeEditor.d.ts +43 -0
- package/dist/types/src/components/ui/fields/ContextMenu.d.ts +38 -0
- package/dist/types/src/components/ui/fields/Crop.d.ts +4 -2
- package/dist/types/src/components/ui/fields/ImageField.d.ts +31 -0
- package/dist/types/src/components/ui/fields/Input.d.ts +43 -14
- package/dist/types/src/components/ui/fields/Prompt.d.ts +2 -31
- package/dist/types/src/components/ui/fields/RichText.d.ts +86 -0
- package/dist/types/src/components/ui/fields/Select.d.ts +13 -10
- package/dist/types/src/components/ui/fields/Upload.d.ts +37 -2
- package/dist/types/src/components/ui/fields/UploadCSV.d.ts +2 -0
- package/dist/types/src/components/ui/useRecordSelection.d.ts +1 -2
- package/dist/types/src/components/widgets/Form.d.ts +80 -43
- package/dist/types/src/components/widgets/ImageEditor.d.ts +4 -5
- package/dist/types/src/components/widgets/MarkdownReader.d.ts +4 -4
- package/dist/types/src/components/widgets/Prompt.d.ts +71 -23
- package/dist/types/src/components/widgets/TabDynamic.d.ts +4 -3
- package/dist/types/src/components/widgets/form-controller.d.ts +42 -0
- package/dist/types/src/components/widgets/grid-core/GridCore.d.ts +1 -1
- package/dist/types/src/components/widgets/grid-core/GridDB.d.ts +1 -1
- package/dist/types/src/components/widgets/grid-core/GridGalleryView.d.ts +1 -1
- package/dist/types/src/components/widgets/grid-core/GridTableView.d.ts +1 -1
- package/dist/types/src/components/widgets/grid-core/types.d.ts +77 -27
- package/dist/types/src/components/widgets/grid-core/useGridActions.d.ts +4 -8
- package/dist/types/src/components/widgets/grid-core/useGridColumns.d.ts +2 -2
- package/dist/types/src/components/widgets/grid-core/useGridDBRecords.d.ts +1 -2
- package/dist/types/src/components/widgets/grid-core/useGridPreparedRecords.d.ts +2 -2
- package/dist/types/src/components/widgets/grid-core/useGridSelection.d.ts +4 -5
- package/dist/types/src/components/widgets/grid-core/utils.d.ts +11 -3
- package/dist/types/src/conf/Prompt.d.ts +1 -1
- package/dist/types/src/conf/i18n/ar.d.ts +2 -0
- package/dist/types/src/conf/i18n/de.d.ts +2 -0
- package/dist/types/src/conf/i18n/en.d.ts +2 -0
- package/dist/types/src/conf/i18n/index.d.ts +6 -0
- package/dist/types/src/conf/i18n/it.d.ts +2 -0
- package/dist/types/src/conf/i18n/ru.d.ts +2 -0
- package/dist/types/src/conf/i18n/zh.d.ts +2 -0
- package/dist/types/src/constant.d.ts +1 -1
- package/dist/types/src/index.d.ts +38 -13
- package/dist/types/src/libs/converter.d.ts +4 -4
- package/dist/types/src/libs/editorHeight.d.ts +12 -0
- package/dist/types/src/libs/fetch.d.ts +4 -4
- package/dist/types/src/libs/imageBuilder.d.ts +63 -14
- package/dist/types/src/libs/imageVariants.d.ts +35 -0
- package/dist/types/src/libs/index.d.ts +1 -4
- package/dist/types/src/libs/promptUtils.d.ts +24 -0
- package/dist/types/src/libs/sanitizer.d.ts +2 -2
- package/dist/types/src/libs/utils.d.ts +9 -10
- package/dist/types/src/pages/index.d.ts +0 -2
- package/dist/types/src/providers/ProviderConfiguration.d.ts +6 -0
- package/dist/types/src/providers/ProviderRegistryContext.d.ts +51 -0
- package/dist/types/src/providers/ProviderSession.d.ts +68 -0
- package/dist/types/src/providers/ai/AIProvider.d.ts +57 -0
- package/dist/types/src/providers/ai/AIProviderContext.d.ts +13 -0
- package/dist/types/src/providers/ai/anthropic.d.ts +2 -0
- package/dist/types/src/providers/ai/deepseek.d.ts +1 -0
- package/dist/types/src/providers/ai/gemini.d.ts +2 -0
- package/dist/types/src/providers/ai/glm.d.ts +1 -0
- package/dist/types/src/providers/ai/index.d.ts +9 -134
- package/dist/types/src/providers/ai/mistral.d.ts +1 -0
- package/dist/types/src/providers/ai/openai.d.ts +1 -0
- package/dist/types/src/providers/ai/openaiCompatible.d.ts +17 -0
- package/dist/types/src/providers/ai/opencode.d.ts +2 -0
- package/dist/types/src/providers/ai/openrouter.d.ts +1 -0
- package/dist/types/src/providers/ai/shared.d.ts +46 -0
- package/dist/types/src/providers/api/ApiProvider.d.ts +43 -0
- package/dist/types/src/providers/api/direct.d.ts +14 -0
- package/dist/types/src/providers/api/firebase.d.ts +14 -0
- package/dist/types/src/providers/api/mock.d.ts +7 -0
- package/dist/types/src/providers/api/supabase.d.ts +14 -0
- package/dist/types/src/providers/auth/AuthProvider.d.ts +2 -2
- package/dist/types/src/providers/auth/firebase/FirebaseAuthProvider.d.ts +26 -0
- package/dist/types/src/providers/auth/google/GoogleAuth.d.ts +2 -2
- package/dist/types/src/providers/auth/supabase/SupabaseAuthProvider.d.ts +48 -0
- package/dist/types/src/providers/credentials/CredentialsProvider.d.ts +3 -0
- package/dist/types/src/providers/credentials/CredentialsProviderContext.d.ts +12 -0
- package/dist/types/src/providers/credentials/google/GoogleServiceAccountProvider.d.ts +8 -0
- package/dist/types/src/providers/data/DataProvider.d.ts +27 -1
- package/dist/types/src/providers/data/firebase.d.ts +5 -4
- package/dist/types/src/providers/data/firestore.d.ts +38 -0
- package/dist/types/src/providers/data/mock.d.ts +8 -1
- package/dist/types/src/providers/data/supabase.d.ts +36 -10
- package/dist/types/src/providers/firebase-init.d.ts +15 -4
- package/dist/types/src/providers/icon/PhosphorIconProvider.d.ts +1 -1
- package/dist/types/src/providers/manifest.d.ts +20 -14
- package/dist/types/src/providers/proxy/index.d.ts +7 -0
- package/dist/types/src/providers/proxy/vite.d.ts +3 -0
- package/dist/types/src/providers/scrape/index.d.ts +2 -1
- package/dist/types/src/providers/seo/google/keyword.d.ts +6 -1
- package/dist/types/src/providers/storage/StorageProvider.d.ts +155 -4
- package/dist/types/src/providers/storage/dropbox.d.ts +3 -3
- package/dist/types/src/providers/storage/firebase.d.ts +38 -7
- package/dist/types/src/providers/storage/supabase.d.ts +47 -7
- package/dist/types/src/providers/supabase-init.d.ts +35 -0
- package/dist/types/src/types/FormFields.d.ts +4 -2
- package/dist/types/src/types/FormSchema.d.ts +29 -0
- package/dist/types/themes/tokyo-night-light.d.ts +3 -0
- package/dist/types/themes/tokyo-night.d.ts +3 -0
- package/dist/types/themes/vscode-dark-plus.d.ts +3 -0
- package/dist/types/themes/vscode-light-plus.d.ts +3 -0
- package/dist/vite.js +1 -0
- package/dist/vite.mjs +54 -0
- package/package.json +40 -9
- package/scripts/cli/proxy-templates/cloudflare.ts +34 -0
- package/scripts/cli/proxy-templates/express.ts +77 -0
- package/scripts/cli/proxy-templates/nextjs-app.ts +42 -0
- package/scripts/cli/proxy-templates/nextjs-pages.ts +41 -0
- package/scripts/cli/proxy-templates/scaffold.json +33 -0
- package/scripts/cli/setup-devtools.js +155 -85
- package/scripts/cli/setup-project.js +618 -484
- package/themes/cyber.ts +469 -405
- package/themes/default.ts +469 -405
- package/themes/flat.ts +469 -405
- package/themes/tokyo-night-light.ts +38 -0
- package/themes/tokyo-night.ts +38 -0
- package/themes/vscode-dark-plus.ts +29 -0
- package/themes/vscode-light-plus.ts +29 -0
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/types/src/components/FormEnhancer.d.ts +0 -26
- package/dist/types/src/components/Template.d.ts +0 -18
- package/dist/types/src/components/ui/fields/AssistantAI.d.ts +0 -23
- package/dist/types/src/components/ui/fields/Command.d.ts +0 -15
- package/dist/types/src/components/ui/fields/ImageUrl.d.ts +0 -7
- package/dist/types/src/libs/cache.d.ts +0 -9
- package/dist/types/src/libs/database.d.ts +0 -3
- package/dist/types/src/libs/log.d.ts +0 -2
- package/dist/types/src/libs/seo.d.ts +0 -8
- package/dist/types/src/libs/storage.d.ts +0 -2
- package/dist/types/src/pages/Blog.d.ts +0 -3
- package/dist/types/src/pages/BlogPost.d.ts +0 -16
- package/dist/types/src/pages/Helper.d.ts +0 -8
- package/dist/types/src/providers/auth/google/apis/auth.d.ts +0 -4
- package/dist/types/src/types/Block.d.ts +0 -4
- package/dist/types/src/types/Section.d.ts +0 -4
|
@@ -2,14 +2,15 @@ import React from 'react';
|
|
|
2
2
|
import type { MotionUIProps, UIProps } from '../types';
|
|
3
3
|
import { BadgeProps } from './Badge';
|
|
4
4
|
export interface IButton extends MotionUIProps {
|
|
5
|
-
onClick?: (e:
|
|
5
|
+
onClick?: (e: React.MouseEvent<HTMLElement>) => unknown;
|
|
6
6
|
icon?: string;
|
|
7
7
|
label?: string | React.ReactNode;
|
|
8
8
|
badge?: BadgeProps;
|
|
9
9
|
title?: string;
|
|
10
|
+
ariaLabel?: string;
|
|
10
11
|
disabled?: boolean;
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
loading?: boolean;
|
|
13
|
+
iconClassName?: string;
|
|
13
14
|
style?: React.CSSProperties;
|
|
14
15
|
variant?: "primary" | "secondary" | "danger" | "success" | "warning" | "info" | "light" | "dark" | "outline-primary" | "outline-secondary" | "outline-danger" | "outline-success" | "link";
|
|
15
16
|
}
|
|
@@ -19,7 +20,7 @@ export type SetMessagePayload = {
|
|
|
19
20
|
totalChunks?: number;
|
|
20
21
|
};
|
|
21
22
|
export interface LoadingButtonProps extends Omit<IButton, "onClick"> {
|
|
22
|
-
onClick?: (e:
|
|
23
|
+
onClick?: (e: React.MouseEvent<HTMLElement>, setMessage?: (payload: SetMessagePayload) => void) => Promise<unknown>;
|
|
23
24
|
loadingLabel?: string | React.ReactNode;
|
|
24
25
|
}
|
|
25
26
|
export declare const buttonBaseClass = "btn";
|
|
@@ -36,22 +37,22 @@ export declare const buttonOutlineSecondaryClass = "btn-outline-secondary";
|
|
|
36
37
|
export declare const buttonOutlineDangerClass = "btn-outline-danger";
|
|
37
38
|
export declare const buttonOutlineSuccessClass = "btn-outline-success";
|
|
38
39
|
export declare const buttonLinkClass = "btn-link";
|
|
39
|
-
export declare const LoadingButton: ({ onClick, icon, label, badge, title, disabled,
|
|
40
|
-
export declare const ActionButton: ({ onClick, icon, label, badge, title, disabled,
|
|
40
|
+
export declare const LoadingButton: ({ onClick, icon, label, badge, title, ariaLabel, disabled, loading, before, after, wrapperClassName, className, iconClassName, style, loadingLabel, variant, motion: motionConfig }?: LoadingButtonProps) => React.JSX.Element;
|
|
41
|
+
export declare const ActionButton: ({ onClick, icon, label, badge, title, disabled, before, after, wrapperClassName, className, iconClassName, style, variant, motion: motionConfig }?: IButton) => React.JSX.Element;
|
|
41
42
|
interface BackLinkProps extends UIProps {
|
|
42
43
|
label?: string;
|
|
43
44
|
}
|
|
44
|
-
export declare const BackLink: ({ label,
|
|
45
|
+
export declare const BackLink: ({ label, before, after, wrapperClassName, className }: BackLinkProps) => React.JSX.Element;
|
|
45
46
|
interface GoSiteProps extends UIProps {
|
|
46
47
|
label: string;
|
|
47
|
-
|
|
48
|
+
href: string;
|
|
48
49
|
}
|
|
49
|
-
export declare const GoSite: ({ label,
|
|
50
|
+
export declare const GoSite: ({ label, href, before, after, wrapperClassName, className }: GoSiteProps) => React.JSX.Element;
|
|
50
51
|
interface ReferSiteProps extends UIProps {
|
|
51
52
|
title: string;
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
href: string;
|
|
54
|
+
imageSrc: string;
|
|
54
55
|
width?: number | string;
|
|
55
56
|
}
|
|
56
|
-
export declare const ReferSite: ({ title,
|
|
57
|
+
export declare const ReferSite: ({ title, href, imageSrc, width, before, after, wrapperClassName, className }: ReferSiteProps) => React.JSX.Element;
|
|
57
58
|
export {};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { UIProps } from '../..';
|
|
3
|
-
interface CardProps extends UIProps {
|
|
3
|
+
export interface CardProps extends UIProps {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
title?: string;
|
|
6
6
|
header?: string | React.ReactNode;
|
|
7
7
|
footer?: string | React.ReactNode;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
headerClassName?: string;
|
|
9
|
+
bodyClassName?: string;
|
|
10
|
+
footerClassName?: string;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
before?: React.ReactNode;
|
|
13
|
+
after?: React.ReactNode;
|
|
13
14
|
}
|
|
14
|
-
declare const Card: ({ children, title, header, footer,
|
|
15
|
+
declare const Card: ({ children, title, header, footer, loading, wrapperClassName, className, headerClassName, bodyClassName, footerClassName, before, after, }: CardProps) => React.JSX.Element;
|
|
15
16
|
export default Card;
|
|
@@ -21,5 +21,5 @@ interface CodeProps extends UIProps {
|
|
|
21
21
|
theme?: PrismTheme;
|
|
22
22
|
background?: PrismBackground;
|
|
23
23
|
}
|
|
24
|
-
declare const Code: ({ language, children,
|
|
24
|
+
declare const Code: ({ language, children, before, after, wrapperClassName, className, showCopy, theme, background, }: CodeProps) => React.JSX.Element;
|
|
25
25
|
export default Code;
|
|
@@ -29,27 +29,26 @@ export type GalleryOverlay = {
|
|
|
29
29
|
};
|
|
30
30
|
export type GallerySelectionState = RecordSelectionState<GalleryRecord>;
|
|
31
31
|
export type GallerySelectionChangeHandler = (selection: GallerySelectionState) => void;
|
|
32
|
-
interface GalleryProps extends UIProps {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
export interface GalleryProps extends UIProps {
|
|
33
|
+
records?: GalleryRecord[];
|
|
34
|
+
header?: string | React.ReactNode;
|
|
35
|
+
footer?: string | React.ReactNode;
|
|
36
36
|
overlays?: GalleryOverlay[];
|
|
37
|
-
|
|
37
|
+
onRowClick?: (record: GalleryRecord) => void;
|
|
38
38
|
onSelectionChange?: GallerySelectionChangeHandler;
|
|
39
39
|
sortable?: boolean | OrderConfig;
|
|
40
40
|
pagination?: PaginationParams;
|
|
41
41
|
scrollToTopOnChange?: boolean;
|
|
42
42
|
scrollBehavior?: ScrollBehavior;
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
gap?: 0 | 1 | 2 | 3 | 4 | 5;
|
|
44
|
+
columns?: 1 | 2 | 3 | 4 | 6;
|
|
45
45
|
groupBy?: string | string[];
|
|
46
46
|
selectedKeys?: string[];
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
selectedClass?: string;
|
|
47
|
+
scrollClassName?: string;
|
|
48
|
+
headerClassName?: string;
|
|
49
|
+
bodyClassName?: string;
|
|
50
|
+
footerClassName?: string;
|
|
51
|
+
selectedClassName?: string;
|
|
53
52
|
}
|
|
54
|
-
declare const Gallery: ({
|
|
53
|
+
declare const Gallery: ({ records, header, footer, overlays, onRowClick, onSelectionChange, sortable, pagination, gap, columns, groupBy, selectedKeys, before, after, wrapperClassName, className, headerClassName, scrollClassName, bodyClassName, footerClassName, selectedClassName }: GalleryProps) => React.JSX.Element;
|
|
55
54
|
export default Gallery;
|
|
@@ -17,5 +17,5 @@ type ColProps = ContainerProps & {
|
|
|
17
17
|
export declare const Wrapper: ({ children, className, style, onClick, }: ContainerProps) => React.JSX.Element;
|
|
18
18
|
export declare const Container: ({ children, className, style }: ContainerProps) => React.JSX.Element;
|
|
19
19
|
export declare const Row: ({ children, className, style }: ContainerProps) => React.JSX.Element;
|
|
20
|
-
export declare const Col: ({ children, className, style, xxl, xl, lg, md, sm, xs }: ColProps) => React.JSX.Element;
|
|
20
|
+
export declare const Col: ({ children, className, style, defaultSize, xxl, xl, lg, md, sm, xs }: ColProps) => React.JSX.Element;
|
|
21
21
|
export {};
|
|
@@ -8,6 +8,8 @@ interface IconProps {
|
|
|
8
8
|
/** Override the global icon provider for this instance only */
|
|
9
9
|
provider?: IconProviderAdapter;
|
|
10
10
|
label?: string;
|
|
11
|
+
/** Provider-specific variant — e.g. PhosphorWeight: 'thin'|'light'|'regular'|'bold'|'fill'|'duotone'. Ignored by providers that don't support it. */
|
|
12
|
+
weight?: string;
|
|
11
13
|
}
|
|
12
|
-
declare const Icon: ({ name, size, className, style, provider: overrideProvider, label }: IconProps) => React.JSX.Element | null;
|
|
14
|
+
declare const Icon: ({ name, size, className, style, provider: overrideProvider, label, weight }: IconProps) => React.JSX.Element | null;
|
|
13
15
|
export default Icon;
|
|
@@ -15,5 +15,5 @@ type ImageProps = {
|
|
|
15
15
|
srcset?: string;
|
|
16
16
|
sizes?: string;
|
|
17
17
|
} & UIProps;
|
|
18
|
-
declare const Image: ({ src, placeholder, label, title, fit, position, feedback, width, height, srcset, sizes,
|
|
18
|
+
declare const Image: ({ src, placeholder, label, title, fit, position, feedback, width, height, srcset, sizes, before, after, wrapperClassName, className }: ImageProps) => React.JSX.Element;
|
|
19
19
|
export default Image;
|
|
@@ -12,5 +12,5 @@ interface ImageAvatarProps extends UIProps {
|
|
|
12
12
|
badge?: BadgeDescriptor;
|
|
13
13
|
feedback?: React.ReactNode;
|
|
14
14
|
}
|
|
15
|
-
declare const ImageAvatar: ({ src, width, height, title, alt, fit, badge, feedback,
|
|
15
|
+
declare const ImageAvatar: ({ src, width, height, title, alt, fit, badge, feedback, before, after, wrapperClassName, className, }: ImageAvatarProps) => React.JSX.Element;
|
|
16
16
|
export default ImageAvatar;
|
|
@@ -7,5 +7,5 @@ interface LoaderProps extends UIProps {
|
|
|
7
7
|
title?: string;
|
|
8
8
|
description?: string;
|
|
9
9
|
}
|
|
10
|
-
declare function Loader({ children, show, icon, title, description,
|
|
10
|
+
declare function Loader({ children, show, icon, title, description, before, after, wrapperClassName, className }: LoaderProps): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
11
11
|
export default Loader;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface LocaleSwitcherProps {
|
|
3
|
+
/** Icon name passed to the Icon component. Default: 'Globe'. */
|
|
4
|
+
icon?: string;
|
|
5
|
+
/** Optional visible label rendered before the select. */
|
|
6
|
+
label?: string;
|
|
7
|
+
/** Override display names for locale codes. Merged with built-in defaults. */
|
|
8
|
+
labels?: Record<string, string>;
|
|
9
|
+
/** 'code' shows abbreviated codes (EN, IT). 'full' shows the full language name. Default: 'code'. */
|
|
10
|
+
appearance?: 'code' | 'full';
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const LocaleSwitcher: ({ icon, label, labels, appearance, className }: LocaleSwitcherProps) => React.JSX.Element | null;
|
|
14
|
+
export default LocaleSwitcher;
|
|
@@ -1,34 +1,61 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { MotionUIProps } from '../types';
|
|
3
|
-
export type ModalSaveHandler = (e: React.MouseEvent<
|
|
4
|
-
export type ModalDeleteHandler = (e: React.MouseEvent<
|
|
5
|
-
|
|
3
|
+
export type ModalSaveHandler = (e: React.MouseEvent<HTMLElement>) => Promise<boolean>;
|
|
4
|
+
export type ModalDeleteHandler = (e: React.MouseEvent<HTMLElement>) => Promise<boolean>;
|
|
5
|
+
/** Props for the `<Modal>` component. */
|
|
6
|
+
export interface ModalProps extends MotionUIProps {
|
|
7
|
+
/** Modal body content. */
|
|
6
8
|
children: React.ReactNode;
|
|
9
|
+
/** Text or element rendered as the modal title in the header. */
|
|
7
10
|
title?: React.ReactNode;
|
|
11
|
+
/** Fully custom header content (replaces the default title row). */
|
|
8
12
|
header?: React.ReactNode;
|
|
13
|
+
/** Fully custom footer content. Pass `false` to hide the footer bar entirely. */
|
|
9
14
|
footer?: React.ReactNode | false;
|
|
15
|
+
/** Called when the modal should close (×, backdrop click, Cancel). */
|
|
10
16
|
onClose?: () => void;
|
|
17
|
+
/** Async save handler wired to the Save button. Return `true` to close. */
|
|
11
18
|
onSave?: ModalSaveHandler;
|
|
19
|
+
/** Async delete handler wired to the Delete button. Return `true` to close. */
|
|
12
20
|
onDelete?: ModalDeleteHandler;
|
|
13
|
-
|
|
21
|
+
/** Modal width: `"sm"` · `"md"` · `"lg"` · `"xl"` · `"2xl"` · `"fullscreen"`. */
|
|
22
|
+
size?: "sm" | "md" | "lg" | "xl" | "2xl" | "fullscreen";
|
|
23
|
+
/** Anchor position: `"center"` (default) · `"top"` · `"left"` · `"right"` · `"bottom"`. */
|
|
14
24
|
position?: "center" | "top" | "left" | "right" | "bottom";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
/** Show a fullscreen toggle button in the header. Defaults to `false`. */
|
|
26
|
+
allowFullscreen?: boolean;
|
|
27
|
+
/** Show the Cancel button in the footer. Defaults to `true`. */
|
|
28
|
+
showCancel?: boolean;
|
|
29
|
+
/** Extra CSS classes on the header container. */
|
|
30
|
+
headerClassName?: string;
|
|
31
|
+
/** Extra CSS classes on the title element. */
|
|
32
|
+
titleClassName?: string;
|
|
33
|
+
/** Extra CSS classes on the subtitle element. */
|
|
34
|
+
subtitleClassName?: string;
|
|
35
|
+
/** Extra CSS classes on the body container. */
|
|
36
|
+
bodyClassName?: string;
|
|
37
|
+
/** Extra CSS classes on the footer container. */
|
|
38
|
+
footerClassName?: string;
|
|
39
|
+
/** Close the modal when the user clicks the backdrop. Defaults to `true`. */
|
|
22
40
|
closeOnBackdrop?: boolean;
|
|
41
|
+
/** CSS `z-index` override (useful when stacking modals). */
|
|
42
|
+
zIndex?: number;
|
|
43
|
+
/**
|
|
44
|
+
* When `true` this modal is visually "behind" another modal stacked on top.
|
|
45
|
+
* The panel becomes 10% wider (so its edge peeks out from behind the upper modal),
|
|
46
|
+
* gains a semi-transparent dimming overlay, its backdrop is suppressed (the upper
|
|
47
|
+
* modal's backdrop handles interaction blocking), and its cover becomes non-interactive.
|
|
48
|
+
*/
|
|
49
|
+
stackedBehind?: boolean;
|
|
23
50
|
}
|
|
24
|
-
interface ModalYesNoProps {
|
|
51
|
+
export interface ModalYesNoProps {
|
|
25
52
|
title?: React.ReactNode;
|
|
26
53
|
children: React.ReactNode;
|
|
27
|
-
onYes?: (e: React.MouseEvent<
|
|
28
|
-
onNo?: (e: React.MouseEvent<
|
|
54
|
+
onYes?: (e: React.MouseEvent<HTMLElement>) => Promise<boolean>;
|
|
55
|
+
onNo?: (e: React.MouseEvent<HTMLElement>) => Promise<boolean>;
|
|
29
56
|
onClose?: () => void;
|
|
30
57
|
}
|
|
31
|
-
interface ModalOkProps {
|
|
58
|
+
export interface ModalOkProps {
|
|
32
59
|
children: React.ReactNode;
|
|
33
60
|
title?: React.ReactNode;
|
|
34
61
|
onClose?: () => void;
|
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { UIProps } from "../index";
|
|
3
|
+
/**
|
|
4
|
+
* Pagination configuration shared between `<Pagination>` and `<Grid pagination={...}>`.
|
|
5
|
+
* All fields are optional — omit `limit` to disable pagination entirely.
|
|
6
|
+
*/
|
|
3
7
|
export type PaginationParams = {
|
|
8
|
+
/** Initial page (1-based). Defaults to `1`. */
|
|
4
9
|
page?: number;
|
|
10
|
+
/** Records per page. Omit to show all records unpaginated. */
|
|
5
11
|
limit?: number;
|
|
6
|
-
|
|
12
|
+
/** Maximum page-number buttons to render before collapsing to ellipsis. */
|
|
13
|
+
maxPageButtons?: number;
|
|
14
|
+
/** Scroll the page back to the top on page change. */
|
|
7
15
|
scrollToTopOnChange?: boolean;
|
|
16
|
+
/** `scrollIntoView` scroll behavior when `scrollToTopOnChange` is enabled. */
|
|
8
17
|
scrollBehavior?: ScrollBehavior;
|
|
18
|
+
/** Horizontal alignment of the page-button bar: `"start"`, `"center"`, or `"end"`. */
|
|
9
19
|
align?: "start" | "center" | "end";
|
|
20
|
+
/** Stick the pagination bar to the bottom of the viewport while scrolling. */
|
|
10
21
|
sticky?: boolean;
|
|
11
22
|
};
|
|
12
23
|
interface PaginationProps<T> extends UIProps, PaginationParams {
|
|
13
|
-
|
|
24
|
+
records: T[];
|
|
14
25
|
children: (pageRecords: T[], pageOffset: number) => React.ReactNode;
|
|
15
26
|
appendTo?: HTMLElement | null;
|
|
16
27
|
}
|
|
17
|
-
declare const Pagination: <T>({
|
|
28
|
+
declare const Pagination: <T>({ records, children, limit, page, maxPageButtons, appendTo, before, after, className, wrapperClassName, scrollToTopOnChange, scrollBehavior, align, sticky }: PaginationProps<T>) => React.JSX.Element;
|
|
18
29
|
export default Pagination;
|
|
@@ -3,17 +3,17 @@ import { UIProps } from '../..';
|
|
|
3
3
|
type ColorType = "info" | "success" | "warning" | "danger" | "primary" | "secondary" | "light" | "dark";
|
|
4
4
|
type ShapeType = "bar" | "circle";
|
|
5
5
|
interface PercentageProps extends UIProps {
|
|
6
|
-
|
|
6
|
+
value?: number;
|
|
7
7
|
max?: number;
|
|
8
8
|
min?: number;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
appearance?: ShapeType;
|
|
10
|
+
variant?: ColorType;
|
|
11
|
+
trackVariant?: ColorType;
|
|
12
12
|
thickness?: number;
|
|
13
13
|
showText?: boolean;
|
|
14
14
|
size?: number;
|
|
15
15
|
fontSize?: number;
|
|
16
16
|
label?: string;
|
|
17
17
|
}
|
|
18
|
-
declare const Percentage: ({
|
|
18
|
+
declare const Percentage: ({ value, max, min, appearance, variant, trackVariant, thickness, showText, size, fontSize, label, before, after, wrapperClassName, className }: PercentageProps) => React.JSX.Element;
|
|
19
19
|
export default Percentage;
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FieldOnChange } from '../widgets/Form';
|
|
3
|
+
import { RecordProps } from '../../providers/data/DataProvider';
|
|
4
|
+
export interface RepeatCallbackArgs {
|
|
5
|
+
record: RecordProps;
|
|
6
|
+
records: RecordProps[];
|
|
7
|
+
index: number;
|
|
8
|
+
remove: () => void;
|
|
9
|
+
}
|
|
3
10
|
interface RepeatProps {
|
|
4
11
|
name: string;
|
|
5
|
-
children: React.ReactNode | ((
|
|
6
|
-
value?:
|
|
12
|
+
children: React.ReactNode | ((args: RepeatCallbackArgs) => React.ReactNode);
|
|
13
|
+
value?: RecordProps[];
|
|
7
14
|
onChange?: FieldOnChange;
|
|
8
|
-
onAdd?: (value:
|
|
15
|
+
onAdd?: (value: RecordProps[]) => void;
|
|
9
16
|
onRemove?: (index: number) => void;
|
|
10
17
|
className?: string;
|
|
11
18
|
layout?: 'vertical' | 'horizontal' | 'inline';
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
minItems?: number;
|
|
20
|
+
maxItems?: number;
|
|
14
21
|
label?: string;
|
|
22
|
+
labelPosition?: 'top' | 'bottom';
|
|
23
|
+
hideRemoveButton?: boolean;
|
|
15
24
|
readOnly?: boolean;
|
|
16
25
|
}
|
|
17
|
-
declare const Repeat: ({ name, children, onChange, onAdd, onRemove, className, layout,
|
|
26
|
+
declare const Repeat: ({ name, children, onChange, onAdd, onRemove, className, layout, minItems, maxItems, label, labelPosition, hideRemoveButton, readOnly, }: RepeatProps) => React.JSX.Element;
|
|
18
27
|
export default Repeat;
|
|
@@ -1,19 +1,46 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { MotionUIProps } from '../types';
|
|
3
3
|
export type TabPosition = "default" | "top" | "left" | "right" | "bottom";
|
|
4
|
+
/** Props for a single `<TabItem>` inside a `<Tab>`. */
|
|
4
5
|
interface TabItemProps {
|
|
6
|
+
/** Tab header label (text or ReactNode). */
|
|
5
7
|
label: React.ReactNode;
|
|
8
|
+
/** Tab panel content. */
|
|
6
9
|
children: React.ReactNode;
|
|
7
10
|
}
|
|
8
11
|
interface TabLayoutProps {
|
|
9
12
|
menu: React.ReactNode;
|
|
10
13
|
content: React.ReactNode;
|
|
14
|
+
menuClassName?: string;
|
|
15
|
+
contentClassName?: string;
|
|
11
16
|
}
|
|
17
|
+
type TabLayoutConfig = {
|
|
18
|
+
shellClassName: string;
|
|
19
|
+
menuClassName: string;
|
|
20
|
+
contentClassName: string;
|
|
21
|
+
itemClassName: string;
|
|
22
|
+
triggerClassName: string;
|
|
23
|
+
activeTriggerClassName: string;
|
|
24
|
+
inactiveTriggerClassName: string;
|
|
25
|
+
};
|
|
26
|
+
/** Props for the `<Tab>` container. */
|
|
12
27
|
interface TabProps extends MotionUIProps {
|
|
28
|
+
/** `<TabItem>` children that define the tabs. */
|
|
13
29
|
children: React.ReactNode;
|
|
14
|
-
|
|
15
|
-
|
|
30
|
+
/** 0-based index of the initially selected tab. Defaults to `0`. */
|
|
31
|
+
defaultIndex?: number;
|
|
32
|
+
/** Called with the new index whenever the active tab changes. */
|
|
33
|
+
onChange?: (index: number) => void;
|
|
34
|
+
/** Spatial layout of the tab bar: `"default"` (underline top), `"top"`, `"left"`, `"right"`, `"bottom"`. */
|
|
35
|
+
layout?: TabPosition;
|
|
36
|
+
/** Additional classes applied to the tablist container. */
|
|
37
|
+
menuClassName?: string;
|
|
38
|
+
/** Additional classes applied to the active pane wrapper. */
|
|
39
|
+
contentClassName?: string;
|
|
16
40
|
}
|
|
41
|
+
export declare function getTabLayoutConfig(layout: TabPosition): TabLayoutConfig;
|
|
42
|
+
export declare function getTabTriggerClassName(layout: TabPosition, active: boolean, className?: string): string;
|
|
43
|
+
export declare function getTabPaneClassName(className?: string): string;
|
|
17
44
|
export declare const TabLayouts: Record<TabPosition, (props: TabLayoutProps) => JSX.Element>;
|
|
18
45
|
export declare const TabItem: React.FC<TabItemProps>;
|
|
19
46
|
declare const Tab: React.FC<TabProps>;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TabPosition } from './Tab';
|
|
3
3
|
import { FieldOnChange } from '../widgets/Form';
|
|
4
|
+
import { RecordProps } from '../../providers/data/DataProvider';
|
|
4
5
|
interface TabDynamicProps {
|
|
5
|
-
children: React.ReactNode | ((record:
|
|
6
|
+
children: React.ReactNode | ((record: RecordProps) => React.ReactNode);
|
|
6
7
|
name: string;
|
|
7
8
|
onChange?: FieldOnChange;
|
|
8
|
-
onAdd?: (value:
|
|
9
|
+
onAdd?: (value: RecordProps[]) => void;
|
|
9
10
|
onRemove?: (index: number) => void;
|
|
10
|
-
value?:
|
|
11
|
+
value?: RecordProps[];
|
|
11
12
|
label?: string;
|
|
12
13
|
min?: number;
|
|
13
14
|
max?: number;
|
|
@@ -19,25 +19,26 @@ export type TableSelectionState = RecordSelectionState<RecordProps>;
|
|
|
19
19
|
export type TableSelectionMode = 'single' | 'multiple';
|
|
20
20
|
export type TableSelectionChangeHandler = (selection: TableSelectionState) => void;
|
|
21
21
|
export type TableReorderHandler = (reorderedRecords: RecordArray, meta: TableReorderMeta) => void;
|
|
22
|
-
interface TableProps extends UIProps {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
export interface TableProps extends UIProps {
|
|
23
|
+
columns?: TableHeaderProp[];
|
|
24
|
+
records?: RecordArray;
|
|
25
|
+
footer?: string | React.ReactNode;
|
|
26
|
+
onRowClick?: (record: RecordProps) => void;
|
|
27
27
|
onReorder?: TableReorderHandler;
|
|
28
28
|
onSelectionChange?: TableSelectionChangeHandler;
|
|
29
|
-
|
|
29
|
+
selection?: TableSelectionMode;
|
|
30
30
|
sortable?: boolean | OrderConfig;
|
|
31
31
|
pagination?: PaginationParams;
|
|
32
32
|
activeKey?: string | null;
|
|
33
33
|
selectedKeys?: string[];
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
groupBy?: string | string[];
|
|
35
|
+
headerClassName?: string;
|
|
36
|
+
bodyClassName?: string;
|
|
37
|
+
footerClassName?: string;
|
|
38
|
+
heightClassName?: string;
|
|
39
|
+
scrollClassName?: string;
|
|
40
|
+
selectedClassName?: string;
|
|
41
|
+
renderCell?: (record: RecordProps, key: string, absoluteIndex: number) => React.ReactNode;
|
|
41
42
|
}
|
|
42
|
-
declare function Table({
|
|
43
|
+
declare function Table({ columns, records, footer, onRowClick, onReorder, onSelectionChange, selection, sortable, pagination, activeKey, selectedKeys, groupBy, before, after, wrapperClassName, className, headerClassName, bodyClassName, footerClassName, heightClassName, scrollClassName, selectedClassName, renderCell }: TableProps): React.JSX.Element;
|
|
43
44
|
export default Table;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormFieldProps } from '../../widgets/Form';
|
|
3
|
+
import type { FieldValue } from '../../../providers/data/DataProvider';
|
|
4
|
+
export type CodeEditorLanguage = 'liquid' | 'html' | 'json' | 'js' | 'ts' | 'css';
|
|
5
|
+
export interface CodeSyntaxErrorDetails {
|
|
6
|
+
language: CodeEditorLanguage;
|
|
7
|
+
from: number;
|
|
8
|
+
to: number;
|
|
9
|
+
line: number;
|
|
10
|
+
column: number;
|
|
11
|
+
nodeName?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class CodeSyntaxError extends Error {
|
|
14
|
+
readonly language: CodeEditorLanguage;
|
|
15
|
+
readonly from: number;
|
|
16
|
+
readonly to: number;
|
|
17
|
+
readonly line: number;
|
|
18
|
+
readonly column: number;
|
|
19
|
+
readonly nodeName?: string;
|
|
20
|
+
constructor(message: string, details: CodeSyntaxErrorDetails);
|
|
21
|
+
}
|
|
22
|
+
export interface CodeValidationResult {
|
|
23
|
+
valid: boolean;
|
|
24
|
+
error?: CodeSyntaxError;
|
|
25
|
+
}
|
|
26
|
+
export declare const validateCodeSyntax: (code: string, language: CodeEditorLanguage) => Promise<void>;
|
|
27
|
+
export declare const getCodeValidationResult: (code: string, language: CodeEditorLanguage) => Promise<CodeValidationResult>;
|
|
28
|
+
export interface CodeEditorProps extends FormFieldProps {
|
|
29
|
+
language?: CodeEditorLanguage;
|
|
30
|
+
placeholder?: string;
|
|
31
|
+
minHeight?: number;
|
|
32
|
+
maxHeight?: number;
|
|
33
|
+
label?: string;
|
|
34
|
+
required?: boolean;
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
feedback?: string;
|
|
37
|
+
labelClassName?: string;
|
|
38
|
+
validateSyntax?: boolean;
|
|
39
|
+
validator?: (value: FieldValue) => string | undefined | Promise<string | undefined>;
|
|
40
|
+
extensions?: unknown[];
|
|
41
|
+
}
|
|
42
|
+
export declare const CodeEditor: React.FC<CodeEditorProps>;
|
|
43
|
+
export default CodeEditor;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { UIProps } from '../../types';
|
|
3
|
+
export interface ContextMenuItem {
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
icon?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface EditorContext {
|
|
9
|
+
textBeforeCaret: string;
|
|
10
|
+
textAfterCaret: string;
|
|
11
|
+
insert: (text: string) => void;
|
|
12
|
+
replace: (start: number, end: number, text: string) => void;
|
|
13
|
+
}
|
|
14
|
+
interface ContextMenuProps extends UIProps {
|
|
15
|
+
trigger: string;
|
|
16
|
+
searchable?: boolean;
|
|
17
|
+
onSelect?: (item: ContextMenuItem, context: EditorContext) => void;
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
interface ContextMenuItemProps extends UIProps {
|
|
21
|
+
label: string;
|
|
22
|
+
value: string;
|
|
23
|
+
icon?: string;
|
|
24
|
+
}
|
|
25
|
+
interface ContextMenuHeadingProps {
|
|
26
|
+
children: React.ReactNode;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
interface ContextMenuSeparatorProps {
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
type ContextMenuComponent = React.FC<ContextMenuProps> & {
|
|
33
|
+
Item: React.FC<ContextMenuItemProps>;
|
|
34
|
+
Heading: React.FC<ContextMenuHeadingProps>;
|
|
35
|
+
Separator: React.FC<ContextMenuSeparatorProps>;
|
|
36
|
+
};
|
|
37
|
+
declare const ContextMenu: ContextMenuComponent;
|
|
38
|
+
export { ContextMenu };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FileProps } from "./Upload";
|
|
3
|
-
interface CropProps {
|
|
3
|
+
export interface CropProps {
|
|
4
4
|
fileName: string;
|
|
5
5
|
type: string;
|
|
6
6
|
scale: string;
|
|
@@ -16,6 +16,8 @@ interface ImageProps extends FileProps {
|
|
|
16
16
|
export declare const CropImage: React.ForwardRefExoticComponent<{
|
|
17
17
|
img: ImageProps;
|
|
18
18
|
title?: string;
|
|
19
|
+
/** Custom aspect ratios. Defaults to { "1:1": 1, "3:4": 0.75, "4:3": 1.33 }. */
|
|
20
|
+
scales?: Record<string, number>;
|
|
19
21
|
} & React.RefAttributes<unknown>>;
|
|
20
22
|
interface FileNameEditorProps {
|
|
21
23
|
value: string;
|
|
@@ -23,5 +25,5 @@ interface FileNameEditorProps {
|
|
|
23
25
|
scale?: string;
|
|
24
26
|
label?: string;
|
|
25
27
|
}
|
|
26
|
-
export declare const FileNameEditor: ({ value, onChange, label, scale
|
|
28
|
+
export declare const FileNameEditor: ({ value, onChange, label, scale }: FileNameEditorProps) => React.JSX.Element;
|
|
27
29
|
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormFieldProps } from '../../widgets/Form';
|
|
3
|
+
export interface ImageFieldValue {
|
|
4
|
+
src: string;
|
|
5
|
+
alt: string;
|
|
6
|
+
srcset?: string;
|
|
7
|
+
sizes?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ImageFieldProps extends FormFieldProps {
|
|
10
|
+
/**
|
|
11
|
+
* Pixel widths to generate as responsive srcset variants.
|
|
12
|
+
* Each width produces a canvas-resized copy.
|
|
13
|
+
* Default: [] (no variants).
|
|
14
|
+
* Example: [400, 800]
|
|
15
|
+
*/
|
|
16
|
+
srcsetWidths?: number[];
|
|
17
|
+
/**
|
|
18
|
+
* Storage path prefix for uploading resized variants.
|
|
19
|
+
* Requires a StorageProvider ancestor.
|
|
20
|
+
* If omitted, variants are kept as local blob URLs.
|
|
21
|
+
* Example: "/content/posts/images"
|
|
22
|
+
*/
|
|
23
|
+
uploadPath?: string;
|
|
24
|
+
label?: string;
|
|
25
|
+
required?: boolean;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
feedback?: string;
|
|
28
|
+
id?: string;
|
|
29
|
+
labelClassName?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const ImageField: ({ name, onChange, defaultValue, label, required, disabled, feedback, srcsetWidths, uploadPath, id, labelClassName, inheritWrapperClassName, wrapperClassName, className, before, after, }: ImageFieldProps) => React.JSX.Element;
|