react-better-html 1.1.210 → 1.1.212
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 +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +112 -106
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +112 -106
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -42,6 +42,7 @@ type TextAs = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "label";
|
|
|
42
42
|
type TextProps<As extends TextAs = "p"> = {
|
|
43
43
|
/** @default "p" */
|
|
44
44
|
as?: As;
|
|
45
|
+
htmlContentTranslate?: React.ComponentProps<"div">["translate"];
|
|
45
46
|
} & OmitProps<React.ComponentProps<As>, "style"> & ComponentStyle & ComponentHoverStyle;
|
|
46
47
|
type TextComponentType = {
|
|
47
48
|
<As extends TextAs>(props: ComponentPropWithRef<HTMLParagraphElement, TextProps<As>>): React.ReactElement;
|
package/dist/index.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ type TextAs = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "label";
|
|
|
42
42
|
type TextProps<As extends TextAs = "p"> = {
|
|
43
43
|
/** @default "p" */
|
|
44
44
|
as?: As;
|
|
45
|
+
htmlContentTranslate?: React.ComponentProps<"div">["translate"];
|
|
45
46
|
} & OmitProps<React.ComponentProps<As>, "style"> & ComponentStyle & ComponentHoverStyle;
|
|
46
47
|
type TextComponentType = {
|
|
47
48
|
<As extends TextAs>(props: ComponentPropWithRef<HTMLParagraphElement, TextProps<As>>): React.ReactElement;
|
package/dist/index.js
CHANGED
|
@@ -1766,7 +1766,7 @@ var TextStyledComponent = import_styled_components2.default.p.withConfig({
|
|
|
1766
1766
|
${(props) => props.hoverStyle}
|
|
1767
1767
|
}
|
|
1768
1768
|
`;
|
|
1769
|
-
var TextComponent = (0, import_react3.forwardRef)(function Text({ children, ...props }, ref) {
|
|
1769
|
+
var TextComponent = (0, import_react3.forwardRef)(function Text({ htmlContentTranslate, children, ...props }, ref) {
|
|
1770
1770
|
const theme2 = useTheme();
|
|
1771
1771
|
const styledComponentStyles = useStyledComponentStyles(props, theme2);
|
|
1772
1772
|
const dataProps = useComponentPropsWithPrefix(props, "data");
|
|
@@ -1776,6 +1776,7 @@ var TextComponent = (0, import_react3.forwardRef)(function Text({ children, ...p
|
|
|
1776
1776
|
TextStyledComponent,
|
|
1777
1777
|
{
|
|
1778
1778
|
as: props.as,
|
|
1779
|
+
translate: htmlContentTranslate,
|
|
1779
1780
|
...styledComponentStyles,
|
|
1780
1781
|
...dataProps,
|
|
1781
1782
|
...ariaProps,
|
|
@@ -3046,7 +3047,7 @@ function useForm(options) {
|
|
|
3046
3047
|
errorText: errors[field]
|
|
3047
3048
|
};
|
|
3048
3049
|
},
|
|
3049
|
-
[values, setFieldValue, inputTypes, errors]
|
|
3050
|
+
[values, setFieldValue, inputTypes, errors, requiredFields]
|
|
3050
3051
|
);
|
|
3051
3052
|
const getTextAreaProps = (0, import_react10.useCallback)(
|
|
3052
3053
|
(field) => {
|
|
@@ -3064,7 +3065,7 @@ function useForm(options) {
|
|
|
3064
3065
|
errorText: errors[field]
|
|
3065
3066
|
};
|
|
3066
3067
|
},
|
|
3067
|
-
[values, setFieldValue, inputTypes, errors]
|
|
3068
|
+
[values, setFieldValue, inputTypes, errors, requiredFields]
|
|
3068
3069
|
);
|
|
3069
3070
|
const getDropdownFieldProps = (0, import_react10.useCallback)(
|
|
3070
3071
|
(field) => {
|
|
@@ -3082,7 +3083,7 @@ function useForm(options) {
|
|
|
3082
3083
|
errorText: errors[field]
|
|
3083
3084
|
};
|
|
3084
3085
|
},
|
|
3085
|
-
[values, errors, setFieldValue]
|
|
3086
|
+
[values, errors, setFieldValue, requiredFields]
|
|
3086
3087
|
);
|
|
3087
3088
|
const getCheckboxProps = (0, import_react10.useCallback)(
|
|
3088
3089
|
(field) => {
|
|
@@ -3100,7 +3101,7 @@ function useForm(options) {
|
|
|
3100
3101
|
errorText: errors[field]
|
|
3101
3102
|
};
|
|
3102
3103
|
},
|
|
3103
|
-
[values, errors, setFieldValue]
|
|
3104
|
+
[values, errors, setFieldValue, requiredFields]
|
|
3104
3105
|
);
|
|
3105
3106
|
const getRadioButtonProps = (0, import_react10.useCallback)(
|
|
3106
3107
|
(field, value) => {
|
|
@@ -3119,7 +3120,7 @@ function useForm(options) {
|
|
|
3119
3120
|
errorText: errors[field]
|
|
3120
3121
|
};
|
|
3121
3122
|
},
|
|
3122
|
-
[values, errors, setFieldValue]
|
|
3123
|
+
[values, errors, setFieldValue, requiredFields]
|
|
3123
3124
|
);
|
|
3124
3125
|
const getSwitchProps = (0, import_react10.useCallback)(
|
|
3125
3126
|
(field) => {
|
|
@@ -3137,7 +3138,7 @@ function useForm(options) {
|
|
|
3137
3138
|
errorText: errors[field]
|
|
3138
3139
|
};
|
|
3139
3140
|
},
|
|
3140
|
-
[values, errors, setFieldValue]
|
|
3141
|
+
[values, errors, setFieldValue, requiredFields]
|
|
3141
3142
|
);
|
|
3142
3143
|
const focusField = (0, import_react10.useCallback)((field) => {
|
|
3143
3144
|
inputFieldRefs.current[field]?.focus();
|
|
@@ -4045,6 +4046,94 @@ var desaturateColor = (hexColor, amount) => {
|
|
|
4045
4046
|
return `#${rHex}${gHex}${bHex}`;
|
|
4046
4047
|
};
|
|
4047
4048
|
|
|
4049
|
+
// src/utils/variableFunctions.ts
|
|
4050
|
+
var checkBetterHtmlContextValue = (value, functionsName) => {
|
|
4051
|
+
if (value === void 0) {
|
|
4052
|
+
throw new Error(
|
|
4053
|
+
`\`${functionsName}()\` must be used within a \`<BetterHtmlProvider>\`. Make sure to add one at the root of your component tree.`
|
|
4054
|
+
);
|
|
4055
|
+
}
|
|
4056
|
+
return value !== void 0;
|
|
4057
|
+
};
|
|
4058
|
+
var loaderControls = {
|
|
4059
|
+
startLoading: (loaderName) => {
|
|
4060
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "loaderControls.startLoading")) return;
|
|
4061
|
+
externalBetterHtmlContextValue.setLoaders((oldValue) => ({
|
|
4062
|
+
...oldValue,
|
|
4063
|
+
[loaderName.toString()]: true
|
|
4064
|
+
}));
|
|
4065
|
+
},
|
|
4066
|
+
stopLoading: (loaderName) => {
|
|
4067
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "loaderControls.stopLoading")) return;
|
|
4068
|
+
externalBetterHtmlContextValue.setLoaders((oldValue) => ({
|
|
4069
|
+
...oldValue,
|
|
4070
|
+
[loaderName.toString()]: false
|
|
4071
|
+
}));
|
|
4072
|
+
}
|
|
4073
|
+
};
|
|
4074
|
+
var alertControls = {
|
|
4075
|
+
createAlert: (alert) => {
|
|
4076
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "alertControls.createAlert"))
|
|
4077
|
+
return void 0;
|
|
4078
|
+
const readyAlert = {
|
|
4079
|
+
id: crypto.randomUUID(),
|
|
4080
|
+
...alert
|
|
4081
|
+
};
|
|
4082
|
+
externalBetterHtmlContextValue.setAlerts((oldValue) => [...oldValue, readyAlert]);
|
|
4083
|
+
return readyAlert;
|
|
4084
|
+
},
|
|
4085
|
+
removeAlert: (alertId) => {
|
|
4086
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "alertControls.removeAlert")) return;
|
|
4087
|
+
externalBetterHtmlContextValue.setAlerts((oldValue) => oldValue.filter((alert) => alert.id !== alertId));
|
|
4088
|
+
}
|
|
4089
|
+
};
|
|
4090
|
+
var sideMenuControls = {
|
|
4091
|
+
expand: () => {
|
|
4092
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.expand")) return;
|
|
4093
|
+
externalBetterHtmlContextValue.setSideMenuIsCollapsed.setFalse();
|
|
4094
|
+
},
|
|
4095
|
+
collapse: () => {
|
|
4096
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.collapse")) return;
|
|
4097
|
+
externalBetterHtmlContextValue.setSideMenuIsCollapsed.setTrue();
|
|
4098
|
+
},
|
|
4099
|
+
toggleExpanded: () => {
|
|
4100
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.toggleExpanded")) return;
|
|
4101
|
+
externalBetterHtmlContextValue.setSideMenuIsCollapsed.toggle();
|
|
4102
|
+
},
|
|
4103
|
+
open: () => {
|
|
4104
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.open")) return;
|
|
4105
|
+
externalBetterHtmlContextValue.setSideMenuIsOpenMobile.setTrue();
|
|
4106
|
+
},
|
|
4107
|
+
close: () => {
|
|
4108
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.close")) return;
|
|
4109
|
+
externalBetterHtmlContextValue.setSideMenuIsOpenMobile.setFalse();
|
|
4110
|
+
},
|
|
4111
|
+
toggleOpened: () => {
|
|
4112
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.toggleOpened")) return;
|
|
4113
|
+
externalBetterHtmlContextValue.setSideMenuIsOpenMobile.toggle();
|
|
4114
|
+
}
|
|
4115
|
+
};
|
|
4116
|
+
var colorThemeControls = {
|
|
4117
|
+
toggleTheme: (theme2) => {
|
|
4118
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "colorThemeControls.toggleTheme")) return;
|
|
4119
|
+
const currentColorTheme = externalBetterHtmlContextValue.colorTheme;
|
|
4120
|
+
const newColorTheme = theme2 ?? (currentColorTheme === "dark" ? "light" : "dark");
|
|
4121
|
+
setTimeout(() => {
|
|
4122
|
+
window.document.body.parentElement?.setAttribute("data-theme", newColorTheme);
|
|
4123
|
+
localStorage.setItem("theme", newColorTheme);
|
|
4124
|
+
}, 0.01 * 1e3);
|
|
4125
|
+
}
|
|
4126
|
+
};
|
|
4127
|
+
var filterHover = () => {
|
|
4128
|
+
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "filterHover")) return void 0;
|
|
4129
|
+
return {
|
|
4130
|
+
z05: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.2)" : "brightness(0.95)",
|
|
4131
|
+
z1: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.3)" : "brightness(0.9)",
|
|
4132
|
+
z2: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.6)" : "brightness(0.8)",
|
|
4133
|
+
z3: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.9)" : "brightness(0.7)"
|
|
4134
|
+
};
|
|
4135
|
+
};
|
|
4136
|
+
|
|
4048
4137
|
// src/components/Chip.tsx
|
|
4049
4138
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
4050
4139
|
var ChipComponent = (0, import_react16.forwardRef)(function Chip({
|
|
@@ -4074,7 +4163,9 @@ var ChipComponent = (0, import_react16.forwardRef)(function Chip({
|
|
|
4074
4163
|
borderRadius: isCircle ? 999 : borderRadius ?? theme2.styles.borderRadius / 1.3,
|
|
4075
4164
|
paddingBlock: theme2.styles.gap / 2,
|
|
4076
4165
|
paddingInline: theme2.styles.space / 1.5,
|
|
4166
|
+
filterHover: onClick || onClickWithValue ? filterHover().z1 : void 0,
|
|
4077
4167
|
onClick: onClickElement,
|
|
4168
|
+
cursor: onClick || onClickWithValue ? "pointer" : void 0,
|
|
4078
4169
|
...props,
|
|
4079
4170
|
ref,
|
|
4080
4171
|
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text_default, { color: color ?? theme2.colors.textPrimary, children: text })
|
|
@@ -5589,96 +5680,6 @@ var countries = [
|
|
|
5589
5680
|
|
|
5590
5681
|
// src/utils/functions.ts
|
|
5591
5682
|
var import_crypto_js = __toESM(require("crypto-js"));
|
|
5592
|
-
|
|
5593
|
-
// src/utils/variableFunctions.ts
|
|
5594
|
-
var checkBetterHtmlContextValue = (value, functionsName) => {
|
|
5595
|
-
if (value === void 0) {
|
|
5596
|
-
throw new Error(
|
|
5597
|
-
`\`${functionsName}()\` must be used within a \`<BetterHtmlProvider>\`. Make sure to add one at the root of your component tree.`
|
|
5598
|
-
);
|
|
5599
|
-
}
|
|
5600
|
-
return value !== void 0;
|
|
5601
|
-
};
|
|
5602
|
-
var loaderControls = {
|
|
5603
|
-
startLoading: (loaderName) => {
|
|
5604
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "loaderControls.startLoading")) return;
|
|
5605
|
-
externalBetterHtmlContextValue.setLoaders((oldValue) => ({
|
|
5606
|
-
...oldValue,
|
|
5607
|
-
[loaderName.toString()]: true
|
|
5608
|
-
}));
|
|
5609
|
-
},
|
|
5610
|
-
stopLoading: (loaderName) => {
|
|
5611
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "loaderControls.stopLoading")) return;
|
|
5612
|
-
externalBetterHtmlContextValue.setLoaders((oldValue) => ({
|
|
5613
|
-
...oldValue,
|
|
5614
|
-
[loaderName.toString()]: false
|
|
5615
|
-
}));
|
|
5616
|
-
}
|
|
5617
|
-
};
|
|
5618
|
-
var alertControls = {
|
|
5619
|
-
createAlert: (alert) => {
|
|
5620
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "alertControls.createAlert"))
|
|
5621
|
-
return void 0;
|
|
5622
|
-
const readyAlert = {
|
|
5623
|
-
id: crypto.randomUUID(),
|
|
5624
|
-
...alert
|
|
5625
|
-
};
|
|
5626
|
-
externalBetterHtmlContextValue.setAlerts((oldValue) => [...oldValue, readyAlert]);
|
|
5627
|
-
return readyAlert;
|
|
5628
|
-
},
|
|
5629
|
-
removeAlert: (alertId) => {
|
|
5630
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "alertControls.removeAlert")) return;
|
|
5631
|
-
externalBetterHtmlContextValue.setAlerts((oldValue) => oldValue.filter((alert) => alert.id !== alertId));
|
|
5632
|
-
}
|
|
5633
|
-
};
|
|
5634
|
-
var sideMenuControls = {
|
|
5635
|
-
expand: () => {
|
|
5636
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.expand")) return;
|
|
5637
|
-
externalBetterHtmlContextValue.setSideMenuIsCollapsed.setFalse();
|
|
5638
|
-
},
|
|
5639
|
-
collapse: () => {
|
|
5640
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.collapse")) return;
|
|
5641
|
-
externalBetterHtmlContextValue.setSideMenuIsCollapsed.setTrue();
|
|
5642
|
-
},
|
|
5643
|
-
toggleExpanded: () => {
|
|
5644
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.toggleExpanded")) return;
|
|
5645
|
-
externalBetterHtmlContextValue.setSideMenuIsCollapsed.toggle();
|
|
5646
|
-
},
|
|
5647
|
-
open: () => {
|
|
5648
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.open")) return;
|
|
5649
|
-
externalBetterHtmlContextValue.setSideMenuIsOpenMobile.setTrue();
|
|
5650
|
-
},
|
|
5651
|
-
close: () => {
|
|
5652
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.close")) return;
|
|
5653
|
-
externalBetterHtmlContextValue.setSideMenuIsOpenMobile.setFalse();
|
|
5654
|
-
},
|
|
5655
|
-
toggleOpened: () => {
|
|
5656
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "sideMenuControls.toggleOpened")) return;
|
|
5657
|
-
externalBetterHtmlContextValue.setSideMenuIsOpenMobile.toggle();
|
|
5658
|
-
}
|
|
5659
|
-
};
|
|
5660
|
-
var colorThemeControls = {
|
|
5661
|
-
toggleTheme: (theme2) => {
|
|
5662
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "colorThemeControls.toggleTheme")) return;
|
|
5663
|
-
const currentColorTheme = externalBetterHtmlContextValue.colorTheme;
|
|
5664
|
-
const newColorTheme = theme2 ?? (currentColorTheme === "dark" ? "light" : "dark");
|
|
5665
|
-
setTimeout(() => {
|
|
5666
|
-
window.document.body.parentElement?.setAttribute("data-theme", newColorTheme);
|
|
5667
|
-
localStorage.setItem("theme", newColorTheme);
|
|
5668
|
-
}, 0.01 * 1e3);
|
|
5669
|
-
}
|
|
5670
|
-
};
|
|
5671
|
-
var filterHover = () => {
|
|
5672
|
-
if (!checkBetterHtmlContextValue(externalBetterHtmlContextValue, "filterHover")) return void 0;
|
|
5673
|
-
return {
|
|
5674
|
-
z05: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.2)" : "brightness(0.95)",
|
|
5675
|
-
z1: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.3)" : "brightness(0.9)",
|
|
5676
|
-
z2: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.6)" : "brightness(0.8)",
|
|
5677
|
-
z3: externalBetterHtmlContextValue.colorTheme === "dark" ? "brightness(1.9)" : "brightness(0.7)"
|
|
5678
|
-
};
|
|
5679
|
-
};
|
|
5680
|
-
|
|
5681
|
-
// src/utils/functions.ts
|
|
5682
5683
|
var generateRandomString = (stringLength, options) => {
|
|
5683
5684
|
const capitals = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
5684
5685
|
const lowers = "abcdefghijklmnopqrstuvwxyz";
|
|
@@ -5876,7 +5877,8 @@ var DropdownComponent = (0, import_react18.forwardRef)(function Dropdown({
|
|
|
5876
5877
|
if (event.key === "Enter" || !withSearch && event.key === " ") {
|
|
5877
5878
|
event.preventDefault();
|
|
5878
5879
|
if (!disabled) {
|
|
5879
|
-
setIsOpen.
|
|
5880
|
+
if (withMultiselect) setIsOpen.setTrue();
|
|
5881
|
+
else setIsOpen.toggle();
|
|
5880
5882
|
if (isOpen && filteredOptions.length > 0 && focusedOptionIndex !== void 0) {
|
|
5881
5883
|
const option = filteredOptions[focusedOptionIndex];
|
|
5882
5884
|
if (!option.disabled) {
|
|
@@ -5884,10 +5886,12 @@ var DropdownComponent = (0, import_react18.forwardRef)(function Dropdown({
|
|
|
5884
5886
|
const newValue = withMultiselect ? Array.isArray(internalValue) ? internalValue?.includes(clickedValue) ? internalValue.filter((value2) => value2 !== clickedValue) : [...internalValue, clickedValue] : [clickedValue] : clickedValue;
|
|
5885
5887
|
if (controlledValue === void 0) setInternalValue(newValue);
|
|
5886
5888
|
onChange?.(newValue);
|
|
5887
|
-
|
|
5888
|
-
|
|
5889
|
-
|
|
5890
|
-
|
|
5889
|
+
if (!withMultiselect) {
|
|
5890
|
+
setIsOpen.setFalse();
|
|
5891
|
+
inputRef.current?.blur();
|
|
5892
|
+
setSearchQuery("");
|
|
5893
|
+
setFocusedOptionIndex(void 0);
|
|
5894
|
+
}
|
|
5891
5895
|
}
|
|
5892
5896
|
}
|
|
5893
5897
|
}
|
|
@@ -5931,10 +5935,12 @@ var DropdownComponent = (0, import_react18.forwardRef)(function Dropdown({
|
|
|
5931
5935
|
const newValue = withMultiselect ? Array.isArray(internalValue) ? internalValue?.includes(clickedValue) ? internalValue.filter((value2) => value2 !== clickedValue) : [...internalValue, clickedValue] : [clickedValue] : clickedValue;
|
|
5932
5936
|
if (controlledValue === void 0) setInternalValue(newValue);
|
|
5933
5937
|
onChange?.(newValue);
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
5937
|
-
|
|
5938
|
+
if (!withMultiselect) {
|
|
5939
|
+
setIsOpen.setFalse();
|
|
5940
|
+
inputRef.current?.blur();
|
|
5941
|
+
setSearchQuery("");
|
|
5942
|
+
setFocusedOptionIndex(void 0);
|
|
5943
|
+
}
|
|
5938
5944
|
}
|
|
5939
5945
|
},
|
|
5940
5946
|
[onChange, internalValue, controlledValue, withMultiselect]
|