Grabbed dndbeyond's source code

```
~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js
```
This commit is contained in:
2025-05-28 11:50:03 -07:00
commit 8df9031d27
3592 changed files with 319051 additions and 0 deletions
@@ -0,0 +1,49 @@
import { HTMLAttributes } from "react";
import { useErrorHandling } from "./useErrorHandling";
export interface MaxLengthErrorHandler {
handleMaxLengthErrorMsg: (value: string) => void;
hideError: () => void;
MaxLengthErrorMessage: () => JSX.Element;
};
export const useMaxLengthErrorHandling = (
initialState: boolean,
maxLength: number | null,
errMsg: string = "",
errorMessageAttributes?: HTMLAttributes<HTMLDivElement>
): MaxLengthErrorHandler => {
errMsg ||= `The max length is ${maxLength} characters.`;
const {
showError,
setShowError,
ErrorMessage,
} = useErrorHandling(initialState, errMsg, errorMessageAttributes);
const handleMaxLengthErrorMsg = (value: string): void => {
if (!maxLength) {
// Skip if maxLength is 0 or not set.
return;
}
const isTooLong = (value?.length ?? 0) >= (maxLength ?? 0);
if (isTooLong !== showError) {
setShowError(isTooLong);
}
};
const hideError = () => {
setShowError(false);
}
const MaxLengthErrorMessage = (): JSX.Element => showError && errMsg
? (<ErrorMessage />)
: <></>;
return {
handleMaxLengthErrorMsg,
MaxLengthErrorMessage,
hideError
};
}