New source found from dndbeyond.com

This commit is contained in:
2026-07-08 01:00:09 -07:00
parent 9a983a6d7b
commit dcefa0d2f2
2865 changed files with 222467 additions and 49053 deletions
+31
View File
@@ -0,0 +1,31 @@
import StyleToObject from 'style-to-object';
import { camelCase, CamelCaseOptions } from './utilities';
type StyleObject = Record<string, string>;
interface StyleToJSOptions extends CamelCaseOptions {}
/**
* Parses CSS inline style to JavaScript object (camelCased).
*/
function StyleToJS(style: string, options?: StyleToJSOptions): StyleObject {
const output: StyleObject = {};
if (!style || typeof style !== 'string') {
return output;
}
StyleToObject(style, (property, value) => {
// skip CSS comment
if (property && value) {
output[camelCase(property, options)] = value;
}
});
return output;
}
StyleToJS.default = StyleToJS;
export = StyleToJS;
+52
View File
@@ -0,0 +1,52 @@
const CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;
const HYPHEN_REGEX = /-([a-z])/g;
const NO_HYPHEN_REGEX = /^[^-]+$/;
const VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;
const MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;
/**
* Checks whether to skip camelCase.
*/
const skipCamelCase = (property: string) =>
!property ||
NO_HYPHEN_REGEX.test(property) ||
CUSTOM_PROPERTY_REGEX.test(property);
/**
* Replacer that capitalizes first character.
*/
const capitalize = (match: string, character: string) =>
character.toUpperCase();
/**
* Replacer that removes beginning hyphen of vendor prefix property.
*/
const trimHyphen = (match: string, prefix: string) => `${prefix}-`;
/**
* CamelCase options.
*/
export interface CamelCaseOptions {
reactCompat?: boolean;
}
/**
* CamelCases a CSS property.
*/
export const camelCase = (property: string, options: CamelCaseOptions = {}) => {
if (skipCamelCase(property)) {
return property;
}
property = property.toLowerCase();
if (options.reactCompat) {
// `-ms` vendor prefix should not be capitalized
property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);
} else {
// for non-React, remove first hyphen so vendor prefix is not capitalized
property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);
}
return property.replace(HYPHEN_REGEX, capitalize);
};