react-better-html 1.1.72 → 1.1.74
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/index.d.mts +686 -0
- package/dist/index.d.ts +686 -34
- package/dist/index.js +6302 -101
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6231 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +4 -3
- package/dist/components/BetterHtmlProvider.d.ts +0 -29
- package/dist/components/BetterHtmlProvider.js +0 -161
- package/dist/components/Button.d.ts +0 -65
- package/dist/components/Button.js +0 -166
- package/dist/components/Chip.d.ts +0 -20
- package/dist/components/Chip.js +0 -20
- package/dist/components/ColorThemeSwitch.d.ts +0 -15
- package/dist/components/ColorThemeSwitch.js +0 -54
- package/dist/components/Div.d.ts +0 -30
- package/dist/components/Div.js +0 -60
- package/dist/components/Divider.d.ts +0 -21
- package/dist/components/Divider.js +0 -20
- package/dist/components/Dropdown.d.ts +0 -48
- package/dist/components/Dropdown.js +0 -160
- package/dist/components/ExampleComponent.d.ts +0 -5
- package/dist/components/ExampleComponent.js +0 -10
- package/dist/components/Form.d.ts +0 -25
- package/dist/components/Form.js +0 -27
- package/dist/components/FormRow.d.ts +0 -32
- package/dist/components/FormRow.js +0 -28
- package/dist/components/Icon.d.ts +0 -13
- package/dist/components/Icon.js +0 -36
- package/dist/components/Image.d.ts +0 -18
- package/dist/components/Image.js +0 -44
- package/dist/components/InputField.d.ts +0 -44
- package/dist/components/InputField.js +0 -270
- package/dist/components/Label.d.ts +0 -11
- package/dist/components/Label.js +0 -14
- package/dist/components/Loader.d.ts +0 -34
- package/dist/components/Loader.js +0 -43
- package/dist/components/Modal.d.ts +0 -46
- package/dist/components/Modal.js +0 -123
- package/dist/components/PageHeader.d.ts +0 -18
- package/dist/components/PageHeader.js +0 -19
- package/dist/components/PageHolder.d.ts +0 -8
- package/dist/components/PageHolder.js +0 -15
- package/dist/components/Table.d.ts +0 -45
- package/dist/components/Table.js +0 -159
- package/dist/components/Text.d.ts +0 -18
- package/dist/components/Text.js +0 -38
- package/dist/components/ToggleInput.d.ts +0 -20
- package/dist/components/ToggleInput.js +0 -161
- package/dist/constants/app.d.ts +0 -2
- package/dist/constants/app.js +0 -6
- package/dist/constants/assets.d.ts +0 -2
- package/dist/constants/assets.js +0 -6
- package/dist/constants/countries.d.ts +0 -2
- package/dist/constants/countries.js +0 -1482
- package/dist/constants/css.d.ts +0 -1
- package/dist/constants/css.js +0 -1291
- package/dist/constants/icons.d.ts +0 -2
- package/dist/constants/icons.js +0 -85
- package/dist/constants/theme.d.ts +0 -2
- package/dist/constants/theme.js +0 -50
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -4
- package/dist/plugins/index.d.ts +0 -1
- package/dist/plugins/index.js +0 -17
- package/dist/plugins/react-router-dom.d.ts +0 -2
- package/dist/plugins/react-router-dom.js +0 -14
- package/dist/types/app.d.ts +0 -15
- package/dist/types/app.js +0 -2
- package/dist/types/asset.d.ts +0 -4
- package/dist/types/asset.js +0 -2
- package/dist/types/components.d.ts +0 -13
- package/dist/types/components.js +0 -2
- package/dist/types/config.d.ts +0 -23
- package/dist/types/config.js +0 -2
- package/dist/types/countries.d.ts +0 -7
- package/dist/types/countries.js +0 -2
- package/dist/types/icon.d.ts +0 -11
- package/dist/types/icon.js +0 -2
- package/dist/types/loader.d.ts +0 -4
- package/dist/types/loader.js +0 -2
- package/dist/types/other.d.ts +0 -1
- package/dist/types/other.js +0 -2
- package/dist/types/plugin.d.ts +0 -7
- package/dist/types/plugin.js +0 -2
- package/dist/types/theme.d.ts +0 -19
- package/dist/types/theme.js +0 -2
- package/dist/utils/functions.d.ts +0 -16
- package/dist/utils/functions.js +0 -77
- package/dist/utils/hooks.d.ts +0 -86
- package/dist/utils/hooks.js +0 -450
- package/dist/utils/logger.d.ts +0 -41
- package/dist/utils/logger.js +0 -66
- package/dist/utils/variableFunctions.d.ts +0 -6
- package/dist/utils/variableFunctions.js +0 -28
- package/dist/utils/withPlugin.d.ts +0 -4
- package/dist/utils/withPlugin.js +0 -15
package/dist/index.d.ts
CHANGED
|
@@ -1,34 +1,686 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
import { WebTarget } from 'styled-components';
|
|
2
|
+
import * as React$1 from 'react';
|
|
3
|
+
import React__default, { ComponentType, ComponentProps, ReactNode } from 'react';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
type PluginName = "react-router-dom";
|
|
7
|
+
type BetterHtmlPlugin = {
|
|
8
|
+
name: PluginName;
|
|
9
|
+
components?: Record<string, ComponentType<any>>;
|
|
10
|
+
initialize?: () => void;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
type ComponentStyle = React.CSSProperties;
|
|
14
|
+
type ComponentHoverStyle = {
|
|
15
|
+
[CSSProperty in keyof ComponentStyle as `${CSSProperty & string}Hover`]: ComponentStyle[CSSProperty];
|
|
16
|
+
};
|
|
17
|
+
type ComponentMarginProps = Pick<ComponentStyle, "margin" | "marginTop" | "marginBottom" | "marginLeft" | "marginRight" | "marginBlock" | "marginInline">;
|
|
18
|
+
type ComponentPropWithRef<ComponentRef, ComponentProps> = ComponentProps & {
|
|
19
|
+
ref?: React.Ref<ComponentRef>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/** Removes the given props from type */
|
|
23
|
+
type OmitProps<T, K extends keyof T> = Omit<T, K>;
|
|
24
|
+
/** Removes the given options from type */
|
|
25
|
+
type ExcludeOptions<T, K extends T> = Exclude<T, K>;
|
|
26
|
+
/** Picks only the selected values */
|
|
27
|
+
type PickValue<T, K extends T> = K;
|
|
28
|
+
/** Makes all object props optional (On the root) */
|
|
29
|
+
type PartialRecord<K extends keyof any, T> = Partial<Record<K, T>>;
|
|
30
|
+
/** Makes all object props optional (On the root and nested) */
|
|
31
|
+
type DeepPartialRecord<T> = {
|
|
32
|
+
[K in keyof T]?: T[K] extends object ? DeepPartialRecord<T[K]> : T[K];
|
|
33
|
+
};
|
|
34
|
+
/** returns only the required props */
|
|
35
|
+
type PickAllRequired<T, K extends keyof T> = Required<Pick<T, K>>;
|
|
36
|
+
type AnyOtherString = Omit<string & {}, "">;
|
|
37
|
+
|
|
38
|
+
type DivProps<Value> = {
|
|
39
|
+
value?: Value;
|
|
40
|
+
/** @default "div" */
|
|
41
|
+
as?: WebTarget;
|
|
42
|
+
/** @default false */
|
|
43
|
+
isTabAccessed?: boolean;
|
|
44
|
+
onClickWithValue?: (value: Value) => void;
|
|
45
|
+
} & OmitProps<React.ComponentProps<"div">, "style" | "defaultValue"> & ComponentStyle & ComponentHoverStyle;
|
|
46
|
+
type DivComponentType = {
|
|
47
|
+
<Value>(props: ComponentPropWithRef<HTMLDivElement, DivProps<Value>>): React.ReactElement;
|
|
48
|
+
row: <Value>(props: ComponentPropWithRef<HTMLDivElement, OmitProps<DivProps<Value>, "display" | "flexDirection"> & {
|
|
49
|
+
invertFlexDirection?: boolean;
|
|
50
|
+
}>) => React.ReactElement;
|
|
51
|
+
column: <Value>(props: ComponentPropWithRef<HTMLDivElement, OmitProps<DivProps<Value>, "display" | "flexDirection"> & {
|
|
52
|
+
invertFlexDirection?: boolean;
|
|
53
|
+
}>) => React.ReactElement;
|
|
54
|
+
grid: <Value>(props: ComponentPropWithRef<HTMLDivElement, OmitProps<DivProps<Value>, "display">>) => React.ReactElement;
|
|
55
|
+
box: <Value>(props: ComponentPropWithRef<HTMLDivElement, DivProps<Value>>) => React.ReactElement;
|
|
56
|
+
};
|
|
57
|
+
declare const DivComponent: DivComponentType;
|
|
58
|
+
declare const Div: typeof DivComponent & {
|
|
59
|
+
row: typeof DivComponent.row;
|
|
60
|
+
column: typeof DivComponent.column;
|
|
61
|
+
grid: typeof DivComponent.grid;
|
|
62
|
+
box: typeof DivComponent.box;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
type TextAs = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "label";
|
|
66
|
+
type TextProps = {
|
|
67
|
+
/** @default "p" */
|
|
68
|
+
as?: TextAs;
|
|
69
|
+
} & OmitProps<React.ComponentProps<"p">, "style"> & ComponentStyle & ComponentHoverStyle;
|
|
70
|
+
type TextComponentType = {
|
|
71
|
+
(props: ComponentPropWithRef<HTMLParagraphElement, TextProps>): React.ReactElement;
|
|
72
|
+
unknown: (props: ComponentPropWithRef<HTMLParagraphElement, TextProps>) => React.ReactElement;
|
|
73
|
+
oneLine: (props: ComponentPropWithRef<HTMLParagraphElement, TextProps>) => React.ReactElement;
|
|
74
|
+
};
|
|
75
|
+
declare const TextComponent: TextComponentType;
|
|
76
|
+
declare const Text: typeof TextComponent & {
|
|
77
|
+
unknown: typeof TextComponent.unknown;
|
|
78
|
+
oneLine: typeof TextComponent.oneLine;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
type Color = `#${string}` | "transparent";
|
|
82
|
+
type ColorName = "textPrimary" | "textSecondary" | "textLink" | "label" | "primary" | "secondary" | "accent" | "success" | "info" | "warn" | "error" | "base" | "backgroundBase" | "backgroundSecondary" | "backgroundContent" | "border";
|
|
83
|
+
type ColorTheme = "light" | "dark";
|
|
84
|
+
type Styles = {
|
|
85
|
+
space: number;
|
|
86
|
+
gap: number;
|
|
87
|
+
borderRadius: number;
|
|
88
|
+
fontFamily: string;
|
|
89
|
+
transition: string;
|
|
90
|
+
};
|
|
91
|
+
type Colors = Record<ColorName, Color>;
|
|
92
|
+
type Theme = {
|
|
93
|
+
styles: Styles;
|
|
94
|
+
colors: Colors;
|
|
95
|
+
};
|
|
96
|
+
type ThemeConfig = {
|
|
97
|
+
styles: Styles;
|
|
98
|
+
colors: Record<ColorTheme, Colors>;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
type LoaderProps = {
|
|
102
|
+
/** @default textPrimary */
|
|
103
|
+
color?: Color;
|
|
104
|
+
/** @default 16 */
|
|
105
|
+
size?: number;
|
|
106
|
+
/** @default 5 */
|
|
107
|
+
width?: number;
|
|
108
|
+
/** @default false */
|
|
109
|
+
disabled?: boolean;
|
|
110
|
+
} & OmitProps<DivProps<unknown>, "width" | "height" | "color" | "background" | "borderRadius" | "mask" | "WebkitMask" | "padding" | "animation" | "animationName">;
|
|
111
|
+
type LoaderComponentType = {
|
|
112
|
+
(props: LoaderProps): React.ReactElement;
|
|
113
|
+
box: (props: OmitProps<LoaderProps, "size"> & {
|
|
114
|
+
/** @default "Loading..." */
|
|
115
|
+
text?: string;
|
|
116
|
+
/** @default 20 */
|
|
117
|
+
size?: number;
|
|
118
|
+
}) => React.ReactElement;
|
|
119
|
+
text: (props: OmitProps<LoaderProps, "size"> & {
|
|
120
|
+
/** @default "Loading..." */
|
|
121
|
+
text?: string;
|
|
122
|
+
/** @default 14 */
|
|
123
|
+
size?: number;
|
|
124
|
+
}) => React.ReactElement;
|
|
125
|
+
};
|
|
126
|
+
declare const LoaderComponent: LoaderComponentType;
|
|
127
|
+
declare const Loader: typeof LoaderComponent & {
|
|
128
|
+
box: typeof LoaderComponent.box;
|
|
129
|
+
text: typeof LoaderComponent.text;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
type IconName = "XMark" | "uploadCloud" | "trash" | "chevronDown" | "eye" | "eyeDashed" | "magnifyingGlass" | "check";
|
|
133
|
+
type IconData = {
|
|
134
|
+
width: number;
|
|
135
|
+
height: number;
|
|
136
|
+
paths: (React.ComponentProps<"path"> & {
|
|
137
|
+
type: "fill" | "stroke";
|
|
138
|
+
})[];
|
|
139
|
+
};
|
|
140
|
+
type IconsConfig = Record<IconName, IconData> & {
|
|
141
|
+
[key: string]: IconData;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
type IconProps = {
|
|
145
|
+
name: IconName | AnyOtherString;
|
|
146
|
+
/** @default 16 */
|
|
147
|
+
size?: number;
|
|
148
|
+
} & OmitProps<React.ComponentProps<"svg">, "style" | "width" | "height" | "viewBox" | "fill" | "xmlns" | "name"> & ComponentStyle & ComponentHoverStyle;
|
|
149
|
+
type IconComponent = {
|
|
150
|
+
(props: ComponentPropWithRef<SVGSVGElement, IconProps>): React.ReactElement;
|
|
151
|
+
};
|
|
152
|
+
declare const _default$8: IconComponent;
|
|
153
|
+
|
|
154
|
+
type AssetName = "logo";
|
|
155
|
+
type AssetsConfig = Record<AssetName, string> & {
|
|
156
|
+
[key: string]: string;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
type ImageProps = {
|
|
160
|
+
name?: AssetName | AnyOtherString;
|
|
161
|
+
} & OmitProps<React.ComponentProps<"img">, "style"> & ComponentStyle & ComponentHoverStyle;
|
|
162
|
+
type ImageComponent = {
|
|
163
|
+
(props: ComponentPropWithRef<HTMLImageElement, ImageProps>): React.ReactElement;
|
|
164
|
+
profileImage: (props: ComponentPropWithRef<HTMLImageElement, OmitProps<ImageProps, "width" | "height"> & {
|
|
165
|
+
/** @default 40 */
|
|
166
|
+
size?: number;
|
|
167
|
+
}>) => React.ReactElement;
|
|
168
|
+
};
|
|
169
|
+
declare const Image: ImageComponent;
|
|
170
|
+
declare const _default$7: ImageComponent & {
|
|
171
|
+
profileImage: typeof Image.profileImage;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
type LoaderName = "";
|
|
175
|
+
type LoaderConfig = Record<LoaderName, boolean | undefined> & {
|
|
176
|
+
[key: string]: boolean | undefined;
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
type ButtonProps<Value> = {
|
|
180
|
+
text?: string;
|
|
181
|
+
value?: Value;
|
|
182
|
+
href?: string;
|
|
183
|
+
download?: string;
|
|
184
|
+
target?: React.ComponentProps<"a">["target"];
|
|
185
|
+
icon?: IconName | AnyOtherString;
|
|
186
|
+
/** @default "left" */
|
|
187
|
+
iconPosition?: "left" | "right";
|
|
188
|
+
/** @default Same as text color */
|
|
189
|
+
iconColor?: string;
|
|
190
|
+
/** @default 16 */
|
|
191
|
+
iconSize?: number;
|
|
192
|
+
image?: AssetName | AnyOtherString;
|
|
193
|
+
/** @default "left" */
|
|
194
|
+
imagePosition?: "left" | "right";
|
|
195
|
+
/** @default 16 */
|
|
196
|
+
imageWidth?: number;
|
|
197
|
+
/** @default undefined */
|
|
198
|
+
imageHeight?: number;
|
|
199
|
+
loaderName?: LoaderName | AnyOtherString;
|
|
200
|
+
/** @default 16 */
|
|
201
|
+
loaderSize?: number;
|
|
202
|
+
/** @default false */
|
|
203
|
+
isLoading?: boolean;
|
|
204
|
+
/** @default false */
|
|
205
|
+
disabled?: boolean;
|
|
206
|
+
/** @default false */
|
|
207
|
+
isSmall?: boolean;
|
|
208
|
+
/** @default false */
|
|
209
|
+
isSubmit?: boolean;
|
|
210
|
+
onClickWithValue?: (value: Value) => void;
|
|
211
|
+
} & OmitProps<React.ComponentProps<"button">, "style" | "defaultValue" | "translate" | "value"> & ComponentStyle & ComponentHoverStyle;
|
|
212
|
+
type ButtonComponent = {
|
|
213
|
+
<Value>(props: ButtonProps<Value>): React.ReactElement;
|
|
214
|
+
secondary: <Value>(props: ButtonProps<Value>) => React.ReactElement;
|
|
215
|
+
destructive: <Value>(props: ButtonProps<Value>) => React.ReactElement;
|
|
216
|
+
icon: <Value>(props: OmitProps<ButtonProps<Value>, "icon" | "width" | "height" | "isSmall"> & {
|
|
217
|
+
icon: IconName | AnyOtherString;
|
|
218
|
+
/** @default 16 */
|
|
219
|
+
size?: number;
|
|
220
|
+
/** @default "#000000" */
|
|
221
|
+
backgroundButtonColor?: string;
|
|
222
|
+
}) => React.ReactElement;
|
|
223
|
+
upload: <Value>(props: OmitProps<ButtonProps<Value>, "onClick"> & {
|
|
224
|
+
accept?: ComponentProps<"input">["accept"];
|
|
225
|
+
/** @default false */
|
|
226
|
+
multiple?: boolean;
|
|
227
|
+
onUpload?: (files: FileList | null) => void;
|
|
228
|
+
}) => React.ReactElement;
|
|
229
|
+
};
|
|
230
|
+
declare const ButtonComponent: ButtonComponent;
|
|
231
|
+
declare const Button: typeof ButtonComponent & {
|
|
232
|
+
secondary: typeof ButtonComponent.secondary;
|
|
233
|
+
destructive: typeof ButtonComponent.destructive;
|
|
234
|
+
icon: typeof ButtonComponent.icon;
|
|
235
|
+
upload: typeof ButtonComponent.upload;
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
type DividerProps = {
|
|
239
|
+
/** @default 1 */
|
|
240
|
+
width?: number;
|
|
241
|
+
/** @default border */
|
|
242
|
+
backgroundColor?: string;
|
|
243
|
+
} & ComponentMarginProps;
|
|
244
|
+
type VerticalDividerProps = DividerProps & {
|
|
245
|
+
/** @default "100%" */
|
|
246
|
+
height?: number;
|
|
247
|
+
};
|
|
248
|
+
type HorizontalDividerProps = DividerProps & {
|
|
249
|
+
text?: string;
|
|
250
|
+
/** @default textSecondary */
|
|
251
|
+
textColor?: string;
|
|
252
|
+
};
|
|
253
|
+
declare const _default$6: {
|
|
254
|
+
vertical: React$1.NamedExoticComponent<VerticalDividerProps>;
|
|
255
|
+
horizontal: React$1.NamedExoticComponent<HorizontalDividerProps>;
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
type ModalProps = {
|
|
259
|
+
/**
|
|
260
|
+
* If you want to have a small modal, you can use 660px as it looks good on most screens.
|
|
261
|
+
*
|
|
262
|
+
* @default 30% smaller than app.contentMaxWidth
|
|
263
|
+
* */
|
|
264
|
+
maxWidth?: number;
|
|
265
|
+
title?: string;
|
|
266
|
+
titleColor?: string;
|
|
267
|
+
description?: string;
|
|
268
|
+
descriptionColor?: string;
|
|
269
|
+
headerBackgroundColor?: string;
|
|
270
|
+
/** @requires ReactRouterDomPlugin */
|
|
271
|
+
name?: string;
|
|
272
|
+
overflow?: React.CSSProperties["overflow"];
|
|
273
|
+
onOpen?: () => void;
|
|
274
|
+
onClose?: () => void;
|
|
275
|
+
children?: React.ReactNode;
|
|
276
|
+
};
|
|
277
|
+
type ModalRef = {
|
|
278
|
+
open: () => void;
|
|
279
|
+
close: () => void;
|
|
280
|
+
isOpened: boolean;
|
|
281
|
+
};
|
|
282
|
+
type ModalComponent = {
|
|
283
|
+
(props: ComponentPropWithRef<ModalRef, ModalProps>): React.ReactElement;
|
|
284
|
+
confirmation: (props: ComponentPropWithRef<ModalRef, OmitProps<ModalProps, "maxWidth" | "children" | "overflow"> & {
|
|
285
|
+
continueButtonLoaderName?: LoaderName | AnyOtherString;
|
|
286
|
+
onContinue?: () => void;
|
|
287
|
+
onCancel?: () => void;
|
|
288
|
+
}>) => React.ReactElement;
|
|
289
|
+
destructive: (props: ComponentPropWithRef<ModalRef, OmitProps<ModalProps, "maxWidth" | "children" | "overflow"> & {
|
|
290
|
+
deleteButtonLoaderName?: LoaderName | AnyOtherString;
|
|
291
|
+
onDelete?: () => void;
|
|
292
|
+
onCancel?: () => void;
|
|
293
|
+
}>) => React.ReactElement;
|
|
294
|
+
};
|
|
295
|
+
declare const ModalComponent: ModalComponent;
|
|
296
|
+
declare const Modal: typeof ModalComponent & {
|
|
297
|
+
confirmation: typeof ModalComponent.confirmation;
|
|
298
|
+
destructive: typeof ModalComponent.destructive;
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
type PageHolderProps = {
|
|
302
|
+
/** @default false */
|
|
303
|
+
noMaxContentWidth?: boolean;
|
|
304
|
+
children?: React.ReactNode;
|
|
305
|
+
};
|
|
306
|
+
declare function PageHolder({ noMaxContentWidth, children }: PageHolderProps): react_jsx_runtime.JSX.Element;
|
|
307
|
+
declare const _default$5: React$1.MemoExoticComponent<typeof PageHolder>;
|
|
308
|
+
|
|
309
|
+
type PageHeaderProps = {
|
|
310
|
+
imageUrl?: string;
|
|
311
|
+
imageSize?: number;
|
|
312
|
+
title?: string;
|
|
313
|
+
titleAs?: TextAs;
|
|
314
|
+
titleRightElement?: React__default.ReactNode;
|
|
315
|
+
description?: string;
|
|
316
|
+
textAlign?: React__default.CSSProperties["textAlign"];
|
|
317
|
+
rightElement?: React__default.ReactNode;
|
|
318
|
+
/** @default false */
|
|
319
|
+
lightMode?: boolean;
|
|
320
|
+
} & Pick<ComponentMarginProps, "marginBottom">;
|
|
321
|
+
declare function PageHeader({ imageUrl, imageSize, title, titleAs, titleRightElement, description, textAlign, rightElement, lightMode, marginBottom, }: PageHeaderProps): react_jsx_runtime.JSX.Element;
|
|
322
|
+
declare const _default$4: React__default.MemoExoticComponent<typeof PageHeader>;
|
|
323
|
+
|
|
324
|
+
type ChipProps = {
|
|
325
|
+
text: string;
|
|
326
|
+
/** @default theme.colors.textPrimary */
|
|
327
|
+
color?: string;
|
|
328
|
+
/** @default backgroundSecondary */
|
|
329
|
+
backgroundColor?: string;
|
|
330
|
+
/** @default theme.styles.borderRadius / 1.3 */
|
|
331
|
+
borderRadius?: number;
|
|
332
|
+
};
|
|
333
|
+
type ChipComponentType = {
|
|
334
|
+
(props: ComponentPropWithRef<HTMLDivElement, ChipProps>): React.ReactElement;
|
|
335
|
+
circle: (props: ComponentPropWithRef<HTMLDivElement, OmitProps<ChipProps, "borderRadius">>) => React.ReactElement;
|
|
336
|
+
};
|
|
337
|
+
declare const ChipComponent: ChipComponentType;
|
|
338
|
+
declare const Chip: typeof ChipComponent & {
|
|
339
|
+
circle: typeof ChipComponent.circle;
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
type InputFieldProps = {
|
|
343
|
+
label?: string;
|
|
344
|
+
labelColor?: string;
|
|
345
|
+
errorText?: string;
|
|
346
|
+
infoText?: string;
|
|
347
|
+
leftIcon?: IconName | AnyOtherString;
|
|
348
|
+
rightIcon?: IconName | AnyOtherString;
|
|
349
|
+
insideInputFieldComponent?: React__default.ReactNode;
|
|
350
|
+
/** @default false */
|
|
351
|
+
withDebounce?: boolean;
|
|
352
|
+
/** @default 0.5s */
|
|
353
|
+
debounceDelay?: number;
|
|
354
|
+
onChangeValue?: (value: string) => void;
|
|
355
|
+
onClickRightIcon?: () => void;
|
|
356
|
+
holderRef?: React__default.ForwardedRef<HTMLDivElement>;
|
|
357
|
+
} & OmitProps<React__default.ComponentProps<"input">, "style" | "ref"> & ComponentStyle & ComponentHoverStyle;
|
|
358
|
+
type TextareaFieldProps = OmitProps<InputFieldProps, "type"> & OmitProps<React__default.ComponentProps<"textarea">, "style" | "ref">;
|
|
359
|
+
type InputFieldComponentType = {
|
|
360
|
+
(props: ComponentPropWithRef<HTMLInputElement, InputFieldProps>): React__default.ReactElement;
|
|
361
|
+
multiline: (props: ComponentPropWithRef<HTMLTextAreaElement, TextareaFieldProps>) => React__default.ReactElement;
|
|
362
|
+
email: (props: ComponentPropWithRef<HTMLInputElement, InputFieldProps>) => React__default.ReactElement;
|
|
363
|
+
password: (props: ComponentPropWithRef<HTMLInputElement, InputFieldProps>) => React__default.ReactElement;
|
|
364
|
+
search: (props: ComponentPropWithRef<HTMLInputElement, InputFieldProps>) => React__default.ReactElement;
|
|
365
|
+
phoneNumber: (props: ComponentPropWithRef<HTMLInputElement, OmitProps<InputFieldProps, "type">>) => React__default.ReactElement;
|
|
366
|
+
date: (props: ComponentPropWithRef<HTMLInputElement, InputFieldProps>) => React__default.ReactElement;
|
|
367
|
+
dateTime: (props: ComponentPropWithRef<HTMLInputElement, InputFieldProps>) => React__default.ReactElement;
|
|
368
|
+
time: (props: ComponentPropWithRef<HTMLInputElement, InputFieldProps>) => React__default.ReactElement;
|
|
369
|
+
};
|
|
370
|
+
declare const InputFieldComponent: InputFieldComponentType;
|
|
371
|
+
declare const InputField: typeof InputFieldComponent & {
|
|
372
|
+
multiline: typeof InputFieldComponent.multiline;
|
|
373
|
+
email: typeof InputFieldComponent.email;
|
|
374
|
+
password: typeof InputFieldComponent.password;
|
|
375
|
+
search: typeof InputFieldComponent.search;
|
|
376
|
+
phoneNumber: typeof InputFieldComponent.phoneNumber;
|
|
377
|
+
date: typeof InputFieldComponent.date;
|
|
378
|
+
dateTime: typeof InputFieldComponent.dateTime;
|
|
379
|
+
time: typeof InputFieldComponent.time;
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
type DropdownOption<Value, Data = unknown> = {
|
|
383
|
+
value: Value;
|
|
384
|
+
label: string;
|
|
385
|
+
/** @default false */
|
|
386
|
+
disabled?: boolean;
|
|
387
|
+
searchValues?: string[];
|
|
388
|
+
data?: Data;
|
|
389
|
+
};
|
|
390
|
+
type DropdownProps<Value, Data = unknown> = {
|
|
391
|
+
label?: string;
|
|
392
|
+
labelColor?: string;
|
|
393
|
+
errorText?: string;
|
|
394
|
+
infoText?: string;
|
|
395
|
+
/** @default false */
|
|
396
|
+
required?: boolean;
|
|
397
|
+
/** @default false */
|
|
398
|
+
disabled?: boolean;
|
|
399
|
+
options: DropdownOption<Value, Data>[];
|
|
400
|
+
value?: Value;
|
|
401
|
+
defaultValue?: Value;
|
|
402
|
+
placeholder?: string;
|
|
403
|
+
leftIcon?: IconName | AnyOtherString;
|
|
404
|
+
inputFieldClassName?: string;
|
|
405
|
+
/** @default false */
|
|
406
|
+
withSearch?: boolean;
|
|
407
|
+
/** @default false */
|
|
408
|
+
withDebounce?: boolean;
|
|
409
|
+
/** @default 0.5s */
|
|
410
|
+
debounceDelay?: number;
|
|
411
|
+
/** @default false */
|
|
412
|
+
debounceIsLoading?: boolean;
|
|
413
|
+
debounceMinimumSymbolsRequired?: number;
|
|
414
|
+
/** @default false */
|
|
415
|
+
withoutClearButton?: boolean;
|
|
416
|
+
onChange?: (value: Value | undefined) => void;
|
|
417
|
+
onChangeSearch?: (query: string) => void;
|
|
418
|
+
renderOption?: (option: DropdownOption<Value, Data>, index: number, isSelected: boolean) => React.ReactNode;
|
|
419
|
+
} & OmitProps<DivProps<unknown>, "onChange" | "defaultChecked">;
|
|
420
|
+
type DropdownComponentType = {
|
|
421
|
+
<Value, Data>(props: ComponentPropWithRef<HTMLDivElement, DropdownProps<Value, Data>>): React.ReactElement;
|
|
422
|
+
};
|
|
423
|
+
declare const DropdownComponent: DropdownComponentType;
|
|
424
|
+
declare const Dropdown: typeof DropdownComponent & {};
|
|
425
|
+
|
|
426
|
+
type ToggleInputRef = {};
|
|
427
|
+
type InternalToggleInputProps<Value> = {
|
|
428
|
+
label?: string;
|
|
429
|
+
labelColor?: string;
|
|
430
|
+
text?: string;
|
|
431
|
+
errorText?: string;
|
|
432
|
+
infoText?: string;
|
|
433
|
+
value?: Value;
|
|
434
|
+
onChange?: (checked: boolean, value?: Value) => void;
|
|
435
|
+
} & OmitProps<React.ComponentProps<"input">, "style" | "value" | "ref" | "onChange"> & ComponentStyle & ComponentHoverStyle;
|
|
436
|
+
type ToggleInputProps<Value> = ComponentPropWithRef<ToggleInputRef, OmitProps<InternalToggleInputProps<Value>, "type">>;
|
|
437
|
+
type ToggleInputComponentType = <Value>(props: ToggleInputProps<Value>) => React.ReactElement;
|
|
438
|
+
declare const _default$3: {
|
|
439
|
+
checkbox: ToggleInputComponentType;
|
|
440
|
+
radiobutton: ToggleInputComponentType;
|
|
441
|
+
switch: ToggleInputComponentType;
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
declare function usePageResize(): {
|
|
445
|
+
width: number;
|
|
446
|
+
height: number;
|
|
447
|
+
};
|
|
448
|
+
declare function usePageScroll(): {
|
|
449
|
+
scrollX: number;
|
|
450
|
+
scrollY: number;
|
|
451
|
+
};
|
|
452
|
+
declare function useMediaQuery(): {
|
|
453
|
+
size320: boolean;
|
|
454
|
+
size400: boolean;
|
|
455
|
+
size500: boolean;
|
|
456
|
+
size600: boolean;
|
|
457
|
+
size700: boolean;
|
|
458
|
+
size800: boolean;
|
|
459
|
+
size900: boolean;
|
|
460
|
+
size1000: boolean;
|
|
461
|
+
size1100: boolean;
|
|
462
|
+
size1200: boolean;
|
|
463
|
+
size1300: boolean;
|
|
464
|
+
size1400: boolean;
|
|
465
|
+
size1500: boolean;
|
|
466
|
+
size1600: boolean;
|
|
467
|
+
};
|
|
468
|
+
declare function useBooleanState(initialValue?: boolean): [
|
|
469
|
+
state: boolean,
|
|
470
|
+
actions: {
|
|
471
|
+
setState: React.Dispatch<React.SetStateAction<boolean>>;
|
|
472
|
+
setTrue: () => void;
|
|
473
|
+
setFalse: () => void;
|
|
474
|
+
toggle: () => void;
|
|
475
|
+
}
|
|
476
|
+
];
|
|
477
|
+
declare function useDebounceState<Value>(initialValue: Value, delay?: number): [value: Value, debouncedValue: Value, setValue: React.Dispatch<React.SetStateAction<Value>>, isLoading: boolean];
|
|
478
|
+
declare function useForm<FormFields extends Record<string | number, string | number | boolean | undefined>>(options: {
|
|
479
|
+
defaultValues: FormFields;
|
|
480
|
+
requiredFields?: (keyof FormFields)[];
|
|
481
|
+
onSubmit?: (values: FormFields) => void | Promise<void>;
|
|
482
|
+
validate?: (values: FormFields) => PartialRecord<keyof FormFields, string>;
|
|
483
|
+
}): {
|
|
484
|
+
values: FormFields;
|
|
485
|
+
errors: Partial<Record<keyof FormFields, string>>;
|
|
486
|
+
isSubmitting: boolean;
|
|
487
|
+
setFieldValue: <FieldName extends keyof FormFields>(field: FieldName, value: FormFields[FieldName] | undefined) => void;
|
|
488
|
+
setFieldsValue: (values: Partial<FormFields>) => void;
|
|
489
|
+
getInputFieldProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<HTMLInputElement, InputFieldProps>;
|
|
490
|
+
getTextAreaProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<HTMLTextAreaElement, TextareaFieldProps>;
|
|
491
|
+
getDropdownFieldProps: <FieldName extends keyof FormFields>(field: FieldName) => OmitProps<ComponentPropWithRef<HTMLDivElement, DropdownProps<FormFields[FieldName], unknown>>, "options">;
|
|
492
|
+
getCheckboxProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<ToggleInputRef, ToggleInputProps<FormFields[FieldName]>>;
|
|
493
|
+
getRadioButtonProps: <FieldName extends keyof FormFields>(field: FieldName, value: FormFields[FieldName]) => ComponentPropWithRef<ToggleInputRef, ToggleInputProps<FormFields[FieldName]>>;
|
|
494
|
+
getSwitchProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<ToggleInputRef, ToggleInputProps<FormFields[FieldName]>>;
|
|
495
|
+
focusField: (field: keyof FormFields) => void;
|
|
496
|
+
onSubmit: (event: React.FormEvent<HTMLFormElement>) => Promise<void>;
|
|
497
|
+
reset: () => void;
|
|
498
|
+
requiredFields: (keyof FormFields)[] | undefined;
|
|
499
|
+
isDirty: boolean;
|
|
500
|
+
isValid: boolean;
|
|
501
|
+
canSubmit: boolean;
|
|
502
|
+
};
|
|
503
|
+
declare function useUrlQuery(): {
|
|
504
|
+
setQuery: (query: Record<string, string | number>, keepHistory?: boolean) => void;
|
|
505
|
+
getQuery: (name: string) => string | null;
|
|
506
|
+
removeQuery: (name: string, keepHistory?: boolean) => void;
|
|
507
|
+
};
|
|
508
|
+
|
|
509
|
+
type FormProps = {
|
|
510
|
+
form?: OmitProps<ReturnType<typeof useForm>, "focusField">;
|
|
511
|
+
submitButtonText?: string;
|
|
512
|
+
submitButtonLoaderName?: LoaderName | AnyOtherString;
|
|
513
|
+
submitButtonId?: string;
|
|
514
|
+
/** @default false */
|
|
515
|
+
submitButtonIsDisabled?: boolean;
|
|
516
|
+
/** @default "right" */
|
|
517
|
+
actionButtonsLocation?: "left" | "center" | "right";
|
|
518
|
+
gap?: React.CSSProperties["gap"];
|
|
519
|
+
/** @default false */
|
|
520
|
+
isSubmitting?: boolean;
|
|
521
|
+
/** @default false */
|
|
522
|
+
isDestructive?: boolean;
|
|
523
|
+
onClickCancel?: () => void;
|
|
524
|
+
onSubmit?: (value: React.FormEvent<HTMLFormElement>) => void;
|
|
525
|
+
children?: React.ReactNode;
|
|
526
|
+
} & ComponentMarginProps;
|
|
527
|
+
declare function Form({ form, submitButtonText, submitButtonLoaderName, submitButtonId, submitButtonIsDisabled, actionButtonsLocation, gap, isSubmitting, isDestructive, onClickCancel, onSubmit, children, ...props }: FormProps): react_jsx_runtime.JSX.Element;
|
|
528
|
+
declare const _default$2: React$1.MemoExoticComponent<typeof Form>;
|
|
529
|
+
|
|
530
|
+
type LabelProps = {
|
|
531
|
+
text?: string;
|
|
532
|
+
/** @default false */
|
|
533
|
+
required?: boolean;
|
|
534
|
+
/** @default false */
|
|
535
|
+
isError?: boolean;
|
|
536
|
+
color?: string;
|
|
537
|
+
};
|
|
538
|
+
declare function Label({ text, required, isError, color }: LabelProps): react_jsx_runtime.JSX.Element;
|
|
539
|
+
declare const _default$1: React$1.MemoExoticComponent<typeof Label>;
|
|
540
|
+
|
|
541
|
+
type FormRowProps = {
|
|
542
|
+
oneItemOnly?: boolean;
|
|
543
|
+
/**
|
|
544
|
+
* @description Weather to break the two items into two separate lines on mobile or not
|
|
545
|
+
* @default false
|
|
546
|
+
*/
|
|
547
|
+
noBreakingPoint?: boolean;
|
|
548
|
+
gap?: React.CSSProperties["gap"];
|
|
549
|
+
children?: React.ReactNode;
|
|
550
|
+
} & ComponentMarginProps;
|
|
551
|
+
type FormRowComponentType = {
|
|
552
|
+
(props: ComponentPropWithRef<HTMLDivElement, FormRowProps>): React.ReactElement;
|
|
553
|
+
withTitle: (props: ComponentPropWithRef<HTMLDivElement, FormRowProps & {
|
|
554
|
+
icon?: IconName | AnyOtherString;
|
|
555
|
+
title?: string;
|
|
556
|
+
description?: string;
|
|
557
|
+
withActions?: boolean;
|
|
558
|
+
saveButtonLoaderName?: LoaderName | AnyOtherString;
|
|
559
|
+
resetButtonLoaderName?: LoaderName | AnyOtherString;
|
|
560
|
+
onClickSave?: () => void;
|
|
561
|
+
onClickReset?: () => void;
|
|
562
|
+
}>) => React.ReactElement;
|
|
563
|
+
};
|
|
564
|
+
declare const FormRowComponent: FormRowComponentType;
|
|
565
|
+
declare const FormRow: typeof FormRowComponent & {
|
|
566
|
+
withTitle: typeof FormRowComponent.withTitle;
|
|
567
|
+
};
|
|
568
|
+
|
|
569
|
+
type ColorThemeSwitchProps = {
|
|
570
|
+
/** @default false */
|
|
571
|
+
withMoon?: boolean;
|
|
572
|
+
className?: string;
|
|
573
|
+
} & ComponentMarginProps;
|
|
574
|
+
type ColorThemeSwitchComponentType = {
|
|
575
|
+
(props: ColorThemeSwitchProps): React.ReactElement;
|
|
576
|
+
withText: (props: ColorThemeSwitchProps) => React.ReactElement;
|
|
577
|
+
};
|
|
578
|
+
declare const ColorThemeSwitchComponent: ColorThemeSwitchComponentType;
|
|
579
|
+
declare const ColorThemeSwitch: typeof ColorThemeSwitchComponent & {
|
|
580
|
+
withText: typeof ColorThemeSwitchComponent.withText;
|
|
581
|
+
};
|
|
582
|
+
|
|
583
|
+
type TextColumn<DataItem> = {
|
|
584
|
+
type: "text";
|
|
585
|
+
keyName?: keyof DataItem;
|
|
586
|
+
format?: (item: DataItem, index: number) => string;
|
|
587
|
+
};
|
|
588
|
+
type ElementColumn<DataItem> = {
|
|
589
|
+
type: "element";
|
|
590
|
+
render?: (item: DataItem, index: number) => ReactNode;
|
|
591
|
+
};
|
|
592
|
+
type ImageColumn<DataItem> = {
|
|
593
|
+
type: "image";
|
|
594
|
+
keyName?: keyof DataItem;
|
|
595
|
+
} & ImageProps;
|
|
596
|
+
type CheckboxColumn = {
|
|
597
|
+
type: "checkbox";
|
|
598
|
+
} & ToggleInputProps<boolean>;
|
|
599
|
+
type TableColumn<DataItem> = {
|
|
600
|
+
label?: string;
|
|
601
|
+
width?: string | number;
|
|
602
|
+
minWidth?: string | number;
|
|
603
|
+
maxWidth?: string | number;
|
|
604
|
+
align?: "left" | "center" | "right";
|
|
605
|
+
} & (TextColumn<DataItem> | ElementColumn<DataItem> | ImageColumn<DataItem> | CheckboxColumn);
|
|
606
|
+
type TableProps<DataItem> = {
|
|
607
|
+
columns: TableColumn<DataItem>[];
|
|
608
|
+
data: DataItem[];
|
|
609
|
+
/** @default false */
|
|
610
|
+
isStriped?: boolean;
|
|
611
|
+
/** @default false */
|
|
612
|
+
withStickyHeader?: boolean;
|
|
613
|
+
/** @default "No data available" */
|
|
614
|
+
noDataItemsMessage?: string;
|
|
615
|
+
onClickRow?: (item: DataItem, index: number) => void;
|
|
616
|
+
onClickAllCheckboxes?: (checked: boolean) => void;
|
|
617
|
+
} & ComponentMarginProps;
|
|
618
|
+
type TableComponentType = {
|
|
619
|
+
<DataItem>(props: ComponentPropWithRef<HTMLDivElement, TableProps<DataItem>>): React.ReactElement;
|
|
620
|
+
};
|
|
621
|
+
declare const TableComponent: TableComponentType;
|
|
622
|
+
declare const Table: typeof TableComponent;
|
|
623
|
+
|
|
624
|
+
type AppConfig = {
|
|
625
|
+
contentMaxWidth: number;
|
|
626
|
+
};
|
|
627
|
+
type ComponentConfig<Subcomponents extends string> = {
|
|
628
|
+
[key in Subcomponents]?: ComponentStyle & ComponentHoverStyle;
|
|
629
|
+
};
|
|
630
|
+
type BetterHtmlConfig = {
|
|
631
|
+
app: AppConfig;
|
|
632
|
+
theme: ThemeConfig;
|
|
633
|
+
colorTheme: ColorTheme;
|
|
634
|
+
icons: Partial<IconsConfig>;
|
|
635
|
+
assets: Partial<AssetsConfig>;
|
|
636
|
+
loaders: Partial<LoaderConfig>;
|
|
637
|
+
components: {
|
|
638
|
+
button?: ComponentConfig<"default" | "secondary" | "destructive" | "icon" | "upload">;
|
|
639
|
+
};
|
|
640
|
+
};
|
|
641
|
+
|
|
642
|
+
declare const useBetterHtmlContext: () => BetterHtmlConfig;
|
|
643
|
+
declare const useTheme: () => {
|
|
644
|
+
colors: Colors;
|
|
645
|
+
styles: Styles;
|
|
646
|
+
};
|
|
647
|
+
declare const useLoader: (loaderName?: LoaderName | AnyOtherString) => boolean;
|
|
648
|
+
declare const useLoaderControls: () => {
|
|
649
|
+
startLoading: (loaderName: LoaderName | AnyOtherString) => void;
|
|
650
|
+
stopLoading: (loaderName: LoaderName | AnyOtherString) => void;
|
|
651
|
+
};
|
|
652
|
+
type BetterHtmlProviderValue = DeepPartialRecord<OmitProps<BetterHtmlConfig, "colorTheme">>;
|
|
653
|
+
type BetterHtmlProviderProps = {
|
|
654
|
+
value?: BetterHtmlProviderValue;
|
|
655
|
+
plugins?: BetterHtmlPlugin[];
|
|
656
|
+
children?: React.ReactNode;
|
|
657
|
+
};
|
|
658
|
+
declare function BetterHtmlProvider({ value, plugins: pluginsToUse, children }: BetterHtmlProviderProps): react_jsx_runtime.JSX.Element;
|
|
659
|
+
declare const _default: React$1.MemoExoticComponent<typeof BetterHtmlProvider>;
|
|
660
|
+
|
|
661
|
+
type BrowserName = "firefox" | "chrome" | "safari" | "edge" | "opera";
|
|
662
|
+
|
|
663
|
+
declare const generateRandomString: (stringLength: number, options?: {
|
|
664
|
+
/** @default true */
|
|
665
|
+
includeCapitalLetters?: boolean;
|
|
666
|
+
/** @default true */
|
|
667
|
+
includeLowerLetters?: boolean;
|
|
668
|
+
/** @default true */
|
|
669
|
+
includeNumbers?: boolean;
|
|
670
|
+
/** @default 1 */
|
|
671
|
+
dashSections?: number;
|
|
672
|
+
}) => string;
|
|
673
|
+
declare const getBrowser: () => BrowserName | undefined;
|
|
674
|
+
declare const formatPhoneNumber: (phoneNumber: string) => string;
|
|
675
|
+
declare const getFormErrorObject: <FormFields extends ReturnType<typeof useForm>["values"]>(formValues: FormFields) => PartialRecord<keyof FormFields, string>;
|
|
676
|
+
|
|
677
|
+
declare const loaderControls: {
|
|
678
|
+
startLoading: (loaderName: LoaderName | AnyOtherString) => void;
|
|
679
|
+
stopLoading: (loaderName: LoaderName | AnyOtherString) => void;
|
|
680
|
+
};
|
|
681
|
+
|
|
682
|
+
declare const isMobileDevice: boolean;
|
|
683
|
+
|
|
684
|
+
declare const reactRouterDomPlugin: BetterHtmlPlugin;
|
|
685
|
+
|
|
686
|
+
export { type AppConfig, type AssetName, type AssetsConfig, type BetterHtmlConfig, type BetterHtmlPlugin, _default as BetterHtmlProvider, type BetterHtmlProviderValue, type BrowserName, Button, type ButtonProps, Chip, type ChipProps, type Color, type ColorName, type ColorTheme, ColorThemeSwitch, type ColorThemeSwitchProps, type Colors, type DeepPartialRecord, Div, type DivProps, _default$6 as Divider, Dropdown, type DropdownOption, type DropdownProps, type ExcludeOptions, _default$2 as Form, type FormProps, FormRow, type FormRowProps, type HorizontalDividerProps, _default$8 as Icon, type IconName, type IconProps, type IconsConfig, _default$7 as Image, type ImageProps, InputField, type InputFieldProps, _default$1 as Label, type LabelProps, Loader, type LoaderConfig, type LoaderName, type LoaderProps, Modal, type ModalProps, type ModalRef, type OmitProps, _default$4 as PageHeader, type PageHeaderProps, _default$5 as PageHolder, type PageHolderProps, type PartialRecord, type PickAllRequired, type PickValue, type PluginName, type Styles, Table, type TableColumn, Text, type TextAs, type TextProps, type TextareaFieldProps, type Theme, type ThemeConfig, _default$3 as ToggleInput, type ToggleInputProps, type ToggleInputRef, type VerticalDividerProps, formatPhoneNumber, generateRandomString, getBrowser, getFormErrorObject, isMobileDevice, loaderControls, reactRouterDomPlugin, useBetterHtmlContext, useBooleanState, useDebounceState, useForm, useLoader, useLoaderControls, useMediaQuery, usePageResize, usePageScroll, useTheme, useUrlQuery };
|