@micromerce/formbuilder-react 1.0.986 → 1.0.989
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 +42 -42
- package/dist/formbuilder.js +71 -71
- package/dist/formbuilder.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/theme/FormBuilderThemeProvider.d.ts +76 -4
- package/dist/theme/index.d.ts +3 -3
- package/dist/theme/tokens.d.ts +12 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ import TrafficLightCardSelect from "./components/controls/TrafficLightCardSelect
|
|
|
16
16
|
import { useValueGenerator } from "./hooks/useValueGenerator/useValueGenerator";
|
|
17
17
|
import { queryControl } from "./components/QueryControl/data/defaultControls";
|
|
18
18
|
import { FormBuilderConfig } from "./types";
|
|
19
|
-
import { FormBuilderThemeProvider, FORM_BUILDER_TOKENS, toCssVars } from "./theme";
|
|
19
|
+
import { FormBuilderThemeProvider, FORM_BUILDER_TOKENS, LEGACY_CSS_VARS, toCssVars } from "./theme";
|
|
20
20
|
import type { FormBuilderTheme, FormBuilderThemeKey, FormBuilderThemePreset } from "./theme";
|
|
21
21
|
export type { FormBuilderTheme, FormBuilderThemeKey, FormBuilderThemePreset };
|
|
22
|
-
export { FormBuilderThemeProvider, FORM_BUILDER_TOKENS, toCssVars, FormBuilder, FormBuilderConfig, queryControl, Select, MultiSelect, Checkbox, ControlWrapper, FormFooter, Input, InputFreeSolo, FormList, FormGroup, MrnInput, PasswordInput, Textarea, TrafficLightCardSelect, useValueGenerator, };
|
|
22
|
+
export { FormBuilderThemeProvider, FORM_BUILDER_TOKENS, LEGACY_CSS_VARS, toCssVars, FormBuilder, FormBuilderConfig, queryControl, Select, MultiSelect, Checkbox, ControlWrapper, FormFooter, Input, InputFreeSolo, FormList, FormGroup, MrnInput, PasswordInput, Textarea, TrafficLightCardSelect, useValueGenerator, };
|
|
23
23
|
export default FormBuilder;
|
|
@@ -1,17 +1,89 @@
|
|
|
1
1
|
import React, { HTMLAttributes, ReactNode } from "react";
|
|
2
2
|
import { FormBuilderTheme, FormBuilderThemePreset } from "./tokens";
|
|
3
3
|
export interface FormBuilderThemeProviderProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
/** A ready-made token set: "
|
|
4
|
+
/** A ready-made token set: "legacy" is the look before the design system ("design" is the default). */
|
|
5
5
|
preset?: FormBuilderThemePreset;
|
|
6
6
|
/** Single token values; they win over the preset. */
|
|
7
7
|
theme?: FormBuilderTheme;
|
|
8
8
|
children?: ReactNode;
|
|
9
9
|
}
|
|
10
|
+
export interface FormBuilderThemeContextValue {
|
|
11
|
+
preset?: FormBuilderThemePreset;
|
|
12
|
+
theme?: FormBuilderTheme;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The theme of the nearest providers, for what the cascade does not reach: FormBuilder gives it
|
|
16
|
+
* to the tooltips and menus MUI renders into a portal under <body>. The inner preset wins, the
|
|
17
|
+
* tokens are merged.
|
|
18
|
+
*/
|
|
19
|
+
export declare const FormBuilderThemeContext: React.Context<FormBuilderThemeContextValue>;
|
|
20
|
+
export declare const useFormBuilderTheme: (preset?: FormBuilderThemePreset, theme?: FormBuilderTheme) => {
|
|
21
|
+
preset: FormBuilderThemePreset | undefined;
|
|
22
|
+
theme: {
|
|
23
|
+
value?: string | number | undefined;
|
|
24
|
+
error?: string | number | undefined;
|
|
25
|
+
placeholder?: string | number | undefined;
|
|
26
|
+
success?: string | number | undefined;
|
|
27
|
+
icon?: string | number | undefined;
|
|
28
|
+
label?: string | number | undefined;
|
|
29
|
+
primary?: string | number | undefined;
|
|
30
|
+
border?: string | number | undefined;
|
|
31
|
+
fontFamily?: string | number | undefined;
|
|
32
|
+
fontSize?: string | number | undefined;
|
|
33
|
+
background?: string | number | undefined;
|
|
34
|
+
radius?: string | number | undefined;
|
|
35
|
+
helper?: string | number | undefined;
|
|
36
|
+
accent?: string | number | undefined;
|
|
37
|
+
accentStrong?: string | number | undefined;
|
|
38
|
+
accentHover?: string | number | undefined;
|
|
39
|
+
accentDark?: string | number | undefined;
|
|
40
|
+
accentLight?: string | number | undefined;
|
|
41
|
+
onAccent?: string | number | undefined;
|
|
42
|
+
primaryDark?: string | number | undefined;
|
|
43
|
+
primaryLight?: string | number | undefined;
|
|
44
|
+
primaryHover?: string | number | undefined;
|
|
45
|
+
textPrimary?: string | number | undefined;
|
|
46
|
+
textSecondary?: string | number | undefined;
|
|
47
|
+
fieldText?: string | number | undefined;
|
|
48
|
+
fieldFontWeight?: string | number | undefined;
|
|
49
|
+
iconMuted?: string | number | undefined;
|
|
50
|
+
tooltipBackground?: string | number | undefined;
|
|
51
|
+
borderHover?: string | number | undefined;
|
|
52
|
+
borderFocus?: string | number | undefined;
|
|
53
|
+
borderLight?: string | number | undefined;
|
|
54
|
+
checkboxOff?: string | number | undefined;
|
|
55
|
+
switchOff?: string | number | undefined;
|
|
56
|
+
optionSelected?: string | number | undefined;
|
|
57
|
+
optionSelectedFocus?: string | number | undefined;
|
|
58
|
+
backgroundHover?: string | number | undefined;
|
|
59
|
+
backgroundReadonly?: string | number | undefined;
|
|
60
|
+
backgroundMuted?: string | number | undefined;
|
|
61
|
+
backgroundSubtle?: string | number | undefined;
|
|
62
|
+
errorText?: string | number | undefined;
|
|
63
|
+
errorBackground?: string | number | undefined;
|
|
64
|
+
alertText?: string | number | undefined;
|
|
65
|
+
alertBackground?: string | number | undefined;
|
|
66
|
+
danger?: string | number | undefined;
|
|
67
|
+
successBackground?: string | number | undefined;
|
|
68
|
+
errorFontSize?: string | number | undefined;
|
|
69
|
+
errorIcon?: string | number | undefined;
|
|
70
|
+
helperFontSize?: string | number | undefined;
|
|
71
|
+
inputHeight?: string | number | undefined;
|
|
72
|
+
inputPadding?: string | number | undefined;
|
|
73
|
+
labelWidth?: string | number | undefined;
|
|
74
|
+
labelGap?: string | number | undefined;
|
|
75
|
+
buttonHeight?: string | number | undefined;
|
|
76
|
+
buttonPadding?: string | number | undefined;
|
|
77
|
+
buttonRadius?: string | number | undefined;
|
|
78
|
+
buttonTextTransform?: string | number | undefined;
|
|
79
|
+
focusRing?: string | number | undefined;
|
|
80
|
+
fieldFocusShadow?: string | number | undefined;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
10
83
|
/**
|
|
11
84
|
* Themes every formbuilder component inside it. The tokens are CSS custom properties, so they
|
|
12
|
-
* cascade
|
|
13
|
-
*
|
|
14
|
-
* ancestor of the portal target (theme <body> for those, e.g. with toCssVars).
|
|
85
|
+
* cascade: providers can be nested and the inner one wins. Tooltips and menus of a FormBuilder
|
|
86
|
+
* inside get the same tokens, although MUI renders them into a portal under <body>.
|
|
15
87
|
*/
|
|
16
88
|
declare const FormBuilderThemeProvider: ({ preset, theme, className, style, children, ...rest }: FormBuilderThemeProviderProps) => React.JSX.Element;
|
|
17
89
|
export default FormBuilderThemeProvider;
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as FormBuilderThemeProvider } from "./FormBuilderThemeProvider";
|
|
2
|
-
export type { FormBuilderThemeProviderProps } from "./FormBuilderThemeProvider";
|
|
3
|
-
export { FORM_BUILDER_TOKENS, PRESET_CLASS_NAMES, toCssVars } from "./tokens";
|
|
1
|
+
export { default as FormBuilderThemeProvider, FormBuilderThemeContext, useFormBuilderTheme } from "./FormBuilderThemeProvider";
|
|
2
|
+
export type { FormBuilderThemeContextValue, FormBuilderThemeProviderProps } from "./FormBuilderThemeProvider";
|
|
3
|
+
export { FORM_BUILDER_TOKENS, LEGACY_CSS_VARS, PRESET_CLASS_NAMES, toCssVars } from "./tokens";
|
|
4
4
|
export type { FormBuilderTheme, FormBuilderThemeKey, FormBuilderThemePreset } from "./tokens";
|
package/dist/theme/tokens.d.ts
CHANGED
|
@@ -68,9 +68,19 @@ export declare const FORM_BUILDER_TOKENS: {
|
|
|
68
68
|
export type FormBuilderThemeKey = keyof typeof FORM_BUILDER_TOKENS;
|
|
69
69
|
/** A partial set of token values; every key is optional. */
|
|
70
70
|
export type FormBuilderTheme = Partial<Record<FormBuilderThemeKey, string | number>>;
|
|
71
|
-
/**
|
|
72
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Ready-made sets of token values, applied as a class (see styles/theme.module.scss): "design"
|
|
73
|
+
* is the default and needs no preset; "legacy" is the look before the design system.
|
|
74
|
+
*/
|
|
75
|
+
export type FormBuilderThemePreset = "design" | "legacy";
|
|
73
76
|
export declare const PRESET_CLASS_NAMES: Record<FormBuilderThemePreset, string>;
|
|
77
|
+
/**
|
|
78
|
+
* The legacy preset as custom properties, the same as `.fb-theme-legacy` in
|
|
79
|
+
* styles/theme.module.scss. FormBuilder gives them to the tooltips and menus MUI renders into a
|
|
80
|
+
* portal under <body>, outside the element that carries the class. `initial` makes a component
|
|
81
|
+
* use its fallback, the former value.
|
|
82
|
+
*/
|
|
83
|
+
export declare const LEGACY_CSS_VARS: Readonly<Record<string, string>>;
|
|
74
84
|
/**
|
|
75
85
|
* The CSS custom properties for a theme, ready for a `style` prop, e.g. when the host applies
|
|
76
86
|
* the theme to an element of its own instead of using FormBuilderThemeProvider.
|